Implements the Modbus communication protocol, written as a .NET Standard 2.0 library.
Package | NuGet |
---|---|
Modbus.Common | |
Modbus.Tcp | |
Modbus.Serial | |
Modbus.Proxy | |
Build Artifacts |
You can use the clients without any big knowledge about the protocol:
string host = "modbus-device.local";
int port = 502;
using var client = new ModbusClient(host, port);
await client.Connect();
byte deviceIdentifier = 5;
ushort startAddress = 19000;
ushort count = 2;
var registers = await client.ReadHoldingRegisters(deviceIdentifier, startAddress, count);
float voltage = registers.GetSingle();
Console.WriteLine($"The voltage between L1 and N is: {voltage:N2}V");
For the people who have seen some devices: yes, it's a request to a Janitza device ;-).
All packages published under the MIT license.