Home

 

Erfahrung

 

Referenzen

 

Sondermaschinen

 

MSR-Maschinen

 

SPS-Programmierung

 

Visualisierung HMI

 

Elektro CAD

 

Leistungsprofil

 

Personalia

 

SW-Development

 

Dokumentation

 

 

 

Impressum & DSGVO

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FB MAN P01 Manual mode P01

 

 

 

Network 1: S120_X-Axis gasketing plant - enable

IF #ST_MANU AND NOT #SUPPORT_SEQ THEN

    IF "DI MAIN GLB".M00.CmpltMaRun_Imp THEN

        #S120_X.ManuVelocity_1 := "DI OUT P01".S120_X.DRV.Support.SetVelo / 5.0;

    ELSE

        // Set value velocity

        "DI OUT P01".S120_X.DRV.Support.SetVelo := #S120_X.ManuVelocity_1 * 5.0;

        // Jog slow WP (button function)

        #S120_X.CmdExe_slow_WP := "HMI KEY".P01.S120_X.F3_Jog_slow_WP;

        // Jog slow HP (button function)

        #S120_X.CmdExe_slow_HP := "HMI KEY".P01.S120_X.F4_Jog_slow_HP;

        // Calculate remainder MovRelaTargtPos after sequencer stop-interruption (option for MovRela)

        IF "HMI KEY".P01.S120_X.F21_Halt AND "HMI KEY".P01.S120_X.F10_Execute THEN

            "DI OUT P01".S120_X.DRV.MC_MoveRelative.Distance := "DI OUT P01".S120_X.DRV.Support.SavTrgtPos - "DI OUT P01".S120_X.DRV.Support.ActPos;

        END_IF;

    END_IF;

END_IF;

// Enabling HP

"HMI KEY".P01.S120_X.F11_Enable_HP :=

"DI OUT P01".S120_X.DRV.Support.InOperation // ready

AND "E01 S120_X Lim_ACW"

AND "DI OUT P01".S120_X.DRV.Support.ActPos >= "DI OUT P01".S120_X.DRV.Support.SW_EndLim_MinPos //(not by modulo on)

AND NOT ("DI OUT P01".S120_X.DRV.Support.SW_EndLim_Min OR "DI OUT P01".S120_X.Com_FLT);

 

// Enabling WP

"HMI KEY".P01.S120_X.F12_Enable_WP :=

"DI OUT P01".S120_X.DRV.Support.InOperation // ready

AND "E01 S120_X Lim_CW"

AND "DI OUT P01".S120_X.DRV.Support.ActPos <= "DI OUT P01".S120_X.DRV.Support.SW_EndLim_MaxPos // (not by modulo on)

AND NOT ("DI OUT P01".S120_X.DRV.Support.SW_EndLim_Max OR "DI OUT P01".S120_X.Com_FLT);

 

 

 

Network 2: S120_Y-Axis gasketing plant - enable

IF #ST_MANU AND NOT #SUPPORT_SEQ THEN

    IF "DI MAIN GLB".M00.CmpltMaRun_Imp THEN

        #S120_Y.ManuVelocity_1 := "DI OUT P01".S120_Y.DRV.Support.SetVelo / 5.0;

    ELSE

        // Set value velocity

        "DI OUT P01".S120_Y.DRV.Support.SetVelo := #S120_Y.ManuVelocity_1 * 5.0;

        // Jog slow WP (button function)

        #S120_Y.CmdExe_slow_WP := "HMI KEY".P01.S120_Y.F3_Jog_slow_WP;

        // Jog slow HP (button function)

        #S120_Y.CmdExe_slow_HP := "HMI KEY".P01.S120_Y.F4_Jog_slow_HP;

        // Calculate remainder MovRelaTargtPos after sequencer stop-interruption (option for MovRela)

        IF "HMI KEY".P01.S120_Y.F21_Halt AND "HMI KEY".P01.S120_Y.F10_Execute THEN

            "DI OUT P01".S120_Y.DRV.MC_MoveRelative.Distance := "DI OUT P01".S120_Y.DRV.Support.SavTrgtPos - "DI OUT P01".S120_Y.DRV.Support.ActPos;

        END_IF;

    END_IF;

