sc 1 year ago
parent
commit
919fbfdb5e
  1. 23
      ViewModel/MainWindowViewModel.cs

23
ViewModel/MainWindowViewModel.cs

@ -169,6 +169,10 @@ namespace DyeingComputer.ViewModel
ushort DQ_L = 128; ushort DQ_L = 128;
bool[] DO = new bool[128]; bool[] DO = new bool[128];
ushort DO_L = 128; ushort DO_L = 128;
int[] MW = new int[128];
ushort MW_L = 128;
ushort[] DW = new ushort[125];
ushort DW_L = 125;
readonly byte slaveId = 1; readonly byte slaveId = 1;
private async void Modbus_link() private async void Modbus_link()
@ -178,14 +182,9 @@ namespace DyeingComputer.ViewModel
master.Transport.ReadTimeout = 500; master.Transport.ReadTimeout = 500;
master.Transport.WriteTimeout = 500; master.Transport.WriteTimeout = 500;
//master.Transport.Retries = 100;
// write three registers
LINK_RUN++; LINK_RUN++;
try try
{ {
// ushort startAddress = 46001; // ushort startAddress = 46001;
// ushort[] registers = new ushort[] { 1, 2, 3 }; // ushort[] registers = new ushort[] { 1, 2, 3 };
// master.WriteMultipleRegisters(slaveId, startAddress, registers); // master.WriteMultipleRegisters(slaveId, startAddress, registers);
@ -193,7 +192,9 @@ namespace DyeingComputer.ViewModel
DO = master.ReadCoils(slaveId, 01000, DO_L); DO = master.ReadCoils(slaveId, 01000, DO_L);
DQ = master.ReadCoils(slaveId, 00000, DQ_L); DQ = master.ReadCoils(slaveId, 00000, DQ_L);
LINK_OK=true; DW = master.ReadHoldingRegisters(slaveId,06000, DW_L);
LINK_OK =true;
} }
catch (Exception ex) catch (Exception ex)
{ {
@ -228,8 +229,12 @@ namespace DyeingComputer.ViewModel
{ {
await Task.Run(() => await Task.Run(() =>
{ {
for (ushort i = 0; i < DO_L; i++) { updata_dtd((i + 2001).ToString(), DO[i]); } lock (dt_d)
for (ushort i = 0; i < DQ_L; i++) { updata_dtd((i + 3001).ToString(), DQ[i]); } {
for (ushort i = 0; i < DO_L; i++) { updata_dtd((i + 2001).ToString(), DO[i]); }
for (ushort i = 0; i < DQ_L; i++) { updata_dtd((i + 3001).ToString(), DQ[i]); }
for (ushort i = 0; i < DW_L; i++) { updata_dta((i + 4001).ToString(), DW[i]); }
}
}); });
await Task.Run(() => await Task.Run(() =>

Loading…
Cancel
Save