3.1 Modbus通讯协议

Modbus是一种串行通讯协议,是Modicon公司(现在的施耐德电气 Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式。Modbus协议目前存在用于串口、以太网以及其他支持互联网协议的网络的版本。

本控制器支持Modbus的Modbus-RTU、Modbus-TCP两种协议,并且支持控制器本机作为服务端、客户端两种模式。

Modbus协议规定由主站(客户端)发送指令包,并直至从站(服务端)回报为一次完整的通信过程。Modbus数据帧分为ASCII帧和RTU帧两种,ASCII帧数据帧格式如下

服务端ID功能码数据内容LRC校验
2 Bytes2 Bytesn Bytes2 Bytes

在RTU通信中Modbus客户端发送的两个指令包需要间隔至少3.5个字节时间。RTU帧数据帧格式如下

服务端ID功能码数据内容CRC校验
1 Bytes1 Bytesn Bytes2 Bytes

Modbus协议中,功能码如下

功能码功能作用
0x01读线圈寄存器取得一组逻辑线圈的当前状态(ON/OFF)
0x02读离散输入寄存器取得一组开关输入的当前状态(ON/OFF)
0x03读保持寄存器在一个或多个保持寄存器中取得当前的二进制值
0x04读输入寄存器在一个或多个输入寄存器中取得当前的二进制值
0x05写单个线圈寄存器写入一个逻辑线圈寄存器
0x06写单个保持寄存器写入一个保持寄存器
0x0f写多个线圈寄存器写入一组连续逻辑线圈寄存器
0x10写多个保持寄存器写入一组连续保持寄存器

详细Modbus协议规范请访问Modbus组织官网下载查看。

在LCC控制器中,Modbus配置的详细方法参见通道文件配置