工业控制中,PLC程序编写是一项基础的工作,但也是确保生产正常运行的重要环节。PLC最好的评判标准是实践,看程序是否达到生产预期的目的,但这是远远不够的,因为能达到控制要求的程序还有优劣之分,到底什么样的程序才能称得上好的程序呢?现归纳为以下几个方面(请原谅手机党):
(一)正确性(调试成本低)
PLC的程序首先要正确,且能通过实际生产的验证,这是对PLC程序的起码要求,做不到这一点,一切免谈。程序要正确,就得准确的使用指令、语法和内部器件,准确的使用指令与准确理解指令相联系,对指令含义和使用条件一定要弄清楚,内部器件正确使用也是重要的,一定要做到该掉电保护的一定要用掉电保护的器件,反之则不能用。
(二)可靠性(维护成本低)
一个正确的程序还要可靠,这也是对PLC程序的基本要求。有的PLC程序,在正常的工作条件下或合法操作时能正确工作,而出现非正常工作条件【如临时停电,又很快再通电】或进行非法操作【如一些按钮不按顺序按,或同时按若干按钮】后,程序就不能正常工作了。这种程序,就不大可靠,或说不稳定,就是不好的程序。好的PLC程序对非正常工作条件出现,能予以识别,并能使其与正常条件衔接,可使程序适应于多种情况。好的PLC程序对非法操作能予以拒绝,且不留下隐患,只接受合法操作,联锁是拒绝非法操作常用的手段,继电电路常用这个方法,PLC也可继承这个方法。
(三)可读性(学习成本低)
要求所设计的程序可读性要好。这不仅便于程序设计者加深对程序的理解,便地调试,而且,还要便于别人读懂你的程序,便于使用者维护,必要时,也可使程序推广。要使程序可读性好,要做到以下几点:
(1)程序的设计脉络就要尽可能清晰,结构上有层次感
(2)功能层实现模块化,或者使用面向对象的方法进行设计
(3)要多用一些标准的设计
(4)I/O分配要有规律性,便于记忆与理解
(5)变量层尽量使用符号名编程
(6)做好程序的注释
(7)内部器件的使用也要讲规律性,不要随便地拿来就用
(8)每个功能的地址段分配要留有一定的余量作为备用
可读性在程序设计开始时就要注意。这不易完全做到。因为在程序调试的过程中,指令的增减,内部器件的使用变化,可能使原较清晰的程序,变的有些乱。所以在设计时就对调试增减留有一定的余地,然后调试完毕后再做一下整理,这样所设计的程序具有更高的质量。
(四)精简性(存储成本低)
使PLC程序尽可能简短,也是应追求的目标。简短的程序可以节省用户存储区;多数情况下也可节省执行时间,提高对输入的响应速度,还可提高程序的可读性。程序是否简短,一般可用程序所用的指令条数衡量,用的条数少,程序自然就简短。要想程序简短,从大的方面讲,要优化程序结构,用流程控制指令简化程序,从小的方面讲还要用功能强的指令取代功能单一的指令,以及注意指令的安排顺序等。
(五)省时性(运行成本低)
程序简短可以节省程序运行时间,但简短与省时并不完全是一回事,因为运行程序时间虽与程序所拥有指令条数有关,而且还与所使用的是什么指令有关,PLC指令不同,执行的时间也不同,而且,有的指令在逻辑条件ON时执行与在OFF时执行其时间也不同,另外,由于使用了流程控制指令,在程序中不是所有指令都要执行等。所以运行程序的时间计算是较复杂的,但要求其平均时间少,最大时间也不太长是必要的,这样可提高PLC的响应速度。省时的关键是用好流程控制指令,按情况确定一些必须执行的指令,作必备部分,其余的可依程序进行,有选择地执行,或作些分时工作的设计,避免最大时间太长等。
(六)继承性(变动成本低)
要使程序具有继承性,那就是要便于修改和移植。PLC的特点之一就是方便,可灵活地适用于各种情况,其办法就是靠修改或重新设计程序,重新设计程序用于PLC工艺用途已经更改的情况,不仅程序重编,而且I/O也要重新分配,即便如此,很多独立功能的子程序依然可以适用于不同的工艺控制;对于相同或类似的工艺控制,多数情况下不需要重编程序,作一些修改就可以了。这就要求程序具有继承性,具有方便快捷的通用性接口,便于参数修改和程序的移植。
(七)总结
在设计PLC程序的过程中,对于上述要求要同时兼顾和平衡,不能顾此失彼,得不偿失。
-
-
-
ytzidonghua | 当前状态:在线
总积分:11263 2024年可用积分:6
注册时间: 2006-09-18
最后登录时间: 2024-08-02
-
ytzidonghua 发表于 2016/11/15 17:13:23
理想化的情况
真正做到的比较少
引用 ytzidonghua 2016/11/15 17:13:23 发表于2楼的内容
-
-
引用 bonbo 2016/11/19 21:23:02 发表于3楼的内容
-
-
fung 发表于 2016/11/20 12:02:20
确实如此。编程的手法和风格受企业以及初期指导人的影响太深了。而平时很难与同行交流编程技巧和手法,此道讳莫如深,造成很多人编程只讲实用性而不顾其他。4楼 回复本楼
引用 fung 2016/11/20 12:02:20 发表于4楼的内容