From dd654505b022b2c74191e0f3ccfbac2f83f007d5 Mon Sep 17 00:00:00 2001 From: WolfSpirit Date: Tue, 30 Sep 2025 15:31:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E7=A8=8B=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../JueMao/X90CP174_48_00/.Dev_Pump.PVM.dock | 3 + .../ControlOpc.Act_PanelMode.PVM.dock | 69 ++++- .../X90CP174_48_00/ControlRem.Main.PVM.dock | 48 +++- .../X90CP174_48_00/General.Dev_Pump.PVM.dock | 8 +- .../General.Dev_Transport.PVM.dock | 12 +- .../X90CP174_48_00/General.Main.PVM.dock | 2 +- .../X90CP174_48_00/Hydraulic.Main.PVM.dock | 43 +-- .../X90CP174_48_00/IOs.Act_Module_1.PVM.dock | 4 +- .../X90CP174_48_00/IOs.Act_X1B.PVM.dock | 43 +-- .../X90CP174_48_00/IOs.Act_X1C.PVM.dock | 1 + .../JueMao/X90CP174_48_00/IOs.Main.PVM.dock | 7 +- .../PageMap.Act_PageBools.PVM.dock | 19 +- .../PageMap.Act_ProgressBar.PVM.dock | 6 +- .../PageMap.Act_Roller.PVM.dock | 2 +- ...ap.fbProgressBar.PB_PressurePump2.PVM.dock | 3 + .../Logical/CurSor/Package.vcp | 1 + .../Logical/CurSor/Pages/P02_Remote1.page | 75 +++--- .../CurSor/Textgroups/TextGroup_1.txtgrp | 42 +++ .../Logical/CurSor/VirtualKeys.vcvk | 4 - .../Logical/Libraries/Physical/Physical.fun | 3 + .../Logical/Libraries/Physical/Types.typ | 7 +- .../Libraries/Physical/fbAPriorityValve.st | 4 +- .../Logical/Libraries/ZMJ_Lib/IEC.lby | 1 - .../Logical/Libraries/ZMJ_Lib/Types.typ | 249 +----------------- .../Logical/Libraries/ZMJ_Lib/UserLogin.st | 54 ---- .../Logical/Libraries/ZMJ_Lib/ZMJ_Lib.fun | 21 +- .../Main_MachineBase/General/Dev_Cut.st | 4 +- .../Main_MachineBase/General/Dev_Loader.st | 4 +- .../Main_MachineBase/General/Dev_Pump.st | 4 +- .../Main_MachineBase/General/Dev_Standby.st | 4 +- .../Main_MachineBase/General/Dev_Transport.st | 8 +- .../Logical/Main_MachineBase/General/Main.st | 2 +- .../Main_MachineBase/Hydraulic/Main.st | 12 +- .../Logical/Main_MachineBase/MachineBase.var | 3 +- .../Logical/Main_Pages/PageControl/Main.st | 7 + .../Main_Pages/PageControl/Variables.var | 2 +- .../Main_Pages/PageMap/Act_PageBools.st | 36 ++- .../Main_Physical/Dev_CAN/SSET/Main.st | 81 ++++-- .../Main_Physical/Dev_Control/Control.var | 6 +- .../Dev_Control/ControlMBTCP/Main.st | 1 + .../Dev_Control/ControlOpcUa/Act_CentrMode.st | 1 + .../Dev_Control/ControlOpcUa/Act_PanelMode.st | 1 + .../Dev_Control/ControlRem/Main.st | 53 +++- .../Main_Physical/Dev_Control/Package.pkg | 2 +- .../Main_Physical/Dev_IO/IOs/Act_Module_1.st | 113 +++++--- .../Main_Physical/Dev_IO/IOs/Act_X1A.st | 16 +- .../Main_Physical/Dev_IO/IOs/Act_X1B.st | 18 +- .../Main_Physical/Dev_IO/IOs/Act_X1C.st | 14 +- .../Logical/Main_Physical/Dev_IO/IOs/Main.st | 2 +- .../Main_Physical/Dev_IO/IOs/Variables.var | 8 +- .../VCShared/DataSources/DataSource.dso | 19 +- .../Logical/VCShared/Package.vcp | 2 +- 52 files changed, 606 insertions(+), 548 deletions(-) create mode 100644 PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/.Dev_Pump.PVM.dock create mode 100644 PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/PageMap.fbProgressBar.PB_PressurePump2.PVM.dock create mode 100644 PLC_Program/EJM560_JueMao_20250804_V0/Logical/CurSor/Textgroups/TextGroup_1.txtgrp delete mode 100644 PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/ZMJ_Lib/UserLogin.st diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/.Dev_Pump.PVM.dock b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/.Dev_Pump.PVM.dock new file mode 100644 index 0000000..e454f4c --- /dev/null +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/.Dev_Pump.PVM.dock @@ -0,0 +1,3 @@ +WATCH Ver=2.00 PLCName= CPUName= TaskName= +Position X=0 Y=0 Width=0 Height=0 TabWidth Name=150 Type=0 Scope=0 Force=0 Index=0 ASCIIString=0 + name type force value level type len format place expand specs 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 53a5628..7b7a2da 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 @@ -1,15 +1,64 @@ WATCH Ver=2.00 PLCName=PLC1 CPUName=CPU TaskName=ControlOpc -Position X=0 Y=0 Width=0 Height=0 TabWidth Name=150 Type=0 Scope=0 Force=0 Index=7 ASCIIString=0 +Position X=0 Y=0 Width=0 Height=0 TabWidth Name=150 Type=0 Scope=0 Force=0 Index=13 ASCIIString=0 name type force value level type len format place expand specs Test_uint32 UDINT[0..1] 0 " *" 0 7 2 0 1 1 a,1,2 - Test_uint32[0] UDINT 0 " 519443585" 1 7 1 10 1 0 + Test_uint32[0] UDINT 0 " 0" 1 7 1 10 1 0 Test_uint32[1] UDINT 0 " 0" 1 7 1 10 1 0 Test_int8 SINT[0..7] 0 " *" 0 2 8 0 1 1 a,1,8 - Test_int8[0] SINT 0 " -127" 1 2 1 10 1 0 - Test_int8[1] SINT 0 " 20" 1 2 1 10 1 0 - Test_int8[2] SINT 0 " -10" 1 2 1 10 1 0 - Test_int8[3] SINT 0 " 30" 1 2 1 10 1 0 - Test_int8[4] SINT 0 " -127" 1 2 1 10 1 0 - Test_int8[5] SINT 0 " 20" 1 2 1 10 1 0 - Test_int8[6] SINT 0 " -10" 1 2 1 10 1 0 - Test_int8[7] SINT 0 " 30" 1 2 1 10 1 0 + Test_int8[0] SINT 0 " 0" 1 2 1 10 1 0 + Test_int8[1] SINT 0 " 0" 1 2 1 10 1 0 + Test_int8[2] SINT 0 " 0" 1 2 1 10 1 0 + Test_int8[3] SINT 0 " 0" 1 2 1 10 1 0 + Test_int8[4] SINT 0 " 0" 1 2 1 10 1 0 + Test_int8[5] SINT 0 " 0" 1 2 1 10 1 0 + Test_int8[6] SINT 0 " 0" 1 2 1 10 1 0 + Test_int8[7] SINT 0 " 0" 1 2 1 10 1 0 + PanelControlKey_1 UDINT 0 " 0" 0 7 1 10 0 0 + PanelControlKey_2 UDINT 0 " 0" 0 7 1 10 0 0 + PanelKey EJM_RemoteControl 0 " *" 0 24 1 0 0 1 + WorkMode SINT 0 " 0" 1 2 1 10 0 0 + EStop BOOL 0 " FALSE" 1 1 1 2 0 0 + PumpStart BOOL 0 " FALSE" 1 1 1 2 0 0 + PumpStop BOOL 0 " TRUE" 1 1 1 2 0 0 + CutStart BOOL 0 " FALSE" 1 1 1 2 0 0 + CutStop BOOL 0 " FALSE" 1 1 1 2 0 0 + LoaderStart BOOL 0 " FALSE" 1 1 1 2 0 0 + LoaderStop BOOL 0 " FALSE" 1 1 1 2 0 0 + 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 + StandbyStart BOOL 0 " FALSE" 1 1 1 2 0 0 + StandbyStop BOOL 0 " FALSE" 1 1 1 2 0 0 + Reset BOOL 0 " FALSE" 1 1 1 2 0 0 + Track SINT 0 " 0" 1 2 1 10 0 0 + TrackL SINT 0 " 0" 1 2 1 10 0 0 + TrackR SINT 0 " 0" 1 2 1 10 0 0 + Cut SINT 0 " 0" 1 2 1 10 0 0 + Cutt SINT 0 " 0" 1 2 1 10 0 0 + TransportLifterStr BOOL 0 " FALSE" 1 1 1 2 0 0 + TransportLifterShr BOOL 0 " FALSE" 1 1 1 2 0 0 + TransportSwingStr BOOL 0 " *" 1 1 1 2 0 0 + TransportSwingShr BOOL 0 " *" 1 1 1 2 0 0 + BoardLifterStr BOOL 0 " *" 1 1 1 2 0 0 + BoardLifterShr BOOL 0 " *" 1 1 1 2 0 0 + BoardExpansionStr BOOL 0 " *" 1 1 1 2 0 0 + BoardExpansionShr BOOL 0 " *" 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 + ECUShr BOOL 0 " *" 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 + IN_CtrlMode EJM_CtrlMode 0 " *" 0 24 1 0 0 1 + PanelMode 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 1086c0d..b1e6f3c 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,3 +1,49 @@ 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=0 ASCIIString=0 +Position X=0 Y=0 Width=0 Height=0 TabWidth Name=150 Type=0 Scope=0 Force=0 Index=17 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 + EStop BOOL 0 " FALSE" 1 1 1 2 0 0 + PumpStart BOOL 0 " FALSE" 1 1 1 2 0 0 + PumpStop BOOL 0 " FALSE" 1 1 1 2 0 0 + CutStart BOOL 0 " FALSE" 1 1 1 2 0 0 + CutStop BOOL 0 " FALSE" 1 1 1 2 0 0 + LoaderStart BOOL 0 " FALSE" 1 1 1 2 0 0 + LoaderStop BOOL 0 " FALSE" 1 1 1 2 0 0 + 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 + StandbyStart BOOL 0 " FALSE" 1 1 1 2 0 0 + StandbyStop BOOL 0 " FALSE" 1 1 1 2 0 0 + Reset BOOL 0 " FALSE" 1 1 1 2 0 0 + Track SINT 0 " 0" 1 2 1 10 0 0 + TrackL SINT 0 " 0" 1 2 1 10 0 0 + TrackR SINT 0 " 0" 1 2 1 10 0 0 + Cut SINT 0 " 0" 1 2 1 10 0 0 + Cutt SINT 0 " 0" 1 2 1 10 0 0 + TransportLifterStr BOOL 0 " FALSE" 1 1 1 2 0 0 + TransportLifterShr BOOL 0 " FALSE" 1 1 1 2 0 0 + TransportSwingStr BOOL 0 " FALSE" 1 1 1 2 0 0 + TransportSwingShr BOOL 0 " FALSE" 1 1 1 2 0 0 + BoardLifterStr BOOL 0 " FALSE" 1 1 1 2 0 0 + 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 + HydraulicStr BOOL 0 " FALSE" 1 1 1 2 0 0 + 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 diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/General.Dev_Pump.PVM.dock b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/General.Dev_Pump.PVM.dock index badeba8..5e09fe7 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/General.Dev_Pump.PVM.dock +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/General.Dev_Pump.PVM.dock @@ -1,5 +1,5 @@ WATCH Ver=2.00 PLCName=PLC1 CPUName=CPU TaskName=General -Position X=0 Y=0 Width=0 Height=0 TabWidth Name=150 Type=0 Scope=0 Force=0 Index=24 ASCIIString=0 +Position X=0 Y=0 Width=0 Height=0 TabWidth Name=150 Type=0 Scope=0 Force=0 Index=8 ASCIIString=0 name type force value level type len format place expand specs MS_Pump stMotorStatus 0 " *" 0 24 1 0 0 1 Starting RS 0 " *" 1 24 1 0 0 1 @@ -8,16 +8,16 @@ Position X=0 Y=0 Width=0 Height=0 TabWidth Name=150 Type=0 Scope=0 Force=0 Index Q1 BOOL 0 " FALSE" 2 1 1 2 0 0 Voiceing RS 0 " *" 1 24 1 0 0 1 SET BOOL 0 " FALSE" 2 1 1 2 0 0 - RESET1 BOOL 0 " TRUE" 2 1 1 2 0 0 + RESET1 BOOL 0 " FALSE" 2 1 1 2 0 0 Q1 BOOL 0 " FALSE" 2 1 1 2 0 0 VoiceTON TON 0 " *" 1 24 1 0 0 1 IN BOOL 0 " FALSE" 2 1 1 2 0 0 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#09h_49m_47s_750ms" 2 12 1 1 0 0 + StartTime TIME 0 " T#05h_11m_56s_350ms" 2 12 1 1 0 0 M BOOL 0 " FALSE" 2 1 1 2 0 0 - Restart UDINT 0 " 13" 2 7 1 10 0 0 + Restart UDINT 0 " 27" 2 7 1 10 0 0 Running BOOL 0 " FALSE" 1 1 1 2 0 0 Pausing BOOL 0 " FALSE" 1 1 1 2 0 0 StartCMD BOOL 0 " FALSE" 1 1 1 2 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 c67e1ac..9ac0c95 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#10h_53m_46s_450ms" 2 12 1 1 0 0 + StartTime TIME 0 " T#01h_07m_07s_050ms" 2 12 1 1 0 0 M BOOL 0 " FALSE" 2 1 1 2 0 0 - Restart UDINT 0 " 13" 2 7 1 10 0 0 + Restart UDINT 0 " 27" 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,19 +31,19 @@ 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#10h_51m_39s_050ms" 2 12 1 1 0 0 + StartTime TIME 0 " T#01h_07m_07s_050ms" 2 12 1 1 0 0 M BOOL 0 " FALSE" 2 1 1 2 0 0 - Restart UDINT 0 " 13" 2 7 1 10 0 0 + Restart UDINT 0 " 27" 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 " 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 + TransportCorotation BOOL 0 " TRUE" 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 Q_MotorKM EJM_MotorKM 0 " *" 0 24 1 0 0 1 diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/General.Main.PVM.dock b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/General.Main.PVM.dock index c858e2a..be77230 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/General.Main.PVM.dock +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/General.Main.PVM.dock @@ -31,4 +31,4 @@ Position X=0 Y=0 Width=0 Height=0 TabWidth Name=150 Type=0 Scope=0 Force=0 Index Q_Overcurrent BOOL 0 " FALSE" 2 1 1 2 0 0 OutPWM USINT 0 " 0" 2 5 1 10 0 0 TmpPWM USINT 0 " 0" 2 5 1 10 0 0 - TmpCurrent REAL 0 " 1.23" 2 8 1 10 0 0 + TmpCurrent REAL 0 " 0.0" 2 8 1 10 0 0 diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/Hydraulic.Main.PVM.dock b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/Hydraulic.Main.PVM.dock index 44476ac..f9aef9f 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/Hydraulic.Main.PVM.dock +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/Hydraulic.Main.PVM.dock @@ -1,36 +1,11 @@ WATCH Ver=2.00 PLCName=PLC1 CPUName=CPU TaskName=Hydraulic -Position X=0 Y=0 Width=0 Height=0 TabWidth Name=150 Type=0 Scope=0 Force=0 Index=32 ASCIIString=0 +Position X=0 Y=0 Width=0 Height=0 TabWidth Name=150 Type=0 Scope=0 Force=0 Index=0 ASCIIString=0 name type force value level type len format place expand specs - Q_OilCylindShorten EJM_OilCylind 0 " *" 0 24 1 0 0 1 - TrackL fbSolenoidValve 0 " *" 1 24 1 0 0 1 - isPWM BOOL 0 " TRUE" 2 1 1 2 0 0 - InPWM USINT 0 " 0" 2 5 1 10 0 0 - InSwitch BOOL 0 " FALSE" 2 1 1 2 0 0 - Cur USINT 0 " 0" 2 5 1 10 0 0 - Status BOOL 0 " FALSE" 2 1 1 2 0 0 - Q_NotOpen BOOL 0 " FALSE" 2 1 1 2 0 0 - Q_Current REAL 0 " -16.0642567" 2 8 1 10 0 0 - Q_Status BOOL 0 " FALSE" 2 1 1 2 0 0 - Q_Overcurrent BOOL 0 " FALSE" 2 1 1 2 0 0 - OutPWM USINT 0 " 0" 2 5 1 10 0 0 - TmpPWM USINT 0 " 0" 2 5 1 10 0 0 - TmpCurrent REAL 0 " 1.23" 2 8 1 10 0 0 - Q_OilCylindExtend EJM_OilCylind 0 " *" 0 24 1 0 0 1 - TrackL fbSolenoidValve 0 " *" 1 24 1 0 0 1 - isPWM BOOL 0 " TRUE" 2 1 1 2 0 0 - InPWM USINT 0 " 39" 2 5 1 10 0 0 - InSwitch BOOL 0 " FALSE" 2 1 1 2 0 0 - Cur USINT 0 " 0" 2 5 1 10 0 0 - Status BOOL 0 " FALSE" 2 1 1 2 0 0 - Q_NotOpen BOOL 0 " FALSE" 2 1 1 2 0 0 - Q_Current REAL 0 " -16.0642567" 2 8 1 10 0 0 - Q_Status BOOL 0 " FALSE" 2 1 1 2 0 0 - Q_Overcurrent BOOL 0 " FALSE" 2 1 1 2 0 0 - OutPWM USINT 0 " 40" 2 5 1 10 0 0 - TmpPWM USINT 0 " 40" 2 5 1 10 0 0 - TmpCurrent REAL 0 " 1.23" 2 8 1 10 0 0 - RemoteKey EJM_RemoteControl 0 " *" 0 24 1 0 0 1 - TrackL SINT 0 " 50" 1 2 1 10 0 0 - TrackR SINT 0 " 0" 1 2 1 10 0 0 - RollerStr BOOL 0 " FALSE" 1 1 1 2 0 0 - RollerShr BOOL 0 " FALSE" 1 1 1 2 0 0 + APriorityValve_TrackL fbAPriorityValve 0 " *" 0 24 1 0 1 1 + KeyValue1 SINT 0 " 0" 1 2 1 10 0 0 + KeyValue2 SINT 0 " 0" 1 2 1 10 0 0 + KeyValue3 SINT 0 " 0" 1 2 1 10 0 0 + PWM1 UDINT 0 " 102053240" 1 7 1 10 0 0 + PWM2 UDINT 0 " 102065856" 1 7 1 10 0 0 + TmpKey SINT 0 " 0" 1 2 1 10 0 0 + TmpU8Key USINT 0 " 100" 1 5 1 10 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 9cd5d2e..ff9d7e7 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 @@ -1,3 +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=0 ASCIIString=0 +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 + Q_MotorKM EJM_MotorKM 0 " *" 0 24 1 0 0 1 + Pump 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 8d6f958..9c0a85c 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 " 57.771" 1 8 1 10 0 0 - IV REAL 0 " 58.214" 1 8 1 10 0 0 - IW REAL 0 " 58.591" 1 8 1 10 0 0 - IT REAL 0 " 53.0922" 1 8 1 10 0 0 - U REAL 0 " 57.771" 1 8 1 10 0 0 - V REAL 0 " 58.214" 1 8 1 10 0 0 - W REAL 0 " 58.591" 1 8 1 10 0 0 - Temp REAL 0 " 53.0922" 1 8 1 10 0 0 - OutI_U INT 0 " 58" 1 3 1 10 0 0 - OutI_V INT 0 " 58" 1 3 1 10 0 0 - OutI_W INT 0 " 59" 1 3 1 10 0 0 + 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 OutI_T INT 0 " 0" 1 3 1 10 0 0 - MaxValue REAL 0 " 58.591" 1 8 1 10 0 0 - MinValue REAL 0 " 57.771" 1 8 1 10 0 0 - AverageeValue REAL 0 " 58.192" 1 8 1 10 0 0 - Filtered5_U REAL 0 " 57.1008" 1 8 1 10 0 0 - Filtered5_V REAL 0 " 56.7196" 1 8 1 10 0 0 - Filtered5_W REAL 0 " 58.159" 1 8 1 10 0 0 - Filtered30_U REAL 0 " 57.5539" 1 8 1 10 0 0 - Filtered30_V REAL 0 " 56.8196678" 1 8 1 10 0 0 - Filtered30_W REAL 0 " 57.9493332" 1 8 1 10 0 0 - Filtered_Temp REAL 0 " 49.84861" 1 8 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 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 @@ -207,3 +207,4 @@ Position X=0 Y=0 Width=0 Height=0 TabWidth Name=150 Type=0 Scope=0 Force=0 Index UpdateOld BOOL 0 " *" 4 1 1 2 0 0 EnableOld BOOL 0 " *" 4 1 1 2 0 0 StatusTMP UINT 0 " *" 4 6 1 10 0 0 + BaseValue REAL 0 " 50.0" 0 8 1 10 1 0 diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/IOs.Act_X1C.PVM.dock b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/IOs.Act_X1C.PVM.dock index 9cd5d2e..59e484a 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/IOs.Act_X1C.PVM.dock +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/IOs.Act_X1C.PVM.dock @@ -1,3 +1,4 @@ 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=0 ASCIIString=0 name type force value level type len format place expand specs + X1C_H2 BOOL 1 " FALSE" 0 1 1 2 1 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 2bc316a..bf221c1 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=416 ASCIIString=0 +Position X=0 Y=0 Width=0 Height=0 TabWidth Name=150 Type=0 Scope=0 Force=0 Index=417 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 @@ -418,3 +418,8 @@ Position X=0 Y=0 Width=0 Height=0 TabWidth Name=150 Type=0 Scope=0 Force=0 Index Q BOOL 0 " FALSE" 1 1 1 2 0 0 M BOOL 0 " TRUE" 1 1 1 2 0 0 M_OperMode USINT 0 " 0" 0 5 1 10 0 0 + But_Shield tShield 0 " *" 0 24 1 0 0 1 + DataStatus1 UDINT 0 " 0" 1 7 1 10 0 0 + 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 diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/PageMap.Act_PageBools.PVM.dock b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/PageMap.Act_PageBools.PVM.dock index 106ecfa..7d14aad 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/PageMap.Act_PageBools.PVM.dock +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/PageMap.Act_PageBools.PVM.dock @@ -1,3 +1,20 @@ 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=8 ASCIIString=0 name type force value level type len format place expand specs + MS_Pump stMotorStatus 0 " *" 0 24 1 0 0 1 + Voiceing RS 0 " *" 1 24 1 0 0 1 + Q1 BOOL 0 " FALSE" 2 1 1 2 0 0 + PageBOOLS tsPageBOOLS 0 " *" 0 24 1 0 0 1 + B0 UDINT 0 " 33734656" 1 7 1 10 0 0 + B1 UDINT 0 " 0" 1 7 1 10 0 0 + B2 UDINT 0 " 1" 1 7 1 10 0 0 + B3 UDINT 0 " 0" 1 7 1 10 0 0 + B4 UDINT 0 " 2#0000_0000_0000_0000_0000_0000_0000_0000" 1 7 1 2 0 0 + B5 UDINT 0 " 0" 1 7 1 10 0 0 + B6 UDINT 0 " 0" 1 7 1 10 0 0 + B7 UDINT 0 " 0" 1 7 1 10 0 0 + B8 UDINT 0 " 0" 1 7 1 10 0 0 + B9 UDINT 0 " 0" 1 7 1 10 0 0 + Q_OilCylindExtend EJM_OilCylind 0 " *" 0 24 1 0 0 1 + TrackL fbSolenoidValve 0 " *" 1 24 1 0 0 1 + InPWM USINT 0 " 0" 2 5 1 10 0 0 diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/PageMap.Act_ProgressBar.PVM.dock b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/PageMap.Act_ProgressBar.PVM.dock index 54b1460..38f0e34 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/PageMap.Act_ProgressBar.PVM.dock +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/PageMap.Act_ProgressBar.PVM.dock @@ -739,10 +739,10 @@ Position X=0 Y=0 Width=0 Height=0 TabWidth Name=150 Type=0 Scope=0 Force=0 Index ColorIndex UINT 0 " *" 1 6 1 10 0 0 PageGroup UDINT 0 " *" 1 7 1 10 0 0 PB_Temp_Standby fbProgressBar 0 " *" 0 24 1 0 0 1 - Value REAL 0 " 50.3204422" 1 8 1 10 0 0 + Value REAL 0 " 35.0537033" 1 8 1 10 0 0 Rated REAL 0 " 100.0" 1 8 1 10 0 0 NormalToWarning REAL 0 " 135.0" 1 8 1 10 0 0 WarningToFault REAL 0 " 145.0" 1 8 1 10 0 0 - Percentage UINT 0 " 503" 1 6 1 10 0 0 + Percentage UINT 0 " 351" 1 6 1 10 0 0 ColorIndex UINT 0 " 1" 1 6 1 10 0 0 - PageGroup UDINT 0 " 32964609" 1 7 1 10 0 0 + PageGroup UDINT 0 " 23003137" 1 7 1 10 0 0 diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/PageMap.Act_Roller.PVM.dock b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/PageMap.Act_Roller.PVM.dock index f01785c..e914e06 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/PageMap.Act_Roller.PVM.dock +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/PageMap.Act_Roller.PVM.dock @@ -6,7 +6,7 @@ Position X=0 Y=0 Width=0 Height=0 TabWidth Name=150 Type=0 Scope=0 Force=0 Index LengthHeight UDINT 0 " 16#0000_0000" 1 7 1 16 0 0 SideView UDINT 0 " 0" 1 7 1 10 0 0 FaceView UDINT 0 " 0" 1 7 1 10 0 0 - CenterHeight REAL 0 " 1.0" 1 8 1 10 0 0 + CenterHeight REAL 0 " 0.0" 1 8 1 10 0 0 TransportPos UDINT 0 " 0" 1 7 1 10 0 0 ShowHaulSpeed UDINT 0 " 16#0000_0000" 1 7 1 16 0 0 Roller_SideX INT 0 " 0" 0 3 1 10 1 0 diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/PageMap.fbProgressBar.PB_PressurePump2.PVM.dock b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/PageMap.fbProgressBar.PB_PressurePump2.PVM.dock new file mode 100644 index 0000000..e6d2de0 --- /dev/null +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Diagnosis/JueMao/X90CP174_48_00/PageMap.fbProgressBar.PB_PressurePump2.PVM.dock @@ -0,0 +1,3 @@ +WATCH Ver=2.00 PLCName=PLC1 CPUName=CPU TaskName=PageMap +Position X=0 Y=0 Width=0 Height=0 TabWidth Name=200 Type=100 Scope=60 Force=60 Index=0 ASCIIString=0 + name type force value level type len format place expand specs diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/CurSor/Package.vcp b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/CurSor/Package.vcp index c4e5113..7c5841f 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/CurSor/Package.vcp +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/CurSor/Package.vcp @@ -40,6 +40,7 @@ + diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/CurSor/Pages/P02_Remote1.page b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/CurSor/Pages/P02_Remote1.page index 61d3722..cb9ef6b 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/CurSor/Pages/P02_Remote1.page +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/CurSor/Pages/P02_Remote1.page @@ -45,43 +45,39 @@ - - - + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + @@ -1132,6 +1128,15 @@ - - + + + + + + + + + + + \ No newline at end of file diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/CurSor/Textgroups/TextGroup_1.txtgrp b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/CurSor/Textgroups/TextGroup_1.txtgrp new file mode 100644 index 0000000..0aab4a8 --- /dev/null +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/CurSor/Textgroups/TextGroup_1.txtgrp @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/CurSor/VirtualKeys.vcvk b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/CurSor/VirtualKeys.vcvk index a01837f..8d16f9b 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/CurSor/VirtualKeys.vcvk +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/CurSor/VirtualKeys.vcvk @@ -1931,8 +1931,4 @@ - - - - \ No newline at end of file diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/Physical/Physical.fun b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/Physical/Physical.fun index 1e12f14..3684af1 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/Physical/Physical.fun +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/Physical/Physical.fun @@ -127,6 +127,9 @@ FUNCTION_BLOCK fbAPriorityValve (* 模 TmpKey : SINT; TmpU8Key : USINT; END_VAR + VAR_OUTPUT + PWM_Value : SINT; + END_VAR END_FUNCTION_BLOCK FUNCTION_BLOCK fbDPriorityValve (* 模拟量电磁阀优先级控制器 *) diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/Physical/Types.typ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/Physical/Types.typ index a6c1ef8..575e848 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/Physical/Types.typ +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/Physical/Types.typ @@ -167,6 +167,11 @@ TYPE Flag : INT; (* 符号 *) Offset : DINT; (* 差值 *) END_STRUCT; + SSET_Info : STRUCT (* 圣斯尔电流传感器,设置信息*) + En : BOOL; (* 是否启用*) + NodeID : UDINT; (* 节点ID*) + Ipn : UINT; (* 模块量程*) + END_STRUCT; EJM_MatrixKeyboard : STRUCT (* 矩阵键盘 *) Number : ARRAY[0..9] OF BOOL; (* 按键值 *) Num_1 : BOOL; (* 数字键1-状态 *) @@ -255,6 +260,6 @@ TYPE TrackTension : BOOL; (* 控制按钮-履带张紧 *) TransportTension : BOOL; (* 控制按钮-运输机张紧 *) DustFan : BOOL; (* 控制按钮-除尘风机打开 *) - + HighSpeed : BOOL; (* 控制按钮-除尘风机打开 *) END_STRUCT; END_TYPE diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/Physical/fbAPriorityValve.st b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/Physical/fbAPriorityValve.st index 3e146cf..8cd9e7f 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/Physical/fbAPriorityValve.st +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/Physical/fbAPriorityValve.st @@ -22,11 +22,11 @@ FUNCTION_BLOCK fbAPriorityValve ELSE TmpKey := 0; END_IF; - + PWM_Value := TmpKey; IF TmpKey < 0 THEN TmpU8Key := 255-SINT_TO_USINT(TmpKey)+1; PWM1 := TmpU8Key * 100 / 128; - PWM2 := 0; + PWM2 := 0; ELSIF TmpKey > 0 THEN TmpU8Key := SINT_TO_USINT(TmpKey); PWM1 := 0; diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/ZMJ_Lib/IEC.lby b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/ZMJ_Lib/IEC.lby index 6290bc6..283caea 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/ZMJ_Lib/IEC.lby +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/ZMJ_Lib/IEC.lby @@ -17,7 +17,6 @@ UINT_TO_HexStr.st TooFreq.st Blink.st - UserLogin.st ProtectGrade4.st ProtectGrade2.st ResizeNum_USINT.st diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/ZMJ_Lib/Types.typ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/ZMJ_Lib/Types.typ index b31db4b..8adaeaf 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/ZMJ_Lib/Types.typ +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/ZMJ_Lib/Types.typ @@ -12,255 +12,20 @@ TYPE Pct_300 : INT; (* 300% *) END_STRUCT; ParSet : STRUCT (* 通用配置参数 *) - isVirtualMode : BOOL; (*是否是虚拟PLC*) - isDevelopment : BOOL; (*是否为开发者模式*) - isDebugMode : BOOL; (*是否是调试模式*) + isVirtualMode : BOOL; (*是否是虚拟PLC*) + isDevelopment : BOOL; (*是否为开发者模式*) + isDebugMode : BOOL; (*是否是调试模式*) + Voltage : REAL := 3300.0; (* 全局变量:系统额定电压 *) gRatedCur_Pump : REAL; (* 全局变量:额定电流 - 油泵电机 *) gRatedCur_Cut : REAL; (* 全局变量:额定电流 - 截割电机 *) gRatedCur_Loader : REAL; (* 全局变量:额定电流 - 加载电机 *) gRatedCur_Transport : REAL; (* 全局变量:额定电流 - 运输电机 *) gRatedCur_Standby : REAL; (* 全局变量:额定电流 - 备用电机 *) Roller_Diameter_Img : UINT;(* 滚筒直径-像素大小 *) - Roller_Diameter_MM : UINT;(* 滚筒直径-真实大小毫米 *) - RemDecimal : BOOL; (* 遥控器屏幕显示的牵引速度可以显示小数点, 可以 = TRUE *) - RemOperDelay : BOOL; (* 遥控器的操作指令带延时*) - SecretKey : ARRAY[0..3]OF UINT; (* 程序加密参数, 密文 *) - Voltage : REAL := 3300.0; (* 系统电压 *) - VoltRange : INT; (* 系统电压上下限, 写15即为±15% *) - EnInsul : BOOL; (* 开启漏电检测,开启 = TRUE,关闭 = FALSE *) - MotorStartMode : INT; (*电机的启动方式, 0=常规方式,按住遥控器 2 秒后启动, 1=艾柯夫方式,按住不放才能启动, 中途松开即取消*) - MaxSpeed_MPM : REAL; (* 煤机最大速度,单位:米/分*) - MinSpeed_MPM : REAL; (* 煤机最小速度,单位:米/分*) + Roller_Diameter_MM : UINT;(* 滚筒直径-真实大小毫米 *) + SecretKey : ARRAY[0..3]OF UINT; (* 程序加密参数, 密文 *) + EnInsul : BOOL; (* 开启漏电检测,开启 = TRUE,关闭 = FALSE *) Pssword : ARRAY[1..3]OF UDINT; (* 维修工程师、售后工程师、调试工程师的 6 位密码 *) - CAN20_CCC : BOOL; (* 此项目集控是不是 CAN2.0 的, 是 = TRUE *) - CAN20_Voice : BOOL; (* 此项目语音报警是不是 CAN2.0 的, 是 = TRUE *) - Psw : ARRAY[1..3]OF UDINT; (* 维修工程师、售后工程师、调试工程师的 6 位密码 *) - END_STRUCT; - ConnStatus : STRUCT (*遥控器连接状态*) - PreConn : BOOL; (*预连接*) - OnLine : BOOL; (* 已连接 *) - OffLine : BOOL; (* 未连接 *) - Error : BOOL; (* 故障 *) - END_STRUCT; - RemAction : STRUCT (* 遥控器的各种动作 *) - L_SafeKey : BOOL; (*左行走安全按键*) - R_SafeKey : BOOL; (*右行走安全按键*) - TrackFwd_L : BOOL; (*左履带前进*) - TrackBack_L : BOOL; (*左履带后退*) - TrackFwd_R : BOOL; (*右履带前进*) - TrackBack_R : BOOL; (*右履带后退*) - TrackFwd_Both : BOOL; (*双履带同时前进*) - TrackBack_Both : BOOL; (*双履带同时后退*) - TurnRound_Pos : BOOL; (*调头 - 顺时针*) - TurnRound_Neg : BOOL; (*调头 - 逆时针*) - SpeedSet_Mid : BOOL; (*速度选择中速*) - SpeedSet_High : BOOL; (*速度选择高速*) - Func_2nd : BOOL; (*第二功能*) - Func_3nd : BOOL; (*第三功能*) - Spray : BOOL; (*喷淋*) - Light : BOOL; (*照明灯*) - Start : BOOL; (*开机按键*) - Reset : BOOL; (*复位按键*) - Stop : BOOL; (*急停按键*) - Off : BOOL; (*关机按键*) - StableBoot_Rise : BOOL; (*稳定靴抬离地面*) - StableBoot_Fall : BOOL; (*稳定靴伸向地面*) - CutArm_Rise : BOOL; (*截割臂上升*) - CutArm_Fall : BOOL; (*截割臂下降*) - CollectPlate_Rise : BOOL; (*铲板上升*) - CollectPlate_Fall : BOOL; (*铲板下降*) - Conveyor_Rise : BOOL; (*运输机上升*) - Conveyor_Fall : BOOL; (*运输机下降*) - Conveyor_SwingL : BOOL; (*运输机下降*) - Conveyor_SwingR : BOOL; (*运输机下降*) - Crush_Off : BOOL; (*破碎关*) - Duster_Off : BOOL; (*除尘风机电机关*) - Shl_Off : BOOL; (*铲板电机关*) - Pump_Off : BOOL; (*油泵电机关*) - Cut_Off : BOOL; (*截割电机关*) - Conveyor_Off : BOOL; (*运输机电机关*) - Shl_N : BOOL; (*铲板反转, 单键无功能,仅单独按下此键显示使用*) - Conv_N : BOOL; (*运输机反转,单键无功能,仅单独按下此键显示使用*) - Conv_Left : BOOL; (*运输机向左,单键无功能,仅单独按下此键显示使用*) - Conv_Right : BOOL; (*运输机向右,单键无功能,仅单独按下此键显示使用*) - C_StartCrush : BOOL; (*破碎启动 START+破碎*) - C_StartDuster : BOOL; (*除尘风机启动 START+风机*) - C_Shl_P : BOOL; (*铲板正转 START+铲板*) - C_StartPump : BOOL; (*油泵电机启动 START+油泵*) - C_StartCut : BOOL; (*截割电机启动 START+截割*) - C_Conv_P : BOOL; (*运输机正转 START+运输机*) - C_Shl_N : BOOL; (*铲板电机反转 START+铲板反转*) - C_Conv_N : BOOL; (*运输电机反转 START+运输机反转*) - C_CollectPlateExtend : BOOL; (*铲板扩展 2ND+*) - C_CollectPlateShrink : BOOL; (*铲板收缩 2ND+*) - C_ShieldStretch_L_X : BOOL; (*左护盾伸X轴 2ND+F1*) - C_ShieldShrink_L_X : BOOL; (*左护盾缩X轴 2ND+F2*) - C_ShieldExtend_L_Y : BOOL; (*左护盾扩展Y轴 2ND+F5*) - C_ShieldShrink_L_Y : BOOL; (*左护盾收缩Y轴 2ND+F7*) - C_ShieldStretch_R_X : BOOL; (*右护盾伸X轴 3ND+F1*) - C_ShieldShrink_R_X : BOOL; (*右护盾收缩X轴 3ND+F2*) - C_ShieldExtend_R_Y : BOOL; (*右护盾扩展Y轴 3ND+F5*) - C_ShieldShrink_R_Y : BOOL; (*右护盾收缩Y轴 3ND+F7*) - C_DeduSolen : BOOL; (*除尘电磁阀3ND+灯*) - C_Cursor_U : BOOL; (*画面光标上移 3ND+上*) - C_Cursor_D : {REDUND_UNREPLICABLE} BOOL; (*画面光标下移 3ND+下*) - C_Cursor_L : BOOL; (*画面光标左移 3ND+左*) - C_Cursor_R : BOOL; (*画面光标右移 3ND+右*) - C_Cursor_Afirm : BOOL; (*画面确认 3ND+EN*) - C_Cursor_Return : BOOL; (*画面返回 3ND+BK*) - C_CorEncoder : BOOL; (* 校准编码器值(Stop + Reset) *) - C_Ladder_Up : BOOL; (*梯子上升 2ND+上*) - C_Ladder_Down : BOOL; (*梯子下降 2ND+下*) - C_ValueAdd : BOOL; (*数字增加 2ND+铲板上升*) - C_ValueDec : BOOL; (*数字减少 2ND+铲板下降*) - END_STRUCT; - Remote : STRUCT (* 接收器 *) - ModuleOK : BOOL; (* 连接状态 *) - NodeStatus : UINT; (* 状态 *) - Remote_Key : ARRAY[0..4]OF USINT; (* 无线遥控器键值 *) - RemoteID : ARRAY[0..3]OF USINT; (* 遥控器ID *) - EM_RemoteID : ARRAY[0..3]OF USINT; (* 授权遥控器ID *) - ErrCode : ARRAY[0..2]OF USINT; (* 故障代码 *) - RemoteID_UDINT : UDINT; (* 读取的遥控器ID UDINT型 *) - EM_RemoteID_UDINT : UDINT; (* 授权的遥控器ID UDINT型 *) - SpeedSet_MPM : JOINT; (* 手动给定速度 *) - CablePres : JOINT; (* 卷揽压力 *) - HaulCur_L : JOINT; (* 牵引电流 左 *) - HaulCur_R : JOINT; (* 牵引电流 右 *) - CollectCur_L : JOINT; (* 收集头电流 左 *) - CollectCur_R : JOINT; (* 收集头电流 右 *) - PumpCur : JOINT; (* 油泵电流 *) - FanCur : JOINT; (* 风扇电流 *) - ConveryorCur_L : JOINT; (* 运输机电流 左 *) - ConveryorCur_R : JOINT; (* 运输机电流 右 *) - CutCur_L : JOINT; (* 截割电流 左 *) - CutCur_R : JOINT; (* 截割电流 右 *) - EM_Status : USINT; (* 授权状态 *) - Speed_Level : USINT; (* 速度选择 *) - WorkHight : USINT; (* 截割高度 *) - END_STRUCT; - JOINT : STRUCT (* *) - H : USINT; - L : USINT; END_STRUCT; - OneKeyAct : STRUCT (* 一键启动 *) - DusterStart : BOOL; (* 启动风机命令 *) - PumpStart : BOOL; (* 启动油泵命令 *) - CutStart : BOOL; (* 启动截割命令 *) - Shl_P_Start : BOOL; (* 启动铲板正转命令 *) - Shl_N_Start : BOOL; (* 启动铲板反转命令 *) - Conv_P_Start : BOOL; (* 启动运输机正转命令 *) - Conv_N_Start : BOOL; (* 启动运输机反转命令 *) - Duster_N_Start : BOOL; (* 启动除尘风机命令 *) - END_STRUCT; - Args : STRUCT (* 可调参数阈值列表 *) - Temp_Cut : ValueSet; (* 截割电机温度 *) - Temp_Shl : ValueSet; (* 铲板电机温度 *) - Temp_Conv : ValueSet; (* 运输机电机温度 *) - Temp_Pump : ValueSet; (* 油泵电机电流 *) - Temp_Duster : ValueSet; (* 除尘电机温度 *) - Temp_Haul : ValueSet; (* 牵引电机温度 *) - Temp_Case : ValueSet; (* 电控箱温度 *) - Temp_Trans : ValueSet; (* 牵引变压器温度 *) - Temp_GearBox_Cut : ValueSet; (* 截割减速箱温度 *) - Temp_GearBox_Srp : ValueSet; (* 刮板减速箱温度 *) - Temp_GearBox_Walk : ValueSet; (* 行走减速箱温度 *) - Cur_Cut : PercentSet; (* 截割电机电流 *) - Cur_Shl : PercentSet; (* 铲板电机电流 *) - Cur_Conv : PercentSet; (* 运输机电机电流*) - Cur_Pump : PercentSet; (* 油泵电机电流 *) - Cur_Trans : PercentSet; (* 牵引变压器电流*) - Cur_Duster : PercentSet; (* 除尘电机电流 *) - Cur_Heater : PercentSet; (* 加热器电流 *) - Cur_Haul : PercentSet; (* 牵引电机电流 *) - END_STRUCT; - ArgsFixed : STRUCT (* 不可调参数阈值列表 *) - Temp_OilBox : ValueSet; (* 油箱温度 *) - Temp_GearBox_Shl_High : ValueSet; (* 铲板减速箱高速区温度 *) - Temp_GearBox_Shl_Low : ValueSet; (* 铲板减速箱低速区温度 *) - Temp_Rectif : ValueSet; (* 整流温度 *) - Temp_IGBT : ValueSet; (* IGBT 温度 *) - Temp_LBDY : ValueSet; (* LBDY 温度 *) - END_STRUCT; - InsulAct : STRUCT (* 绝缘检测的动作和结果 *) - Check : BOOL; (* 检测 *) - Result : BOOL := TRUE; (* 结果,正常=TRUE,异常=FALSE *) - END_STRUCT; - - CCC_Ctrl : STRUCT (* 集控控制 *) - TrackFwd_L : BOOL; (* 履带控制-左履带前进 *) - TrackBack_L : BOOL; (* 履带控制-左履带后退 *) - TrackFwd_R : BOOL; (* 履带控制-右履带前进 *) - TrackBack_R : BOOL; (* 履带控制-右履带后退 *) - TrackFwd_Both : BOOL; (* 履带控制-双履带同时前进 *) - TrackBack_Both : BOOL; (* 履带控制-双履带同时后退 *) - TurnRound_Pos : BOOL; (* 掉头控制-掉头-顺时针 *) - TurnRound_Neg : BOOL; (* 掉头控制-掉头-逆时针 *) - speed_low : BOOL; (* 速度选择-低速 *) - speed_medium : BOOL; (* 速度选择-中速 *) - speed_high : BOOL; (* 速度选择-高速 *) - traction_reserved : ARRAY[0..4]OF BOOL; (* 牵引备用 *) - stabilizer_lift : BOOL; (* 稳定靴控制-抬离地面 *) - stabilizer_extend : BOOL; (* 稳定靴控制-伸向地面 *) - arm_lift : BOOL; (* 截割臂控制-上升 *) - arm_lower : BOOL; (* 截割臂控制-下降 *) - blade_lift : BOOL; (* 铲板控制-上升 *) - blade_lower : BOOL; (* 铲板控制-下降 *) - blade_extend : BOOL; (* 铲板控制-扩展 *) - blade_retract : BOOL; (* 铲板控制-收缩 *) - conveyor_up : BOOL; (* 运输机控制-上升 *) - conveyor_down : BOOL; (* 运输机控制-下降 *) - conveyor_left : BOOL; (* 运输机控制-左摆 *) - conveyor_right : BOOL; (* 运输机控制-右摆 *) - support_up : BOOL; (* 支撑控制-上升 *) - support_down : BOOL; (* 支撑控制-下降 *) - ladder_up : BOOL; (* 梯子控制-上升 *) - ladder_down : BOOL; (* 梯子控制-下降 *) - left_shield_extend : BOOL; (* 左护盾-伸 *) - left_shield_retract : BOOL; (* 左护盾-缩 *) - left_shield_expand : BOOL; (* 左护盾-扩展 *) - left_shield_collapse : BOOL; (* 左护盾-收缩 *) - right_shield_extend : BOOL; (* 右护盾-伸 *) - right_shield_retract : BOOL; (* 右护盾-缩 *) - right_shield_expand : BOOL; (* 右护盾-扩展 *) - right_shield_collapse : BOOL; (* 右护盾-收缩 *) - solenoid_valve_reserved : ARRAY[0..7]OF BOOL; (* 电磁阀备用 *) - crusher_start : BOOL; (* 破碎机控制-启动 *) - crusher_stop : BOOL; (* 破碎机控制-停止 *) - fan_start : BOOL; (* 风机控制-启动 *) - fan_stop : BOOL; (* 风机控制-停止 *) - header_forward : BOOL; (* 收集头控制-正转 *) - header_reverse : BOOL; (* 收集头控制-反转 *) - header_stop : BOOL; (* 收集头控制-停止 *) - pump_start : BOOL; (* 油泵控制-启动 *) - pump_stop : BOOL; (* 油泵控制-停止 *) - cutting_start : BOOL; (* 截割控制-启动 *) - cutting_stop : BOOL; (* 截割控制-停止 *) - conveyor_start : BOOL; (* 运输机控制-启动 *) - conveyor_stop : BOOL; (* 运输机控制-停止 *) - Estop : BOOL; (*急停*) - motor_start_reserved : ARRAY[0..2]OF BOOL; (* 电机启动备用 *) - reserved : ARRAY[0..79]OF BOOL; (* 备用 *) - screen_cursor_up : BOOL; (* 画面光标控制-上移 *) - screen_cursor_down : BOOL; (* 画面光标控制-下移 *) - screen_cursor_left : BOOL; (* 画面光标控制-左移 *) - screen_cursor_right : BOOL; (* 画面光标控制-右移 *) - screen_back : BOOL; (* 画面光标控制-返回 *) - screen_confirm : BOOL; (* 画面光标控制-确定 *) - Var_Add : BOOL; (* 画面光标控制-返回 *) - Var_Rec : BOOL; (* 画面光标控制-返回 *) - screen_control_reserved : ARRAY[0..7]OF BOOL; (* 画面控制备用 *) - heartbeat_signal : UINT; (* 心跳信号 *) - END_STRUCT; - tsAlarmList : STRUCT (*报警列表的光标*) - isPithcOn : BOOL; (*当前是否被选中*) - Time : DATE_AND_TIME; (*报警产生的时间*) - AlarmCode : UINT; (*报警代码*) - END_STRUCT; - SSET_Info : STRUCT (* 圣斯尔电流传感器,设置信息*) - En : BOOL; (* 是否启用*) - NodeID : UDINT; (* 节点ID*) - Ipn : UINT; (* 模块量程*) - END_STRUCT; END_TYPE diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/ZMJ_Lib/UserLogin.st b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/ZMJ_Lib/UserLogin.st deleted file mode 100644 index 9a3e26e..0000000 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/ZMJ_Lib/UserLogin.st +++ /dev/null @@ -1,54 +0,0 @@ -(* author : 孙鹏飞 date : 20220422 *) -(* modification : Amon date : 20230714 *) -(* 用户登录,2 个数字组成 6 位数,有 2^6=64 种组合 *) -FUNCTION_BLOCK UserLogin - - (* 判断按下了 2ND、3ND 以外的按钮 *) - (* 遥控器一共38个按键,剩余6*6=36个 *) -// M_Other := RemAct.L_SafeKey OR RemAct.R_SafeKey OR RemAct.TrackFwd_L OR RemAct.TrackBack_L OR RemAct.TrackFwd_R OR RemAct.TrackBack_R OR -// RemAct.TrackFwd_Both OR RemAct.TrackBack_Both OR RemAct.TurnRound_Pos OR RemAct.TurnRound_Neg OR RemAct.SpeedSet_Mid OR RemAct.SpeedSet_High OR -// RemAct.Spray OR RemAct.Light OR RemAct.Start OR RemAct.Reset OR RemAct.Stop OR RemAct.Off OR -// RemAct.StableBoot_Rise OR RemAct.StableBoot_Fall OR RemAct.CutArm_Rise OR RemAct.CutArm_Fall OR RemAct.CollectPlate_Rise OR RemAct.CollectPlate_Fall OR -// RemAct.Conveyor_Rise OR RemAct.Conveyor_Fall OR RemAct.Crush_Off OR RemAct.Duster_Off OR RemAct.Shl_Off OR RemAct.Pump_Off OR -// RemAct.Cut_Off OR RemAct.Conveyor_Off OR RemAct.Shl_N OR RemAct.Conv_N OR RemAct.Conv_Left OR RemAct.Conv_Right; - M_Other := RemAct.Reset OR RemAct.Stop OR RemAct.Off; - - (* 按下了 2ND、3ND 以外的按钮,则清空收到的密码 *) - IF M_Other THEN M_RcvPsw := 0; END_IF; - - Login_TON(IN := Login, PT := T#5M);(* 生效5分钟 *) - IF Login_TON.Q OR Logout THEN Login := FALSE; M_RcvPsw := 0;HMI_Accept_User_Password:=0; END_IF; - - IF HMI_Accept =1THEN - Login2 := HMI_Accept_User_Password = Psw;(* 输入完毕后,比对预置密码 *) - END_IF; - Login := Login1 OR Login2; - - - (* 每个按键只取一个变化沿操作 *) - ExeOnce_RTRIG(CLK := RemAct.Func_2nd OR RemAct.Func_3nd ); - IF NOT ExeOnce_RTRIG.Q THEN RETURN; END_IF; - - (* 取十万位,即取第 1 个按下的按键 *) - IF M_RcvPsw / 1 = 0 THEN - IF RemAct.Func_2nd THEN M_RcvPsw := M_RcvPsw + 2; - ELSIF RemAct.Func_3nd THEN M_RcvPsw := M_RcvPsw + 3; END_IF; - ELSIF M_RcvPsw / 10 = 0 THEN - IF RemAct.Func_2nd THEN M_RcvPsw := M_RcvPsw + 20; - ELSIF RemAct.Func_3nd THEN M_RcvPsw := M_RcvPsw + 30; END_IF; - ELSIF M_RcvPsw / 100 = 0 THEN - IF RemAct.Func_2nd THEN M_RcvPsw := M_RcvPsw + 200; - ELSIF RemAct.Func_3nd THEN M_RcvPsw := M_RcvPsw + 300; END_IF; - ELSIF M_RcvPsw / 1000 = 0 THEN - IF RemAct.Func_2nd THEN M_RcvPsw := M_RcvPsw + 2000; - ELSIF RemAct.Func_3nd THEN M_RcvPsw := M_RcvPsw + 3000; END_IF; - ELSIF M_RcvPsw / 10000 = 0 THEN - IF RemAct.Func_2nd THEN M_RcvPsw := M_RcvPsw + 20000; - ELSIF RemAct.Func_3nd THEN M_RcvPsw := M_RcvPsw + 30000; END_IF; - ELSIF M_RcvPsw / 100000 = 0 THEN - IF RemAct.Func_2nd THEN M_RcvPsw := M_RcvPsw + 200000; - ELSIF RemAct.Func_3nd THEN M_RcvPsw := M_RcvPsw + 300000; END_IF; - Login1 := M_RcvPsw = Psw;(* 输入完毕后,比对预置密码 *) - END_IF; - -END_FUNCTION_BLOCK diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/ZMJ_Lib/ZMJ_Lib.fun b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/ZMJ_Lib/ZMJ_Lib.fun index 77b0ec3..b8c713b 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/ZMJ_Lib/ZMJ_Lib.fun +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Libraries/ZMJ_Lib/ZMJ_Lib.fun @@ -196,26 +196,7 @@ FUNCTION_BLOCK Blink (* END_VAR END_FUNCTION_BLOCK -FUNCTION_BLOCK UserLogin (* 用户登录 *) - VAR_INPUT - RemAct : RemAction; (* 遥控动作 *) - Psw : UDINT; - Logout : BOOL; (* 退出登录 *) - HMI_Accept_User_Password : UDINT; - HMI_Accept : INT; - END_VAR - VAR_OUTPUT - Login : BOOL; (* 输出值 *) - END_VAR - VAR - M_Other : BOOL; (* 按了其他键 *) - M_RcvPsw : UDINT; (* 收到的密码 *) - Login_TON : TON; - ExeOnce_RTRIG : R_TRIG; - Login1 : BOOL; (* 输出值 *) - Login2 : BOOL; (* 输出值 *) - END_VAR -END_FUNCTION_BLOCK + FUNCTION_BLOCK ProtectGrade1 (* 1档保护,用于压力\流量 *) VAR_INPUT 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 87d3333..87152ac 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 @@ -18,10 +18,10 @@ ACTION Dev_Cut: OR PanelKey.CutStart); MS_Cut.Starting(SET:= MS_Cut.StartCMD,RESET1 := MS_Cut.Running OR MS_Cut.StopCMD); - MS_Cut.Voiceing(SET:= MS_Cut.StartCMD,RESET1 := Voice_Over); + MS_Cut.Voiceing(SET:= MS_Cut.StartCMD,RESET1 := Voice_Over OR MS_Cut.Running OR MS_Cut.StopCMD); MS_Cut.VoiceTON(IN:= MS_Cut.Starting.Q1,PT := T#14S); - IF (NOT MS_Cut.Voiceing.Q1) OR MS_Cut.VoiceTON.Q THEN + IF MS_Cut.Starting.Q1 AND ((NOT MS_Cut.Voiceing.Q1) OR MS_Cut.VoiceTON.Q) THEN Q_MotorKM.Cut := TRUE; END_IF; diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/General/Dev_Loader.st b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/General/Dev_Loader.st index 30c2688..f19030a 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/General/Dev_Loader.st +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/General/Dev_Loader.st @@ -18,10 +18,10 @@ ACTION Dev_Loader: OR PanelKey.LoaderStart); MS_Loader.Starting(SET:= MS_Loader.StartCMD,RESET1 := MS_Loader.Running OR MS_Loader.StopCMD); - MS_Loader.Voiceing(SET:= MS_Loader.StartCMD,RESET1 := Voice_Over); + MS_Loader.Voiceing(SET:= MS_Loader.StartCMD,RESET1 := Voice_Over OR MS_Loader.Running OR MS_Loader.StopCMD); MS_Loader.VoiceTON(IN:= MS_Loader.Starting.Q1,PT := T#14S); - IF (NOT MS_Loader.Voiceing.Q1) OR MS_Loader.VoiceTON.Q THEN + IF MS_Loader.Starting.Q1 AND ((NOT MS_Loader.Voiceing.Q1) OR MS_Loader.VoiceTON.Q) THEN Q_MotorKM.Loader := TRUE; END_IF; diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/General/Dev_Pump.st b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/General/Dev_Pump.st index ec3f5f1..9b7df68 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/General/Dev_Pump.st +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/General/Dev_Pump.st @@ -16,10 +16,10 @@ ACTION Dev_Pump: OR PanelKey.PumpStart); MS_Pump.Starting(SET:= MS_Pump.StartCMD,RESET1 := MS_Pump.Running OR MS_Pump.StopCMD); - MS_Pump.Voiceing(SET:= MS_Pump.StartCMD,RESET1 := Voice_Over); + MS_Pump.Voiceing(SET:= MS_Pump.StartCMD,RESET1 := Voice_Over OR MS_Pump.Running OR MS_Pump.StopCMD); MS_Pump.VoiceTON(IN:= MS_Pump.Starting.Q1,PT := T#14S); - IF (NOT MS_Pump.Voiceing.Q1) OR MS_Pump.VoiceTON.Q THEN + IF MS_Pump.Starting.Q1 AND ((NOT MS_Pump.Voiceing.Q1) OR MS_Pump.VoiceTON.Q) THEN Q_MotorKM.Pump := TRUE; END_IF; diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/General/Dev_Standby.st b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/General/Dev_Standby.st index e179941..b83b54b 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/General/Dev_Standby.st +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/General/Dev_Standby.st @@ -17,10 +17,10 @@ ACTION Dev_Standby: OR PanelKey.StandbyStart); MS_Standby.Starting(SET:= MS_Standby.StartCMD,RESET1 := MS_Standby.Running OR MS_Standby.StopCMD); - MS_Standby.Voiceing(SET:= MS_Standby.StartCMD,RESET1 := Voice_Over); + MS_Standby.Voiceing(SET:= MS_Standby.StartCMD,RESET1 := Voice_Over OR MS_Standby.Running OR MS_Standby.StopCMD); MS_Standby.VoiceTON(IN:= MS_Standby.Starting.Q1,PT := T#14S); - IF (NOT MS_Standby.Voiceing.Q1) OR MS_Standby.VoiceTON.Q THEN + IF MS_Standby.Starting.Q1 AND (NOT MS_Standby.Voiceing.Q1) OR MS_Standby.VoiceTON.Q THEN Q_MotorKM.Standby := TRUE; END_IF; diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/General/Dev_Transport.st b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/General/Dev_Transport.st index 19b593a..5348907 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/General/Dev_Transport.st +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/General/Dev_Transport.st @@ -38,16 +38,16 @@ ACTION Dev_Transport: MS_Transport.StartingCor(SET:= MS_Transport.StartCorCMD,RESET1 := MS_Transport.RunningCor OR MS_Transport.StopCMD); MS_Transport.StartingRev(SET:= MS_Transport.StartRevCMD,RESET1 := MS_Transport.RunningRev OR MS_Transport.StopCMD); - MS_Transport.VoiceingCor(SET:= MS_Transport.StartingCor.Q1,RESET1 := Voice_Over); + MS_Transport.VoiceingCor(SET:= MS_Transport.StartingCor.Q1,RESET1 := Voice_Over OR MS_Transport.RunningCor OR MS_Transport.StopCMD); MS_Transport.VoiceTONCor(IN:= MS_Transport.StartingCor.Q1,PT := T#14S); - MS_Transport.VoiceingRev(SET:= MS_Transport.StartingRev.Q1,RESET1 := Voice_Over); + MS_Transport.VoiceingRev(SET:= MS_Transport.StartingRev.Q1,RESET1 := Voice_Over OR MS_Transport.RunningRev OR MS_Transport.StopCMD); MS_Transport.VoiceTONRev(IN:= MS_Transport.StartingRev.Q1,PT := T#14S); - IF ((NOT MS_Transport.VoiceingCor.Q1) OR MS_Transport.VoiceTONCor.Q) THEN + IF MS_Transport.StartingCor.Q1 AND ((NOT MS_Transport.VoiceingCor.Q1) OR MS_Transport.VoiceTONCor.Q) THEN Q_MotorKM.TransportCorotation := NOT MS_Transport.Running; END_IF; - IF ((NOT MS_Transport.VoiceingRev.Q1) OR MS_Transport.VoiceTONRev.Q) THEN + IF MS_Transport.StartingRev.Q1 AND ((NOT MS_Transport.VoiceingRev.Q1) OR MS_Transport.VoiceTONRev.Q) THEN Q_MotorKM.TransportReversal := NOT MS_Transport.Running; END_IF; IF MS_Transport.StopCMD THEN diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/General/Main.st b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/General/Main.st index 9099f23..342bab9 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/General/Main.st +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/General/Main.st @@ -8,7 +8,7 @@ PROGRAM _CYCLIC FirstOn_TP(IN := TRUE , PT := T#5S); (* 开机播放语音,采煤机送电 *) EnTurnOn_TP(IN := TRUE , PT := T#10S); - TurnOn_RTRIG(CLK := EnTurnOn_TP.Q AND PS.CAN20_Voice AND DC.Audible); (* 语音播放时间 *) + TurnOn_RTRIG(CLK := EnTurnOn_TP.Q AND DC.Audible); (* 语音播放时间 *) // IF TurnOn_RTRIG.Q THEN VoiceCmd := 0; END_IF; (* 语音报警器指令, 沈阳广角 KXB12 矿用本安型声光报警器, 0=停止放音, 8=连采机启动,工作人员注意 取消(*原因:第8条指令错误*) ErrReset := (RemoteKey.Reset OR PanelKey.Reset OR CentralizedKey.Reset); diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/Hydraulic/Main.st b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/Hydraulic/Main.st index e44e0a2..5e3a09e 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/Hydraulic/Main.st +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/Hydraulic/Main.st @@ -27,14 +27,22 @@ PROGRAM _CYCLIC //则可以通过如下方式进行转换 Test_US8 := USINT_TO_SINT(Test_Key-127); //遥控器键值,需要在初始时,直接减去127; - + IF PanelKey.Track <> 0 AND PanelKey.TrackL = 0 AND PanelKey.TrackR = 0 THEN + PanelKey.TrackL := PanelKey.Track; + PanelKey.TrackR := PanelKey.Track; + END_IF; + IF CentralizedKey.Track <> 0 AND CentralizedKey.TrackL = 0 AND CentralizedKey.TrackR = 0 THEN + CentralizedKey.TrackL := CentralizedKey.Track; + CentralizedKey.TrackR := CentralizedKey.Track; + END_IF; APriorityValve_TrackL (KeyValue1 := RemoteKey.TrackL, KeyValue2 := PanelKey.TrackL, KeyValue3 := CentralizedKey.TrackL, PWM1 := Q_OilCylindShorten.TrackL.InPWM, PWM2 := Q_OilCylindExtend.TrackL.InPWM ); (* 控制按钮-左履带前后 *) APriorityValve_TrackR (KeyValue1 := RemoteKey.TrackR, KeyValue2 := PanelKey.TrackR, KeyValue3 := CentralizedKey.TrackR, PWM1 := Q_OilCylindShorten.TrackR.InPWM, PWM2 := Q_OilCylindExtend.TrackR.InPWM ); (* 控制按钮-右履带前后 *) APriorityValve_CutL (KeyValue1 := RemoteKey.Cut, KeyValue2 := PanelKey.Cut, KeyValue3 := CentralizedKey.Cut, PWM1 := Q_OilCylindShorten.CutL.InPWM, PWM2 := Q_OilCylindExtend.CutL.InPWM ); (* 控制按钮-左截割伸缩 *) APriorityValve_CutR (KeyValue1 := RemoteKey.Cut, KeyValue2 := PanelKey.Cut, KeyValue3 := CentralizedKey.Cut, PWM1 := Q_OilCylindShorten.CutR.InPWM, PWM2 := Q_OilCylindExtend.CutR.InPWM ); (* 控制按钮-右截割伸缩 *) APriorityValve_Cutt (KeyValue1 := RemoteKey.Cutt, KeyValue2 := PanelKey.Cutt, KeyValue3 := CentralizedKey.Cutt, PWM1 := Q_OilCylindShorten.Cutt.InPWM, PWM2 := Q_OilCylindExtend.Cutt.InPWM ); (* 控制按钮-掏槽伸缩 *) - + PWM_StatusTrackL := APriorityValve_TrackL.PWM_Value; + PWM_StatusTrackR := APriorityValve_TrackR.PWM_Value; DPV[1]((* 油缸伸缩-滚筒 *) KStr1:= RemoteKey.RollerStr, KStr2:= PanelKey.RollerStr, KStr3:= CentralizedKey.RollerStr, Q_Str:= Q_OilCylindExtend.Roller.InSwitch, diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/MachineBase.var b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/MachineBase.var index 7e798eb..54ec30f 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/MachineBase.var +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_MachineBase/MachineBase.var @@ -18,7 +18,8 @@ VAR MS_Transport : stMotorStatus_CorRev;(* 电机状态及指令-运输机接触器 *) MS_Loader : stMotorStatus;(* 电机状态及指令-装载接触器 *) MS_Standby : stMotorStatus;(* 电机状态及指令-备用接触器 *) - + PWM_StatusTrackL : SINT; + PWM_StatusTrackR : SINT; END_VAR VAR CONSTANT diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Pages/PageControl/Main.st b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Pages/PageControl/Main.st index e42b370..13f79f1 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Pages/PageControl/Main.st +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Pages/PageControl/Main.st @@ -24,6 +24,13 @@ PROGRAM _CYCLIC PageContol.CursorControl.15 := I_CursorControl.Right; + //HMI_Speed_L := 0;HMI_Speed_R := 0; + //HMI_AK[1] := 0;HMI_AK[2] := 0;HMI_AK[3] := 0;HMI_AK[4] := 0; + + memcpy(ADR(HMI_DK),ADR(DK),SIZEOF(DK)); + + + PageContol.RemoteAKey1 := INT_TO_UDINT((I_RemoteIO.Speed_R) * 256 * 256) + INT_TO_UDINT(I_RemoteIO.Speed_L); PageContol.RemoteAKey2 := INT_TO_UDINT((I_RemoteIO.AK[2]) * 256 * 256) + INT_TO_UDINT(I_RemoteIO.AK[1]); PageContol.RemoteDKey1.0 := DK[1,0]; diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Pages/PageControl/Variables.var b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Pages/PageControl/Variables.var index df997a6..b5f205f 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Pages/PageControl/Variables.var +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Pages/PageControl/Variables.var @@ -3,5 +3,5 @@ VAR Speed_R : SINT; AK : ARRAY[1..4] OF SINT; DK : ARRAY[1..2,0..31] OF BOOL; - + Mode : USINT; END_VAR \ No newline at end of file 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 4c8c5e6..41d639b 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 @@ -145,5 +145,39 @@ ACTION Act_PageBools: PageBOOLS.B3.30 := FALSE; PageBOOLS.B3.31 := FALSE; - + PageBOOLS.B4.0 := MS_Pump.Voiceing.Q1; + PageBOOLS.B4.1 := MS_Cut.Voiceing.Q1; + PageBOOLS.B4.2 := MS_Loader.Voiceing.Q1; + PageBOOLS.B4.3 := MS_Transport.VoiceingCor.Q1; + PageBOOLS.B4.4 := MS_Transport.VoiceingRev.Q1; + PageBOOLS.B4.5 := MS_Standby.Voiceing.Q1; + PageBOOLS.B4.6 := PWM_StatusTrackL > 0 AND PWM_StatusTrackR = 0;(* 左进---左前进,右停止 *) + PageBOOLS.B4.7 := PWM_StatusTrackL < 0 AND PWM_StatusTrackR = 0;(* 左退---左后退,右停止 *) + + PageBOOLS.B4.8 := PWM_StatusTrackL = 0 AND PWM_StatusTrackR > 0;(* 右进---右前进,左停止 *) + PageBOOLS.B4.9 := PWM_StatusTrackL = 0 AND PWM_StatusTrackR < 0;(* 右退---右后退,左停止 *) + PageBOOLS.B4.10 := PWM_StatusTrackL > 0 AND PWM_StatusTrackR > 0;(* 双进---左前进,右前进 *) + PageBOOLS.B4.11 := PWM_StatusTrackL < 0 AND PWM_StatusTrackR < 0;(* 双退---左后退,右后退 *) + PageBOOLS.B4.12 := PWM_StatusTrackL > 0 AND PWM_StatusTrackR < 0;(* 顺时转---左前进,右后退 *) + PageBOOLS.B4.13 := PWM_StatusTrackL < 0 AND PWM_StatusTrackR > 0;(* 逆时转---右前进,左后退 *) + PageBOOLS.B4.14 := Q_OilCylindExtend.CutL.InPWM > 0 AND Q_OilCylindExtend.CutR.InPWM > 0;(* 摇臂升---左升,右升 *) + PageBOOLS.B4.15 := Q_OilCylindShorten.CutL.InPWM > 0 AND Q_OilCylindShorten.CutR.InPWM > 0;(* 摇臂降---左降,右降 *) + + PageBOOLS.B4.16 := Q_OilCylindExtend.Cutt.InPWM > 0;(* 掏槽伸出 *) + PageBOOLS.B4.17 := Q_OilCylindShorten.Cutt.InPWM > 0;(* 掏槽缩回 *) + PageBOOLS.B4.18 := + PageBOOLS.B4.19 := + PageBOOLS.B4.20 := FALSE; + PageBOOLS.B4.21 := FALSE; + PageBOOLS.B4.22 := FALSE; + PageBOOLS.B4.23 := FALSE; + + PageBOOLS.B4.24 := FALSE; + PageBOOLS.B4.25 := FALSE; + PageBOOLS.B4.26 := FALSE; + PageBOOLS.B4.27 := FALSE; + PageBOOLS.B4.28 := FALSE; + PageBOOLS.B4.29 := FALSE; + PageBOOLS.B4.30 := FALSE; + PageBOOLS.B4.31 := FALSE; END_ACTION diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_CAN/SSET/Main.st b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_CAN/SSET/Main.st index d9a5633..b7ded54 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_CAN/SSET/Main.st +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_CAN/SSET/Main.st @@ -21,23 +21,70 @@ PROGRAM _CYCLIC DC.SSET_AT[6] := SSET_LoaderR.Online; DC.SSET_AT[7] := SSET_Standby.Online; - IF PS.isDevelopment THEN - IN_PhaseCut (IU := BaseValue + RandRangeReal(5,10), IV := BaseValue + RandRangeReal(4,10), IW := BaseValue + RandRangeReal(6,10) ); (* 三相电流信息-截割电机 *) - IN_PhasePump (IU := BaseValue + RandRangeReal(5,10), IV := BaseValue + RandRangeReal(4,10), IW := BaseValue + RandRangeReal(6,10) ); (* 三相电流信息-泵电机 *) - IN_PhaseTransportL (IU := BaseValue + RandRangeReal(5,10), IV := BaseValue + RandRangeReal(4,10), IW := BaseValue + RandRangeReal(6,10) ); (* 三相电流信息-左运输电机 *) - IN_PhaseTransportR (IU := BaseValue + RandRangeReal(5,10), IV := BaseValue + RandRangeReal(4,10), IW := BaseValue + RandRangeReal(6,10) ); (* 三相电流信息-右运输电机 *) - IN_PhaseLoaderL (IU := BaseValue + RandRangeReal(5,10), IV := BaseValue + RandRangeReal(4,10), IW := BaseValue + RandRangeReal(6,10) ); (* 三相电流信息-左装载电机 *) - IN_PhaseLoaderR (IU := BaseValue + RandRangeReal(5,10), IV := BaseValue + RandRangeReal(4,10), IW := BaseValue + RandRangeReal(6,10) ); (* 三相电流信息-右装载电机 *) - IN_PhaseStandby (IU := BaseValue + RandRangeReal(5,10), IV := BaseValue + RandRangeReal(4,10), IW := BaseValue + RandRangeReal(6,10) ); (* 三相电流信息-备用电机 *) - ELSE - IF PS.isVirtualMode THEN RETURN;END_IF; - IN_PhaseCut (IU := SSET_Cut.U, IV := SSET_Cut.V, IW := SSET_Cut.W ); (* 三相电流信息-截割电机 *) - IN_PhasePump (IU := SSET_Pump.U, IV := SSET_Pump.V, IW := SSET_Pump.W ); (* 三相电流信息-泵电机 *) - IN_PhaseTransportL (IU := SSET_TransportL.U, IV := SSET_TransportL.V, IW := SSET_TransportL.W ); (* 三相电流信息-左运输电机 *) - IN_PhaseTransportR (IU := SSET_TransportR.U, IV := SSET_TransportR.V, IW := SSET_TransportR.W ); (* 三相电流信息-右运输电机 *) - IN_PhaseLoaderL (IU := SSET_LoaderL.U, IV := SSET_LoaderL.V, IW := SSET_LoaderL.W ); (* 三相电流信息-左装载电机 *) - IN_PhaseLoaderR (IU := SSET_LoaderR.U, IV := SSET_LoaderR.V, IW := SSET_LoaderR.W ); (* 三相电流信息-右装载电机 *) - IN_PhaseStandby (IU := SSET_Standby.U, IV := SSET_Standby.V, IW := SSET_Standby.W ); (* 三相电流信息-备用电机 *) + IN_PhaseCut (IU := SSET_Cut.U, IV := SSET_Cut.V, IW := SSET_Cut.W ); (* 三相电流信息-截割电机 *) + IN_PhasePump (IU := SSET_Pump.U, IV := SSET_Pump.V, IW := SSET_Pump.W ); (* 三相电流信息-泵电机 *) + IN_PhaseTransportL (IU := SSET_TransportL.U, IV := SSET_TransportL.V, IW := SSET_TransportL.W ); (* 三相电流信息-左运输电机 *) + IN_PhaseTransportR (IU := SSET_TransportR.U, IV := SSET_TransportR.V, IW := SSET_TransportR.W ); (* 三相电流信息-右运输电机 *) + IN_PhaseLoaderL (IU := SSET_LoaderL.U, IV := SSET_LoaderL.V, IW := SSET_LoaderL.W ); (* 三相电流信息-左装载电机 *) + IN_PhaseLoaderR (IU := SSET_LoaderR.U, IV := SSET_LoaderR.V, IW := SSET_LoaderR.W ); (* 三相电流信息-右装载电机 *) + IN_PhaseStandby (IU := SSET_Standby.U, IV := SSET_Standby.V, IW := SSET_Standby.W ); (* 三相电流信息-备用电机 *) + + IF PS.isDevelopment AND NOT PS.isDebugMode THEN (* 是否为开发模式 *) + IF Q_MotorKM.Cut THEN + IN_PhaseCut ( + IU := RandRangeReal(PS.gRatedCur_Cut * 0.9,PS.gRatedCur_Cut * 1.1), + IV := RandRangeReal(PS.gRatedCur_Cut * 0.9,PS.gRatedCur_Cut * 1.1), + IW := RandRangeReal(PS.gRatedCur_Cut * 0.9,PS.gRatedCur_Cut * 1.1) ); (* 三相电流信息-截割电机 *) + ELSE + IN_PhaseCut (IU := 0.0, IV := 0.0, IW := 0.0 ); (* 三相电流信息-截割电机 *) + END_IF; + + IF Q_MotorKM.Pump THEN + IN_PhasePump ( + IU := RandRangeReal(PS.gRatedCur_Pump * 0.9,PS.gRatedCur_Pump * 1.1), + IV := RandRangeReal(PS.gRatedCur_Pump * 0.9,PS.gRatedCur_Pump * 1.1), + IW := RandRangeReal(PS.gRatedCur_Pump * 0.9,PS.gRatedCur_Pump * 1.1) ); (* 三相电流信息-截割电机 *) + ELSE + IN_PhasePump (IU := 0.0, IV := 0.0, IW := 0.0 ); (* 三相电流信息-截割电机 *) + END_IF; + + IF Q_MotorKM.TransportCorotation OR Q_MotorKM.TransportReversal THEN + IN_PhaseTransportL ( + IU := RandRangeReal(PS.gRatedCur_Transport * 0.9,PS.gRatedCur_Transport * 1.1), + IV := RandRangeReal(PS.gRatedCur_Transport * 0.9,PS.gRatedCur_Transport * 1.1), + IW := RandRangeReal(PS.gRatedCur_Transport * 0.9,PS.gRatedCur_Transport * 1.1) ); (* 三相电流信息-左运输电机 *) + + IN_PhaseTransportR ( + IU := RandRangeReal(PS.gRatedCur_Transport * 0.9,PS.gRatedCur_Transport * 1.1), + IV := RandRangeReal(PS.gRatedCur_Transport * 0.9,PS.gRatedCur_Transport * 1.1), + IW := RandRangeReal(PS.gRatedCur_Transport * 0.9,PS.gRatedCur_Transport * 1.1) ); (* 三相电流信息-右运输电机 *) + ELSE + IN_PhaseTransportL (IU := 0.0, IV := 0.0, IW := 0.0 ); (* 三相电流信息-左运输电机 *) + IN_PhaseTransportR (IU := 0.0, IV := 0.0, IW := 0.0 ); (* 三相电流信息-右运输电机 *) + END_IF; + + IF Q_MotorKM.Loader THEN + IN_PhaseLoaderL ( + IU := RandRangeReal(PS.gRatedCur_Loader * 0.9,PS.gRatedCur_Loader * 1.1), + IV := RandRangeReal(PS.gRatedCur_Loader * 0.9,PS.gRatedCur_Loader * 1.1), + IW := RandRangeReal(PS.gRatedCur_Loader * 0.9,PS.gRatedCur_Loader * 1.1) ); (* 三相电流信息-左装载电机 *) + IN_PhaseLoaderR ( + IU := RandRangeReal(PS.gRatedCur_Loader * 0.9,PS.gRatedCur_Loader * 1.1), + IV := RandRangeReal(PS.gRatedCur_Loader * 0.9,PS.gRatedCur_Loader * 1.1), + IW := RandRangeReal(PS.gRatedCur_Loader * 0.9,PS.gRatedCur_Loader * 1.1) ); (* 三相电流信息-右装载电机 *) + ELSE + IN_PhaseLoaderL (IU := 0.0, IV := 0.0, IW := 0.0 ); (* 三相电流信息-左装载电机 *) + IN_PhaseLoaderR (IU := 0.0, IV := 0.0, IW := 0.0 ); (* 三相电流信息-右装载电机 *) + END_IF; + + IF Q_MotorKM.Standby THEN + IN_PhaseStandby ( + IU := RandRangeReal(PS.gRatedCur_Standby * 0.9,PS.gRatedCur_Standby * 1.1), + IV := RandRangeReal(PS.gRatedCur_Standby * 0.9,PS.gRatedCur_Standby * 1.1), + IW := RandRangeReal(PS.gRatedCur_Standby * 0.9,PS.gRatedCur_Standby * 1.1) ); (* 三相电流信息-截割电机 *) + ELSE + IN_PhaseStandby (IU := 0.0, IV := 0.0, IW := 0.0 ); (* 三相电流信息-截割电机 *) + END_IF; END_IF; diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_Control/Control.var b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_Control/Control.var index 5e77046..d7e345a 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_Control/Control.var +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_Control/Control.var @@ -15,8 +15,12 @@ VAR CentrControlKey_3 : UDINT;(* 集控控制键值 *) CentrControlKey_4 : UDINT;(* 集控控制键值 *) CentrTmpSINT : ARRAY[1..8] OF SINT; - + HMI_Speed_L : SINT; + HMI_Speed_R : SINT; + HMI_AK : ARRAY[1..4] OF SINT; + HMI_DK : ARRAY[1..2,0..31] OF BOOL; + HMI_Mode : USINT; END_VAR VAR CONSTANT diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_Control/ControlMBTCP/Main.st b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_Control/ControlMBTCP/Main.st index 5318d7d..f95cd10 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_Control/ControlMBTCP/Main.st +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_Control/ControlMBTCP/Main.st @@ -62,6 +62,7 @@ PROGRAM _CYCLIC CentralizedKey.TrackTension := holdingReg[11].2 ; (* 控制按钮-履带张紧 不用 *) CentralizedKey.TransportTension := holdingReg[11].3 ; (* 控制按钮-运输机张紧 不用 *) CentralizedKey.DustFan := holdingReg[11].4 ; (* 控制按钮-除尘风机打开 *) + CentralizedKey.HighSpeed := holdingReg[11].5 ; (* 控制按钮-高速 *) END_IF; END_PROGRAM diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_Control/ControlOpcUa/Act_CentrMode.st b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_Control/ControlOpcUa/Act_CentrMode.st index 5a76c5a..393d16f 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_Control/ControlOpcUa/Act_CentrMode.st +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_Control/ControlOpcUa/Act_CentrMode.st @@ -65,6 +65,7 @@ ACTION Act_CentrMode: CentralizedKey.TrackTension := CentrControlKey_4.2 ; (* 控制按钮-履带张紧 *) CentralizedKey.TransportTension := CentrControlKey_4.3 ; (* 控制按钮-运输机张紧 *) CentralizedKey.DustFan := CentrControlKey_4.4 ; (* 控制按钮-除尘风机打开 *) + CentralizedKey.HighSpeed := CentrControlKey_4.5 ; (* 控制按钮-高速 *) END_IF; END_ACTION diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_Control/ControlOpcUa/Act_PanelMode.st b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_Control/ControlOpcUa/Act_PanelMode.st index 1fec1a4..c3cef70 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_Control/ControlOpcUa/Act_PanelMode.st +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_Control/ControlOpcUa/Act_PanelMode.st @@ -63,6 +63,7 @@ ACTION Act_PanelMode: PanelKey.TrackTension := PanelControlKey_4.2 ; (* 控制按钮-履带张紧 *) PanelKey.TransportTension := PanelControlKey_4.3 ; (* 控制按钮-运输机张紧 *) PanelKey.DustFan := PanelControlKey_4.4 ; (* 控制按钮-除尘风机打开 *) + PanelKey.HighSpeed := PanelControlKey_4.5 ; (* 控制按钮-高速 *) END_IF; END_ACTION diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_Control/ControlRem/Main.st b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_Control/ControlRem/Main.st index 4afbb3c..04bb466 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_Control/ControlRem/Main.st +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_Control/ControlRem/Main.st @@ -1,16 +1,59 @@ PROGRAM _INIT - (* Insert code here *) - + END_PROGRAM PROGRAM _CYCLIC - (* Insert code here *) - + RemoteKey.WorkMode := HMI_Mode; (* 工作模式 *) +// RemoteKey.Track := PanelTmpSINT[2]; (* 控制按钮-双履带前后 *) +// RemoteKey.TrackL := PanelTmpSINT[3]; (* 控制按钮-左履带前后 *) +// RemoteKey.TrackR := PanelTmpSINT[4]; (* 控制按钮-右履带前后 *) +// RemoteKey.Cut := PanelTmpSINT[5]; (* 控制按钮-截割伸缩 *) +// RemoteKey.Cutt := PanelTmpSINT[6]; (* 控制按钮-掏槽伸缩 *) + + RemoteKey.PumpStart := HMI_DK[1,0] ; (* 控制按钮-油泵启动 *) + RemoteKey.PumpStop := HMI_DK[1,1] ; (* 控制按钮-油泵停止 *) + RemoteKey.CutStart := HMI_DK[1,2] ; (* 控制按钮-截割启动 *) + RemoteKey.CutStop := HMI_DK[1,3] ; (* 控制按钮-截割停止 *) + RemoteKey.LoaderStart := HMI_DK[1,4] ; (* 控制按钮-装载启动 *) + RemoteKey.LoaderStop := HMI_DK[1,5] ; (* 控制按钮-装载停止 *) + RemoteKey.TransportCorotation := HMI_DK[1,6] ; (* 控制按钮-运输机正转 *) + RemoteKey.TransportReversal := HMI_DK[1,7] ; (* 控制按钮-运输机反转 *) + RemoteKey.TransportStop := HMI_DK[1,8] ; (* 控制按钮-运输机停止 *) + RemoteKey.StandbyStart := HMI_DK[1,9] ; (* 控制按钮-备用启动 *) + RemoteKey.StandbyStop := HMI_DK[1,10] ; (* 控制按钮-备用停止 *) + RemoteKey.Reset := HMI_DK[1,11] ; (* 控制按钮-复位 *) + RemoteKey.TransportLifterStr := HMI_DK[1,12] ; (* 控制按钮-运输机升降伸 *) + RemoteKey.TransportLifterShr := HMI_DK[1,13] ; (* 控制按钮-运输机升降缩 *) + RemoteKey.TransportSwingStr := HMI_DK[1,14] ; (* 控制按钮-运输机摆动伸 *) + RemoteKey.TransportSwingShr := HMI_DK[1,15] ; (* 控制按钮-运输机摆动缩 *) + RemoteKey.BoardLifterStr := HMI_DK[1,16] ; (* 控制按钮-铲板升降伸 *) + RemoteKey.BoardLifterShr := HMI_DK[1,17] ; (* 控制按钮-铲板升降缩 *) + RemoteKey.BoardExpansionStr := HMI_DK[1,18] ; (* 控制按钮-铲板扩展伸 *) + RemoteKey.BoardExpansionShr := HMI_DK[1,19] ; (* 控制按钮-铲板扩展缩 *) + RemoteKey.SupportLStr := HMI_DK[1,20] ; (* 控制按钮-左后支护伸 *) + RemoteKey.SupportLShr := HMI_DK[1,21] ; (* 控制按钮-左后支护缩 *) + RemoteKey.SupportRStr := HMI_DK[1,22] ; (* 控制按钮-右后支护伸 *) + RemoteKey.SupportRShr := HMI_DK[1,23] ; (* 控制按钮-右后支护缩 *) + RemoteKey.HydraulicStr := HMI_DK[1,24] ; (* 控制按钮-液压侧平台伸 *) + RemoteKey.HydraulicShr := HMI_DK[1,25] ; (* 控制按钮-液压侧平台缩 *) + RemoteKey.ECUStr := HMI_DK[1,26] ; (* 控制按钮-电控侧平台伸 *) + RemoteKey.ECUShr := HMI_DK[1,27] ; (* 控制按钮-电控侧平台缩 *) + RemoteKey.SupportTmpStr := HMI_DK[1,28] ; (* 控制按钮-临时支护伸 *) + RemoteKey.SupportTmpShr := HMI_DK[1,29] ; (* 控制按钮-临时支护缩 *) + RemoteKey.RollerStr := HMI_DK[1,30] ; (* 控制按钮-滚筒伸 *) + RemoteKey.RollerShr := HMI_DK[1,31] ; (* 控制按钮-滚筒缩 *) + RemoteKey.LubPump := HMI_DK[2,0] ; (* 控制按钮-集中润滑泵工作 *) + RemoteKey.BoostPump := HMI_DK[2,1] ; (* 控制按钮-增压水泵工作 *) + RemoteKey.TrackTension := HMI_DK[2,2] ; (* 控制按钮-履带张紧 *) + RemoteKey.TransportTension := HMI_DK[2,3] ; (* 控制按钮-运输机张紧 *) + RemoteKey.DustFan := HMI_DK[2,4] ; (* 控制按钮-除尘风机打开 *) + RemoteKey.HighSpeed := HMI_DK[2,5] ; (* 控制按钮-高速 *) + END_PROGRAM PROGRAM _EXIT - (* Insert code here *) + END_PROGRAM diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_Control/Package.pkg b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_Control/Package.pkg index 37624a8..eb40e01 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_Control/Package.pkg +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_Control/Package.pkg @@ -2,7 +2,7 @@ - Control.var + Control.var ControlMBTCP ControlOpcUa ControlRem diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_IO/IOs/Act_Module_1.st b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_IO/IOs/Act_Module_1.st index f32571d..63f50e4 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_IO/IOs/Act_Module_1.st +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_IO/IOs/Act_Module_1.st @@ -1,42 +1,83 @@ ACTION Act_Module_1: - IF PS.isDevelopment THEN - Filter_Sersor[1] (Enable := TRUE, WindowLength := 10, In := BaseValue + RandRangeReal(-10,10)); (* 传感器-油泵压力1 4~20mA 对应 040Mpa *) - Filter_Sersor[2] (Enable := TRUE, WindowLength := 10, In := BaseValue + RandRangeReal(-10,10)); (* 传感器-油泵压力2 4~20mA 对应 040Mpa *) - Filter_Sersor[3] (Enable := TRUE, WindowLength := 10, In := BaseValue + RandRangeReal(-10,10)); (* 传感器-油泵压力3 4~20mA 对应 040Mpa *) - Filter_Sersor[4] (Enable := TRUE, WindowLength := 10, In := BaseValue + RandRangeReal(-10,10)); (* 传感器-截割压力 4~20mA 对应 040Mpa *) - Filter_Sersor[5] (Enable := TRUE, WindowLength := 10, In := BaseValue + RandRangeReal(-10,10)); (* 传感器-掏槽压力 4~20mA 对应 040Mpa *) - Filter_Sersor[6] (Enable := TRUE, WindowLength := 10, In := BaseValue + RandRangeReal(-10,10)); (* 传感器-截割喷淋压力 4~20mA 对应 10Mpa *) - Filter_Sersor[7] (Enable := TRUE, WindowLength := 10, In := BaseValue + RandRangeReal(-10,10)); (* 传感器-截割缸左位移 4~20mA 对应930mm *) - Filter_Sersor[8] (Enable := TRUE, WindowLength := 10, In := BaseValue + RandRangeReal(-10,10)); (* 传感器-截割缸右位移 4~20mA 对应930mm *) - Filter_Sersor[9] (Enable := TRUE, WindowLength := 10, In := BaseValue + RandRangeReal(-10,10)); (* 传感器-掏槽缸位移 4~20mA 对应 2020mm *) - Filter_Sersor[10](Enable := TRUE, WindowLength := 10, In := BaseValue + RandRangeReal(-10,10)); (* 传感器-运输缸位移 4~20mA 对应 1035mm *) - Filter_Sersor[11](Enable := TRUE, WindowLength := 10, In := BaseValue + RandRangeReal(-10,10)); (* 传感器-支撑缸左位移 4~20mA 对应 40mm *) - Filter_Sersor[12](Enable := TRUE, WindowLength := 10, In := BaseValue + RandRangeReal(-10,10)); (* 传感器-支撑缸右位移 4~20mA 对应 40mm *) - Filter_Sersor[13](Enable := TRUE, WindowLength := 10, In := BaseValue + RandRangeReal(-10,10)); (* 传感器-油箱液位 4~20mA 对应 40% *) - Filter_Sersor[14](Enable := TRUE, WindowLength := 10, In := BaseValue + RandRangeReal(-10,10)); (* 传感器-油箱温度 4~20mA 对应 80℃ *) - Filter_Sersor[15](Enable := TRUE, WindowLength := 10, In := BaseValue + RandRangeReal(-10,10)); (* 传感器-截割喷雾流量 4~20mA 对应 16.6~166.0L/min *) - Filter_Sersor[16](Enable := TRUE, WindowLength := 10, In := BaseValue + RandRangeReal(-10,10)); (* 传感器-铲板喷雾流量 4~20mA 对应 16.6~166.0L/min *) - ELSE - Filter_Sersor[1] (Enable := TRUE, WindowLength := 10, In := Map(Dx1Pin2 , ConsPLC_4mA, ConsPLC_20mA, Cons_0, 40.0)); (* 传感器-油泵压力1 4~20mA 对应 040Mpa *) - Filter_Sersor[2] (Enable := TRUE, WindowLength := 10, In := Map(Dx1Pin3 , ConsPLC_4mA, ConsPLC_20mA, Cons_0, 40.0)); (* 传感器-油泵压力2 4~20mA 对应 040Mpa *) - Filter_Sersor[3] (Enable := TRUE, WindowLength := 10, In := Map(Dx1Pin4 , ConsPLC_4mA, ConsPLC_20mA, Cons_0, 40.0)); (* 传感器-油泵压力3 4~20mA 对应 040Mpa *) - Filter_Sersor[4] (Enable := TRUE, WindowLength := 10, In := Map(Dx1Pin5 , ConsPLC_4mA, ConsPLC_20mA, Cons_0, 40.0)); (* 传感器-截割压力 4~20mA 对应 040Mpa *) - Filter_Sersor[5] (Enable := TRUE, WindowLength := 10, In := Map(Dx1Pin6 , ConsPLC_4mA, ConsPLC_20mA, Cons_0, 40.0)); (* 传感器-掏槽压力 4~20mA 对应 040Mpa *) - Filter_Sersor[6] (Enable := TRUE, WindowLength := 10, In := Map(Dx1Pin7 , ConsPLC_4mA, ConsPLC_20mA, Cons_0, 10.0)); (* 传感器-截割喷淋压力 4~20mA 对应 10Mpa *) - Filter_Sersor[7] (Enable := TRUE, WindowLength := 10, In := Map(Dx1Pin8 , ConsPLC_4mA, ConsPLC_20mA, Cons_0, 930.0)); (* 传感器-截割缸左位移 4~20mA 对应930mm *) - Filter_Sersor[8] (Enable := TRUE, WindowLength := 10, In := Map(Dx1Pin9 , ConsPLC_4mA, ConsPLC_20mA, Cons_0, 930.0)); (* 传感器-截割缸右位移 4~20mA 对应930mm *) - Filter_Sersor[9] (Enable := TRUE, WindowLength := 10, In := Map(Dx1Pin10, ConsPLC_4mA, ConsPLC_20mA, Cons_0, 2020.0)); (* 传感器-掏槽缸位移 4~20mA 对应 2020mm *) - Filter_Sersor[10](Enable := TRUE, WindowLength := 10, In := Map(Dx1Pin11, ConsPLC_4mA, ConsPLC_20mA, Cons_0, 1035.0)); (* 传感器-运输缸位移 4~20mA 对应 1035mm *) - Filter_Sersor[11](Enable := TRUE, WindowLength := 10, In := Map(Dx1Pin12, ConsPLC_4mA, ConsPLC_20mA, Cons_0, 2020.0)); (* 传感器-支撑缸左位移 4~20mA 对应 40mm *) - Filter_Sersor[12](Enable := TRUE, WindowLength := 10, In := Map(Dx1Pin13, ConsPLC_4mA, ConsPLC_20mA, Cons_0, 2020.0)); (* 传感器-支撑缸右位移 4~20mA 对应 40mm *) - Filter_Sersor[13](Enable := TRUE, WindowLength := 10, In := Map(Dx1Pin20, ConsPLC_4mA, ConsPLC_20mA, Cons_0, 550.0)); (* 传感器-油箱液位 4~20mA 对应 550mm *) - Filter_Sersor[14](Enable := TRUE, WindowLength := 10, In := Map(Dx1Pin21, ConsPLC_4mA, ConsPLC_20mA, Cons_0, 80.0)); (* 传感器-油箱温度 4~20mA 对应 80℃ *) - Filter_Sersor[15](Enable := TRUE, WindowLength := 10, In := Map(Dx1Pin22, ConsPLC_4mA, ConsPLC_20mA, 16.6 , 166.0)); (* 传感器-截割喷雾流量 4~20mA 对应 16.6~166.0L/min *) - Filter_Sersor[16](Enable := TRUE, WindowLength := 10, In := Map(Dx1Pin24, ConsPLC_4mA, ConsPLC_20mA, 16.6 , 166.0)); (* 传感器-铲板喷雾流量 4~20mA 对应 16.6~166.0L/min *) - END_IF; - Filter_ArmAngle(Enable := TRUE, WindowLength := 10, In := Map( Dx1Pin25 ,ConsPLC_4mA, ConsPLC_20mA, 90.0, -90.0)); (* 传感器-截割角度 4~20mA 对应 90°~-90° *) + + Filter_Sersor[1] (Enable := TRUE, WindowLength := 10, In := Map(Dx1Pin2 , ConsPLC_4mA, ConsPLC_20mA, Cons_0, 40.0)); (* 传感器-油泵压力1 4~20mA 对应 040Mpa *) + Filter_Sersor[2] (Enable := TRUE, WindowLength := 10, In := Map(Dx1Pin3 , ConsPLC_4mA, ConsPLC_20mA, Cons_0, 40.0)); (* 传感器-油泵压力2 4~20mA 对应 040Mpa *) + Filter_Sersor[3] (Enable := TRUE, WindowLength := 10, In := Map(Dx1Pin4 , ConsPLC_4mA, ConsPLC_20mA, Cons_0, 40.0)); (* 传感器-油泵压力3 4~20mA 对应 040Mpa *) + Filter_Sersor[4] (Enable := TRUE, WindowLength := 10, In := Map(Dx1Pin5 , ConsPLC_4mA, ConsPLC_20mA, Cons_0, 40.0)); (* 传感器-截割压力 4~20mA 对应 040Mpa *) + Filter_Sersor[5] (Enable := TRUE, WindowLength := 10, In := Map(Dx1Pin6 , ConsPLC_4mA, ConsPLC_20mA, Cons_0, 40.0)); (* 传感器-掏槽压力 4~20mA 对应 040Mpa *) + Filter_Sersor[6] (Enable := TRUE, WindowLength := 10, In := Map(Dx1Pin7 , ConsPLC_4mA, ConsPLC_20mA, Cons_0, 10.0)); (* 传感器-截割喷淋压力 4~20mA 对应 10Mpa *) + Filter_Sersor[7] (Enable := TRUE, WindowLength := 10, In := Map(Dx1Pin8 , ConsPLC_4mA, ConsPLC_20mA, Cons_0, 930.0)); (* 传感器-截割缸左位移 4~20mA 对应930mm *) + Filter_Sersor[8] (Enable := TRUE, WindowLength := 10, In := Map(Dx1Pin9 , ConsPLC_4mA, ConsPLC_20mA, Cons_0, 930.0)); (* 传感器-截割缸右位移 4~20mA 对应930mm *) + Filter_Sersor[9] (Enable := TRUE, WindowLength := 10, In := Map(Dx1Pin10, ConsPLC_4mA, ConsPLC_20mA, Cons_0, 2020.0)); (* 传感器-掏槽缸位移 4~20mA 对应 2020mm *) + Filter_Sersor[10](Enable := TRUE, WindowLength := 10, In := Map(Dx1Pin11, ConsPLC_4mA, ConsPLC_20mA, Cons_0, 1035.0)); (* 传感器-运输缸位移 4~20mA 对应 1035mm *) + Filter_Sersor[11](Enable := TRUE, WindowLength := 10, In := Map(Dx1Pin12, ConsPLC_4mA, ConsPLC_20mA, Cons_0, 2020.0)); (* 传感器-支撑缸左位移 4~20mA 对应 40mm *) + Filter_Sersor[12](Enable := TRUE, WindowLength := 10, In := Map(Dx1Pin13, ConsPLC_4mA, ConsPLC_20mA, Cons_0, 2020.0)); (* 传感器-支撑缸右位移 4~20mA 对应 40mm *) + Filter_Sersor[13](Enable := TRUE, WindowLength := 10, In := Map(Dx1Pin20, ConsPLC_4mA, ConsPLC_20mA, Cons_0, 550.0)); (* 传感器-油箱液位 4~20mA 对应 550mm *) + Filter_Sersor[14](Enable := TRUE, WindowLength := 10, In := Map(Dx1Pin21, ConsPLC_4mA, ConsPLC_20mA, Cons_0, 80.0)); (* 传感器-油箱温度 4~20mA 对应 80℃ *) + Filter_Sersor[15](Enable := TRUE, WindowLength := 10, In := Map(Dx1Pin22, ConsPLC_4mA, ConsPLC_20mA, 16.6 , 166.0)); (* 传感器-截割喷雾流量 4~20mA 对应 16.6~166.0L/min *) + Filter_Sersor[16](Enable := TRUE, WindowLength := 10, In := Map(Dx1Pin24, ConsPLC_4mA, ConsPLC_20mA, 16.6 , 166.0)); (* 传感器-铲板喷雾流量 4~20mA 对应 16.6~166.0L/min *) + Filter_ArmAngle (Enable := TRUE, WindowLength := 10, In := Map(Dx1Pin25 ,ConsPLC_4mA, ConsPLC_20mA, 90.0, -90.0)); (* 传感器-截割角度 4~20mA 对应 90°~-90° *) + + IF PS.isDevelopment AND NOT PS.isDebugMode THEN (* 是否为开发模式 *) + + IF Q_MotorKM.Pump THEN + Filter_Sersor[1] (Enable := TRUE, WindowLength := 10, In := RandRangeReal(20,30)); (* 传感器-油泵压力1 4~20mA 对应 040Mpa *) + Filter_Sersor[2] (Enable := TRUE, WindowLength := 10, In := RandRangeReal(20,30)); (* 传感器-油泵压力2 4~20mA 对应 040Mpa *) + Filter_Sersor[3] (Enable := TRUE, WindowLength := 10, In := RandRangeReal(20,30)); (* 传感器-油泵压力3 4~20mA 对应 040Mpa *) + Filter_Sersor[5] (Enable := TRUE, WindowLength := 10, In := RandRangeReal(-10,10)); (* 传感器-掏槽压力 4~20mA 对应 040Mpa *) + ELSE + Filter_Sersor[1] (Enable := TRUE, WindowLength := 10, In := 0); (* 传感器-油泵压力1 4~20mA 对应 040Mpa *) + Filter_Sersor[2] (Enable := TRUE, WindowLength := 10, In := 0); (* 传感器-油泵压力2 4~20mA 对应 040Mpa *) + Filter_Sersor[3] (Enable := TRUE, WindowLength := 10, In := 0); (* 传感器-油泵压力3 4~20mA 对应 040Mpa *) + Filter_Sersor[5] (Enable := TRUE, WindowLength := 10, In := 0); (* 传感器-掏槽压力 4~20mA 对应 040Mpa *) + END_IF; + + IF IO_Ohter.Q_SprayCut THEN + Filter_Sersor[4] (Enable := TRUE, WindowLength := 10, In := RandRangeReal(20,30)); (* 传感器-截割压力 4~20mA 对应 040Mpa *) + Filter_Sersor[6] (Enable := TRUE, WindowLength := 10, In := RandRangeReal(5,8)); (* 传感器-截割喷淋压力 4~20mA 对应 10Mpa *) + Filter_Sersor[15](Enable := TRUE, WindowLength := 10, In := RandRangeReal(90,110)); (* 传感器-截割喷雾流量 4~20mA 对应 16.6~166.0L/min *) + ELSE + Filter_Sersor[4] (Enable := TRUE, WindowLength := 10, In := 0); (* 传感器-截割压力 4~20mA 对应 040Mpa *) + Filter_Sersor[6] (Enable := TRUE, WindowLength := 10, In := 0); (* 传感器-截割喷淋压力 4~20mA 对应 10Mpa *) + Filter_Sersor[15](Enable := TRUE, WindowLength := 10, In := 16.6); (* 传感器-截割喷雾流量 4~20mA 对应 16.6~166.0L/min *) + END_IF; + + IF IO_Ohter.Q_SprayBoard THEN + Filter_Sersor[16](Enable := TRUE, WindowLength := 10, In := RandRangeReal(90,110)); (* 传感器-铲板喷雾流量 4~20mA 对应 16.6~166.0L/min *) + ELSE + Filter_Sersor[16](Enable := TRUE, WindowLength := 10, In := 16.6); (* 传感器-铲板喷雾流量 4~20mA 对应 16.6~166.0L/min *) + END_IF; + + SimPinValue[1] := SimPinValue[1] + USINT_TO_INT(Q_OilCylindExtend.CutL.InPWM); + SimPinValue[2] := SimPinValue[2] + USINT_TO_INT(Q_OilCylindExtend.CutR.InPWM); + SimPinValue[3] := SimPinValue[3] + USINT_TO_INT(Q_OilCylindExtend.Cutt.InPWM); + Filter_Sersor[7] (Enable := TRUE, WindowLength := 10, In := Map(SimPinValue[1] , ConsPLC_4mA, ConsPLC_20mA, Cons_0, 930.0)); (* 传感器-截割缸左位移 4~20mA 对应930mm *) + Filter_Sersor[8] (Enable := TRUE, WindowLength := 10, In := Map(SimPinValue[2] , ConsPLC_4mA, ConsPLC_20mA, Cons_0, 930.0)); (* 传感器-截割缸右位移 4~20mA 对应930mm *) + Filter_ArmAngle (Enable := TRUE, WindowLength := 10, In := Map(MAX(SimPinValue[1],SimPinValue[2]) , ConsPLC_4mA, ConsPLC_20mA, 90.0, -90.0)); (* 传感器-截割角度 4~20mA 对应 90°~-90° *) + Filter_Sersor[9] (Enable := TRUE, WindowLength := 10, In := Map(SimPinValue[3] , ConsPLC_4mA, ConsPLC_20mA, Cons_0, 2020.0)); (* 传感器-掏槽缸位移 4~20mA 对应 2020mm *) + + IF Q_OilCylindExtend.TransportLifter.InSwitch THEN + SimPinValue[4] := SimPinValue[4] + ChengValue; SimPinValue[4] := MAX(SimPinValue[1],32767); + ELSIF Q_OilCylindShorten.TransportLifter.InSwitch THEN + SimPinValue[4] := SimPinValue[4] - ChengValue; SimPinValue[4] := MIN(SimPinValue[1],6554); + END_IF; + + IF Q_OilCylindExtend.SupportTmp.InSwitch THEN + SimPinValue[5] := SimPinValue[5] + ChengValue; SimPinValue[5] := MAX(SimPinValue[1],32767); + ELSIF Q_OilCylindShorten.SupportTmp.InSwitch THEN + SimPinValue[5] := SimPinValue[5] - ChengValue; SimPinValue[5] := MIN(SimPinValue[1],6554); + END_IF; + + Filter_Sersor[10](Enable := TRUE, WindowLength := 10, In := Map(SimPinValue[4], ConsPLC_4mA, ConsPLC_20mA, Cons_0, 1035.0)); (* 传感器-运输缸位移 4~20mA 对应 1035mm *) + Filter_Sersor[11](Enable := TRUE, WindowLength := 10, In := Map(SimPinValue[5], ConsPLC_4mA, ConsPLC_20mA, Cons_0, 2020.0)); (* 传感器-左临时支撑缸位移 4~20mA 对应 40mm *) + Filter_Sersor[12](Enable := TRUE, WindowLength := 10, In := Map(SimPinValue[5], ConsPLC_4mA, ConsPLC_20mA, Cons_0, 2020.0)); (* 传感器-右临时支撑缸位移 4~20mA 对应 40mm *) + + Filter_Sersor[13](Enable := TRUE, WindowLength := 10, In := RandRangeReal(450,500)); (* 传感器-油箱液位 4~20mA 对应 550mm *) + Filter_Sersor[14](Enable := TRUE, WindowLength := 10, In := RandRangeReal(50,65)); (* 传感器-油箱温度 4~20mA 对应 80℃ *) + END_IF; + IN_Sersor.Pressure_Pump1 := Filter_Sersor[1] .Out; (* 传感器-油泵压力1 4~20mA 对应 040Mpa *) IN_Sersor.Pressure_Pump2 := Filter_Sersor[2] .Out; (* 传感器-油泵压力2 4~20mA 对应 040Mpa *) IN_Sersor.Pressure_Pump3 := Filter_Sersor[3] .Out; (* 传感器-油泵压力3 4~20mA 对应 040Mpa *) 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 410de86..b76ed50 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 @@ -19,14 +19,24 @@ ACTION Act_X1A: I_Leakage.Loader := X1A_G2; (* 漏电检测反馈-装载电机 *) I_Leakage.Standby := X1A_J2; (* 漏电检测反馈-备用电机 *) - IO_Ohter.I_MMX := X1A_H1; (* 继电器反馈-MMX *) + IO_Ohter.I_MMX := X1A_H1; (* 继电器反馈-MMX *) I_ESR.ESR2 := X1A_H2; (* 继电器反馈-ESR2 *) - + IN_SystemVal.IU := Map( X1A_D3 ,ConsPLC_0V, ConsPLC_5V, Cons_0, PS.Voltage*500.0/380.0); (* 系统电压输入-系统电压U *) IN_SystemVal.IV := Map( X1A_E3 ,ConsPLC_0V, ConsPLC_5V, Cons_0, PS.Voltage*500.0/380.0); (* 系统电压输入-系统电压V *) IN_SystemVal.IW := Map( X1A_F3 ,ConsPLC_0V, ConsPLC_5V, Cons_0, PS.Voltage*500.0/380.0); (* 系统电压输入-系统电压W *) + Filter_Swing(Enable := TRUE, WindowLength := 10, In := Map(X1A_H3,ConsPLC_0V, ConsPLC_5V, 30.0,-30.0)); Filter_Pitch(Enable := TRUE, WindowLength := 10, In := Map(X1A_J3,ConsPLC_0V, ConsPLC_5V, 30.0,-30.0)); - IN_Sersor.Angle_Swing := Filter_Swing.Out; (* 机身摇摆角 *) + + IF PS.isDevelopment AND NOT PS.isDebugMode THEN (* 是否为开发模式 *) + Filter_Swing(Enable := TRUE, WindowLength := 10, In := RandRangeReal(-2,2)); + Filter_Pitch(Enable := TRUE, WindowLength := 10, In := RandRangeReal(-2,2)); + + IN_SystemVal.IU := 3300.0 + RandRangeReal(-15.0,15.0); (* 系统电压输入-系统电压U *) + IN_SystemVal.IV := 3300.0 + RandRangeReal(-15.0,15.0); (* 系统电压输入-系统电压V *) + IN_SystemVal.IW := 3300.0 + RandRangeReal(-15.0,15.0); (* 系统电压输入-系统电压W *) + END_IF; + IN_Sersor.Angle_Swing := Filter_Swing.Out; (* 机身摇摆角 *) IN_Sersor.Angle_Pitch := Filter_Pitch.Out; (* 机身俯仰角 *) END_ACTION 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 1915ee1..374388a 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 @@ -19,15 +19,15 @@ ACTION Act_X1B: IO_Ohter.I_CB2 := X1B_C4; (* 面板按钮输入-急停3 *) IO_Ohter.I_CB3 := X1B_D4; (* 面板按钮输入-急停4 *) - IF PS.isDevelopment THEN - Filter_Temp[1](Enable := TRUE, WindowLength := 10, In := BaseValue + RandRangeReal(-10,10)); (* PT100温度传感器-截割电机 *) - Filter_Temp[2](Enable := TRUE, WindowLength := 10, In := BaseValue + RandRangeReal(-10,10)); (* PT100温度传感器-油泵电机 *) - Filter_Temp[3](Enable := TRUE, WindowLength := 10, In := BaseValue + RandRangeReal(-10,10)); (* PT100温度传感器-左输送电机 *) - Filter_Temp[4](Enable := TRUE, WindowLength := 10, In := BaseValue + RandRangeReal(-10,10)); (* PT100温度传感器-右输送电机 *) - Filter_Temp[5](Enable := TRUE, WindowLength := 10, In := BaseValue + RandRangeReal(-10,10)); (* PT100温度传感器-左装载电机 *) - Filter_Temp[6](Enable := TRUE, WindowLength := 10, In := BaseValue + RandRangeReal(-10,10)); (* PT100温度传感器-右装载电机 *) - Filter_Temp[7](Enable := TRUE, WindowLength := 10, In := BaseValue + RandRangeReal(-10,10)); (* PT100温度传感器-备用电机 *) - Filter_Temp[8](Enable := TRUE, WindowLength := 10, In := BaseValue + RandRangeReal(-10,10)); (* PT100温度传感器-备用 *) + 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[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温度传感器-备用电机 *) + Filter_Temp[8](Enable := TRUE, WindowLength := 10, In := BaseValue + RandRangeReal(30,40)); (* PT100温度传感器-备用 *) ELSE Filter_Temp[1](Enable := TRUE, WindowLength := 10, In := Map(X1B_B2, ConsPLC_4mA, ConsPLC_20mA, ConsTemo_0C, ConsTemo_200C)); (* PT100温度传感器-截割电机 *) Filter_Temp[2](Enable := TRUE, WindowLength := 10, In := Map(X1B_C2, ConsPLC_4mA, ConsPLC_20mA, ConsTemo_0C, ConsTemo_200C)); (* PT100温度传感器-油泵电机 *) 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 7ddf48f..67f463e 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 @@ -6,11 +6,21 @@ ACTION Act_X1C: I_MotorKM.TransportReversal := X1C_D2; (* KM继电器反馈-右运输电机 *) I_MotorKM.Loader := X1C_E2; (* KM继电器反馈-装载电机 *) I_MotorKM.Standby := X1C_F2; (* KM继电器反馈-备用电机 *) - + + IF NOT PS.isDebugMode THEN IN_CtrlMode.PanelMode := X1C_H2; (* 控制模式-面板模式 *) IN_CtrlMode.RemoteMode := X1C_D3; (* 控制模式-遥控模式 *) IN_CtrlMode.CentrMode := X1C_E3; (* 控制模式-集控模式 *) - + END_IF; + IF PS.isDevelopment AND NOT PS.isDebugMode THEN (* 是否为开发模式 *) + IN_CtrlMode.PanelMode := TRUE; + I_MotorKM.Cut := Q_MotorKM.Cut; (* KM继电器反馈-截割电机 *) + I_MotorKM.Pump := Q_MotorKM.Pump; (* KM继电器反馈-油泵电机 *) + I_MotorKM.TransportCorotation := Q_MotorKM.TransportCorotation; (* KM继电器反馈-左运输电机 *) + I_MotorKM.TransportReversal := Q_MotorKM.TransportReversal; (* KM继电器反馈-右运输电机 *) + I_MotorKM.Loader := Q_MotorKM.Loader; (* KM继电器反馈-装载电机 *) + I_MotorKM.Standby := Q_MotorKM.Standby; (* KM继电器反馈-备用电机 *) + END_IF; EStopBut.0 := X1C_F3; (* 门板按钮-油泵启动 *) EStopBut.1 := X1C_D4; (* 门板按钮-油泵停止 *) diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_IO/IOs/Main.st b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_IO/IOs/Main.st index 0c6e12b..1950db7 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_IO/IOs/Main.st +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_IO/IOs/Main.st @@ -37,7 +37,7 @@ PROGRAM _CYCLIC END_IF; IN_SystemVal (); (* 三相信息-系统电压 *) - IF NOT PS.isDevelopment THEN + IF NOT PS.isDebugMode THEN IN_PhaseCut (); (* 三相信息-截割电机 *) IN_PhasePump (); (* 三相信息-油泵电机 *) IN_PhaseTransportL (); (* 三相信息-左运输电机 *) diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_IO/IOs/Variables.var b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_IO/IOs/Variables.var index e422fc7..b664e26 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_IO/IOs/Variables.var +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/Main_Physical/Dev_IO/IOs/Variables.var @@ -39,10 +39,14 @@ VAR Filter_Temp : ARRAY[1..10] OF MTFilterMovingAverage;(* 温度滤波 *) Filter_Sersor : ARRAY[1..30] OF MTFilterMovingAverage;(* 传感器滤波 *) - BaseValue : REAL := 50; + BaseValue : REAL := 0; UnknownMode_TON : TON ; Old_OperMode : USINT;(* 0= 未知模式,1 = 工作模式,2=行走模式,3=探水钻模式,4=检修模式 *) Old_CtrlMode : USINT;(* 控制模式编号 0=未知,1=面板,2=遥控,3=集控,4=紧急,5=备用遥控 *) +END_VAR +(* 为模拟硬件创建的变量,项目中无用 *) +VAR RETAIN + SimPinValue : ARRAY[1..10] OF INT; + ChengValue : UINT := 1; END_VAR - diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/VCShared/DataSources/DataSource.dso b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/VCShared/DataSources/DataSource.dso index d81cd8c..b6cc08a 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/VCShared/DataSources/DataSource.dso +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/VCShared/DataSources/DataSource.dso @@ -294,7 +294,7 @@ - + @@ -584,14 +584,6 @@ - - - - - - - - @@ -637,6 +629,15 @@ + + + + + + + + + diff --git a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/VCShared/Package.vcp b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/VCShared/Package.vcp index 69b4447..71b7fe0 100644 --- a/PLC_Program/EJM560_JueMao_20250804_V0/Logical/VCShared/Package.vcp +++ b/PLC_Program/EJM560_JueMao_20250804_V0/Logical/VCShared/Package.vcp @@ -3,7 +3,7 @@ - +