可编程序控制器顺序编程方法和技巧*
2014-07-26金彦平
金彦平
(常州工程职业技术学院,江苏 常州213164)
可编程序控制器(PLC)以强大的控制功能,较高的可靠性,使用方便等突出特点,已成为工业控制领域中常见的控制设备之一。目前许多职业院校开设了PLC课程。PLC编程虽说易学易懂,入门容易,但是由于编程的灵活多样性,令许多初学者摸不着头脑,觉得PLC编程无从下手。确实若不掌握好程序编制的逻辑方法,不熟悉程序结构,一般来说就难梳理好编程的思路,难编出好程序。下面笔者根据自己的编程经验,总结归纳了四种顺序编程的方法和技巧,供学习者参考。
在工业控制领域中,很大一部分控制是属于顺序控制,一般学习PLC编程也从顺序控制开始入手。那对于顺序控制流程的对象,如何进行PLC编程,有何方法和技巧呢?一般来说,对于顺序控制,首先必须根据工艺对象的工作流程,分析出顺序控制的具体动作流程,画出PLC控制的顺序功能图,然后再选择合适的编程方法编制程序。一般顺序控制程序有多种编制方法,其各有特点和技巧,现归纳三菱PLC顺序程序编制的四种方法。
1 三菱PLC顺序程序编制的四种方法
1.1 使用启保停电路的编程方法
如图1所示,是采用了启保停电路编程的顺序功能图与梯形图程序。图中M1、M2和M3代表顺序功能图中顺序相连的3步,=1、=2分别是步M1到步M2、步M2到步M3之间的转换条件。编程时一步的启保停电路在梯形图程序一般编制一行。
以步M2程序编制为例,参见梯形图程序的第一行。由于=1是步M1到步M2的转换条件,先将M1和=1的常开触点串联,作为步M2的启动电路;然后将M2的常开触点与M1和=1串联电路并联,作为M2的自保持(自锁)电路;再将后续步M3的常闭触点与M2的线圈串联,作为M2的停止电路,这样一行也就完成了步M2启保停电路的程序编制。与此相仿编写步M3的启保停电路,如图中第二行所示。多步程序可以此类推。
图1 启保停电路的编程
当电路工作时,若M1为活动步且转换条件=1=1时,则步M2=1变为活动步,且通过M2常开触点自保持。电路当转换条件=2=1时,则步M3=1变为活动步,而步 M2=0变为不活动步,这时程序从步M2顺序传递到步M3,其他顺序步以此类推。最终根据顺序功能图,可以用代表步的辅助继电器的常开触点或它们的并联电路集中驱动输出继电器的线圈。
1.2 以转换为中心的编程方法
图2所示是采用以转换为中心编程的顺序功能图与梯形图程序。此方法编程的逻辑思路是在某一转换的前级步是活动步并且相应的转换条件满足时,则电路实现转换。
如图2中=1是步M1到步M2的转换条件,在梯形图中将前级步M1和=1的常开触点串联,即组成步M1转换到步M2的两个条件,后面紧跟SET M2指令将M2置位、RST M1指令将M1复位的并联电路块,实现开启下一步(M2),关闭上一步(M1)承上启下的作用。故当电路前级步是活动步(M1=1)及转换条件(=1=1)同时满足时,则该电路接通,此时后续步变为活动步(M2=1)、前级步变为不活动步(M1=0),实现动作的顺序转换。任何顺序控制电路,代表步的辅助继电器的控制电路都可以用这一方法来设计,每一个转换对应一个控制置位和复位的电路块,有多少个转换就有多少个这样的电路块。最终各步输出驱动电路仍可以采用辅助继电器集中输出的方式解决。
图2 以转换为中心的编程
这种设计方法很有规律,在设计复杂的顺序功能图的梯形图时不容易出错。此种编程方法与转换实现的基本规则之间有着严格的对应关系,用它编制复杂的顺序程序时,更能显示其优越性。
1.3 使用步进指令的编程方法
图3所示是采用步进指令编程的顺序功能图与梯形图程序。使用此方法编程,必须用S状态继电器代表顺序功能图中的各步,每一步都具有三种功能:负载的驱动处理、指定转换条件和指定转换目标。
图3 步进指令的编程
以步S20为例,编写的格式是将STL触点(S20)与母线相连,其后设置驱动对象(Y0),然后再设置转换条件及转换目标,即并联=1常开触点与SET S21的串联电路。当步S20为活动步时,S20的STL触点接通,Y0置“1”输出信号。如果转换条件=1=1时,后续步S21被置位变成活动步,同时前级步S20自动断开变成不活动步,Y0置“0”输出断开。其他步都可以采用这一设计方法,如图中步S21。此方法每一步均是相对固定的格式,易学易懂,编制复杂程序时虽步数多但易检查易调试,还可与便利指令一起配合使用。
1.4 使用移位指令的编程方法
这里主要介绍使用位左移指令(SFTL)编写顺序控制程序的方法。编程中位左移指令的控制条件,是用各顺序辅助继电器串联对应步转换条件再并联的方式,在位左移指令执行时,使位元件中的状态成单地向左移动,从而实现动作的传递,达到顺序控制的目的。
图4 移位指令的编程
如图4所示,是采用位左移指令(SFTL)编程的顺序功能图与梯形图程序。编程时先设置位左移指令的参数,根据顺序功能图,以代表3步的M101、M102、M103三个辅助继电器起始步M101为首地址,设置SFTL指令参数n1=K3,再选择1个位寄存器,如图中选择了M100辅助继电器,设置SFTL指令参数n2=K1。SFTL指令条件的第一行,采用M100的常开触点与=0的常开触点串联,表达在M100=1及初始条件=0=1时,SFTL指令执行1次;同样第二行表达在M101=1及条件=1=1时,SFTL指令执行1次;其他各行以此类推。图中程序的第一行是M100辅助继电器赋值电路,=4为程序执行开关,它与三个辅助继电器的常闭触点串联,在=4=1、SFTL指令未执行前时M100=1;而当条件=0=1时,SFTL指令会执行一次左移位,结果 M100=0,M101=1,并为下一步动作做好了准备;而当条件=1=1时,SFTL指令再执行一次左移位,结果 M101=0,M102=1,为再下一步动作又做好了准备,以此类推。最后一步完成后,各步辅助继电器为0,又会使M100=1,程序回到初始位,可循环往复控制。最后程序各步的驱动电路仍可采用辅助继电器集中输出的方式解决。
2 结语
以上总结归纳的顺序编程方法,是PLC顺序控制常用的四种方法,每种方法都以顺序功能图为基础,故顺序功能图是进行编程的前提,而后采用的各种方法,每个方法都有自己编写的模式,每一种模式都有相对固化的、一定逻辑的对应关系,这是我们编程人员必须搞清楚的关键点,掌握了这些关键因素和要点,就能理好思路,轻松编写好顺序控制程序了。