PLC故障检测优化算法
2017-03-27刘新祺
刘新祺
摘 要 PLC是一种经常用于自动化编程控制的计算机,常用于汽车制造领域、机械制造领域等领域。其编程部分中故障检测是必不可少的一部分。为了即时显示故障信息,PLC需持续检测故障情况以在故障发生时将将故障信息立即显示在操作屏上。而传统检测方式采用逐个检测,步骤复杂,对CPU要求也较高,提高了运行成本和设备成本。本文将利用变址寄存器加以循环语句来迭代运算,并用循环语句优化该检测步骤,将原有的上千步运算步骤减至十余步,同时单次循环时间减少约10%。
【关键词】PLC 故障检测 优化算法 变址寄存器 循环语句
1 引言
PLC(Programmable logic Controller,简称PLC)编程是现代社会机械化生产的重要编程方式,其广泛应用于各种自动化编程控制。2016年,PLC占有上百亿人民币的市场份额,其编程方式精简与准确程度直接关系着生产效率与质量。而设备故障检测步骤则是编程中的重要部分。当设备运行设备出现故障时,需要检测出故障位置并将故障具体情况显示在屏幕上。传统的算法采用逐个检测排查的方式,占用上千步,耗时近1ms。本文将利用变址寄存器循环语句优化该检测步骤,在本例中将运算步骤精简至十余步,耗时减少0.2ms,效率提高约10%。
2 背景
PLC起源于美国汽车制造业的激烈竞争。为了适应生产工艺的变革,一些公司研发出以计算机为基础的系统,逐步演变为今天的PLC编程。
第一代的PLC只是继电器控制装置的替代产品,一直到上世纪70年代初,其仅由一些元器件和中小型集成电路组成,采用的是磁芯存储器,仅有计数、定时等功能,也只能用于单一控制。后来随着处理器的不断变小,于70年代初出现了第二代的PLC。第二代PLC采用的是微处理器和半导体存储器EPROM,功能逐渐增强,具有数据处理、其诊断、逻辑运算等功能,并且有了计算机接口,其应用面越来越广,整体趋向标准化、系列化、专用化,占有越来越多的市场份额。第三代PLC出现在80年代中期,其CPU使用16位处理器或多微处理器,使用EPROM、CMOSRAM等半导体处理器,增加了三角函数等新运算方式,梯形图语句表更加成熟,小型PLC体积更小,成本更低,大型PLC更加多元化、模块化。历经第四代PLC的提速后,出现在90年代中期的第五代PLC使用16位或32位微处理器,单步速度高达1ns/步,100%可与计算机通信,具有数值计算、大批量数据处理、函数运算等强大功能。
3 应用环境
不同CPU对程序容纳量不同,步数越少则对CPU要求越低,成本也更低,即程序容量大小决定了选用哪款CPU,如少于1×10步,则可以选用最经济的CPU12或32,如果超过了300000步,就必须选用成本倍增的CPU15或35。
旧的编程方法中将故障检测内每条线路的检测分别作为一步,单步简单的叠加,不断叠加结果则是耗时极长。这里我们以一个用该方法检测故障的程序为例。
赋值语句即将故障数据传递至显示屏的步骤,图1左侧的圆圈内为当前所在步骤步数。若上图中将单个赋值语句删除,再与图2对比,可看到如果删除赋值命令,每一处可节省7758step-7755step=3step。而仅该程序中赋值命令一共500条,总计可以减少1500step。
那么索性将程序中全部的500条赋值命令全删除,可以发现如下变化:
(1)程序长度减少了1500step,。(16255step-14755step=1500step)
(2)最大循环时间减少了0.2ms。(2.42ms-2.22ms=0.20ms)
由此可见,赋值语句本身在程序中占有较大比重,若改进该部分则将极大地简化程序。
4 利用变址寄存器计数加以循环语句简化算法
首先输入一个M值来规定循环的最大次数,即全部待检电路的数目。变址寄存器充当了K值的角色。每次从变址寄存器中取一个值,检查该编号的电路,若有故障则将该电路的编号输出显示,否则将K值加一,再进行上述步骤。具体操作方法如图3。
左侧Ⅰ区域为母线,其中左侧较小数字为段数,右侧较大数字为步骤数。Ⅱ区域为输入区域,中间圆圈内IRO为变址寄存器,即流程图中K的载体。W155.06等以W開头的为逻辑开关,W是否连通间接显示了该部分是否有故障。右侧Ⅲ区域内为输出内容。小框内FOR语句为循环开始语句,循环语句为FOR一直到下面的NEXT。最下方MOV语句为赋值语句,即输出故障编号。小圆圈内的D32600为本程序中显示屏代码,将故障编码移入显示屏即将故障情况显示出来。
5 改进后的结果
改进前故障排查语段占总时间的8.26%,改进后时间占比缩短至0.45%,缩短了95%;改进前故障排查语段占总步骤的9.23%,改进后步骤占比缩短至0.14%,缩短了98%。无论是时间上还是占据步骤上,改进后的算法均比改进前有了极大幅度的进步。
6 横向推广
我们可将这个思路横向推广到其他领域,这里以异常计数清零为例,将清零语句置入循环语句中,设定好循环的次数,即可实现仅输入一个命令就能将所有的寄存器清零,即一键清零。
7 总结与展望
本文提出了一种利用变址寄存器加以循环语句的优化算法。这种算法与之前的算法相比,优点在于可以将很多重复进行的语段缩短为几步,提升程序步骤的利用率,提高了经济效益。作为自动化控制的重要手段,PLC定会迎来更为辉煌的未来。
参考文献
[1]廖常初.PLC的发展趋势[J].电气时代,2003(12):54-56.
[2]张东明,文友先.PLC的发展历程及其在生产中的应用[J].现代农业装备,2007(09):60-64.
[3]刘卫平,王明泉.PLC的发展及应用前景[J].机械管理开发,2009,24(05):78-80.
[4]綦希林,曲非非.PLC的发展[J].微计算机信息:测控仪表自动化,2002(09):1-2.
[5]方原柏.PLC发展的新动向——IEC1131-3编程标准和开放式结构[J].昆明理工大学学报自然科学版,1999(06):102-103.
[6]陈洁.新技术形势下PLC的发展前景[J]. 机械工程与自动化,2004(04):84-85.
[7]王兆义,陈治川,王生学.PLC发展的几个特点和国产化[J].自动化博览,2006,24(S1):12-14.
作者单位
辽宁大连经济技术开发区第一高级中学 辽宁省大连市 116600