增加遥控器上传(硬件MMX需要修改变量)

This commit is contained in:
2025-10-10 23:13:55 +08:00
parent bc435af9b0
commit 94a18fb95d
519 changed files with 539 additions and 24718 deletions

View File

@@ -210,10 +210,12 @@ TYPE
Cursor : BOOL; (* <20><>ť-<2D><><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD> *)
END_STRUCT;
EJM_RemoteIO : STRUCT (* ң<><D2A3><EFBFBD><EFBFBD> *)
Speed_L :SINT;
Speed_R :SINT;
AK :ARRAY[1..2] OF SINT;
DK :ARRAY[1..32] OF BOOL;
AK : ARRAY[1..8] OF USINT;
DK : ARRAY[1..8] OF USINT;
HDL_RCL : ARRAY[1..8] OF USINT;
LED_LCD : ARRAY[1..8] OF USINT;
HDL_Outputpointer : ARRAY[1..8] OF USINT;
LCD_Mode2 : ARRAY[1..8] OF USINT;
END_STRUCT;
EJM_RemoteControl : STRUCT (* ң<><D2A3><EFBFBD><EFBFBD> *)
WorkMode : SINT;(* <20><><EFBFBD><EFBFBD>ģʽ *)

View File

@@ -0,0 +1,267 @@
TYPE
EJM_MotorKM : STRUCT (* <20><><EFBFBD><EFBFBD>KM<4B>Ӵ<EFBFBD><D3B4><EFBFBD> *)
Cut : BOOL; (* KM1<4D>̵<EFBFBD><CCB5><EFBFBD>-<2D>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD> *)
Pump : BOOL; (* KM2<4D>̵<EFBFBD><CCB5><EFBFBD>-<2D>ͱõ<CDB1><C3B5><EFBFBD> *)
TransportCorotation : BOOL; (* KM3<4D>̵<EFBFBD><CCB5><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת *)
TransportReversal : BOOL; (* KM4<4D>̵<EFBFBD><CCB5><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת *)
Loader : BOOL; (* KM5<4D>̵<EFBFBD><CCB5><EFBFBD><>ص<EFBFBD><D8B5><EFBFBD> *)
Standby : BOOL; (* KM6<4D>̵<EFBFBD><CCB5><EFBFBD>-<2D><><EFBFBD>õ<EFBFBD><C3B5><EFBFBD> *)
END_STRUCT;
EJM_Leakage : STRUCT (* ©<><C2A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
Cut : BOOL; (* ©<><C2A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD> *)
Pump : BOOL; (* ©<><C2A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D>ͱõ<CDB1><C3B5><EFBFBD> *)
Transport : BOOL; (* ©<><C2A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
Loader : BOOL; (* ©<><C2A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><>ص<EFBFBD><D8B5><EFBFBD> *)
Standby : BOOL; (* ©<><C2A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD>õ<EFBFBD><C3B5><EFBFBD> *)
END_STRUCT;
EJM_ESR : STRUCT (* <20><>ͣ<EFBFBD>̵<EFBFBD><CCB5><EFBFBD> *)
ESR1 : BOOL; (* ESR<53><52>ͣ<EFBFBD>̵<EFBFBD><CCB5><EFBFBD>1 *)
ESR2 : BOOL; (* ESR<53><52>ͣ<EFBFBD>̵<EFBFBD><CCB5><EFBFBD>2 *)
END_STRUCT;
EJM_OhterIO : STRUCT (* <20><><EFBFBD><EFBFBD>IO *)
Q_RearLight : BOOL; (* <20><><EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD> *)
Q_AutoLED : BOOL; (* <20>Զ<EFBFBD>ָʾ<D6B8><CABE> *)
Q_SprayCut : BOOL; (* <20>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD> *)
Q_SprayBoard : BOOL; (* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
Q_SprayDust : BOOL; (* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
Q_KL1 : BOOL; (* KL1 *)
Q_KL2 : BOOL; (* KL2 *)
Q_KM11 : BOOL; (* KM11<31>̵<EFBFBD><CCB5><EFBFBD>ʹ<EFBFBD><CAB9> *)
Q_KM12 : BOOL; (* KM12<31>̵<EFBFBD><CCB5><EFBFBD>ʹ<EFBFBD><CAB9> *)
I_MMX : BOOL; (* ң<>ؽ<EFBFBD><D8BD><EFBFBD><EFBFBD><EFBFBD>MMX *)
I_leakage127 : BOOL; (* 127V ©<><C2A9>״̬ *)
I_leakage24 : BOOL; (* 24V ©<><C2A9>״̬ *)
I_CB2 : BOOL; (* CB2 ״̬ *)
I_CB3 : BOOL; (* CB2 ״̬ *)
I_PhaseSequence : BOOL; (* <20><><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><CCB5><EFBFBD> ״̬ *)
I_KM11 : BOOL; (* KM11<31>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
I_KM12 : BOOL; (* KM12<31>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
END_STRUCT;
EJM_Sersor : STRUCT (* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
Angle_Pitch : REAL; (* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*)
Angle_Swing : REAL; (* <20><><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD>*)
Pressure_Pump1 : REAL; (* <20><>ѹ<EFBFBD><D1B9>1 *)
Pressure_Pump2 : REAL; (* <20><>ѹ<EFBFBD><D1B9>2 *)
Pressure_Pump3 : REAL; (* <20><>ѹ<EFBFBD><D1B9>3 *)
Pressure_Cut : REAL; (* <20>ظ<EFBFBD><D8B8>͸<EFBFBD>ѹ<EFBFBD><D1B9> *)
Pressure_Cutt : REAL; (* <20>Ͳ<EFBFBD><CDB2>͸<EFBFBD>ѹ<EFBFBD><D1B9> *)
Pressure_CutSpray : REAL; (* <20>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9> *)
CylindMov_CutL : REAL; (* <20><><EFBFBD>ظ<EFBFBD><D8B8>͸<EFBFBD>λ<EFBFBD><CEBB> *)
CylindMov_CutR : REAL; (* <20>ҽظ<D2BD><D8B8>͸<EFBFBD>λ<EFBFBD><CEBB> *)
CylindMov_Cutt : REAL; (* <20>Ͳ<EFBFBD><CDB2>͸<EFBFBD>λ<EFBFBD><CEBB> *)
CylindMov_Transport : REAL; (* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD>λ<EFBFBD><CEBB> *)
CylindMov_SupportL : REAL; (* <20><>֧<EFBFBD><D6A7><EFBFBD>͸<EFBFBD>λ<EFBFBD><CEBB> *)
CylindMov_SupportR : REAL; (* <20><>֧<EFBFBD><D6A7><EFBFBD>͸<EFBFBD>λ<EFBFBD><CEBB> *)
OilLevel : REAL; (* <20><><EFBFBD><EFBFBD>Һλ *)
OilTemp : REAL; (* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
SprayFlow_Cut : REAL; (* <20>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
SprayFlow_Board : REAL; (* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
Angle_Cut : REAL; (* <20>ظ<EFBFBD><D8B8>Ƕ<EFBFBD> *)
SpareTemp : REAL; (* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
END_STRUCT;
EJM_OilCylind : STRUCT (* <20>͸׿<CDB8><D7BF><EFBFBD> *)
TrackL : fbSolenoidValve; (* <20><><EFBFBD>Ĵ<EFBFBD>ǰ<EFBFBD><C7B0> *)
TrackR : fbSolenoidValve; (* <20><><EFBFBD>Ĵ<EFBFBD>ǰ<EFBFBD><C7B0> *)
CutL : fbSolenoidValve; (* <20><><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD> *)
CutR : fbSolenoidValve; (* <20>ҽظ<D2BD><D8B8><EFBFBD><EFBFBD><EFBFBD> *)
TransportSwing : fbSolenoidValve; (* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD> *)
BoardLifter : fbSolenoidValve; (* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
BoardExpansion : fbSolenoidValve; (* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD><D5B9><EFBFBD><EFBFBD> *)
Roller : fbSolenoidValve; (* <20><>Ͳ<EFBFBD><CDB2><EFBFBD><EFBFBD> *)
SupportTmp : fbSolenoidValve; (* <20><>ʱ֧<CAB1><D6A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
Cutt : fbSolenoidValve; (* <20>Ͳ<EFBFBD><CDB2><EFBFBD><EFBFBD><EFBFBD> *)
Hydraulic : fbSolenoidValve; (* Һѹ<D2BA><D1B9>ƽ̨<C6BD><CCA8><EFBFBD><EFBFBD> *)
TransportLifter : fbSolenoidValve; (* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
SupportL : fbSolenoidValve; (* <20><><EFBFBD><EFBFBD>֧<EFBFBD><D6A7> *)
SupportR : fbSolenoidValve; (* <20>Һ<EFBFBD>֧<EFBFBD><D6A7> *)
ECU : fbSolenoidValve; (* <20><><EFBFBD>ز<EFBFBD>ƽ̨<C6BD><CCA8><EFBFBD><EFBFBD> *)
END_STRUCT;
EJM_HydraulicValve : STRUCT (* <20><><EFBFBD><EFBFBD>Һѹ<D2BA><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
LubPump : fbSolenoidValve; (* <20><><EFBFBD><EFBFBD><EFBFBD>󻬱ù<F3BBACB1><C3B9><EFBFBD> *)
BoostPump : fbSolenoidValve; (* <20><>ѹˮ<D1B9>ù<EFBFBD><C3B9><EFBFBD> *)
TrackTension : fbSolenoidValve; (* <20>Ĵ<EFBFBD><C4B4>Ž<EFBFBD> *)
TransportTension : fbSolenoidValve; (* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ž<EFBFBD> *)
DustFan : fbSolenoidValve; (* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
DC2_LS2 : fbSolenoidValve; (* LS2<53><32> *)
DC3_LS3TravelHigh : fbSolenoidValve; (* LS3<53><33>-<2D><><EFBFBD>߸<EFBFBD><DFB8><EFBFBD> *)
DC4_LockWater : fbSolenoidValve; (* ̽ˮ<CCBD><CBAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
DC1_LockCylinder : fbSolenoidValve; (* <20><><EFBFBD><EFBFBD><EFBFBD>͸ױ<CDB8><D7B1><EFBFBD> *)
DC5_MotorUnlock : fbSolenoidValve; (* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
DC6_MotorLock : fbSolenoidValve; (* <20><>ê<EFBFBD><C3AA>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
END_STRUCT;
EJM_CtrlMode : STRUCT (* <20><><EFBFBD><EFBFBD>ģʽ *)
ModeNum : USINT; (* <20><><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD> 0=δ֪,1=<3D><><EFBFBD><EFBFBD>,2=ң<><D2A3>,3=<3D><><EFBFBD><EFBFBD>,4=<3D><><EFBFBD><EFBFBD>,5=<3D><><EFBFBD><EFBFBD>ң<EFBFBD><D2A3> *)
PanelMode : BOOL; (* <20><><EFBFBD><EFBFBD>ģʽ *)
RemoteMode : BOOL; (* ң<><D2A3>ģʽ *)
CentrMode : BOOL; (* <20><><EFBFBD><EFBFBD>ģʽ *)
EmergencyMode : BOOL; (* <20><><EFBFBD><EFBFBD>ģʽ *)
SRemoteMode : BOOL; (* <20><><EFBFBD><EFBFBD>ң<EFBFBD><D2A3>ģʽ *)
END_STRUCT;
SysCPU_Info : STRUCT (* CPU<50><55>Ϣ *)
isVirtualCPU : BOOL; (* <20><><EFBFBD><EFBFBD>PLC *)
SeialNumber : UDINT;(* CPU<50><55><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD> *)
TempCPU : REAL; (* CPU<50><EFBFBD>[0.1<EFBFBD><EFBFBD>C]<5D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>120<32><30>C<EFBFBD><43> *)
TempENV1 : REAL; (* <20><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>[0.1<EFBFBD><EFBFBD>C]<5D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>95<39><35>C<EFBFBD><43> *)
TempENV2 : REAL; (* <20><><EFBFBD><EFBFBD>PCB<43><EFBFBD>[0.1<EFBFBD><EFBFBD>C]<5D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>100<30><30>C<EFBFBD><43> *)
TempENV3 : REAL; (* <20><><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD>[0.1<EFBFBD><EFBFBD>C]<5D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>110<31><30>C<EFBFBD><43> *)
TempENV4 : REAL; (* <20><><EFBFBD><EFBFBD>X1C<31><EFBFBD>[0.1<EFBFBD><EFBFBD>C]<5D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>110<31><30>C<EFBFBD><43> *)
SystemTime_ms : DINT; (* <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD>ʼʱ<CABC><CAB1>ϵͳʱ<CDB3><CAB1>[<5B><><EFBFBD><EFBFBD>] *)
SystemTime_s : DINT; (* <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD>ʼʱ<CABC><CAB1>ϵͳʱ<CDB3><CAB1>[<5B><>] *)
END_STRUCT;
OilQuality : STRUCT (* <20><><EFBFBD>ʴ<EFBFBD><CAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
Visc : REAL; (* Viscosity <20><><EFBFBD><EFBFBD>ճ<EFBFBD><D5B3> *)
Dens : REAL; (* Density <20>ܶ<EFBFBD> *)
Perm : REAL; (* Permittivity <20><><EFBFBD><EFBFBD><E7B3A3> *)
Temp : REAL; (* Temperature <20><EFBFBD> *)
Mois : REAL; (* Moisture <20><>ˮ<EFBFBD><CBAE> *)
END_STRUCT;
MetalAbrasiveParticles : STRUCT (* <20><><EFBFBD><EFBFBD>ĥ<EFBFBD><C4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
Tiny : REAL; (* Tiny ϸĥ<CFB8><C4A5>% *)
Coar : REAL; (* Coarse <20>ֿ<EFBFBD><D6BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD> *)
Temp : REAL; (* Temperature <20><EFBFBD> *)
Abra : REAL; (* Abrasion ĥ<><C4A5>ָ<EFBFBD><D6B8> *)
END_STRUCT;
OilMbsRtu_Event : STRUCT (*<2A><><EFBFBD><EFBFBD>ModBusRTU<54>¼<EFBFBD>*)
Event : BOOL; (*<2A>¼<EFBFBD>*)
Value : ARRAY[40001..40018] OF UINT; (*ֵ*)
END_STRUCT;
EJM_DevComm : STRUCT (* <20><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬, ÿ<><C3BF><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>һ<EFBFBD><D2BB> *)
AT910 : BOOL; (* X90AT910.08 ģ<><C4A3> *)
DI110 : BOOL; (* X90DI110.10 ģ<><C4A3> *)
PO210 : BOOL; (* X90PO210.10 ģ<><C4A3> *)
IF730 : BOOL; (* X90IF730.04 ģ<><C4A3> *)
SSET_AT : ARRAY[1..8] OF BOOL; (* ʥ˹<CAA5><CBB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
OilQuality : ARRAY[1..4] OF BOOL; (* <20><><EFBFBD>ʴ<EFBFBD><CAB4><EFBFBD><EFBFBD><EFBFBD> *)
MetalAbrasiveParticles : ARRAY[1..4] OF BOOL; (* <20><><EFBFBD><EFBFBD>ĥ<EFBFBD><C4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
Audible : BOOL; (* <20><><EFBFBD><EFBFBD><E2B1A8><EFBFBD><EFBFBD> *)
EncoderL : BOOL; (* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
EncoderR : BOOL; (* <20>ұ<EFBFBD><D2B1><EFBFBD><EFBFBD><EFBFBD> *)
MatrixKeyboard : BOOL; (* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
CentralizedControl : BOOL; (* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
IOX : ARRAY[1..10] OF BOOL; (* IOXģ<58><C4A3> *)
PM : ARRAY[1..2] OF BOOL; (* <20><><EFBFBD>ŷ<EFBFBD><C5B7><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3> *)
Display : ARRAY[1..3] OF BOOL; (* <20><>ʾ<EFBFBD><CABE> *)
Receiver : BOOL; (* ң<>ؽ<EFBFBD><D8BD><EFBFBD><EFBFBD><EFBFBD> *)
END_STRUCT;
EJM_Encoder : STRUCT (* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ *)
EncoderL : UDINT; (* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ,<2C><>λmm *)
EncoderR : UDINT; (* <20>ұ<EFBFBD><D2B1><EFBFBD><EFBFBD><EFBFBD>ֵ,<2C><>λmm *)
SpeedL : REAL;
SpeedR : REAL;
END_STRUCT;
DevEncoder : STRUCT (* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ *)
ModuleOK : BOOL; (* ͨ<><CDA8>״̬ *)
ActualValue : INT; (* ʵ<><CAB5>ֵ *)
SpeedValue : INT; (* <20>ٶ<EFBFBD>ֵ *)
AccValue : INT; (* <20><><EFBFBD>ٶ<EFBFBD>ֵ *)
JerkValue : INT; (* <20><><EFBFBD><EFBFBD>ֵ *)
PositionValue : UDINT; (* λ<><CEBB>ֵ *)
END_STRUCT;
tEncoderFB_Var : STRUCT
Inc_RTRIG : R_TRIG; (* <20><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD> *)
Dec_RTRIG : R_TRIG; (* <20><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD> *)
Carry : INT; (* <20><>λ *)
Elc : UDINT; (* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ *)
Base : UDINT; (* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ,<2C><><EFBFBD>ϵ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ *)
Flag : INT; (* <20><><EFBFBD><EFBFBD> *)
Offset : DINT; (* <20><>ֵ *)
END_STRUCT;
SSET_Info : STRUCT (* ʥ˹<CAA5><CBB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ*)
En : BOOL; (* <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>*)
NodeID : UDINT; (* <20>ڵ<EFBFBD>ID*)
Ipn : UINT; (* ģ<><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*)
END_STRUCT;
EJM_MatrixKeyboard : STRUCT (* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
Number : ARRAY[0..9] OF BOOL; (* <20><><EFBFBD><EFBFBD>ֵ *)
Num_1 : BOOL; (* <20><><EFBFBD>ּ<EFBFBD>1-״̬ *)
Num_2 : BOOL; (* <20><><EFBFBD>ּ<EFBFBD>2-״̬ *)
Num_3 : BOOL; (* <20><><EFBFBD>ּ<EFBFBD>3-״̬ *)
Num_4 : BOOL; (* <20><><EFBFBD>ּ<EFBFBD>4-״̬ *)
Num_5 : BOOL; (* <20><><EFBFBD>ּ<EFBFBD>5-״̬ *)
Num_6 : BOOL; (* <20><><EFBFBD>ּ<EFBFBD>6-״̬ *)
Num_7 : BOOL; (* <20><><EFBFBD>ּ<EFBFBD>7-״̬ *)
Num_8 : BOOL; (* <20><><EFBFBD>ּ<EFBFBD>8-״̬ *)
Num_9 : BOOL; (* <20><><EFBFBD>ּ<EFBFBD>9-״̬ *)
Num_0 : BOOL; (* <20><><EFBFBD>ּ<EFBFBD>0-״̬ *)
Drop : BOOL; (* <20><><EFBFBD><EFBFBD> . -״̬ *)
Star : BOOL; (* <20><><EFBFBD><EFBFBD> * -״̬ *)
Up : BOOL; (* <20><><EFBFBD><EFBFBD> <20><> -״̬ *)
Down : BOOL; (* <20><><EFBFBD><EFBFBD> <20><> -״̬ *)
Return : BOOL; (* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> -״̬ *)
Confirm : BOOL; (* <20><><EFBFBD><EFBFBD> ȷ<><C8B7> -״̬ *)
END_STRUCT;
EJM_CursorControl : STRUCT (* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
HomePage : BOOL; (* <20><>ť-<2D><>ҳ *)
PageUp : BOOL; (* <20><>ť-<2D>Ϸ<EFBFBD>ҳ *)
PageDown : BOOL; (* <20><>ť-<2D>·<EFBFBD>ҳ *)
Setting : BOOL; (* <20><>ť-<2D><><EFBFBD><EFBFBD> *)
Increase : BOOL; (* <20><>ť-<2D><><EFBFBD><EFBFBD> *)
Reduce : BOOL; (* <20><>ť-<2D><><EFBFBD><EFBFBD> *)
Increases : BOOL; (* <20><>ť-<2D><><EFBFBD>Ӵ<EFBFBD> *)
Reduces : BOOL; (* <20><>ť-<2D><><EFBFBD>ٴ<EFBFBD> *)
Return : BOOL; (* <20><>ť-<2D><><EFBFBD><EFBFBD> *)
Confirm : BOOL; (* <20><>ť-ȷ<><C8B7> *)
Up : BOOL; (* <20><>ť-<2D><> *)
Down : BOOL; (* <20><>ť-<2D><> *)
Left : BOOL; (* <20><>ť-<2D><> *)
Right : BOOL; (* <20><>ť-<2D><> *)
Fn : BOOL; (* <20><>ť-Fn *)
Cursor : BOOL; (* <20><>ť-<2D><><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD> *)
END_STRUCT;
EJM_RemoteIO : STRUCT (* ң<><D2A3><EFBFBD><EFBFBD> *)
Speed_L :SINT;
Speed_R :SINT;
AK :ARRAY[1..2] OF SINT;
DK :ARRAY[1..32] OF BOOL;
END_STRUCT;
EJM_RemoteControl : STRUCT (* ң<><D2A3><EFBFBD><EFBFBD> *)
WorkMode : SINT;(* <20><><EFBFBD><EFBFBD>ģʽ *)
EStop : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D><>ͣ *)
PumpStart : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D>ͱ<EFBFBD><CDB1><EFBFBD><EFBFBD><EFBFBD> *)
PumpStop : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D>ͱ<EFBFBD>ֹͣ *)
CutStart : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD> *)
CutStop : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D>ظ<EFBFBD>ֹͣ *)
LoaderStart : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-װ<><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
LoaderStop : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-װ<><D7B0>ֹͣ *)
TransportCorotation : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת *)
TransportReversal : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת *)
TransportStop : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣ *)
StandbyStart : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
StandbyStop : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D><><EFBFBD><EFBFBD>ֹͣ *)
Reset : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D><>λ *)
Track : SINT; (* <20><><EFBFBD>ư<EFBFBD>ť-˫<>Ĵ<EFBFBD>ǰ<EFBFBD><C7B0> *)
TrackL : SINT; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D><><EFBFBD>Ĵ<EFBFBD>ǰ<EFBFBD><C7B0> *)
TrackR : SINT; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D><><EFBFBD>Ĵ<EFBFBD>ǰ<EFBFBD><C7B0> *)
Cut : SINT; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD> *)
Cutt : SINT; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D>Ͳ<EFBFBD><CDB2><EFBFBD><EFBFBD><EFBFBD> *)
TransportLifterStr : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
TransportLifterShr : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
TransportSwingStr : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD> *)
TransportSwingShr : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD> *)
BoardLifterStr : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
BoardLifterShr : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
BoardExpansionStr : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD><D5B9> *)
BoardExpansionShr : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD><D5B9> *)
SupportLStr : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D><><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD> *)
SupportLShr : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D><><EFBFBD><EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD> *)
SupportRStr : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D>Һ<EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD> *)
SupportRShr : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D>Һ<EFBFBD>֧<EFBFBD><D6A7><EFBFBD><EFBFBD> *)
HydraulicStr : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-Һѹ<D2BA><D1B9>ƽ̨<C6BD><CCA8> *)
HydraulicShr : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-Һѹ<D2BA><D1B9>ƽ̨<C6BD><CCA8> *)
ECUStr : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D><><EFBFBD>ز<EFBFBD>ƽ̨<C6BD><CCA8> *)
ECUShr : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D><><EFBFBD>ز<EFBFBD>ƽ̨<C6BD><CCA8> *)
SupportTmpStr : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D><>ʱ֧<CAB1><D6A7><EFBFBD><EFBFBD> *)
SupportTmpShr : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D><>ʱ֧<CAB1><D6A7><EFBFBD><EFBFBD> *)
RollerStr : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D><>Ͳ<EFBFBD><CDB2> *)
RollerShr : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D><>Ͳ<EFBFBD><CDB2> *)
LubPump : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D><><EFBFBD><EFBFBD><EFBFBD>󻬱ù<F3BBACB1><C3B9><EFBFBD> *)
BoostPump : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D><>ѹˮ<D1B9>ù<EFBFBD><C3B9><EFBFBD> *)
TrackTension : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D>Ĵ<EFBFBD><C4B4>Ž<EFBFBD> *)
TransportTension : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ž<EFBFBD> *)
DustStart : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
DustStop : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD> *)
DustFan : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD> *)
HighSpeed : BOOL; (* <20><><EFBFBD>ư<EFBFBD>ť-<2D><><EFBFBD><EFBFBD>=FALSE,<2C><><EFBFBD><EFBFBD>=TRUE *)
END_STRUCT;
END_TYPE

View File

@@ -27,77 +27,26 @@ PROGRAM _CYCLIC
//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));
// memcpy(ADR(HMI_DK),ADR(DK),SIZEOF(DK));
PageContol.RemoteAKey1 :=
INT_TO_UDINT(SINT_TO_INT(I_RemoteIO.AK[1])) +
INT_TO_UDINT(SINT_TO_INT(I_RemoteIO.AK[2])*256) +
INT_TO_UDINT(SINT_TO_INT(I_RemoteIO.AK[3])*256*256) +
INT_TO_UDINT(SINT_TO_INT(I_RemoteIO.AK[4])*256*256*256);
PageContol.RemoteAKey2 :=
INT_TO_UDINT(SINT_TO_INT(I_RemoteIO.AK[5])) +
INT_TO_UDINT(SINT_TO_INT(I_RemoteIO.AK[6])*256) +
INT_TO_UDINT(SINT_TO_INT(I_RemoteIO.AK[7])*256*256) +
INT_TO_UDINT(SINT_TO_INT(I_RemoteIO.AK[8])*256*256*256);
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];
PageContol.RemoteDKey1.1 := DK[1,1];
PageContol.RemoteDKey1.2 := DK[1,2];
PageContol.RemoteDKey1.3 := DK[1,3];
PageContol.RemoteDKey1.4 := DK[1,4];
PageContol.RemoteDKey1.5 := DK[1,5];
PageContol.RemoteDKey1.6 := DK[1,6];
PageContol.RemoteDKey1.7 := DK[1,7];
PageContol.RemoteDKey1.8 := DK[1,8];
PageContol.RemoteDKey1.9 := DK[1,9];
PageContol.RemoteDKey1.10 := DK[1,10];
PageContol.RemoteDKey1.11 := DK[1,11];
PageContol.RemoteDKey1.12 := DK[1,12];
PageContol.RemoteDKey1.13 := DK[1,13];
PageContol.RemoteDKey1.14 := DK[1,14];
PageContol.RemoteDKey1.15 := DK[1,15];
PageContol.RemoteDKey1.16 := DK[1,16];
PageContol.RemoteDKey1.17 := DK[1,17];
PageContol.RemoteDKey1.18 := DK[1,18];
PageContol.RemoteDKey1.19 := DK[1,19];
PageContol.RemoteDKey1.20 := DK[1,20];
PageContol.RemoteDKey1.21 := DK[1,21];
PageContol.RemoteDKey1.22 := DK[1,22];
PageContol.RemoteDKey1.23 := DK[1,23];
PageContol.RemoteDKey1.24 := DK[1,24];
PageContol.RemoteDKey1.25 := DK[1,25];
PageContol.RemoteDKey1.26 := DK[1,26];
PageContol.RemoteDKey1.27 := DK[1,27];
PageContol.RemoteDKey1.28 := DK[1,28];
PageContol.RemoteDKey1.29 := DK[1,29];
PageContol.RemoteDKey1.30 := DK[1,30];
PageContol.RemoteDKey1.31 := DK[1,31];
PageContol.RemoteDKey1 :=
INT_TO_UDINT(SINT_TO_INT(I_RemoteIO.DK[1])) +
INT_TO_UDINT(SINT_TO_INT(I_RemoteIO.DK[2])*256) +
INT_TO_UDINT(SINT_TO_INT(I_RemoteIO.DK[3])*256*256) +
INT_TO_UDINT(SINT_TO_INT(I_RemoteIO.DK[4])*256*256*256);
PageContol.RemoteDKey2.0 := DK[2,0];
PageContol.RemoteDKey2.1 := DK[2,1];
PageContol.RemoteDKey2.2 := DK[2,2];
PageContol.RemoteDKey2.3 := DK[2,3];
PageContol.RemoteDKey2.4 := DK[2,4];
PageContol.RemoteDKey2.5 := DK[2,5];
PageContol.RemoteDKey2.6 := DK[2,6];
PageContol.RemoteDKey2.7 := DK[2,7];
PageContol.RemoteDKey2.8 := DK[2,8];
PageContol.RemoteDKey2.9 := DK[2,9];
PageContol.RemoteDKey2.10 := DK[2,10];
PageContol.RemoteDKey2.11 := DK[2,11];
PageContol.RemoteDKey2.12 := DK[2,12];
PageContol.RemoteDKey2.13 := DK[2,13];
PageContol.RemoteDKey2.14 := DK[2,14];
PageContol.RemoteDKey2.15 := DK[2,15];
PageContol.RemoteDKey2.16 := DK[2,16];
PageContol.RemoteDKey2.17 := DK[2,17];
PageContol.RemoteDKey2.18 := DK[2,18];
PageContol.RemoteDKey2.19 := DK[2,19];
PageContol.RemoteDKey2.20 := DK[2,20];
PageContol.RemoteDKey2.21 := DK[2,21];
PageContol.RemoteDKey2.22 := DK[2,22];
PageContol.RemoteDKey2.23 := DK[2,23];
PageContol.RemoteDKey2.24 := DK[2,24];
PageContol.RemoteDKey2.25 := DK[2,25];
PageContol.RemoteDKey2.26 := DK[2,26];
PageContol.RemoteDKey2.27 := DK[2,27];
PageContol.RemoteDKey2.28 := DK[2,28];
PageContol.RemoteDKey2.29 := DK[2,29];
PageContol.RemoteDKey2.30 := DK[2,30];
PageContol.RemoteDKey2.31 := DK[2,31];
PageContol.CurrentPage;

