Добрый день.
По форуму искал, но именно такого вопроса не нашел.

Есть 110ый, планирую его опрашивать с использованием приложения, написанного на шарпе с использованием библиотеки NModbus.
Пока играюсь с эмулятором Modbus slave - устройства: задаю разные значения и считываю их из своего приложения. Например, так:
System.String ipAddress = "127.0.0.1";
System.Int32 tcpPort = 502;
TcpClient tcpClient = new TcpClient();
tcpClient.Connect(ipAddress, tcpPort);
Modbus.Device.ModbusIpMaster master = Modbus.Device.ModbusIpMaster.CreateIp(tcpClient);

System.Byte slaveID = 1;
System.UInt16 startAddress = 0;
System.UInt16 numOfPoints = 2;

System.UInt16[] holdingRegister = master.ReadHoldingRegisters(slaveID, startAddress, numOfPoints);

Вот описание функции ReadHoldingRegisters: ushort[] ReadHoldingRegisters(byte slaveAddress, ushort startAddress, ushort numberOfPoints)

Откуда видим тип возвращаемого значения - ushort. А если у меня в этот регистр пишется дробное отрицательное число? Как быть?