Modbus协议定义了一个与基础通信层无关的简单协议数据单元(PDU)由功能码(1Bit)+数据(n Bit)组成;
Modbus RTU数据帧:采用16进制进行编码,包含地址域(1Bit)+PDU+CRC校验(2Bit);
Modbus TCP数据帧:采用16进制进行编码,包含事务处理标识符(2Bit)+协议标识(00 00:2字节,表示Modbus RTU协议)+长度(2Bit)+地址域(1Bit)+PDU;
Modbus ASCII数据帧:采用ASCII进行编码,包含起始符(‘:’)+地址码(2 Bit)+数据(0到2*255 Bit)+ LRC校验(2Bit)+换行符(CR,LF)
以下提到Modbus网关均指Modbus RTU转Modbus TCP,并不涉及对Modbus ASCII数据帧的处理,Modbus ASCII仅支持透明传输。
1.简单协议转换
最常规也是最普遍的Modbus网关功能,简单协议转换是数据处理效率最高Modbus网关模式,它只是提取数据中的关键字段,再以另一种协议对提取数据进行编码(Modbus RTUModbus TCP)发送。
2.多主机网关
多主机网关仅能工作在TCP服务器模式下,可同时处理多台Modbus TCP的主机请求,串口服务器在一个主机请求未完成时有收到了其他的主机请求此时串口服务器会在RS485总线上进行仲裁输出(通俗的讲就是对后来的指令进行阻塞)。
3.存储型网关
首先需要明白的是串口的通讯速率是远低于网口,主机在请求RTU设备通常只处理几个寄存器,“存储型网关”就是应用于这种工作环境。
4.主动上报
主动上报是针对TCP主机并不支持Modbus协议仍想查询RTU设备而开创的一种无主机请求返回数据的模式,在此模式中网关直接作为主机自动对连接的RTU设备发起请求,并将RTU设备返回结果直接上传值服务器,服务器只需要对返回数据解析即可,主动上报仅支持客户端模式。主动上报支持两种格式的数据帧返回(Modbus RTU与Modbus TCP格式),在此模式下仅支持处理Modbus数据帧非Modbus数据帧不处理。
modbus网关的作用:
modbus网关是工业自动化系统的一个网络集线器通信协议转换设备,下与智能仪表连接,将下位仪表的数据采集到modbus网关,上与计算机网络连接,按Modbus Tcp协议规约与网络计算机通信。
Modbus网关又有存储型和普通型两种,与普通的Modbus相比存储型Modbus可以将读取的寄存器的内容保存在网关内部,这样Modbus TCP查询的速度可以大大提高,支持多主机访问时性能更加优越。
Modbus具有的几个特点:
1、标准、开放,用户可以免费、放心地使用Modbus协议,不需要交纳许可证费,也不会侵犯知识产权。目前,支持Modbus的厂家超过400家,支持Modbus的产品超过600种。
2、Modbus可以支持多种电气接口,如RS-232、RS-485等,还可以在各种介质上传送,如双绞线、光纤、无线等。
3、Modbus的帧格式简单、紧凑,通俗易懂。用户使用容易,厂商开发简单。
星创易联工业智能网关产品为工业企业提供从设备联网、PLC远程监控、PLC远程控制、PLC远程调试、PLC远程编程、PLC数据采集整体解决方案。