Home

 

Erfahrung

 

Referenzen

 

Sondermaschinen

 

MSR-Maschinen

 

SPS-Programmierung

 

Visualisierung HMI

 

Elektro CAD

 

Leistungsprofil

 

Personalia

 

SW-Development

 

Dokumentation

 

 

 

Impressum & DSGVO

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FB FLT P01 : Faults and warning P01

 

 

 

Network 1: Extern acknowledgeable faults

//IF #FLT_MODULE AND "DI MAIN GLB".P00.FLT_CmpltMaACK_Imp THEN

//    #"2_FAULT_00_15" := 0;

//END_IF;

 

 

 

Network 2: 1_F01_X0-15 S120_X Axis gasketing plant

#"1_FAULT_00_15".%X0 := "DI OUT P01".S120_X.DRV.MC_Power.Error;

#"1_FAULT_00_15".%X1 := "DI OUT P01".S120_X.DRV.MC_Reset.Error;

#"1_FAULT_00_15".%X2 := "DI OUT P01".S120_X.DRV.MC_Halt.Error;

#"1_FAULT_00_15".%X3 := "DI OUT P01".S120_X.DRV.MC_Home.Error;

#"1_FAULT_00_15".%X4 := "DI OUT P01".S120_X.DRV.MC_TorqueLimiting.Error;

#"1_FAULT_00_15".%X5 := "DI OUT P01".S120_X.DRV.MC_MoveJog.Error;

#"1_FAULT_00_15".%X6 := "DI OUT P01".S120_X.TO_FAULT_00_07.%X0; // #AXIS.StatusDrive.Error

#"1_FAULT_00_15".%X7 := "DI OUT P01".S120_X.TO_FAULT_00_07.%X1; // #AXIS.StatusWord.%X1;

#"1_FAULT_00_15".%X8 := "DI OUT P01".S120_X.TO_FAULT_00_07.%X2; // #AXIS.StatusDrive.CommunicationOK = 0

#"1_FAULT_00_15".%X9 := "DI OUT P01".S120_X.TO_FAULT_00_07.%X3; // #Acce_Dece_TON.Q

#"1_FAULT_00_15".%X10 := "DI OUT P01".S120_X.TO_FAULT_00_07.%X4; // Epos SetVelo = 0.0 (stillstand)

#"1_FAULT_00_15".%X11 := "DI OUT P01".S120_X.Com_FLT;

#"1_FAULT_00_15".%X12 := "DI OUT P01".S120_X.DRV.Support.SW_EndLim_Min OR "DI OUT P01".S120_X.DRV.Support.ActPos < "DI OUT P01".S120_X.DRV.Support.SW_EndLim_MinPos;

#"1_FAULT_00_15".%X13 := "DI OUT P01".S120_X.DRV.Support.SW_EndLim_Max OR "DI OUT P01".S120_X.DRV.Support.ActPos > "DI OUT P01".S120_X.DRV.Support.SW_EndLim_MaxPos;

#"1_FAULT_00_15".%X14 := "DI OUT P01".S120_X.DRV.MC_MoveAbsolute.Error;

#"1_FAULT_00_15".%X15 := "DI OUT P01".S120_X.DRV.MC_MoveRelative.Error;

IF "DI OUT P01".S120_X.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-15 S120_Y Axis gasketing plant

#"2_FAULT_00_15".%X0 := "DI OUT P01".S120_Y.DRV.MC_Power.Error;

#"2_FAULT_00_15".%X1 := "DI OUT P01".S120_Y.DRV.MC_Reset.Error;

#"2_FAULT_00_15".%X2 := "DI OUT P01".S120_Y.DRV.MC_Halt.Error;

#"2_FAULT_00_15".%X3 := "DI OUT P01".S120_Y.DRV.MC_Home.Error;

//#"2_FAULT_00_15".%X4 := "DI OUT P01".S120_Y.DRV.MC_TorqueLimiting.Error;

#"2_FAULT_00_15".%X5 := "DI OUT P01".S120_Y.DRV.MC_MoveJog.Error;

#"2_FAULT_00_15".%X6 := "DI OUT P01".S120_Y.TO_FAULT_00_07.%X0; // #AXIS.StatusDrive.Error

