上节中讲到串口服务器多主机网关模式与简单协议转换功能配置比起来,针对多主机同时发送数据场景,做了单独的数据处理。例如在主机1、2、3发送数据时间较短时,串口服务器将把请求的数据拦截在网络端,数据将会按照先后顺序将指令发送给串口设备,此时串口设备收到数据后将数据返回给主机,并且是哪个主机请求数据就会将数据指定发送给哪个主机,这样就会避免出现通信异常现象,提高通信的可靠性。
但是这样主机端的读取还是会受限于串口端通信速率(因为网络端速率远高于串口速率),这样在多主机同时读取时,虽然不会引起数据冲突,但是在多个主机同时快速读取的时候,仍然会等到串口端排队处理。
本节给大家介绍到一种针对多个主机读取相同相同寄存器或线圈数据时,给到一种高速率解决方案-存储型网关。存储型网关特别适用于读取固定寄存器内容且适用于多主机高速刷新数据场景。
存储型网关原理上来说,就是在串口服务器内部开辟一块单独的数据暂存区域,将前一个主机读取的内容进行存储,如在指令存储时间内,其余主机再次读取数据,为了减少延迟,串口服务器将在存储区间内将数据直接取出并回复给第二个查询的主机。并且在主机任意查询一次数据后,如串口服务器没有读取其余主机内容(串口总线闲置),将按照读取先后顺序自动轮询历史查询指令。历史查询指令最大可存储50条。
优点在于当主机读取任意指令后,串口服务器会按照轮询时间间隔定时查询历史轮询指令,并将数据一直更新,确保后续查询的指令内容是最新的。当历史存取指令长时间无主机读取,存储时间超过指令存储时间后,会将指令自动清空,避免浪费存储资源。
存储型网关与多主机网关使用方式一致,本处只使用Modbus Pool与Modbus Slave作为展示,PLC/HMI等参照此进行链路连接。
串口服务器如何配置参数在之前已经做出了教程讲解,在本节不再单独介绍。
使用EBYTE网络配置工具查看当前串口服务器参数情况,IP需要修改为与电脑同一网段,设置串口服务器为TCP服务器模式,记录当前本机IP,本地端口。
打开ModBus slave软件模拟从机,连接方式使用串口,选择串口服务器的串口号、连接参数(串口波特率、数据位、校验位、停止位,这里采用默认115200,8N1)
数据返回内容选择从机ID为1,功能码选择03,寄存器地址选择为0,数量为10(稍后读取也为这个参数)。
打开ModBus Pool软件,连接方式选择为ModBus TCP/IP,目标IP设置为串口服务器IP地址,目标端口设置为串口服务器本地端口(192.168.0.113/8887)超时时间可使用默认。
读取参数也选用从机ID为1,功能码选择03,寄存器地址选择为0,数量为10。参照此参数可以连接6个主机,如下图。
今天的分享就到这里啦,EBYTE每一天都致力于更好的助力物联化、智能化、自动化的发展,提升资源利用率,更多产品更多资料,感兴趣的小伙伴可以登录我们的太阳集团tcy8722官网和企业公众号(微信号:cdebyte)进行了解,也可以直接拨打400电话咨询技术专员!
7 X 24 销售服务热线
4000-330-990深圳办事处柯经理:18218726658 杭州办事处戴经理:17512568697
常州办事处崔经理:15906110783 南京办事处葛经理:17626012283
业务邮箱:support@cdhanzaichips.com
全国销售投诉电话:19934352316
地址:四川省成都市高新西区西区大道199号B5栋(前台座机:028-61543675)
©© 成都太阳集团tcy8722电子科技有限公司【版权所有】 蜀ICP备27697263号-3