APP下载

编码器校验程序在工业过程控制中的应用

2014-12-16李卓伟

锻压装备与制造技术 2014年5期
关键词:校验编码器编程

李卓伟

(太原重工股份有限公司 技术中心,山西 太原 030024)

0 引言

编码器或直线式位移传感器是工业自动化生产中必不可少的控制器件。如果所有设备编码器或直线式位移传感器都工作正常、程序编写合理,设备通常并不会出现问题。但工业生产现场条件恶劣,在高温、振动、电磁干扰等情况下,编码器采集数据可能出现错误信号,严重者编码器本身就由于干扰或寿命到期而损坏。由于此类事件的不可预知性,如果设备程序没有对传感器等的校验程序,继续按照错误信号执行动作,必然会出现误动作、设备损坏、制品不合格甚至人身伤害等严重事故发生。其解决方法可以通过安装冗余传感器或增加其他用来检测传感器故障与否的硬件,但势必又增大了成本,因此必须在成本和有效避免危险之间找到平衡点。本文介绍了一种通过编程来检测编码器或直线式位移传感器故障,以提高设备安全控制的方法。

1 编码器校验块

本文使用西门子step 7编程软件来描述编码器校验程序,其他PLC编程软件的程序可照此思路编写相应的程序。Fc2是编码器校验块,这个块的目的是把编码器采集回来的ActualPos(实际数)与控制机构的最大和最小极限位置数、1个SwitchCal(极限位置处接近开关)、1个SwitchSv(中间位置处接近开关,此开关可选)位置做比较运算,校验编码器是否出现故障。

图1 编码器诊断块

如图1所示编码器诊断块有12个输入:ActualPos编码器采集的位置数;MinPos检测行程最小位置值;MaxPos检测行程最大位置值;CtrlOn编码器校验块的使能开关;SwitchCal极限位置处接近开关程序地址;MinPosCal极限位置处接近开关位置最小值;MaxPosCal极限位置处接近开关位置最大值;SvOn中间位置处接近开关使能开关;SwitchSv中间位置处接近开关程序地址;MinSwitchSv中间位置处接近开关位置最小值;MaxSwitchSv中间位置处接近开关位置最大值;Window窗口值。3个输出:Warning警告;Diag诊断;Calibrated校验结果;9个临时变量:SvMaxPosOK;SvMinPosOK;SvMinMax1OK;Sv-MinMax0OK;Min1;Min0;Max0;Max1;RelCal。

2 校验程序

为了便于理解程序,校验程序中每个位置如图2所示。

图2 校验程序位置示意图

A MaxPos控制机构行程最大位置

B MaxPosCal极限位置处接近开关位置最大值

C SwitchCal极限位置处接近开关

D MinPosCal极限位置处接近开关位置最小值

E Max1中间位置处接近开关位置最大值+

FMaxSwitchSv中间位置处接近开关位置最大值

G Max0中间位置处接近开关位置最大值-

H SwitchSv中间位置处接近开关

I Min0中间位置处接近开关位置最小值+

G MinSwitchSv中间位置处接近开关最小位置

K Min1中间位置处接近开关位置最小值-

L MinPos控制机构行程最小位置

校验程序先对其中的一些数进行处理,分别对MinSwitchSv和MaxSwitchSv分别进行加减运算,本文使用语句表编程语言。程序如下:

判断选中中间位置处接近开关参与校验(SvOn)的情况下,Max0小于等于Min0则出现数字重叠,警告输出,图2中是如果“G”小于等于“I”则设置不合适,报警(Warning)需要重新设定值。程序如下:

判断实际值是否大于等于最小值,如图2,数据是否大于“L”(MinPos),如果是,此项最小值检测正常(MinPosOK)。程序如下:

再判断实际值是否小于等于最大值,如图2,数据是否小于“A”(MaxPos),如果是,此项最大值检测正常(MaxPosOK)。程序如下:

判断选中中间位置处接近开关(SwitchSv)检测的情况下,判断中间位置处接近开关发讯时数据是否正常,中间位置处接近开关发讯时,编码器实际数是否在如图 2 中,大于“K”(Min1)且小于“E”(Max1),如果是,此项检测正常(SvMinMax1OK=1)。程序如下:

再次判断选中中间位置处接近开关(SwitchSv)检测的情况下,判断中间位置处接近开关不发讯时数据是否正常。接近开关2不发讯时,编码器实际数是否在如图2中,数据是否在大于“G”(Max0)或者小于“I”(Min0)区域,如果是,此项检测正常(SvMin-Max0OK=1)。程序如下:

引入中间变量“RelCal”,看实际值是否在如图2中,大于“D”(MinPosCal)和小于“B”(MaxPosCal)之间,如果是“RelCal=1”。程序如下:

判断极限位置处接近开关(SwitchCal)在发讯时,“RelCal”是否为“1”,即大于“D”(MinPosCal)和小于“B”(MaxPosCal)之间,如果是,正常,如果不是,数据有误,“Diag”为1。程序如下:

判断在极限位置处接近开关(SwitchCal)在发讯时,如果“RelCal”为“1”,同时,4 个判断条件:“Max-PosOK”、“MinPosOK”、“S2MinMax1OK”、“S2MinMax-0OK”都为 1,“Diag”为“0”,校验块使能“CtrlOn”为“1”的情况下,输出校验正常“Calibrated”为 1,并且输出校验正常“Calibrated”自保。程序如下:

编写好校验程序块后,设备的每一个编码器就可以共用此块校验了,对应不同的编码器输入不同的输入数据,并且可以单独控制是否需要校验,“CtrlOn”是否为“1”。如果某个编码器故障,或由于调试需要不想对某个编码器校验,只要在该编码器校验程序,如图1中的“M10.0”处给相应的输入“1”为校验,“0”为不校验。是用一个极限位置接近开关校验还是用2个接近开关校验,“SvOn”是否为“1”。如图1中的“M10.1”处输入“1”为极限位置接近开关和中间位置接近开关校验,“0”为只用极限位置接近开关校验。建议使用2个接近开关校验,因为中间处接近开关可设置在设备的某危险位置的临界位置上,一旦检测到校验有误,可马上停止机构“手动”“自动”动作,处理故障,查看是编码器故障还是接近开关松动,或者是损坏,之后在校验通过后才能动作,从而把危险降到最低。在把校验结果“Calibrated”绑定在每个与此动作相关的机构“手动”、“自动”动作条件上时,能大大提高设备的安全稳定性。

3 结论

用编程软件实现设备安全校验是一种成本低、易实现、效果好的方法。在笔者对挤压机自动控制系统若干年的调试及用户反馈的设备运行状况来看,校验程序经受住了时间的考验,对提高系统的可靠性起到了重要作用。对于其他工业过程控制中涉及编码器或是直线式位移传感器的程序安全控制,都可起到有效校验作用。

[1] 楼晓春.PLC控制系统外部故障的自诊断设计[J].轻工机械,2008,26(3):67-69.

[2] 康 毅,李正文,吴锦强.对提高PLC系统可靠性的探讨[J].测控技术,2004,23(10).

[3]WOLFGANG A.HALANG,BERNDJ.KRAMER.Safety Assurance in Process Control.IEEE SOFTWARE,1994,61-67[J].

[4] 罗雪莲.PLC控制系统的故障诊断技术[J].兵工自动化,2004,(3):79-81.

[5] 刘茂银,梅碧舟.压力机控制系统中PLC的应用及设计[J].锻压装备与制造技术,2007,42(3):45-47.

[6] 张传斌,王俊豪.PLC在设备故障检测与诊断中的应用[J].机械制造与自动化,2006,(5):166-167.

[7] 朱朝宽.机床PLC改造过程中的故障自诊断设计[J].新技术新工艺,2005,(5):40-41.

[8] 夏燕兰.PLC在数控冲床上的应用[J].锻压装备与制造技术,2007,42(5):41-43.

猜你喜欢

校验编码器编程
融合CNN和Transformer编码器的变声语音鉴别与还原
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
纺织机上诞生的编程
基于FPGA的同步机轴角编码器
炉温均匀性校验在铸锻企业的应用
应用旋转磁场编码器实现角度测量
结合抓包实例分析校验和的计算
分析校验和的错误原因