|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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; |
|