View File

@@ -0,0 +1,111 @@
PROGRAM _INIT
(* Insert code here *)
END_PROGRAM
PROGRAM _CYCLIC
(* Insert code here *)
PageContol.CursorControl.0 := I_CursorControl.HomePage;
PageContol.CursorControl.1 := I_CursorControl.Increase;
PageContol.CursorControl.2 := I_CursorControl.Increases;
PageContol.CursorControl.3 := I_CursorControl.Fn;
PageContol.CursorControl.4 := I_CursorControl.PageUp;
PageContol.CursorControl.5 := I_CursorControl.Reduce;
PageContol.CursorControl.6 := I_CursorControl.Reduces;
PageContol.CursorControl.7 := 0;//I_CursorControl.;
PageContol.CursorControl.8 := I_CursorControl.PageDown;
PageContol.CursorControl.9 := I_CursorControl.Return;
PageContol.CursorControl.10 := I_CursorControl.Up;
PageContol.CursorControl.11 := I_CursorControl.Confirm;
PageContol.CursorControl.12 := I_CursorControl.Setting;
PageContol.CursorControl.13 := I_CursorControl.Left;
PageContol.CursorControl.14 := I_CursorControl.Down;
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];
PageContol.RemoteDKey1.1 := DK[1,1];
PageContol.RemoteDKey1.2 := DK[1,2];
PageContol.RemoteDKey1.3 := DK[1,3];
PageContol.RemoteDKey1.4 := DK[1,4];
PageContol.RemoteDKey1.5 := DK[1,5];
PageContol.RemoteDKey1.6 := DK[1,6];
PageContol.RemoteDKey1.7 := DK[1,7];
PageContol.RemoteDKey1.8 := DK[1,8];
PageContol.RemoteDKey1.9 := DK[1,9];
PageContol.RemoteDKey1.10 := DK[1,10];
PageContol.RemoteDKey1.11 := DK[1,11];
PageContol.RemoteDKey1.12 := DK[1,12];
PageContol.RemoteDKey1.13 := DK[1,13];
PageContol.RemoteDKey1.14 := DK[1,14];
PageContol.RemoteDKey1.15 := DK[1,15];
PageContol.RemoteDKey1.16 := DK[1,16];
PageContol.RemoteDKey1.17 := DK[1,17];
PageContol.RemoteDKey1.18 := DK[1,18];
PageContol.RemoteDKey1.19 := DK[1,19];
PageContol.RemoteDKey1.20 := DK[1,20];
PageContol.RemoteDKey1.21 := DK[1,21];
PageContol.RemoteDKey1.22 := DK[1,22];
PageContol.RemoteDKey1.23 := DK[1,23];
PageContol.RemoteDKey1.24 := DK[1,24];
PageContol.RemoteDKey1.25 := DK[1,25];
PageContol.RemoteDKey1.26 := DK[1,26];
PageContol.RemoteDKey1.27 := DK[1,27];
PageContol.RemoteDKey1.28 := DK[1,28];
PageContol.RemoteDKey1.29 := DK[1,29];
PageContol.RemoteDKey1.30 := DK[1,30];
PageContol.RemoteDKey1.31 := DK[1,31];
PageContol.RemoteDKey2.0 := DK[2,0];
PageContol.RemoteDKey2.1 := DK[2,1];
PageContol.RemoteDKey2.2 := DK[2,2];
PageContol.RemoteDKey2.3 := DK[2,3];
PageContol.RemoteDKey2.4 := DK[2,4];
PageContol.RemoteDKey2.5 := DK[2,5];
PageContol.RemoteDKey2.6 := DK[2,6];
PageContol.RemoteDKey2.7 := DK[2,7];
PageContol.RemoteDKey2.8 := DK[2,8];
PageContol.RemoteDKey2.9 := DK[2,9];
PageContol.RemoteDKey2.10 := DK[2,10];
PageContol.RemoteDKey2.11 := DK[2,11];
PageContol.RemoteDKey2.12 := DK[2,12];
PageContol.RemoteDKey2.13 := DK[2,13];
PageContol.RemoteDKey2.14 := DK[2,14];
PageContol.RemoteDKey2.15 := DK[2,15];
PageContol.RemoteDKey2.16 := DK[2,16];
PageContol.RemoteDKey2.17 := DK[2,17];
PageContol.RemoteDKey2.18 := DK[2,18];
PageContol.RemoteDKey2.19 := DK[2,19];
PageContol.RemoteDKey2.20 := DK[2,20];
PageContol.RemoteDKey2.21 := DK[2,21];
PageContol.RemoteDKey2.22 := DK[2,22];
PageContol.RemoteDKey2.23 := DK[2,23];
PageContol.RemoteDKey2.24 := DK[2,24];
PageContol.RemoteDKey2.25 := DK[2,25];
PageContol.RemoteDKey2.26 := DK[2,26];
PageContol.RemoteDKey2.27 := DK[2,27];
PageContol.RemoteDKey2.28 := DK[2,28];
PageContol.RemoteDKey2.29 := DK[2,29];
PageContol.RemoteDKey2.30 := DK[2,30];
PageContol.RemoteDKey2.31 := DK[2,31];
PageContol.CurrentPage;
END_PROGRAM
PROGRAM _EXIT
(* Insert code here *)
END_PROGRAM