END_IF;

// Enabling HP

"HMI KEY".P01.S120_Y.F11_Enable_HP :=

"DI OUT P01".S120_Y.DRV.Support.InOperation // ready

AND "E01 S120_Y Lim_ACW"

AND "DI OUT P01".S120_Y.DRV.Support.ActPos >= "DI OUT P01".S120_Y.DRV.Support.SW_EndLim_MinPos //(not by modulo on)

AND NOT ("DI OUT P01".S120_Y.DRV.Support.SW_EndLim_Min OR "DI OUT P01".S120_Y.Com_FLT);

 

// Enabling WP

"HMI KEY".P01.S120_Y.F12_Enable_WP :=

"DI OUT P01".S120_Y.DRV.Support.InOperation // ready

AND "E01 S120_Y Lim_CW"

AND "DI OUT P01".S120_Y.DRV.Support.ActPos <= "DI OUT P01".S120_Y.DRV.Support.SW_EndLim_MaxPos // (not by modulo on)

AND NOT ("DI OUT P01".S120_Y.DRV.Support.SW_EndLim_Max OR "DI OUT P01".S120_Y.Com_FLT);

 

 

 

Network 3: S210_Z-Axis gasketing plant - enable

IF #ST_MANU AND NOT #SUPPORT_SEQ THEN

    IF "DI MAIN GLB".M00.CmpltMaRun_Imp THEN

        #S210_Z.ManuVelocity_1 := "DI OUT P01".S210_Z.DRV.Support.SetVelo / 6.0;

    ELSE

        // Set value velocity

        "DI OUT P01".S210_Z.DRV.Support.SetVelo := #S210_Z.ManuVelocity_1 * 6.0;

        // Jog slow WP (button function)

        #S210_Z.CmdExe_slow_WP := "HMI KEY".P01.S210_Z.F3_Jog_slow_WP;

        // Jog slow HP (button function)

        #S210_Z.CmdExe_slow_HP := "HMI KEY".P01.S210_Z.F4_Jog_slow_HP;

    END_IF;

END_IF;

// Calculate remainder MovRelaTargtPos after sequencer stop-interruption (option for MovRela)

IF "HMI KEY".P01.S210_Z.F21_Halt AND "HMI KEY".P01.S210_Z.F10_Execute THEN

    "DI OUT P01".S210_Z.DRV.MC_MoveRelative.Distance := "DI OUT P01".S210_Z.DRV.Support.SavTrgtPos - "DI OUT P01".S210_Z.DRV.Support.ActPos;

END_IF;

 

// Enabling HP

"HMI KEY".P01.S210_Z.F11_Enable_HP :=

"DI OUT P01".S210_Z.DRV.Support.InOperation // ready

AND "E01 S210_Z Lim_ACW"

AND "DI OUT P01".S210_Z.DRV.Support.ActPos >= "DI OUT P01".S210_Z.DRV.Support.SW_EndLim_MinPos //(not by modulo on)

AND NOT ("DI OUT P01".S210_Z.DRV.Support.SW_EndLim_Min OR "DI OUT P01".S210_Z.Com_FLT);

 

// Enabling WP

"HMI KEY".P01.S210_Z.F12_Enable_WP :=

"DI OUT P01".S210_Z.DRV.Support.InOperation // ready

AND "E01 S210_Z Lim_CW"

AND "DI OUT P01".S210_Z.DRV.Support.ActPos <= "DI OUT P01".S210_Z.DRV.Support.SW_EndLim_MaxPos // (not by modulo on)

AND NOT ("DI OUT P01".S210_Z.DRV.Support.SW_EndLim_Max OR "DI OUT P01".S210_Z.Com_FLT);

 

 

 

Network 4: CARTESIAN Portal 3D - enable

IF #ST_MANU AND NOT #SUPPORT_SEQ THEN

    // Kinematics GroupMoveStop GroupMoveInterupt GroupMoveContinue

    IF "HMI KEY".P01.CARTESIAN_3D.F5_GroupStop THEN

        "DI OUT P01".CARTESIAN_3D.DRV.Support.Cmd_MoveCircularAbsolute := "DI OUT P01".CARTESIAN_3D.DRV.Support.Cmd_MoveCircularRelative :=

        "DI OUT P01".CARTESIAN_3D.DRV.Support.Cmd_MoveLinearAbsolute := "DI OUT P01".CARTESIAN_3D.DRV.Support.Cmd_MoveLinearRelative :=

        #CARTESIAN_3D.CmdExe_MovLinAbso := #CARTESIAN_3D.CmdExe_MovLinRela := #CARTESIAN_3D.CmdExe_MovCirAbso := #CARTESIAN_3D.CmdExe_MovCirRela := FALSE;

    END_IF;

END_IF;

// Enabling Kinematics

"HMI KEY".P01.CARTESIAN_3D.F8_Enabled := "DI OUT P01".CARTESIAN_3D.DRV.Support.InOperation AND NOT ("DI OUT P01".CARTESIAN_3D.Com_FLT OR "DI MAIN GLB".M00.CmpltMaOFF_Imp);

// Stop GroupInerrupt and GroupContinue

IF NOT ("DI OUT P01".CARTESIAN_3D.DRV.Support.GroupInterrupt AND "HMI KEY".P01.CARTESIAN_3D.F8_Enabled) THEN

    #CARTESIAN_3D.CmdExe_GroupContinue := #CARTESIAN_3D.CmdExe_GroupInterrupt := FALSE;

END_IF;

// Execute MoveLinearAbsolute

IF "DI OUT P01".CARTESIAN_3D.DRV.MC_MoveLinearAbsolute.Done OR NOT "HMI KEY".P01.CARTESIAN_3D.F8_Enabled THEN

    #CARTESIAN_3D.CmdExe_MovLinAbso := FALSE;

END_IF;

// Stop execute MoveLinearRelative

IF "DI OUT P01".CARTESIAN_3D.DRV.MC_MoveLinearRelative.Done OR NOT "HMI KEY".P01.CARTESIAN_3D.F8_Enabled THEN

    #CARTESIAN_3D.CmdExe_MovLinRela := FALSE;

END_IF;

// Stop execute MoveCircularAbsolute

IF "DI OUT P01".CARTESIAN_3D.DRV.MC_MoveCircularAbsolute.Done OR NOT "HMI KEY".P01.CARTESIAN_3D.F8_Enabled THEN

    #CARTESIAN_3D.CmdExe_MovCirAbso := FALSE;

END_IF;

// Stop execute MoveCircularRelative

IF "DI OUT P01".CARTESIAN_3D.DRV.MC_MoveCircularRelative.Done OR NOT "HMI KEY".P01.CARTESIAN_3D.F8_Enabled THEN

    #CARTESIAN_3D.CmdExe_MovCirRela := FALSE;

END_IF;

 

 

 

Network 5: V90_A Servo drive metering component A - enable

IF #ST_MANU AND NOT #SUPPORT_SEQ THEN

    IF "DI MAIN GLB".M00.CmpltMaRun_Imp THEN

        #V90_A.ManuVelocity_1 := "DI OUT P01".V90_A.DRV.Support.SetVelo / 0.4; // mm/s

    ELSE

        // Set value velocity

        "DI OUT P01".V90_A.DRV.Support.SetVelo := #V90_A.ManuVelocity_1 * 0.4; // 100% -> 40mm/s

        // Jog slow WP (button function)

        #V90_A.CmdExe_slow_WP := "HMI KEY".P01.V90_A.F3_Jog_slow_WP;

        // Jog slow HP (button function)

        #V90_A.CmdExe_slow_HP := "HMI KEY".P01.V90_A.F4_Jog_slow_HP;

    END_IF;

END_IF;

// Enabling HP

"HMI KEY".P01.V90_A.F11_Enable_HP :=

"DI OUT P01".V90_A.DRV.Support.InOperation // ready

AND "DI OUT P01".V90_A.DRV.Support.ActPos >= "DI OUT P01".V90_A.DRV.Support.SW_EndLim_MinPos //(not by modulo on)

AND NOT ("DI OUT P01".V90_A.DRV.Support.SW_EndLim_Min OR "DI OUT P01".V90_A.Com_FLT);

// Enabling WP

"HMI KEY".P01.V90_A.F12_Enable_WP :=

"DI OUT P01".V90_A.DRV.Support.InOperation // ready

AND "DI OUT P01".V90_A.DRV.Support.ActPos <= "DI OUT P01".V90_A.DRV.Support.SW_EndLim_MaxPos // (not by modulo on)

AND NOT ("DI OUT P01".V90_A.DRV.Support.SW_EndLim_Max OR "DI OUT P01".V90_A.Com_FLT);

 

 

 

Network 6: V90_B Servo drive metering component B - enable

IF #ST_MANU AND NOT #SUPPORT_SEQ THEN

    IF "DI MAIN GLB".M00.CmpltMaRun_Imp THEN

        #V90_B.ManuVelocity_1 := "DI OUT P01".V90_B.DRV.Support.SetVelo / 0.4; // mm/s

    ELSE

        // Set value velocity

        "DI OUT P01".V90_B.DRV.Support.SetVelo := #V90_B.ManuVelocity_1 * 0.4; //100% -> 40mm/s

        // Jog slow WP (button function)

        #V90_B.CmdExe_slow_WP := "HMI KEY".P01.V90_B.F3_Jog_slow_WP;

        // Jog slow HP (button function)

        #V90_B.CmdExe_slow_HP := "HMI KEY".P01.V90_B.F4_Jog_slow_HP;

    END_IF;

END_IF;

// Enabling HP

"HMI KEY".P01.V90_B.F11_Enable_HP :=

"DI OUT P01".V90_B.DRV.Support.InOperation // ready

AND "DI OUT P01".V90_B.DRV.Support.ActPos >= "DI OUT P01".V90_B.DRV.Support.SW_EndLim_MinPos //(not by modulo on)

AND NOT ("DI OUT P01".V90_B.DRV.Support.SW_EndLim_Min OR "DI OUT P01".V90_B.Com_FLT);

// Enabling WP

"HMI KEY".P01.V90_B.F12_Enable_WP :=

"DI OUT P01".V90_B.DRV.Support.InOperation // ready

AND "DI OUT P01".V90_B.DRV.Support.ActPos <= "DI OUT P01".V90_B.DRV.Support.SW_EndLim_MaxPos // (not by modulo on)

AND NOT("DI OUT P01".V90_B.DRV.Support.SW_EndLim_Max OR "DI OUT P01".V90_B.Com_FLT);

 

 

 

Network 7: P24C_A Pressure regulator component A - enable

"HMI KEY".P01.P24C_A.F12_Enable_WP := "DI MAIN GLB".M00.GLB_Estop;

IF NOT "HMI KEY".P01.P24C_A.F12_Enable_WP THEN

    "DI OUT P01".P24C_A.ManualEnable := "DI OUT P01".P24C_A.ModeActivate := FALSE;

ELSIF "DI OUT P01".P24C_A.ManualEnable AND "DI OUT P01".P24C_A.State = 4 AND "DI MAIN GLB".M00.ManuCmpltMa_run THEN

    "DI OUT P01".P24C_A.ManualValue := "DI OUT P01".P24C_A.Support.ManualValue;

END_IF;

 

 

 

Network 8: P24C_B Pressure regulator component B - enable

"HMI KEY".P01.P24C_B.F12_Enable_WP := "DI MAIN GLB".M00.GLB_Estop;

IF NOT "HMI KEY".P01.P24C_B.F12_Enable_WP THEN

    "DI OUT P01".P24C_B.ManualEnable := "DI OUT P01".P24C_B.ModeActivate := FALSE;

ELSIF "DI OUT P01".P24C_B.ManualEnable AND "DI OUT P01".P24C_B.State = 4 AND "DI MAIN GLB".M00.ManuCmpltMa_run THEN

    "DI OUT P01".P24C_B.ManualValue := "DI OUT P01".P24C_B.Support.ManualValue;

END_IF;

 

 

 

Network 9: V23Y4 Outlet valve component A - enable

"HMI KEY".P01.V23Y4.F12_Enable_WP := "E00 AirPressure OK";

 

 

 

Network 10: V23Y5 Outlet valve component B - enable

"HMI KEY".P01.V23Y5.F12_Enable_WP := "E00 AirPressure OK";

 

 

 

Network 11: V23Y6 Suction valve component A - enable

"HMI KEY".P01.V23Y6.F12_Enable_WP := "E00 AirPressure OK";

 

 

 

Network 12: V23Y7 Suction valve component B - enable

"HMI KEY".P01.V23Y7.F12_Enable_WP := "E00 AirPressure OK";

 

 

 

Network 13: V28Y12 Drive cylinder down component A - enable

"HMI KEY".P01.V28Y12.F11_Enable_HP := "HMI KEY".P01.V28Y12.F12_Enable_WP := NOT "DI OUT P01".V28Y12.Com_FLT AND "E00 AirPressure OK";

 

 

 

Network 14: V28Y34 Drive cylinder down component B - enable

"HMI KEY".P01.V28Y34.F11_Enable_HP := "HMI KEY".P01.V28Y34.F12_Enable_WP := NOT "DI OUT P01".V28Y34.Com_FLT AND "E00 AirPressure OK";

 

 

 

Network 15: Monitoring pneumatics manual operation ***

IF NOT #ST_MANU THEN

    RETURN;

ELSIF #MODULE_HP AND NOT #Support.HomPos_REg THEN

    "DI MAIN P01".M00.Init := TRUE;

END_IF;

#Support.HomPos_REg := #MODULE_HP;

"DI MAIN P01".M00.TOF_ModuleOFF_Pulse(IN := NOT #SUPPORT_SEQ AND #Support.HomPos_FEg,

                                      PT := t#500ms);

#Support.HomPos_FEg := #SUPPORT_SEQ;

IF #SUPPORT_SEQ THEN

    RETURN;

END_IF;

 

 

 

Network 16: S120_X Axis gasketing plant - execute

#S120_X.CmdExe_slow_fast_WP :=

"DI OUT P01".S120_X.DRV.Support.SetVelo > 0

AND "HMI KEY".P01.S120_X.F12_Enable_WP AND NOT "HMI KEY".P01.S120_X.F21_Halt AND #S120_X.CmdExe_slow_WP;

 

#S120_X.CmdExe_slow_fast_HP :=

"DI OUT P01".S120_X.DRV.Support.SetVelo > 0

AND "HMI KEY".P01.S120_X.F11_Enable_HP AND NOT "HMI KEY".P01.S120_X.F21_Halt AND #S120_X.CmdExe_slow_HP;

 

 

 

Network 17: S120_Y Axis gasketing plant - execute

#S120_Y.CmdExe_slow_fast_WP :=

"DI OUT P01".S120_Y.DRV.Support.SetVelo > 0

AND "HMI KEY".P01.S120_Y.F12_Enable_WP AND NOT "HMI KEY".P01.S120_Y.F21_Halt AND #S120_Y.CmdExe_slow_WP;

 

#S120_Y.CmdExe_slow_fast_HP :=

"DI OUT P01".S120_Y.DRV.Support.SetVelo > 0

AND "HMI KEY".P01.S120_Y.F11_Enable_HP AND NOT "HMI KEY".P01.S120_Y.F21_Halt AND #S120_Y.CmdExe_slow_HP;

 

 

 

Network 18: S210_Z Axis gasketing plant - execute

#S210_Z.CmdExe_slow_fast_WP :=

"DI OUT P01".S210_Z.DRV.Support.SetVelo > 0

AND "HMI KEY".P01.S210_Z.F12_Enable_WP AND NOT "HMI KEY".P01.S210_Z.F21_Halt AND #S210_Z.CmdExe_slow_WP;

 

#S210_Z.CmdExe_slow_fast_HP :=

"DI OUT P01".S210_Z.DRV.Support.SetVelo > 0

AND "HMI KEY".P01.S210_Z.F11_Enable_HP AND NOT "HMI KEY".P01.S210_Z.F21_Halt AND #S210_Z.CmdExe_slow_HP;

 

 

 

Network 19: CARTESIAN Portal 3D - execute

IF "HMI KEY".P01.CARTESIAN_3D.F7_GroupContinue AND "DI OUT P01".CARTESIAN_3D.DRV.Support.GroupInterrupt THEN

    #CARTESIAN_3D.CmdExe_GroupContinue := "HMI KEY".P01.CARTESIAN_3D.F8_Enabled;

ELSIF "HMI KEY".P01.CARTESIAN_3D.F6_GroupInterrupt THEN

    #CARTESIAN_3D.CmdExe_GroupInterrupt := "HMI KEY".P01.CARTESIAN_3D.F8_Enabled;

ELSIF "HMI KEY".P01.CARTESIAN_3D.F1_MoveLinearAbsolute THEN

    #CARTESIAN_3D.CmdExe_MovLinAbso := "HMI KEY".P01.CARTESIAN_3D.F8_Enabled;

ELSIF "HMI KEY".P01.CARTESIAN_3D.F2_MoveLinearRelative THEN

    #CARTESIAN_3D.CmdExe_MovLinRela := "HMI KEY".P01.CARTESIAN_3D.F8_Enabled;

ELSIF "HMI KEY".P01.CARTESIAN_3D.F3_MoveCircularAbsolute THEN

    #CARTESIAN_3D.CmdExe_MovCirAbso := "HMI KEY".P01.CARTESIAN_3D.F8_Enabled;

ELSIF "HMI KEY".P01.CARTESIAN_3D.F4_MoveCircularRelative THEN

    #CARTESIAN_3D.CmdExe_MovCirRela := "HMI KEY".P01.CARTESIAN_3D.F8_Enabled;

END_IF;

 

 

 

Network 20: V90_A Servo drive metering component A - execute

#V90_A.CmdExe_slow_fast_HP :=

"DI OUT P01".V90_A.DRV.Support.SetVelo > 0 AND

"HMI KEY".P01.V90_A.F11_Enable_HP AND NOT "HMI KEY".P01.V90_A.F21_Halt AND #V90_A.CmdExe_slow_HP;

 

#V90_A.CmdExe_slow_fast_WP :=

"DI OUT P01".V90_A.DRV.Support.SetVelo > 0 AND

"HMI KEY".P01.V90_A.F12_Enable_WP AND NOT "HMI KEY".P01.V90_A.F21_Halt AND #V90_A.CmdExe_slow_WP;

 

 

 

Network 21: V90_B Servo drive metering component B - execute

#V90_B.CmdExe_slow_fast_HP :=

"DI OUT P01".V90_B.DRV.Support.SetVelo > 0 AND

"HMI KEY".P01.V90_B.F11_Enable_HP AND NOT "HMI KEY".P01.V90_B.F21_Halt AND #V90_B.CmdExe_slow_HP;

 

#V90_B.CmdExe_slow_fast_WP :=

"DI OUT P01".V90_B.DRV.Support.SetVelo > 0 AND

"HMI KEY".P01.V90_B.F12_Enable_WP AND NOT "HMI KEY".P01.V90_B.F21_Halt AND #V90_B.CmdExe_slow_WP;

 

 

 

Network 22: P24C_A Pressure regulator component A - execute

IF "DI OUT P01".P24C_A.Reset THEN

    "DI OUT P01".P24C_A.ManualValue := 0;

ELSIF "HMI KEY".P01.P24C_A.F3_Jog_slow_WP AND "DI OUT P01".P24C_A.ManualValue < 100.0 AND "M00_Imp_2.5Hz" THEN

    "DI OUT P01".P24C_A.ManualValue := "DI OUT P01".P24C_A.ManualValue + 1.0;

ELSIF "HMI KEY".P01.P24C_A.F4_Jog_slow_HP AND "DI OUT P01".P24C_A.ManualValue > 0.0 AND "M00_Imp_2.5Hz" THEN

    "DI OUT P01".P24C_A.ManualValue := "DI OUT P01".P24C_A.ManualValue - 1.0;

END_IF;

 

 

 

Network 23: P24C_B Pressure regulator component B - execute

IF "DI OUT P01".P24C_B.Reset THEN

    "DI OUT P01".P24C_B.ManualValue := 0;

ELSIF "HMI KEY".P01.P24C_B.F3_Jog_slow_WP AND "DI OUT P01".P24C_B.ManualValue < 100.0 AND "M00_Imp_2.5Hz" THEN

    "DI OUT P01".P24C_B.ManualValue := "DI OUT P01".P24C_B.ManualValue + 1.0;

ELSIF "HMI KEY".P01.P24C_B.F4_Jog_slow_HP AND "DI OUT P01".P24C_B.ManualValue > 0.0 AND "M00_Imp_2.5Hz" THEN

    "DI OUT P01".P24C_B.ManualValue := "DI OUT P01".P24C_B.ManualValue - 1.0;

END_IF;

 

 

 

Network 24: V23Y4 Outlet valve component A - execute

IF NOT "HMI KEY".P01.V23Y4.F12_Enable_WP OR "HMI KEY".P01.V23Y4.F1_HP THEN

    "DI OUT P01".V23Y4.CmdExe_WP := FALSE;

ELSIF "HMI KEY".P01.V23Y4.F2_WP THEN

    "DI OUT P01".V23Y4.CmdExe_WP := TRUE;

END_IF;

 

 

 

Network 25: V23Y5 Outlet valve component B - execute

IF NOT "HMI KEY".P01.V23Y5.F12_Enable_WP OR "HMI KEY".P01.V23Y5.F1_HP THEN

    "DI OUT P01".V23Y5.CmdExe_WP := FALSE;

ELSIF "HMI KEY".P01.V23Y5.F2_WP THEN

    "DI OUT P01".V23Y5.CmdExe_WP := TRUE;

END_IF;

 

 

 

Network 26: V23Y6 Suction valve component A - execute

IF NOT "HMI KEY".P01.V23Y6.F12_Enable_WP OR "HMI KEY".P01.V23Y6.F1_HP THEN

    "DI OUT P01".V23Y6.CmdExe_WP := FALSE;

ELSIF "HMI KEY".P01.V23Y6.F2_WP THEN

    "DI OUT P01".V23Y6.CmdExe_WP := TRUE;

END_IF;

 

 

 

Network 27: V23Y7 Suction valve component B - execute

IF NOT "HMI KEY".P01.V23Y7.F12_Enable_WP OR "HMI KEY".P01.V23Y7.F1_HP THEN

    "DI OUT P01".V23Y7.CmdExe_WP := FALSE;

ELSIF "HMI KEY".P01.V23Y7.F2_WP THEN

    "DI OUT P01".V23Y7.CmdExe_WP := TRUE;

END_IF;

 

 

 

Network 28: V28Y12 Drive cylinder down component A - execute

"DI OUT P01".V28Y12.VLV_OC.CmdExe_WP := "HMI KEY".P01.V28Y12.F12_Enable_WP

AND NOT "HMI KEY".P01.V28Y12.F1_HP AND ("HMI KEY".P01.V28Y12.F2_WP OR "DI OUT P01".V28Y12.FB_WP);

"DI OUT P01".V28Y12.VLV_OC.CmdExe_HP := "HMI KEY".P01.V28Y12.F11_Enable_HP

AND NOT "HMI KEY".P01.V28Y12.F2_WP AND ("HMI KEY".P01.V28Y12.F1_HP OR "DI OUT P01".V28Y12.FB_HP);

 

 

 

Network 29: V28Y34 Drive cylinder down component B - execute

"DI OUT P01".V28Y34.VLV_OC.CmdExe_WP := "HMI KEY".P01.V28Y34.F12_Enable_WP

AND NOT "HMI KEY".P01.V28Y34.F1_HP AND ("HMI KEY".P01.V28Y34.F2_WP OR "DI OUT P01".V28Y34.FB_WP);

"DI OUT P01".V28Y34.VLV_OC.CmdExe_HP := "HMI KEY".P01.V28Y34.F11_Enable_HP

AND NOT "HMI KEY".P01.V28Y34.F2_WP AND ("HMI KEY".P01.V28Y34.F1_HP OR "DI OUT P01".V28Y34.FB_HP);