Provides connectivity to Modbus slave compatible devices and applications. Supports serial ASCII, serial RTU, serial over USB ASCII, serial over USB RTU, TCP, and UDP protocols.
开源的modbus库,使用C#开发。
网址http://code.google.com/p/nmodbus/
modbus-rtu读取holding寄存器值,代码如下:
SerialPort port = new SerialPort();
//配置串口
port.PortName = com;
port.BaudRate = 9600;
port.DataBits = 8;
port.Parity = Parity.None;
port.StopBits = StopBits.One;
port.ReadTimeout = 500;
port.WriteTimeout = 500;
port.Open();
// create modbus-rtu master
master = ModbusSerialMaster.CreateRtu(port);
int slave_id = 1;
int reg_addr = 10;
//读取多个holding寄存器
ushort[] vals = master.ReadHoldingRegisters(slave_id, reg_addr, 2);
if (vals == null)
{
}
else
{
}