View File

@@ -5,73 +5,73 @@ END_PROGRAM
PROGRAM _CYCLIC
IF NOT ModuleOK_Rec THEN RETURN;END_IF; (* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>MMX<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>ֱ<EFBFBD>ӷ<EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.EStop := HMI_DK[2,5] OR DK[1].0 OR (NOT DK[4].7); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD>ͣ *)
RemoteKey.PumpStop := HMI_DK[1,1] OR DK[1].3; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD>ͱ<EFBFBD>ֹͣ *)
RemoteKey.DustStop := HMI_DK[1,5] OR DK[1].5; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣ *)
RemoteKey.CutStop := HMI_DK[1,3] OR DK[1].7; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD>ظ<EFBFBD>ֹͣ *)
RemoteKey.LoaderStop := HMI_DK[1,5] OR (AK[5] > 127); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-װ<EFBFBD><EFBFBD>ֹͣ *)
RemoteKey.EStop := HMI_DK[2,5] OR I_RemoteIO.DK[1].0 OR (NOT I_RemoteIO.DK[4].7); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD>ͣ *)
RemoteKey.PumpStop := HMI_DK[1,1] OR I_RemoteIO.DK[1].3; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD>ͱ<EFBFBD>ֹͣ *)
RemoteKey.DustStop := HMI_DK[1,5] OR I_RemoteIO.DK[1].5; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣ *)
RemoteKey.CutStop := HMI_DK[1,3] OR I_RemoteIO.DK[1].7; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD>ظ<EFBFBD>ֹͣ *)
RemoteKey.LoaderStop := HMI_DK[1,5] OR (I_RemoteIO.AK[5] > 127); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-װ<EFBFBD><EFBFBD>ֹͣ *)
IF MS_Transport.Running THEN (* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,ֻҪ<EFBFBD><EFBFBD><EFBFBD>¸ı<EFBFBD>״̬<EFBFBD>ͻ<EFBFBD>ֹͣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.TransportStop := HMI_DK[1,8] OR DK[2].0 OR DK[2].1; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣ *)
RemoteKey.TransportStop := HMI_DK[1,8] OR I_RemoteIO.DK[2].0 OR I_RemoteIO.DK[2].1; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣ *)
END_IF;
IF NOT (IN_CtrlMode.ModeNum = 2) THEN RETURN;END_IF;(* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ң<EFBFBD><EFBFBD>ģʽ,<EFBFBD><EFBFBD>ֱ<EFBFBD>ӷ<EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>ֹͣ *)
IF NOT (IN_CtrlMode.ModeNum = 2 OR IN_CtrlMode.ModeNum = 5) THEN RETURN;END_IF;(* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ң<EFBFBD><EFBFBD>ģʽ,<EFBFBD><EFBFBD>ֱ<EFBFBD>ӷ<EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>ֹͣ *)
RemoteKey.Reset := HMI_DK[1,11] OR DK[1].1; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD>λ *)
RemoteKey.HighSpeed := HMI_DK[2,5] OR DK[2].2; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.TransportLifterStr := HMI_DK[1,12] OR DK[2].7; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.TransportLifterShr := HMI_DK[1,13] OR DK[3].0; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.TransportSwingStr := HMI_DK[1,14] OR DK[3].1; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.TransportSwingShr := HMI_DK[1,15] OR DK[3].2; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.SupportLStr := HMI_DK[1,20] OR DK[3].7; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.SupportLShr := HMI_DK[1,21] OR DK[4].0; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.SupportRStr := HMI_DK[1,22] OR DK[4].1; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD>Һ<EFBFBD>֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.SupportRShr := HMI_DK[1,23] OR DK[4].2; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD>Һ<EFBFBD>֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.Reset := HMI_DK[1,11] OR I_RemoteIO.DK[1].1; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD>λ *)
RemoteKey.HighSpeed := HMI_DK[2,5] OR I_RemoteIO.DK[2].2; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.TransportLifterStr := HMI_DK[1,12] OR I_RemoteIO.DK[2].7; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.TransportLifterShr := HMI_DK[1,13] OR I_RemoteIO.DK[3].0; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.TransportSwingStr := HMI_DK[1,14] OR I_RemoteIO.DK[3].1; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.TransportSwingShr := HMI_DK[1,15] OR I_RemoteIO.DK[3].2; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.SupportLStr := HMI_DK[1,20] OR I_RemoteIO.DK[3].7; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.SupportLShr := HMI_DK[1,21] OR I_RemoteIO.DK[4].0; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.SupportRStr := HMI_DK[1,22] OR I_RemoteIO.DK[4].1; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD>Һ<EFBFBD>֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.SupportRShr := HMI_DK[1,23] OR I_RemoteIO.DK[4].2; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD>Һ<EFBFBD>֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
IF AK[8] > 127 THEN (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD> ֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ܱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>²<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.TrackL := USINT_TO_SINT(AK[1]-127); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD>ǰ<EFBFBD><EFBFBD> *)
RemoteKey.TrackR := USINT_TO_SINT(AK[2]-127); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD>ǰ<EFBFBD><EFBFBD> *)
IF I_RemoteIO.AK[8] > 127 THEN (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD> ֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ܱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>²<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.TrackL := USINT_TO_SINT(I_RemoteIO.AK[1]-127); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD>ǰ<EFBFBD><EFBFBD> *)
RemoteKey.TrackR := USINT_TO_SINT(I_RemoteIO.AK[2]-127); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD>ǰ<EFBFBD><EFBFBD> *)
END_IF;
IF AK[7] > 127 THEN (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD>ظ<EFBFBD>ʹ<EFBFBD><EFBFBD> ֻ<EFBFBD>нظ<EFBFBD>ʹ<EFBFBD>ܱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>²<EFBFBD><EFBFBD>ܶ<EFBFBD><EFBFBD>ظ<EFBFBD> *)
RemoteKey.Cut := USINT_TO_SINT(AK[3]-127); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.Cutt := USINT_TO_SINT(AK[4]-127); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD>Ͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.RollerStr := HMI_DK[1,30] OR (AK[6] < 127); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD>Ͳ<EFBFBD><EFBFBD> *)
RemoteKey.RollerShr := HMI_DK[1,31] OR (AK[6] > 127); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD>Ͳ<EFBFBD><EFBFBD> *)
IF I_RemoteIO.AK[7] > 127 THEN (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD>ظ<EFBFBD>ʹ<EFBFBD><EFBFBD> ֻ<EFBFBD>нظ<EFBFBD>ʹ<EFBFBD>ܱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>²<EFBFBD><EFBFBD>ܶ<EFBFBD><EFBFBD>ظ<EFBFBD> *)
RemoteKey.Cut := USINT_TO_SINT(I_RemoteIO.AK[3]-127); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.Cutt := USINT_TO_SINT(I_RemoteIO.AK[4]-127); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD>Ͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.RollerStr := HMI_DK[1,30] OR (I_RemoteIO.AK[6] < 127); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD>Ͳ<EFBFBD><EFBFBD> *)
RemoteKey.RollerShr := HMI_DK[1,31] OR (I_RemoteIO.AK[6] > 127); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD>Ͳ<EFBFBD><EFBFBD> *)
END_IF;
DustFanRS(SET := RemoteKey.DustStart,RESET1 := RemoteKey.DustStop);(* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.DustFan := DustFanRS.Q1;
(* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ť<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ,<EFBFBD>Ż<EFBFBD>ִ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.PumpStart := HMI_DK[1,0] OR (DK[4].6 AND DK[1].2); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD>ͱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.DustStart := HMI_DK[1,4] OR (DK[4].6 AND DK[1].4); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.CutStart := HMI_DK[1,2] OR (DK[4].6 AND DK[1].6); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.TransportCorotation := HMI_DK[1,6] OR (DK[4].6 AND DK[2].0); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת *)
RemoteKey.TransportReversal := HMI_DK[1,7] OR (DK[4].6 AND DK[2].1); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת *)
RemoteKey.LoaderStart := HMI_DK[1,4] OR (DK[4].6 AND(AK[5] < 127)); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.PumpStart := HMI_DK[1,0] OR (I_RemoteIO.AK[4].6 AND I_RemoteIO.DK[1].2); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD>ͱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.DustStart := HMI_DK[1,4] OR (I_RemoteIO.AK[4].6 AND I_RemoteIO.DK[1].4); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.CutStart := HMI_DK[1,2] OR (I_RemoteIO.AK[4].6 AND I_RemoteIO.DK[1].6); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.TransportCorotation := HMI_DK[1,6] OR (I_RemoteIO.AK[4].6 AND I_RemoteIO.DK[2].0); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת *)
RemoteKey.TransportReversal := HMI_DK[1,7] OR (I_RemoteIO.AK[4].6 AND I_RemoteIO.DK[2].1); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת *)
RemoteKey.LoaderStart := HMI_DK[1,4] OR (I_RemoteIO.AK[4].6 AND(I_RemoteIO.AK[5] < 127)); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
(* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ť<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ,<EFBFBD><EFBFBD><EFBFBD>ܱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.HydraulicStr := HMI_DK[1,24] OR (DK[4].6 AND DK[3].3); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-Һѹ<EFBFBD><EFBFBD>ƽ̨<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.HydraulicShr := HMI_DK[1,25] OR (DK[4].6 AND DK[3].4); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-Һѹ<EFBFBD><EFBFBD>ƽ̨<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.ECUStr := HMI_DK[1,26] OR (DK[4].6 AND DK[3].5); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD>ƽ̨<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.ECUShr := HMI_DK[1,27] OR (DK[4].6 AND DK[3].6); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD>ƽ̨<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.HydraulicStr := HMI_DK[1,24] OR (I_RemoteIO.AK[4].6 AND I_RemoteIO.DK[3].3); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-Һѹ<EFBFBD><EFBFBD>ƽ̨<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.HydraulicShr := HMI_DK[1,25] OR (I_RemoteIO.AK[4].6 AND I_RemoteIO.DK[3].4); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-Һѹ<EFBFBD><EFBFBD>ƽ̨<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.ECUStr := HMI_DK[1,26] OR (I_RemoteIO.AK[4].6 AND I_RemoteIO.DK[3].5); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD>ƽ̨<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.ECUShr := HMI_DK[1,27] OR (I_RemoteIO.AK[4].6 AND I_RemoteIO.DK[3].6); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD>ƽ̨<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.LubPump := HMI_DK[2,0] OR (DK[4].6 AND DK[2].3); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󻬱ù<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.BoostPump := HMI_DK[2,1] OR (DK[4].6 AND DK[2].4); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD>ѹˮ<EFBFBD>ù<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.TrackTension := HMI_DK[2,2] OR (DK[4].6 AND DK[2].5); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD>Ĵ<EFBFBD><EFBFBD>Ž<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.TransportTension := HMI_DK[2,3] OR (DK[4].6 AND DK[2].6); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ž<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.LubPump := HMI_DK[2,0] OR (I_RemoteIO.AK[4].6 AND I_RemoteIO.DK[2].3); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󻬱ù<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.BoostPump := HMI_DK[2,1] OR (I_RemoteIO.AK[4].6 AND I_RemoteIO.DK[2].4); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD>ѹˮ<EFBFBD>ù<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.TrackTension := HMI_DK[2,2] OR (I_RemoteIO.AK[4].6 AND I_RemoteIO.DK[2].5); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD>Ĵ<EFBFBD><EFBFBD>Ž<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.TransportTension := HMI_DK[2,3] OR (I_RemoteIO.AK[4].6 AND I_RemoteIO.DK[2].6); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ž<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
(* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ť<EFBFBD>ɿ<EFBFBD>ʱ,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊԭʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.BoardLifterStr := HMI_DK[1,16] OR ((NOT DK[4].6) AND DK[2].3); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.BoardLifterShr := HMI_DK[1,17] OR ((NOT DK[4].6) AND DK[2].4); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.BoardExpansionStr := HMI_DK[1,18] OR ((NOT DK[4].6) AND DK[2].5); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD><EFBFBD> *)
RemoteKey.BoardExpansionShr := HMI_DK[1,19] OR ((NOT DK[4].6) AND DK[2].6); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD><EFBFBD> *)
RemoteKey.SupportTmpStr := HMI_DK[1,28] OR ((NOT DK[4].6) AND (DK[3].3 OR DK[3].5)); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD>ʱ֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.SupportTmpShr := HMI_DK[1,29] OR ((NOT DK[4].6) AND (DK[3].4 OR DK[3].6)); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD>ʱ֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.BoardLifterStr := HMI_DK[1,16] OR ((NOT I_RemoteIO.DK[4].6) AND I_RemoteIO.DK[2].3); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.BoardLifterShr := HMI_DK[1,17] OR ((NOT I_RemoteIO.DK[4].6) AND I_RemoteIO.DK[2].4); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.BoardExpansionStr := HMI_DK[1,18] OR ((NOT I_RemoteIO.DK[4].6) AND I_RemoteIO.DK[2].5); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD><EFBFBD> *)
RemoteKey.BoardExpansionShr := HMI_DK[1,19] OR ((NOT I_RemoteIO.DK[4].6) AND I_RemoteIO.DK[2].6); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD><EFBFBD> *)
RemoteKey.SupportTmpStr := HMI_DK[1,28] OR ((NOT I_RemoteIO.DK[4].6) AND (I_RemoteIO.DK[3].3 OR I_RemoteIO.DK[3].5)); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD>ʱ֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.SupportTmpShr := HMI_DK[1,29] OR ((NOT I_RemoteIO.DK[4].6) AND (I_RemoteIO.DK[3].4 OR I_RemoteIO.DK[3].6)); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD>ʱ֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
IF DK[4].3 THEN RemoteKey.WorkMode := 1; (* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ *)
ELSIF DK[4].4 THEN RemoteKey.WorkMode := 3; (* ̽ˮ<EFBFBD><EFBFBD>ģʽ *)
ELSIF DK[4].5 THEN RemoteKey.WorkMode := 2; (* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ *)
IF I_RemoteIO.DK[4].3 THEN RemoteKey.WorkMode := 1; (* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ *)
ELSIF I_RemoteIO.DK[4].4 THEN RemoteKey.WorkMode := 3; (* ̽ˮ<EFBFBD><EFBFBD>ģʽ *)
ELSIF I_RemoteIO.DK[4].5 THEN RemoteKey.WorkMode := 2; (* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ *)
ELSE RemoteKey.WorkMode := 0; (* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ *)
END_IF;

