PID On Off Propotional Control

asterof

Member
Join Date
May 2007
Location
Califonia
Posts
554
I dont remember how to do this

Need to use a PID Instruction to act as a
proposional control. If SP > PV then open valve
for a given amount of time. As SP gets closer to PV
open valve for a smaller amount of time.
Control can not just open valve until it sees a reaction
Dwell time to change is to long.
 
This is typically called "time proportional" control, or "split range time proportional control" if you are controlling both positive and negative actions.

How to implement it in logic depends on the PLC you are using. ControlLogix has a function block diagram language "SRTP" instruction, for example.

The first thing you'll want to determine is what time period you want to divide up into proportional sections. 1 second ? 1 minute ?
 
So I added a PID, And sent the CV into the SRTP
I set the SRTP to
1. MinHeatIn = 50% When the PID.CV=50%, Heat%=0%
2. MaxHeatIn = 100% When the PID.CV=100%, Heat%=100%
3. MinCoolIn = 50% When the PID.CV=50%, Cool%=0%
4. MaxCoolIn = 0% When the PID.CV=0%, Cool%=100%
5. MinHeatTime = 0 sec The minimum heat time of 0 sec will correspond to 0% heat
6. MaxHeatTime = 10 sec The maximum heat time of 10 sec will correspond to 100% heat
7. MinCoolTime = 0 sec The minimum cool time of 0 sec will correspond to 0% cool
8. MaxCoolTime = 10 sec The maximum cool time of 10 sec will correspond to 100% cool

Problem is that if PV = SP and the % Out is greater than 50%
then the SRTP keeps pulsing the output
 
Originally posted by asterof:

Problem is that if PV = SP and the % Out is greater than 50%
then the SRTP keeps pulsing the output

You say the % Out is greater than 50%. Given your SRTP configuration you would expect to get pulses out; the command value is asking for pulses.

The question is why is the controller asking for more than 50%. The answer is that's the way systems work. All that says is the system requires some amount of energy to maintain the system at the setpoint. The pulses are accounting for losses. The thing driving the % Out above 50% is probably an integral sum in the controller.

Keith
 
You say the % Out is greater than 50%. Given your SRTP configuration you would expect to get pulses out; the command value is asking for pulses.

The question is why is the controller asking for more than 50%. The answer is that's the way systems work. All that says is the system requires some amount of energy to maintain the system at the setpoint. The pulses are accounting for losses. The thing driving the % Out above 50% is probably an integral sum in the controller.

Keith

I found writing an AOI worked out much better
The % out of the PID loop needed to go to 50% when
SP = PV in order to stop the pulsing.
The process is PH of water. If the PH goes low a valve is pulsed open to administer CO2 to increase the PH, once the
PH hits PV=SP then the valve needs to stop pulsing
So I wrote an AOI that takes the difference and creates
an increasing time constant then using that to pulse
the output, the closer to SP it gets the shorter the pulse.
 

Similar Topics

So I've been told time and time again that a PID (or PIDE) instruction should never be conditionally enabled/disabled and the only thing that...
Replies
7
Views
678
I have PID temperature control which will connect to Beckhoff EL4004(0v-10v). How I can program it to let EL4004 to control the temperature?
Replies
7
Views
2,631
I just quit my job lol 12 years of not being apricated and being treated like your nothing to them spending years learning new skills that saves...
Replies
50
Views
10,868
Hello everyone, Has anyone worked with Beckhoff function block fb_ctrl_pid...
Replies
5
Views
8,201
Hi, Im looking for a solution for regulating a Heat elemtent PID style on my Mitsubishi FX PLC.. I have found a PID regulator but it only gives...
Replies
1
Views
1,834
Back
Top Bottom