#"2_FAULT_00_15".%X7 := "DI OUT P01".S120_Y.TO_FAULT_00_07.%X1; // #AXIS.StatusWord.%X1

#"2_FAULT_00_15".%X8 := "DI OUT P01".S120_Y.TO_FAULT_00_07.%X2; // #AXIS.StatusDrive.CommunicationOK = 0

#"2_FAULT_00_15".%X9 := "DI OUT P01".S120_Y.TO_FAULT_00_07.%X3; // #Acce_Dece_TON.Q

#"2_FAULT_00_15".%X10 := "DI OUT P01".S120_Y.TO_FAULT_00_07.%X4; // Epos SetVelo = 0.0 (stillstand)

#"2_FAULT_00_15".%X11 := "DI OUT P01".S120_Y.Com_FLT;

#"2_FAULT_00_15".%X12 := "DI OUT P01".S120_Y.DRV.Support.SW_EndLim_Min OR "DI OUT P01".S120_Y.DRV.Support.ActPos < "DI OUT P01".S120_Y.DRV.Support.SW_EndLim_MinPos;

#"2_FAULT_00_15".%X13 := "DI OUT P01".S120_Y.DRV.Support.SW_EndLim_Max OR "DI OUT P01".S120_Y.DRV.Support.ActPos > "DI OUT P01".S120_Y.DRV.Support.SW_EndLim_MaxPos;

#"2_FAULT_00_15".%X14 := "DI OUT P01".S120_Y.DRV.MC_MoveAbsolute.Error;

#"2_FAULT_00_15".%X15 := "DI OUT P01".S120_Y.DRV.MC_MoveRelative.Error;

IF "DI OUT P01".S120_Y.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-15 S210_Z Axis gasketing plant

#"3_FAULT_00_15".%X0 := "DI OUT P01".S210_Z.DRV.MC_Power.Error;

#"3_FAULT_00_15".%X1 := "DI OUT P01".S210_Z.DRV.MC_Reset.Error;

#"3_FAULT_00_15".%X2 := "DI OUT P01".S210_Z.DRV.MC_Halt.Error;

#"3_FAULT_00_15".%X3 := "DI OUT P01".S210_Z.DRV.MC_Home.Error;

//#"3_FAULT_00_15".%X4 := "DI OUT P01".S210_Z.DRV.MC_TorqueLimiting.Error;

#"3_FAULT_00_15".%X5 := "DI OUT P01".S210_Z.DRV.MC_MoveJog.Error;

#"3_FAULT_00_15".%X6 := "DI OUT P01".S210_Z.TO_FAULT_00_07.%X0; // #AXIS.StatusDrive.Error

#"3_FAULT_00_15".%X7 := "DI OUT P01".S210_Z.TO_FAULT_00_07.%X1; // #AXIS.StatusWord.%X1

#"3_FAULT_00_15".%X8 := "DI OUT P01".S210_Z.TO_FAULT_00_07.%X2; // #AXIS.StatusDrive.CommunicationOK = 0

#"3_FAULT_00_15".%X9 := "DI OUT P01".S210_Z.TO_FAULT_00_07.%X3; // #Acce_Dece_TON.Q

#"3_FAULT_00_15".%X10 := "DI OUT P01".S210_Z.TO_FAULT_00_07.%X4; // Epos SetVelo = 0.0 (stillstand)

#"3_FAULT_00_15".%X11 := "DI OUT P01".S210_Z.Com_FLT;

#"3_FAULT_00_15".%X12 := "DI OUT P01".S210_Z.DRV.Support.SW_EndLim_Min OR "DI OUT P01".S210_Z.DRV.Support.ActPos < "DI OUT P01".S210_Z.DRV.Support.SW_EndLim_MinPos;

#"3_FAULT_00_15".%X13 := "DI OUT P01".S210_Z.DRV.Support.SW_EndLim_Max OR "DI OUT P01".S210_Z.DRV.Support.ActPos > "DI OUT P01".S210_Z.DRV.Support.SW_EndLim_MaxPos;

#"3_FAULT_00_15".%X14 := "DI OUT P01".S210_Z.DRV.MC_MoveAbsolute.Error;

