Зачем изобретать велосипед? Если студия с нюгетом, то открыть менеджер нюгетов и тупо добавить NModbus. Если нет, то добавить в солюшн как обычно ручками. Дальше просто
Код:
using System;
using Modbus.Device;
using System.IO.Ports;
namespace NModbusExample
{
class Program
{
static void Main(string[] args)
{
using (var port = new SerialPort("COM1") { BaudRate = 115200 })
{
port.Open();
var mbus = ModbusSerialMaster.CreateRtu(port);
var reg = mbus.ReadHoldingRegisters(1, 0, 1);
Console.WriteLine(reg[0]);
}
}
}
}
Естественно, подставить свои параметры порта, адрес устройства и номер нужного регистра.