Sign in to follow this  
Followers 0
scottmurphy

PID Instruction

20 posts in this topic

Not asking for 'how to tune a PID', but more so, how the Omron PID functions compared to other industry standard PID's. There seems to be little on this site on PID's ( Omron anyway ), and as most of us know, there is a knack to setting up Omron instructions and interogating the manuals. ( well me anyway ) Am just curious how others understand the relation, and to see if I am correct. Omron P = 0.1 - 999.9 % The manual states that the smaller the proportional band, the larger the proportional constant and the stronger the corrective action will be. Other PID P = 0.1 - 100 % Manual states that basically, the proportional output = gain X error, so the larger the gain, the larger the correction. Am I confused, my interpretation of this is that they operate reverse from each other, but that does not make sense, what am I missing? I understand that in the Omron PID, if I have a value of 1, this equals 0.1 %, 10 = 1 and so on. As I increase the gain, then the proportional output gets smaller, according to the manual? I am pretty sure that the I & D parameters are similar, so no issues there. PID tuning & operation is covered very broadly on other forums, focusing mainly on the AB platform, but not much on the Omron platform.

Share this post


Link to post
Share on other sites
I think the issue here is terminology. Unfortunately there is standard terms, but not standard implementation of those terms. Proportional Band and Gain both have the same effect on the response of the loop, BUT PB and Gain are the inverse of each other! It depends on how they are implemented in the calculation. Below refers to a heating application! Technically the PB sets up a "band" around the setpoint. Below the band you have 100% output above the band 0% output. "Usually" the PB is in reference to the entire span of temperature. Example: If the span is 1000 degrees, and you have a 5% PB you have a band of 50 degrees, usually this is split 25 degrees above and below the setpoint. So, for a 500 degrees setpoint the PB starts at 475 and ends at 525. Gain is the inverse of PB. Above example the Gain would be 20. 1/.05=20 So the smaller the PB the more corrective the action due to the smaller band around the setpoint. Which also makes a larger Gain value work the same way. Quick review of the AB Micrologix 1200/1500 manual indicates that this "term" in their PID instruction is called Gain. I know this is a long post, but this is the way I understand this to work. It has seemed to prove out in application. I hope this will help.

Share this post


Link to post
Share on other sites
To "support" gtsuport: (excellent explanation by the way )

Share this post


Link to post
Share on other sites
But a picture is worth a 1000 words! Great graphics.

Share this post


Link to post
Share on other sites
Straight from W340

Share this post


Link to post
Share on other sites
Not to shock anyone, but my example was not from AB, was actually from a motor controller, and there example referenced Proportional Gain. So, if one were to setup to make similar to other PID's that use the gain factor, a calculation based on the span would be the way to go? In the attached file, I have tried to do the calcs, then work backwards so that one can enter a gain value instead of the PB, does this look correct? Need to confirm where the span comes from though. If I can standardise it with other PID's then the understanding and training of others makes it simpler. Tuning is a completelty different issue though! Omron_PID.xls

Share this post


Link to post
Share on other sites
I'll just throw in my 2 cents..... Proportional Band = 100 / Gain Or Gain = 100 / Proportional Band Yes Gain and proportional band are relative but inverse quantities.. A controller setting of 100% proportional band means that 100% change in the error signal (setpoint-process variable) will result in 100% change of the output, which is a gain of 1.0. A 20% proportianl band indicates that a 20% change in error gives 100% output change, which is a gain of 5.

Share this post


Link to post
Share on other sites
That makes it clearer again. The reason for asking this, was that most of the other PID's, refer to the gain, not the proportional band. One enters the gain, where in the Omron, one enters the proportional band. I would prefer to enter the gain, makes it easier if it is more relevant to other PID's.

Share this post


Link to post
Share on other sites
hi, i think that the formula for omron is: PB= 1000/Gain Gain=1000/PB because the PB is from 0 to 999.9% bye

Share this post


Link to post
Share on other sites
I am glad you guys think you know how this works. I am confused. Why would a proportional band need to be greater than 100% of anything? 1000% of what? What are the units? I think of a proportional band being similar to what Sleepy Wombat said. It is the error that yields 100% output. So what kind of error? The error units should be the same units that are used for the SP and PV. Are these units engineering units or are these units % of full range like gtsuport suggests? This is why guys like Terry Woods write their own PID. At least they know how it works. The derivative and integrator gains have barely been mentioned. Are they gains or time constants?

Share this post


Link to post
Share on other sites
Peter brings up a good point. I got wrapped up in the whole PB thing and forgot the original question did mention I and D. Per the manual (W340) the I and D terms are time constants, not gain values. See the attached chart from the manual. From the chart the larger the value for either term, the effect of the term decreases. Hope this will help.

Share this post


Link to post
Share on other sites
Actually no. The documentation for the derivative gain is wrong. It doesn't match the formula on page 725. It should say increasing the derivative time constant increases derivative action. Note that the (T/Ti) and (Td/T) terms are unitless. This is why the Td can not be in the denominator as the written documentation suggests. The tech writter messed up and the engineer didn't bother to proof read what the tech writer wrote. I would trust the formula provided by the engineer.

Share this post


Link to post
Share on other sites
Yep totally aggree... therefore a derivative value of 0000 means there is no derivative action...

Share this post


Link to post
Share on other sites
yes Sleepy but, the input for PB parameter is from 0 to 999.9% (0000 to 9999), so if you enter 100 than the Gain is 10 in omron PLC. I think so, may be i am mistake

Share this post


Link to post
Share on other sites
Yes u make a mistake...... Do the simple math....... Gain = 100/100.0% = 1.0..........Gain = 100/999.9% = 0.1

Share this post


Link to post
Share on other sites
Hi Sleepy, I don´t know but i play with omrons PID instruction and i can´t get what you said above, for example: Input=1 Set Value=2 Proportional Band=1 Integral=9999 not actived Derivative=0000 not actived Sample period=1 So, error equals 1, output should be: error*100/PB=1*100/1=100 are you agree with me? now, run the pid instruction in the attached program and i get a result of 1000, if error is 2 than output equals 500... this is the reason why i think that in omron the formula is gain=1000/PB. can you said me please where i am wrong? i can´t find my mistake thank you very much p.s: the pid function is a little bit particular, what do you think about the Bumpless operation?, if the pv make a step change, the output take a time to actuate. Anybody knows the meaning of lambda in the Block Diagram for target Value PID with Two Degrees of Freedom that appears in w340-e1-06 pg664?, we can´t configure this parameter in the function PIDsample.cxp Edited by alberto05

Share this post


Link to post
Share on other sites
opps, i think that my problem are the units, where i think that i am writing PB=1, it is actually 0.1, so 100/0.1=1000, sorry sleepy thanks for your time and support

Share this post


Link to post
Share on other sites
Sometimes its hard to see the forrest through the trees my friend...

Share this post


Link to post
Share on other sites
PID setting caution: - D parameter: if you wish not to use D-parameter set its value to &9999. Setting it to #9999 (hex) causes error in PID function and the function is not working. I spent some hours to figure this out

Share this post


Link to post
Share on other sites
Just a tip: If a function does not appear to be working (such as PID), check the status of the error / carry flags to confirm if the function is operating or in error state. Nibroc

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0