|都在谈网关,Modbus网关到底是什么?

|都在谈网关,Modbus网关到底是什么?

什么是Modbus网关Modbus网关就是将Modbus一种协议帧转换为其他协议帧 。
比如将Modbus RTU的数据与Modbus TCP数据进行相互转换;也可将主机请求与从机响应进行应用开发以提升协议转换的效率;
比如处理多主机请求的多主机网关 , 提升多主机请求响应效率的存储型网关 , 代替主机发起Modbus请求的主动上报 。
设备处于Modbus网关模式是为了保证Modbus转换效率对非Modbus数据进行遗弃 , 防止对串口总线产生干扰 。

三种数据帧的差异【|都在谈网关,Modbus网关到底是什么?】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)+换行符(CRLF)
几种常见的Modbus网关以下提到Modbus网关均指Modbus RTU转Modbus TCP , 并不涉及对Modbus ASCII数据帧的处理 , Modbus ASCII仅支持透明传输 。
1.简单协议转换
最常规也是最普遍的Modbus网关功能 , 简单协议转换是数据处理效率最高Modbus网关模式 , 它只是提取数据中的关键字段 , 再以另一种协议对提取数据进行编码(Modbus RTU\uD83E\uDC68\uD83E\uDC6AModbus TCP)发送 。
2.多主机网关
多主机网关仅能工作在TCP服务器模式下 , 可同时处理多台Modbus TCP的主机请求 , 串口服务器在一个主机请求未完成时又收到了其他的主机请求此时串口服务器会在RS485总线上进行仲裁输出(通俗地讲就是对后来的指令进行阻塞) 。
3.存储型网关
首先需要明白的是串口的通讯速率是远低于网口 , 主机在请求RTU设备通常只处理几个寄存器 , “存储型网关”就是应用于这种工作环境 。
4.主动上报
主动上报是针对TCP主机并不支持Modbus协议仍想查询RTU设备而开创的一种无主机请求返回数据的模式 , 在此模式中网关直接作为主机自动对连接的RTU设备发起请求 , 并将RTU设备返回结果直接上传至服务器 , 服务器只需要对返回数据解析即可 , 主动上报仅支持客户端模式 。 主动上报支持两种格式的数据帧返回(Modbus RTU与Modbus TCP格式) , 在此模式下仅支持处理Modbus数据帧非Modbus数据帧不处理 。