C#中NModbus4中常用的方法
NModbus4 是一个用于 Modbus 协议通信的 C# 库,它支持串行 ASCII、RTU、TCP 和 UDP 协议。以下是 NModbus4 中常用的一些方法:
-
创建连接:
ModbusSerialMaster.CreateRtu(SerialPort serialPort)
: 创建一个 RTU 串行连接。ModbusSerialMaster.CreateAscii(SerialPort serialPort)
: 创建一个 ASCII 串行连接。ModbusIpMaster.CreateIp(TcpClient client)
: 创建一个 TCP IP 连接。
-
读取操作:
ReadCoils(byte slaveID, ushort startAddress, ushort numOfPoints)
: 读取线圈状态。ReadInputs(byte slaveID, ushort startAddress, ushort numOfPoints)
: 读取输入状态。ReadHoldingRegisters(byte slaveID, ushort startAddress, ushort numOfPoints)
: 读取保持寄存器。ReadInputRegisters(byte slaveID, ushort startAddress, ushort numOfPoints)
: 读取输入寄存器。
-
写入操作:
WriteSingleCoil(byte slaveID, ushort coilAddress, bool value)
: 写入单个线圈。WriteMultipleCoils(byte slaveID, ushort startAddress, bool[] data)
: 写入多个线圈。WriteSingleRegister(byte slaveID, ushort registerAddress, ushort value)
: 写入单个寄存器。WriteMultipleRegisters(byte slaveID, ushort startAddress, ushort[] data)
: 写入多个寄存器。
-
设置超时和重试:
master.Transport.ReadTimeout
: 设置读取超时时间。master.Transport.Retries
: 设置重试次数。
-
从站(Slave)方法:
ModbusTcpSlave.CreateTcp(byte slaveID, TcpListener listener)
: 创建 TCP 从站。slave.Listen()
: 从站开始监听请求。
-
事件订阅:
slave.ModbusSlaveRequestReceived
: 从站收到请求时触发的事件。slave.WriteComplete
: 从站写入操作完成时触发的事件。
-
数据存储操作:
slave.DataStore
: 访问从站的数据存储,可以进行读写操作。
-
自定义消息:
master.Send<ushort>(AdpuHeader header, byte[] message)
: 发送自定义 Modbus 消息。