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