Вызов таймера для выполнение цикла функции в ModBus ASCII - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день,столкнулся с проблемой есть код для отправки фрейма по COM-порту:
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;
            }
Хочу сделать так,чтобы он записывал и отправлял этот запрос например каждые 10 секунд Как я понял,это нужно делать в таймере:
private void timer1_Tick(object sender, EventArgs e)
        {
            
        }
Никто не может подсказать,очень много методов перепробовал,ничего не вышло

Решение задачи: «Вызов таймера для выполнение цикла функции в ModBus ASCII»

textual
Листинг программы
private void timer1_Tick(object sender, EventArgs e)
        {
            
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5
Похожие ответы