FB39 OUT P01 : Pre-Assembly press machine |
|
|
|
Netzwerk 1: Pre-Setting
|
|
|
|
Netzwerk 2: Call manual operation #MANUAL(ST_MANU := "M00 ManuCmpltMa run", MODULE_HP := "HMI KEY".P01.GLB.F20_HomPos, SUPPORT_SEQ := "M01 RunHomPos"); |
|
|
|
Netzwerk 3: Grease Counter CH0
#HighSpeedCouter(SwGate:= TRUE, ErrorAck:= "M00 ACK Imp", SetCountValue:= #"HSC IO".InOut.SetCountValue, StatusHW => #"HSC IO".OUT.StatusHW, StatusGate => #"HSC IO".OUT.StatusGate, Error => #"HSC IO".OUT.Error, CountValue => #"HSC IO".OUT.CountValue); //Recalculation last grease volume #MaPa.Last_GreasVolume := #MaPa.Gap_GreaseVolume / #MaPa.Interpolation / 4.0 * DINT_TO_REAL(IN := #"HSC IO".OUT.CountValue) * #MaPa.GreasDensity; |
|
|
|
Netzwerk 4: 30T1_Z DSM Multi Pro Start up control
#"DSM IO".IN.Brake_Mounted := #"DSM IO".IN.NormalSpeed := TRUE; #"DSM IO".IN.Brake_feedback_Closed := "E01 1YB1 TOX break act"; #"DSM IO".IN.BrakeTimer := #"DSM IO".IN.StepsequenceTimer := #"DSM IO".IN.WatchDogTimer := t#2000ms; #"DSM IO".IN.Automatic := "M01 RunHomPos" OR "M00 AutoCmpltMa run" OR "M00 ManuCmpltMa run"; #"DSM IO".IN.StartProcess := "M01 30T1_Z GoToPosAbso" AND "M00 AutoCmpltMa run" OR #MANUAL.Support."30T1_Z".CmdExe_slow_fast_WP; #"DSM IO".IN.ManualHomePos_Pr2 := #MANUAL."DSM Buttons"."Move to HP" AND "HMI KEY".P01."30T1_Z".F11_Enable_HP; #"DSM IO".OUT.Automatic := "M01 RunHomPos" OR "M00 AutoCmpltMa run"; #"DSM IO".OUT.ProcessNumber:= #"DSM IO".IN.ProcessNumber; #"DSM IO".OUT.UserValuesRead := "HMI KEY".P01.GLB.F21_LoadData; #"DSM IO".OUT.PLCValuesWritten := #MANUAL."DSM DATA SET_P1".RadioButtons.STAT3 AND #MANUAL."DSM DATA SET_P2".RadioButtons.STAT3 AND #MANUAL."DSM DATA SET_P3".RadioButtons.STAT3 AND #MANUAL."DSM DATA SET_P4".RadioButtons.STAT3 AND #MANUAL."DSM DATA SET_P5".RadioButtons.STAT3 AND #MANUAL."DSM DATA SET_P6".RadioButtons.STAT3; |
|
|
|
Netzwerk 5: 30T1_Z DSM axis // Halt axis #tmp_enable_axis := "HMI KEY".P01."30T1_Z".F11_Enable_HP AND "HMI KEY".P01."30T1_Z".F12_Enable_WP; #Support.30T1_Z_FEg_halt_Imp := #Support.30T1_Z_FEg_Halt AND NOT #tmp_enable_axis; #Support.30T1_Z_FEg_Halt := #tmp_enable_axis; // Execute output stage #"30T1_Z".DRV.MC_Home.Execute := #MANUAL."DSM Buttons".Referencing AND "M00 ManuCmpltMa run"; #"30T1_Z".DRV.MC_Power.StartMode := #"30T1_Z".DRV.MC_MoveAbsolute.Direction := 1; #"30T1_Z".DRV.MC_MoveJog.PosCntrl := TRUE;
#"30T1_Z"(ENABLE := "E01 TOX ES/SD", HALT := "HMI KEY".P01."30T1_Z".F21_HALT_GoToPos OR "DI MAIN GLB".Halt_TOF_Pulse.Q OR #MANUAL.GLB.N_Trig1_Imp OR #Support.30T1_Z_FEg_halt_Imp, MCB := "E00 1F1 DSM MCB", START_ABSO := #tmp_axis_enable AND ("M01 30T1_Z GoToPosAbso" AND ("M00 AutoCmpltMa run" OR "M01 RunHomPos" OR "DI MAIN P01".SEQ1.SSM.S.stepin) OR "HMI Y".P01."30T1_Z".F17_GoToAbsoPos), START_RELA := #tmp_axis_enable AND "M01 30T1_Z GoToPosRela" OR "HMI KEY".P01."30T1_Z".F18_GoToRelaPos, JOG_WP := #MANUAL.Support."30T1_Z".CmdExe_slow_fast_WP OR "M01 30T1_Z JogToPosWP", JOG_HP := #MANUAL.Support."30T1_Z".CmdExe_slow_fast_HP OR "M01 30T1_Z JogToPosHP", ACK_FLT := "M00 ACK FP", HOM_MODE := 0, AXIS := "30T1_Z"); |
|
|
|
Netzwerk 6: C01-2 Washer above
#"C01-2 Washer above"(CMD_WP := FALSE, CMD_HP := FALSE, FB_WP := "E01 C01 Washer above WP" AND "E01 C02 Washer above WP", FB_HP := "E01 C01 Washer above HP" AND "E01 C02 Washer above HP", RLS := "E01 2A3 LightCurtain active", ACK_FLT := "M00 ACK Imp", VALV_WP=> "A01 C01-2 Washer above WP", VALV_HP=> "A01 C01-2 Washer above HP"); |
|
|
|
Netzwerk 7: C01-3 Washer below
#"C01-3 Washer below"(CMD_WP := FALSE, CMD_HP := FALSE, FB_WP := "E01 C01 Washer below WP" AND "E01 C02 Washer below WP" AND "E01 C03 Washer below WP", FB_HP := "E01 C01 Washer below HP" AND "E01 C02 Washer below HP" AND "E01 C03 Washer below HP", RLS := "E01 2A3 LightCurtain active", ACK_FLT := "M00 ACK Imp", VALV_WP=> "A01 C01-3 Washer below WP", VALV_HP=> "A01 C01-3 Washer below HP"); |
|
|
|
Netzwerk 8: C01-2 Tray above
#"C01-2 Tray above"(CMD_WP := FALSE, CMD_HP := FALSE, FB_WP := "E01 C01 Tray above WP" AND "E01 C02 Tray above WP", FB_HP := "E01 C01 Tray above HP" AND "E01 C02 Tray above HP", RLS := "E01 2A3 LightCurtain active", ACK_FLT := "M00 ACK Imp", VALV_WP=> "A01 C01-2 Tray above WP", VALV_HP=> "A01 C01-2 Tray above HP"); |
|
|
|
Netzwerk 9: C03-4 Tray below
#"C03-4 Tray below"(CMD_WP := FALSE, CMD_HP := FALSE, FB_WP := "E01 C03 Tray below WP" AND "E01 C04 Tray below WP", FB_HP := "E01 C03 Tray below HP" AND "E01 C04 Tray below HP", RLS := "E01 2A3 LightCurtain active", ACK_FLT := "M00 ACK Imp", VALV_WP=> "A01 C03-4 Tray below WP", VALV_HP=> "A01 C03-4 Tray below HP"); |
|
|
|
Netzwerk 10: Y30 Grease Nozzle 1
#"Y30 GreasNozzel 1"(CMD_WP := FALSE, FB_WP := "A01 Y30 GreasNozzel 1 on", RLS := "E01 2A3 LightCurtain active", ACK_FLT := "M00 ACK Imp", VALV_WP => "A01 Y30 GreasNozzel 1 on"); |
|
|
|
Netzwerk 11: Y31 Grease Nozzle 2
#"Y31 GreasNozzel 2"(CMD_WP := "M01 Y31 GreasNozzel 2 onoff", FB_WP := "A01 Y31 GreasNozzel 2 on", RLS := "E01 2A3 LightCurtain active", ACK_FLT := "M00 ACK Imp", VALV_WP => "A01 Y31 GreasNozzel 2 on"); |
|
|
|
Netzwerk 12: Y12 Vacuum 1 on (left
"A01 Y12 Vaccum 1 on" := NOT "E01 2A3 LightCurtain active" AND "E01 S41 Tray left" OR "DI MAIN P01".SEQ1.STEP_NO <= 5 AND "M00 AutoCmpltMa run" AND "E01 2A3 LightCurtain active" OR "E01 2A3 LightCurtain active" AND "M00 ManuCmpltMa run" AND "E01 S41 Tray left"; |
|
|
|
Netzwerk 13: Y13 Vacuum 2 on (right)
"A01 Y13 Vaccum 2 on" := NOT "E01 2A3 LightCurtain active" AND "E01 S42 Tray right" OR "DI MAIN P01".SEQ1.STEP_NO <= 5 AND "M00 AutoCmpltMa run" AND "E01 2A3 LightCurtain active" OR "E01 2A3 LightCurtain active" AND "M00 ManuCmpltMa run" AND "E01 S42 Tray right"; |
|