ControlLogix PID - digital outputs

M

Thread Starter

Miroslav Simko

Hi everybody.

Can anybody help me with the PID instruction on AB ControlLogix. I need convert output from PID instruction to two digital outputs (increment, decrement) for motor actuator of control valve without feedback of position.

Many thanks.

Miro.
--------------------------------------------------------------------------
Ing. Simko Miroslav, START Automation sro., Malacky
tel.:+421 703 771 31 63, fax: +421 703 774 30 52
e-mail : [email protected] URL: www.startaut.sk
 
J

Johan Bengtsson

Ok, I don't know if this is the standard way or not, but anyway:

My first try would have been something like this:

periodically check the output from the PID, if above say 55% turn on increment for a time decided by how much above say 51% it is the more the longer on time. If it instead is below say 45% turn on the decrement in the same way based on how much below say 49% the output is. After that wait the desired perod until checking again.

The result is a PWM (with low frequency and a low on time compared to the cycle at maximum output).
If you can make this PWM in another way well, the
result will be the same.

This way will however change the behaviour of the
process compared to setting the position with
feedback, this requiering a re-tune if you previously had it tuned. The process will now behave as it is integrating even if it wasn't before. If it is an integrating process by itself this scheme will probably be difficult to tune. ah, it will perhaps be difficult to tune anyway.

Another approach is to in some way estimate the actual position and use that as a simulated feedback. This would perhaps be easier to tune and better behaviour for the PID, unfortunately you will have errors in the estimate and that could probably be difficult to overcome.

I'll perhaps come up with a better solution if you
could provide more information about the application. My guess is that is is some flow control cascaded with some level control, in that case the first approach will probably work nice enough if you have moderately slow requests.

If it is a level control not cascaded with a flow
control you get the problem with having a double
integrating process, I don't know if that will be
easy enough to tune.

Are there any better approach to this?


/Johan Bengtsson

----------------------------------------
P&L, Innovation in training
Box 252, S-281 23 H{ssleholm SWEDEN
Tel: +46 451 49 460, Fax: +46 451 89 833
E-mail: [email protected]
Internet: http://www.pol.se/
----------------------------------------
 
K
Without position feedback (virtual or otherwise) the PID block should have no integral, and the effective scan time should be slow enough,
or the gain small enough, to allow process feedback to close the loop. Scan time and proportional gain to some extent can be traded off against each other.

Estimating virtual position can work fairly well, and the model (of the output device) does not have to be perfect; it just must not be faster
than the actual device. This allows the full PID controller to be used, with output to a target position variable. A simple driver then applies
the increment/decrement output commands. In some cases the output driver might be "indexed" to a known state, e.g., full open or closed, but if
the process is continous this shouldn't be necessary.

--
Ken Irving <[email protected]>
 
J

Johan Bengtsson P&L Automatik AB

Hmm, well that is right, of course.

The conversion to pulses will actually be the same as an integration block (I tried to say that before, but it probably didn't come out right), this will in effect give you an I controller when you are only using the P part (no I know this sounds really crazy but it is like that, check the transfer function before you start complaining)

This effectively means normal tuning formulas don't apply to this control strategy. It don't mean it wont work, it just means your favorite tuning method perhaps won't do the trick. I would go for try-change-try again myself in this case.
I surely hope you have flow feedback. If you are
controlling a level and don't have flow feedback this will most surely not work since you can't control an integrating process (most level controls are) with only an I controller and get it stable.


/Johan Bengtsson

----------------------------------------
P&L, Innovation in training
Box 252, S-281 23 H{ssleholm SWEDEN
Tel: +46 451 49 460, Fax: +46 451 89 833
E-mail: [email protected]se
Internet: http://www.pol.se/
----------------------------------------
 
Top