石 昊
(1.太原理工大学 阳泉学院 信息工程与自动化系,山西 阳泉 045000;2.太原理工大学 信息工程学院,山西 太原 030024)
PLC是适用于工业环境而开发的自动化控制设备,其使用者多数为企业中的电气技术人员,为适应他们的传统习惯和掌握能力,通常PLC不采用计算机编程语言,而常常采用面向控制过程、面向问题的“自然语言”编程。实际工作中,梯形图是使用得最多的图形编程语言,梯形图与传统的继电器控制系统的电气图类似,具有直观易懂的特点,更容易被电气技术人员所掌握。
PLC采用循环扫描的工作方式,以扫描周期为基本单位,每个扫描周期都会把用户程序完整地执行一遍,而不像常见的计算机程序,只是将程序从头到尾执行一遍。因此,在分析梯形图程序时不能以程序为单位进行分析,而是以周期为单位进行分析,即每个周期都要从头到尾完整地分析一遍程序。
PLC的梯形图语言符合电气原理图规律,易于被人们接受和掌握,因此传统的电气技术人员即使不具备计算机知识也可以方便地使用。从设计表达形式看,PLC的梯形图与继电器控制系统的电气图很相似,都采用电气符号来表示。但是由于PLC本质是工业用计算机,因此分析梯形图程序时,不能照搬电气图的分析方法,还应考虑计算机的工作原理。
基于PLC梯形图程序的特点,因此初学者在分析PLC梯形图程序时容易陷入一些误区。
首先,在继电器控制系统中,当一些梯级同时满足导通条件时,这些梯级中的继电器线圈会同时通电,可见继电器控制系统是一种并行的工作方式。而PLC采用循环扫描的工作方式,即程序的执行是按语句排列的先后顺序进行的,是一种串行的工作方式,不会出现多个线圈同时改变状态的情况,这样有利于避免触点竞争和时序失配。因此,在分析梯形图程序时应时刻注意各继应器线圈的状态是依次改变的,上一条语句赋予了某个继电器线圈新的状态,紧接着再用到该继电器触点时,就要按新的状态来执行,即一定要按照书写顺序一条一条来分析,当同时分析几行梯形图时,很容易受到分析继电器电路的思路的影响,进而产生一些错误的结论。
其次,不能以理解计算机程序的思路来理解梯形图程序,计算机是等待命令的工作方式,程序中即使有循环有选择也往往只是整段程序从头到尾执行一遍。而PLC却是在一遍一遍不停的执行程序,每个周期都要把整个程序执行一遍,所以本周期某条指令执行的结果,下一周期就可能会对写在它前面的指令的执行发生影响。因此,在分析梯形图程序时,应排除分析计算机程序时的习惯性思维。
为使初学者在学习PLC时能够对梯形图程序有更准确的理解,能够掌握更可靠的梯形图分析方法,笔者总结归纳了分析梯形图程序的入门方法和工具,即“三条依据+工作波形图”。
把常用的PLC继电器归为4类:输入继电器、特殊继电器、普通继电器和输出继电器。为了使初学者能够更明确地判断各继电器的状态,总结以下3点:①输入继电器和输出继电器的状态是由外部设备或PLC本身来决定的,指令无法随意改变其状态;②普通继电器和输出继电器的状态是由指令来决定的,指令没有改变时,其状态就保持上一周期延续下来的状态不变;③除一些特殊继电器外,大部分继电器的初始状态为OFF。
工作波形图是分析梯形图程序的一种工具。PLC中的工作波形图是指继电器线圈的状态随时间变化的曲线,用处于高位的点表示继电器线圈状态为ON,处于低位的点表示继电器线圈状态为OFF,横轴为时间轴。通过工作波形图能够明确地看出各继电器之间的关系,因此可利用画工作波形图的方法来分析和理解梯形图程序的功能。
首先,应确定需要画哪个工作波形图。程序中各继电器的状态往往是相互制约的,如果只画某几个继电器的工作波形图,往往会容易混淆他们之间的约束关系。因此,应把梯形图程序中涉及到的所有继电器线圈的状态画出来。当每个继电器的状态都以工作波形图的方式画出来的时候,输出继电器随输入继电器的状态变化关系也就显而易见了。因此可直观地看到输出信号随着输入信号的变化而变化,而这种变化关系正体现出了该梯形图程序的功能。
其次,以PLC工作的扫描周期为基本单位画工作波形图,把每个扫描周期各继电器的状态画出来,则工作波形图也就形成了。但是,PLC的扫描周期是以微秒为单位衡量的,一秒钟会有很多个扫描周期,而分析的程序运行时间较长,因此必须要确定哪些扫描周期是需要分析的。
(1)第一个扫描周期。由于各继电器状态在周期之间具有延续性,因此确定第一个周期各继电器的状态,有助于确定后续周期各继电器的状态。
(2)有继电器的状态发生改变的周期。通常是输入继电器或者特殊继电器的状态发生改变从而引起普通继电器和输出继电器状态随之改变。而且往往我们不能只分析一个扫描周期,因为某个继电器状态的改变有可能在下一周期影响到前面程序段中继电器的状态。因此,在分析时应从继电器线圈状态发生改变的周期开始,直到各继电器的状态都稳定的周期为止。
除上述两种特殊情况外,其余周期的各继电器的状态均稳定,我们只需顺着前续的状态画出来即可。
由于各继电器的状态特点,因此,在画工作波形图时,一般先画特殊继电器和输入继电器,然后画普通继电器和输出继电器。图1为启保停控制程序的工作波形图。
图1 启保停控制程序的工作波形图
梯形图程序分析方法为初学者提供了一种直观、明确、可操作性强,而且很容易掌握的梯形图分析方法,让初学者在对PLC和梯形图理解还不够深入的时候,具备能够分析较简单的梯形图程序的能力。
[1] 赵营,严义.基于梯形图复杂依赖关系的分解研究[J].机电工程,2012,29(5):605-608.
[2] 何敏佳,张燕.梯形图与指令表互译算法的设计与实现[J].计算机技术与发展,2011,21(11):208-210.
[3] 张还.常用梯形图程序设计方法在PLC实验中的应用[J].机械制造与自动化,2011(3):172-174.
[4] 庞春.深入理解PLC的工作方式[J].数字技术与应用,2011(7):164-165.
[5] 李会娟.PLC梯形图编程规则浅析[J].电气制造,2009(2):42-43.
[6] 肖丽仙.PLC控制中梯形图程序的编程方法和技巧[J].自动化技术与应用,2008,27(7):129-131.
[7] 石玉明,李锡辉.PLC梯形图设计方法研究[J].现代电子技术,2007,30(12):145-147.
[8] 杨怀林.用PLC改造继电控制系统的梯形图设计与实现[J].机床电器,2006,33(6):27-28,34.
[9] 王成安,关长伟.PLC的梯形图语言在实际工程设计中容易出现的错误分析[J].丹东纺专学报,2003,10(4):12-13.
[10]宫淑贞,许世许.可编程控制器原理及应用[M].第3版.北京:人民邮电出版社,2012.
[11]许廖,王淑英.电气控制与PLC应用[M].第4版.北京:机械工业出版社,2009.