梯形图的编程方式是指根据功能表图设计出梯形图的方法。为了适应各厂家的PLC在编程元件、指令功能和表示方法上的差异,下面主要介绍使用通用指令的编程方式、以转换为中心的编程方式、使用STL指令的编程方式和仿STL指令的编程方式。
为了便于分析,我们假设刚开始执行用户程序时,系统已处于初始步(用初始化脉冲M8002将初始步置位),代表其余各步的编程元件均为OFF,为转换的实现做好了准备。
1.使用通用指令的编程方式
编程时用辅助继电器来代表步。某一步为活动步时,对应的辅助继电器为“1”状态,转换实现时,该转换的后续步变为活动步。由于转换条件大都是短信号,即它存在的时间比它激活的后续步为活动步的时间短,因此应使用有记忆(保持)功能的电路来控制代表步的辅助继电器。属于这类的电路有“起保停电路”和具有相同功能的使用SET、RST指令的电路。
如图5-27a所示Mi-1、Mi和Mi+l是功能表图中顺序相连的3步,Xi是步Mi之前的转换条件。
图5-27 使用通用指令的编程方式示意图
编程的关键是找出它的起动条件和停止条件。根据转换实现的基本规则,转换实现的条件是它的前级步为活动步,并且满足相应的转换条件,所以步Mi变为活动步的条件是Mi-1为活动步,并且转换条件Xi=1,在梯形图中则应将Mi-1和Xi的常开触点串联后作为控制Mi的起动电路,如图5-27b所示。当Mi和Xi+1均为“l”状态时,步Mi+1变为活动步,这时步Mi应变为不活动步,因此可以将Mi+1=1作为使Mi变为“0”状态的条件,即将Mi+1的常闭触点与Mi的线圈串联。也可用SET、RST指令来代替“起保停电路”,如图5-27c所示。
这种编程方式仅仅使用与触点和线圈有关的指令,任何一种PLC的指令系统都有这一类指令,所以称为使用通用指令的编程方式,可以适用于任意型号的PLC。
如图5-28所示是根据液压滑台系统的功能表图(见图5-26b)使用通用指令编写的梯形图。开始运行时应将M300置为“1”状态,否则系统无法工作,故将M8002的常开触点作为M300置为“1”条件。M300的前级步为M303,后续步为M301。由于步是根据输出状态的变化来划分的,所以梯形图中输出部分的编程极为简单,可以分为两种情况来处理:
1)某一输出继电器仅在某一步中为“1”状态,如Y1和Y2就属于这种情况,可以将Y1线圈与M303线圈并联,Y2线圈与M302线圈并联。看起来用这些输出继电器来代表该步(如用Y1代替M303),可以节省一些编程元件,但PLC的辅助继电器数量是充足、够用的,且多用编程元件并不增加硬件费用,所以一般情况下全部用辅助继电器来代表各步,具有概念清楚、编程规范、梯形图易于阅读和容易查错的优点。
2)某一输出继电器在几步中都为“1”状态,应将代表各有关步的辅助继电器的常开触点并联后,驱动该输出继电器的线圈。如Y0在快进、工进步均为“1”状态,所以将M301和M302的常开触点并联后控制Y0的线圈。注意,为了避免出现双线圈现象,不能将Y0线圈分别与M301和M302的线圈并联。
图5-28 使用通用指令编程的液压滑台系统梯形图。