1.RS485的多主机问题RS485由于是单双工方式的总线,为了防止总线上的竞争一般只能有一台主机,并且采用一次主机询问,一次从机应答的方式。但是有的时候,我们确实需要多台主机去监控多个RS485设备,比如需要两台电脑都可以监控相同的几个RS485设备,而且最好共用RS485总线。 这个问题虽然在实际中经常碰到,但是没有很好的解决。其难点在于,2台主机是完全独立的,那么它们没有协调机制,如果2台主机同时询问从设备,那么必然引起RS485总线上的数据冲突。 2.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串口使用转化为网络,然后再连接。
|
楼主最近还看过