I am looking for a way to set an alarm condition for when a valve is operating too quickly (closing) to avoid a water hammer type condition in a crude oil line. I am familiar with the timing & alarming for a slow acting valve, but not a way to detect a quick acting valve. We are using DeltaV ver 13.3.1
This is for an solenoid operated SDV valve Full Open or closed only using a DC block. We adjust closing speed with restrictor valves on the actuator line. We do have open and closed limit switches on the valve to determine status.
Thanks
In reply to AdrianOffield:
In reply to Jonas Berge:
Andre Dicaire
In reply to Andre Dicaire:
A quick look at the EDC block and it indicates that the Travel time is initiated on an SP Change. If the Valve failed without a command to close (Fail closed due to loss of power) then the indication of a fast close time might not be generate. Then again, may this is only needed on a command to close. Anyway, using the two limit switches my solution is to use to RET time that is started when the Valve Open switch goes to 0, indicating the valve is closing. In a CND block, evaluate the elapsed time when the Close confirm switch goes true, and that will set the CND True. The ResetSet flipflop goes to false when the Close switch is confirmed, stopping the RET timer and holding the CND output to True. You could also use an NDET instead of the NOT so that the transition of Open Switch to 0 will set the Flip flop and it will remain true until the Close Switch goes true and resets the Flip flop, halting the timer. The timer is reset to 0 when the Valve is reopened, at which time the Flip flop will remain false until the next closure.
In this logic, I've used the RET/Time_Duration as my minimum time. The RET will stop at or beyond the Time Duration value, but we are interested if whether it stops before. If you want to track the actual travel time the valve normally takes, the EDC block does that already. So we don't need to create a separate limit value parameter for the expression.
The CND expression looks at the F_IN_D1 which is the confirmed close.
'^/EDC1/F_IN_D1.CV' AND ('^/RET1/ELAPSED_TIMER.CV' < 'TIME_DURATION')
Simplifying this a bit. If we hold the RET timer reset when the valve is confirmed Open, the RET1/IN_D is also true, but does not increment. When Open switch goes to 0, RET increments immediately until Closed Switch goes TRUE, and RET holds time. CND block is the same.
If the IO are defined in the EDC/DC block, you can expose F_IN D as outputs and wire to NOT and RET blocks. Make sure execution order is correct so CND sees RET timer value in current scan.
Sometimes fewer blocks is not as obvious as to how the logic is working. There are many ways to accomplish this.
In reply to Michael H Burton:
In reply to Jeffrey Mach: