So I'm new to DetlaV, having spent most of my automation career in a Ladder Logic/Rockwell Automation environment. I'm trying to cascade two FCVs, one primary, in order to fill a tank. I'm using XFR and CALC blocks as my input to my PID for the main FCV with a simple expression:
IF
'TANKLEVEL/PID1/PV.CV' >75 THEN 'OUT1>CV' := 0
ENDIF;
'TANKLEVEL/PID1/PC.CV' < 45 THEN 'OUT1.CV' := 1
ENDIF:
For the other FCV, I'm using this:
/TANKLEVEL/PID1/PV.CV' < 60 AND 'TANKLEVEL/PID1/PV.CV' > 75 THEN 'OUT1.CV' := 1;
/TANKLEVEL/PID/PV.CV' < 45 THEN 'OUT1.CV' := 0
ENDIF
The control philosophy is basically this: IF TANKLEVEL >75 then SECONDARYVALVE = CLOSED and PRIMARYVALVE = CLOSED
Else, if TANKLEVEL < 60 and > 45, then PRIMARYVALVE = OPEN and SECONDARYVALVE = CLOSED
Else, if TANKLEVEL < 45, then PRIMARYVALVE = OPEN and SECONDARYVALVE = OPEN
Appreciate any assist here...am knee-deep in learning DeltaV.
Best Regards,
Rachelle McWright: Business Development Manager, Dynamic Simulation: U.S. Gulf Coast
Andre Dicaire
In reply to Andre Dicaire:
In reply to Steve Linehan:
In reply to Barrick_JA:
In reply to Matt Stoner:
Don't forget to clean up the function block execution order. The order is indicated by the little numbers in the bottom right of each function block. Dashed lines between function blocks indicate a value from later executing block feeding into a earlier executing block. This is normal behavior for some parameters e.g. BKCAL.
Click "Set order" from the diagram tab in CS. The next function block you click will have its execution order set to 1. If you shift+click a function block you can set this internal starting point to the value of the block that you shift+clicked. The next FB you click will be assigned the order of the number you just selected + 1.