#"3_FAULT_00_15".%X15 := "DI OUT P01".S210_Z.DRV.MC_MoveRelative.Error;

IF "DI OUT P01".S210_Z.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-15 V90_A Servo drive metering component A

#"4_FAULT_00_15".%X0 := "DI OUT P01".V90_A.DRV.MC_Power.Error;

#"4_FAULT_00_15".%X1 := "DI OUT P01".V90_A.DRV.MC_Reset.Error;

#"4_FAULT_00_15".%X2 := "DI OUT P01".V90_A.DRV.MC_Halt.Error;

#"4_FAULT_00_15".%X3 := "DI OUT P01".V90_A.DRV.MC_Home.Error;

//#"4_FAULT_00_15".%X4 := "DI OUT P01".V90_A.DRV.MC_TorqueLimiting.Error;

#"4_FAULT_00_15".%X5 := "DI OUT P01".V90_A.DRV.MC_MoveJog.Error;

#"4_FAULT_00_15".%X6 := "DI OUT P01".V90_A.TO_FAULT_00_07.%X0; // #AXIS.StatusDrive.Error

#"4_FAULT_00_15".%X7 := "DI OUT P01".V90_A.TO_FAULT_00_07.%X1; // #AXIS.StatusWord.%X1

#"4_FAULT_00_15".%X8 := "DI OUT P01".V90_A.TO_FAULT_00_07.%X2; // #AXIS.StatusDrive.CommunicationOK = 0

#"4_FAULT_00_15".%X9 := "DI OUT P01".V90_A.TO_FAULT_00_07.%X3; // #Acce_Dece_TON.Q

#"4_FAULT_00_15".%X10 := "DI OUT P01".V90_A.TO_FAULT_00_07.%X4; // Epos SetVelo = 0.0 (stillstand)

#"4_FAULT_00_15".%X11 := "DI OUT P01".V90_A.Com_FLT;

#"4_FAULT_00_15".%X12 := "DI OUT P01".V90_A.DRV.Support.SW_EndLim_Min OR "DI OUT P01".V90_A.DRV.Support.ActPos < "DI OUT P01".V90_A.DRV.Support.SW_EndLim_MinPos;

#"4_FAULT_00_15".%X13 := "DI OUT P01".V90_A.DRV.Support.SW_EndLim_Max OR "DI OUT P01".V90_A.DRV.Support.ActPos > "DI OUT P01".V90_A.DRV.Support.SW_EndLim_MaxPos;

#"4_FAULT_00_15".%X14 := "DI OUT P01".V90_A.DRV.MC_MoveAbsolute.Error;

#"4_FAULT_00_15".%X15 := "DI OUT P01".V90_A.DRV.MC_MoveRelative.Error;

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

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

ELSE

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

END_IF;

 

 

 

Network 6: 5_F01_X0-15 V90_B Servo drive metering component B

#"5_FAULT_00_15".%X0 := "DI OUT P01".V90_B.DRV.MC_Power.Error;

#"5_FAULT_00_15".%X1 := "DI OUT P01".V90_B.DRV.MC_Reset.Error;

#"5_FAULT_00_15".%X2 := "DI OUT P01".V90_B.DRV.MC_Halt.Error;

#"5_FAULT_00_15".%X3 := "DI OUT P01".V90_B.DRV.MC_Home.Error;

//#"5_FAULT_00_15".%X4 := "DI OUT P01".V90_B.DRV.MC_TorqueLimiting.Error;

#"5_FAULT_00_15".%X5 := "DI OUT P01".V90_B.DRV.MC_MoveJog.Error;

#"5_FAULT_00_15".%X6 := "DI OUT P01".V90_B.TO_FAULT_00_07.%X0; // #AXIS.StatusDrive.Error

#"5_FAULT_00_15".%X7 := "DI OUT P01".V90_B.TO_FAULT_00_07.%X1; // #AXIS.StatusWord.%X1

#"5_FAULT_00_15".%X8 := "DI OUT P01".V90_B.TO_FAULT_00_07.%X2; // #AXIS.StatusDrive.CommunicationOK = 0

