rs485接口(rs485接口引脚图)

设想直流电源,它的输出端插座接口有三个管脚,分别是正极、负极和接地极。相应地,负载的插头也应当有三个管脚与电源侧一一对应,这样才能正确地获得电能供应。

注意到这里有三个必须满足的条件:

第一是插头和插座管脚的形状、大小和插针直径及长度必须一一对应,否则无法完成接插操作。这一点规定了插头组合的物理结构和管脚定义。

第二是电源的输出电压值必须满足载侧的需求值,否则无法完成电参量的要求。这一点决定了插头组合的电平规范。

第三是电源的输出阻抗与负载的输入阻抗必须匹配,否则不能实现完善的供电。这一点决定了电源的工作性质。

这三点其实就是电源插头组合在物理层面上的规范性协议。

再看通信接口。在有关计算机信息交换的ISO/OSI模型里,物理层是最底层(第一层),它规定了接口的机械外形、接口管脚定义、接口电平和字节格式。

这里的字节格式,指的是一个字节中有几个数据位,有几个起始位/停止位,有几个奇偶校验位。一般地,一个字节有8个数据位,1个起始位(停止位),和1个奇偶校验位。注意:起始位和停止位可以合并。

再看通信接口和通信网络的工作制问题。

当我们拿手机挂电话时,我们发现通信双方在通话的同时也可以接听,这叫做全双工(双向工作制);如果说话的时候不能听,而接听的时候不能说,但任何一方都具有说和听的能力,也就是对讲机的通话型式,这叫做半双工。

rs485接口(rs485接口引脚图)

RS422接口和RS232接口是全双工接口,而RS485则是半双工接口。

对于半双工接口,显然需要有通信的发起者,所以RS485接口和网络一定具有主站和若干从站,并且从站的数量也有规定。一般地,从站的数量是32个。

RS485主站与从站的关系问题,看似只是通信工作制的不同,其本质是通信各方对通信总线控制权的合理分配。

我们再看总线连接的问题。

我们还是以电源为例。我们可以从电源引出一条主干线,然后再并联若干个支路并分别送到若干个负载。只要满足电源的功率要求,显然这是可行的。

如果我们用同样的方法来引出RS485的通信线,是否可行呢?答案是否定的。我们必须从通信主站先引一条线到第一个通信子站,再从第一子站引第二条线到第二子站,如此循环直到最后一个子站。在通信线的终端,还要配一个终端电阻。在这条通信线路上,任何一点如果发生断路,则后续的通信链路上的通信也就断了。这种接线方法形象地被称为菊花瓣连接方法,或者链形连接方法,而电源的接线方法则被称为星形连接方法。

rs485接口(rs485接口引脚图)

几个相关的问题解释一下:

1)有些现场总线,用令牌解决了总线的控制权问题。

大家很容易想到,如果从站有紧急事项需要主站来服务,可是MODBUS规定了轮询规则,等到自己的时候,可能会太迟了。于是许多现场总线就发明了一个特殊的东西,叫做令牌。令牌很短,只有一个字节,它可以很快地在总线上传递。令牌在各站点中传递,谁拿到令牌,谁就是主站,就可以发布信息。如果本站没有事情需要发布,就把令牌交给下一个站点,由此解决了总线占用问题。

2)当链路发生断路时,为了避免出现通信中断,可采用双主站措施。双主站(PLC的两个主站RS485接口)之间用握手线连接,平时主用RS485开通,而辅助RS485浮空。浮空的RS485虽然接在总线上,但它处于高阻态等效于完全脱离。当发生断路时,从站确认后立即开通通信,从链路两头进行连接通信。

有时,还采取环状通信措施。限于篇幅,不做介绍。

3)MODBUS可工作在网络层,此时协议变为MODBUS-TCP,但还是符合主从结构。

4)MODBUS协议是**莫迪康公司发明的,该公司的宗旨是:MODBUS协议为不收费的公开协议。后来莫迪康公司被施耐德公司收购了,施耐德公司继承了莫迪康公司的做法,MODBUS是不收费的公开协议。既然MODBUS已经成为施耐德的协议,施耐德把它延伸到网络层,构建了网络层的MODBUS-TCP协议,以及内部专用的MODBUS-PLUS协议。限于篇幅,对于这两个协议的描述此处从略。

5)关于RS232和RS485的区别

学过模电和数电的人都知道差分电路。差分电路具有共模抑制比,能够消除共模误差。RS485接口就具有此特征。因此RS232接口的传输距离仅为十几米,而RS485/RS422接口的传输距离为1200米。

