怎样实现 RS485 modbus 几台 多个 主机连接一台从机 ?
结果 : 发现一种设备,叫 modbus 主机代理,又叫mobus 集线器, 可以用多个主机连接一个或多个从机
是RS485总线的。 展开
TS-8515-A
Modbus协议多主机智能管理器
(Modbus协议通讯主机代理器)
依据modbus协议的要求和针对目前的技术现状,提出以下设计方案,目的使modbus多主机通讯更加符合工业通讯实际应用,让此类通讯更加稳定。
解决MODBUS RTU/ACSII通讯中不能有两个上位机的问题。将该模块接到多个主机与从机之间,通过该模块的信号转接,实现两个以上主机同时与多个从机的通讯。
采用主机代理方式:所有modbus主机只直接与代理主机通讯,用四个(或多个)RS485/RS232端口同时与各个modbus主机通讯。
代理主机从堆栈中按先进先出原则分别取出modbus通讯主机命令,向从机总线发送命令。
微处理器从4个(或多个)端口得到modbus通讯主机的命令后,进行CRC校验后,将正确的命令压入堆栈。从端口5得到的返回数据进行CRC校验后,将返回数据传送到对应主机的端口。
发送modbus通讯主机命令时间间隔可以设定,按照工业系统的可靠性和稳定性原则,设计发送命令时间间隔最小时间为250ms。如果系统中有两台modbus通讯主机,则需要设定modbus通讯主机的发送命令时间间隔为500ms(一般默认值)。依次类推。
系统使用堆栈,并且周期取出存贮命令,所以不会造成存贮或数据溢出。
系统的稳定性和可靠性也是预知的。稳定的发送命令时间间隔是可以计算的。
如果发生个别从机故障或者线路故障,系统不会一直处于等待状态,其他的主机和从机仍能正常工作。
此设备已通过实际测试和得到现场应用。
二、技术指标:
电 源:DC9-30V供电
工作电流:DC24V
通讯速率:300-115.2Kbps,默认9600 8 N 1
端口数量:主机端口4个,从机端口1个(RS485总线理论为256节点)。
隔离保护:信号隔离电压5000V;电源隔离 1000V
通讯距离:RS-485/422侧的通讯距离1.5Km
最多节点数:RS-485为128节点
协议标准: RS-485符合TIA/EIA-485-A标准;RS-422符合EIA-422-A标准;支持MODBUS RTU或MODBUS RTU/ACSII协议进行透传,不区分命令。
数据缓冲区:数据缓冲区扩大到8K字节,保证设备有足够的空间接收设备(从机)返回的数据;
命令长度:存贮主机命令的堆栈扩大到4*50条命令,命令长度增加到260个字节;
散热:彻底解决可能存在的散热问题,主芯片增加散热片和导热硅胶。
防护电压:15KV静电保护,600W/ms雷电防护;电磁兼容符合GB/T 17626《电磁兼容 试验和测量技术》中的IEC61000-4-5中关于浪涌测试要求。
尺寸大小:工业导轨槽模块(126mm×90mm×34mm)
工作温度:-45℃~85℃
三、参数配置
通讯采用MODBUS RTU或MODBUS RTU/ACSII协议进行透传,常用的命令均可使用。
默认参数:4个主机端口和1个从机端口的波特率微9600 8 N 1。
1、硬件连接:
A+,B-:接下位机(从设备)
A1+,B1-:接上位机1 (modbus主机)
A2+,B2-:接上位机2(modbus主机)
A3+,B3-:接上位机3 (modbus主机)
A4+,B4-:接上位机4(modbus主机)
2、该模块要设置的参数有:
(1)串口设置:
波特率:可以设置(300~115200bps)
数据据位:8位
停止位:1位
校验:无
波特率:300bps~115200bps常用波特率(出厂设置为9600bps)
(2)下位机最大响应时间:70ms~65535ms(出厂设置为70ms)。在接收主机或者从机的命令过程中,将数据在缓冲区保存,在等待70ms后,没有新数据,就认为该命令结束,然后将数据转发。
485集线器其实是有多路串口的MCU控制器,常见的集线器有两种,一种为透传型,主机下发时,集线器输出的每一路485从机都能收到,根据广播还是带地址发送,完成一对多还是一对一通讯的控制。另一种为非标准型,现在有许多做485集线器的厂家,使用非标准MODBUS协议,要求使用者也根据其协议完成通讯,这样可以完成对后端输出每一路的控制精准控制。归根结底,多对多的485的应用诞生是因为485本身的局限性。因为485通讯只能进行轮询,无法适应复杂的多主机网络以及从站主动上传的问题,近几年出现了新的总线技术POWERBUS,可以透传MODBUS协议,只需两根线即可完成通讯供电,且支持从机主动上报的功能。替代485芯片作为通讯接口,成为了一种新的发展方向。下图是应用POWERBUS总线技术解决现场设备多主问题的一种模型。