#"5_FAULT_00_15".%X9 := "DI OUT P01".V90_B.TO_FAULT_00_07.%X3; // #Acce_Dece_TON.Q

#"5_FAULT_00_15".%X10 := "DI OUT P01".V90_B.TO_FAULT_00_07.%X4; // Epos SetVelo = 0.0 (stillstand)

#"5_FAULT_00_15".%X11 := "DI OUT P01".V90_B.Com_FLT;

#"5_FAULT_00_15".%X12 := "DI OUT P01".V90_B.DRV.Support.SW_EndLim_Min OR "DI OUT P01".V90_B.DRV.Support.ActPos < "DI OUT P01".V90_B.DRV.Support.SW_EndLim_MinPos;

#"5_FAULT_00_15".%X13 := "DI OUT P01".V90_B.DRV.Support.SW_EndLim_Max OR "DI OUT P01".V90_B.DRV.Support.ActPos > "DI OUT P01".V90_B.DRV.Support.SW_EndLim_MaxPos;

#"5_FAULT_00_15".%X14 := "DI OUT P01".V90_B.DRV.MC_MoveAbsolute.Error;

#"5_FAULT_00_15".%X15 := "DI OUT P01".V90_B.DRV.MC_MoveRelative.Error;

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

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

ELSE

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

END_IF;

 

 

 

Network 7: 6_F01_X0 P24C_A Pressure regulator component A

#"6_FAULT_00_15".%X0 := "DI OUT P01".P24C_A.Error;

 

 

 

Network 8: 6_F01_X1 P24C_B Pressure regulator component B

#"6_FAULT_00_15".%X1 := "DI OUT P01".P24C_B.Error;

 

 

 

Network 9: 6_F01_X6 V28Y12 Drive cylinder down component A

#"6_FAULT_00_15".%X6 := "DI OUT P01".V28Y12.Com_FLT;

 

 

 

Network 10: 6_F01_X7 V28Y34 Drive cylinder down component B

#"6_FAULT_00_15".%X7 := "DI OUT P01".V28Y34.Com_FLT;

 

 

 

Network 11: 7_F01_X0-15 CartesianPortal_3D

#"7_FAULT_00_15".%X0 := "DI OUT P01".CARTESIAN_3D.DRV.MC_Reset.Error; // MC Reset

#"7_FAULT_00_15".%X1 := "DI OUT P01".CARTESIAN_3D.DRV.MC_GroupStop.Error; // MC GroupStop

#"7_FAULT_00_15".%X2 := "DI OUT P01".CARTESIAN_3D.DRV.MC_GroupInterrupt.Error; // MC GroupInterrupt

#"7_FAULT_00_15".%X3 := "DI OUT P01".CARTESIAN_3D.DRV.MC_GroupContinue.Error; // MC GroupContinue

#"7_FAULT_00_15".%X4 := "DI OUT P01".CARTESIAN_3D.DRV.MC_MoveLinearAbsolute.Error; // MC MoveLinearAbsolute

#"7_FAULT_00_15".%X5 := "DI OUT P01".CARTESIAN_3D.DRV.MC_MoveLinearRelative.Error; // MC MoveLinearRelative

#"7_FAULT_00_15".%X6 := "DI OUT P01".CARTESIAN_3D.DRV.MC_MoveCircularAbsolute.Error; // MC MoveCircularAbsolute

#"7_FAULT_00_15".%X7 := "DI OUT P01".CARTESIAN_3D.DRV.MC_MoveCircularRelative.Error; // MC MoveCircularRelative

#"7_FAULT_00_15".%X8 := "DI OUT P01".CARTESIAN_3D.TO_FAULT_00_07.%X0; // ErrorWord.X0 SystemFault

#"7_FAULT_00_15".%X9 := "DI OUT P01".CARTESIAN_3D.TO_FAULT_00_07.%X1; // ErrorWord.X1 ConfigFault

#"7_FAULT_00_15".%X10 := "DI OUT P01".CARTESIAN_3D.TO_FAULT_00_07.%X2; // ErrorWord.X2 UserFault

#"7_FAULT_00_15".%X11 := "DI OUT P01".CARTESIAN_3D.TO_FAULT_00_07.%X3; // ErrorWord.X3 Command not accepted

