diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/ControlOpc.Act_PanelMode.PVM.dock b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/ControlOpc.Act_PanelMode.PVM.dock index a929944..180e5fb 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/ControlOpc.Act_PanelMode.PVM.dock +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/ControlOpc.Act_PanelMode.PVM.dock @@ -43,10 +43,10 @@ Position X=0 Y=0 Width=0 Height=0 TabWidth Name=150 Type=0 Scope=0 Force=0 Index BoardLifterShr BOOL 0 " FALSE" 1 1 1 2 0 0 BoardExpansionStr BOOL 0 " FALSE" 1 1 1 2 0 0 BoardExpansionShr BOOL 0 " FALSE" 1 1 1 2 0 0 - SupportLStr BOOL 0 " FALSE" 1 1 1 2 0 0 - SupportLShr BOOL 0 " FALSE" 1 1 1 2 0 0 - SupportRStr BOOL 0 " FALSE" 1 1 1 2 0 0 - SupportRShr BOOL 0 " FALSE" 1 1 1 2 0 0 + SupportLStr BOOL 0 " *" 1 1 1 2 0 0 + SupportLShr BOOL 0 " *" 1 1 1 2 0 0 + SupportRStr BOOL 0 " *" 1 1 1 2 0 0 + SupportRShr BOOL 0 " *" 1 1 1 2 0 0 HydraulicStr BOOL 0 " *" 1 1 1 2 0 0 HydraulicShr BOOL 0 " *" 1 1 1 2 0 0 ECUStr BOOL 0 " *" 1 1 1 2 0 0 diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/ControlRem.Main.PVM.dock b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/ControlRem.Main.PVM.dock index b1e6f3c..96c4481 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/ControlRem.Main.PVM.dock +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/ControlRem.Main.PVM.dock @@ -1,5 +1,5 @@ WATCH Ver=2.00 PLCName=PLC1 CPUName=CPU TaskName=ControlRem -Position X=0 Y=0 Width=0 Height=0 TabWidth Name=150 Type=0 Scope=0 Force=0 Index=17 ASCIIString=0 +Position X=0 Y=0 Width=0 Height=0 TabWidth Name=150 Type=0 Scope=0 Force=0 Index=47 ASCIIString=0 name type force value level type len format place expand specs RemoteKey EJM_RemoteControl 0 " *" 0 24 1 0 0 1 WorkMode SINT 0 " 0" 1 2 1 10 0 0 @@ -37,13 +37,15 @@ Position X=0 Y=0 Width=0 Height=0 TabWidth Name=150 Type=0 Scope=0 Force=0 Index HydraulicShr BOOL 0 " FALSE" 1 1 1 2 0 0 ECUStr BOOL 0 " FALSE" 1 1 1 2 0 0 ECUShr BOOL 0 " FALSE" 1 1 1 2 0 0 - SupportTmpStr BOOL 0 " *" 1 1 1 2 0 0 - SupportTmpShr BOOL 0 " *" 1 1 1 2 0 0 - RollerStr BOOL 0 " *" 1 1 1 2 0 0 - RollerShr BOOL 0 " *" 1 1 1 2 0 0 - LubPump BOOL 0 " *" 1 1 1 2 0 0 - BoostPump BOOL 0 " *" 1 1 1 2 0 0 - TrackTension BOOL 0 " *" 1 1 1 2 0 0 - TransportTension BOOL 0 " *" 1 1 1 2 0 0 - DustFan BOOL 0 " *" 1 1 1 2 0 0 - HighSpeed BOOL 0 " *" 1 1 1 2 0 0 + SupportTmpStr BOOL 0 " FALSE" 1 1 1 2 0 0 + SupportTmpShr BOOL 0 " FALSE" 1 1 1 2 0 0 + RollerStr BOOL 0 " FALSE" 1 1 1 2 0 0 + RollerShr BOOL 0 " FALSE" 1 1 1 2 0 0 + LubPump BOOL 0 " FALSE" 1 1 1 2 0 0 + BoostPump BOOL 0 " FALSE" 1 1 1 2 0 0 + TrackTension BOOL 0 " FALSE" 1 1 1 2 0 0 + TransportTension BOOL 0 " FALSE" 1 1 1 2 0 0 + DustFan BOOL 0 " FALSE" 1 1 1 2 0 0 + HighSpeed BOOL 0 " FALSE" 1 1 1 2 0 0 + IN_CtrlMode EJM_CtrlMode 0 " *" 0 24 1 0 0 1 + ModeNum USINT 0 " 1" 1 5 1 10 0 0 diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/General.Dev_Transport.PVM.dock b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/General.Dev_Transport.PVM.dock index e345888..83dcf0f 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/General.Dev_Transport.PVM.dock +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/General.Dev_Transport.PVM.dock @@ -19,9 +19,9 @@ Position X=0 Y=0 Width=0 Height=0 TabWidth Name=150 Type=0 Scope=0 Force=0 Index PT TIME 0 " T#14s" 2 12 1 1 0 0 Q BOOL 0 " FALSE" 2 1 1 2 0 0 ET TIME 0 " T#0ms" 2 12 1 1 0 0 - StartTime TIME 0 " T#02h_26m_43s_510ms" 2 12 1 1 0 0 + StartTime TIME 0 " T#04h_41m_54s_020ms" 2 12 1 1 0 0 M BOOL 0 " FALSE" 2 1 1 2 0 0 - Restart UDINT 0 " 29" 2 7 1 10 0 0 + Restart UDINT 0 " 34" 2 7 1 10 0 0 VoiceingRev RS 0 " *" 1 24 1 0 0 0 SET BOOL 0 " *" 2 1 1 2 0 0 RESET1 BOOL 0 " *" 2 1 1 2 0 0 @@ -31,21 +31,21 @@ Position X=0 Y=0 Width=0 Height=0 TabWidth Name=150 Type=0 Scope=0 Force=0 Index PT TIME 0 " T#14s" 2 12 1 1 0 0 Q BOOL 0 " FALSE" 2 1 1 2 0 0 ET TIME 0 " T#0ms" 2 12 1 1 0 0 - StartTime TIME 0 " T#01h_07m_17s_020ms" 2 12 1 1 0 0 + StartTime TIME 0 " T#01h_07m_08s_020ms" 2 12 1 1 0 0 M BOOL 0 " FALSE" 2 1 1 2 0 0 - Restart UDINT 0 " 29" 2 7 1 10 0 0 - RunningCor BOOL 0 " TRUE" 1 1 1 2 0 0 + Restart UDINT 0 " 34" 2 7 1 10 0 0 + RunningCor BOOL 0 " FALSE" 1 1 1 2 0 0 RunningRev BOOL 0 " FALSE" 1 1 1 2 0 0 - Running BOOL 0 " TRUE" 1 1 1 2 0 0 + Running BOOL 0 " FALSE" 1 1 1 2 0 0 Pausing BOOL 0 " FALSE" 1 1 1 2 0 0 StartCorCMD BOOL 0 " FALSE" 1 1 1 2 0 0 StartRevCMD BOOL 0 " FALSE" 1 1 1 2 0 0 - StopCMD BOOL 0 " FALSE" 1 1 1 2 0 0 + StopCMD BOOL 0 " TRUE" 1 1 1 2 0 0 Stop BOOL 0 " FALSE" 1 1 1 2 0 0 PanelKey EJM_RemoteControl 0 " *" 0 24 1 0 0 1 TransportCorotation BOOL 0 " FALSE" 1 1 1 2 0 0 TransportReversal BOOL 0 " FALSE" 1 1 1 2 0 0 - TransportStop BOOL 0 " FALSE" 1 1 1 2 0 0 + TransportStop BOOL 0 " *" 1 1 1 2 0 0 Q_MotorKM EJM_MotorKM 0 " *" 0 24 1 0 0 1 - TransportCorotation BOOL 0 " TRUE" 1 1 1 2 0 0 - TransportReversal BOOL 0 " FALSE" 1 1 1 2 0 0 + TransportCorotation BOOL 0 " *" 1 1 1 2 0 0 + TransportReversal BOOL 0 " *" 1 1 1 2 0 0 diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/IOs.Act_Module_1.PVM.dock b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/IOs.Act_Module_1.PVM.dock index aeba965..20d6331 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/IOs.Act_Module_1.PVM.dock +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/IOs.Act_Module_1.PVM.dock @@ -4,4 +4,4 @@ Position X=0 Y=0 Width=0 Height=0 TabWidth Name=150 Type=0 Scope=0 Force=0 Index Q_MotorKM EJM_MotorKM 0 " *" 0 24 1 0 0 1 Pump BOOL 0 " TRUE" 1 1 1 2 0 0 IO_Ohter EJM_OhterIO 0 " *" 0 24 1 0 0 1 - Q_SprayCut BOOL 0 " TRUE" 1 1 1 2 0 0 + Q_SprayCut BOOL 0 " FALSE" 1 1 1 2 0 0 diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/IOs.Act_X1B.PVM.dock b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/IOs.Act_X1B.PVM.dock index 9c0a85c..5660ffb 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/IOs.Act_X1B.PVM.dock +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/IOs.Act_X1B.PVM.dock @@ -2,28 +2,28 @@ WATCH Ver=2.00 PLCName=PLC1 CPUName=CPU TaskName=IOs Position X=0 Y=0 Width=0 Height=0 TabWidth Name=150 Type=0 Scope=0 Force=0 Index=21 ASCIIString=0 name type force value level type len format place expand specs IN_PhasePump fbEJM_Phase 0 " *" 0 24 1 0 0 1 - IU REAL 0 " 0.0" 1 8 1 10 0 0 - IV REAL 0 " 0.0" 1 8 1 10 0 0 - IW REAL 0 " 0.0" 1 8 1 10 0 0 - IT REAL 0 " 84.47" 1 8 1 10 0 0 - U REAL 0 " 0.0" 1 8 1 10 0 0 - V REAL 0 " 0.0" 1 8 1 10 0 0 - W REAL 0 " 0.0" 1 8 1 10 0 0 - Temp REAL 0 " 84.47" 1 8 1 10 0 0 - OutI_U INT 0 " 0" 1 3 1 10 0 0 - OutI_V INT 0 " 0" 1 3 1 10 0 0 - OutI_W INT 0 " 0" 1 3 1 10 0 0 + IU REAL 0 " 51.793" 1 8 1 10 0 0 + IV REAL 0 " 48.259" 1 8 1 10 0 0 + IW REAL 0 " 48.021" 1 8 1 10 0 0 + IT REAL 0 " 84.4917" 1 8 1 10 0 0 + U REAL 0 " 48.566" 1 8 1 10 0 0 + V REAL 0 " 49.732" 1 8 1 10 0 0 + W REAL 0 " 48.286" 1 8 1 10 0 0 + Temp REAL 0 " 84.4917" 1 8 1 10 0 0 + OutI_U INT 0 " 49" 1 3 1 10 0 0 + OutI_V INT 0 " 50" 1 3 1 10 0 0 + OutI_W INT 0 " 48" 1 3 1 10 0 0 OutI_T INT 0 " 0" 1 3 1 10 0 0 - MaxValue REAL 0 " 0.0" 1 8 1 10 0 0 - MinValue REAL 0 " 0.0" 1 8 1 10 0 0 - AverageeValue REAL 0 " 0.0" 1 8 1 10 0 0 - Filtered5_U REAL 0 " 0.0" 1 8 1 10 0 0 - Filtered5_V REAL 0 " 0.0" 1 8 1 10 0 0 - Filtered5_W REAL 0 " 0.0" 1 8 1 10 0 0 - Filtered30_U REAL 0 " 0.0" 1 8 1 10 0 0 - Filtered30_V REAL 0 " 0.0" 1 8 1 10 0 0 - Filtered30_W REAL 0 " 0.0" 1 8 1 10 0 0 - Filtered_Temp REAL 0 " 85.49195" 1 8 1 10 0 0 + MaxValue REAL 0 " 49.732" 1 8 1 10 0 0 + MinValue REAL 0 " 48.286" 1 8 1 10 0 0 + AverageeValue REAL 0 " 48.8613319" 1 8 1 10 0 0 + Filtered5_U REAL 0 " 50.8496" 1 8 1 10 0 0 + Filtered5_V REAL 0 " 48.8872" 1 8 1 10 0 0 + Filtered5_W REAL 0 " 50.717598" 1 8 1 10 0 0 + Filtered30_U REAL 0 " 50.7883" 1 8 1 10 0 0 + Filtered30_V REAL 0 " 50.9880676" 1 8 1 10 0 0 + Filtered30_W REAL 0 " 49.754467" 1 8 1 10 0 0 + Filtered_Temp REAL 0 " 84.88604" 1 8 1 10 0 0 Filtered MTFilterMovingAverage[0..6] 0 " *" 1 24 7 0 0 0 a,1,7 Filtered[0] MTFilterMovingAverage 0 " *" 2 24 1 0 0 0 Enable BOOL 0 " *" 3 1 1 2 0 0 diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/IOs.Main.PVM.dock b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/IOs.Main.PVM.dock index bf221c1..6df6d6b 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/IOs.Main.PVM.dock +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/IOs.Main.PVM.dock @@ -1,5 +1,5 @@ WATCH Ver=2.00 PLCName=PLC1 CPUName=CPU TaskName=IOs -Position X=0 Y=0 Width=0 Height=0 TabWidth Name=150 Type=0 Scope=0 Force=0 Index=417 ASCIIString=0 +Position X=0 Y=0 Width=0 Height=0 TabWidth Name=150 Type=0 Scope=0 Force=0 Index=423 ASCIIString=0 name type force value level type len format place expand specs IN_PhaseCut fbEJM_Phase 0 " *" 0 24 1 0 0 0 IU REAL 0 " *" 1 8 1 10 0 0 @@ -423,3 +423,5 @@ Position X=0 Y=0 Width=0 Height=0 TabWidth Name=150 Type=0 Scope=0 Force=0 Index DataStatus2 UDINT 0 " 0" 1 7 1 10 0 0 isShield1 UDINT 0 " 0" 1 7 1 10 0 0 isShield2 UDINT 0 " 0" 1 7 1 10 0 0 + IN_CtrlMode EJM_CtrlMode 0 " *" 0 24 1 0 0 1 + PanelMode BOOL 0 " TRUE" 1 1 1 2 0 0 diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/Insulation.Main.PVM.dock b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/Insulation.Main.PVM.dock index cca1e9f..09e4323 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/Insulation.Main.PVM.dock +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/Insulation.Main.PVM.dock @@ -42,14 +42,14 @@ Position X=0 Y=0 Width=0 Height=0 TabWidth Name=150 Type=0 Scope=0 Force=0 Index PT TIME 0 " T#20s" 2 12 1 1 0 0 Q BOOL 0 " TRUE" 2 1 1 2 0 0 ET TIME 0 " T#20s" 2 12 1 1 0 0 - StartTime TIME 0 " T#07h_10m_09s_210ms" 2 12 1 1 0 0 + StartTime TIME 0 " T#01h_07m_08s_020ms" 2 12 1 1 0 0 M BOOL 0 " TRUE" 2 1 1 2 0 0 - Restart UDINT 0 " 29" 2 7 1 10 0 0 + Restart UDINT 0 " 34" 2 7 1 10 0 0 M_Check_TON TON 0 " *" 1 24 1 0 0 1 IN BOOL 0 " TRUE" 2 1 1 2 0 0 PT TIME 0 " T#07s" 2 12 1 1 0 0 Q BOOL 0 " TRUE" 2 1 1 2 0 0 ET TIME 0 " T#07s" 2 12 1 1 0 0 - StartTime TIME 0 " T#07h_10m_29s_210ms" 2 12 1 1 0 0 + StartTime TIME 0 " T#01h_07m_08s_020ms" 2 12 1 1 0 0 M BOOL 0 " TRUE" 2 1 1 2 0 0 - Restart UDINT 0 " 29" 2 7 1 10 0 0 + Restart UDINT 0 " 34" 2 7 1 10 0 0 diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/PageContro.Main.PVM.dock b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/PageContro.Main.PVM.dock index 332824a..d9f9aeb 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/PageContro.Main.PVM.dock +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/PageContro.Main.PVM.dock @@ -1,5 +1,5 @@ WATCH Ver=2.00 PLCName=PLC1 CPUName=CPU TaskName=PageContro -Position X=0 Y=0 Width=0 Height=0 TabWidth Name=150 Type=0 Scope=0 Force=0 Index=0 ASCIIString=0 +Position X=0 Y=0 Width=0 Height=0 TabWidth Name=150 Type=0 Scope=0 Force=0 Index=77 ASCIIString=0 name type force value level type len format place expand specs DK BOOL[0..63] 0 " *" 0 1 64 0 1 0 a,1,2;a, DK[0] BOOL 0 " *" 1 1 1 2 1 0 @@ -78,4 +78,4 @@ Position X=0 Y=0 Width=0 Height=0 TabWidth Name=150 Type=0 Scope=0 Force=0 Index RemoteDKey2 UDINT 0 " 0" 1 7 1 10 0 0 RemoteAKey1 UDINT 0 " 0" 1 7 1 10 0 0 RemoteAKey2 UDINT 0 " 0" 1 7 1 10 0 0 - CurrentPage UINT 0 " 0" 1 6 1 10 0 0 + CurrentPage UINT 0 " 12" 1 6 1 10 0 0 diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/PageMap.Act_Conditions.PVM.dock b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/PageMap.Act_Conditions.PVM.dock index 106ecfa..918c47b 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/PageMap.Act_Conditions.PVM.dock +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/PageMap.Act_Conditions.PVM.dock @@ -1,3 +1,14 @@ WATCH Ver=2.00 PLCName=PLC1 CPUName=CPU TaskName=PageMap -Position X=0 Y=0 Width=0 Height=0 TabWidth Name=150 Type=0 Scope=0 Force=0 Index=0 ASCIIString=0 +Position X=0 Y=0 Width=0 Height=0 TabWidth Name=150 Type=0 Scope=0 Force=0 Index=10 ASCIIString=0 name type force value level type len format place expand specs + But_Shield tShield 0 " *" 0 24 1 0 0 1 + DataStatus1 UDINT 0 " 2#1100_1100_1100_0010_1100_0110_1000_0011" 1 7 1 2 0 0 + DataStatus2 UDINT 0 " 2#0000_0000_1111_1111_1100_0010_1100_1100" 1 7 1 2 0 0 + isShield1 UDINT 0 " 2#0000_0000_0000_0000_0000_0000_0000_0000" 1 7 1 2 0 0 + isShield2 UDINT 0 " 0" 1 7 1 10 0 0 + StartStopConditions tsStartStopConditions 0 " *" 0 24 1 0 0 1 + Cut UDINT 0 " 2#0000_0001_0100_0011_0000_0000_0000_1100" 1 7 1 2 0 0 + Pump UDINT 0 " 2#0001_0001_0100_0001_0000_0000_0000_1110" 1 7 1 2 0 0 + Transport UDINT 0 " 2#0010_0110_0000_0011_0000_0001_1000_1100" 1 7 1 2 0 0 + Loader UDINT 0 " 2#0000_0100_1100_0011_0000_0000_0000_1100" 1 7 1 2 0 0 + Standby UDINT 0 " 2#0000_0001_0100_0011_0000_0000_0000_1100" 1 7 1 2 0 0 diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/PageMap.Act_Insulation.PVM.dock b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/PageMap.Act_Insulation.PVM.dock index c87e9af..f86f74c 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/PageMap.Act_Insulation.PVM.dock +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/PageMap.Act_Insulation.PVM.dock @@ -1,5 +1,5 @@ WATCH Ver=2.00 PLCName=PLC1 CPUName=CPU TaskName=PageMap Position X=0 Y=0 Width=0 Height=0 TabWidth Name=150 Type=0 Scope=0 Force=0 Index=1 ASCIIString=0 name type force value level type len format place expand specs - HMI_LC_Status UDINT 0 " 17" 0 7 1 10 0 0 + HMI_LC_Status UDINT 0 " 29" 0 7 1 10 0 0 HMI_LC_Cut UDINT 0 " 458772" 0 7 1 10 0 0 diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/LastUser.set b/PLC_Program/EJM560_JueMao_20250804_V0/LastUser.set index 21e3491..70e3b64 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/LastUser.set +++ b/PLC_Program/EJM560_JueMao_20250804_V0/LastUser.set @@ -3,6 +3,6 @@ - + \ No newline at end of file diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Global.typ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Global.typ index 5914d35..8b6b176 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Global.typ +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Global.typ @@ -20,8 +20,7 @@ TYPE tsStartStopConditions : STRUCT Cut : UDINT;(* 电机启停条件,分为高低位,高16位为启动条件,低16位为停止条件 *) Pump : UDINT;(* 电机启停条件,分为高低位,高16位为启动条件,低16位为停止条件 *) - TransportCorotation : UDINT;(* 电机启停条件,分为高低位,高16位为启动条件,低16位为停止条件 *) - TransportReversal : UDINT;(* 电机启停条件,分为高低位,高16位为启动条件,低16位为停止条件 *) + Transport : UDINT;(* 电机启停条件,分为高低位,高16位为启动条件,低16位为停止条件 *) Loader : UDINT;(* 电机启停条件,分为高低位,高16位为启动条件,低16位为停止条件 *) Standby : UDINT;(* 电机启停条件,分为高低位,高16位为启动条件,低16位为停止条件 *) END_STRUCT; diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/Logical/Types.typ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/Logical/Types.typ index 5f061c4..d0c2a79 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/Logical/Types.typ +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/Logical/Types.typ @@ -48,7 +48,16 @@ TYPE LC_Transport : BOOL; (* 漏电检测是否正常,正常为TRUE-运输电机 *) LC_Loader : BOOL; (* 漏电检测是否正常,正常为TRUE-装载电机 *) LC_Standby : BOOL; (* 漏电检测是否正常,正常为TRUE-备用电机 *) - + NotCurrent_Pump : BOOL; (* 是否正常-正常为TRUE - 启动后无电流 -油泵 *) + NotCurrent_Cut : BOOL; (* 是否正常-正常为TRUE - 启动后无电流 -截割 *) + NotCurrent_Loader : BOOL; (* 是否正常-正常为TRUE - 启动后无电流 -装载 *) + NotCurrent_Transport: BOOL; (* 是否正常-正常为TRUE - 启动后无电流 -运输 *) + NotCurrent_Standby : BOOL; (* 是否正常-正常为TRUE - 启动后无电流 -备用 *) + Contactor_Pump : BOOL; (* 是否正常-正常为TRUE - 接触器粘连 -油泵 *) + Contactor_Cut : BOOL; (* 是否正常-正常为TRUE - 接触器粘连 -截割 *) + Contactor_Loader : BOOL; (* 是否正常-正常为TRUE - 接触器粘连 -装载 *) + Contactor_Transport : BOOL; (* 是否正常-正常为TRUE - 接触器粘连 -运输 *) + Contactor_Standby : BOOL; (* 是否正常-正常为TRUE - 接触器粘连 -备用 *) END_STRUCT; UnShPar : STRUCT (* UnShildPar 不可屏蔽 *) Ex_Stop : BOOL; (* 是否正常-正常为TRUE - 外部急停 *) diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/Protect/fbCurrentProtectionInverse.st b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/Protect/fbCurrentProtectionInverse.st index 8f2dde8..66a7f82 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/Protect/fbCurrentProtectionInverse.st +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/Protect/fbCurrentProtectionInverse.st @@ -102,7 +102,7 @@ FUNCTION_BLOCK fbCurrentProtectionInverse isPhaseLoss_V := FALSE; isPhaseLoss_W := FALSE; END_IF; - OL_TON( IN := Phase.MaxValue < (OverProtection.Underload * 0.01 * OverProtection.Rated) , PT := OverProtection.UnderloadTime); + OL_TON( IN := Q_Start AND I_Start AND (Phase.MaxValue < (OverProtection.Underload * 0.01 * OverProtection.Rated)) , PT := OverProtection.UnderloadTime); isUnderload := OL_TON.Q; (* 欠载 *) IF Phase.MaxValue > 0 AND Q_Start AND I_Start AND NOT isUnderload THEN diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/General/ACT_Condition.st b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/General/ACT_Condition.st index 93753f2..a17d92d 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/General/ACT_Condition.st +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/General/ACT_Condition.st @@ -67,7 +67,6 @@ ACTION ACT_Condition: Cond.En.Temp_TransportR := ShiledBtn.En.Temp_TransportR OR (NOT TempProtection_TransportR.isAlarm); (* 温度保护-右运输机电机 *) Cond.En.Temp_Standby := ShiledBtn.En.Temp_Standby OR (NOT TempProtection_Standby.isAlarm); (* 温度保护-备用电机 *) Cond.En.Temp_OilBox := ShiledBtn.En.Temp_Standby OR (NOT OilBoxProtection.isOverTemp); (* 温度保护-油箱温度 *) - Cond.En.Temp_Case; (********************************************* 压 力 | 流 量 保 护 *********************************************) Cond.En.Pressure_Pump1 := ShiledBtn.En.Pressure_Pump1 (* 压力保护-油泵压力1 *) OR (NOT Pressure_Pump1.isOver (* 触发过压保护 *) @@ -124,14 +123,28 @@ ACTION ACT_Condition: ); Cond.En.Level_OilBox := ShiledBtn.En.Level_OilBox OR OilBoxProtection.isUnderLevel; (* 是否正常-正常为TRUE - 油箱液位 *) - Cond.Un.InsulDone; + Cond.Un.InsulDone := TRUE; Cond.En.Humi_Case := ShiledBtn.En.Humi_Case; (* 是否正常-正常为TRUE - 电控箱湿度 *) - + Cond.En.Temp_Case :=ShiledBtn.En.Temp_Case; (* 是否正常-正常为TRUE - 电控箱温度 *) Cond.En.Angle_Cut := ShiledBtn.En.Angle_Cut; (* 是否正常-正常为TRUE - 截割角度 *) Cond.En.Ch4Out := ShiledBtn.En.Ch4Out; (* 是否正常-正常为TRUE - 甲烷超标 *) Cond.En.PhaseSequence := ShiledBtn.En.PhaseSequence OR IO_Ohter.I_PhaseSequence;(* 是否正常-正常为TRUE - 进线相序 *) Cond.En.CB2 := ShiledBtn.En.CB2; (* 是否正常-正常为TRUE - CB2 *) Cond.En.CB3 := ShiledBtn.En.CB3; (* 是否正常-正常为TRUE - CB3 *) Cond.Un.Ex_Stop := (EStopBut = 0); + Cond.Un.ESR1 := I_ESR.ESR1; + Cond.Un.ESR2 := I_ESR.ESR2; + Cond.En.NotCurrent_Pump := ShiledBtn.En.NotCurrent_Pump OR (NOT CurrentProtection_Pump.isNotCurrent); + Cond.En.NotCurrent_Cut := ShiledBtn.En.NotCurrent_Cut OR (NOT CurrentProtection_Cut.isNotCurrent); + Cond.En.NotCurrent_Loader := ShiledBtn.En.NotCurrent_Loader OR (NOT CurrentProtection_LoaderL.isNotCurrent) OR (NOT CurrentProtection_LoaderR.isNotCurrent); + Cond.En.NotCurrent_Transport := ShiledBtn.En.NotCurrent_Transport OR (NOT CurrentProtection_TransportL.isNotCurrent) OR (NOT CurrentProtection_TransportR.isNotCurrent); + Cond.En.NotCurrent_Standby := ShiledBtn.En.NotCurrent_Standby OR (NOT CurrentProtection_Standby.isNotCurrent); + + Cond.En.Contactor_Pump := ShiledBtn.En.Contactor_Pump OR (NOT CurrentProtection_Pump.isStartWithCurrent) OR (NOT CurrentProtection_Pump.isContactorAdhesion); + Cond.En.Contactor_Cut := ShiledBtn.En.Contactor_Cut OR (NOT CurrentProtection_Cut.isStartWithCurrent) OR (NOT CurrentProtection_Cut.isContactorAdhesion); + Cond.En.Contactor_Loader := ShiledBtn.En.Contactor_Loader OR (NOT CurrentProtection_LoaderL.isStartWithCurrent) OR (NOT CurrentProtection_LoaderR.isStartWithCurrent) OR (NOT CurrentProtection_LoaderL.isContactorAdhesion) OR (NOT CurrentProtection_LoaderR.isContactorAdhesion); + Cond.En.Contactor_Transport := ShiledBtn.En.Contactor_Transport OR (NOT CurrentProtection_TransportL.isStartWithCurrent) OR (NOT CurrentProtection_TransportR.isStartWithCurrent)OR (NOT CurrentProtection_TransportL.isContactorAdhesion) OR (NOT CurrentProtection_TransportR.isContactorAdhesion); + Cond.En.Contactor_Standby := ShiledBtn.En.Contactor_Standby OR (NOT CurrentProtection_Standby.isStartWithCurrent) OR (NOT CurrentProtection_Standby.isContactorAdhesion); + END_ACTION diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/General/ACT_Hardware.st b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/General/ACT_Hardware.st index 609c218..d03181f 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/General/ACT_Hardware.st +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/General/ACT_Hardware.st @@ -1,68 +1,57 @@ ACTION ACT_Hardware: (* 硬件条件, 是启动的必要条件,例如,停止信号,绝缘检测,电压,相序,开关,ESR,水流量,水压力等等 *) - HardwareOK := Cond.Un.InsulDone (* 绝缘检测完成 *) - AND Cond.En.Voltage (* 电压 *) - AND Cond.En.DevComm (* 所有设备在线 *) - AND Cond.En.Ch4Out (* 甲烷超标 *) - AND Cond.En.PhaseSequence (* 相序 *) - AND Cond.Un.ESR1 (* ESR1 *) - AND Cond.Un.ESR2 (* ESR1 *) - AND Cond.Un.Ex_Stop; (* 外部急停 *) + HardwareOK := Cond.Un.InsulDone (* 绝缘检测完成 *) + AND Cond.En.Voltage (* 电压 *) + AND Cond.En.DevComm (* 所有设备在线 *) + AND Cond.En.Ch4Out (* 甲烷超标 *) + AND Cond.En.PhaseSequence (* 相序 *) + AND Cond.Un.ESR1 (* ESR1 *) + AND Cond.Un.ESR2 (* ESR1 *) + AND Cond.Un.Ex_Stop; (* 外部急停 *) (* 调试模式 *) IF PS.isDebugMode THEN HardwareOK := TRUE; END_IF; - MS_Pump.Stop := NOT HardwareOK - AND NOT Cond.En.Cur_Pump - AND NOT Cond.En.Temp_Pump - AND NOT Cond.En.Temp_OilBox - AND NOT Cond.En.Level_OilBox - AND NOT Cond.En.LC_Pump - AND CurrentProtection_Pump.isNotCurrent (* 是否启动后无电流 *) - AND CurrentProtection_Pump.isStartWithCurrent (* 是否无启动有电流 *) - AND CurrentProtection_Pump.isContactorAdhesion; (* 是否继电器粘连 *) - - MS_Cut.Stop := NOT HardwareOK - AND NOT Cond.En.Cur_Cut - AND NOT Cond.En.Temp_Cut - AND NOT Cond.En.LC_Cut - AND CurrentProtection_Cut.isNotCurrent (* 是否启动后无电流 *) - AND CurrentProtection_Cut.isStartWithCurrent (* 是否无启动有电流 *) - AND CurrentProtection_Cut.isContactorAdhesion; (* 是否继电器粘连 *) - - MS_Loader.Stop := NOT HardwareOK - AND NOT Cond.En.Temp_LoaderL - AND NOT Cond.En.Temp_LoaderR - AND NOT Cond.En.Cur_LoaderL - AND NOT Cond.En.Cur_LoaderR - AND NOT Cond.En.LC_Loader - AND CurrentProtection_LoaderL.isNotCurrent (* 是否启动后无电流 *) - AND CurrentProtection_LoaderL.isStartWithCurrent (* 是否无启动有电流 *) - AND CurrentProtection_LoaderL.isContactorAdhesion (* 是否继电器粘连 *) - AND CurrentProtection_LoaderR.isNotCurrent (* 是否启动后无电流 *) - AND CurrentProtection_LoaderR.isStartWithCurrent (* 是否无启动有电流 *) - AND CurrentProtection_LoaderR.isContactorAdhesion; (* 是否继电器粘连 *) - - MS_Transport.Stop := NOT HardwareOK - AND NOT Cond.En.Temp_TransportL - AND NOT Cond.En.Temp_TransportR - AND NOT Cond.En.Cur_TransportL - AND NOT Cond.En.Cur_TransportR - AND NOT Cond.En.LC_Transport - AND CurrentProtection_TransportL.isNotCurrent (* 是否启动后无电流 *) - AND CurrentProtection_TransportL.isStartWithCurrent (* 是否无启动有电流 *) - AND CurrentProtection_TransportL.isContactorAdhesion(* 是否继电器粘连 *) - AND CurrentProtection_TransportR.isNotCurrent (* 是否启动后无电流 *) - AND CurrentProtection_TransportR.isStartWithCurrent (* 是否无启动有电流 *) - AND CurrentProtection_TransportR.isContactorAdhesion;(* 是否继电器粘连 *) + MS_Pump.Stop := NOT HardwareOK (* 硬件条件 *) + AND NOT Cond.En.Cur_Pump (* 电机电流 *) + AND NOT Cond.En.Temp_Pump (* 电机温度 *) + AND NOT Cond.En.Temp_OilBox (* 油箱温度 *) + AND NOT Cond.En.Level_OilBox (* 油箱液位 *) + AND NOT Cond.En.LC_Pump (* 绝缘检测结果 *) + AND NOT Cond.En.NotCurrent_Pump (* 是否启动后无电流 *) + AND NOT Cond.En.Contactor_Pump; (* 是否接触器粘连 *) - MS_Standby.Stop := NOT HardwareOK - AND NOT Cond.En.Cur_Standby - AND NOT Cond.En.Temp_Standby - AND NOT Cond.En.LC_Standby - AND CurrentProtection_Standby.isNotCurrent (* 是否启动后无电流 *) - AND CurrentProtection_Standby.isStartWithCurrent (* 是否无启动有电流 *) - AND CurrentProtection_Standby.isContactorAdhesion; (* 是否继电器粘连 *) + MS_Cut.Stop := NOT HardwareOK (* 硬件条件 *) + AND NOT Cond.En.Cur_Cut (* 电机电流 *) + AND NOT Cond.En.Temp_Cut (* 电机温度 *) + AND NOT Cond.En.LC_Cut (* 绝缘检测结果 *) + AND NOT Cond.En.NotCurrent_Cut (* 是否启动后无电流 *) + AND NOT Cond.En.Contactor_Cut; (* 是否接触器粘连 *) + + MS_Loader.Stop := NOT HardwareOK (* 硬件条件 *) + AND NOT Cond.En.Cur_LoaderL (* 电机电流 左 *) + AND NOT Cond.En.Cur_LoaderR (* 电机电流 右 *) + AND NOT Cond.En.Temp_LoaderL (* 电机温度 左 *) + AND NOT Cond.En.Temp_LoaderR (* 电机温度 右 *) + AND NOT Cond.En.LC_Loader (* 绝缘检测结果 *) + AND NOT Cond.En.NotCurrent_Loader (* 是否启动后无电流 *) + AND NOT Cond.En.Contactor_Loader; (* 是否接触器粘连 *) + + MS_Transport.Stop := NOT HardwareOK (* 硬件条件 *) + AND NOT Cond.En.Temp_TransportL (* 电机电流 左 *) + AND NOT Cond.En.Temp_TransportR (* 电机电流 右 *) + AND NOT Cond.En.Cur_TransportL (* 电机温度 左 *) + AND NOT Cond.En.Cur_TransportR (* 电机温度 右 *) + AND NOT Cond.En.LC_Transport (* 绝缘检测结果 *) + AND NOT Cond.En.NotCurrent_Transport (* 是否启动后无电流 *) + AND NOT Cond.En.Contactor_Transport; (* 是否接触器粘连 *) + + MS_Standby.Stop := NOT HardwareOK (* 硬件条件 *) + AND NOT Cond.En.Cur_Standby (* 电机电流 左 *) + AND NOT Cond.En.Temp_Standby (* 电机温度 *) + AND NOT Cond.En.LC_Standby (* 绝缘检测结果 *) + AND NOT Cond.En.NotCurrent_Standby (* 是否启动后无电流 *) + AND NOT Cond.En.Contactor_Standby; (* 是否接触器粘连 *) diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/General/Dev_Cut.st b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/General/Dev_Cut.st index 940ba5d..8e9114d 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/General/Dev_Cut.st +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/General/Dev_Cut.st @@ -1,8 +1,8 @@ ACTION Dev_Cut: - (* 油泵运行信号 *) + (* 截割运行信号 *) MS_Cut.Running := I_MotorKM.Cut; - (* 油泵运行时,可能遇到的停止条件 *) + (* 截割运行时,可能遇到的停止条件 *) MS_Cut.StopCMD := MS_Cut.Stop OR (NOT MS_Pump.Running AND M_OperMode < 4) OR RemoteKey.CutStop diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Pages/PageMap/Act_Conditions.st b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Pages/PageMap/Act_Conditions.st index 7bca4dc..d09a7f1 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Pages/PageMap/Act_Conditions.st +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Pages/PageMap/Act_Conditions.st @@ -1,5 +1,346 @@ -ACTION Act_Conditions: - StartStopConditions;(* 电机启停条件,分为高低位,高16位为启动条件,低16位为停止条件 *) +ACTION Act_Conditions: + (********************************************* 第 1 行状态及按钮 *********************************************) + But_Shield.DataStatus1.0 := Cond.Un.InsulDone; (* 数据状态-绝缘检测完成 *) + But_Shield.DataStatus1.1 := Cond.En.Voltage; (* 数据状态-系统电压正常 *) + But_Shield.DataStatus1.2 := Cond.En.DevComm; (* 数据状态-所有设备在线 *) + But_Shield.DataStatus1.3 := Cond.En.Ch4Out; (* 数据状态-甲烷正常 *) + But_Shield.DataStatus1.4 := Cond.En.PhaseSequence; (* 数据状态-相序正常 *) + But_Shield.DataStatus1.5 := Cond.Un.ESR1; (* 数据状态-ESR1正常 *) + But_Shield.DataStatus1.6 := Cond.Un.ESR2; (* 数据状态-ESR2正常 *) + But_Shield.DataStatus1.7 := Cond.Un.Ex_Stop; (* 数据状态-外部急停正常 *) +// ShiledBtn.En.Voltage := But_Shield.isShield1.0; (* 屏蔽按钮-无效果 *) + ShiledBtn.En.Voltage := But_Shield.isShield1.1; (* 屏蔽按钮-系统电压 *) + ShiledBtn.En.DevComm := But_Shield.isShield1.2; (* 屏蔽按钮-所有设备在线 *) + ShiledBtn.En.Ch4Out := But_Shield.isShield1.3; (* 屏蔽按钮-甲烷超标 *) + ShiledBtn.En.PhaseSequence := But_Shield.isShield1.4; (* 屏蔽按钮-相序不正常 *) +// ShiledBtn.En.Voltage := But_Shield.isShield1.5; (* 屏蔽按钮-无效果 *) +// ShiledBtn.En.Voltage := But_Shield.isShield1.6; (* 屏蔽按钮-无效果 *) +// ShiledBtn.En.Voltage := But_Shield.isShield1.7; (* 屏蔽按钮-无效果 *) + + + (********************************************* 第 2 行状态及按钮 *********************************************) + But_Shield.DataStatus1.8 := Cond.En.Cur_Pump; (* 数据状态-油泵-电机电流 *) + But_Shield.DataStatus1.9 := Cond.En.Temp_Pump; (* 数据状态-油泵-电机温度 *) + But_Shield.DataStatus1.10 := Cond.En.Temp_OilBox; (* 数据状态-油泵-油箱温度 *) + But_Shield.DataStatus1.11 := Cond.En.Level_OilBox; (* 数据状态-油泵-油箱液位 *) +// But_Shield.DataStatus1.12 := Cond.En.LC_Pump; (* 数据状态- *) + But_Shield.DataStatus1.13 := Cond.En.LC_Pump; (* 数据状态-油泵-绝缘检测结果 *) + But_Shield.DataStatus1.14 := Cond.En.NotCurrent_Pump; (* 数据状态-油泵-是否启动后无电流 *) + But_Shield.DataStatus1.15 := Cond.En.Contactor_Pump; (* 数据状态-油泵-是否接触器粘连 *) + + ShiledBtn.En.Cur_Pump := But_Shield.isShield1.8; (* 屏蔽按钮-油泵-电机电流 *) + ShiledBtn.En.Temp_Pump := But_Shield.isShield1.9; (* 屏蔽按钮-油泵-电机温度 *) + ShiledBtn.En.Temp_OilBox := But_Shield.isShield1.10; (* 屏蔽按钮-油泵-油箱温度 *) + ShiledBtn.En.Level_OilBox := But_Shield.isShield1.11; (* 屏蔽按钮-油泵-油箱液位 *) +// ShiledBtn.En.LC_Pump := But_Shield.isShield1.12; (* 屏蔽按钮- *) + ShiledBtn.En.LC_Pump := But_Shield.isShield1.13; (* 屏蔽按钮-油泵-绝缘检测结果 *) + ShiledBtn.En.NotCurrent_Pump := But_Shield.isShield1.14; (* 屏蔽按钮-油泵-是否启动后无电流 *) + ShiledBtn.En.Contactor_Pump := But_Shield.isShield1.15; (* 屏蔽按钮-油泵-是否接触器粘连 *) + + + (********************************************* 第 3 行状态及按钮 *********************************************) + But_Shield.DataStatus1.16 := Cond.En.Cur_Cut; (* 数据状态-截割-电机电流 *) + But_Shield.DataStatus1.17 := Cond.En.Temp_Cut; (* 数据状态-截割-电机温度 *) +// But_Shield.DataStatus1.18 := Cond.En.Temp_OilBox; (* 数据状态-油泵-油箱温度 *) +// But_Shield.DataStatus1.19 := Cond.En.Level_OilBox; (* 数据状态-油泵-油箱液位 *) +// But_Shield.DataStatus1.20 := Cond.En.LC_Cut; (* 数据状态- *) + But_Shield.DataStatus1.21 := Cond.En.LC_Cut; (* 数据状态-油泵-绝缘检测结果 *) + But_Shield.DataStatus1.22 := Cond.En.NotCurrent_Cut; (* 数据状态-油泵-是否启动后无电流 *) + But_Shield.DataStatus1.23 := Cond.En.Contactor_Cut; (* 数据状态-油泵-是否接触器粘连 *) + + ShiledBtn.En.Cur_Cut := But_Shield.isShield1.16; (* 屏蔽按钮-截割-电机电流 *) + ShiledBtn.En.Temp_Cut := But_Shield.isShield1.17; (* 屏蔽按钮-截割-电机温度 *) +// ShiledBtn.En.Voltage := But_Shield.isShield1.18; (* 屏蔽按钮- *) +// ShiledBtn.En.Voltage := But_Shield.isShield1.19; (* 屏蔽按钮- *) +// ShiledBtn.En.Voltage := But_Shield.isShield1.20; (* 屏蔽按钮- *) + ShiledBtn.En.LC_Cut := But_Shield.isShield1.21; (* 屏蔽按钮-截割-绝缘检测结果 *) + ShiledBtn.En.NotCurrent_Cut := But_Shield.isShield1.22; (* 屏蔽按钮-截割-是否启动后无电流 *) + ShiledBtn.En.Contactor_Cut := But_Shield.isShield1.23; (* 屏蔽按钮-截割-是否接触器粘连 *) + + + (********************************************* 第 4 行状态及按钮 *********************************************) + But_Shield.DataStatus1.24 := Cond.En.Cur_LoaderL; (* 数据状态-左装载-电机电流 *) + But_Shield.DataStatus1.25 := Cond.En.Cur_LoaderR; (* 数据状态-右装载-电机电流 *) + But_Shield.DataStatus1.26 := Cond.En.Temp_LoaderL; (* 数据状态-左装载-电机温度 *) + But_Shield.DataStatus1.27 := Cond.En.Temp_LoaderR; (* 数据状态-右装载-电机温度 *) +// But_Shield.DataStatus1.28 := Cond.En.LC_Pump; (* 数据状态- *) + But_Shield.DataStatus1.29 := Cond.En.LC_Loader; (* 数据状态-装载-绝缘检测结果 *) + But_Shield.DataStatus1.30 := Cond.En.NotCurrent_Loader; (* 数据状态-装载-是否启动后无电流 *) + But_Shield.DataStatus1.31 := Cond.En.Contactor_Loader; (* 数据状态-装载-是否接触器粘连 *) + + ShiledBtn.En.Cur_LoaderL := But_Shield.isShield1.24; (* 屏蔽按钮-左装载-电机电流 *) + ShiledBtn.En.Cur_LoaderR := But_Shield.isShield1.25; (* 屏蔽按钮-右装载-电机电流 *) + ShiledBtn.En.Temp_LoaderL := But_Shield.isShield1.26; (* 屏蔽按钮-左装载-电机温度 *) + ShiledBtn.En.Temp_LoaderR := But_Shield.isShield1.27; (* 屏蔽按钮-右装载-电机温度 *) +// ShiledBtn.En.Voltage := But_Shield.isShield1.28; (* 屏蔽按钮- *) + ShiledBtn.En.LC_Loader := But_Shield.isShield1.29; (* 屏蔽按钮-装载-绝缘检测结果 *) + ShiledBtn.En.NotCurrent_Loader := But_Shield.isShield1.30; (* 屏蔽按钮-装载-是否启动后无电流 *) + ShiledBtn.En.Contactor_Loader := But_Shield.isShield1.31; (* 屏蔽按钮-装载-是否接触器粘连 *) + + + (********************************************* 第 5 行状态及按钮 *********************************************) + But_Shield.DataStatus2.0 := Cond.En.Cur_TransportL; (* 数据状态-左运输-电机电流 *) + But_Shield.DataStatus2.1 := Cond.En.Cur_TransportR; (* 数据状态-右运输-电机电流 *) + But_Shield.DataStatus2.2 := Cond.En.Temp_TransportL; (* 数据状态-左运输-电机温度 *) + But_Shield.DataStatus2.3 := Cond.En.Temp_TransportR; (* 数据状态-右运输-电机温度 *) +// But_Shield.DataStatus2.4 := Cond.En.LC_Pump; (* 数据状态- *) + But_Shield.DataStatus2.5 := Cond.En.LC_Transport; (* 数据状态-运输-绝缘检测结果 *) + But_Shield.DataStatus2.6 := Cond.En.NotCurrent_Transport; (* 数据状态-运输-是否启动后无电流 *) + But_Shield.DataStatus2.7 := Cond.En.Contactor_Transport; (* 数据状态-运输-是否接触器粘连 *) + + ShiledBtn.En.Cur_TransportL := But_Shield.isShield2.0; (* 屏蔽按钮-无效果 *) + ShiledBtn.En.Cur_TransportR := But_Shield.isShield2.1; (* 屏蔽按钮-无效果 *) + ShiledBtn.En.Temp_TransportL := But_Shield.isShield2.2; (* 屏蔽按钮-无效果 *) + ShiledBtn.En.Temp_TransportR := But_Shield.isShield2.3; (* 屏蔽按钮-无效果 *) +// ShiledBtn.En.Voltage := But_Shield.isShield2.4; (* 屏蔽按钮-无效果 *) + ShiledBtn.En.LC_Transport := But_Shield.isShield2.5; (* 屏蔽按钮-无效果 *) + ShiledBtn.En.NotCurrent_Transport := But_Shield.isShield2.6; (* 屏蔽按钮-无效果 *) + ShiledBtn.En.Contactor_Transport := But_Shield.isShield2.7; (* 屏蔽按钮-无效果 *) + + + (********************************************* 第 6 行状态及按钮 *********************************************) + But_Shield.DataStatus2.8 := Cond.En.Cur_Standby; (* 数据状态-备用-电机电流 *) + But_Shield.DataStatus2.9 := Cond.En.Temp_Standby; (* 数据状态-备用-电机温度 *) +// But_Shield.DataStatus2.10 := Cond.En.Temp_OilBox; (* 数据状态- *) +// But_Shield.DataStatus2.11 := Cond.En.Level_OilBox; (* 数据状态-*) +// But_Shield.DataStatus2.12 := Cond.En.LC_Pump; (* 数据状态- *) + But_Shield.DataStatus2.13 := Cond.En.LC_Standby; (* 数据状态-备用-绝缘检测结果 *) + But_Shield.DataStatus2.14 := Cond.En.NotCurrent_Standby; (* 数据状态-备用-是否启动后无电流 *) + But_Shield.DataStatus2.15 := Cond.En.Contactor_Standby; (* 数据状态-备用-是否接触器粘连 *) + + ShiledBtn.En.Cur_Standby := But_Shield.isShield2.8; (* 屏蔽按钮-无效果 *) + ShiledBtn.En.Temp_Standby := But_Shield.isShield2.9; (* 屏蔽按钮-无效果 *) +// ShiledBtn.En.Voltage := But_Shield.isShield2.10; (* 屏蔽按钮-无效果 *) +// ShiledBtn.En.Voltage := But_Shield.isShield2.11; (* 屏蔽按钮-无效果 *) +// ShiledBtn.En.Voltage := But_Shield.isShield2.12; (* 屏蔽按钮-无效果 *) + ShiledBtn.En.LC_Standby := But_Shield.isShield2.13; (* 屏蔽按钮-无效果 *) + ShiledBtn.En.NotCurrent_Standby := But_Shield.isShield2.14; (* 屏蔽按钮-无效果 *) + ShiledBtn.En.Contactor_Standby := But_Shield.isShield2.15; (* 屏蔽按钮-无效果 *) + + + (********************************************* 第 7 行状态及按钮 *********************************************) + But_Shield.DataStatus2.16 := Cond.En.Pressure_Pump1; (* 数据状态-油泵压力1 *) + But_Shield.DataStatus2.17 := Cond.En.Pressure_Pump2; (* 数据状态-油泵压力2 *) + But_Shield.DataStatus2.18 := Cond.En.Pressure_Pump3; (* 数据状态-油泵压力3 *) + But_Shield.DataStatus2.19 := Cond.En.Pressure_Cut; (* 数据状态-截割压力 *) + But_Shield.DataStatus2.20 := Cond.En.Pressure_Cutt; (* 数据状态-掏槽压力 *) + But_Shield.DataStatus2.21 := Cond.En.Pressure_CutSpray; (* 数据状态-截割喷雾压力 *) + But_Shield.DataStatus2.22 := Cond.En.SprayFlow_Cut; (* 数据状态-截割喷雾流量 *) + But_Shield.DataStatus2.23 := Cond.En.SprayFlow_Board; (* 数据状态-铲板喷雾流量 *) + + ShiledBtn.En.Pressure_Pump1 := But_Shield.isShield2.16; (* 屏蔽按钮-油泵压力1 *) + ShiledBtn.En.Pressure_Pump2 := But_Shield.isShield2.17; (* 屏蔽按钮-油泵压力2 *) + ShiledBtn.En.Pressure_Pump3 := But_Shield.isShield2.18; (* 屏蔽按钮-油泵压力3 *) + ShiledBtn.En.Pressure_Cut := But_Shield.isShield2.19; (* 屏蔽按钮-截割压力 *) + ShiledBtn.En.Pressure_Cutt := But_Shield.isShield2.20; (* 屏蔽按钮-掏槽压力 *) + ShiledBtn.En.Pressure_CutSpray := But_Shield.isShield2.21; (* 屏蔽按钮-截割喷雾压力 *) + ShiledBtn.En.SprayFlow_Cut := But_Shield.isShield2.22; (* 屏蔽按钮-截割喷雾流量 *) + ShiledBtn.En.SprayFlow_Board := But_Shield.isShield2.23; (* 屏蔽按钮-铲板喷雾流量 *) + + + (********************************************* 第 8 行状态及按钮 *********************************************) + But_Shield.DataStatus2.24 := Cond.En.Temp_Case; (* 数据状态-电控箱温度 *) + But_Shield.DataStatus2.25 := Cond.En.Humi_Case; (* 数据状态-电控箱湿度 *) + But_Shield.DataStatus2.26 := Cond.En.Angle_Cut; (* 数据状态-截割角度 *) + But_Shield.DataStatus2.27 := Cond.En.CB2; (* 数据状态-CB2 *) + But_Shield.DataStatus2.28 := Cond.En.CB3; (* 数据状态-CB3 *) +// But_Shield.DataStatus2.29 := Cond.En.Pressure_CutSpray; (* 数据状态-截割喷雾压力 *) +// But_Shield.DataStatus2.30 := Cond.En.SprayFlow_Cut; (* 数据状态-截割喷雾流量 *) +// But_Shield.DataStatus2.31 := Cond.En.SprayFlow_Board; (* 数据状态-铲板喷雾流量 *) + + ShiledBtn.En.Temp_Case := But_Shield.isShield2.24; (* 屏蔽按钮-电控箱温度 *) + ShiledBtn.En.Humi_Case := But_Shield.isShield2.25; (* 屏蔽按钮-电控箱湿度 *) + ShiledBtn.En.Angle_Cut := But_Shield.isShield2.26; (* 屏蔽按钮-截割角度 *) + ShiledBtn.En.CB2 := But_Shield.isShield2.27; (* 屏蔽按钮-CB2 *) + ShiledBtn.En.CB3 := But_Shield.isShield2.28; (* 屏蔽按钮-CB3 *) +// ShiledBtn.En.Voltage := But_Shield.isShield2.29; (* 屏蔽按钮-无效果 *) +// ShiledBtn.En.Voltage := But_Shield.isShield2.30; (* 屏蔽按钮-无效果 *) +// ShiledBtn.En.Voltage := But_Shield.isShield2.31; (* 屏蔽按钮-无效果 *) + + + + (********************************************* 油泵电机启停条件 *********************************************) + (* 低16位为启动条件 *) + StartStopConditions.Pump.0 := HardwareOK; (* 硬件条件 *) + StartStopConditions.Pump.1 := NOT MS_Pump.StopCMD; (* 停止命令 *) + StartStopConditions.Pump.2 := NOT MS_Pump.Starting.Q1; (* 电机启动中 *) + StartStopConditions.Pump.3 := NOT MS_Pump.Running; (* 电机运行中 *) + StartStopConditions.Pump.4 := RemoteKey.PumpStart; (* 遥控启动命令 *) + StartStopConditions.Pump.5 := PanelKey.PumpStart; (* 面板启动命令 *) + StartStopConditions.Pump.6 := CentralizedKey.PumpStart; (* 集控启动命令 *) +// StartStopConditions.Pump.7 := HardwareOK; +// StartStopConditions.Pump.8 := HardwareOK; +// StartStopConditions.Pump.9 := HardwareOK; +// StartStopConditions.Pump.10 := HardwareOK; +// StartStopConditions.Pump.11 := HardwareOK; +// StartStopConditions.Pump.12 := HardwareOK; + StartStopConditions.Pump.13 := MS_Pump.StartCMD; (* 启动命令 *) + StartStopConditions.Pump.14 := Q_MotorKM.Pump; (* 接触器输出 *) + StartStopConditions.Pump.15 := I_MotorKM.Pump; (* 接触器输入 *) + (* 高16位为停止条件 *) + StartStopConditions.Pump.16 := NOT HardwareOK; (* 硬件条件 *) + StartStopConditions.Pump.17 := MS_Pump.StopCMD; (* 停止命令 *) + StartStopConditions.Pump.18 := MS_Pump.Stop; (* 停止条件 *) + StartStopConditions.Pump.19 := RemoteKey.PumpStop; (* 遥控停止 *) + StartStopConditions.Pump.20 := PanelKey.PumpStop; (* 面板停止 *) + StartStopConditions.Pump.21 := CentralizedKey.PumpStop; (* 集控停止 *) + StartStopConditions.Pump.22 := NOT Cond.En.Cur_Pump; (* 电机电流 *) + StartStopConditions.Pump.23 := NOT Cond.En.Temp_Pump; (* 电机温度 *) + StartStopConditions.Pump.24 := NOT Cond.En.LC_Pump; (* 绝缘检测结果 *) + StartStopConditions.Pump.25 := NOT Cond.En.NotCurrent_Pump; (* 是否启动后无电流 *) + StartStopConditions.Pump.26 := NOT Cond.En.Contactor_Pump; (* 是否接触器粘连 *) + StartStopConditions.Pump.27 := NOT Cond.En.Temp_OilBox; (* 油箱温度 *) + StartStopConditions.Pump.28 := NOT Cond.En.Level_OilBox; (* 油箱液位 *) + StartStopConditions.Pump.29 := CtrlChange_FTRIG.Q; (* 控制模式切换 *) +// StartStopConditions.Pump.30 := HardwareOK; +// StartStopConditions.Pump.31 := HardwareOK; + + + (********************************************* 截割电机启停条件 *********************************************) + (* 低16位为启动条件 *) + StartStopConditions.Cut.0 := HardwareOK; (* 硬件条件 *) + StartStopConditions.Cut.1 := NOT MS_Cut.StopCMD; (* 停止命令 *) + StartStopConditions.Cut.2 := NOT MS_Cut.Starting.Q1; (* 电机启动中 *) + StartStopConditions.Cut.3 := NOT MS_Cut.Running; (* 电机运行中 *) + StartStopConditions.Cut.4 := RemoteKey.CutStart; (* 遥控启动命令 *) + StartStopConditions.Cut.5 := PanelKey.CutStart; (* 面板启动命令 *) + StartStopConditions.Cut.6 := CentralizedKey.CutStart; (* 集控启动命令 *) + StartStopConditions.Cut.7 := MS_Pump.Running; (* 油泵已运行 *) + StartStopConditions.Cut.8 := MS_Transport.Running; (* 运输已运行 *) + StartStopConditions.Cut.9 := MS_Loader.Running; (* 装载已运行 *) +// StartStopConditions.Cut.10 := HardwareOK; +// StartStopConditions.Cut.11 := HardwareOK; +// StartStopConditions.Cut.12 := HardwareOK; + StartStopConditions.Cut.13 := MS_Cut.StartCMD; (* 启动命令 *) + StartStopConditions.Cut.14 := Q_MotorKM.Cut; (* 接触器输出 *) + StartStopConditions.Cut.15 := I_MotorKM.Cut; (* 接触器输入 *) + (* 高16位为停止条件 *) + StartStopConditions.Cut.16 := NOT HardwareOK; (* 硬件条件 *) + StartStopConditions.Cut.17 := MS_Cut.StopCMD; (* 停止命令 *) + StartStopConditions.Cut.18 := MS_Cut.Stop; (* 停止条件 *) + StartStopConditions.Cut.19 := RemoteKey.CutStop; (* 遥控停止 *) + StartStopConditions.Cut.20 := PanelKey.CutStop; (* 面板停止 *) + StartStopConditions.Cut.21 := CentralizedKey.CutStop; (* 集控停止 *) + StartStopConditions.Cut.22 := NOT Cond.En.Cur_Cut; (* 电机电流 *) + StartStopConditions.Cut.23 := NOT Cond.En.Temp_Cut; (* 电机温度 *) + StartStopConditions.Cut.24 := NOT Cond.En.LC_Cut; (* 绝缘检测结果 *) + StartStopConditions.Cut.25 := NOT Cond.En.NotCurrent_Cut; (* 是否启动后无电流 *) + StartStopConditions.Cut.26 := NOT Cond.En.Contactor_Cut; (* 是否接触器粘连 *) +// StartStopConditions.Cut.27 := NOT Cond.En.Temp_OilBox; (* 油箱温度 *) +// StartStopConditions.Cut.28 := NOT Cond.En.Level_OilBox; (* 油箱液位 *) +// StartStopConditions.Cut.29 := CtrlChange_FTRIG.Q; (* 控制模式切换 *) +// StartStopConditions.Cut.30 := HardwareOK; +// StartStopConditions.Cut.31 := HardwareOK; + + + (********************************************* 装载电机启停条件 *********************************************) + (* 低16位为启动条件 *) + StartStopConditions.Loader.0 := HardwareOK; (* 硬件条件 *) + StartStopConditions.Loader.1 := NOT MS_Loader.StopCMD; (* 停止命令 *) + StartStopConditions.Loader.2 := NOT MS_Loader.Starting.Q1; (* 电机启动中 *) + StartStopConditions.Loader.3 := NOT MS_Loader.Running; (* 电机运行中 *) + StartStopConditions.Loader.4 := RemoteKey.LoaderStart; (* 遥控启动命令 *) + StartStopConditions.Loader.5 := PanelKey.LoaderStart; (* 面板启动命令 *) + StartStopConditions.Loader.6 := CentralizedKey.LoaderStart; (* 集控启动命令 *) + StartStopConditions.Loader.7 := MS_Pump.Running; (* 油泵已运行 *) + StartStopConditions.Loader.8 := MS_Transport.Running; (* 运输已运行 *) +// StartStopConditions.Loader.9 := MS_Loader.Running; +// StartStopConditions.Loader.10 := HardwareOK; +// StartStopConditions.Loader.11 := HardwareOK; +// StartStopConditions.Loader.12 := HardwareOK; + StartStopConditions.Loader.13 := MS_Loader.StartCMD; (* 启动命令 *) + StartStopConditions.Loader.14 := Q_MotorKM.Loader; (* 接触器输出 *) + StartStopConditions.Loader.15 := I_MotorKM.Loader; (* 接触器输入 *) + (* 高16位为停止条件 *) + StartStopConditions.Loader.16 := NOT HardwareOK; (* 硬件条件 *) + StartStopConditions.Loader.17 := MS_Loader.StopCMD; (* 停止命令 *) + StartStopConditions.Loader.18 := MS_Loader.Stop; (* 停止条件 *) + StartStopConditions.Loader.19 := RemoteKey.LoaderStop; (* 遥控停止 *) + StartStopConditions.Loader.20 := PanelKey.LoaderStop; (* 面板停止 *) + StartStopConditions.Loader.21 := CentralizedKey.LoaderStop; (* 集控停止 *) + StartStopConditions.Loader.22 := NOT Cond.En.Cur_LoaderL; (* 左电机电流 *) + StartStopConditions.Loader.23 := NOT Cond.En.Cur_LoaderR; (* 右电机电流 *) + StartStopConditions.Loader.24 := NOT Cond.En.Temp_LoaderL; (* 左电机温度 *) + StartStopConditions.Loader.25 := NOT Cond.En.Temp_LoaderR; (* 右电机温度 *) + StartStopConditions.Loader.26 := NOT Cond.En.LC_Loader; (* 绝缘检测结果 *) + StartStopConditions.Loader.27 := NOT Cond.En.NotCurrent_Loader;(* 是否启动后无电流 *) + StartStopConditions.Loader.28 := NOT Cond.En.Contactor_Loader; (* 是否接触器粘连 *) +// StartStopConditions.Loader.29 := CtrlChange_FTRIG.Q; (* 控制模式切换 *) +// StartStopConditions.Loader.30 := HardwareOK; +// StartStopConditions.Loader.31 := HardwareOK; + + + (********************************************* 运输电机启停条件 *********************************************) + (* 低16位为启动条件 *) + StartStopConditions.Transport.0 := HardwareOK; (* 硬件条件 *) + StartStopConditions.Transport.1 := NOT MS_Transport.StopCMD; (* 停止命令 *) + StartStopConditions.Transport.2 := NOT MS_Transport.StartingCor.Q1 OR NOT MS_Transport.StartingRev.Q1; (* 电机启动中 *) + StartStopConditions.Transport.3 := NOT MS_Transport.Running; (* 电机运行中 *) + StartStopConditions.Transport.4 := RemoteKey.TransportCorotation OR RemoteKey.TransportReversal; (* 遥控启动命令 *) + StartStopConditions.Transport.5 := PanelKey.TransportCorotation OR PanelKey.TransportReversal; (* 面板启动命令 *) + StartStopConditions.Transport.6 := CentralizedKey.TransportCorotation OR CentralizedKey.TransportReversal; (* 集控启动命令 *) + StartStopConditions.Transport.7 := NOT MS_Transport.StartRevCMD; (* 没有反转 *) + StartStopConditions.Transport.8 := NOT MS_Transport.StartCorCMD; (* 没有正转 *) + StartStopConditions.Transport.9 := MS_Pump.Running; (* 油泵已运行 *) + StartStopConditions.Transport.10 := MS_Transport.StartCorCMD; (* 启动正转命令 *) + StartStopConditions.Transport.11 := MS_Transport.StartRevCMD; (* 启动反转命令 *) + StartStopConditions.Transport.12 := Q_MotorKM.TransportCorotation; (* 正转接触器输出 *) + StartStopConditions.Transport.13 := I_MotorKM.TransportCorotation; (* 正转接触器输入 *) + StartStopConditions.Transport.14 := Q_MotorKM.TransportReversal; (* 反转接触器输出 *) + StartStopConditions.Transport.15 := I_MotorKM.TransportReversal; (* 反转接触器输入 *) + (* 高16位为停止条件 *) + StartStopConditions.Transport.16 := NOT HardwareOK; (* 硬件条件 *) + StartStopConditions.Transport.17 := MS_Transport.StopCMD; (* 停止命令 *) + StartStopConditions.Transport.18 := MS_Transport.Stop; (* 停止条件 *) + StartStopConditions.Transport.19 := RemoteKey.TransportStop; (* 遥控停止 *) + StartStopConditions.Transport.20 := PanelKey.TransportStop; (* 面板停止 *) + StartStopConditions.Transport.21 := CentralizedKey.TransportStop; (* 集控停止 *) + StartStopConditions.Transport.22 := (MS_Transport.RunningCor OR Q_MotorKM.TransportCorotation) AND (PanelKey.TransportReversal OR RemoteKey.TransportReversal OR CentralizedKey.TransportReversal); (* 正转时反转 *) + StartStopConditions.Transport.23 := (MS_Transport.RunningRev OR Q_MotorKM.TransportReversal) AND (PanelKey.TransportCorotation OR RemoteKey.TransportCorotation OR CentralizedKey.TransportCorotation); (* 反转时正转 *) +// StartStopConditions.Transport.24 := + StartStopConditions.Transport.25 := NOT Cond.En.Cur_TransportL; (* 左电机电流 *) + StartStopConditions.Transport.26 := NOT Cond.En.Cur_TransportR; (* 右电机电流 *) + StartStopConditions.Transport.27 := NOT Cond.En.Temp_TransportL; (* 左电机温度 *) + StartStopConditions.Transport.28 := NOT Cond.En.Temp_TransportR; (* 右电机温度 *) + StartStopConditions.Transport.29 := NOT Cond.En.LC_Transport; (* 绝缘检测结果 *) + StartStopConditions.Transport.30 := NOT Cond.En.NotCurrent_Transport;(* 是否启动后无电流 *) + StartStopConditions.Transport.31 := NOT Cond.En.Contactor_Transport;(* 是否接触器粘连 *) + + (********************************************* 备用电机启停条件 *********************************************) + (* 低16位为启动条件 *) + StartStopConditions.Standby.0 := HardwareOK; (* 硬件条件 *) + StartStopConditions.Standby.1 := NOT MS_Standby.StopCMD; (* 停止命令 *) + StartStopConditions.Standby.2 := NOT MS_Standby.Starting.Q1; (* 电机启动中 *) + StartStopConditions.Standby.3 := NOT MS_Standby.Running; (* 电机运行中 *) + StartStopConditions.Standby.4 := RemoteKey.StandbyStart; (* 遥控启动命令 *) + StartStopConditions.Standby.5 := PanelKey.StandbyStart; (* 面板启动命令 *) + StartStopConditions.Standby.6 := CentralizedKey.StandbyStart; (* 集控启动命令 *) +// StartStopConditions.Standby.7 := MS_Pump.Running; (* *) +// StartStopConditions.Standby.8 := MS_Transport.Running; (* *) +// StartStopConditions.Standby.9 := MS_Loader.Running; (* *) +// StartStopConditions.Standby.10 := HardwareOK; +// StartStopConditions.Standby.11 := HardwareOK; +// StartStopConditions.Standby.12 := HardwareOK; + StartStopConditions.Standby.13 := MS_Standby.StartCMD; (* 启动命令 *) + StartStopConditions.Standby.14 := Q_MotorKM.Standby; (* 接触器输出 *) + StartStopConditions.Standby.15 := I_MotorKM.Standby; (* 接触器输入 *) + (* 高16位为停止条件 *) + StartStopConditions.Standby.16 := NOT HardwareOK; (* 硬件条件 *) + StartStopConditions.Standby.17 := MS_Standby.StopCMD; (* 停止命令 *) + StartStopConditions.Standby.18 := MS_Standby.Stop; (* 停止条件 *) + StartStopConditions.Standby.19 := RemoteKey.StandbyStop; (* 遥控停止 *) + StartStopConditions.Standby.20 := PanelKey.StandbyStop; (* 面板停止 *) + StartStopConditions.Standby.21 := CentralizedKey.StandbyStop; (* 集控停止 *) + StartStopConditions.Standby.22 := NOT Cond.En.Cur_Standby; (* 电机电流 *) + StartStopConditions.Standby.23 := NOT Cond.En.Temp_Standby; (* 电机温度 *) + StartStopConditions.Standby.24 := NOT Cond.En.LC_Standby; (* 绝缘检测结果 *) + StartStopConditions.Standby.25 := NOT Cond.En.NotCurrent_Standby;(* 是否启动后无电流 *) + StartStopConditions.Standby.26 := NOT Cond.En.Contactor_Standby;(* 是否接触器粘连 *) +// StartStopConditions.Standby.27 := NOT Cond.En.Temp_OilBox; +// StartStopConditions.Standby.28 := NOT Cond.En.Level_OilBox; +// StartStopConditions.Standby.29 := CtrlChange_FTRIG.Q; +// StartStopConditions.Standby.30 := HardwareOK; +// StartStopConditions.Standby.31 := HardwareOK; END_ACTION diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Pages/PageMap/Act_PageBools.st b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Pages/PageMap/Act_PageBools.st index 41d639b..1d43556 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Pages/PageMap/Act_PageBools.st +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Pages/PageMap/Act_PageBools.st @@ -115,8 +115,8 @@ ACTION Act_PageBools: PageBOOLS.B2.3 := IO_Ohter.Q_RearLight; (* 继电器输出-尾灯 *) PageBOOLS.B2.4 := IO_Ohter.Q_SprayBoard; (* 继电器输出-铲板喷雾 *) PageBOOLS.B2.5 := IO_Ohter.Q_SprayCut; (* 继电器输出-截割喷雾 *) - PageBOOLS.B2.6 := IO_Ohter.Q_SprayDust; (* 继电器输出-除KM12 *) - PageBOOLS.B2.7 := IO_Ohter.Q_KM12; + PageBOOLS.B2.6 := IO_Ohter.Q_SprayDust; (* 继电器输出-除尘喷雾 *) + PageBOOLS.B2.7 := IO_Ohter.Q_KM12; (* 继电器输出-KM12 *) PageBOOLS.B3.8 := IO_Ohter.Q_KL1; (* 继电器输出-KL1 *) PageBOOLS.B3.9 := IO_Ohter.Q_KL2; (* 继电器输出-KL2 *) @@ -128,9 +128,9 @@ ACTION Act_PageBools: PageBOOLS.B3.15 := IO_Ohter.I_KM11; (* 继电器输入-KA11-备用 *) PageBOOLS.B3.16 := IO_Ohter.I_KM12; (* 继电器输入-KA12-备用 *) - PageBOOLS.B3.17 := FALSE; - PageBOOLS.B3.18 := FALSE; - PageBOOLS.B3.19 := FALSE; + PageBOOLS.B3.17 := IN_CtrlMode.PanelMode; + PageBOOLS.B3.18 := IN_CtrlMode.RemoteMode; + PageBOOLS.B3.19 := IN_CtrlMode.CentrMode; PageBOOLS.B3.20 := FALSE; PageBOOLS.B3.21 := FALSE; PageBOOLS.B3.22 := FALSE; diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Pages/Pages.var b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Pages/Pages.var index 686218e..8b7f951 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Pages/Pages.var +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Pages/Pages.var @@ -12,7 +12,7 @@ VAR END_VAR (* 电机启动和停止条件 *) VAR - StartStopConditions : tsStartStopConditions;(* 电机启停条件,分为高低位,高16位为启动条件,低16位为停止条件 *) + StartStopConditions : tsStartStopConditions;(* 电机启停条件,分为高低位,高16位为启动条件,低16位为停止条件 *) END_VAR (* 所有进度条 *) VAR diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_IO/IOs/Act_PM_1.st b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_IO/IOs/Act_PM_1.st index 2abb02f..f2f7631 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_IO/IOs/Act_PM_1.st +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_IO/IOs/Act_PM_1.st @@ -1,28 +1,28 @@ ACTION Act_PM_1: (* P1 ***********************************************************************************************************************************************) - Q_OilCylindExtend.BoardExpansion (isPWM := FALSE,Cur := PM1_LoadCur[1], Status := PM1_Din[1].0); (* 油缸伸-铲板扩展 *) - Q_OilCylindShorten.BoardExpansion (isPWM := FALSE,Cur := PM1_LoadCur[2], Status := PM1_Din[1].1); (* 油缸缩-铲板扩展 *) - Q_OilCylindExtend.Roller (isPWM := FALSE,Cur := PM1_LoadCur[3], Status := PM1_Din[1].2); (* 油缸伸-滚筒 *) - Q_OilCylindShorten.Roller (isPWM := FALSE,Cur := PM1_LoadCur[4], Status := PM1_Din[1].3); (* 油缸缩-滚筒 *) - Q_OilCylindExtend.SupportTmp (isPWM := FALSE,Cur := PM1_LoadCur[5], Status := PM1_Din[1].4); (* 油缸伸-支撑臂临时 *) - Q_OilCylindShorten.SupportTmp (isPWM := FALSE,Cur := PM1_LoadCur[6], Status := PM1_Din[1].5); (* 油缸缩-支撑臂临时 *) - Q_HydraulicValve.LubPump (isPWM := FALSE,Cur := PM1_LoadCur[7], Status := PM1_Din[1].6); (* 集中润滑泵工作 *) + Q_OilCylindExtend.BoardExpansion (isPWM := FALSE,Cur := PM1_LoadCur[1], Status := PM1_Din[1].0); (* 油缸伸-铲板扩展 *) + Q_OilCylindShorten.BoardExpansion (isPWM := FALSE,Cur := PM1_LoadCur[2], Status := PM1_Din[1].1); (* 油缸缩-铲板扩展 *) + Q_OilCylindExtend.Roller (isPWM := FALSE,Cur := PM1_LoadCur[3], Status := PM1_Din[1].2); (* 油缸伸-滚筒 *) + Q_OilCylindShorten.Roller (isPWM := FALSE,Cur := PM1_LoadCur[4], Status := PM1_Din[1].3); (* 油缸缩-滚筒 *) + Q_OilCylindExtend.SupportTmp (isPWM := FALSE,Cur := PM1_LoadCur[5], Status := PM1_Din[1].4); (* 油缸伸-支撑臂临时 *) + Q_OilCylindShorten.SupportTmp (isPWM := FALSE,Cur := PM1_LoadCur[6], Status := PM1_Din[1].5); (* 油缸缩-支撑臂临时 *) +// Q_HydraulicValve.LubPump (isPWM := FALSE,Cur := PM1_LoadCur[7], Status := PM1_Din[1].6); (* 集中润滑泵工作 *) // Q_HydraulicValve.LubPump (isPWM := FALSE,Cur := PM1_LoadCur[8], Status := PM1_Din[1].7, InSwitch := PM1_PWM[8] ); Q_OilCylindExtend.Cutt (isPWM := TRUE,Cur := PM1_LoadCur[9], Status := PM1_Din[2].0, ); (* 油缸伸-掏槽 *) Q_OilCylindShorten.Cutt (isPWM := TRUE,Cur := PM1_LoadCur[10], Status := PM1_Din[2].1,); (* 油缸缩-掏槽 *) - Q_OilCylindExtend.Hydraulic (isPWM := FALSE,Cur := PM1_LoadCur[11], Status := PM1_Din[2].2); (* 油缸伸-液压侧平台 *) - Q_OilCylindShorten.Hydraulic (isPWM := FALSE,Cur := PM1_LoadCur[12], Status := PM1_Din[2].3); (* 油缸缩-液压侧平台 *) + Q_OilCylindExtend.Hydraulic (isPWM := FALSE,Cur := PM1_LoadCur[11], Status := PM1_Din[2].2); (* 油缸伸-液压侧平台 *) + Q_OilCylindShorten.Hydraulic (isPWM := FALSE,Cur := PM1_LoadCur[12], Status := PM1_Din[2].3); (* 油缸缩-液压侧平台 *) (* P2 ***********************************************************************************************************************************************) - Q_OilCylindShorten.BoardLifter (isPWM := FALSE,Cur := PM1_LoadCur[13], Status := PM1_Din[2].4); (* 油缸缩-铲板升降 *) - Q_OilCylindExtend.BoardLifter (isPWM := FALSE,Cur := PM1_LoadCur[14], Status := PM1_Din[2].5); (* 油缸伸-铲板升降 *) - Q_OilCylindShorten.TransportSwing (isPWM := FALSE,Cur := PM1_LoadCur[15], Status := PM1_Din[2].6); (* 油缸缩-运输机摆动 *) - Q_OilCylindExtend.TransportSwing (isPWM := FALSE,Cur := PM1_LoadCur[16], Status := PM1_Din[2].7); (* 油缸伸-运输机摆动 *) - Q_OilCylindShorten.CutR (isPWM := TRUE,Cur := PM1_LoadCur[17], Status := PM1_Din[3].0); (* 油缸缩-右截割 *) - Q_OilCylindExtend.CutR (isPWM := TRUE,Cur := PM1_LoadCur[18], Status := PM1_Din[3].1); (* 油缸伸-右截割 *) - Q_OilCylindShorten.CutL (isPWM := TRUE,Cur := PM1_LoadCur[19], Status := PM1_Din[3].2); (* 油缸缩-左截割 *) - Q_OilCylindExtend.CutL (isPWM := TRUE,Cur := PM1_LoadCur[20], Status := PM1_Din[3].3); (* 油缸伸-左截割 *) + Q_OilCylindShorten.BoardLifter (isPWM := FALSE,Cur := PM1_LoadCur[13], Status := PM1_Din[2].4); (* 油缸缩-铲板升降 *) + Q_OilCylindExtend.BoardLifter (isPWM := FALSE,Cur := PM1_LoadCur[14], Status := PM1_Din[2].5); (* 油缸伸-铲板升降 *) + Q_OilCylindShorten.ECU (isPWM := FALSE,Cur := PM2_LoadCur[15], Status := PM2_Din[3].6); (* 油缸缩-电控侧平台 *) + Q_OilCylindExtend.ECU (isPWM := FALSE,Cur := PM2_LoadCur[16], Status := PM2_Din[3].7); (* 油缸伸-电控侧平台 *) + Q_OilCylindShorten.CutR (isPWM := TRUE, Cur := PM1_LoadCur[17], Status := PM1_Din[3].0); (* 油缸缩-右截割 *) + Q_OilCylindExtend.CutR (isPWM := TRUE, Cur := PM1_LoadCur[18], Status := PM1_Din[3].1); (* 油缸伸-右截割 *) + Q_OilCylindShorten.CutL (isPWM := TRUE, Cur := PM1_LoadCur[19], Status := PM1_Din[3].2); (* 油缸缩-左截割 *) + Q_OilCylindExtend.CutL (isPWM := TRUE, Cur := PM1_LoadCur[20], Status := PM1_Din[3].3); (* 油缸伸-左截割 *) Q_OilCylindExtend.TrackL (isPWM := TRUE, Cur := PM1_LoadCur[21], Status := PM1_Din[3].4); (* 履带后退-左运输机 *) Q_OilCylindShorten.TrackL (isPWM := TRUE, Cur := PM1_LoadCur[22], Status := PM1_Din[3].5); (* 履带前进-左运输机 *) Q_OilCylindExtend.TrackR (isPWM := TRUE, Cur := PM1_LoadCur[23], Status := PM1_Din[3].6); (* 履带后退-右运输机 *) diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_IO/IOs/Act_PM_2.st b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_IO/IOs/Act_PM_2.st index 9d199ff..0694398 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_IO/IOs/Act_PM_2.st +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_IO/IOs/Act_PM_2.st @@ -4,8 +4,8 @@ ACTION Act_PM_2: Q_HydraulicValve.DustFan (isPWM := FALSE,Cur := PM2_LoadCur[1], Status := PM2_Din[1].0); (* 除尘风机打开 *) Q_HydraulicValve.DC2_LS2 (isPWM := FALSE,Cur := PM2_LoadCur[2], Status := PM2_Din[1].1); (* LS2 阀*) Q_HydraulicValve.DC3_LS3TravelHigh (isPWM := FALSE,Cur := PM2_LoadCur[3], Status := PM2_Din[1].2); (* LS3 阀 行走高速*) - Q_HydraulicValve.DC4_LockWater (isPWM := FALSE,Cur := PM2_LoadCur[4], Status := PM2_Din[1].3); (* 探水钻闭锁*) - Q_HydraulicValve.DC1_LockCylinder (isPWM := FALSE,Cur := PM2_LoadCur[5], Status := PM2_Din[1].4); (* 主机油缸闭锁*) + Q_HydraulicValve.DC4_LockWater (isPWM := FALSE,Cur := PM2_LoadCur[4], Status := PM2_Din[1].3); (* 探水钻闭锁 *) + Q_HydraulicValve.DC1_LockCylinder (isPWM := FALSE,Cur := PM2_LoadCur[5], Status := PM2_Din[1].4); (* 主机油缸闭锁 *) Q_HydraulicValve.DC5_MotorUnlock (isPWM := FALSE,Cur := PM2_LoadCur[6], Status := PM2_Din[1].5); (* 行走马达解锁 *) Q_HydraulicValve.DC6_MotorLock (isPWM := FALSE,Cur := PM2_LoadCur[7], Status := PM2_Din[1].6); (* 右锚杆解锁,行走马达闭锁 *) // Q_HydraulicValve.LubPump (isPWM := FALSE,Cur := PM2_LoadCur[8], Status := PM2_Din[1].7, OutPWM := PM2_PWM[8] ); @@ -19,12 +19,12 @@ ACTION Act_PM_2: Q_HydraulicValve.TrackTension (isPWM := FALSE,Cur := PM2_LoadCur[14], Status := PM2_Din[2].5); (* 履带张紧 *) // Q_HydraulicValve.TransportSwing (isPWM := FALSE,Cur := PM2_LoadCur[15], Status := PM2_Din[2].6, OutPWM := PM2_PWM[15]); Q_HydraulicValve.BoostPump (isPWM := FALSE,Cur := PM2_LoadCur[16], Status := PM2_Din[2].7); (* 增压水泵工作 *) - Q_OilCylindShorten.ECU (isPWM := FALSE,Cur := PM2_LoadCur[17], Status := PM2_Din[3].0); (* 油缸缩-电控侧平台 *) - Q_OilCylindExtend.ECU (isPWM := FALSE,Cur := PM2_LoadCur[18], Status := PM2_Din[3].1); (* 油缸伸-电控侧平台 *) - Q_OilCylindShorten.SupportR (isPWM := FALSE,Cur := PM2_LoadCur[19], Status := PM2_Din[3].2); (* 油缸缩-支撑臂右后侧 *) - Q_OilCylindExtend.SupportR (isPWM := FALSE,Cur := PM2_LoadCur[20], Status := PM2_Din[3].3); (* 油缸伸-支撑臂右后侧 *) - Q_OilCylindExtend.SupportL (isPWM := FALSE,Cur := PM2_LoadCur[21], Status := PM2_Din[3].4); (* 油缸缩-支撑臂左后侧 *) - Q_OilCylindShorten.SupportL (isPWM := FALSE,Cur := PM2_LoadCur[22], Status := PM2_Din[3].5); (* 油缸伸-支撑臂左后侧 *) + Q_OilCylindShorten.TransportSwing (isPWM := FALSE,Cur := PM2_LoadCur[17], Status := PM1_Din[2].0); (* 油缸缩-运输机摆动 *) + Q_OilCylindExtend.TransportSwing (isPWM := FALSE,Cur := PM2_LoadCur[18], Status := PM1_Din[2].1); (* 油缸伸-运输机摆动 *) + Q_OilCylindShorten.SupportR (isPWM := FALSE,Cur := PM2_LoadCur[19], Status := PM2_Din[3].2); (* 油缸缩-支撑右后侧 *) + Q_OilCylindExtend.SupportR (isPWM := FALSE,Cur := PM2_LoadCur[20], Status := PM2_Din[3].3); (* 油缸伸-支撑右后侧 *) + Q_OilCylindExtend.SupportL (isPWM := FALSE,Cur := PM2_LoadCur[21], Status := PM2_Din[3].4); (* 油缸缩-支撑左后侧 *) + Q_OilCylindShorten.SupportL (isPWM := FALSE,Cur := PM2_LoadCur[22], Status := PM2_Din[3].5); (* 油缸伸-支撑左后侧 *) Q_OilCylindExtend.TransportLifter (isPWM := FALSE,Cur := PM2_LoadCur[23], Status := PM2_Din[3].6); (* 油缸缩-运输机升降 *) Q_OilCylindShorten.TransportLifter (isPWM := FALSE,Cur := PM2_LoadCur[24], Status := PM2_Din[3].7); (* 油缸伸-运输机升降 *) diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_IO/IOs/Act_X1A.st b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_IO/IOs/Act_X1A.st index b76ed50..ff5f714 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_IO/IOs/Act_X1A.st +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_IO/IOs/Act_X1A.st @@ -6,9 +6,9 @@ ACTION Act_X1A: X1A_M2 := Q_Leakage.Loader; (* 漏电检测输出-装载电机 *) X1A_A3 := Q_Leakage.Standby; (* 漏电检测输出-备用电机 *) X1A_A4 := IO_Ohter.Q_AutoLED; (* 自动化LED指示灯 *) - X1A_B4 := IO_Ohter.Q_KM12; - X1A_C4 := IO_Ohter.Q_KL1; - X1A_G4 := IO_Ohter.Q_KL2; + X1A_B4 := IO_Ohter.Q_KM12; (* 继电器输出-KM12 *) + X1A_C4 := IO_Ohter.Q_KL1; (* 电磁阀输出-KL1 *) + X1A_G4 := IO_Ohter.Q_KL2; (* 电磁阀输出-KL2 *) X1A_H4; X1A_J4; X1A_K4; diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_IO/IOs/Act_X1B.st b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_IO/IOs/Act_X1B.st index 374388a..228aebf 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_IO/IOs/Act_X1B.st +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_IO/IOs/Act_X1B.st @@ -1,13 +1,13 @@ ACTION Act_X1B: X1B_A1 := Q_MotorKM.Cut; (* 继电器输出-截割电机 *) - X1B_B1 := Q_MotorKM.Pump; (* 继电器输出-泵 *) - X1B_C1 := Q_MotorKM.TransportCorotation; (* 继电器输出-输送机同向 *) - X1B_D1 := Q_MotorKM.TransportReversal; (* 继电器输出-输送机反向 *) + X1B_B1 := Q_MotorKM.Pump; (* 继电器输出-油泵 *) + X1B_C1 := Q_MotorKM.TransportCorotation; (* 继电器输出-运输机正转 *) + X1B_D1 := Q_MotorKM.TransportReversal; (* 继电器输出-运输机反转转 *) X1B_E1 := Q_MotorKM.Loader; (* 继电器输出-装载机 *) X1B_F1 := Q_MotorKM.Standby; (* 继电器输出-备用 *) - X1B_H1 := IO_Ohter.Q_KM11; (* 备用继电器输出-KA7 *) + X1B_H1 := IO_Ohter.Q_KM11; (* 继电器输出-KM11 *) X1B_A2 := IO_Ohter.Q_RearLight; (* 继电器输出-后灯控制 *) X1B_A3 := IO_Ohter.Q_SprayCut; (* 继电器输出-截割喷雾 *) X1B_H3 := IO_Ohter.Q_SprayBoard; (* 继电器输出-铲板喷雾 *) @@ -22,8 +22,8 @@ ACTION Act_X1B: IF PS.isDevelopment AND NOT PS.isDebugMode THEN (* 是否为开发模式 *) Filter_Temp[1](Enable := TRUE, WindowLength := 10, In := BaseValue + RandRangeReal(30,40)); (* PT100温度传感器-截割电机 *) Filter_Temp[2](Enable := TRUE, WindowLength := 10, In := BaseValue + RandRangeReal(30,40)); (* PT100温度传感器-油泵电机 *) - Filter_Temp[3](Enable := TRUE, WindowLength := 10, In := BaseValue + RandRangeReal(30,40)); (* PT100温度传感器-左输送电机 *) - Filter_Temp[4](Enable := TRUE, WindowLength := 10, In := BaseValue + RandRangeReal(30,40)); (* PT100温度传感器-右输送电机 *) + Filter_Temp[3](Enable := TRUE, WindowLength := 10, In := BaseValue + RandRangeReal(30,40)); (* PT100温度传感器-左运输电机 *) + Filter_Temp[4](Enable := TRUE, WindowLength := 10, In := BaseValue + RandRangeReal(30,40)); (* PT100温度传感器-右运输电机 *) Filter_Temp[5](Enable := TRUE, WindowLength := 10, In := BaseValue + RandRangeReal(30,40)); (* PT100温度传感器-左装载电机 *) Filter_Temp[6](Enable := TRUE, WindowLength := 10, In := BaseValue + RandRangeReal(30,40)); (* PT100温度传感器-右装载电机 *) Filter_Temp[7](Enable := TRUE, WindowLength := 10, In := BaseValue + RandRangeReal(30,40)); (* PT100温度传感器-备用电机 *) @@ -48,6 +48,6 @@ ACTION Act_X1B: IN_Sersor.SpareTemp := Filter_Temp[8].Out; (* PT100温度传感器-备用 *) - + END_ACTION diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_IO/IOs/Act_X1C.st b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_IO/IOs/Act_X1C.st index 67f463e..4c3ce25 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_IO/IOs/Act_X1C.st +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_IO/IOs/Act_X1C.st @@ -1,11 +1,11 @@ ACTION Act_X1C: - I_MotorKM.Cut := X1C_D1; (* KM继电器反馈-截割电机 *) - I_MotorKM.Pump := X1C_E1; (* KM继电器反馈-油泵电机 *) - I_MotorKM.TransportCorotation := X1C_F1; (* KM继电器反馈-左运输电机 *) - I_MotorKM.TransportReversal := X1C_D2; (* KM继电器反馈-右运输电机 *) - I_MotorKM.Loader := X1C_E2; (* KM继电器反馈-装载电机 *) - I_MotorKM.Standby := X1C_F2; (* KM继电器反馈-备用电机 *) + I_MotorKM.Cut := X1C_D1; (* 继电器反馈-截割电机 *) + I_MotorKM.Pump := X1C_E1; (* 继电器反馈-油泵电机 *) + I_MotorKM.TransportCorotation := X1C_F1; (* 继电器反馈-左运输电机 *) + I_MotorKM.TransportReversal := X1C_D2; (* 继电器反馈-右运输电机 *) + I_MotorKM.Loader := X1C_E2; (* 继电器反馈-装载电机 *) + I_MotorKM.Standby := X1C_F2; (* 继电器反馈-备用电机 *) IF NOT PS.isDebugMode THEN IN_CtrlMode.PanelMode := X1C_H2; (* 控制模式-面板模式 *) @@ -22,18 +22,18 @@ ACTION Act_X1C: I_MotorKM.Standby := Q_MotorKM.Standby; (* KM继电器反馈-备用电机 *) END_IF; - EStopBut.0 := X1C_F3; (* 门板按钮-油泵启动 *) - EStopBut.1 := X1C_D4; (* 门板按钮-油泵停止 *) - EStopBut.2 := X1C_E4; (* 门板按钮-截割启动 *) - EStopBut.3 := X1C_F4; (* 门板按钮-截割停止 *) - EStopBut.4 := X1C_H4; (* 门板按钮-装载启动 *) - EStopBut.5 := X1C_A1; (* 门板按钮-装载停止 *) - EStopBut.6 := X1C_A2; (* 门板按钮-运输机正转 *) - EStopBut.7 := X1C_B2; (* 门板按钮-运输机反转 *) - EStopBut.8 := X1C_A3; (* 门板按钮-运输机停止 *) - EStopBut.9 := X1C_B3; (* 门板按钮-复位 *) - EStopBut.10 := X1C_A4; (* 门板按钮-备用1 *) - EStopBut.11 := X1C_B4; (* 门板按钮-备用2 *) + EStopBut.0 := X1C_F3; (* 急停1-左帮锚 *) + EStopBut.1 := X1C_D4; (* 急停2-左外顶锚 *) + EStopBut.2 := X1C_E4; (* 急停3-左内顶锚 *) + EStopBut.3 := X1C_F4; (* 急停4-右内顶锚 *) + EStopBut.4 := X1C_H4; (* 急停5-右外顶锚 *) + EStopBut.5 := X1C_A1; (* 急停6-右帮锚 *) + EStopBut.6 := X1C_A2; (* 急停7-左机身 *) + EStopBut.7 := X1C_B2; (* 急停8-右机身 *) + EStopBut.8 := X1C_A3; (* 急停9-备用急停1 *) + EStopBut.9 := X1C_B3; (* 急停10-备用急停2 *) + EStopBut.10 := X1C_A4; (* 急停11-电控箱 *) + EStopBut.11 := X1C_B4; (* 急停12-备用 *) IO_Ohter.I_PhaseSequence:= X1C_C4; (* 相序继电器 *) IO_Ohter.I_KM11 := X1C_B1; (* KM11 辅助触点 *) diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_MBS/RtuMaster/Main.st b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_MBS/RtuMaster/Main.st index bfc6f24..9e8ebbd 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_MBS/RtuMaster/Main.st +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_MBS/RtuMaster/Main.st @@ -33,7 +33,6 @@ PROGRAM _CYCLIC END_IF; IN_OilBox(Value := OilBoxEvent.Value); IN_CutBox(Value := CutBoxEvent.Value); - END_CASE; END_PROGRAM diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Physical/JueMao/Hardware.hw b/PLC_Program/EJM560_JueMao_20250804_V0/Physical/JueMao/Hardware.hw index 9a5b779..c3ce7b3 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Physical/JueMao/Hardware.hw +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Physical/JueMao/Hardware.hw @@ -134,9 +134,6 @@ - - - diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Physical/JueMao/X90CP174_48_00/Connectivity/OpcUA/OpcUaMap.uad b/PLC_Program/EJM560_JueMao_20250804_V0/Physical/JueMao/X90CP174_48_00/Connectivity/OpcUA/OpcUaMap.uad index 4099468..95b08aa 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Physical/JueMao/X90CP174_48_00/Connectivity/OpcUA/OpcUaMap.uad +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Physical/JueMao/X90CP174_48_00/Connectivity/OpcUA/OpcUaMap.uad @@ -592,10 +592,9 @@ - - + @@ -800,6 +799,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Physical/JueMao/X90CP174_48_00/Cpu.sw b/PLC_Program/EJM560_JueMao_20250804_V0/Physical/JueMao/X90CP174_48_00/Cpu.sw index 9e9feb4..d24e5e1 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Physical/JueMao/X90CP174_48_00/Cpu.sw +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Physical/JueMao/X90CP174_48_00/Cpu.sw @@ -37,9 +37,6 @@ - - - diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/lang.set b/PLC_Program/EJM560_JueMao_20250804_V0/lang.set index 21e3491..70e3b64 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/lang.set +++ b/PLC_Program/EJM560_JueMao_20250804_V0/lang.set @@ -3,6 +3,6 @@ - + \ No newline at end of file diff --git a/PLC_Program/EJM560_JueMao_20251016_V0.zip b/PLC_Program/EJM560_JueMao_20251016_V0.zip new file mode 100644 index 0000000..97fccd4 Binary files /dev/null and b/PLC_Program/EJM560_JueMao_20251016_V0.zip differ diff --git a/鐩稿叧鏂囦欢/閬ユ帶鍣ㄧ浉鍏/plot.log b/鐩稿叧鏂囦欢/閬ユ帶鍣ㄧ浉鍏/plot.log index c3edcd9..d90bb3e 100644 --- a/鐩稿叧鏂囦欢/閬ユ帶鍣ㄧ浉鍏/plot.log +++ b/鐩稿叧鏂囦欢/閬ユ帶鍣ㄧ浉鍏/plot.log @@ -1,2 +1,7 @@ D:\CoalProjects\MG_Shearer\EJM_JueMao\相关文件\遥控器相关\掘锚机C2-00039T - 副本.dwg,模型,2025/10/11 10:35:10,lang,AutoCAD PDF (General Documentation).pc3,ANSI full bleed A (8.50 x 11.00 英寸),1:52.2756, D:\CoalProjects\MG_Shearer\EJM_JueMao\相关文件\遥控器相关\掘锚机C2-00039T - 副本.dwg,模型,2025/10/11 10:42:45,lang,AutoCAD PDF (General Documentation).pc3,ANSI full bleed A (8.50 x 11.00 英寸),1:85.7436, +D:\CoalProjects\MG_Shearer\EJM_JueMao\相关文件\遥控器相关\掘锚机C2-00039T - 副本.dwg,模型,2025/10/13 8:38:43,lang,AutoCAD PDF (General Documentation).pc3,ANSI full bleed A (8.50 x 11.00 英寸),1:63.3481, +D:\CoalProjects\MG_Shearer\EJM_JueMao\相关文件\遥控器相关\掘锚机C2-00039T - 副本.dwg,模型,2025/10/13 8:39:07,lang,AutoCAD PDF (General Documentation).pc3,ANSI full bleed A (8.50 x 11.00 英寸),1:63.3484, +D:\CoalProjects\MG_Shearer\EJM_JueMao\相关文件\遥控器相关\掘锚机C2-00039T - 副本.dwg,模型,2025/10/13 8:40:07,lang,AutoCAD PDF (General Documentation).pc3,ANSI full bleed A (8.50 x 11.00 英寸),1:40.0416, +D:\CoalProjects\MG_Shearer\EJM_JueMao\相关文件\遥控器相关\掘锚机C2-00039T - 副本.dwg,模型,2025/10/13 8:40:56,lang,AutoCAD PDF (General Documentation).pc3,ANSI full bleed A (8.50 x 11.00 英寸),1:40.0537, +D:\CoalProjects\MG_Shearer\EJM_JueMao\相关文件\遥控器相关\掘锚机C2-00039T - 副本.dwg,模型,2025/10/13 8:49:04,lang,AutoCAD PDF (General Documentation).pc3,ANSI full bleed A (8.50 x 11.00 英寸),1:40.0623, diff --git a/鐩稿叧鏂囦欢/閬ユ帶鍣ㄧ浉鍏/鎺橀敋鏈篊2-00039T - 鍓湰.bak b/鐩稿叧鏂囦欢/閬ユ帶鍣ㄧ浉鍏/鎺橀敋鏈篊2-00039T - 鍓湰.bak new file mode 100644 index 0000000..2fd0324 Binary files /dev/null and b/鐩稿叧鏂囦欢/閬ユ帶鍣ㄧ浉鍏/鎺橀敋鏈篊2-00039T - 鍓湰.bak differ diff --git a/鐩稿叧鏂囦欢/閬ユ帶鍣ㄧ浉鍏/鎺橀敋鏈篊2-00039T - 鍓湰.dwg b/鐩稿叧鏂囦欢/閬ユ帶鍣ㄧ浉鍏/鎺橀敋鏈篊2-00039T - 鍓湰.dwg index 2fd0324..7cf8ca9 100644 Binary files a/鐩稿叧鏂囦欢/閬ユ帶鍣ㄧ浉鍏/鎺橀敋鏈篊2-00039T - 鍓湰.dwg and b/鐩稿叧鏂囦欢/閬ユ帶鍣ㄧ浉鍏/鎺橀敋鏈篊2-00039T - 鍓湰.dwg differ diff --git a/鐩稿叧鏂囦欢/閬ユ帶鍣ㄧ浉鍏/鎺橀敋鏈篊2-00039T - 鍓湰.dwl b/鐩稿叧鏂囦欢/閬ユ帶鍣ㄧ浉鍏/鎺橀敋鏈篊2-00039T - 鍓湰.dwl index 4fa5b9f..cead914 100644 --- a/鐩稿叧鏂囦欢/閬ユ帶鍣ㄧ浉鍏/鎺橀敋鏈篊2-00039T - 鍓湰.dwl +++ b/鐩稿叧鏂囦欢/閬ユ帶鍣ㄧ浉鍏/鎺橀敋鏈篊2-00039T - 鍓湰.dwl @@ -1,3 +1,3 @@ lang WOLFSPIRIT-WIN1 -2025年10月11日 10:00:58 \ No newline at end of file +2025年10月13日 8:21:06 \ No newline at end of file diff --git a/鐩稿叧鏂囦欢/閬ユ帶鍣ㄧ浉鍏/鎺橀敋鏈篊2-00039T - 鍓湰.dwl2 b/鐩稿叧鏂囦欢/閬ユ帶鍣ㄧ浉鍏/鎺橀敋鏈篊2-00039T - 鍓湰.dwl2 index da82cf0..7d4b4e7 100644 --- a/鐩稿叧鏂囦欢/閬ユ帶鍣ㄧ浉鍏/鎺橀敋鏈篊2-00039T - 鍓湰.dwl2 +++ b/鐩稿叧鏂囦欢/閬ユ帶鍣ㄧ浉鍏/鎺橀敋鏈篊2-00039T - 鍓湰.dwl2 @@ -3,5 +3,5 @@ lang WOLFSPIRIT-WIN1 -2025骞10鏈11鏃 10:00:58 +2025骞10鏈13鏃 8:21:06 \ No newline at end of file diff --git a/鐩稿叧鏂囦欢/閬ユ帶鍣ㄧ浉鍏/鎺橀敋鏈篊2-00039T.dwg b/鐩稿叧鏂囦欢/閬ユ帶鍣ㄧ浉鍏/鎺橀敋鏈篊2-00039T.dwg new file mode 100644 index 0000000..2fd0324 Binary files /dev/null and b/鐩稿叧鏂囦欢/閬ユ帶鍣ㄧ浉鍏/鎺橀敋鏈篊2-00039T.dwg differ diff --git a/鐩稿叧鏂囦欢/閬ユ帶鍣ㄧ浉鍏/閬ユ帶鍣╛鍦.pdf b/鐩稿叧鏂囦欢/閬ユ帶鍣ㄧ浉鍏/閬ユ帶鍣╛鍦.pdf new file mode 100644 index 0000000..d232ac8 Binary files /dev/null and b/鐩稿叧鏂囦欢/閬ユ帶鍣ㄧ浉鍏/閬ユ帶鍣╛鍦.pdf differ diff --git a/鐩稿叧鏂囦欢/閬ユ帶鍣ㄧ浉鍏/閬ユ帶鍣╛鏂.pdf b/鐩稿叧鏂囦欢/閬ユ帶鍣ㄧ浉鍏/閬ユ帶鍣╛鏂.pdf new file mode 100644 index 0000000..eb3eea1 Binary files /dev/null and b/鐩稿叧鏂囦欢/閬ユ帶鍣ㄧ浉鍏/閬ユ帶鍣╛鏂.pdf differ