浅谈PLC编程技巧

(整期优先)网络出版时间:2019-06-16
/ 2

浅谈PLC编程技巧

刘绍威

开滦能源化工股份有限公司煤炭洗选加工中心河北唐山063109

摘要:PLC常用的编程语言可以分为指令表、梯形图、功能块等方式,其中梯形图是使用最为广泛,也是最容易掌握的编程方法。但是无论使用哪种编程语言进行编程,都必须考虑程序的可读性。程序可读性强,漏洞少,闭锁关系清晰,程序好维护,可以随时根据控制要求进行修改;程序可读性差,漏洞多,闭锁关系不清楚,程序不好维护,一旦控制要求发生变化,修改程序需要反复分析闭锁关系,难以修改。本文通过自锁控制程序逐步扩展到若干台单电机顺序起车、逆序停车控制程序,并进行归纳总结,浅显意赅的阐述了PLC编程技巧。

关键词:PLC编程可读性程序

随着PLC技术的不断发展,以PLC为主体的自动化控制系统已经逐步取代了传统的继电器控制系统,广泛的应用于工业生产的各个领域。PLC控制系统可以分为硬件和软件两部分。硬件就是系统配置,选择PLC模块,犹如人的身体;软件就是控制程序,犹如人的灵魂。PLC控制系统是否能够达到控制要求,发挥最大的作用,不仅仅需要先进的硬件系统,还需要完善的控制程序。硬件一旦确定,就不容易进行大范围的修改,而控制程序可以随时根据控制要求进行修改。对于规模较大的企业,PLC控制系统就需要配套可读性强的控制程序才能发挥最大的作用,提高生产效率。

1.自锁控制程序

逆序停止控制程序,根据控制要求设备C停止条件:“停止”常开点变为ON一次,“设备C”为ON,“设备C停止”线圈得电,实现自锁,“设备C停止”常闭点变OFF,“设备C”控制回路断电,“设备C”变为OFF。设备B停车条件:“设备C”为OFF、“设备B”为ON,“设备B逆停”线圈得电,实现自锁,“设备B停止”“设备B停止”常闭点变OFF,“设备B”控制回路断电,“设备B”变为OFF。同理可以分析设备A停车条件,在此不再累述。控制程序如图三所示。

但是该控制程序也存在问题,在启动程序中,只要“设备A”启动,“设备B”、“设备C”也会启动。在停止程序中,如果“设备C”因故障或者其他原因停车,“设备A”、“设备B”也会停止。这样的控制程序无法在工程实践中应用。

2.1控制程序的改进

结合工程实际,需要对其进行修改。增加一个起车警报,按下启动钮一次,设备全部无过载,停钮位按下,警报响60秒,提醒现场人员设备马上启动,注意安全,警报停止后,则“顺序启动”为ON,设备A、B、C,顺序起车,间隔时间为5秒。与上例启动程序不同的是把中间继电器换成定时器,时基为0.1秒。在没有启动警报的情况下,即使“设备A”由于某种原因为ON,设备B、设备C也不会跟着启动。设备启动完毕或者某台设备过载,则“启动标志”变为OFF。如果想要再次启动,必须重新发警报,保障了安全。

按下停止钮,“逆序停止”为ON,设备A、B、C逆序停车,间隔时间为5秒。如果“逆序停止”为OFF,即使“设备C”停止了,“设备B”、“设备C”也不会停止。与上例停止程序不同的是将中间继电器换成定时器,时基为0.1秒。设备停止完毕后,“停止完毕”变为OFF。控制程序如图四、图五所示。

在本例中,设备A控制回路中“设备A过载”信号和“设备A”信号是设备A固有的信号,而“设备A启动”信号、“设备A停止”信号是闭锁关系信号。设备B控制回路中“设备B过载”信号和“设备B”信号是设备B固有的信号,而“设备B启动”信号、“设备B停止”信号和“设备A”信号闭锁关系信号。设备C控制回路中“设备C过载”信号和“设备C”信号是设备C固有的信号,而“设备C启动”信号、“设备C停止”信号、“设备A”信号和“设备B”信号是闭锁关系信号。

