rs多个设备同时传输_工控网络传输媒介之RS485

RS-485是工控领域的主流通信技术,广泛应用于Modbus, Profibus等协议。它通过差分电平改善抗干扰能力,允许长距离传输。采用Master-Slave模式避免数据冲突,但面临设备增加、安全问题等挑战。" 113008859,10536381,Go语言实现下载文件进度:io.TeeReader与分段读取,"['Go语言', 'io reader']
摘要由CSDN通过智能技术生成

        紧接4-20mA电流环和RS-232,今天聊一下RS-485。毫不夸张的说,RS-485绝对是工控领域的扛把子。应用到底有多普遍?举个例子,目前支持RS-485的工控协议,包括且不限于Modbus, Profibus, CAN bus, Foundation Fieldbus, Siemens S7等等等等。可以这么说,凡是涉及工控总线(bus)的,那基本就得跟RS-485有点关系。工控领域,RS-485才是那个一直被挑战,从未被超越的江湖大佬。

P.S.: 别看川普总统最近很忙,又是封杀Tiktok、Wechat,又是拆除华为设备,有本事你把RS-485总线封杀了,设备全部拆除,那才是真牛逼。

(接上一篇)

(2)RS-485

RS-485也是一种串行通信技术,主要是为了改进RS-232的技术缺点(如传输速率低、通信距离短、点对点通信等)而制定的,标准确定年份是1998年,技术诞生时间更早(具体我也不知道,推测可能在上世纪七八十年代,因为我博导的博士论文做的是总线实时通信与建模,毕业时间1989年)。

上篇提到RS-232也是串行通信,有一根RX用于接收数据,一根TX用于发送数据,外加几根辅助信号线。RS-485总线也采用两根线(俗称双绞线,绞在一起是为了降低两根线之间的串扰噪声,以及工控环境中的电磁干扰噪声)进行数据通信,分别用A,B来表示。只不过,比特‘0’、‘1’不再用单纯的高低电平表示,而采用差分电平,如表1所示。注意:接的时候,A和B别接反了;线接反了,数据也就反了。

虽说如此,但是关于哪根信号线是A,哪根信号线是B的问题,目前已经变得非常混乱。甚至,部分公司的官方数据手册,采取了与RS-485标准完全相反的定义方法,即A定义成了B,B定义成了A,傻傻分不清楚。因此,在一个工控应用中,使用不同厂家产品的时候需要特别注意;建议按着一家的产品买,别给自己找麻烦。

表1 RS-485信号表示方法

信号线

比特‘1’

比特‘0’

A

低电平

高电平

B

高电平

低电平

在RS-485的接收端,比特‘0’与‘1’的判断标准如下(RS-485标准定义,部分厂家是反过来的,取决于哪根线定义成了A,那根线定义成了B)。而RS-485发射机的高低电平一般为±5V。差分信号改善了RS-485总线对工控电磁干扰的抵抗能力,因此传输距离也比RS-232有了很大的提升。

905f2436c6d2c5fe4f327ef3199d09de.png

e5d6a418015f58b6551b1a6cec6e1ace.png

上一个RS-485收发机实物图,见图1。咋样?是不是非常简单,几块钱就可以买一个。右下角是RS-485接口,A,B,电源和地,左上角接单片机的UART和I/O,就可以DIY一个支持RS-485通信的工控设备。这也是为啥RS-485在工控领域,可以经久不衰——简单、实用、还便宜。单凭便宜这一点,就可以吊打TSN,5G,wireless等一众后期之秀。

00bf65d7a03c59074bdfb1d92785e9e9.png

图1RS-485收发机模块

那么如何利用RS-485总线连接工控设备,实现数据传输?见图2,基本上A,B别认反了,把线接上就行了,非常简单。另外,一般会在总线的两头,接120欧的电阻(不用很准,最便宜的那种就行),降低RS-485信号的反射干扰。

a5dc7aa8a388e56ba99eea18648374e3.png

图2RS-485总线示意图(图不是我画的)

这种接法,大家可能也发现了问题所在。因为A,B两个线是多个RS-485设备共享的,那如果它们同时发送数据,信号之间不就相互干扰了?非常正确!这时候就用到了古老的Master-Slave模式。也很简单,就是有一台设备充当Master,其它设备都是Slave。Master说了算,它说谁发数据,谁就发数据,其它Slave的都听着。一般Master会产生一个令牌(Token),它想让谁发,就会把这个令牌发给谁。那令牌是咋实现的?也是通过数字信号来实现的。比如,大家约定好,‘10101010 0101 0101+设备地址+校验’是令牌帧,那收到令牌帧的Slave,检查一下设备地址是不是跟自己匹配,匹配的话就可以开始发送数据了。这种方式,最大的好处就是,资源统一调配,保证了通信的时延、丢包、误码等都是确定性的(俗称deterministic communication)。这一特性,让RS-485总线,在工控领域混的风声水起,丝毫没有退位让贤的意思。

当然,RS-485总线也不是完美的。一方面,作为一个有线技术,离不开A、B这两根线,布线是需要钱的,尤其是面对大范围、连接多个设备的需求;厂房新建的时候往往还好,后期升级改造比较要命(可以参见房子重新装修)。当然,所有有线技术都有这个问题。另一方面,就是添加新设备、或者有设备故障需要退出时,为了满足工控实时性等方面的需求,通常需要对整个总线进行重新配置等等。

另外,在工业互联网的大背景下,工控安全问题也逐渐凸显。在RS-485总线里, A、B两跟线是共享的,设备通信需要遵循 一定的规则,但是如果有设备遭受攻击,打破了既定规则怎么办?比如说,有设备不等拿到令牌,就开始发送数据,并且不停的发,恶意干扰其它设备的通信。因为媒介是共享的,很难发现具体是那台设备出问题了;发现了,也不容易从技术上解决,只能派人去把线剪了。

最后,不罗嗦。按惯例,总结一下RS-485总线的技术指标:

(1)传输速率:< 10 Mbps

(2)传输距离:1200米

(3)部署经验法则:传输速率(bps) X 传输距离 (米) < 108

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值