From e00e96bea77db7fb15b29e4b2dc4f4a917c62057 Mon Sep 17 00:00:00 2001 From: nikzori Date: Thu, 6 Mar 2025 10:16:30 +0300 Subject: [PATCH] switched to Stopwatch for timers for more reliability --- Datasheet.Designer.cs | 10 ++ Datasheet.cs | 249 ++++++++++++++++++++++++++++-------------- Main.cs | 18 +-- Modbus.cs | 49 ++++++++- Screenshot_1.png | Bin 0 -> 79687 bytes 5 files changed, 235 insertions(+), 91 deletions(-) create mode 100644 Screenshot_1.png diff --git a/Datasheet.Designer.cs b/Datasheet.Designer.cs index a4a2cca..c0a8279 100644 --- a/Datasheet.Designer.cs +++ b/Datasheet.Designer.cs @@ -60,6 +60,7 @@ this.firmwarePathLabel = new System.Windows.Forms.Label(); this.WriteFirmware = new System.Windows.Forms.Button(); this.groupBox3 = new System.Windows.Forms.GroupBox(); + this.firmwareProgressBar = new System.Windows.Forms.ProgressBar(); this.groupBox1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.nudModbusID)).BeginInit(); this.groupBox2.SuspendLayout(); @@ -371,6 +372,7 @@ // // groupBox3 // + this.groupBox3.Controls.Add(this.firmwareProgressBar); this.groupBox3.Controls.Add(this.BrowseFirmware); this.groupBox3.Controls.Add(this.WriteFirmware); this.groupBox3.Controls.Add(this.label11); @@ -382,6 +384,13 @@ this.groupBox3.TabStop = false; this.groupBox3.Text = "Прошивка"; // + // firmwareProgressBar + // + this.firmwareProgressBar.Location = new System.Drawing.Point(176, 38); + this.firmwareProgressBar.Name = "firmwareProgressBar"; + this.firmwareProgressBar.Size = new System.Drawing.Size(330, 23); + this.firmwareProgressBar.TabIndex = 19; + // // Datasheet // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -442,5 +451,6 @@ private System.Windows.Forms.Label firmwarePathLabel; private System.Windows.Forms.Button WriteFirmware; private System.Windows.Forms.GroupBox groupBox3; + private System.Windows.Forms.ProgressBar firmwareProgressBar; } } \ No newline at end of file diff --git a/Datasheet.cs b/Datasheet.cs index 77861ca..43ba283 100644 --- a/Datasheet.cs +++ b/Datasheet.cs @@ -1,10 +1,12 @@ using System; using System.Collections; using System.Collections.Generic; +using System.Diagnostics; using System.Drawing; using System.IO; using System.IO.Ports; using System.Linq; +using System.Security.Cryptography; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; @@ -20,7 +22,7 @@ namespace Gidrolock_Modbus_Scanner SerialPort port = Modbus.port; bool isPolling = false; - bool isAwaitingResponse = false; + static bool isAwaitingResponse = false; bool isValveClosed = false; @@ -31,7 +33,8 @@ namespace Gidrolock_Modbus_Scanner List wirelessSensors; public static string firmwarePath; - + static int timeout = 1000; + Stopwatch stopwatch = new Stopwatch(); Thread fileThread = new Thread((ThreadStart)delegate { @@ -40,16 +43,14 @@ namespace Gidrolock_Modbus_Scanner ofd.RestoreDirectory = true; if (ofd.ShowDialog() == DialogResult.OK) - { firmwarePath = ofd.FileName; - //firmwarePathLabel.Text = ofd.FileName; - } }); - public Datasheet(byte modbusID, Device device) : base() + public Datasheet(byte modbusID, Device device) : base() { InitializeComponent(); - + firmwareProgressBar.Minimum = 0; + firmwareProgressBar.Maximum = 100; nudModbusID.Minimum = 1; nudModbusID.Maximum = 246; nudModbusID.Value = modbusID; @@ -110,7 +111,7 @@ namespace Gidrolock_Modbus_Scanner sensorPanel.Controls[i].BackColor = i % 2 == 0 ? Color.White : Color.LightGray; - sensorPanel.Update(); + sensorPanel.Update(); } private async void buttonPoll_Click(object sender, EventArgs e) @@ -245,15 +246,17 @@ namespace Gidrolock_Modbus_Scanner bool res = false; Modbus.ReadRegAsync(modbusID, (FunctionCode)entry.registerType, entry.address, entry.length); isAwaitingResponse = true; - Task.Delay(2000).ContinueWith(_ => + + stopwatch.Restart(); + + while (isAwaitingResponse) { - if (isAwaitingResponse) + if (stopwatch.ElapsedMilliseconds > 1000) { - MessageBox.Show("Превышено время ожидания ответа от устройства."); - isAwaitingResponse = false; + Console.WriteLine("Response timed out."); + break; } - }); - while (isAwaitingResponse) { continue; } + } if (latestMessage != null && latestMessage.Status != ModbusStatus.Error) res = true; @@ -265,17 +268,18 @@ namespace Gidrolock_Modbus_Scanner private async void buttonSetID_Click(object sender, EventArgs e) { byte newID = (byte)nudModbusID.Value; // should prevent assigning wrong ID if UpDown is fiddled with in the middle of request + isAwaitingResponse = true; Modbus.WriteSingleAsync(FunctionCode.WriteRegister, modbusID, 128, newID); - await Task.Delay(2000).ContinueWith(_ => + + stopwatch.Restart(); + while (isAwaitingResponse) { - if (isAwaitingResponse) + if (stopwatch.ElapsedMilliseconds > 1000) { - MessageBox.Show("Превышено время ожидания ответа от устройства."); - isAwaitingResponse = false; + Console.WriteLine("Response timed out."); + break; } - return false; - }); - while (isAwaitingResponse) { continue; } + } if (latestMessage != null && latestMessage.Status != ModbusStatus.Error) modbusID = newID; @@ -284,18 +288,18 @@ namespace Gidrolock_Modbus_Scanner private async void buttonValve_Click(object sender, EventArgs e) { ushort value = isValveClosed ? (ushort)0 : (ushort)0xFF00; + isAwaitingResponse = true; Modbus.WriteSingleAsync(FunctionCode.WriteCoil, modbusID, device.valveStatus.address, value); - Task.Delay(2000).ContinueWith(_ => + stopwatch.Restart(); + while (isAwaitingResponse) { - if (isAwaitingResponse) + if (stopwatch.ElapsedMilliseconds > 1000) { - MessageBox.Show("Превышено время ожидания ответа от устройства."); - isAwaitingResponse = false; + Console.WriteLine("Response timed out."); + break; } - return false; - }); - while (isAwaitingResponse) { continue; } + } if (latestMessage != null && latestMessage.Status != ModbusStatus.Error) { @@ -308,18 +312,18 @@ namespace Gidrolock_Modbus_Scanner private async void buttonAlarm_Click(object sender, EventArgs e) { ushort value = alarmStatus ? (ushort)0 : (ushort)0xFF00; + isAwaitingResponse = true; Modbus.WriteSingleAsync(FunctionCode.WriteCoil, modbusID, device.alarmStatus.address, value); - Task.Delay(2000).ContinueWith(_ => + stopwatch.Restart(); + while (isAwaitingResponse) { - if (isAwaitingResponse) + if (stopwatch.ElapsedMilliseconds > 1000) { - MessageBox.Show("Превышено время ожидания ответа от устройства."); - isAwaitingResponse = false; + Console.WriteLine("Response timed out."); + break; } - return false; - }); - while (isAwaitingResponse) { continue; } + } if (latestMessage != null && latestMessage.Status != ModbusStatus.Error) { @@ -332,18 +336,18 @@ namespace Gidrolock_Modbus_Scanner private async void buttonCleaning_Click(object sender, EventArgs e) { ushort value = cleaningStatus ? (ushort)0 : (ushort)0xFF00; + isAwaitingResponse = true; Modbus.WriteSingleAsync(FunctionCode.WriteCoil, modbusID, device.cleaningMode.address, value); - Task.Delay(2000).ContinueWith(_ => + stopwatch.Restart(); + while (isAwaitingResponse) { - if (isAwaitingResponse) + if (stopwatch.ElapsedMilliseconds > 1000) { - MessageBox.Show("Превышено время ожидания ответа от устройства."); - isAwaitingResponse = false; + Console.WriteLine("Response timed out."); + break; } - return false; - }); - while (isAwaitingResponse) { continue; } + } if (latestMessage != null && latestMessage.Status != ModbusStatus.Error) { @@ -364,18 +368,20 @@ namespace Gidrolock_Modbus_Scanner // send speed value to device // await for response + isAwaitingResponse = true; Modbus.WriteSingleAsync(FunctionCode.WriteRegister, modbusID, device.baudRate.address, newSpeed); - Task.Delay(2000).ContinueWith(_ => + + stopwatch.Restart(); + while (isAwaitingResponse) { - if (isAwaitingResponse) + if (stopwatch.ElapsedMilliseconds > 1000) { - MessageBox.Show("Превышено время ожидания ответа от устройства."); - isAwaitingResponse = false; + Console.WriteLine("Response timed out."); + break; } - return false; - }); - while (isAwaitingResponse) { continue; } - if (latestMessage.Status != ModbusStatus.Error) + } + + if (latestMessage != null && latestMessage.Status != ModbusStatus.Error) { port.Close(); port.BaudRate = newSpeed; @@ -396,30 +402,54 @@ namespace Gidrolock_Modbus_Scanner fileThread.Join(); } catch (Exception err) { MessageBox.Show(err.Message); } + + firmwarePathLabel.Invoke(new MethodInvoker(delegate { firmwarePathLabel.Text = firmwarePath; })); } - private void WriteFirmware_Click(object sender, EventArgs e) + private async void WriteFirmware_Click(object sender, EventArgs e) { + if (firmwarePath is null || firmwarePath.Length == 0) + { + MessageBox.Show("Выберите файл прошивки."); + return; + } + FileStream fileStream = File.OpenRead(firmwarePath); long bytesLeft = fileStream.Length; - int offset = 0; - int count; - byte[] buffer; + long bytesTotal = fileStream.Length; + int count = 64; + byte[] buffer = new byte[count]; byte[] bdma; + short _flashAddr = 0; + byte[] flashAddr = new byte[2]; + byte[] CRC; List message; - int dma = 0; - Task.Run(() => + bool responseReceived = false; + Modbus.ResponseReceived += (sndr, msg) => { responseReceived = true; }; + bool firstMessageSent = false; + long bytesWritten = 0; + await Task.Run(() => { while (bytesLeft > 0) { + if (firstMessageSent) // after first message the device is sent into recovery mode which only supports 9600 bps + { + port.Close(); + port.BaudRate = 9600; + port.Open(); + } + count = bytesLeft > 64 ? 64 : (int)bytesLeft; buffer = new byte[count]; - fileStream.Read(buffer, offset, count); + fileStream.Read(buffer, 0, count); bdma = new byte[2]; - bdma[0] = (byte)((dma & 0xFF_00) >> 16); - bdma[1] = (byte)(dma & 0x00_FF); + bdma[0] = (byte)((bytesLeft & 0xFF_00) >> 8); + bdma[1] = (byte)(bytesLeft & 0x00_FF); + + flashAddr[0] = (byte)((_flashAddr & 0xFF_00) >> 8); + flashAddr[1] = (byte)(_flashAddr & 0x00_FF); message = new List(); message.Add(modbusID); // device ID @@ -429,40 +459,101 @@ namespace Gidrolock_Modbus_Scanner message.Add(0x00); // regCnt (?) message.Add(0x21); // regCnt (?) message.Add(0x42); // data bytecount - message.Add(bdma[0]); - message.Add(bdma[1]); + message.Add(flashAddr[0]); + message.Add(flashAddr[1]); - for (int i = 0; i < buffer.Length; i++) + try { - message.Add(buffer[i]); + for (int i = 0; i < buffer.Length; i++) + { + message.Add(buffer[i]); + } + message.Add(0x00); + message.Add(0x00); + CRC = new byte[2]; + Modbus.GetCRC(message.ToArray(), ref CRC); + message[message.Count - 2] = CRC[0]; + message[message.Count - 1] = CRC[1]; + + Console.WriteLine("Outgoing firmware message: " + Modbus.ByteArrayToString(message.ToArray())); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + return; } - byte[] CRC = new byte[2]; - Modbus.GetCRC(message.ToArray(), ref CRC); - message.Add(CRC[0]); - message.Add(CRC[1]); - Console.WriteLine("Outgoing firmware message: " + Modbus.ByteArrayToString(message.ToArray())); + responseReceived = false; + + while (true) + { + + isAwaitingResponse = true; + port.Write(message.ToArray(), 0, message.Count); + stopwatch.Restart(); + + while (isAwaitingResponse) + { + if (stopwatch.ElapsedMilliseconds > 1000) + { + Console.WriteLine("Response timed out."); + break; + } + } + + if (responseReceived) + break; + } + bytesLeft -= count; + bytesWritten += count; + firmwareProgressBar.Increment( (int)(bytesWritten / bytesTotal) * 100 ); + + _flashAddr += (short)count; + if (port.BaudRate != 9600) + firstMessageSent = true; + + if (bytesLeft <= 0) + Console.WriteLine("Reached the end of firmware file."); + } + + /* Final Message */ + message = new List(); + message.Add(modbusID); // device ID + message.Add(0x10); // function code + message.Add(0xFF); // register address + message.Add(0xFF); // register address + message.Add(0x00); // regCnt (?) + message.Add(0x21); // regCnt (?) + message.Add(0x00); // data bytecount + message.Add(0x00); // CRC + message.Add(0x00); // CRC + CRC = new byte[2]; + Modbus.GetCRC(message.ToArray(), ref CRC); + message[message.Count - 2] = CRC[0]; + message[message.Count - 1] = CRC[1]; + Console.WriteLine("Outgoing firmware message: " + Modbus.ByteArrayToString(message.ToArray())); + + while (true) + { isAwaitingResponse = true; port.Write(message.ToArray(), 0, message.Count); + stopwatch.Restart(); - Task.Delay(2000).ContinueWith(_ => + while (isAwaitingResponse) { - if (isAwaitingResponse) + if (stopwatch.ElapsedMilliseconds > 250) { - MessageBox.Show("Превышено время ожидания ответа от устройства."); - isAwaitingResponse = false; - return; + Console.WriteLine("Response timed out."); + break; } - }); - while (isAwaitingResponse) { continue; } - - bytesLeft -= count; - offset += count; - dma += 32; + } + if (responseReceived) + break; } }); + } } public class Sensor : FlowLayoutPanel diff --git a/Main.cs b/Main.cs index 6acbed8..e06acd6 100644 --- a/Main.cs +++ b/Main.cs @@ -3,6 +3,8 @@ using System.Collections.Generic; using System.Threading.Tasks; using System.Windows.Forms; using System.IO.Ports; +using System.Reflection; +using System.Diagnostics; namespace Gidrolock_Modbus_Scanner { @@ -20,6 +22,7 @@ namespace Gidrolock_Modbus_Scanner DateTime dateTime; Datasheet datasheet; + Stopwatch stopwatch = new Stopwatch(); #region Initialization public App() { @@ -77,8 +80,10 @@ namespace Gidrolock_Modbus_Scanner } #endregion + private async void ButtonConnect_Click(object sender, EventArgs e) { + if (cBoxPorts.SelectedItem.ToString() == "COM1") { DialogResult res = MessageBox.Show("Выбран серийный порт COM1, который обычно является портом PS/2 или RS-232, не подключенным к Modbus устройству. Продолжить?", "Внимание", MessageBoxButtons.OKCancel); @@ -123,17 +128,16 @@ namespace Gidrolock_Modbus_Scanner latestMessage = null; isAwaitingResponse = true; var send = Modbus.ReadRegAsync((byte)upDownModbusID.Value, FunctionCode.ReadInput, 200, 6); - await Task.Delay(2000).ContinueWith(_ => + stopwatch.Restart(); + while (isAwaitingResponse) { - if (isAwaitingResponse) + if (stopwatch.ElapsedMilliseconds > 1000) { - isAwaitingResponse = false; - MessageBox.Show("Истекло время ожидания ответа от устройства."); + Console.WriteLine("Response timed out."); + break; } - return; - }); + } - while (isAwaitingResponse) { continue; } if (latestMessage is null) return; if (latestMessage.Status == ModbusStatus.Error) diff --git a/Modbus.cs b/Modbus.cs index f986b35..708f791 100644 --- a/Modbus.cs +++ b/Modbus.cs @@ -5,6 +5,7 @@ using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; +using System.Collections.Generic; using static System.Net.Mime.MediaTypeNames; namespace Gidrolock_Modbus_Scanner @@ -12,8 +13,7 @@ namespace Gidrolock_Modbus_Scanner public static class Modbus { public static SerialPort port = new SerialPort(); - - + public static event EventHandler ResponseReceived = delegate { }; public static void Init() @@ -235,17 +235,55 @@ namespace Gidrolock_Modbus_Scanner CRC[1] = CRCHigh = (byte)((CRCFull >> 8) & 0xFF); CRC[0] = CRCLow = (byte)(CRCFull & 0xFF); } - #endregion - - static void PortDataReceived(object sender, EventArgs e) + public static bool CheckResponse(byte[] response) // Проверка пакета на контрольную сумму { + //Perform a basic CRC check: + byte[] CRC = new byte[2]; + try + { + CRC[0] = response[response.Length - 2]; + CRC[1] = response[response.Length - 1]; + } + catch (Exception err) + { + return false; + } + GetCRC(response, ref CRC); + + if (CRC[0] == response[response.Length - 2] && CRC[1] == response[response.Length - 1]) + return true; + else + return false; + } + #endregion + /* + static byte[] buffer = new byte[255]; + static int offset = 0; + static Thread timer = new Thread(new ThreadStart(() => + { + Thread.Sleep(50); + offset = 0; + buffer = new byte[255]; + port.DiscardInBuffer(); + })); + */ + static void PortDataReceived(object sender, EventArgs e) + { try { Thread.Sleep(50); byte[] message = new byte[port.BytesToRead]; //Console.WriteLine("Bytes to read:" + port.BytesToRead); port.Read(message, 0, port.BytesToRead); + if (message.Length == 0) + return; Console.WriteLine("Incoming message: " + ByteArrayToString(message, false)); + if (!CheckResponse(message)) + { + Console.WriteLine("Bad CRC or not a modbus message!"); + return; + } + if (message[1] <= 0x04) // read functions { //Console.WriteLine("It's a read message"); @@ -270,6 +308,7 @@ namespace Gidrolock_Modbus_Scanner MessageBox.Show(err.Message, "Modbus message reception error"); } port.DiscardInBuffer(); + } } diff --git a/Screenshot_1.png b/Screenshot_1.png new file mode 100644 index 0000000000000000000000000000000000000000..c3cc1dc56a313fc57b28427d6ebbeee02d047367 GIT binary patch literal 79687 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 IzVjdd8>BBMEdT%j literal 0 HcmV?d00001