Modbus网关到底是什么?
什么是Modbus网关
Modbus网关就是将Modbus一种协议帧转换为其他协议帧。
比如将Modbus RTU的数据与Modbus TCP数据进行相互转换;也可将主机请求与从机响应进行应用开发以提升协议转换的效率;
比如处理多主机请求的多主机网关,提升多主机请求响应效率的存储型网关,代替主机发起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)+换行符(CR,LF)
几种常见的Modbus网关
以下提到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网关是一种能够将Modubs TCP协议转化为Modbus RTU协议的设备。Modbus广泛应用于仪表和传感器领域,可以获得仪表和传感器的数据,但是传统的基于RS485的Modbus RTU(或ASCII)速度和扩展性较差,所以后来出现了Modbus TCP这种基于网络的协议。所以Modbus网关这种转换器就应运而生了。
一、什么是存储型网关
存储型网关是Modbus网关的一种类型
存储型网关正是为了解决“多主机模式”的缺点而设计的,由于“多主机模式”的慢速问题主要是由于RS485总线返回数据太慢引起的,“存储型”的思路就是通过预先获得某些需要的数据,事先存储起来,等网络端需要数据时可以立即提供,从而减少数据查询时间。
二、存储型网关有两个特点
1、自学习:存储型网关无需配置,因为它可以在主机索要一个查询数据的时候就会将这个记录保存一起,网关内部会自动学习当前网口需要的数据。
2、事先查询:当网关获悉所有主机索要的所有的寄存器之后,网关会事先进行逐条查询,并把结果存储到网关的内部。
如此一来,当主机A想要之前要过的数据的时候,网关会从自己的内存中调取数据,并立即返回给主机A,由于没有转发到RS485总线的过程,这个时间大约在1~2ms,比之前的50~100ms大大提高。
三、存储型网关的优点
1、返回速度快:主机A查询返回数据时间大大提高。
2、无需配置:由于采用自学习方式,无需配置,操作起来和“多主机模式”并没有差别。
四、存储型网关的问题
1、首条指令返回慢:由于网关是通过学习来获得主机索要的寄存器号的,在获得这个信息前,无法事先查询。所以主机发送的第一条指令仍然需要通过转到RS485总线来获得数据。首条指令返回和多主机模式一样慢。
2、RS485总线查询过快可能影响设备工作:由于一般默认情况下RS485总线会以最快速的速度查询从站设备内部的寄存器内容,而某些仪表可能无法适应这么快速的查询导致设备工作异常。对于这点实际可以加大“RS485总线空余时间”参数来解决查询过快的问题,实际是可以解决的。
3、不是最新数据:由于数据是事先查询获得,存储起来的,所以查到的数据可能并不是最新的数据,虽然这个时间也就只有几百毫秒,对于某些特殊情况也需要考虑到这种延时。
4、时序问题:某些Modbus TCP的读取和存储需要按照写、读等时序操作的,“存储型”的这种预先存储会打乱这种时序,会引起某些设备无法兼容的问题。
这里的缺点2、3、4都可以撤回到“多主机模式”的网关来解决这个问题,注意撤回到“多主机模式”后,数据返回会变慢。注意ZLAN5143的新固件支持“多主机模式”和“存储型”两种模式。而上述缺点1(首条指令返回慢),将会在后面的“可配置”网关中解决。
ZLAN5142不支持“存储型”,ZLAN5143设置为“存储型”的方法为:在ZLVircom配置工具的“设备编辑”界面中选择转化协议为“Modbus TCP转RTU”即可。
相关问答
哪位朋友!在线等!急急急!请问 modbus网关 是什么?,Modbus网关...[回答]在研威,我们采用最完整的质量管理体系和生产流程,我们一直积极地寻求创新,拥有优秀的专业人才,完善的管理制度。从产品报价到完整的合同签订并交付...
串口服务器和 Modbus TCP/RTU 网关 是同一回事吗?不是一回事,串口服务器的作用是把RS/232/422/485串口转换为以太网RJ45口,通过配置软件设置IP地址后,很容易接入以太网,但它没有进行协议转换。AnybusAB9005...