rs485接口(rs485接口引脚图)

我们从图中看到,虽然RS232和RS485接口的外形是一致的,但它们的性能和信息交换模式不同,因此抗干扰能力也不同。

6)当距离很长的时候,RS485接口还可以接入光纤,但需要配备1对光纤转换器。之所以要1对,是因为其中一只用于电转光,而第二只则用于光转电。光纤收发器中间的通信介质就是光缆或者光纤。(注意哦,光纤是光缆的芯线,不要以为是两种东西)

光纤分为单模和多模。单模的光纤较细,光在传输过程中反射较少,因而失真小,其传输距离可达15km以上;多模的光纤较粗,光在传输过程中反射较多,因而失真大,其传输距离为1.5km。

rs485接口(rs485接口引脚图)

7)CRC校验码是二进制不借位的除法,用以做接收信息是否出错的检验。

rs485接口(rs485接口引脚图)
rs485接口(rs485接口引脚图)

注意这里的f(x)就是除去CRC校验码的MODBUS通信帧,除数是CRC16。帧中的CRC是运算后的余数。

主站在发送帧之前,把帧先做CRC计算,再把CRC运算的余数附在帧尾发送给从站。从站接收到帧后,先对帧除去CRC的部分做CRC运算来检验是否正确,若不正确,从站要求主站重发。

同理,当从站发送信息给主站时,主站也根据CRC来检查数据的正确性。若发现错误,则要求从站重发。

8)关于MODBUS-RTU、MODBUS-ASC和MODBUS-TCP

如果MODBUS中字节表达数据的方式采取BCD码,则被称为MODBUS-RTU;如果MODBUS中字节表达数据的方式采取ASCII码,则被称为MODBUS-ASC;如果MODBUS运行在网络层上,则被称为MODBUS-TCP。

ASCII码的内容如下:

rs485接口(rs485接口引脚图)

MODBUS在实际使用中,大多数都采用BCD码,因此MODBUS-RTU得到广泛应用。

BCD码如下:

rs485接口(rs485接口引脚图)

值得注意的是:在协议使用中,数据帧中的数值都是用16进制数来表达的。例如100A电流写成0X64H,而380V电压则写成0X17CH。

9)关于RS485网络使用的双绞通信线和接地

我们知道,两条平行的线缆之间会有分布电容,而分布电容会削弱信号的强度。为了消除分布电容,通信线的两条平行线需要按一定长度互相旋转对绞,这种线被称为双绞线。双绞线的对绞长度有规范,它与通信速率密切相关。在实际使用时,要按通信速率来选择合适的双绞线。

双绞线的外层有屏蔽层。屏蔽层必须单点接地,不得在线头线尾同时接地,防止地电流流过引起干扰。在实际布线时,采取各线段独立接地,切忌采用所有线段的屏蔽层前后连接统一接地的做法。

10)关于菊花瓣的通信链路连接方式

绝对的菊花瓣链形网络是不存在的。事实上,我们用菊花瓣链形接线方法构建的通信网络中,各个节点是接线端子,由接线端子通过双绞线连接到各个子站,这些双绞线就构成了类似的星形结构,我们不妨把这种接线方式称为链形网络下的准星形接线。

在工程实践中证明,准星形接线的长度不得超过70cm。一旦超过,则可能出现通信不稳定状态。

事实上,70cm也成为行业中的一条不成文的质检规范。

100欧终端电阻在通信速率低时可加可不加,但当通信速率较高时(高于19.2kbps),建议一定要加。例如PROFIBUS下的RS485网络,终端电阻已经植入终端设备中,只需拨动开关即可加入或者撤离。

终端电阻的用途是吸收反射波。

我们在两棵树间紧紧地绑上一根绳子,接着敲击绳子的某一侧,我们会看到有传导波向另一端传去,并能看到反射波。如果敲击的频率适当,则在绳子中间出现波的不动点,这叫做驻波。

对于通信来说,不管是反射波还是驻波,将严重影响通信质量。终端电阻用于吸收反射波,并且可提升最终子站的电平水平。

RS485和MODBUS这两个概念,都需要通过实践去掌握它们,单单凭着阅读文本,很难理解和掌握。如果这篇小文能给大家的实践活动带来益处,我会感到分外欣慰。

来源:知乎问答,张白帆老师

本站部分内容由互联网用户自发贡献,该文观点仅代表作者本人,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如发现本站有涉嫌抄袭侵权/违法违规等内容,请联系我们举报!一经查实,本站将立刻删除。