2.2归纳总结

通过以上控制程序,可以得出以下结论,无论是哪一台设备,都有起车条件和停车条件,起车条件既受设备自身信号控制,也受外部信号控制,即闭锁关系,所以起车条件又可以分为内部条件和外部条件。同理,停车条件既可以受设备自身信号控制,也可以受外部信号控制,所以停车条件也分为内部条件和外部条件。设备控制条件可分为内部条件和外部条件。内部条件由设备决定,是设备固有的信号,一般情况下设备不变,设备的固有信号也不会发生变化。但是外部条件由外部信号控制,即闭锁关系,不受设备自身控制,取决于控制要求,可以增加,也可以减少。所以在编写控制程序的时候,具体到某一台设备,可以把该设备的内部条件按照要求串入控制回路中,然后再根据闭锁关系串入外部条件。

“设备B过载”信号取决于设备B,只与设备B有直接关系。设备B过载后,“设备B过载”常闭点为OFF,设备B停车,然后“设备B”信号闭锁设备C停车。“设备B过载”信号,并没有直接闭锁设备C,而是由“设备B”信号闭锁,所以“设备B过载”信号为设备B的内部条件。“设备B”线圈得电,“设备B”常开点为ON,实现自锁,所以“设备B”信号对设备B自身而言是内部信号。

而“设备B启动”信号和“设备B停止”信号,不受设备B自身控制,完全由外部条件控制。“设备A”信号,取决于设备A自身,该信号闭锁设备B,对设备B而言就是外部条件。所以这三个条件对设备B而言是外部条件,不取决于设备B,这三个外部条件是可以发生变化的。

所以内部条件与外部条件不是绝对的,例如“设备A”信号,对设备A而言就是内部条件,而对设备B、设备C而言,就是外部条件。

设备的内部条件和外部条件可以按照以下原则区分:设备运行不能缺少的条件,只与设备本身有直接关系,是设备运行的必须条件,为内部条件,除此之外为外部条件。

总结,通过以上分析,可以知道内部条件是基础,一旦确定,就不再发生变化,需要串入设备的控制回路。外部条件决定设备的闭锁关系,所以说控制过程是受设备外部条件控制的。通过归类,可以把外部条件分为起车脉冲条件、停车脉冲条件、起车条件三种。起车脉冲条件控制起车脉冲相当于启动钮,停车脉冲条件控制停车脉冲,相当于停止钮,起车条件必须串入设备的控制回路中。在编写控制程序的时候,一定要先根据控制要求,对这三个外部条件进行分析,然后再编写控制程序。这里没有停车条件是因为停车脉冲条件具备了,就会发出停车脉冲,设备就停车了,起车条件不具备了,就直接闭锁设备。这两个条件已经包括了停车条件。

2.3控制过程分析

按照上述分析思路,重新编写上例程序。分析过程如下所示:

设备A起车条件:警报发出,“顺序启动”为ON。设备A未启动。

设备A停车条件:停止钮按下,“逆序停止”为ON。设备B已停止。设备A已启动。

设备B起车条件:警报发出,“顺序启动”为ON。设备A已启动。设备B未启动。

设备B停车条件:停止钮按下,“逆序停止”为ON。设备C已停止。设备B已启动。

设备C起车条件:警报发出,“顺序启动”为ON。设备A、设备B已启动。设备C未启动。

设备C停车条件:停止钮按下,“逆序停止”为ON。设备C已启动。

控制程序如图六所示。

可以看到该控制程序闭锁关系明确,可读性强,如果闭锁关系发生变化或者增加闭锁条件,可以根据要求修改设备起车脉冲条件、停车脉冲条件和起车条件就可以了。

3.总结:

通过定义设备的外部条件和内部条件,可以明确设备的控制条件,使编写控制程序更加方便、快捷,编写出的控制程序可读性更强,闭锁关系清晰,漏洞少,修改方便,方便日后的升级维护,尤其是编写闭锁关系非常复杂的控制程序,其优点更为突出。