Использование библиотеки EasyModbus - C#

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

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

Добрый день. У меня вопрос по получению данных с устройства по modbus RTU. Использую библиотеку EasyModbus. вот код программы. Опрашиваю прибор си30 фирмы Овен. Мануал на прибор https://owen.ua/uploads/65/re_oven_si30_ukr_374.pdf. Проблема в том, что когда я получаю число выше 33000 у меня получается число с "-". Я понимаю что это тип данных со знаком. Подскажите как получить число которое отображается на приборе.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using EasyModbus;
 
namespace c30
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] a;
          
           UInt32 b = 0;
            ModbusClient modbusClient = new ModbusClient("COM4");
            modbusClient.UnitIdentifier = 16;
            modbusClient.Baudrate = 9600;   
            modbusClient.Parity = System.IO.Ports.Parity.None;
            modbusClient.StopBits = System.IO.Ports.StopBits.Two;
            modbusClient.ConnectionTimeout = 500;
            modbusClient.Connect();
        
           a = modbusClient.ReadInputRegisters(2, 2);

            Console.WriteLine(a[0]+" "+a[1]);

        }
    }
}

Решение задачи: «Использование библиотеки EasyModbus»

textual
Листинг программы
ModbusClient.ConvertRegistersToInt(modbusClient.ReadInputRegisters(0, 2),ModbusClient.RegisterOrder.HighLow));

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


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

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

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