Example of a real world PID controller

Pandiani

Lifetime Supporting Member
Join Date
Apr 2005
Location
Tz
Posts
718
By browsing through Siemens' web site, I have found interesting idustriall controllers that have PID built in functions. Controllers are from SIPART familly and more info can be found
here:

I have downloaded manual and found one interesting part which I printed and posted as attchment here.
For example, if this controller is used to control temperature by manipulating some electric motor valve, ideal configuration would be so called "Three-position step controller with internal feedback"

It is obvious that controller energizes one of two output relays that opens or closes valve. This is practically "step controller" (by step, I mean that output is changing in steps).
However, it is not very clear to my why this so called "internal feedback" is used. It seems that CO (to output relays) is returned to some kind of hysteresis switch with some kind of smoothing filter (maybe first order filter).

Do you have any similar experience with this kind of controllers?
Also terminology is somewhat strange to me.
Of course there is also external feedback where "In S-controllers with external feedback the ”internal position control circuit” is replaced by a
real position controller (with the K-controller output y as a setpoint and the position feedback
y R as an actual value)."
If someone is willing to read, whole manual can be found here

I mostly worked with pure software controllers (PID) usually where step output is connected to the drive via DCS module and never really thought about it.
Concepts of internal and external feedback is little bit fuzzy to me and perhaps it has its ancient roots...

Any comments are welcome
 
Most PID control that I have been involved with has been temperature control using motorised valves, as you describe, with relay outputs from the controller stepping the motor open and closed (or no output to leave the motor where it is).

Typically, the motor travel time is 15, 30 or 60 seconds from fully closed to fully open. This setup works well for a relatively slow control loop such as temperature control.

When I first started work in the 1970s, PID controllers were made with analogue circuits, all the motorised valve control models had a slidewire feedback signal input for the motor position. I'm guessing that the derived analogue control output signal from the PID circuit was applied to some kind of bridge circuit along with the slidewire which then energised either of the two relays to move the motor until the bridge was balanced.

In the early 1980s microprocessor based PID controllers started to appear on the market. Eurotherm were one of the first companies to produce these (Eurotherm 810) for the mass market, at least in the UK anyway, along with Honeywell (Versapak).

The new Eurotherm controllers offered a version which would control a motorised valve without the need for a position feedback. Most other manufacturers followed suit.

At least in the industries I work in, the slidewire feedback concept quickly fell by the wayside. Although I have used them since; some controllers will still accept a slidewire signal but usually just for indicating the position of the valve on the controller display, not for use in the control program. Siemens seem to be one of the few manufacturers these days to offer position feedback for control purposes.

