diff --git a/ViewModel/MainWindowViewModel.cs b/ViewModel/MainWindowViewModel.cs index 8bada68..cdbf010 100644 --- a/ViewModel/MainWindowViewModel.cs +++ b/ViewModel/MainWindowViewModel.cs @@ -101,7 +101,7 @@ namespace DyeingComputer.ViewModel DispatcherTimer timer5s = new DispatcherTimer//初始化循环,每1秒调用一次Tick { - Interval = TimeSpan.FromSeconds(5)//秒 + Interval = TimeSpan.FromSeconds(3)//秒 }; timer5s.Tick += Tick_Event_5S; timer5s.Start(); @@ -120,7 +120,7 @@ namespace DyeingComputer.ViewModel void Tick_Event_1S(object sender, EventArgs e)//Tick_Event周期执行事件 { 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(); // Status_Str = "qweqeqwqqfwfqef"; @@ -162,29 +162,38 @@ namespace DyeingComputer.ViewModel } } - bool LINK_OK = false; - public static async void Modbus_link() + private bool LINK_OK = false; + private int LINK_RUN = 0; + private int LINK_ERR = 0; + private async void Modbus_link() { await Task.Run(() => { - byte slaveId = 1; - ushort startAddress = 100; - ushort[] registers = new ushort[] { 1, 2, 3 }; - master.Transport.ReadTimeout = 500; master.Transport.WriteTimeout = 500; - + //master.Transport.Retries = 100; // write three registers try { + LINK_RUN++; + + + byte slaveId = 1; + ushort startAddress = 100; + ushort[] registers = new ushort[] { 1, 2, 3 }; master.WriteMultipleRegisters(slaveId, startAddress, registers); } catch (Exception ex) { + LINK_ERR++; LogGing.LogGingDATA(ex.Message); 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()); return index; } - private bool selet_dtd(string key)//D寄存器 + private bool Selet_dtd(string key)//D寄存器 { DataRow[] arrRows = dt_d.Select("ID=" + key); bool index = Convert.ToBoolean(arrRows[0]["DIO"].ToString()); return true; } - private int selet_dta(string key)//A寄存器 + private int Selet_dta(string key)//A寄存器 { DataRow[] arrRows = dt_a.Select("ID=" + key); int index = Convert.ToInt16(arrRows[0]["AIO"].ToString());