发布于 2011-03-19 14:51:35
62楼
看到Profibus-DP这个帖子,觉得有点莫名的激动……
说到Profibus-DP通信故障,可以这样说:在现场遇到的通信故障90%是报告总线故障,线路不通。但是这些故障的90%,往往是不了解Profibus-DP的原理和接口定义。
由于在日常的设计调试工作中,经常见到有同事,甚至是老同事也会出现一些基础认识上的错误。针对Profibus-DP中常见的问题,我前几天才写过一篇Profibus-DP应用的文档,作为公司内部交流参考使用。在此愿意将之贡献给大家。
前 言
近些年来,随着自动化控制技术的高速发展,特别是在中国将Profibus-DP协议定为国家标准后,Profibus-DP在国内网络在工业自动化控制领域的应用越来越广。在自动化控制的实践中网络通信其实是一个比较困难的部分,主要原因:
1、大多数做自动化控制的工程师对网络通信面的知识了解不深。
2、工具的缺少,对一些网络故障难以发现,难以确诊。
3、网络故障出现的频率是很小的,所以很多人忽视了它的重要性。
Profibus-DP在得以大规模的应用的同时,由于人们对它的特性的不了解,不恰当的使用,给工程调试带来困难。结合实际应用和Profibus-DP网络的特性在这里做一个对Profibus-DP网络做一个系统性的应用论述。
Profibus
什么是Profibus?Profibus是IEC 61158定义的10种标准现场总线之一,在过程控制的多种通讯协议中,Profibus是现在市场占有量很大的一种协议。它不仅仅是得到了西门子、ABB等多家大型公司的支持,它的流行还得益于它自身的开放性以及它的低成本。Profibus于2001年成为中国机械行业标准,在2006年正式成为中国国家标准,也是唯一的现场总线国家标准。Profibus具有3个版本:FMS、DP、PA。Profibus(Process field bus)-DP(Decentralized Peripherals)分布外设式过程现场总线是本文的主要描述对象。
物理特性
Profibus 协议利用了现有的国际标准,它和我们常用的TCP/IP协议簇一样基于符合ISO标准的OSI参考模型。RS-485标准采用平衡式发送,差分式接收的数据收发器来驱动总线,是EIA制定的一种支持多节点、远距离和接收高灵敏度的串口总线标准。
Profibus-DP的物理层和常见的Arcnet和CAN一样都是RS-485规范。RS485多采用的是两线制接线方式,这种接线方式为总线式拓朴结构。常常采用铜网或编织物及箔皮屏蔽类双绞线作为传输介质,在总线的两端各有一个终端器(如图1、图2所示)。
在同一总线上最多可以挂接32个结点。在RS485通信网络中一般采用的是主从通信方式,即一个主机带多个从机。传输数据以不归零码方式编码,这也是Profibus-DP为什么是“高速”的缘由(它的设计初衷)。不归零码是最快的编码方式。
速率和距离
Profibus-DP的总线速率和其总线长度是成反比的,在不同的电缆类型和不同的电缆长度下可用速率有所不同,这个长度数据主要是受信号失真及噪声等影响所影响,实际速率距离对照见表1。
A类电缆传输速率和长度对照:
传输速率kb/s 9.6~187.5 500 1500 12000
段 长 m 1000 400 200 100
表1 总线段速率与长度对照表
注:波特率(信号单元变化的频率)和比特率是两个不同的概念,很多资料甚至是官方资料上将这里的传输速率称之为波特率(单位:Baud)是非常不当。
比特率 = 波特率×n n为比特串中比特个数
那么Profibus-DP电缆的最大信号传输距离就只能是1000m了吗?回答是否定的。你可以使用中继器(Repeater,也称之为放大器)。在规范标准中推荐最大中继器数目是3个,这是因为该标准(EN 50170)不包括信号整形的定义,所以链路信号的延时和失真在信号被放大的同时也会被放大。但是现在的很多种类的中继器都实现了信号整形。由于整形质量的不同,一条链路中中继器的可用的个数取决于中继器的制造商,在Profibus-DP网络中有效的西门子中继器最多是9个。ProfiHUB(profibus总线集线器)可以是无限制连接,但所有的中继器都有延迟时间,当中继器的数量达到很大的一个量的时候,由于每个中继器对报文的处理,需要修改总线时隙时间(Tslot,持有令牌方对被询问方的最大容忍时长)。例如使用9个西门子中继器的情况下,可以将10条DP总线相连将可用距离提升至10000m(见表2)。
A类电缆传输速率和长度对照:
传输速率kb/s 9.6~187.5 500 1500 12000
链路总长 m 10000 4000 2000 1000
表2 使用9个西门子中继器链路速率与总长对照表
值得一提的是前面我们说到一个总线段可以挂接32个节点,不能简单的说将可挂接节点数量提升至320个。因为一条总线链路系统可用最大地址为126,那么最多可以挂接127个节点(0#-126#)。这里还值得一提的是每个中继器也是一个电流负载,算作是一个节点。
如果考虑使用光导纤维(光纤)连接DP总线段,距离可以更长。玻璃光纤连接距离可达15km。光纤不仅仅能提升链路长度,而且能不受电磁干扰。常见的西门子的Profibus-DP光纤连接模块,有OLM(光链路模块)和OLP(光链路插头)。OLM有G11模块、G12模块两种,前一位数字1代表1个RS485电气接口,后一个数字代表1个或2个光纤接口。在一条光链路上两端用G11模块,光链路的中间可以用G12模块,这样比较节约成本。OLM也可以用来构成单光纤环网或冗余双光纤环网。OLP可以用在一条光链路的两段或者是用来连接成单芯光纤环。
总线连接
DP总线连接其实有很多种方式,诸如有DP连接卡(在Vacon变频器上可以见到使用),9芯sub D连接器等等。但推荐的,常用的是后者。9芯sub D连接器9个针脚各有其特定含义。但其中的3、5、6、8号针脚是通信所必须的。
针脚3:RxD/TxD-P 数据正(Line B)
针脚5:DGND 数据参考电位(DGND)
针脚6:VP 电源电压正
针脚8:RxD/TxD-P 数据正(Line A)
在项目实际的使用过程中,很多时候,只是简单地用一对双绞线将各个接口的“A”、“B”端连接起来。而忽略了信号地针脚5的连接,这种连接方式在许多场合是能正常工作的,但却埋下了很大的隐患。
访问方式
Profibus有三种总线访问控制机制:
A、主站——主站式
B、主站——从站式
C、混合式
主站间通信采用令牌传递方式规程(Token Passing),主从间通信采用主从规程(Master-Slave)。这使得总线系统上允许有多个主站存在。总之在同一时刻只有一个逻辑上的主站,它负责对从站进行读写访问。
连接使用
当信号在一根长电缆上传输或是有很高的数据速率时,电缆将呈现传输线的特性,即信号在线路上以一定的速度传播开来,从而形成行波。当遇到不连续的阻抗时,就会产生反射波,反射波与原来信号叠加,从而造成原来信号的失真。一般来讲,经过几个回合的反射振荡后,会恢复原来信号的电平,可以通过一些办法改变传输电路的阻抗,从而使传输信号不受大的影响,这就是阻抗匹配。即负载阻抗和传输线的特征阻抗相等。阻抗匹配的常用方法是终端匹配。那么在总线连接安装实施的过程中要注意这几点:
1、总线的不同区段采用了不同电缆,或某一段总线上有过多收发器紧靠在一起安装。总之,应该提供一条单一、连续的信号通道作为总线。
2、终端匹配的方法也有多种:
A、最常用的终端匹配是采用终端电阻匹配方法, RS-485应在总线电缆的两个端点都并接终端电阻。终端电阻的阻值在Profibus-DP网络中,如果采用的是A类电缆,终端的匹配电阻值应为220Ω,如果采用的是B类电缆其终端匹配阻值应当为150Ω(终端电阻一般集成在DP连接器中,可以选择是否接入终端电阻)。这种匹配方法简单有效,但有一个缺点,匹配电阻要消耗较大功率,对于功耗限制比较严格的系统不太适合。但是这是Profibus-DP阻抗匹配方法中最为常用的一种。如果在设备少较少、距离较短的情况下,不加终端负载电阻整个网络还是能很好的工作。但随着总线链路距离的增加通信性能将降低。理论上,在每个接收数据信号的终点进行采样时,只要反射信号在开始采样时衰减到足够低就可以不考虑匹配。但这在实际上是难以测量的。一条经验性的原则可以用来判断在什么样的数据速率和电缆长度时需要进行匹配:当信号的转换时间(上升或下降时间,即1/波特率)超过电信号沿总线单向传输所需时间的3倍以上时就可以不加终端匹配。
B、对于功耗限制比较严格的系统可以采用的匹配方式是RC匹配。利用一只电容C隔断直流成分可以节省大部分功率。但电容C的取值是个难点,需要在功耗和匹配质量间进行折衷。该种方法比较少用。
C、二极管的“匹配”方法,该方法并不是真正的阻抗匹配,而是利用二极管的钳位作用迅速削弱反射信号,达到改善信号质量的目的,但该种方法成本较高。
3、应当注意到总线电缆阻抗与总线连接器阻抗应该当匹配,否则也会出现信号反射的情况。所以总线电缆和总线连接器最好选用同一厂商的产品。
4、在自己做sub D型连接器阵脚连接的过程中,常常忽略的信号地针脚的连接,其实是对信号的质量是留下了隐患的。主要原因为:
(1)共模干扰问题: RS-485接口采用差分方式传输信号方式,并不需要相对于某个参照点来检测信号,系统只需检测两线之间的电位差就可以了。但往往忽视了收发器有一定的共模电压范围,RS-485收发器共模电压范围为-7~+12V,只有满足上述条件,整个网络才能正常工作。当网络线路***模电压超出此范围时就会影响通信的稳定可靠,甚至损坏接口。
(2)电磁干扰(EMI)问题:发送驱动器输出信号中的共模部分需要一个返回通路,如没有一个低阻的返回通道(信号地),就会以辐射的形式返回源端,整个总线就会像一个巨大的天线向外辐射电磁波。
5、在一条Profibus总线上,位于总线中间的站点掉电从电路连接上不会影响整个网络通讯功能。但总线上是不允许终端站点掉电的,如果终端站点掉电后,终端电阻没有电压加载,这是终端匹配是不成功的。Profibus总线连接器都带有终端电阻,终端电阻在PROFIBUS总线的两端通过站点向终端电阻供电使之生效。在可能会出现终端站点会掉电的情况下,加入一个有源的终端电阻,这样可以避免整个网络瘫痪。RS485中继器可以作为有源终端使用,但是成本较高。可选择专用的有源终端(Active Bus Terminal)节约成本。注意中继器内部是电气隔离的,所以使用中继器作为线路扩展时应当将终端电阻设置ON。如果中继器作为两个网络的内部设备连接(不作为放大器)使用,这时中继器的两个网段的终端电阻都应该设置为OFF。
6、总线电缆在敷设时,总线电缆与动力(供电)电缆间应当保持10cm以上的距离,如果总线不得已需要与其他电缆交叉布线时,最后是垂直布线,减少电磁干扰。必要时,可以穿金属管或加屏蔽隔离钢板,这样可以防止啮齿动物损坏电缆且能减低电磁干扰。同时,应当注意总线电缆不要环绕成多圈放置,如果有磁力线穿过时,极易产生干扰信号。
7、Profibus-DP总线连接器内部的屏蔽层接触片(端)应当与总线电缆的屏蔽层良好接触。连接器内部的屏蔽层接触片(端)与连接器接口的金属卡口是连通的。而CPU或CP模块上的Profibus-DP接口外部的金属层是与CPU或CP内部的接地(PE)是接通的。CPU或CP安装在金属底板上时,其接地与底板是相同的。也就是说,如果我们将底板接地时,总线的屏蔽层也是接地的。
8、这里值得一提的是在很多应用项目中,很多人忽视了RS485的电气特性,将光纤通信与RS485通信混为一谈。在设置终端电阻时将光纤通信认为是RS485双绞线通信的一部分,在一条双绞线-光纤-双绞线式的总线上,将双绞线与光纤的连接处的总线连接器设置为非终端(即不加终端电阻),这是在实际应用中难以发现的错误。
综 述
随着现场总线技术的不断快速扩展,它以其自身的高效、可靠、使用方便,正逐渐覆盖工业自动化行业。Profibus-DP也越来越被广泛应用于各个常规工业环境。掌握正确的与实际应用相关的理论基础,将会使Profibus-DP在实际应用更加能够发挥其优势。
参考文献
[1] 姜晓林,韩江,夏链。现场总线与工业以太网的应用分析,现代制造工程2006年第3期,14-16页。
[2]徐新卫,李东;现场总线技术与实现[J];石油化工自动化;2004年06期
[3]徐巧,梅顺齐,肖佩,李刚炎;现场总线技术及其在纺织机械上的应用[J];武汉科技学院学报;2005年05期
作者简介
Ken.Carrey 男,生于1986年,汉族,工程师,就职于攀钢信息工程技术有限公司,主要从事自动化控制、网络工程等方向,联系方式:aqjmh@126.com 15882189341。
Ken(小释)…西门子自动化技术群16182848