|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FB SEQ244 GLB : Execute valves clocking whilst draining |
|
|
|
Network 1: Define SSM last step #SSM(LAST_STEP := 5); |
|
|
|
Network 2: Valves fixed-setting with hold or without hold #SSM.S.stepllo := NOT (#SSM.S.step0 OR #SSM.S.steph); "DI OUT P01".V104.CmdExe_WP := "HMI KEY".P01.V104.F12_Enable_WP AND #SSM.S.stepllo; "DI OUT P01".V102.CmdExe_WP := "HMI KEY".P01.V102.F12_Enable_WP AND NOT #SSM.S.step0; "DI OUT P01".V101.CmdExe_WP := "HMI KEY".P01.V101.F12_Enable_WP AND NOT #SSM.S.step0; "DI OUT P03".V305.CmdExe_WP := "HMI KEY".P03.V305.F12_Enable_WP AND NOT #SSM.S.step0; "DI OUT P03".V308.VLV_O.CmdExe_WP := "HMI KEY".P03.V308.F12_Enable_WP AND #SSM.S.stepllo; "DI OUT P03".V307.VLV_O.CmdExe_WP := "HMI KEY".P03.V307.F12_Enable_WP AND #SSM.S.stepllo; "DI OUT P03".V310.CmdExe_WP := "HMI KEY".P03.V310.F12_Enable_WP AND NOT #SSM.S.step0; // Start valves clocking #DlyDoneOn(IN := #SSM.S.stepact <> 0, PT := #DlyDoneOn.PT); |
|
|
|
Network 3: CASE function corresponds to SEQ244 CASE #SSM.S.stepact OF 0: // Waiting for sequencer to start #SSM.S.stepd := #SSM.S.steps; "DI OUT P01".V111.CmdExe_WP := "DI OUT P01".V108.CmdExe_WP := "DI OUT P03".V314.CmdExe_WP := "DI OUT P03".V317.CmdExe_WP := "DI OUT P01".V109.CmdExe_WP := "DI OUT P03".V315.CmdExe_WP := "DI OUT P03".V320.CmdExe_WP := "DI OUT P03".V318.CmdExe_WP := FALSE;
1: // Pause mode IF #SSM.S.stepfc THEN #SSM.S.c1.set := 80; #SSM.S.c1.start := TRUE; ELSE #SSM.S.stepd := #SSM.S.c1.done; END_IF;
2: // Seats above pressure relief "DI OUT P01".V111.CmdExe_WP := "HMI KEY".P01.V111.F12_Enable_WP AND NOT #SSM.S.c1.done; "DI OUT P01".V108.CmdExe_WP := "HMI KEY".P01.V108.F12_Enable_WP AND NOT #SSM.S.c1.done; "DI OUT P03".V314.CmdExe_WP := "HMI KEY".P03.V314.F12_Enable_WP AND NOT #SSM.S.c1.done; "DI OUT P03".V317.CmdExe_WP := "HMI KEY".P03.V317.F12_Enable_WP AND NOT #SSM.S.c1.done; IF #SSM.S.stepfc THEN #SSM.S.c1.set := 80; #SSM.S.c1.start := TRUE; ELSE #SSM.S.stepd := NOT ("A01 V111 WP" OR "A01 V108 WP" OR "A03 V314 WP" OR "A03 V317 WP" OR #SSM.S.DlyOff.Q); END_IF;
3: // Pause mode IF #SSM.S.stepfc THEN #SSM.S.c1.set := 80; #SSM.S.c1.start := TRUE; ELSE #SSM.S.stepd := #SSM.S.c1.done; END_IF;
4: // Seats below pressure relief "DI OUT P01".V109.CmdExe_WP := "HMI KEY".P01.V109.F12_Enable_WP AND NOT #SSM.S.c1.done; "DI OUT P03".V315.CmdExe_WP := "HMI KEY".P03.V315.F12_Enable_WP AND NOT #SSM.S.c1.done; "DI OUT P03".V320.CmdExe_WP := "HMI KEY".P03.V320.F12_Enable_WP AND NOT #SSM.S.c1.done; "DI OUT P03".V318.CmdExe_WP := "HMI KEY".P03.V318.F12_Enable_WP AND NOT #SSM.S.c1.done; IF #SSM.S.stepfc THEN #SSM.S.c1.set := 80; #SSM.S.c1.start := TRUE; ELSE #SSM.S.stepd := NOT ("A01 V109 WP" OR "A03 V315 WP" OR "A03 V320 WP" OR "A03 V318 WP" OR #SSM.S.DlyOff.Q); END_IF;
5: // Waiting for valves clocking at 244 to be done IF #DlyDoneOn.Q THEN "DI MAIN GLB".SEQ200.Support.SEQ244_Start := FALSE; ELSE #SSM.S.stepnew := 1; END_IF; END_CASE; |
|