Modbus主站(Master)
定义
命名空间:TouchSocket.Modbus
程序集:TouchSocket.Modbus.dll
一、说明
Modbus
是OSI模型第7层上的应用层报文传输协议,它在连接至不同类型总线或网络的设备之间提供客户机/服务器通信。
自从 1979 年出现工业串行链路的事实标准以来,Modbus
使成千上万的自动化设备能够通信。目前,继续增加对简单而雅观的Modbus
结构支持。互联网组织能够使TCP/IP栈上的保留系统端口502 访问Modbus
。
所以总结来说Modbus
是一个请求/应答的总线协议。
所以我们开发了这个组件,方便大家使用。
二、特点
- 简单易用。
- 内存池支持
- 高性能
- 易扩展。
- 支持全数据类型的读写。
三、产品应用场景
- 所有
Modbus
使用场景:可跨平台使用。
四、可配置项
无单独配置项。
五、支持插件
无单独支持插件。
六、创建
目前TouchSocket.Modbus
支持Tcp
、Udp
、Rtu
、RtuOverTcp
、RtuOverUdp
等协议。下面会一一介绍创建过程。
6.1 创建ModbusTcpMaster
var client = new ModbusTcpMaster();
await client.ConnectAsync("127.0.0.1:502");
6.2 创建ModbusUdpMaster
var client = new ModbusUdpMaster();
await client.SetupAsync(new TouchSocketConfig()
.UseUdpReceive()
.SetRemoteIPHost("127.0.0.1:502"));
await client.StartAsync();
6.3 创建ModbusRtuMaster
var client = new ModbusRtuMaster();
await client.SetupAsync(new TouchSocketConfig()
.SetSerialPortOption(new SerialPortOption()
{
BaudRate = 9600,
DataBits = 8,
Parity = System.IO.Ports.Parity.Even,
PortName = "COM2",
StopBits = System.IO.Ports.StopBits.One
}));
await client.ConnectAsync();
6.4 创建ModbusRtuOverTcpMaster
var client = new ModbusRtuOverTcpMaster();
await client.ConnectAsync("127.0.0.1:502");