#"7_FAULT_00_15".%X12 := "DI OUT P01".CARTESIAN_3D.TO_FAULT_00_07.%X4; // ErrorWord.X4 TransformationFault

#"7_FAULT_00_15".%X13 := "DI OUT P01".CARTESIAN_3D.TO_FAULT_00_07.%X5; // Acceleration or Deceleration time elapsed

#"7_FAULT_00_15".%X14 := "DI OUT P01".CARTESIAN_3D.TO_FAULT_00_07.%X6; // ErrorWord.X6 DynamicError

#"7_FAULT_00_15".%X15 := "DI OUT P01".CARTESIAN_3D.TO_FAULT_00_07.%X7; // StatusWord.X1 Error occured

#"8_FAULT_00_15".%X0 := "DI OUT P01".CARTESIAN_3D.Com_FLT; // GroupTotalMessage Com_FLT

#"8_FAULT_00_15".%X1 := "DI OUT P01".CARTESIAN_3D.TO_FAULT_00_07.%X8; // GroupCommandError Drv_OnOff

#"8_FAULT_00_15".%X2 := "DI OUT P01".CARTESIAN_3D.TO_FAULT_00_07.%X9; // AXIS.StatusDrive.InOperation missing

#"8_FAULT_00_15".%X3 := "DI OUT P01".CARTESIAN_3D.TO_FAULT_00_07.%X10; // ErrorDetail_Reaction

#"8_FAULT_00_15".%X4 := "DI OUT P01".CARTESIAN_3D.TO_FAULT_00_07.%X11; // WarningWord_Hex

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

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

ELSE

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

END_IF;

 

 

 

Network 12: 1_WRN_P01_X0 Current_Programme_No = 0

#"1_WARN_00_15".%X0 := "DI MAIN P01".SET.SSM.S."1_FAULT_00_15".%X0;

 

 

 

Network 13: 1_WRN_P01_X6 S120_X Axis gasketing plant Refpoint

#"1_WARN_00_15".%X6 := NOT "DI OUT P01".S120_X.DRV.Support.HomeDone;

 

 

 

Network 14: 1_WRN_P01_X7 S120_Y Axis gasketing plant Refpoint

#"1_WARN_00_15".%X7 := NOT "DI OUT P01".S120_Y.DRV.Support.HomeDone;

 

 

 

Network 15: 1_WRN_P01_X8 S210_Z Axis gasketing plant Refpoint

#"1_WARN_00_15".%X8 := NOT "DI OUT P01".S210_Z.DRV.Support.HomeDone;

 

 

 

Network 16: 1_WRN_P01_X9 V90_A Servo drive metering component A Refpoint

#"1_WARN_00_15".%X9 := NOT "DI OUT P01".V90_A.DRV.Support.HomeDone;

 

 

 

Network 17: 1_WRN_P01_X10 V90_B Servo drive metering component B Refpoint

#"1_WARN_00_15".%X10 := NOT "DI OUT P01".V90_B.DRV.Support.HomeDone;

 

 

 

Network 18: 1_WRN_P01_X12 Requested running time elapsed

#"1_WARN_00_15".%X12 := "DI MAIN P01".MoDA.RunTimeCntr_seq1 > "DI MAIN P01".MoDA.RunTimeSetP_seq1;

 

 

 

Network 19: Complete module fault message

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

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

"ModulDa".P01.STS."3_ModuleFLT_00_31" := DW#16#FFFFFFFF AND (SHL_DWORD(IN := #"5_FAULT_00_15", N := 16) OR #"6_FAULT_00_15");

"ModulDa".P01.STS."4_ModuleFLT_00_31" := DW#16#FFFFFFFF AND (SHL_DWORD(IN := #"7_FAULT_00_15", N := 16) OR #"8_FAULT_00_15");

#FLT_MODULE := 0 <> ("ModulDa".P01.STS."1_ModuleFLT_00_31" OR "ModulDa".P01.STS."2_ModuleFLT_00_31" OR "ModulDa".P01.STS."3_ModuleFLT_00_31" OR "ModulDa".P01.STS."4_ModuleFLT_00_31");