0 工具准备
Modbus协议规范(中文)
1 基于RS-485的Modbus协议的物理层实现
Modbus协议的物理层实现可以通过RS-485、RS-232、RS-422来实现,不过通常都是用RS-485作为Modbus协议的物理层实现。有关RS-485、RS-232、RS-422的区别如下:
注:
(1)4000英尺约为1219.2米
(2)RS-485是半双工收发接口,RS-422和RS-232都是全双工收发接口。
1.1 RS-485标准由来
电子工业协会(EIA)于1983年制定并发布了RS-485标准,并经过通讯工业协会(TIA)修订后命名为TIA/EIA-485-A,习惯地称之为RS-485标准。
RS-485标准是为了弥补RS-232通信距离短、速率低等缺点而产生的。RS-485标准只规定了平衡发送器和接收器的电特性,而没有规定接插件、传输电缆和应用层通信协议。
1.2 RS-485接线
一般来说,RS-485总线仅使用2根信号线(A和B)来进行数据传输,RS-485总线上包含一个主机和若干个从机(一主多从),从站之间通过手拉手的方式连接起来:
注:
同一时刻,RS-485总线上仅允许一个设备发送数据。
1.3 RS-485信号定义
RS-485数据信号采用差分传输方式(也称为平衡传输),使用一对双绞线,其中一根线定义为A,另外一根线定义为B。如下图所示:
电平定义:
(1)逻辑“1”:
A-B的电压在+2~+6V范围内时为逻辑“1”
(2)逻辑“0”:
A-B的电压在-2~-6V范围内时为逻辑“0”
1.4 RS-485的网络拓扑
为了保证RS-485的信号质量,基本都使用手拉手形式连接各个从机。在使用RS-485构建网络时需要注意以下几点:
(1)采用一条双绞线作为总线,将各个节点串接在一起,从总线到每个节点的引出线长度要尽可能短,以便使引出线中的反射信号对总线信号影响最小
(2)注意总线特性阻抗的连续性,在阻抗不连续点会发生信号的反射。以下几种情况容易产生这种不连续性:总线的不同区段采用了不同电缆,或某一段总线上有过多收发器紧靠在一起安装,再者就是过长的分支线引出到总线。总之,应该提供一条单一、连续的信号通路作为总线。
1.5 RS-485的网络节点数
RS-485网络节点数和所选择的RS-485芯片的驱动能力及接收器输入阻抗有关,在实际使用过程中要根据线缆长度、线径、网络分布、传输速率保证节点数合理。
1.6 RS-485匹配电阻
为了匹配网络的通讯阻抗,减少不匹配引起的反射、吸收噪声,有效抑制干扰,提高RS-485通讯的可靠性,可以在RS-485网络的2个端点各安装1个终端匹配电阻,终端匹配电阻的大小由传输电缆的特性阻抗决定。
例如,RS-485网络通常采用双绞线或屏蔽双绞线作为传输介质,其特性阻抗为120Ω。因此,RS-485总线上的两个端点也应该各安装1个120Ω的终端匹配电阻(非必须)。