Textfeld: Textfeld: Textfeld: Textfeld: Textfeld: Textfeld: Textfeld: Textfeld:

 

Home

 

Erfahrung

 

Referenzen

 

Sondermaschinen

 

MSR-Maschinen

 

SPS-Programmierung

 

Visualisierung HMI

 

Elektro CAD

 

Leistungsprofil

 

Personalia

 

SW-Development

 

Dokumentation

 

 

 

Impressum & DSGVO

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FB37 FLT P01 : Fault and warning

 

 

 

Network 1: External acknowledgeable faults if needed

IF #FLT_MODULE AND "DI MAIN GLB".M00.FLT_EntirePlant_ACK_Imp THEN

    ; // NOP 0

END_IF;

 

 

 

Network 2: 1_F01_X0 S120M Master Sheet Metal Infeed

#"1_FAULT_00_15".%X0 := "DI OUT P01".S120M.TO_FAULT_00_15.%X0; // #Common_FLT

#"1_FAULT_00_15".%X1 := "DI OUT P01".S120M.TO_FAULT_00_15.%X1; // AXIS.StatusWord.%X1

#"1_FAULT_00_15".%X2 := "DI OUT P01".S120M.TO_FAULT_00_15.%X2; // AXIS.StatusDrive.CommunicationOK error

#"1_FAULT_00_15".%X3 := "DI OUT P01".S120M.TO_FAULT_00_15.%X3; // Acce_Dece_TON.Q

#"1_FAULT_00_15".%X4 := "DI OUT P01".S120M.TO_FAULT_00_15.%X4; // AXIS.StatusDrive.Error

#"1_FAULT_00_15".%X5 := "DI OUT P01".S120M.TO_FAULT_00_15.%X5; // MC_Power

#"1_FAULT_00_15".%X6 := "DI OUT P01".S120M.TO_FAULT_00_15.%X6; // MC_Reset

#"1_FAULT_00_15".%X7 := "DI OUT P01".S120M.TO_FAULT_00_15.%X7; // MC_Halt

#"1_FAULT_00_15".%X8 := "DI OUT P01".S120M.TO_FAULT_00_15.%X8; // MC_Home

#"1_FAULT_00_15".%X9 := "DI OUT P01".S120M.TO_FAULT_00_15.%X9; // MC_TorqueLimiting

#"1_FAULT_00_15".%X10 := "DI OUT P01".S120M.TO_FAULT_00_15.%X10; // MC_MoveJog

#"1_FAULT_00_15".%X11 := "DI OUT P01".S120M.TO_FAULT_00_15.%X11; // MC_MoveAbsolute

#"1_FAULT_00_15".%X12 := "DI OUT P01".S120M.TO_FAULT_00_15.%X12; // MC_MoveRelative

#"1_FAULT_00_15".%X13 := "DI OUT P01".S120M.TO_FAULT_00_15.%X13; // Drv_OnOff AND SetVelo = 0

IF "DI OUT P01".S120M.DRV.Support.ErrorDetail_Num > 0 THEN

   #"1_WARN_00_15".%X1 := TRUE;

ELSE

   #"1_WARN_00_15".%X1 := FALSE;

END_IF;

 

 

 

Network 3: 2_F01_X0 S120S1 Slave Punch-Cutter

#"2_FAULT_00_15".%X0 := "DI OUT P01".S120S1.TO_FAULT_00_15.%X0; // #Common_FLT

#"2_FAULT_00_15".%X1 := "DI OUT P01".S120S1.TO_FAULT_00_15.%X1; // AXIS.StatusWord.%X1

#"2_FAULT_00_15".%X2 := "DI OUT P01".S120S1.TO_FAULT_00_15.%X2; // AXIS.StatusDrive.CommunicationOK error

#"2_FAULT_00_15".%X3 := "DI OUT P01".S120S1.TO_FAULT_00_15.%X3; // Acce_Dece_TON.Q

#"2_FAULT_00_15".%X4 := "DI OUT P01".S120S1.TO_FAULT_00_15.%X4; // AXIS.StatusDrive.Error

#"2_FAULT_00_15".%X5 := "DI OUT P01".S120S1.TO_FAULT_00_15.%X5; // MC_Power

#"2_FAULT_00_15".%X6 := "DI OUT P01".S120S1.TO_FAULT_00_15.%X6; // MC_Reset

#"2_FAULT_00_15".%X7 := "DI OUT P01".S120S1.TO_FAULT_00_15.%X7; // MC_Halt

#"2_FAULT_00_15".%X8 := "DI OUT P01".S120S1.TO_FAULT_00_15.%X8; // MC_Home

#"2_FAULT_00_15".%X10 := "DI OUT P01".S120S1.TO_FAULT_00_15.%X10; // MC_MoveJog

IF "DI OUT P01".S120S1.DRV.Support.ErrorDetail_Num > 0 THEN

    #"1_WARN_00_15".%X2 := TRUE;

ELSE

   #"1_WARN_00_15".%X2 := FALSE;

END_IF;

 

 

 

Network 4: 3_F01_X0 S120S2 Slave Upper Stamping-Die

#"3_FAULT_00_15".%X0 := "DI OUT P01".S120S2.TO_FAULT_00_15.%X0; // #Common_FLT

