M
I need to design a PID controlled tank pressurization system using a PLC5-80C1.5
The tank pressurization will use a series of timed setpoint changes, with adjustable ramp rates, either down or up as the setpoint change requires.
Tank pressurization is handled by a variable position valve (4 - 20 ma), and tank venting is handled by a separate but similar variable position valve. In operation the tank is being drained and filled simultaneously at different rates while maintaining and changing setpoints and ramp rates (psia/sec) at preset times. Starts at 100% (small ullage) and finishes at
<30% full (large ullage). Pressurization utilizes GN at 2500 psi supply pressure.
For the curious, this is a 50,000 gallon Liquid Oxygen tank used to supply oxidizer to a rocket engine during static test. Pressurization to 100 psia max is currently handled by a very old home built electronic controller built by a genuine but now departed Rocket Scientist. It is old and
difficult to keep operating, much less calibrated.
The "ramp (up/dn) to setpoint" problem is straight forward. The pressurize / vent function is my problem. Should I use two separate but coordinated pid loops, or one pid loop biased to 50% output at setpoint with the CV inverted below 50% and direct above 50%? i.e. 2048 counts at 50% converted to 0 to 2048 in each direction. I recognize this approach will cut my resolution in half, giving 0 - 2048 counts for each 4 to 20 ma as opposed to 0 - 4095 counts for the same range.
Any comments or suggestions or experiences would be welcome.
David McConnell
Rocketdyne Propulsion & Power
Stennis Space Center, MS
The tank pressurization will use a series of timed setpoint changes, with adjustable ramp rates, either down or up as the setpoint change requires.
Tank pressurization is handled by a variable position valve (4 - 20 ma), and tank venting is handled by a separate but similar variable position valve. In operation the tank is being drained and filled simultaneously at different rates while maintaining and changing setpoints and ramp rates (psia/sec) at preset times. Starts at 100% (small ullage) and finishes at
<30% full (large ullage). Pressurization utilizes GN at 2500 psi supply pressure.
For the curious, this is a 50,000 gallon Liquid Oxygen tank used to supply oxidizer to a rocket engine during static test. Pressurization to 100 psia max is currently handled by a very old home built electronic controller built by a genuine but now departed Rocket Scientist. It is old and
difficult to keep operating, much less calibrated.
The "ramp (up/dn) to setpoint" problem is straight forward. The pressurize / vent function is my problem. Should I use two separate but coordinated pid loops, or one pid loop biased to 50% output at setpoint with the CV inverted below 50% and direct above 50%? i.e. 2048 counts at 50% converted to 0 to 2048 in each direction. I recognize this approach will cut my resolution in half, giving 0 - 2048 counts for each 4 to 20 ma as opposed to 0 - 4095 counts for the same range.
Any comments or suggestions or experiences would be welcome.
David McConnell
Rocketdyne Propulsion & Power
Stennis Space Center, MS