Sign in to follow this  
Followers 0
RichyS

RSLogix5000 PID Instruction

5 posts in this topic

HEMCO_PID_V2.ACD Hi Guys, I have tried speaking to Rockwell regarding PID instructions, but received no sensible replies. The manuals are not very clear and even the sample PID program example is undocumented ! I have a Variable Speed Pump (PSV1010) that is used to top-up a tank. The Feedback for the loop is the Tank Level (LT-1080). I need a Manual / Auto facility so that the PID is used in ‘Auto’ and the Operator enters a required Speed (0 to 100%) from the SCADA system when in ‘Manual’ control. Auto and Manual Control are selected via suitable psuedo pushbuttons on the SCADA system. I have several other loops to program, but want to make sure this one is correct before programming them. Normally, we would test the program prior to it’s usage, but this is a site update, and we do not have a chance to test it prior to emailing the revised code. So I was wondering if one of you kind gentlemen would just take a look and let me know if I have any errors etc. in the attached (cut down version – have deleted all the logic) .acd file. Thank you in advance for you assistance. Best regards, Rich.

Share this post


Link to post
Share on other sites
UPDATE Hi Guys, I have moved the PID block into a Periodic Task, updating at the same interval as the PID update value. I think the only outstanding query is should I use the .SWM or .MO bits to switch between Automatic (PID) or Manual Control. Rockwell suggest using the .MO and place the required manual value in the 'Tieback' tag, but I have read on this forum NOT to use the .MO, but the .SWM instead. Any comments ? Best regards, Rich.
1 person likes this

Share this post


Link to post
Share on other sites
Correct. I don't know why tech support got this one wrong. The .MO bit is used if you want to have an EXTERNAL PID controller such as if you have to for some reason support an old discrete PID controller. The tieback input is specifically for feeding back the output data from that external PID controller so that you can implement a bumpless transfer of control between the two. What is really annoying is that out of all the parameters that they could have made on the faceplate of the instruction such as something useful like the set point, they picked one of the most useless ones to do so. If you don't have an external controller, then set the .SWM (software manual) bit to go to manual mode. In auto mode, the .SO (set output) parameter tracks the CV (control variable) value. Toggling the .SWM bit flips this around and makes the CV track the .SO value. If you turn on the "PV tracking" bit, then the .SP (set point) value will track the PV value when the loop is in manual mode. Otherwise, it retains the original set point. The major missing feature that you will have to code yourself is that if you want a feed forward/backward type loop, using the standard PID loop (the PIDE in function block is an entirely different animal), you will have to code the feedforward loop yourself. IE, FF = set point * FF gain; CV = FF * (FF/FB ratio) + PID CV * (1-FF/FB ratio), for a first-order feed forward loop, with appropriate clamping as needed.
1 person likes this

Share this post


Link to post
Share on other sites
Hi, my friends. I am analyzing a program made in RSLogix 5000, specially de PID loops, I have some questions: This is the first: In AUTO mode a PID can control an Output %, using only the variable, .SO ? or this kind of variable is only active in Manual mode? and first we have to set the BIT, .SWM or .MO In the program I mentioned, there is a PID that its CV is not used in nowhere in the program, but his .SO variable (Named as AIC 5600.SO) is used like Input in other 2 SCP instructions, and then its outputs are connected to physical analogue outputs. Is that possible? What kind of control is this? Please give some light about it.Thanks. Zeno Martorana.Italy.

Share this post


Link to post
Share on other sites
My Forum's friends. Always in the same program I mentioned in my question before, I found another 2 PID Loops and they are relationated with a variable named "TieBack" (.TIE) I found in one of de PID. How works this kind of interaction between the 2 PID. Thanks again. Zeno Martorana. Italy

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