sc 1 year ago
parent
commit
81dc24761d
  1. 31
      ViewModel/MainWindowViewModel.cs

31
ViewModel/MainWindowViewModel.cs

@ -101,7 +101,7 @@ namespace DyeingComputer.ViewModel
DispatcherTimer timer5s = new DispatcherTimer//初始化循环,每1秒调用一次Tick DispatcherTimer timer5s = new DispatcherTimer//初始化循环,每1秒调用一次Tick
{ {
Interval = TimeSpan.FromSeconds(5)//秒 Interval = TimeSpan.FromSeconds(3)//秒
}; };
timer5s.Tick += Tick_Event_5S; timer5s.Tick += Tick_Event_5S;
timer5s.Start(); timer5s.Start();
@ -120,7 +120,7 @@ namespace DyeingComputer.ViewModel
void Tick_Event_1S(object sender, EventArgs e)//Tick_Event周期执行事件 void Tick_Event_1S(object sender, EventArgs e)//Tick_Event周期执行事件
{ {
Sys_Time = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"); Sys_Time = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
Work_Temp = Selet_dtm("1002") + " ℃"; Work_Temp = Selet_dtm("1010") + " ℃";
Work_Numder = WorkNumder.ToString(); Work_Numder = WorkNumder.ToString();
// Status_Str = "qweqeqwqqfwfqef"; // Status_Str = "qweqeqwqqfwfqef";
@ -162,29 +162,38 @@ namespace DyeingComputer.ViewModel
} }
} }
bool LINK_OK = false; private bool LINK_OK = false;
public static async void Modbus_link() private int LINK_RUN = 0;
private int LINK_ERR = 0;
private async void Modbus_link()
{ {
await Task.Run(() => await Task.Run(() =>
{ {
byte slaveId = 1;
ushort startAddress = 100;
ushort[] registers = new ushort[] { 1, 2, 3 };
master.Transport.ReadTimeout = 500; master.Transport.ReadTimeout = 500;
master.Transport.WriteTimeout = 500; master.Transport.WriteTimeout = 500;
//master.Transport.Retries = 100; //master.Transport.Retries = 100;
// write three registers // write three registers
try try
{ {
LINK_RUN++;
byte slaveId = 1;
ushort startAddress = 100;
ushort[] registers = new ushort[] { 1, 2, 3 };
master.WriteMultipleRegisters(slaveId, startAddress, registers); master.WriteMultipleRegisters(slaveId, startAddress, registers);
} }
catch (Exception ex) catch (Exception ex)
{ {
LINK_ERR++;
LogGing.LogGingDATA(ex.Message); LogGing.LogGingDATA(ex.Message);
Name_err = "PLC"+Properties.Resources.Connectionlost; Name_err = "PLC"+Properties.Resources.Connectionlost;
} }
updata_dtm("1001", LINK_RUN);
updata_dtm("1002", LINK_ERR);
}); });
} }
@ -222,13 +231,13 @@ namespace DyeingComputer.ViewModel
int index = Convert.ToInt16(arrRows[0]["Value"].ToString()); int index = Convert.ToInt16(arrRows[0]["Value"].ToString());
return index; return index;
} }
private bool selet_dtd(string key)//D寄存器 private bool Selet_dtd(string key)//D寄存器
{ {
DataRow[] arrRows = dt_d.Select("ID=" + key); DataRow[] arrRows = dt_d.Select("ID=" + key);
bool index = Convert.ToBoolean(arrRows[0]["DIO"].ToString()); bool index = Convert.ToBoolean(arrRows[0]["DIO"].ToString());
return true; return true;
} }
private int selet_dta(string key)//A寄存器 private int Selet_dta(string key)//A寄存器
{ {
DataRow[] arrRows = dt_a.Select("ID=" + key); DataRow[] arrRows = dt_a.Select("ID=" + key);
int index = Convert.ToInt16(arrRows[0]["AIO"].ToString()); int index = Convert.ToInt16(arrRows[0]["AIO"].ToString());

Loading…
Cancel
Save