How do you know your PID is working?

whirlair

Member
Join Date
Dec 2007
Location
mn
Posts
64
Here is my application. I have a conveying system on load cells with a variable position knifegate (4-20ma). Using a loss in weight calculation that updates every 10 seconds I find the rate in LBS/min.

Most times I would make my own "PID" by finding the error between the setpoint and the actual every 10 seconds or so, then add or subtract a arbitrary number to the knifegate analog output to increase or decrease the rate. Obviously this is not a very accurate way to do this.

Thus, I have tried to set up a PID in 5000 to control my knifegate. This is the first time I have tried to use the actual PID instruction (my company does not do a lot of closed loop control). I have the scale, load cell simulator, and PLC on my desk and I am trying to test it. However it is very hard to tell if the PID is adjusting appropriately as I slowly turn the weight down.

Is the 10 second delay between process variable updates too long for a PID to work? What is the best way to test this?

The PID has default settings except for:
P=5
I=0.0001
D=0
Deadband=4.0 w/ no deadband crossing

Thanks
 
How do you know if it's working

Step 1. Collect "Before Data"
You cannot improve what you have not measured.

Quantify before data with numbers (or graphical data).

If you have a static setpoint, then graphically plot the actual values. Is the actual oscillating above and below setpoint? If so, what is the +/- deviation?

Step 2. Apply your new PID methodology, and then collect the data.
 
Use the trending capabilities

If you are working with the CLX5000 software packages, you can setup trends where you monitor your process variable, and your control variable. When your PID block is tuned correctly, you will see the desired response to a step change. If you have setup a PID block, the trending functions are intuitive enough that you shouldn't have too much trouble making use of them. I wouldn't consider a loop tuned until I verified it with this functionality.
 
10 seconds seems like a long time between updates. With PID loops you can adjust the parameters to speed up / slow down the output response, by slowing down the update interval you may not be providing the PID enough data to accurately control the output.
 
Have you verified that the PID logic is correct? In a periodic task? Dependent or Independent?
 

Similar Topics

Hello, there is anyone who have already used hpmont plc? now i am programming for that plc and have " pid autotuning is not working" issue. I have...
Replies
0
Views
978
Hello all ! I need to control flow to a setpoint, but often the level in the tank creeps up because there is just a little more going in than...
Replies
48
Views
11,578
I have been using a EZTouch screen (that I love) and an EZAutomation PLC that I am far from being in love with. It is made at the lower end of the...
Replies
2
Views
2,914
When I tried to use the autotune feature, my CompactLogix complained that the input was not stable enough prior to the step change. I had to tune...
Replies
0
Views
1,936
Can someone tell me what i am doing wrong here? I have set the limits of the CV value for 5min and 60max. The output of the PID is not staying...
Replies
1
Views
1,591
Back
Top Bottom