October 12, 2018 at 2:19 am #3410
Sean TerrellModeratorKarma Points: 157Rank: Jedi
I have an interesting control strategy that I have to work with. Tank Level is controlling incoming pipeline valve actuator to reduce flow. Valve is open 100% if level is less than 21.5 feet. 26.5 is the HH and the LCV shuts along with an ESV and pipeline fluids are sent through a bypass.
in this control strategy there is no setpoint. I am not a tying to maintain any particular level other than less than 26.5 feet. Oddly enough the example in the Studio 5K process control methods uses this very example for a PSOP function, but it includes a SP. I am not sure how to make it happen but I am thinking about it
what I have done for now is made a routine with GRT and LES compares and move 20% increment values into the output value. Is this the only way to accomplish this? I was hoping someone might know of a way?
I think I should be able to map 4-20 mA over 5.o feet of values to a much cleaner resolution .
Attachments:You must be logged in to view attached files.October 12, 2018 at 7:31 am #3412
George BarnetteModeratorKarma Points: 151Rank: Jedi
Morning. What I’ve done for level when I was working more with food processing and some liquid process was to make a FBD routine and use the scaling functions. You then can scale your analog input and have the scale output (tag) be your process variable. You would still need a setpoint probably but that may come in handy someday. That works real well even what I’m doing now with the VFD’s on the air handler projects I’ve been working on.
Also you could use a compare and go open 100% til the level is at say 80% of what you need and then start the PID and throttle the valve closed on proportional gain only. That’s what we did with tank levels in big tanks at a water utility I worked for.
Lastly, you could create logic to say limit the level without a setpoint, say take the HH tank level in a subtract instruction and use the new tag as a target in another compare to close the valve, maybe without a PID. An example would be 26.5′ minus 3.0′ and the destination would be the new tag, which when used in a GEQ (23.5′) would close the valve. Hope this helps. I can’t possibly think that anything I would say you haven’t already though of. Have a great weekend!!October 12, 2018 at 8:51 am #3413
Fred (a.k.a. PLCGuru)Keymaster
Hey guys! Sean have your considered implementing a split-range time proportioned loop (SRTP). In this control mechanism there is no setpoint per se, rather you use a time based control mechanism. Since you’re not trying to precisely control the level you can use your PID loop output position (or % open) to control the bypass valve. Check out this document that has some different loop control mechanisms. The SRTP example uses a heating/cooling scenario (classic use of this control mechanism) but it may be easily morph’d into controlling your scenario without the need for any setpoint, rather feeding the output of your PID loop into the SRTP instruction to control the bypass valve.
You must be logged in to reply to this topic.