FB37 FLT P01 : P01 faults |
|
|
|
Network 1: Extern acknowledgeable faults IF #FLT_MODULE AND "M00 FLT CmpltMaACK Imp" THEN "DI MAIN P01".SEQ1.SSM.S."1_FAULT_00_15" := 0; END_IF; |
|
|
|
Network 2: 1_FLT_P01_X0_X11 V90_X Gripper linear Xaxis #"1_FAULT_00_15".%X0 := "DI OUT P01".V90_X.DRV.MC_Power.Error; #"1_FAULT_00_15".%X1 := "DI OUT P01".V90_X.DRV.MC_Reset.Error; #"1_FAULT_00_15".%X2 := "DI OUT P01".V90_X.DRV.MC_Home.Error; #"1_FAULT_00_15".%X3 := "DI OUT P01".V90_X.DRV.MC_Halt.Error; #"1_FAULT_00_15".%X4 := "DI OUT P01".V90_X.DRV.MC_MoveAbsolute.Error; #"1_FAULT_00_15".%X5 := "DI OUT P01".V90_X.DRV.MC_MoveRelative.Error; #"1_FAULT_00_15".%X6 := "DI OUT P01".V90_X.DRV.MC_MoveJog.Error; #"1_FAULT_00_15".%X7 := "DI OUT P01".V90_X.TO_FAULT_00_07.%X0; // #AXIS.StatusDrive.Error; #"1_FAULT_00_15".%X8 := "DI OUT P01".V90_X.TO_FAULT_00_07.%X1; // #AXIS.StatusWord.%X1; #"1_FAULT_00_15".%X9 := "DI OUT P01".V90_X.TO_FAULT_00_07.%X2; // NOT #AXIS.StatusDrive.CommunicationOK; #"1_FAULT_00_15".%X10 := "DI OUT P01".V90_X.TO_FAULT_00_07.%X3; // #Acce_Dece_TON.Q #"1_FAULT_00_15".%X11 := "DI OUT P01".V90_X.Com_FLT; #"1_FAULT_00_15".%X12 := "DI OUT P01".V90_X.TO_FAULT_00_07.%X4; // SetVelo = 0.0 (still stand) |
|
|
|
Network 3: 2_FLT_P01_X0_X11 V90_Y Gripper linear Yaxis #"2_FAULT_00_15".%X0 := "DI OUT P01".V90_Y.DRV.MC_Power.Error; #"2_FAULT_00_15".%X1 := "DI OUT P01".V90_Y.DRV.MC_Reset.Error; #"2_FAULT_00_15".%X2 := "DI OUT P01".V90_Y.DRV.MC_Home.Error; #"2_FAULT_00_15".%X3 := "DI OUT P01".V90_Y.DRV.MC_Halt.Error; #"2_FAULT_00_15".%X4 := "DI OUT P01".V90_Y.DRV.MC_MoveAbsolute.Error; #"2_FAULT_00_15".%X5 := "DI OUT P01".V90_Y.DRV.MC_MoveRelative.Error; #"2_FAULT_00_15".%X6 := "DI OUT P01".V90_Y.DRV.MC_MoveJog.Error; #"2_FAULT_00_15".%X7 := "DI OUT P01".V90_Y.TO_FAULT_00_07.%X0; // #AXIS.StatusDrive.Error; #"2_FAULT_00_15".%X8 := "DI OUT P01".V90_Y.TO_FAULT_00_07.%X1; // #AXIS.StatusWord.%X1; #"2_FAULT_00_15".%X9 := "DI OUT P01".V90_Y.TO_FAULT_00_07.%X2; // NOT #AXIS.StatusDrive.CommunicationOK; #"2_FAULT_00_15".%X10 := "DI OUT P01".V90_Y.TO_FAULT_00_07.%X3; // #Acce_Dece_TON.Q #"2_FAULT_00_15".%X11 := "DI OUT P01".V90_Y.Com_FLT; #"1_FAULT_00_15".%X12 := "DI OUT P01".V90_Y.TO_FAULT_00_07.%X4; // SetVelo = 0.0 (still stand) |
|
|
|
Network 4: 3_FLT_P01_X0_X11 V90_Z Gripper linear Zaxis #"3_FAULT_00_15".%X0 := "DI OUT P01".V90_Z.DRV.MC_Power.Error; #"3_FAULT_00_15".%X1 := "DI OUT P01".V90_Z.DRV.MC_Reset.Error; #"3_FAULT_00_15".%X2 := "DI OUT P01".V90_Z.DRV.MC_Home.Error; #"3_FAULT_00_15".%X3 := "DI OUT P01".V90_Z.DRV.MC_Halt.Error; #"3_FAULT_00_15".%X4 := "DI OUT P01".V90_Z.DRV.MC_MoveAbsolute.Error; #"3_FAULT_00_15".%X5 := "DI OUT P01".V90_Z.DRV.MC_MoveRelative.Error; #"3_FAULT_00_15".%X6 := "DI OUT P01".V90_Z.DRV.MC_MoveJog.Error; #"3_FAULT_00_15".%X7 := "DI OUT P01".V90_Z.TO_FAULT_00_07.%X0; // #AXIS.StatusDrive.Error; #"3_FAULT_00_15".%X8 := "DI OUT P01".V90_Z.TO_FAULT_00_07.%X1; // #AXIS.StatusWord.%X1; #"3_FAULT_00_15".%X9 := "DI OUT P01".V90_Z.TO_FAULT_00_07.%X2; // NOT #AXIS.StatusDrive.CommunicationOK; #"3_FAULT_00_15".%X10 := "DI OUT P01".V90_Z.TO_FAULT_00_07.%X3; // #Acce_Dece_TON.Q; #"3_FAULT_00_15".%X11 := "DI OUT P01".V90_Z.Com_FLT; #"1_FAULT_00_15".%X12 := "DI OUT P01".V90_Z.TO_FAULT_00_07.%X4; // SetVelo = 0.0 (still stand) |
|
|
|
Network 5: 4_FLT_P01_X0_X11 MD12 Gripper fingers 1+2 axis #"4_FAULT_00_15".%X0 := "DI OUT P01".MD_12.DRV.MC_Power.Error; #"4_FAULT_00_15".%X1 := "DI OUT P01".MD_12.DRV.MC_Reset.Error; #"4_FAULT_00_15".%X2 := "DI OUT P01".MD_12.DRV.MC_Home.Error; #"4_FAULT_00_15".%X3 := "DI OUT P01".MD_12.DRV.MC_Halt.Error; #"4_FAULT_00_15".%X4 := "DI OUT P01".MD_12.DRV.MC_MoveAbsolute.Error; #"4_FAULT_00_15".%X5 := "DI OUT P01".MD_12.DRV.MC_MoveRelative.Error; #"4_FAULT_00_15".%X6 := "DI OUT P01".MD_12.DRV.MC_MoveJog.Error; #"4_FAULT_00_15".%X7 := "DI OUT P01".MD_12.TO_FAULT_00_07.%X0; // #AXIS.StatusDrive.Error; #"4_FAULT_00_15".%X8 := "DI OUT P01".MD_12.TO_FAULT_00_07.%X1; // #AXIS.StatusWord.%X1; #"4_FAULT_00_15".%X9 := "DI OUT P01".MD_12.TO_FAULT_00_07.%X2; // NOT #AXIS.StatusDrive.CommunicationOK; #"4_FAULT_00_15".%X10 := "DI OUT P01".MD_12.TO_FAULT_00_07.%X3; // #Acce_Dece_TON.Q #"4_FAULT_00_15".%X11 := "DI OUT P01".MD_12.Com_FLT; #"1_FAULT_00_15".%X12 := "DI OUT P01".MD_12.TO_FAULT_00_07.%X4; // SetVelo = 0.0 (still stand) |
|
|
|
Network 6: 5_FLT_P01_X0_X11 MD34 Gripper fingers 3+4 axis #"5_FAULT_00_15".%X0 := "DI OUT P01".MD_34.DRV.MC_Power.Error; #"5_FAULT_00_15".%X1 := "DI OUT P01".MD_34.DRV.MC_Reset.Error; #"5_FAULT_00_15".%X2 := "DI OUT P01".MD_34.DRV.MC_Home.Error; #"5_FAULT_00_15".%X3 := "DI OUT P01".MD_34.DRV.MC_Halt.Error; #"5_FAULT_00_15".%X4 := "DI OUT P01".MD_34.DRV.MC_MoveAbsolute.Error; #"5_FAULT_00_15".%X5 := "DI OUT P01".MD_34.DRV.MC_MoveRelative.Error; #"5_FAULT_00_15".%X6 := "DI OUT P01".MD_34.DRV.MC_MoveJog.Error; #"5_FAULT_00_15".%X7 := "DI OUT P01".MD_34.TO_FAULT_00_07.%X0; // #AXIS.StatusDrive.Error; #"5_FAULT_00_15".%X8 := "DI OUT P01".MD_34.TO_FAULT_00_07.%X1; // #AXIS.StatusWord.%X1; #"5_FAULT_00_15".%X9 := "DI OUT P01".MD_34.TO_FAULT_00_07.%X2; // NOT #AXIS.StatusDrive.CommunicationOK; #"5_FAULT_00_15".%X10 := "DI OUT P01".MD_34.TO_FAULT_00_07.%X3; // #Acce_Dece_TON.Q #"5_FAULT_00_15".%X11 := "DI OUT P01".MD_34.Com_FLT; #"1_FAULT_00_15".%X12 := "DI OUT P01".MD_34.TO_FAULT_00_07.%X4; // SetVelo = 0.0 (still stand) |
|
|
|
Network 7: 6_FLT_P01_X0 C01 Lifting gate #"6_FAULT_00_15".%X0 := "DI OUT P01".C01.com_flt; |
|
|
|
Network 8: 6_FLT_P01_X1 Palette 1+2 plausibility check NOK "M01 SEQ1 DoWP1" := FALSE; IF "E00 S11 Blstr1 InPos" AND "E00 S12 Blstr2 InPos" THEN IF "E00 Blister1_BinCode" = "ModulDa".P01.WPC1_IDnr AND "E00 Blister2_BinCode" = "ModulDa".P01.WPC2_IDnr THEN "M01 SEQ1 DoWP1" := TRUE; END_IF; END_IF;
#"6_FAULT_00_15".%X1 := NOT "M01 SEQ1 DoWP1"; |
|
|
|
Network 9: 1_WRN_P01_X0 SEQ1 set run time exceeded #"1_WARN_00_15".%X0 := "DI MAIN P01".MoDa.RunTimeCntr_seq1 > "DI MAIN P01".MoDa.RunTimeSetP_seq1; |
|
|
|
Network 10: 1_WRN_P01_X1 Xaxis reference Nok #"1_WARN_00_15".%X1 := NOT "DI OUT P01".V90_X.DRV.Support.HomeDone; |
|
|
|
Network 11: 1_WRN_P01_X2 Yaxis reference Nok #"1_WARN_00_15".%X2 := NOT "DI OUT P01".V90_Y.DRV.Support.HomeDone; |
|
|
|
Network 12: 1_WRN_P01_X3 Zaxis reference Nok #"1_WARN_00_15".%X3 := NOT "DI OUT P01".V90_Z.DRV.Support.HomeDone; |
|
|
|
Network 13: 1_WRN_P01_X4 MD12axis reference Nok #"1_WARN_00_15".%X4 := NOT "DI OUT P01".MD_12.DRV.Support.HomeDone; |
|
|
|
Network 14: 1_WRN_P01_X5 MD34axis reference Nok #"1_WARN_00_15".%X5 := NOT "DI OUT P01".MD_34.DRV.Support.HomeDone; |
|
|
|
Network 15: 1_WRN_P01_X6 PILZ Estop triggered #"1_WARN_00_15".%X6 := NOT ("E00 PILZ Estop" OR "E00 PILZ EstopRset"); |
|
|
|
Network 16: Complete module fault message "ModulDa".P01.MaPa."1_ModuleFLT_00_31" := DW#16#FFFFFFFF AND (SHL_DWORD(IN := #"1_FAULT_00_15", N := 16) OR #"2_FAULT_00_15"); "ModulDa".P01.MaPa."2_ModuleFLT_00_31" := DW#16#FFFFFFFF AND (SHL_DWORD(IN := #"3_FAULT_00_15", N := 16) OR #"4_FAULT_00_15"); "ModulDa".P01.MaPa."3_ModuleFLT_00_31" := DW#16#FFFFFFFF AND (SHL_DWORD(IN := #"5_FAULT_00_15", N := 16) OR #"6_FAULT_00_15"); #FLT_MODULE := 0 <> ("ModulDa".P01.MaPa."1_ModuleFLT_00_31" OR "ModulDa".P01.MaPa."2_ModuleFLT_00_31" OR "ModulDa".P01.MaPa."3_ModuleFLT_00_31"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
To go to next HMI image use the touch buttons; some of them are interactive. |