本
文
摘
要
RS-485是物理接口,被认为是首选的串行接口,现在大多数采用两线制,一般采用屏蔽双绞线传输(RVSP2*1.0),接口连接器采用DB-9的9芯插头座,总线拓扑结构,一般采用主从通信方式,即一个主机多个从机。
电脑背后的接口
485串口是从RS-232 、RS-422等串口基础上发展而来,中央空调的冷水机组一般采用RS-485接口居多。理论最大传输距离1219米,当然加中继器还可延长通信距离到10km,有时要加终端电阻。在实际中很少超过200米应用场景。当然距离太远通讯速度就低了。
很多人说485协议或者Modbus接口,其实意思大家都懂,只是表达得不太准确,一般而言485接口指的是物理接口,属于硬件,而Modbus协议是语言,属于软件,冷水机组厂家都能够提供485接口、Modbus协议的通讯方式给BA系统集成。
1、485接口都支持哪些协议呢?
RS485是物理层,不是通讯协议,以RS485为物理层的通讯协议有很多,例如:Modbus RTU/ASCII,西门子的PROFIBUS DP , PA, MPI ,PPI 等等。当然最最常用的就是Modbus-RTU。
2、Modbus又是什么?
Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。
Modbus的工作方式是请求/应答,每次通讯都是主站先发送指令,可以是广播,或是向特定从站的单播,从站响应指令,并按要求应答,或者报告异常。当主站不发送请求时,从站不会自己发出数据,从站和从站之间不能直接通讯。
3、Modbus协议支持哪些接口呢?
Modbus可以支持多种电气接口,如RS-232、RS-485等,还可以在各种介质上传送,如双绞线、光纤、无线等。
当然ModbusRTU/ASCII所用的物理接口是串口,另有Modbus Plus不太常见,还有Modbus TCP则通过以太网口了,就是我们电脑常见的网口(电脑上一般也有232串口),没有传输距离的限制。
4、Modbus RTU和 Modbus TCP有什么不同
Modbus协议属于应用层(OSI模型第7层)协议,TCP协议属于传输层(OSI模型第4层)协议,两者层级不是并列关系。
打个比喻,Modbus协议就像公司里的总经理,TCP协议就像公司里的轿车、商务车。某天总经理要到机场去乘飞机,他可以选择:1)自己开轿车去,2)让司机开商务车送去,3)搭的士/公交车过去。若选择1),那就是总经理-轿车的关系,Modbus TCP协议就形同这种关系。若选择3),就形同另外的Modbus RTU/ASCII协议的关系。
我们可以看到最常用Modbus协议总共有以下四种:Modbus ASCII, Modbus RTU, Modbus Plus,Modbus TCP;
Modbus家族
4.1 Modbus ASCII
当设备设置为使用ASCII(美国信息交换标准代码)模式在MODBUS串行线上进行通信时,消息中的每个8位字节将作为两个ASCII 4位字符发送。当物理通信链路或设备的功能不允许符合RTU计时器管理要求时,使用此模式。 所以此模式的效率不如RTU,因为每个字节需要两个字符。示例:字节0x7D编码为两个字符:0x35和0x42(在ASCII表中为0x37 =7,而0x44 =D)。
4.2 Modbus RTU
Modbus RTU是一种紧凑的,采用二进制表示数据的方式;因为使用二进制编码和CRC错误检查的结合使得Modbus RTU适用于工业应用,因为它比ASCII字符的替代方案更有效地传输。 在Modbus RTU与ASCII之间进行选择时,如果考虑性能,则RTU是首选。
4.3 Modbus TCP
Modbus TCP 是在TCP/IP网络上运行的Modbus的实现,旨在允许Modbus ASCII / RTU协议在基于TCP / IP的网络上传输。Modbus / TCP将Modbus消息嵌入TCP / IP帧内。尽管实现起来非常简单,但是与网络相关的特性增加了一些挑战。例如,由于Modbus主机期望并要求在一定时间范围内对其轮询做出响应,因此必须考虑TCP / IP网络的不确定性(和其他方面)。 Modbus ASCII和Modbus TCP之间的主要区别在于,Modbus ASCII所需的LRC错误检查由IP层执行。
“ 对于以上TCP/RTU/ASCII的这三种通信协议在数据模型和功能调用上都是相同的,只有封装方式是不同的。
4.4 Modbus Plus
Modbus有一个扩展版本Modbus Plus(Modbus+或者MB+),不过此协议是Modicon专有的,和Modbus不同。 它需要一个专门的协处理器来处理类似HDLC的高速令牌旋转。它使用1Mbit/s的双绞线,并且每个节点都有转换隔离设备,是一种采用转换/边缘触发而不是电压/水平触发的设备。连接Modbus Plus到计算机需要特别的接口,通常是支持ISA(SA85),PCI或者PCMCIA总线的板卡。[^1]
4.5 Modbus rtu和Modbus tcp两个协议的本质都是MODBUS协议,都是靠MODBUS寄存器地址来交换数据;但所用的硬件接口不一样,Modbus TCP基于以太网和TCP/IP协议,Modbus RTU和Modbus ASCII则是使用异步串行传输(通常是RS-232/422/485)。现在市场上有很多协议转换器,可以轻松地将这些不同的协议相互转换。
4.6 Modbus RTU的485串口方式通信速度不能太快,一般采用主从召唤的方式采集各子单元的数据,即主单元依次召唤各子单元,召唤到哪个单元哪个单元上传数据,总线的使用权完全由主单元分配,各子单元不能擅自占领总线。如果系统的单元多,主单元循环采集一周的时间就很长,子单元信息变化时不能及时发送给主单元,导致系统对突变事件的反应处理速度慢。RS485就其通讯的本质还是RS232通讯的机制,只是解决了通讯距离短,不能多台设备联网的问题,但是通讯速度慢的问题还是存在。
可以采用两芯双绞线、两芯屏蔽线等。在低速、短距离、无干扰的场合可以采用普通的双绞线,反之,在高速、长线传输时,则必须采用阻抗匹配(一般为120Ω)的RS485专用电缆(STP-120Ω(用于RS485 & CAN)一对18AWG),而在干扰恶劣的环境下还应采用铠装型双绞屏蔽电缆(ASTP-120Ω(用于RS485 & CAN)一对18AWG)。
4.7 Modbus TCP快,没有传输距离的限制,以太网的通讯速度是RS485十倍百倍,随着TCP/IP的技术的更新,将会有更高的速度。
5、中央空调自控系统接口
(1)设备接口
当前的中央空调的换热机组、锅炉、定压补水装置等越来越多采用的是以太网口的Modbus TCP协议,实现高速通讯,但是冷水机组目前不多见。
随着控制器厂商逐渐推动Modbus TCP协议,现在电脑上也逐渐取消了串口,仅保留USB和网口,后续冷水机组等设备接口必将采用Modbus TCP高速接口,当然现有的基础上加网关转为TCP的不算,这样还是假TCP,本质还是485通讯的RTU,同样慢。
(2)自控系统接口
西门子PLC现在标配的均为以太网口Modbus TCP协议,大部分楼宇控制系统也支持这样的接口和协议。
当然中央空调自控系统很多时候也采用OPC协议对外互动。
6、总结
总之,485说的是物理接口硬件,Modbus说的是协议软件,不久将来冷水机组提供的可能不再是485接口了,而是以太网口和TCP协议了。