#"3_FAULT_00_15".%X1 := "DI OUT P01".S120S2.TO_FAULT_00_15.%X1; // AXIS.StatusWord.%X1

#"3_FAULT_00_15".%X2 := "DI OUT P01".S120S2.TO_FAULT_00_15.%X2; // AXIS.StatusDrive.CommunicationOK error

#"3_FAULT_00_15".%X3 := "DI OUT P01".S120S2.TO_FAULT_00_15.%X3; // Acce_Dece_TON.Q

#"3_FAULT_00_15".%X4 := "DI OUT P01".S120S2.TO_FAULT_00_15.%X4; // AXIS.StatusDrive.Error

#"3_FAULT_00_15".%X5 := "DI OUT P01".S120S2.TO_FAULT_00_15.%X5; // MC_Power

#"3_FAULT_00_15".%X6 := "DI OUT P01".S120S2.TO_FAULT_00_15.%X6; // MC_Reset

#"3_FAULT_00_15".%X7 := "DI OUT P01".S120S2.TO_FAULT_00_15.%X7; // MC_Halt

#"3_FAULT_00_15".%X8 := "DI OUT P01".S120S2.TO_FAULT_00_15.%X8; // MC_Home

#"3_FAULT_00_15".%X10 := "DI OUT P01".S120S2.TO_FAULT_00_15.%X10; // MC_MoveJog

IF "DI OUT P01".S120S2.DRV.Support.ErrorDetail_Num > 0 THEN

   #"1_WARN_00_15".%X3 := TRUE;

ELSE

   #"1_WARN_00_15".%X3 := FALSE;

END_IF;

 

 

 

Network 5: 4_F01_X0 CAM_DISC_S1 Control

#"4_FAULT_00_15".%X0 := "DI OUT P01".CAM_DISC_S1.TO_FAULT_00_15.%X0; // Common_FLT

#"4_FAULT_00_15".%X1 := "DI OUT P01".CAM_DISC_S1.TO_FAULT_00_15.%X1; // CAM.MC_InterpolateCam

#"4_FAULT_00_15".%X2 := "DI OUT P01".CAM_DISC_S1.TO_FAULT_00_15.%X2; // CAM.MC_MeasuringInput

#"4_FAULT_00_15".%X3 := "DI OUT P01".CAM_DISC_S1.TO_FAULT_00_15.%X3; // CAM.MC_CamIn

#"4_FAULT_00_15".%X4 := "DI OUT P01".CAM_DISC_S1.TO_FAULT_00_15.%X4; // CAM.MC_OutputCam

#"4_FAULT_00_15".%X5 := "DI OUT P01".CAM_DISC_S1.TO_FAULT_00_15.%X5; // ErrorDetail_Num > 0

IF #"4_FAULT_00_15".%X5 THEN

   #"1_WARN_00_15".%X4 := TRUE;

ELSE

   #"1_WARN_00_15".%X4 := FALSE;

END_IF;

 

 

 

Network 6: 5_F01_X0 CAM_DISC_S2 Control

#"5_FAULT_00_15".%X0 := "DI OUT P01".CAM_DISC_S2.TO_FAULT_00_15.%X0; // Common_FLT

#"5_FAULT_00_15".%X1 := "DI OUT P01".CAM_DISC_S2.TO_FAULT_00_15.%X1; // CAM.MC_InterpolateCam

#"5_FAULT_00_15".%X2 := "DI OUT P01".CAM_DISC_S2.TO_FAULT_00_15.%X2; // CAM.MC_MeasuringInput

#"5_FAULT_00_15".%X3 := "DI OUT P01".CAM_DISC_S2.TO_FAULT_00_15.%X3; // CAM.MC_CamIn

#"5_FAULT_00_15".%X4 := "DI OUT P01".CAM_DISC_S2.TO_FAULT_00_15.%X4; // CAM.MC_OutputCam

#"5_FAULT_00_15".%X5 := "DI OUT P01".CAM_DISC_S2.TO_FAULT_00_15.%X5; // ErrorDetail_Num > 0

IF #"5_FAULT_00_15".%X5 THEN

   #"1_WARN_00_15".%X5 := TRUE;

ELSE

   #"1_WARN_00_15".%X5 := FALSE;

END_IF;

 

 

 

Network 7: 6_F01_X0 V100 Sheet Metal Cutter

#"6_FAULT_00_15".%X0 := "DI OUT P01".V100.Common_FLT;

 

 

 

Network 8: Pending faults analysis

"ModuleData".P01.STS."1_ModuleFLT_00_31" := DW#16#FFFFFFFF AND (SHL_DWORD(IN := #"1_FAULT_00_15", N := 16) OR #"2_FAULT_00_15");

"ModuleData".P01.STS."2_ModuleFLT_00_31" := DW#16#FFFFFFFF AND (SHL_DWORD(IN := #"3_FAULT_00_15", N := 16) OR #"4_FAULT_00_15");

"ModuleData".P01.STS."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 <> ("ModuleData".P01.STS."1_ModuleFLT_00_31" OR "ModuleData".P01.STS."2_ModuleFLT_00_31" OR "ModuleData".P01.STS."3_ModuleFLT_00_31");