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