As far as I know (i'm not privy to the manufacturers actual control programs) these controllers use an internal model of the valve position - referred to by Siemens as "internal feedback" - the model determines where the controller "thinks" the valve is based on the times that the respective open and close outputs have been energised compared to the full stroke travel time of the motor (normally entered into the controller as a parameter during commissioning).

For motorised valve control using a PID loop in a plc, I've had to write my own program, utilising a model of the assumed valve position to convert the numeric output from the PID instruction into two discrete outputs to drive the motorised valve.
 
Honeywell used resistive slidewire feedback from the early 1950's onwards for electric actuator control. It provided for very accurate positioning. However, the slidewire was always the weak link and failed over time. The controllers could not operate without the feedback from the slidewire.

When the Europenas adopted 3 position step control (3PSC), Honeywell's UDC single loop controllers followed suit rapidly.

The reasons people rapidly converted from slidewire to 3PSC are
- 3PSC saves $100+ by not needing the slide wire feedback card
- it saves on wiring (the 3 slidewires are not needed)
- it saved downtime because 3PSC doesn't have a slidewire that gets dirty or breaks
- the control is as good as slideware control, assuming the actuator motor has sufficient 'repositions' to work in the application.
- fewer wires to screw up during commissioning or troubleshooting

The Honeywell UDC controls 3PSC open loop, by mere timing. The controller requires data on the stop-to-stop timing for the motor stroke, what burnerman refers to as 15, 30 or 60 second timing.

When first initialized, the controller does an 'output calibration' sequence that drives the motor to one stop, then back to the other stop confirming the stop-to-stop time duration. Eventually it pops out of cal mode and goes into auto mode and drives the motor to its output position determined by the PID, by timing the on-duration of the relay output that drives the motor in that direction.

It keeps track of the current position in EEPROM or flash, so that afterwards, the motor position is known on power up.

There are still a lot of legacy slidewire motors out there.

Dan
 
Found it!

1991 description of the internal cascade loop that runs internally to do either slidewire or 3PSC.

3_position_step_control_small.2.jpg
 
Guys, thank you for your replies.
Danw, that is very interesting. I must admit it was really strange to me when I first time heard "three position". Obviously three positions mean clockwise, counterclockwise and stop position.
This is basically cascade loop with outer feedback as process value that needs to be controlled and inner feedback with motor (valve position). Sice slave controller is no more than high gain proportionaly controller (if I understood properly), I don't see how this is more efficient than simple control loop wizh only one feedback.
Usually, cascade structure is used when there is a need for one faster loop (inner) and one slower (outer) loop . Inner loop is usually necessary when fast and efficient distrubance rejecting is possible.

I don't quite understand how inner loop (feedback) is helping significantly here, when two output relays are used...
 
What about the govenor on Maxwell's "On Governors"

Governors are real world PI controllers.

I didn't post it here to because I thought you would see. As far as the inner loop goes, they are used in hydraulics all the time. Usually the controller just output +/- 10 volts to a valve and the on board valve electronics position the spool proportionally to the command signal. This way the motion controller doesn't need worry about the spool position, just the actuator position.

Cascaded loops make sense when there are multiple feed back devices. It doesn't make sense to use an encoder for velocity loop feed back AND position loop feed back. If there is only one feed back then the two loops can be combined in to one closed loop controller.
 
Peter, I post this particular case, because I cannot understand how this internal feedback (practically it is signal sent to output relays) improving control. This whole scheme is implementing as cascade control loop where controller output is actually and input (setpoint) to the inner loop.
I know that most valves (drives) use this technique (controller is basically switching some relays, so there are pulses of different length).

As far as centrifugal governor controller is concerned, that is pretty much impressive. Do you want to discuss how is that working?
 
Pandiani said:
Peter, I post this particular case, because I cannot understand how this internal feedback (practically it is signal sent to output relays) improving control.
Isn't x and xd flow? I see no indication of an inner loop. It looks to me the system just commands the valve to open a little if the flow is to low and close a little if the flow is too high.


This whole scheme is implementing as cascade control loop where controller output is actually and input (setpoint) to the inner loop.
I don't see any spool or valve position feed back.

I know that most valves (drives) use this technique (controller is basically switching some relays, so there are pulses of different length).
Servo valves are not motor driven and must have feedback because the spool is affected by flow forces.

As far as centrifugal governor controller is concerned, that is pretty much impressive. Do you want to discuss how is that working?
No, I was just making the point that the basics of control were figured out long before there were 'PID' controllers. I wanted to point out that 'in the beginning' the real engineers understood the systems they were controlling, they understood the math ( differential equations ) of the machinery they were trying to control. I wanted to refute the common misconception that PID control started in the late 1920s with pneumatic controllers. The control just wasn't called PID control. Also, it 'winds up my integrator' when people use the term reset. I see no reset in a differential equation. Thanks for providing the excuse to make these points again.
 
Originally posted by Peter Nachtwey:

I don't see any spool or valve position feed back.

It's modelled. I don't necessarily agree with their implementation but I can see their structure. I don't see what the inner loop really gets you other than abstraction. You're just driving an integrating element. What you are really concerned about is the delta control effect you get from a specific pulse width and how the 'outer loop' control request amps into that pulse width.

The 'inner loop' abstracts you from that and makes the control element appear to the controller ('outer loop') as a non-integrating control element. The controller needs to maintain a specific control output to maintain a specific valve position even though the valve itself doesn't require this.

Keith
 

Similar Topics

I am looking for example of real projects to improve and learn more skills of programming PLC ? I am not sure if ou know where I can see examples...
Replies
5
Views
1,558
Here is some pictures about 2 pumps control with plc ..include real program . This picture has shown ..Testing by program before installation at...
Replies
2
Views
13,340
Hello sameone have Beckhoff PLC Siemens Sinamics V90 configuration example?
Replies
0
Views
96
Dear Friends, I have few Profinet slaves connected to S7-1200 over Profinet. I wish get alarms and disagnostics from the devices. (IO-Link...
Replies
3
Views
151
Back
Top Bottom