Time proportioning output using PID CV rs logix500

Home PLCGurus.NET Live & Interactive Forum PLC Questions and Answers Rockwell, Allen-Bradley, Stratix Time proportioning output using PID CV rs logix500

https://www.linkev.com/?a_fid=ics-eng
Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #5384
    Alex RosaAlex Rosa
    Participant
    • Topics: 1
    • Replies: 1
    • Total Posts: 2
    Karma: 16
    Rank: Padawan

    I am working on a small project and need a little help on the code I am writing. The project involves a stand alone machine that uses an electric heating element to keep product within a temperature range. I am using a Micrologix 1400 with a thermal couple expansion module. In the code I am using a PID however the control device is a Solid state relay and so I am needing to do “time proportioning control” logic to get this to work. I’ve  never used this control method before any ideas. Thanks

     

    #5402
    George BarnetteGeorge Barnette
    Moderator
    • Topics: 3
    • Replies: 14
    • Total Posts: 17
    Karma: 164
    Rank: Jedi

    Alex

    Morning and welcome to the forum!! I’m not real familiar with the term “time proportioning control”, however, I’ve done quite a few temp controls. Also Fred, the forum guru, has a lot of videos on PID control.

    Anyway, you have a feedback for temp from your process. I would use an “on-off” type of control and not so much a PID loop. Since you have a solid state relay, that is either on or off, doesn’t modulate, so to speak, like a gas valve or a steam valve for heating and burner control. I would have the code control the relay with a limit instruction or maybe compare instructions, and with a little tweaking you could program in logic to anticipate overshoot and basically have a stable process. Hope this helps, and again, welcome!

    #5407
    Fred GrahamFred Graham
    Keymaster
    • Topics: 15
    • Replies: 158
    • Total Posts: 173

    Hi Alex,

    I agree with what George is saying. If the process is such that it can tolerate some variation in temperature, say +/- 5 degree C, then a simple ON/OFF control would certainly be adequate. These types of processes typically have a pretty slow response, meaning if you can tolerate a reasonable deadband so you’re not constantly switching (not as big a deal since you are using solid state devices), and then when the temperature drops below your programmed limit call for heat and drive it to the positive allowable programmable temperature limit and let it drift back down.

    To do a true Time Proportioned or Split-time Time Proportioned PID control in the micro/SLC environment may pose challenges. However, since as George says you’re using an ON/OFF or a discrete Final Control Element anyway, any “cooked up” time proportioned PID control will be reduced to an ON/OFF type anyway.

    Hope that helps.

    #5441
    Jeff JordanJeff Jordan
    Participant
    • Topics: 0
    • Replies: 1
    • Total Posts: 1
    Karma: 15
    Rank: Padawan

    Alex,

    Fred is right that a simple ON/OFF control for heating could work. This is called thermostatic control. However if the heater is large in respect to the load, meaning that if only 20% of the heater capacity was necessary to maintain temperature, ON/OFF control will probably be too unstable. Do time proportioning control like this. You start with what “update time” your PID loop needs to run.  The update time is part of the PID loop configuration. This means that the PID loop will perform its calculations every update time period. Here’s an example. Lets say a PID loop updates every 10 seconds. The loop output would be scaled to a value between 0 and 1000.  This scaled output then would be moved to the preset value of a timer. If one uses a TOF timer with a .01 timebase, then by enabling the TOF rung with a one shot every time the PID loop updates, then the timer will time out with the correct time proportioning control. That is, if the PID output was 50%, then the scaled output would be 500 which is also the preset of the TOF.  When the TOF time rung is pulsed, then the .TT bit of the timer would be on for 5 seconds and off for 5 seconds, or 50% of the time base. Control the contactor output with the .TT bit. Also be careful with using solid state relays or contactors with heating. These devices can fail in the shorted state thus making a run away heating situation possible. Hopes this helps. If you would like some sample code I could send it to you. I have used this technique for decades on over 500 PID loop applications.

    #5448
    Alex RosaAlex Rosa
    Participant
    • Topics: 1
    • Replies: 1
    • Total Posts: 2
    Karma: 16
    Rank: Padawan

    Thanks for all the tips. I did find a sample code for doing time proportioning control in an Allen Bradley reference manual. However,  I had to modify the code since the sample code is for doing time proportioning control using an SLC processor not a micrologix as I am using. Specifically the sample code uses a DDV instruction that is unavailable for the Micrologix platform. So I had to replace the DDV instruction with a Divide instruction and add additional code to accomplish the same results that would be accomplished with th DDV. So going to try this code to see how stable of a temperature I can achieve. However,  I’d like to see some sample of the method Jeff describes. Jeff I would certainly appreciate see some sample code on the method you mentioned.  I’d like to try it out as well. You can email me at: [email protected]. Thank you. Also I have included a link of the code I referenced above
    https://literature.rockwellautomation.com/idc/groups/literature/documents/rm/1747-rm001_-en-p.pdf chapter 9-30.

Viewing 5 posts - 1 through 5 (of 5 total)

You must be logged in to reply to this topic.