Go to Post A thread already exists (and boy, does it exist!) on the topic: - Billfred [more]
Home
Go Back   Chief Delphi > Technical > Programming > NI LabVIEW
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
Thread Tools Rating: Thread Rating: 19 votes, 5.00 average. Display Modes
  #1   Spotlight this post!  
Unread 04-01-2011, 00:40
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,086
Ether has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond repute
LabVIEW PID uses derivative of Process Variable


Does anyone know why the LabVIEW PID takes the derivative of the process variable instead of the derivative of the error ?



Reply With Quote
  #2   Spotlight this post!  
Unread 04-01-2011, 02:59
kamocat's Avatar
kamocat kamocat is offline
Test Engineer
AKA: Marshal Horn
FRC #3213 (Thunder Tech)
Team Role: Mentor
 
Join Date: May 2008
Rookie Year: 2008
Location: Tacoma
Posts: 894
kamocat is just really nicekamocat is just really nicekamocat is just really nicekamocat is just really nicekamocat is just really nice
Send a message via AIM to kamocat Send a message via MSN to kamocat
Re: LabVIEW PID uses derivative of Process Variable

You're right, that doesn't make sense.
Perhaps that error wasn't caught because people don't use very large coefficients for Derivative, and this VI is not very maintainable.

If the intent is to get rid of noise in the Setpoint (that is, variation in the Setpoint much faster than the mechanism can respond), then the 2nd derivative of the PV could be used.
__________________
-- Marshal Horn
Reply With Quote
  #3   Spotlight this post!  
Unread 04-01-2011, 08:00
Jared Russell's Avatar
Jared Russell Jared Russell is offline
Taking a year (mostly) off
FRC #0254 (The Cheesy Poofs), FRC #0341 (Miss Daisy)
Team Role: Engineer
 
Join Date: Nov 2002
Rookie Year: 2001
Location: San Francisco, CA
Posts: 3,078
Jared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond repute
Re: LabVIEW PID uses derivative of Process Variable

It's not uncommon to use the derivative of the output (since the output is continuous, you don't have problems with step changes, and the output generally moves in a constant direction relative to the error). But the derivative of the PV doesn't make a lot of sense unless the VI was designed with a non-moving setpoint in mind.
Reply With Quote
  #4   Spotlight this post!  
Unread 04-01-2011, 08:30
Greg McKaskle Greg McKaskle is offline
Registered User
FRC #2468 (Team NI & Appreciate)
 
Join Date: Apr 2008
Rookie Year: 2008
Location: Austin, TX
Posts: 4,752
Greg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond repute
Re: LabVIEW PID uses derivative of Process Variable

I'll try to ask one of the authors or maintainers today. Skimming through Wikipedia on PID, it lists this along with integral windup as common modifications to the algorithm and state the same reason as Jared.

Greg McKaskle
Reply With Quote
  #5   Spotlight this post!  
Unread 05-01-2011, 10:48
abarp abarp is offline
Registered User
no team
 
Join Date: Jan 2011
Location: Texas, US
Posts: 2
abarp will become famous soon enough
Re: LabVIEW PID uses derivative of Process Variable

Jared and Greg are correct. The modification is actually very common on industrial PIDs to avoid the 'derivative kick' from setpoint changes. In the literature, this is also called PI-D controller or even 2-Degree of Freedom PID. Here is some literature that could be useful in the future:

http://www.cds.caltech.edu/~murray/c...astrom-ch6.pdf
Reply With Quote
  #6   Spotlight this post!  
Unread 06-01-2011, 16:34
abarp abarp is offline
Registered User
no team
 
Join Date: Jan 2011
Location: Texas, US
Posts: 2
abarp will become famous soon enough
Re: LabVIEW PID uses derivative of Process Variable

Quote:
Originally Posted by Greg McKaskle View Post
I'll try to ask one of the authors or maintainers today. Skimming through Wikipedia on PID, it lists this along with integral windup as common modifications to the algorithm and state the same reason as Jared.

Greg McKaskle
Yes, and that would be me... Greg and Jared are correct about this feature. We use the derivative only from the measured variable to avoid the so called 'derivative kick' when you try to change its setpoint. This type of configuration is also called "PI-D controller" or "2 degree of freedom" PID.
Reply With Quote
Reply


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Labview PID Gary Bonner NI LabVIEW 1 18-02-2010 20:31
Traction control: How do I tune a PID controller with variable gain? windell747 Programming 17 22-03-2009 21:18
How do i find a variable and use it on Labview Chris11246 NI LabVIEW 23 21-01-2009 17:50
Variable rollover with Labview (suggestions?) kamocat NI LabVIEW 7 22-08-2008 08:30
Two variable PID? I know someone's done it =)... Mr. Lim Programming 4 29-08-2006 00:31


All times are GMT -5. The time now is 09:44.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi