资源描述
冶金之家网站
对Profibus—DP通讯故障的分析及解决方法
李欣
(武钢集团公司设备维修总厂,湖北 武汉市 430000)
摘 要:本文首先对profibus—dp现场总线技术进行了阐述,重点研究其故障诊断方式并分析了数据传输过程。本文还提出了一种通过HP80I程序编程来实现捕捉DP故障的方法,并把它成功应用到冷轧厂连续退火机组中,彻底解决了困扰该生产线多时的因DP通讯距离长、现场环境复杂、干扰大而造成的远程I/O站掉网的故障。因此,大大提高了有效作业率和成材率。
关 键 词:现场总线;DP通讯;CRC校验;I/O站
1 引言
现场总线技术如profibus—dp的大量应用,取代了传统的现场设备与控制器之间连接所采用一对一所谓的I/O连接方式,而使用一根电缆连接所有现场设备,并采用数字信号取代了设备级的4—20mA/24VDC信号传递。因此其具有硬件成本低,安全性可靠性好以及系统设计、组态、安装、扩充简单等诸多特点。具体到冷轧厂一连退线上,profibus—dp总线技术已成功运用于PLC系统与所有除传动设备外的现场级设备如各类传感器、电磁阀及开关按钮等信号传递之中,并取得了很好的效果。而在硬件层上,该线主要采用GE FANUC的BIU即现场总线接口单元、SST公司的5136—PFB—VME通讯基板作为ALSTOM的PLC与现场级设备进行交流的平台。
一冷轧连退线自03年投产以来运行较为稳定,但进入08年后曾多次出现莫名停机现象,通过调用HMI上的故障记录表我们发现绝大多数情况属“正常停车”无任何故障记录,还有少数情况有急停信号但复位后机组又能立即投入生产。经过长期监控,我们终于捕捉到系某个远程I/O站(即BIU)掉网或报错造成了机组停机,但由于不是纯粹硬件故障,掉网或报错的站点往往能马上自动恢复正常,机组也能马上投入运行,因此对故障的排查、解决造成了极大的困难。
综上所述,我们对DP通讯技术进行深入了解,特别是对其故障诊断及抗干扰性能进行研究是提高本机组运行稳定性进而提高成才率、运行效率的有力手段。
2 现场总线Profibus技术探讨
2.1 现场总线在自动化系统中的位置
PROFIBUS是一种国际化、开放式、不依赖于设备生产商的现场总线标准。广泛适用于制造业自动化、流程工业自动化和楼宇、交通、电力等其他领域自动化,其在自动化系统中的位置如下图所示。
如图1,PROFIBUS由三个兼容部分组成[1],即PROFIBUS—DP(Decentralized Periphery)、PROFIBUS—PA(Process Automation)、PROFIBUS—FMS(Fieldbus Message Specification)。PROFIBUS—DP是一种高速低成本通信,用于设备级控制系统与分散式I/O的通信。使用PROFIBUS—DP可取代24VDC或4—20mA信号传输。PROFIBUS—PA专为过程自动化设计,可使传感器和执行机构联在一根总线上,并有安全规则。PROFIBUS—FMS用于车间级监控网络,是一个令牌结构、实时多主网络。下面我们重点讨论PROFIBUS—DP通信技术。
2.2 PROEIBUS—DP基本功能概述
2.2.1 PROFIBUS—DP的协议结构
PROFIBUS—DP使用第1层、第2层和用户接口层[2]。第3—7层未用。这种精简的结构确保高速数据传输。物理层采用RS—485标准,规定了传输介质、物理连接和电气等特性。PROFIBUS—DP的数据链路层称为现场总线数据链路层(Fieldbus Data Link,layer,FDL),包括与PROFIBUS—FMS、PROFIBUS—PA兼容的总线介质访问控制MAC以及现场总线链路控制(Fieldbus Link Control,FLC),FLC向上层提供服务存取点管理和数据的缓存。第1层和第2层的现场总线管理(Fieldbus Management layer 1 and 2,FMA1/2)完成第2层待定总线参数的设定和第1层参数的设定,它还完成这两层出错信息的上传。PROFIBUS—DP的用户层包括直接数据链路映射(Direct Data Link Mapper,DDIM)、DP的基本功能、扩展功能以及设备行规。DDLM提供了方便访问FDL的接口,DP设备行规是对用户数据含义的具体说明,规定了各种应用系统和设备的行为特性。
2.2.2 PROFIBUS—DP传输技术
RS—485传输是PROFIBUS最常用的一种传输技术,它的基本特征是:网络拓扑为线性总线,两端有有源的总线终端电阻;传输速率为9.6kbps~12Mbps;介质为屏蔽双绞电缆,也可取消屏蔽,取决于环境条件;不带中继时每分段可连接32个站,带中继时可多到127个站。RS—485多采用9针D型接头将通讯电缆与固定在通讯设备上的插座相连接,其针脚定义如下表1所示。
2.2.3 基本故障诊断
当DP主站与DP从站进行数据传输即作为主站的ALSTOM PLC与作为从站的BIU进行数据传输时,必须要完成以下几个步骤
(1)参数化阶段,即从站由DP主站用现有总线参数、监控时间和从站特有的参数进行参数化。
(2)组态阶段,DP主站对DP从站所需的配置和现有的配置进行比较,因此设备类型、数据格式、长度以及输入输出数量必须与实际组态一致。
(3)用户数据传输阶段,在参数化和组态成功后,DP从站改变其状态进入用户数据交换阶段。在此阶段,从站的参数化能被更改,而不必中断数据传输。
在以上三个阶段均可附加诊断信息和控制命令传输,另外经过扩展的PROFIBUS—DP诊断功能可以将以下三级诊断信息发送到总线上传输并由主站采集,如本站诊断操作:本站设备的一般操作状态,如温度过高、压力过低等;模块诊断操作:一个站点的某具体I/O模块故障;通道诊断操作:一个单独输入/输出位的故障。
PROFIBUS—DP的差错检查方法采用循环冗余校检(Cyclic Redundancy Cheek,CRC):对传输序列进行一次除法操作,将进行除法操作的余数附加在传输信息的后边。在接收端也进行同样的除法过程。如果接收端除法过程的结果不是0,就表明发生了一个错误。CRC错误检查方法能够检测出大约99.95%的错误,但计算量大[3,4,5],下面看下它的具体处理过程。
我们把即将要发送的数据包可以看做是一个N阶的二进制多项式,由公式(1)组成,
an-1xn-1+an-2xn-2+·······+a1x+a0 (1)
如一个8位的二进制数10110101可以表示为公式(2),
1x7+0x6+1x5+1x4+0x3+1x2+0x+1 (2)
多项式的乘除法运算过程与普通代数多项式乘除法相同。采用CRC校验时,发送方和接收方用同一个约定好的生成多项式g(x),并且g(x)首位和最后一位的系数必须为1。CRC处理方法是:发送方以g(x)去除t(x)。(t(x)为要发送的数据包如公式(2)所示,得到余数多项式f(x)为CRC校验码,将余数多项式加到数据多项式之后发送到接收端,接收端同样用g(x)去除接收到的数据,进行计算,然后把计算结果和实际接收到的余数多项式数据进行比较,相同的话表示传输正确。举例说明,设待发送的的数据t(x)为12位二进制数据100100011100,CRC—4的生成多项式为公式(3),即10011。
g(x)=x4+x+1 (3)
首先在t(x)的末尾添加4个0构成x4t(x)以便可以被式3除尽,因此数据块t(x)就成了1001000111000000,然后用g(x)去除x4t(x),不用管商是多少,只需求得余数f(x)。下表2给出了除法求余的过程。
如上表2的最终余数“1100'’作为检校码随着数据包一起发送到接收端,接收端将接收到的数据包进行同样的校检,再将得到的检校码与接收到的检校码比较,如果两者一致则认为传输正确。
2.2.4 传输过程
下面我们看下PROFIBUS—DP的数据结构,见下图3所示。
当主站DPM(本系统属于单主从系统)发送同步命令后,所选的DP从站进入同步模式。在这种模式中,所编址的从站输出数据锁定在当前状态下。在这之后的用户数据传输周期中,从站存储接收到输出的数据,但它的输出状态保持不变;当接收到下一同步命令时,所存储的输出数据才发送到外围设备上。主站DPM使用数据控制定时器对从站的数据传输进行监视。每个从站都采用独立的控制定时器。在规定的监视间隔时间中,如数据传输经CRC检校报错,定时器就会超时。一旦发生超时,用户就会得到这个信息。如果错误自动反应“使能”,DPM将脱离操作状态,并将所有关联从站的输出置于故障安全状态,并进入清除状态。
对DP从站使用看门狗控制器检测主站和传输线路故障。如果在一定的时间间隔内发现没有主机的数据通信,从站自动将输出进入故障安全状态。
3 基于上文分析实际生产中DP通讯故障
3.1 故障捕捉
在PLC编程软件P80I中,ALSTOM提供标准的子程序块来初始化5136—PFB模块及各DP从站模块,并通过5136—PFB模块读取从站BIU模块中的数据。程序如下图4所示,其中“PFBRD”用于读远程I/O即BIU的数据。
图4中“ErrFlag”、“ErrCode”分别为程序所读取的该站的故障及故障代码。为方便捕捉每个站的故障及故障次数特别是防止该站故障后又能马上恢复正常因而无法捕捉、记录,我们增加了一段程序如下图5所示。
3.2 故障现象解析
我们对1#PLC所带20个I/O站增加如图5所示的故障捕捉程序并经过一段时间的观察后发现,只有距离PLC最远阿现场4个I/O站出现过故障,并且距离PLC越远的站点故障次数越多,也就是说终端站最不稳定。故障代码经捕捉为9989即目标站不在线,依据2.2.3中的DP通讯传输过程所阐述的,如果在控制定时器规定的时间内信号传输发生CRC校检错误或者根本无信号接收或发送将会通知给用户9989故障,如果超过定时器时间后仍然无法正常传输数据,从站自动将输出进入故障安全状态,并且主站DPM脱离操作急停信号产生机组停机。在PLC下一个扫描周期内再次与该故障站点通讯时,如重复上述步骤中数据传输又正常机组马上又能恢复运行。综上所述若该站在定时器规定时间内恢复,机组能继续运行,只是在程序模块中有一瞬间故障显示,若在规定时间内仍然无法通讯正常。作为单主从系统的主站PLC脱离操作急停产生机组停止运行,如果PLC在下一个扫描周期内该站恢复,通讯信号依然正常,机组经过急停复位后也能马上运行。
经过对现象的分析以及上述理论基础,我们认为产生通讯不稳定主要有以下几种可能性:
(1)在2.2.1中提到过DP通讯的传输速率与传输介质及传输距离有严格对应关系,一般情况下普通屏蔽双绞线在本机组1.5Mbps的传输速度下最大距离不能超过200米,而我们实际测量PLC与最远端的终端站的距离已经达到250多米。机组新建的时候通讯电缆勉强能满足要求。随着运行时间的增加现场高温高湿环境造成电缆老化严重,电缆阻抗增加,产生分布电容增大,由于分布电容的存在造成信号电压不能突变,因此图3所示的信号电压波形图有可能产生畸变,冗余校验无法通过,系统故障。
(2)终端电阻故障,即电阻烧毁或者阻值改变无法匹配,终端电阻主要是为了消除在通信电缆中的信号反射。在通信过程中,有两种情况导致信号反射:阻抗不连续和阻抗不匹配。阻抗不连续,信号在传输线末端突然遇到电缆阻抗很小甚至没有,信号在这个地方就会引起反射。这种信号反射的原理,与光从一种媒质进入另一种媒质要引起反射是相似的。消除这种反射的方法,就必须在电缆的末端跨接一个与电缆的特性阻抗大小相近的终端电阻,使电缆的阻抗连续。因此若终端电阻与现有电缆阻抗不匹配就会造成信号反射,传输信号混乱,对于本机组越远端的站掉网越严重的现象也十分吻合。
(3)现场变频电机多,高频干扰大,通讯电缆没有单独走线并与动力电缆保持一定距离(一般要求大于10米),电缆屏蔽层未接地或接地效果不好都有可能影响到通讯信号的传输。现场高频电磁干扰会在屏蔽双绞线的屏蔽层上产生寄生电场,若无接地或接地效果不好,该电场会直接对信号线内传输的低压电平信号产生影响。
3.3 故障解决
针对以上三点,我们首先将现场的TX1025—TX1028号4个I/O站屏蔽双绞线电缆更换为光缆,增加了现场站抗干扰能力同时也缩短了整个系统的通讯距离,另外在TX1024站后增加了一个RS485中继放大器对信号进行进一步整形放大,因为更改为光纤以后TX1024站变为终端站。我们将TX1024站终端电阻进行了测量、更换保证其尽量吻合我们所用的屏蔽双绞线22AWG的特性阻抗150欧姆,并将两个终端站电缆的屏蔽层拨开一段用截面积大于22平方毫米的铜电缆进行双端接地。经过以上一系列措施后,DP通讯不稳定现象彻底消失,通过图5中的程序所监控的结果表明所有站点再未有一次故障。
4 结语
通过对现场总线技术特别是profibus—dp技术的研究,并结合本机组故障的实际现象,我们提出了产生通讯不稳定的三大原因,本着节约成本、尽快实现、减少产量损失的原则着手进行了一系列改进,取得了很好的效果。此外增加的一段故障捕捉程序也给我们判断、锁定故障提供了很大的方便,值得推广。
参 考 文 献:
[1] 肖军.DCS及现场总线技术[M].北京.清华大学出版社.2011.173.
[2] 李正军.现场总线与工业以太网及其应用技术[M].北京.机械工业出版社.2011.117—130.
[3] 龙志强、李迅、李晓龙.现场总线控制网络技术[M].北京.机械工业出版社.2011.37.
[4] 蒋安平.循环冗余校验码(CRC)的硬件并行实现[J].微电子学与计算.2007,24(2):107—110.
[5] 石林艳、罗汉文.CRC循环冗余校验码并行算法的FPGA实现[J].通信技术及应用.2005,8:60—63.
展开阅读全文