Вызов таймера для выполнение цикла функции в 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)
- {
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д