RS485的多主机解决方案 点击:2037 | 回复:1



谢谢你的爱1999

    
  • [版主]
  • 精华:1帖
  • 求助:12帖
  • 帖子:717帖 | 3886回
  • 年度积分:977
  • 历史总积分:161101
  • 注册:2013年4月29日
发表于:2017-05-24 16:54:51
楼主

              


1.RS485的多主机问题

                 

  RS485由于是单双工方式的总线,为了防止总线上的竞争一般只能有一台主机,并且采用一次主机询问,一次从机应答的方式。但是有的时候,我们确实需要多台主机去监控多个RS485设备,比如需要两台电脑都可以监控相同的几个RS485设备,而且最好共用RS485总线。

                 

  这个问题虽然在实际中经常碰到,但是没有很好的解决。其难点在于,2台主机是完全独立的,那么它们没有协调机制,如果2台主机同时询问从设备,那么必然引起RS485总线上的数据冲突。

                 

2.RS485多主机解决方案

                 

RS485多主机

                 

图1. RS485多主机方式

                 

  由于RS485总线本身的问题,用RS845无法解决以上冲突问题。使用转换器(如上图转换器1所示)可以先将RS485信号转换为网络(TCP/IP)信号。由于网络信号本身能够处理,所以可以很好的解决RS485总线的冲突问题。

                 

  虽然从设备这端仍然是RS485,但是没有关系,它能够将接收的多个主机的数据进行排队,数据会暂时缓存在ZLAN5142内部,而不会从串口同时输出到RS485上。它支持同时100个TCP连接访问。

                 

  数据缓存功能是解决以上RS485多主机问题的关键因素,但是这还不能够完全解决问题,这是因为多主机还涉及到更为复杂的针对特定协议等待时间的定制化的排队机制。这也是就说普通的串口转以太网转换器是无法实现多主机RS485功能。

  如果主机是计算机,那么实现方法上基本上有3种方式:(1)将原来的打开COM口的串口通信方式改为TCP/IP的网络通信方式,(2)将原来的基于RS485的Modbus RTU协议改为使用Modbus TCP协议,(3)最快捷的方式是在多台主机上使用虚拟串口,这样用户的原来的串口软件无需修改即可使用。

                 

  如果主机是RS485设备,那么首先将多个主站RS485串口使用转化为网络,然后再连接。

 


1分不嫌少!


楼主最近还看过



Duke

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 7回
  • 年度积分:0
  • 历史总积分:57
  • 注册:2018年4月07日
发表于:2018-04-07 20:34:57
1楼

以太网没法满足实时性,而且网线布线会很麻烦发,大家如果有见过线槽里面成百上千条网线,就应该能理解我的意思,而且网线也没法解决冲突问题,还是要靠交换机来避免冲突,所以最终的结果就是一堆的网线、一堆的交换机。


所以反而是应该用 RS485 来替代网线,而不是用网线代替 RS485,然而对于 RS485 多主冲突的问题,CDBUS 协议就可以完美解决,很简单的就实现了多主对等通讯,而且速率可以达到 10Mbps 及以上,有人拿来传视频都没有问题。



热门招聘
相关主题

官方公众号

智造工程师