SEQ506 : Perform pressure maintenance

[hit  <- on your browser to return]

 

 

 

Network 1: Define SSM last step

#SSM(LAST_STEP := 5);

 

 

 

Network 1: Jump distributor corresponds to SEQ506

CASE #SSM.S.stepact OF

    0: // waiting for sequencer to start

        #Done :=

        "DI OUT P03".V308.VLV_O.CmdExe_WP :=

        "DI OUT P03".V303.VLV_O.CmdExe_WP := FALSE;

        #SSM.S.stepd := #SSM.S.steps AND "DI OUT P03".V308.FB_HP AND "DI OUT P03".V303.FB_HP;

       

    1: // PT302 pressure maintainace control

        IF NOT "HMI KEY".Execute.Pressure_Maintenance_in_STH_Start THEN

            #SSM.S.stepd := TRUE;

            #SSM.S.stepnew := 4; // inevitably pressure release

        ELSIF "DI MAIN GLB".SEQ200.Support.Pressure_Maintenance_reached THEN

            RETURN;

        ELSIF "DI OUT P03".PT302.Support.Out_Scale < "HMI KEY".SetPoint.PT302_PressureMaintainace THEN

            #SSM.S.stepd := TRUE;

            #SSM.S.stepnew := 2; // pressure increase

        ELSIF "DI OUT P03".PT302.Support.Out_Scale > "HMI KEY".SetPoint.PT302_PressureMaintainace THEN

            #SSM.S.stepd := TRUE;

            #SSM.S.stepnew := 3; // pressure decrees

        END_IF;

       

    2: // V303 Gas blocking WP/HP (pressure increase)

        IF NOT "HMI KEY".Execute.Pressure_Maintenance_in_STH_Start THEN

            #SSM.S.stepnew := 4;

            #SSM.S.stepd := TRUE;

            RETURN;

        ELSIF #SSM.S.stepfc THEN

            #SSM.S.c1.set := 20;

            "DI OUT P03".V303.VLV_O.CmdExe_WP := "HMI KEY".P03.V303.F12_Enable_WP;

        ELSIF "DI OUT P03".V303.FB_WP THEN

            #SSM.S.c1.start := TRUE;

            IF #SSM.S.c1.done THEN

                #SSM.S.stepnew := 1;

                "DI OUT P03".V303.VLV_O.CmdExe_WP := FALSE;

            END_IF;

        END_IF;

        #SSM.S.stepd := #SSM.S.c1.done AND "DI OUT P03".V303.FB_HP;

       

    3: // V308 gully ventilation WP/HP (Pressure decrease)

        IF NOT "HMI KEY".Execute.Pressure_Maintenance_in_STH_Start THEN

            #SSM.S.stepd := TRUE;

            RETURN;

        ELSIF #SSM.S.stepfc THEN

            #SSM.S.c1.set := 20;

            "DI OUT P03".V308.VLV_O.CmdExe_WP := "HMI KEY".P03.V308.F12_Enable_WP;

        ELSIF "DI OUT P03".V308.FB_WP THEN

            #SSM.S.c1.start := TRUE;

            IF #SSM.S.c1.done THEN

                #SSM.S.stepnew := 1;

                "DI OUT P03".V308.VLV_O.CmdExe_WP := FALSE;

            END_IF;

        END_IF;

        #SSM.S.stepd := #SSM.S.c1.done AND "DI OUT P03".V308.FB_HP;

       

    4: // V308 Ventilation WP, inevitably pressure release

        "DI OUT P03".V303.VLV_O.CmdExe_WP := FALSE;

        "DI OUT P03".V308.VLV_O.CmdExe_WP := "HMI KEY".P03.V308.F12_Enable_WP;

        #SSM.S.stepd := "DI OUT P03".PT302.Support.Out_Scale <= "DI OUT P03".PT302.L_LIM AND "DI OUT P03".V308.FB_WP AND "DI OUT P03".V303.FB_HP;

       

    5: // SBT pressure safeguarding

        IF #SSM.S.stepfc THEN

            #SSM.S.c1.set := 20;

            "DI OUT P03".V308.VLV_O.CmdExe_WP := FALSE;

        END_IF;

        #SSM.S.c1.start := "DI OUT P03".V308.FB_HP;

        #SSM.S.stepd := #Done := #SSM.S.c1.done;

END_CASE;