基于PLC的电控系统故障诊断

来源:万方数据 作者:付兴民

点击:1455

A+ A-

所属频道:新闻中心

关键词:PLC 组态软件 电控系统

    1 引言

        在工业过程控制系统中以可编程序控制器(PLC)和工业控制计算机(IPC)为核心的综合自动化系统得到了广泛的应用。PLC可靠性高.一般用于现场输入输出逻辑控制;IPC软硬件资源丰富,一般用于工业过程的实时监控及管理。随着控制规模的扩大,自动化复杂程度的提高,控制系统的故障率也在增加,故障对生产影响的程度更是大幅度上升。通常控制系统因故障停机的时间80%以上用于故障诊断,可实际维修只占用不到30%的时间。因此在故障发生时准确迅速地进行故障诊断,以便及时排除故障显得尤为重要。

        PLC控制系统的故障诊断方法很多,目前,大多数的故障诊断专家系统是读取PLC的I/O及各种中间状态的信息,进行故障推理和诊断。然而,仅仅使用PLC进行故障诊断存在故障提示信息不够详细、人机界面不够友好、诊断系统灵活性不足等缺点。本文以汽车底漆生产线控制诊断系统为例,利用已有的软硬件资源,探讨将PLC和组态软件相结合的故障诊断方法。诊断系统充分利用PLC的逻辑运算功能和强大的I/O能力,结合PLC内各种控制状态信息,进行控制系统故障诊断,用组态软件开发友好的人机界面提供详细的故障信息以及相应的对策。

    2 基于PLC程序的故障诊断

        2.1 逻辑故障诊断

        PLC控制系统中,一旦控制要求确定后,控制系统的各个输入、输出信号和辅助寄存器的信号相互之间存在确定的逻辑关系。因此,通过检测各状态信号的逻辑关系,就可以判断其是否处于故障状态。

        图1为常见逻辑错误的故障检测梯形图,本又梯形图都按A-B公司SLC500规范编制。图中第一行用来检测某工位前升降机构的工艺上限限位开关(1:1/31)和工艺下限限位开关(1:1/29)失灵造成的故障。若故障检测位为B17: 0/0,则诊断原理可以表示为:

        B17:0/0=1:1/29=1:1/31    (1)

        式(1)中“.”表示逻辑与。在正常情况下无论升降机构是上升还是下降,工艺上限限位开关和工艺下限限位开关的常开触点都不应该同时闭合,即1:1/31和 1:1/29不能同时为1。若在某时刻故障检测位B 17:0/0则可以判定限位开关出现了故障。

        第二行逻辑用于检测系统是否有过多的输入。诊断逻辑为

        B17:0/1=1:2/10I1:2/11+I:2/12I:2/13  (2)

        式(2)中“+”表示逻辑或。按要求,在系统运行的时候,方式选择开关现场(I:2/10)和远程((1:2/11)只能选择其中z一,同样,模式选择开关手动((1:2/12)和自动((1:2/13)也只能是其中z-。当B17:0/1=1时,由式(2)可知.此时1:2/10=1且1:2/11=1或者1:20 2=1且1:2/13=1,说明系统有不正确的输入。

        图1中的第三行逻辑用于检测控制系统的欠输人故障。按要求,方式选择开关现场(I:2/10)和远程(I:2/11)在系统正常的时候应有一个是闭合的,同时,模式选择开关手动(I:2/12)和自动(I:2/13)也应有一个是闭合的。诊断逻辑可以用式(3)表示为。

        式(3)中上横线表示逻辑非,对应着梯形图中的常闭触点。从式(3)可以看出,当I/2/10=1,I/2/12=0,1:2/13=0时,B17:0/2=1,表明出现了欠输入故障。式中后三项用于诊断另外三种欠输人故障。

        上述的逻辑故障中,只要实时检测图中辅助寄存器B17:0/0,  B17:O/1和B177:0/2的状态,就可以诊断出控制系统是否发生了逻辑错误故障。

     2.2 时间限值故障诊断

        在控制系统的工作循环过程中,各个工序的加工处理都必须在一定的时间内完成,若某个工序超过了规定的时间而未完成动作,工作循环就无法转入下一个工序.控制系统就不能正常工作。因此,可以以这些规定的时间为参考,在工序动作开始时,同时启动一个定时器,定时器的设定时间比规定动作时间长30%-40%,如果定时器有输出信号则说明已发生故障。

        图2为检测一个工序超时限的故障检测电路。工件从4号工位向5号工位运动,正常时应在15s后到达5号工位.定时器T55。设定值是20s。当工件从4号工位出发时,出发信号O:2/20为1,同时5号工位的到位信号1:3/23为0,定时器T55:0开始计时。若工件在规定的时间内到达5号工位,到位信号I:3/23置为!,定时器被清0,T55:0/DN为0,辅助寄存器B17:I/0无输出。反之.若工件没有在规定的时间内到达,辅助寄存器B17:I/0将被置}。根据B17:I/0的状态.即可判别该工序是否发生了超时故障。

        2.3 初始故障诊断

        控制系统比较复杂时,各部分的根合性就较强,一旦发生故障,也可能随之有多个故障发生,如果能找到第一个故障,则能较快地排除故障。图3中共有3个故障输入分别是3个电机的断相故障输入信号I:I/l S, Ia 6和Ia}-toB17:4/0、B17:4/1和B17:4/2是故障检测位,分别对应3个故障输入信号。B17:5/0是故障复位信号。

        初始时,系统没有故障发生,3个故障检测位均为0。假设在某个时刻第3个故障发生了,即I:13/24为1,此时B17:4/2变为1,且由于该输出指令为自锁指令,使B17:4/d2保持为1,实现了对其他故障检测位的互锁。这样,即使此时其他的故障发生了其对应的检测位也不会置为1。通过这种方法,就能从众多同时发生的故障中找到初始故障,提高系统诊断的快速性和准确性。

        2.4 基于PLC移位指令的多故障诊断

        在PLC控制系统中,很多故障信息是直接将现场设备的状态作为输入信号传给PLC的。例如电机断路器、热保护以及液位计故障等信号。可以利用1PC的移位指令,将这类故障信号进行编码,IPC读取这些编码,集中显示故障信息,同时,这样做的另一个优点是减少了IPC和PLC之间的通信量。

        图4是诊断原理框图。图5为使用PLC移位指令编制多故障诊断梯形图,限于篇幅,只列出主要部分。梯形图中定义的移位数据块长度为256位,即B88:0~B88:15。整数又件N87:0-N87:15是故障检测位总共可以区别256种故障输入信号。整数又件N 100: 26输出故障的编码,N87:0记录移位的次数。BSR为右移指令,当其前面的逻辑为真时,将所定义的移位数据块向右移一位。ADD,MOV, CiEQ, COP和FLL分别为加、移动、大于或等于比较、又件复制和位填充指令。

        只要故障复位没有按下,即B3:0/h为0, R86:0/UL始终为1,移位指令不再执行,N 100:26的值不变。当故障复位按钮按下时,BSR指令执行,R86: 0/UL为0,N100:26被清0,FLE指令将N87:0~N87:15全部置为0。

        从上述的分析可以看出.只要IPC读取PLC的数据又件N100:26的数据,就可得到相应的故障编号,从而实现故障的诊断。

    3 故障的报警与显示

        当控制系统发生故障时PLC诊断程序使相应的故障检测位状态发生变化,运行于IPC上的组态软件就可根据这些故障检测位的状态进行故障报警与显示了。本文的例子中,IPC通过Rockwell公司的1784KTX通信模块与PLC通信,协议采用DH+,组态软件为RSView32。组态软件RSVicw32自身也提供报警功能.但提供的故障信息有限。为此,本文结合RSVicw32的报警功能,为每个可能出现的故障建立一个显示界面。在该界面上,向用户提供对应的故障报警的信息,给出可能的故障原因。

        有了故障显示界面后,还必须使该界面能在故障发生时自动出现在屏幕上以便及时提醒用户。利用RSVicw32提供的事件功能可以满足这一要求。在RSVicw32中,事件是能触发命令或宏的表达式。一个事件由表达式和命令构成,当表达式的值为逻辑真时,就会触发命令的执行。本例中表达式用来判断是否有故障发生,而命令用来显示故障显示界面。

        以图2中的诊断逻辑为例,先使用事件编辑器为该故障创建一个事件。在表达式栏输入表达式“L3171/0==1用来判断故障是否发生,在命令行输入“displaydiagnosis-into",用来显示故障显示界面。其中display"是显示命令."diagnosis-inib”是故障显示界面的文件名。

        图2的诊断逻辑中,当工件超过规定的到达时间时,故障检测位B17:1/0=1。此时事件表达式“B17:1/0==1”的值为逻辑真,就会触发显示命令的执行,显示该故障信息显示界面,如图6所示。

    4 结束语

        本又根据汽车底漆生产线的实际情况,综合应用了几种PLC的故障诊断方法,将PLC故障诊断与组态软件相结台,实现了故障诊断的快速和准确.提供了友好的故障显示界面。此外.在使用的过程中,用户还可以根据需要,方便地修改故障提示信息以及产生故障的原因,使诊断系统具有较好的灵活性。

    (审核编辑: 沧海一土)