365彩票

  • <tr id='C6aGYv'><strong id='C6aGYv'></strong><small id='C6aGYv'></small><button id='C6aGYv'></button><li id='C6aGYv'><noscript id='C6aGYv'><big id='C6aGYv'></big><dt id='C6aGYv'></dt></noscript></li></tr><ol id='C6aGYv'><option id='C6aGYv'><table id='C6aGYv'><blockquote id='C6aGYv'><tbody id='C6aGYv'></tbody></blockquote></table></option></ol><u id='C6aGYv'></u><kbd id='C6aGYv'><kbd id='C6aGYv'></kbd></kbd>

    <code id='C6aGYv'><strong id='C6aGYv'></strong></code>

    <fieldset id='C6aGYv'></fieldset>
          <span id='C6aGYv'></span>

              <ins id='C6aGYv'></ins>
              <acronym id='C6aGYv'><em id='C6aGYv'></em><td id='C6aGYv'><div id='C6aGYv'></div></td></acronym><address id='C6aGYv'><big id='C6aGYv'><big id='C6aGYv'></big><legend id='C6aGYv'></legend></big></address>

              <i id='C6aGYv'><div id='C6aGYv'><ins id='C6aGYv'></ins></div></i>
              <i id='C6aGYv'></i>
            1. <dl id='C6aGYv'></dl>
              1. <blockquote id='C6aGYv'><q id='C6aGYv'><noscript id='C6aGYv'></noscript><dt id='C6aGYv'></dt></q></blockquote><noframes id='C6aGYv'><i id='C6aGYv'></i>
                关注官方微』信

                EN

                EN.

                产品中心

                产品中心

                RTU做主站的Modbus网关

                发布时间:2019-09-17 作者:上海卓岚 浏览量:7556
                1.RTU做主站的问题

                通常来说Modbus网关的网口接主站,网口采用Modbus TCP协议,串口接各种RS485的仪表,串口采用Modbus RTU协议。但是也有少◆量情况是串口的(RS485)作为主站需要获得Modbus TCP从站的数据,如※下图所示:

                RTU做主站的结构示意图

                由于Modbus RTU和Modbus TCP的寻址方式不同,普通〖的方式无法实现这种功能。RTU一般通过Modbus RTU指令的卐第一个字节作为站地址,比如01 03 00 00 00 01 84 0a 的第一个字节01就是指查询站地址1,所有RS485总线上非01地址的设备都不会应答。但是当Modbus TCP协议由于采用TCP连接作为绑定主站和从站的纽带,不再需要从站地址的概念,只要是发给Modbus TCP从站ζ的查询,它都会做应答。它忽略了01这个站地址字节,实际上Modbus TCP采用的是IP地址作为站号的识别。

                普通的方式RTU主站的查询过程如下:

                1.首先6路Modbus网关的(2个ZLAN5143×1路和1个ZLAN5443D×4路)分别配置连接到6个Modbus TCP从站,地址分别为192.168.1.61、192.168.1.62、192.168.1.63~192.168.1.66。Modbus RTU主站的RS485和6路Modbus网关的RS485连接在㊣一起。

                2.Modbus RTU主站PLC向RS485总线【发送指令3d 03 00 00 00 01 81 36。

                3.所有的6路Modbus网关都会收到3d 03 00 00 00 01 81 36,并且都转化为Modbus TCP格式的◢数据○00 00 00 00 00 06 3d 03 00 00 00 01,分别发给192.168.1.62、192.168.1.63~192.168.1.66。

                4.虽然00 00 00 00 00 06 3d 03 00 00 00 01指令里面也有3d这个地址字段(十六进制3d就是61),但是每个Modbus TCP从站不会关心这个站地址,所有的从站都会给出应答。

                5.6路Modbus网关几乎同时收〖到Modbus TCP从站的应答,并同时发送到RS485总线,产生了总※线的冲突,数据错乱。

                以上方案的最终结果是由于数据冲突和无法使用。

                2.RTU做主站的方案

                根据上一■节的分析关键的问题在于Modbus TCP和RTU的从站识别方式不同,前者是IP地址,后者是站地址。我们无法修改RTU主站PLC的协议也无法修改Modbus TCP从站的协议。所以需要在Modbus网关内部做这种地№址转换。

                具体的实现方法♂是:将Modbus TCP从站的IP地址的最后一个字段作为Modbus RTU的站地址。所以为了访问192.168.1.62、192.168.1.63~192.168.1.66,RTU主站发送的指令应该分别◎对应站地址61、62、63~66,即:3d 03 00 00 00 01 81 36、3e 03 00 00 00 01 81 05等。

                Modbus网关㊣ 在收到RS485总线指令后会识别站地址,如果站地址和自己连接的Modbus TCP的IP地址最后一︾个字段相同则转发,否则不做转发。也就是需要有一个小的定制功能。

                有了这个定制功能后,再按々照之前的通讯步骤运行时,由于现在只有一路Modbus网关转发了数据,相应的也就只有一路返回数据转发◤到RS485总线上,避免了冲☉突。

                3.具■体实现步骤

                为了实现这个小的定制功能,需要从卓岚那边获得“RTU做主站”的配置文□件,将其下载∴到设备内部,重新上电即可。

                4.多目的连接

                在▓实际的使用场合中有比图1更为有效的方法,即每个Modbus网关可以连接6个目的IP,所以以上图》1,只需→要一台ZLAN5143即可实现,只不过需要配置额外的5个目的IP分别连接到192.168.1.62、192.168.1.63~192.168.1.66。

                “RTU做主站”的定制功能会识别连接↓的IP地址,目的IP地址最后一个▅字节和RTU从站地址▲不同不会转发,所以也可以用单台Modbus网关实现6个Modbus TCP从站的查询。