View File

@@ -0,0 +1,87 @@
PROGRAM _INIT
END_PROGRAM
PROGRAM _CYCLIC
IF NOT ModuleOK_Rec THEN RETURN;END_IF; (* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>MMX<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>ֱ<EFBFBD>ӷ<EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.EStop := HMI_DK[2,5] OR DK[1].0 OR (NOT DK[4].7); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD>ͣ *)
RemoteKey.PumpStop := HMI_DK[1,1] OR DK[1].3; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD>ͱ<EFBFBD>ֹͣ *)
RemoteKey.DustStop := HMI_DK[1,5] OR DK[1].5; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣ *)
RemoteKey.CutStop := HMI_DK[1,3] OR DK[1].7; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD>ظ<EFBFBD>ֹͣ *)
RemoteKey.LoaderStop := HMI_DK[1,5] OR (AK[5] > 127); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-װ<EFBFBD><EFBFBD>ֹͣ *)
IF MS_Transport.Running THEN (* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,ֻҪ<EFBFBD><EFBFBD><EFBFBD>¸ı<EFBFBD>״̬<EFBFBD>ͻ<EFBFBD>ֹͣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.TransportStop := HMI_DK[1,8] OR DK[2].0 OR DK[2].1; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣ *)
END_IF;
IF NOT (IN_CtrlMode.ModeNum = 2) THEN RETURN;END_IF;(* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ң<EFBFBD><EFBFBD>ģʽ,<EFBFBD><EFBFBD>ֱ<EFBFBD>ӷ<EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>ֹͣ *)
RemoteKey.Reset := HMI_DK[1,11] OR DK[1].1; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD>λ *)
RemoteKey.HighSpeed := HMI_DK[2,5] OR DK[2].2; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.TransportLifterStr := HMI_DK[1,12] OR DK[2].7; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.TransportLifterShr := HMI_DK[1,13] OR DK[3].0; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.TransportSwingStr := HMI_DK[1,14] OR DK[3].1; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.TransportSwingShr := HMI_DK[1,15] OR DK[3].2; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.SupportLStr := HMI_DK[1,20] OR DK[3].7; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.SupportLShr := HMI_DK[1,21] OR DK[4].0; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.SupportRStr := HMI_DK[1,22] OR DK[4].1; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD>Һ<EFBFBD>֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.SupportRShr := HMI_DK[1,23] OR DK[4].2; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD>Һ<EFBFBD>֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
IF AK[8] > 127 THEN (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD> ֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD>ܱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>²<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.TrackL := USINT_TO_SINT(AK[1]-127); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD>ǰ<EFBFBD><EFBFBD> *)
RemoteKey.TrackR := USINT_TO_SINT(AK[2]-127); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD>ǰ<EFBFBD><EFBFBD> *)
END_IF;
IF AK[7] > 127 THEN (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD>ظ<EFBFBD>ʹ<EFBFBD><EFBFBD> ֻ<EFBFBD>нظ<EFBFBD>ʹ<EFBFBD>ܱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>²<EFBFBD><EFBFBD>ܶ<EFBFBD><EFBFBD>ظ<EFBFBD> *)
RemoteKey.Cut := USINT_TO_SINT(AK[3]-127); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.Cutt := USINT_TO_SINT(AK[4]-127); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD>Ͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.RollerStr := HMI_DK[1,30] OR (AK[6] < 127); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD>Ͳ<EFBFBD><EFBFBD> *)
RemoteKey.RollerShr := HMI_DK[1,31] OR (AK[6] > 127); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD>Ͳ<EFBFBD><EFBFBD> *)
END_IF;
DustFanRS(SET := RemoteKey.DustStart,RESET1 := RemoteKey.DustStop);(* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.DustFan := DustFanRS.Q1;
(* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ť<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ,<EFBFBD>Ż<EFBFBD>ִ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.PumpStart := HMI_DK[1,0] OR (DK[4].6 AND DK[1].2); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD>ͱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.DustStart := HMI_DK[1,4] OR (DK[4].6 AND DK[1].4); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.CutStart := HMI_DK[1,2] OR (DK[4].6 AND DK[1].6); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.TransportCorotation := HMI_DK[1,6] OR (DK[4].6 AND DK[2].0); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת *)
RemoteKey.TransportReversal := HMI_DK[1,7] OR (DK[4].6 AND DK[2].1); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת *)
RemoteKey.LoaderStart := HMI_DK[1,4] OR (DK[4].6 AND(AK[5] < 127)); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
(* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ť<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ,<EFBFBD><EFBFBD><EFBFBD>ܱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.HydraulicStr := HMI_DK[1,24] OR (DK[4].6 AND DK[3].3); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-Һѹ<EFBFBD><EFBFBD>ƽ̨<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.HydraulicShr := HMI_DK[1,25] OR (DK[4].6 AND DK[3].4); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-Һѹ<EFBFBD><EFBFBD>ƽ̨<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.ECUStr := HMI_DK[1,26] OR (DK[4].6 AND DK[3].5); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD>ƽ̨<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.ECUShr := HMI_DK[1,27] OR (DK[4].6 AND DK[3].6); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD>ƽ̨<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.LubPump := HMI_DK[2,0] OR (DK[4].6 AND DK[2].3); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󻬱ù<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.BoostPump := HMI_DK[2,1] OR (DK[4].6 AND DK[2].4); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD>ѹˮ<EFBFBD>ù<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.TrackTension := HMI_DK[2,2] OR (DK[4].6 AND DK[2].5); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD>Ĵ<EFBFBD><EFBFBD>Ž<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.TransportTension := HMI_DK[2,3] OR (DK[4].6 AND DK[2].6); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ž<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
(* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ť<EFBFBD>ɿ<EFBFBD>ʱ,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊԭʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.BoardLifterStr := HMI_DK[1,16] OR ((NOT DK[4].6) AND DK[2].3); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.BoardLifterShr := HMI_DK[1,17] OR ((NOT DK[4].6) AND DK[2].4); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.BoardExpansionStr := HMI_DK[1,18] OR ((NOT DK[4].6) AND DK[2].5); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD><EFBFBD> *)
RemoteKey.BoardExpansionShr := HMI_DK[1,19] OR ((NOT DK[4].6) AND DK[2].6); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD><EFBFBD> *)
RemoteKey.SupportTmpStr := HMI_DK[1,28] OR ((NOT DK[4].6) AND (DK[3].3 OR DK[3].5)); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD>ʱ֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.SupportTmpShr := HMI_DK[1,29] OR ((NOT DK[4].6) AND (DK[3].4 OR DK[3].6)); (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD>ʱ֧<EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
IF DK[4].3 THEN RemoteKey.WorkMode := 1; (* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ *)
ELSIF DK[4].4 THEN RemoteKey.WorkMode := 3; (* ̽ˮ<EFBFBD><EFBFBD>ģʽ *)
ELSIF DK[4].5 THEN RemoteKey.WorkMode := 2; (* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ *)
ELSE RemoteKey.WorkMode := 0; (* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ *)
END_IF;
RemoteKey.StandbyStart := HMI_DK[1,9] ; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *)
RemoteKey.StandbyStop := HMI_DK[1,10] ; (* <EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD>ť-<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣ *)
END_PROGRAM
PROGRAM _EXIT
END_PROGRAM