Hi,
Is there a parameter in Control Selector Function Block (CTLSL) to indicate which input of the block has been selected?
I have a low-select Control Selector Function Block (CTLSL) and I want to know when the SEL_3 is selected.
Thanks,
Learner
Andre Dicaire
In reply to Andre Dicaire:
Thanks Andre, this was helpful when I was writing one of these. Below is what I ended up with:
(* If the Control Select is not in Auto then the downstream loop is likely not is CAS, no selection *)IF '^CTLSL1/MODE.ACTUAL' = AUTO THEN (* GoodCascade NotSelected is Status 208-211 mask out the last two bits so all NotSelected sub-statuses evaluate to 208 *) (* Only show the input as selected when GoodCascade *) IF (('^CTLSL1/BKCAL_SEL1.ST' & 252) <> 208) AND ('^CTLSL1/BKCAL_SEL1.ST' >= 192) THEN 'OUT1.CV' := 1; ELSE IF (('^CTLSL1/BKCAL_SEL2.ST' & 252) <> 208) AND ('^CTLSL1/BKCAL_SEL2.ST' >= 192) THEN 'OUT1.CV' := 2; ELSE IF (('^CTLSL1/BKCAL_SEL3.ST' & 252) <> 208) AND ('^CTLSL1/BKCAL_SEL3.ST' >= 192) THEN 'OUT1.CV' := 3; ELSE (* The Block is in Auto with no selected input, this should not happen possibly still handshaking *) 'OUT1.CV' := 0; ENDIF; ENDIF; ENDIF;ELSE (* The Control Select Block is not in Auto, so no selected input *) 'OUT1.CV' := 0;ENDIF;
In reply to Rein:
Hello Andre,
Thanks for your reply.
So, the CTLSL1 (module C) should become in AUTO if the downstream block (Module D) is in CAS? Or it should also be in CAS?
I thought that the BKCAL_IN of the upstream blocks (Modules A & B) which are PID should be connected to the BKCAL_OUT of the downstream block which is the CTLSL1 (Module C), in order to function. That as per Books Online. Or not necessary?
If the downstream block (module D) is in CAS, are all the upstream blocks like the CTLSL1 (module C) and the PID blocks (modules A & B) should also be in CAS or not necessary? If not, what should be the mode of the upstream PID block (modules A & B)?
Below is the inter-connection of my modules A, B, C, & D:
Rein
Rein,
We recently implemented a three AI - low select control scheme for a natural gas supply.
It was based on the Control Selector function block application information found in the DeltaV Books Online.
The logic was simple to implement by following the BOL example.
Regards,
Dennis
In reply to fairchdm:
In reply to Paul Hughes: