Home

 

Erfahrung

 

Referenzen

 

Sondermaschinen

 

MSR-Maschinen

 

SPS-Programmierung

 

Visualisierung HMI

 

Elektro CAD

 

Leistungsprofil

 

Personalia

 

SW-Development

 

Dokumentation

 

 

 

Impressum & DSGVO

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

To go to next HMI image use the touch buttons; some of them are interactive.

FB38 MANU P01 Manual mode

 

 

 

Netzwerk 1: 30T1-Z DSM Multi Pro

 

IF #ST_MANU AND NOT #SUPPORT_SEQ THEN

    REGION 30T1_Z DSM Multi Pro

        // Set value velocity

        IF #Support."30T1_Z".ManuVelocity_2 > 100 THEN

            #Support."30T1_Z".ManuVelocity_2 := 100;

        END_IF;

        "DI OUT P01"."30T1_Z".DRV.Support.SetVelo := LINT_TO_LREAL(IN := #Support."30T1_Z".ManuVelocity_2) * 2;

        // Jog at fixed Velocity

        IF #"DSM Buttons".Jog_positive OR #"DSM Buttons".Jog_negative THEN

            "DI OUT P01"."30T1_Z".DRV.Support.SetVelo := #Support."30T1_Z".ManuVelocity_1; //10%

        END_IF;

        // Jog slow HP (button function)

        #Support."30T1_Z".CmdExe_slow_HP := #"DSM Buttons".Jog_negative;

        // Jog slow WP (button function)

        #Support."30T1_Z".CmdExe_slow_WP := #"DSM Buttons".Jog_positive;

    END_REGION

   

    #tmp_save_vke := #Support."30T1_Z".F17_GoToPos_FN :=

    #"DSM Buttons".P1_prepos_sleeve AND #GLB.Enbl_PreSleeveP1 AND "HMI KEY".P01."30T1_Z".F12_Enable_WP

    OR #"DSM Buttons".P2_sleeve AND #GLB.Enbl_SleeveP2 AND "HMI KEY".P01."30T1_Z".F12_Enable_WP

    OR #"DSM Buttons".P3_prepos_washers AND #GLB.Enbl_PreWashersP3 AND "HMI KEY".P01."30T1_Z".F11_Enable_HP

    OR #"DSM Buttons".P4_washers AND #GLB.Enbl_WashersP4 AND "HMI KEY".P01."30T1_Z".F12_Enable_WP

    OR #"DSM Buttons".P5_start_pos AND "HMI KEY".P01."30T1_Z".F11_Enable_HP

    OR #"DSM Buttons".P6_sleeve_accsess_pos AND #GLB.Enbl_CoreTopP6 AND "HMI KEY".P01."30T1_Z".F12_Enable_WP;

   

    #GLB.N_Trig1_Imp := NOT #tmp_save_vke AND #GLB.N_Trig1;

    #GLB.N_Trig1 := #tmp_save_vke;

   

    IF #tmp_save_vke THEN

        IF #"DSM Buttons".P1_prepos_sleeve THEN

            "DI OUT P01"."DSM IO".IN.ProcessNumber := 1;

        ELSIF #"DSM Buttons".P2_sleeve THEN

            "DI OUT P01"."DSM IO".IN.ProcessNumber := 2;

        ELSIF #"DSM Buttons".P3_prepos_washers THEN

            "DI OUT P01"."DSM IO".IN.ProcessNumber := 3;

        ELSIF #"DSM Buttons".P4_washers THEN

            "DI OUT P01"."DSM IO".IN.ProcessNumber := 4;

        ELSIF #"DSM Buttons".P5_start_pos THEN

            "DI OUT P01"."DSM IO".IN.ProcessNumber := 5;

        ELSIF #"DSM Buttons".P6_sleeve_accsess_pos THEN

            "DI OUT P01"."DSM IO".IN.ProcessNumber := 6;

        END_IF;

    END_IF;

    #"30T1_Z_DataSET"(START := #tmp_save_vke,

                      DATA_SET := "DI OUT P01".PLC_to_DSM["DI OUT P01"."DSM IO".IN.ProcessNumber],

                      JOG_TO_POS_HP := "M01 30T1_Z JogToPosHP",

                      JOG_TO_POS_WP := "M01 30T1_Z JogToPosWP",

                      MOVE_ABSO := "M01 30T1_Z GoToPosAbso",

                      MOVE_RELA := "M01 30T1_Z GoToPosRela",

                      TARGET_REACHED => #tmp_dummy_imp);

   

    IF "HMI KEY".P01.GLB.F21_LoadData THEN

        IF "HMI SYS".TP1200Comfort.AreaPoint.Screen.Number = 123 THEN

            "DI OUT P01".PLC_to_DSM[1] := #"DSM DATA SET_P1";

            #"DSM DATA SET_P1".RadioButtons.STAT3 := TRUE;

        ELSIF "HMI SYS".TP1200Comfort.AreaPoint.Screen.Number = 124 THEN

            "DI OUT P01".PLC_to_DSM[2] := #"DSM DATA SET_P2";

            #"DSM DATA SET_P2".RadioButtons.STAT3 := TRUE;

        ELSIF "HMI SYS".TP1200Comfort.AreaPoint.Screen.Number = 125 THEN

            "DI OUT P01".PLC_to_DSM[3] := #"DSM DATA SET_P3";

            #"DSM DATA SET_P3".RadioButtons.STAT3 := TRUE;

        ELSIF "HMI SYS".TP1200Comfort.AreaPoint.Screen.Number = 126 THEN

            "DI OUT P01".PLC_to_DSM[4] := #"DSM DATA SET_P4";

            #"DSM DATA SET_P4".RadioButtons.STAT3 := TRUE;

        ELSIF "HMI SYS".TP1200Comfort.AreaPoint.Screen.Number = 127 THEN

            "DI OUT P01".PLC_to_DSM[5] := #"DSM DATA SET_P5";

            #"DSM DATA SET_P5".RadioButtons.STAT3 := TRUE;

        ELSIF "HMI SYS".TP1200Comfort.AreaPoint.Screen.Number = 128 THEN

            "DI OUT P01".PLC_to_DSM[6] := #"DSM DATA SET_P6";

            #"DSM DATA SET_P6".RadioButtons.STAT3 := TRUE;

            "DI OUT P01"."DSM IO".IN.WritePLCValues := TRUE;

        ELSE

            "DI OUT P01"."DSM IO".IN.WritePLCValues := FALSE;

        END_IF;

    END_IF;

END_IF;

// Machine interlock P1,P2,P3,P4,P5,P6

#GLB.Enbl_PreSleeveP1 :=

"DI OUT P01"."C01-2 Tray above".FB_WP

AND "DI OUT P01"."C03-4 Tray below".FB_WP;

#GLB.Enbl_SleeveP2 :=

"DI OUT P01"."C01-2 Washer above".FB_WP

AND "DI OUT P01"."C01-3 Washer below".FB_HP

AND "DI OUT P01"."C03-4 Tray below".FB_WP

AND "DI OUT P01"."C01-2 Tray above".FB_HP;

#GLB.Enbl_WashersP4 :=

"DI OUT P01"."C01-2 Washer above".FB_WP

AND "DI OUT P01"."C01-3 Washer below".FB_WP

AND "DI OUT P01"."C01-2 Tray above".FB_HP

AND "DI OUT P01"."C03-4 Tray below".FB_HP;

#GLB.Enbl_CoreTopP6 :=

"DI OUT P01"."C01-2 Tray above".FB_HP

AND "DI OUT P01"."C03-4 Tray below".FB_HP

AND NOT #GLB.Enbl_WashersP4;

#GLB.Enbl_PreWashersP3 := #GLB.Enbl_SleeveP2;

#GLB.Enbl_HomePosP5 :=

"DI OUT P01"."C01-2 Washer above".FB_HP

AND "DI OUT P01"."C01-3 Washer below".FB_HP

AND "DI OUT P01"."C01-2 Tray above".FB_HP

AND "DI OUT P01"."C03-4 Tray below".FB_HP;

// 30T1_Z Enabling HP

"HMI KEY".P01."30T1_Z".F11_Enable_HP := "E01 2A3 LightCurtain active"

AND "DI OUT P01"."30T1_Z".DRV.Support.ActPos >= "DI OUT P01"."30T1_Z".DRV.Support.SW_EndLim_MinPos

AND NOT "DI OUT P01"."30T1_Z".DRV.Support.SW_EndLim_Min AND NOT "DI OUT P01"."30T1_Z".drv_com_flt

AND "DI OUT P01"."DSM IO".OUT.ProcessRelease AND "DI OUT P01"."DSM IO".OUT.Ready;

// 30T1_Z Enabling WP

"HMI KEY".P01."30T1_Z".F12_Enable_WP := "E01 2A3 LightCurtain active"

AND "DI OUT P01"."30T1_Z".DRV.Support.ActPos <= "DI OUT P01"."30T1_Z".DRV.Support.SW_EndLim_MaxPos

AND NOT "DI OUT P01"."30T1_Z".DRV.Support.SW_EndLim_Max AND NOT "DI OUT P01"."30T1_Z".drv_com_flt

AND "DI OUT P01"."DSM IO".OUT.ProcessRelease AND "DI OUT P01"."DSM IO".OUT.Ready;

// Disabling move to position

IF NOT "HMI KEY".P01."30T1_Z".F11_Enable_HP

    OR NOT "HMI KEY".P01."30T1_Z".F12_Enable_WP

    OR "DI MAIN GLB".Halt_TOF_Pulse.Q

    OR NOT "DI OUT P01"."30T1_Z".DRV.Support.InOperation THEN

    "HMI KEY".P01."30T1_Z".F18_GoToRelaPos := "HMI KEY".P01."30T1_Z".F17_GoToAbsoPos := FALSE;

END_IF;

// Signal home position on HMI

"DI OUT P01"."DSM IO".OUT.At_HomePosition := "DI OUT P01"."30T1_Z".DRV.Support.ActPos = 5.0;

 

 

 

Netzwerk 2: C01-2 Washer above enable

 

"HMI KEY".P01."C01-2 Washer above".F11_Enable_HP := "HMI KEY".P01."C01-2 Washer above".F12_Enable_WP :=

"E00 Y32 AirPres OK" AND "E01 2A3 LightCurtain active"

AND NOT "DI OUT P01"."C01-2 Washer above".vlv_com_flt;

 

 

 

Netzwerk 3: C01-3 Washer below enable

 

"HMI KEY".P01."C01-3 Washer below".F11_Enable_HP := "HMI KEY".P01."C01-3 Washer below".F12_Enable_WP :=

"E00 Y32 AirPres OK"

AND "E01 2A3 LightCurtain active"

AND NOT "DI OUT P01"."C01-3 Washer below".vlv_com_flt;

 

 

 

Netzwerk 4: C01-2 Tray above enable

 

"HMI KEY".P01."C01-2 Tray above".F11_Enable_HP := "HMI KEY".P01."C01-2 Tray above".F12_Enable_WP :=

"E00 Y32 AirPres OK"

AND "E01 2A3 LightCurtain active"

AND NOT "DI OUT P01"."C01-2 Tray above".vlv_com_flt;

 

 

 

Netzwerk 5: C03-4 Tray below enable

 

"HMI KEY".P01."C03-4 Tray below".F11_Enable_HP := "HMI KEY".P01."C03-4 Tray below".F12_Enable_WP :=

"E00 Y32 AirPres OK"

AND "E01 2A3 LightCurtain active"

AND NOT "DI OUT P01"."C03-4 Tray below".vlv_com_flt;

 

 

 

Netzwerk 6: Y30 GreasNozzel 1 enable

 

"HMI KEY".P01."Y30 GreasNozzel 1".F12_Enable_WP :=

"E00 Y32 AirPres OK" AND "E01 2A3 LightCurtain active";

 

 

 

Netzwerk 7: Y31 GreasNozzel 2 enable

 

"HMI KEY".P01."Y31 GreasNozzel 2".F12_Enable_WP :=

"E00 Y32 AirPres OK" AND "E01 2A3 LightCurtain active";

 

 

 

Netzwerk 8: Monitoring pneumatics manual operation ***

 

#tmp_dummy_imp := false;

IF NOT #ST_MANU THEN

    RETURN;

ELSIF #MODULE_HP AND NOT #GLB.Module_HomPos_FP THEN

    #tmp_dummy_imp := TRUE;

END_IF;

#GLB.Module_HomPos_FP := #MODULE_HP;

IF #tmp_dummy_imp THEN

    "M01 Init" := true;

END_IF;

IF #SUPPORT_SEQ THEN

    RETURN;

END_IF;

 

 

 

Netzwerk 9: 9T1-Z axis execute

 

#Support."30T1_Z".CmdExe_slow_fast_WP :=

"HMI KEY".P01."30T1_Z".F12_Enable_WP

AND #Support."30T1_Z".CmdExe_slow_WP

AND NOT "HMI KEY".P01."30T1_Z".F21_HALT_GoToPos;

 

#Support."30T1_Z".CmdExe_slow_fast_HP :=

"HMI KEY".P01."30T1_Z".F11_Enable_HP

AND #Support."30T1_Z".CmdExe_slow_HP

AND NOT "HMI KEY".P01."30T1_Z".F21_HALT_GoToPos;

 

 

 

Netzwerk 10: C01-2 Washer above execute

 

"DI OUT P01"."C01-2 Washer above".VLV.CmdExe_WP :=

"HMI KEY".P01."C01-2 Washer above".F12_Enable_WP

AND NOT "HMI KEY".P01."C01-2 Washer above".F1_HP

AND ("HMI KEY".P01."C01-2 Washer above".F2_WP OR "DI OUT P01"."C01-2 Washer above".FB_WP);

 

"DI OUT P01"."C01-2 Washer above".VLV.CmdExe_HP :=

"HMI KEY".P01."C01-2 Washer above".F11_Enable_HP

AND NOT "HMI KEY".P01."C01-2 Washer above".F2_WP

AND ("HMI KEY".P01."C01-2 Washer above".F1_HP OR "DI OUT P01"."C01-2 Washer above".FB_HP);

 

 

 

Netzwerk 11: C01-3 Washer below execute

 

"DI OUT P01"."C01-3 Washer below".VLV.CmdExe_WP :=

"HMI KEY".P01."C01-3 Washer below".F12_Enable_WP

AND NOT "HMI KEY".P01."C01-3 Washer below".F1_HP

AND ("HMI KEY".P01."C01-3 Washer below".F2_WP OR "DI OUT P01"."C01-3 Washer below".FB_WP);

 

"DI OUT P01"."C01-3 Washer below".VLV.CmdExe_HP :=

"HMI KEY".P01."C01-3 Washer below".F11_Enable_HP

AND NOT "HMI KEY".P01."C01-3 Washer below".F2_WP

AND ("HMI KEY".P01."C01-3 Washer below".F1_HP OR "DI OUT P01"."C01-3 Washer below".FB_HP);

 

 

 

Netzwerk 12: C01-2 Tray above

 

"DI OUT P01"."C01-2 Tray above".VLV.CmdExe_WP :=

"HMI KEY".P01."C01-2 Tray above".F12_Enable_WP

AND NOT "HMI KEY".P01."C01-2 Tray above".F1_HP

AND ("HMI KEY".P01."C01-2 Tray above".F2_WP OR "DI OUT P01"."C01-2 Tray above".FB_WP);

 

"DI OUT P01"."C01-2 Tray above".VLV.CmdExe_HP :=

"HMI KEY".P01."C01-2 Tray above".F11_Enable_HP

AND NOT "HMI KEY".P01."C01-2 Tray above".F2_WP

AND ("HMI KEY".P01."C01-2 Tray above".F1_HP OR "DI OUT P01"."C01-2 Tray above".FB_HP);

 

 

 

Netzwerk 13: C03-4 Tray below

 

"DI OUT P01"."C03-4 Tray below".VLV.CmdExe_WP :=

"HMI KEY".P01."C03-4 Tray below".F12_Enable_WP

AND NOT "HMI KEY".P01."C03-4 Tray below".F1_HP

AND ("HMI KEY".P01."C03-4 Tray below".F2_WP OR "DI OUT P01"."C03-4 Tray below".FB_WP);

 

"DI OUT P01"."C03-4 Tray below".VLV.CmdExe_HP :=

"HMI KEY".P01."C03-4 Tray below".F11_Enable_HP

AND NOT "HMI KEY".P01."C03-4 Tray below".F2_WP

AND ("HMI KEY".P01."C03-4 Tray below".F1_HP OR "DI OUT P01"."C03-4 Tray below".FB_HP);

 

 

 

Netzwerk 14: Y30 Grease Nozzle 1

 

#GLB.P_Trig2_Imp := "HMI KEY".P01."Y30 GreasNozzel 1".F2_WP AND NOT #GLB.P_Trig2;

#GLB.P_Trig2 := "HMI KEY".P01."Y30 GreasNozzel 1".F2_WP;

IF #GLB.P_Trig2_Imp THEN

    "DI OUT P01"."Y30 GreasNozzel 1".VLV.CmdExe_WP := NOT "DI OUT P01"."Y30 GreasNozzel 1".VLV.CmdExe_WP;

END_IF;

IF NOT "HMI KEY".P01."Y30 GreasNozzel 1".F12_Enable_WP THEN

    "DI OUT P01"."Y30 GreasNozzel 1".VLV.CmdExe_WP := FALSE;

END_IF;

 

 

 

Netzwerk 15: Y31 Grease Nozzle 2

 

#GLB.P_Trig3_Imp := "HMI KEY".P01."Y31 GreasNozzel 2".F2_WP AND NOT #GLB.P_Trig3;

#GLB.P_Trig3 := "HMI KEY".P01."Y31 GreasNozzel 2".F2_WP;

IF #GLB.P_Trig3_Imp THEN

    "DI OUT P01"."Y31 GreasNozzel 2".VLV.CmdExe_WP := NOT "DI OUT P01"."Y31 GreasNozzel 2".VLV.CmdExe_WP;

END_IF;

IF NOT "HMI KEY".P01."Y31 GreasNozzel 2".F12_Enable_WP THEN

    "DI OUT P01"."Y31 GreasNozzel 2".VLV.CmdExe_WP := FALSE;

END_IF;