Вызов таймера для выполнение цикла функции в ModBus ASCII - C#
Формулировка задачи:
Добрый день,столкнулся с проблемой
есть код для отправки фрейма по COM-порту:
Хочу сделать так,чтобы он записывал и отправлял этот запрос например каждые 10 секунд
Как я понял,это нужно делать в таймере:
Никто не может подсказать,очень много методов перепробовал,ничего не вышло
private void bnt_Read_Click(object sender, EventArgs e) { try { byte slaveAddress = 1; byte function = 3; ushort startAddress = 1556; uint numberOfPoints = 7; if (serialPort1.IsOpen) { string frame = ReadHoldingRegisterMsg(slaveAddress, startAddress, function, numberOfPoints); txtSendMsg.Text = frame; serialPort1.Write(frame); if (serialPort1.BytesToRead >= 5) { string bufferReceiver = serialPort1.ReadLine(); txtRecMsg.Text = bufferReceiver; string tempStrg = bufferReceiver.Substring(1, bufferReceiver.Length - 2); byte[] messageReceived = HexToBytes(tempStrg); if (bufferReceiver.Length == 10) ; //CheckValidate(messageReceived); byte[] data = new byte[messageReceived[2]]; Array.Copy(messageReceived, 3, data, 0, data.Length); serialPort1.DiscardInBuffer(); //Process Data UInt16[] temp = Word.ByteToUInt16(data); string result = string.Empty; foreach (var item in temp) { result += string.Format("{0}", item); } tXtResult.Text = result; } } } catch (Exception ex) { tXtResult.Text = ex.Message; }
private void timer1_Tick(object sender, EventArgs e) { }
Решение задачи: «Вызов таймера для выполнение цикла функции в ModBus ASCII»
textual
Листинг программы
private void timer1_Tick(object sender, EventArgs e) { }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д