之前的文章中讲到ModBus协议是工业应用中应用最广泛的协议。在ModBus协议系统中,主机一般为PLC、HMI、组态软件等设备,但是在一个略微复杂的系统中,通常会存在多个主机同时存在的情况。由于通信线缆一般是RS485,半双工的特性导致多个主机同时采集数据时,会有较大的数据延迟。(因为同一时刻只能有一个主机或从机在发送数据,否则会造成数据冲突,形成乱码)
因此主机在通信时一般会采用网口进行,这样会保证数据的及时性。上一节给大家讲到串口服务器可以将网口数据转换为串口数据进行通信,这样在保证了全双工通信的同时,又可以将数据接入互联网,这样大大提高通信距离。
虽然网线上可以做到全双工(发送和接收同时进行),但是针对低延迟的应用场景,这样一对一的通信优势不是很明显,今天给大家讲到一个特色功能-多主机网关模式。
Modbus多主机网关支持多台Modbus TCP主机同时操作RTU设备,利用TCP/IP协议通讯打破RTU数据总线上同时只能存在一台主机的限制。
简单协议转换模式只适用于单一主机用于与从机通信的场景,因为串口服务器只是将数据做了转换,并且串口的数据会广播给全部主机。如果遇到多个主机同时发送数据时,串口服务器会将数据直接进行发送,这样就会造成通讯超时或数据异常。
多主机网关模式与简单协议转换比起来,针对多主机同时发送数据场景,做了单独的数据处理。例如在主机1、2、3发送数据时间较短时,串口服务器将把请求的数据拦截在网络端,数据将会按照先后顺序将指令发送给串口设备,此时串口设备收到数据后将数据返回给主机,并且是哪个主机请求数据就会将数据指定发送给哪个主机,这样就会避免出现通信异常现象,提高通信的可靠性。
下面主要给大家介绍一下多主机网关的应用方法,优于主机端操作各有各的特色,本处只使用Modbus Pool与Modbus Slave作为展示,PLC、HMI等参照此进行链路连接。
串口服务器如何配置多主机参数在《串口服务器如何配置多主机采集控制RTU设备教程》一文中已经做出了讲解,在本节不再单独介绍。
使用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个主机,如下图。
今天的分享就到这里啦,太阳集团tcy8722人每一天都致力于更好的助力物联化、智能化、自动化的物联网应用发展,提升资源利用率,更多产品更多资料,感兴趣的小伙伴可以登录我们的官网进行了解,还有客服在线答疑哦!
相关文章推荐:
7 X 24 销售服务热线
4000-330-990深圳办事处柯经理:18218726658 杭州办事处戴经理:17512568697
常州办事处崔经理:15906110783 南京办事处葛经理:17626012283
业务邮箱:support@cdhanzaichips.com
全国销售投诉电话:19934352316
地址:四川省成都市高新西区西区大道199号B5栋(前台座机:028-61543675)
©© 成都太阳集团tcy8722电子科技有限公司【版权所有】 蜀ICP备27697263号-3