11-15-2009 05:31 PM
Hello everyone!
I'm trying to use the PID VI to control a valve actuator. The actuator type isknown as the "3 points or three step", this type of actuator hasthree contacts for control, one is common and the other two are to rotate inone direction or another and no feedback position. In addition the manufacturerinforms us of the actuator travel time, the time required to go from fullyclosed to fully open and the minimum time applicable to the actuator, beingnecessary to know these times to properly control the valve.
We can say that to vary position of the actuator should vary time remainsactive as long as each of its output contacts depending on whether you want toopen or close the valve.
Do not know what would be the best way to move from the output gives the PID (0- 100%) to the two outputs necessary to open or close the valve. I wouldappreciate it if anyone has any experience with this type of control thecomment as it would be helpful.
thanks.
11-16-2009 06:04 AM - edited 11-16-2009 06:05 AM
Just had a similar task to control the wall heater at home, however that is a PLC , so i can't provide a LabVIEW solution.
If you don't have a direct feedback by a potentiometer you need to calculate the current position.
Drawback is always an accumulated error, so you have to do an initialization at start and after x min motor runtime or y min uptime. In my case this is no problem for my slow uncritical heating system, I move is all way down (valve traveltime +10%, can be shorted if an endposition information is awailable) and back to setpoint. (The responsetime of the heating system is in hours, while the valve is in seconds:-) )
Set up a subvi with an internal shift-register for the calculated 'internal' valve position.
Input is 0-100% setpoint from your PID, output the open and close Boolean
If the calculated position doesn't meet the setpoint (within a deadband) move up or down respecting the min_runtime.
The calculated position is updated according the up and down signal time and the given traveltime. For this you need to have the 'real' traveltime (timed loop, or timestamp the interations (hopefully just like your PID)
Fine tuning can be done by including hysteresis (if any, another shift-register storing the last direction) , startup_delay and stop_delay.
11-28-2009 03:03 PM
I´m experimenting with temperature controlling whith a motor valve.
Can you please post a example for this subVI!
Regards Mats
06-23-2016 07:18 AM
Hi Everyone,
I found out this thread after searching for my own LabVIEW problem which is similar to the first one . I really hope someone could help me out.
I am trying to use a PID controller to control a three-way valve in real time for achieving the set-temperature. Here the only control signals for the valve are ON/OFF for both directions. Thus the valve then turns in anyone direction at 70 mm/s or just stops in the last position after signal is stopped. The total stroke length is 4.5 mm.
I am also using Beckhoff in the PLC and the LabVIEW communication is through a OPC Shared Variable Engine in real-time with the valve.
For my first approach I have tried to create a simple three-step controller by combining 2 two step-controllers (pic attached). Wherein the valve moves in the relevant direction if the dT is greater then 1K. So a total hysteris of 2K is considered.
Thanks very much in advance for any feedback or links which could help me solve my issue.
Regards
06-22-2017 10:21 AM
Hello,
if it still might be helpful to someone we solved our issue of controlling the 3-way valve with a motor having no position feedback as follows:
For achieving a set-point temperature a 3-way mixing valve is built in the circuit controlled using three-
position control. Since the valve actuator doesn’t provide a feedback on its position a conventional PID
controller couldn’t be implemented. Instead a rule-based controller is developed in-house using LabVIEW®
which reacts when the error in the controlled variable is greater than 0.5 K. The controller makes changes to the
valve position in control steps directly proportional to the size of the error, thereby mixing the return line of the
load or taking more water from the tanks. The control step is defined in seconds for which the motor should
rotate in the necessary direction. A time delay of 120 s is planned before the next measurement is made and
control action is taken since considering the time taken for a change in the value of the temperature sensor. The
value of the time delay, error tolerance and step-size is based on values gathered during experiments.