2.3 梯形图程序设计法

2.3.1 梯形图经验设计法

1.梯形图中的基本电路

(1)起保停电路与置位复位电路

起动-保持-停止电路(简称为起保停电路)是梯形图中的电路,其电路如图2-18所示。

978-7-111-47789-1-Chapter02-29.jpg

图2-18 起保停电路与置位复位电路

图2-18中侧的起动信号I0.0和停止信号I0.1(例如起动按钮和停止按钮提供的信号)持续为1状态的时间一般都很短。起保停电路最主要的特点是具有“记忆”功能,按下起动按钮,I0.0的常开触点接通,Q0.0的线圈“通电”,它的常开触点同时接通。放开起动按钮,I0.0的常开触点断开,“能流”经Q0.0的常开触点和I0.1的常闭触点流过Q0.0的线圈,Q0.0仍为1状态,这就是所谓的“自锁”或“自保持”功能。按下停止按钮,I0.1的常闭触点断开,使Q0.0的线圈“断电”,其常开触点断开。以后即使放开停止按钮,I0.1的常闭触点恢复接通状态,Q0.0的线圈仍然“断电”。

这种记忆功能也可以用图2-18中的S指令和R指令来实现。起保停电路与置位复位电路是后面要重点介绍的顺序控制设计法的基本电路。在实际电路中,起动信号和停止信号可能由多个触点组成的串、并联电路提供。

(2)三相异步电动机的正反转控制电路

如图2-19是三相异步电动机正反转控制的主电路和继电器控制电路图,KM1和KM2分别是控制正转运行和反转运行的交流接触器。用KM1和KM2的主触点改变进入电动机的三相电源的相序,就可以改变电动机的旋转方向。图中的FR是热继电器,在电动机过载时,它的常闭触点断开,使KM1或KM2的线圈断电,电动机停转。

如图2-19中的控制电路由两个起保停电路组成,为了节省触点,FR和SB1的常闭触点供两个起保停电路公用。按下正转起动按钮SB2,KM1的线圈通电并自保持,电动机正转运行。按下反转起动按钮SB3,KM2的线圈通电并自保持,电动机反转运行。按下停止按钮SB1,KM1或KM2的线圈断电,电动机停止运行。

978-7-111-47789-1-Chapter02-30.jpg

图2-19 异步电动机正反转继电器控制电路

为了方便操作和保证KM1和KM2不会同时动作,在图2-19中设置了“按钮联锁”,将正转起动按钮SB2的常闭触点与控制反转的KM2的线圈串联,将反转起动按钮SB3的常闭触点与控制正转的KM1的线圈串联。设KM1的线圈通电,电动机正转,这时如果想改为反转,可以不按停止按钮SB1,直接按反转起动按钮SB3,它的常闭触点断开,使KM1的线圈断电,同时SB3的常开触点接通,使KM2的线圈得电,电动机由正转变为反转。由主电路可知,如果KM1和KM2的主触点同时闭合,将会造成三相电源相间短路的故障。在控制电路中,KM1的线圈串联了KM2的辅助常闭触点,KM2的线圈串联了KM1的辅助常闭触点,它们组成了硬件互锁电路。

假设KM1的线圈通电,其主触点闭合,电动机正转。因为KM1的辅助常闭触点与主触点是联动的,此时与KM2的线圈串联的.KM1的常闭触点断开,因此按反转起动按钮SB3之后,要等到KM1的线圈断电,它在主电路的常开触点断开,辅助常闭触点闭合,KM2的线圈才会通电,因此这种互锁电路可以有效地防止电源短路故障。图2-20和图2-21是实现上述功能的PLC的外部接线图和梯形图。

978-7-111-47789-1-Chapter02-31.jpg

图2-20 PLC的外部接线图

978-7-111-47789-1-Chapter02-32.jpg

图2-21 梯形图

将继电器电路图转换为梯形图时,首先应确定PLC的输入信号和输出信号。3个按钮提供操作人员发出的指令信号,按钮信号必须输入到PLC中去,热继电器的常开触点提供了PLC的另一个输入信号。显然,两个交流接触器的线圈是PLC输出端的负载。画出PLC的外部接线图后,同时也确定了外部输入/输出信号与PLC内的过程映像输入/输出位的地址之间的关系。可以将继电器电路图“翻译”为梯形图,即采用与图2-19中的继电器电路完全相同的结构来画梯形图。各触点的常开、常闭的性质不变,根据PLC外部接线图中给出的关系,来确定梯形图中各触点的地址。图2-19中SB1和FR的常闭触点串联电路对应于图2-21中I0.2的常闭触点。

在图2-21中的梯形图将控制Q0.0和Q0.1的两个起保停电路分离开,电路的逻辑关系比较清晰。虽然多用了一个I0.2的常闭触点,但是并不会增加硬件成本。图2-21使用了Q0.0和Q0.1的常闭触点组成的软件互锁电路。如果没有图2-20的硬件互锁电路,从正转马上切换到反转时,由于切换过程中电感的延时作用,可能会出现原来接通的接触器的主触点还未断开,另一个接触器的主触点已经合上的现象,从而造成交流电源瞬间短路的故障。

此外,如果没有硬件互锁电路,且因为主电路电流过大或接触器质量不好,某一接触器的主触点被断电时产生的电弧熔焊而被粘接,其线圈断电后主触点仍然是接通的,这时如果另一个接触器的线圈通电,也会造成三相电源短路事故。为了防止出现这种情况,应在PLC外部设置由KM1和KM2的辅助常闭触点组成的硬件互锁电路(见图2-20)。这种互锁与图2-19的继电器电路的互锁原理相同,假设KM1的主触点被电弧熔焊,这时它与KM2线圈串联的辅助常闭触点处于断开状态,因此KM2的线圈不可能得电。

2.梯形图的经验设计法

在一些典型电路的基础上,根据被控对象对控制系统的具体要求,不断地修改和完善梯形图,有时需要多次反复地调试和修改梯形图,增加一些中间编程元件和触点,最后才能得到一个较为满意的结果。这种方法没有普遍的规律可以遵循,具有很大的试探性和随意性,最后的结果不是唯一的,设计所用的时间、设计的质量与设计者的经验有很大的关系,所以有人把这种设计方法叫经验设计法,它可以用于较简单的梯形图(例如手动程序)的设计。

(1)小车自动往返控制程序的设计

异步电动机的主回路与图2-19中的相同。在图2-20的基础上,增加了接在I0.3和I0.4输入端子的左限位开关SQ1和右限位开关SQ2的常开触点(见图2-22)。

按下右行起动按钮SB2或左行起动按钮SB3后,要求小车在两个限位开关之间不停地循环往返,按下停止按钮SB1后,电动机断电,小车停止运动。可以在三相异步电动机正反转继电器控制电路的基础上,设计出满足要求的梯形图(见图2-23)。

978-7-111-47789-1-Chapter02-33.jpg

图2-22 PLC的外部接线图

为了使小车的运动在极限位置自动停止,将右限位开关I0.4的常闭触点与控制右行的Q0.0的线圈串联,将左限位开关I0.3的常闭触点与控制左行的Q0.1的线圈串联。为了使小车自动改变运动方向,将左限位开关I0.3的常开触点与手动起动右行的I0.0的常开触点并联,将右限位开关I0.4的常开触点与手动起动左行的I0.1的常开触点并联。

假设按下左行起动按钮I0.1,Q0.1变为1状态,小车开始左行,碰到左限位开关时,I0.3的常闭触点断开,使Q0.1的线圈“断电”,小车停止左行。I0.3的常开触点接通,使Q0.0的线圈“通电”,开始右行。碰到右限位开关时,I0.4的常闭触点断开,使Q0.0的线圈“断电”,小车停止右行。I0.4的常开触点接通,使Q0.1的线圈“通电”,又开始左行。以后将这样不断地往返运动下去,直到按下停车按钮,I0.2变为1状态,其常闭触点使Q0.0或Q0.1的线圈断电。

978-7-111-47789-1-Chapter02-34.jpg

图2-23 小车自动往返的梯形图

这种控制方法适用于小容量的异步电动机,且往返不能太频繁,否则易导致电动机过热。

(2)较复杂的小车自动运行控制程序的设计

首先,较为复杂的小车自动运行控制的PLC外部接线图与图2-22相同。小车开始时停在左边,左限位开关SQ1的常开触点闭合。要求按下列顺序控制小车:

1)按下右行起动按钮,小车开始右行。

2)走到右限位开关处,小车停止运动,延时8s后开始左行。

3)回到左限位开关处,小车停止运动。

在异步电动机正反转控制电路的基础上设计的满足上述要求的梯形图如图2-24所示。

在控制右行的Q0.0的线圈回路中串联了I0.4的常闭触点,小车走到右限位开关SQ2处时,I0.4的常闭触点断开,使Q0.0的线圈断电,小车停止右行。同时I0.4的常开触点闭合,定时器TON的IN输入为1状态,开始定时。8s后定时时间到,用定时器的Q输出端控制的M2.0的常开触点闭合,使Q0.1的线圈通电并自保持,小车开始左行。离开限位开关SQ2后,I0.4的常开触点断开,定时器因为其IN输入变为0状态而被复位。小车运行到左边的起始点时,左限位开关SQ1的常开触点闭合,I0.3的常闭触点断开,使Q0.1的线圈断电,小车停止运动。

在梯形图中,保留了左行起动按钮I0.1和停止按钮I0.2的触点,使系统有手动操作的功能。串联在起保停电路中的限位开关I0.3和I0.4的常闭触点在手动时可以防止小车的运动超限。

978-7-111-47789-1-Chapter02-35.jpg

图2-24 梯形图

2.3.2 顺序控制功能图

在用经验设计法设计梯形图时,因为没有一套固定的方法和步骤可以遵循,并且由于程序的试探性和随意性,对于设计复杂系统的梯形图时,要用大量的中间单元来完成记忆和互锁等功能,由于需要考虑的因素很多,它们往往又交织在一起,分析起来非常困难,并且很容易遗漏一些应该考虑的问题。尤其在修改某一局部电路时,往往会出现“牵一发而动全身”的麻烦,对系统的其他部分产生意想不到的影响,因此梯形图的修改也很麻烦,往往花了很长的时间还得不到一个满意的结果。用经验法设计出的复杂的梯形图很难阅读,给系统的维修和改进带来了很大的困难。

顺序控制设计法是一种先进的设计方法,很容易被初学者接受,对于有经验的工程师,也会提高设计的效率,程序的调试、修改和阅读也很方便。所谓顺序控制,就是按照生产工艺预先规定的顺序,在各个输入信号的作用下,根据内部状态和时间的顺序,在生产过程中各个执行机构自动地有秩序地进行操作。

顺序功能图(Sequential Function Chart,SFC)是描述控制系统的控制过程、功能和特性的一种图形,也是设计PLC的顺序控制程序的有力工具。顺序功能图并不涉及所描述的控制功能的具体技术,它是一种通用的技术语言,可以供进一步设计和不同专业的人员之间进行技术交流之用。现在还有相当多的PLC(包括S7-1200)没有配备顺序功能图语言,但是可以用顺序功能图来描述系统的功能,根据它来设计梯形图程序。

1.步与动作

(1)步

顺序控制设计法最基本的思想是将系统的一个工作周期划分为若干个顺序相连的阶段,这些阶段称为步(Step),并用编程元件(例如位存储器M)来代表各步。步是根据输出量的状态变化来划分的,在任何一步之内,各输出量的ON/OFF状态不变,但是相邻两步输出量总的状态是不同的,步的这种划分方法使代表各步的编程元件的状态与各输出量的状态之间有着极为简单的逻辑关系。

顺序控制设计法用转换条件控制代表各步的编程元件,让它们的状态按一定的顺序变化,然后用代表各步的编程元件去控制PLC的各输出位,我们还是以小车控制程序为例,如图2-25所示。

978-7-111-47789-1-Chapter02-36.jpg

图2-25 系统示意图与波形图

在图2-25中,小车开始时停在最左边,限位开关I0.2为1状态。按下起动按钮,Q0.0变为1状态,小车右行。碰到右限位开关I0.1时,Q0.0变为0状态,Q0.1变为1状态,小车改为左行。返回起始位置时,Q0.1变为0状态,小车停止运行,同时Q0.2变为1状态,使制动电磁铁线圈通电,接通延时定时器开始定时。定时时间到,制动电磁铁线圈断电,系统返回初始状态。

根据Q0.0~Q0.2的ON/OFF状态的变化,显然可以将上述工作过程分为3步,分别用M4.1~M4.3来代表这3步,另外还设置了一个等待起动的初始步。图2-26是描述该系统的顺序功能图,图中用矩形方框表示步,方框中可以用数字表示该步的编号,也可以用代表该步的编程元件的地址作为步的编号,例如M4.0等。为了便于将顺序功能图转换为梯形图,用代表各步的编程元件的地址作为步的代号,并用编程元件的地址来标注转换条件和各步的动作或命令。

(2)初始步

与系统的初始状态相对应的步称为初始步,初始状态一般是系统等待起动命令的相对静止的状态。初始步用双线方框表示,每一个顺序功能图至少应该有一个初始步。

978-7-111-47789-1-Chapter02-37.jpg

图2-26 顺序功能图

(3)活动步

当系统正处于某一步所在的阶段时,该步处于活动状态,称该步为“活动步”。步处于活动状态时,执行相应的非存储型动作;处于不活动状态时,则停止执行。

(4)与步对应的动作或命令

可以将一个控制系统划分为被控系统和施控系统,例如在数控车床系统中,数控装置是施控系统,而车床是被控系统。对于被控系统,在某一步中要完成某些“动作”(Action),对于施控系统,在某一步中则要向被控系统发出某些“命令”(Command)。为了叙述方便,下面将命令或动作统称为动作,并用矩形框中的文字或变量表示动作,该矩形框应与它所在的步对应的方框相连。如果某一步有几个动作,可以用图2-27中的两种画法来表示,但是并不隐含这些动作之间的任何顺序。应清楚地表明动作是存储型的还是非存储型的。

978-7-111-47789-1-Chapter02-38.jpg

图2-27 动作

在图2-26中的Q0.0~Q0.2均为非存储型动作,例如在步M4.1为活动步时,动作Q0.0为1状态,步M4.1为不活动步时,动作Q0.0为0状态。步与它的非存储型动作的波形完全相同。

某些动作在连续的若干步都应为1状态,可以在顺序功能图中,用动作的修饰词“S”(见表2-7)将它在应为1状态的第一步置位,用动作的修饰词“R”将它在应为1状态的最后一步的下一步复位为0状态。这种动作是存储型动作,在程序中用置位、复位指令来实现。在图2-18中,定时器T1的IN输入在步M4.3为活动步时为1状态,步M4.3为不活动步时为0状态,从这个意义上来说,T1的IN输入相当于步M4.3的一个非存储型动作,所以将T1放在步M4.3的动作框内。

表2-7 动作的修饰词

978-7-111-47789-1-Chapter02-39.jpg

使用动作的修饰词(如前表2-7所示),可以在一步中完成不同的动作。修饰词允许在不增加逻辑的情况下控制动作。例如,可以使用修饰词L来限制配料阀打开的时间。

2.有向连线与转换条件

(1)有向连线

在顺序功能图中,随着时间的推移和转换条件的实现,将会发生步的活动状态的进展,这种进展按有向连线规定的路线和方向进行。

在画顺序功能图时,将代表各步的方框按它们成为活动步的先后次序顺序排列,并用有向连线将它们连接起来。步的活动状态习惯的进展方向是从上到下或从左至右,在这两个方向有向连线上的箭头可以省略。如果不是上述的方向,则应在有向连线上用箭头注明进展方向。为了更易于理解,在可以省略箭头的有向连线上也可以加箭头。

如果在画图时有向连线必须中断,(例如在复杂的图中,或用几个图来表示一个顺序功能图时),应在有向连线中断之处标明下一步的标号和所在的页数,例如“步80、10页”。

(2)转换

转换用有向连线上与有向连线垂直的短画线来表示,转换将相邻两步分隔开。步的活动状态的进展是由转换的实现来完成的,并与控制过程的发展相对应。

(3)转换条件

使系统由当前步进入下一步的信号称为转换条件,转换条件可以是外部的输入信号,例如按钮、指令开关、限位开关的接通或断开等;也可以是PLC内部产生的信号,例如定时器、计数器常开触点的接通等,转换条件还可以是若干个信号的与、或、非逻辑组合。

转换条件可以用文字语言、布尔代数表达式或图形符号标注在表示转换的短线旁,使用得最多的是布尔代数表达式(见图2-28)。

978-7-111-47789-1-Chapter02-40.jpg

图2-28 转换与转换条件

转换条件I0.0和I0.0分别表示当输入信号I0.0为1状态和0状态时转换实现。符号↑I0.0和↓I0.0分别表示当I0.0从0状态到1状态和从1状态到0状态时转换实现。实际上即使不加符号“↑”,转换一般也是在信号的上升沿实现的,因此一般不加“↑”。

图2-28用高电平表示步M2.1为活动步,反之则用低电平表示。转换条件I0.0·I2.1表示I0.0的常开触点与I2.1的常闭触点同时闭合,在梯形图中则用两个触点的串联来表示这样一个“与”逻辑关系。

图2-26中步M4.3下面的转换条件M2.1对应于定时器T1的Q输出信号,T1的定时时间到时,转换条件满足。在顺序功能图中,只有当某一步的前级步是活动步,该步才有可能变成活动步。如果用没有断电保持功能的编程元件来代表各步,进入RUN工作方式时,它们均处于0状态。

在对CPU组态时如果设置默认的MB1为系统存储器字节,则必须用开机时接通一个扫描周期的M1.0的常开触点作为转换条件,将初始步预置为活动步(见图2-26),否则因为顺序功能图中没有活动步,系统将无法工作。如果系统有自动、手动两种工作方式,顺序功能图是用来描述自动工作过程的,这时还应在系统由手动工作方式进入自动工作方式时,用一个适当的信号将初始步置为活动步(见2.3.4节)。

3.顺序功能图的组成

(1)单序列

单序列由一系列相继激活的步组成,每一步的后面仅有一个转换,每一个转换的后面只有一个步(见图2-29a),单序列的特点是没有下述的分支与合并。

(2)选择序列

选择序列的开始称为分支(见图2-29b),转换符号只能标在水平连线之下。如果步5是活动步,并且转换条件h为1状态,则发生由步5→步8的进展。如果步5是活动步,并且k为1状态,则发生由步5→步10的进展。如果将选择条件k改为k·h,则当k和h同时为1状态时,将优先选择h对应的序列,一般只允许同时选择一个序列。

选择序列的结束称为合并(见图2-29b),几个选择序列合并到一个公共序列时,用需要重新组合的序列相同数量的转换符号和水平连线来表示,转换符号只允许标在水平连线之上。如果步9是活动步,并且转换条件j为1状态,则发生由步9→步12的进展。如果步11是活动步,并且n为1状态,则发生由步11→步12的进展。

978-7-111-47789-1-Chapter02-41.jpg

图2-29 单序列、选择序列与并行序列

(3)并行序列

并行序列用来表示系统的几个同时工作的独立部分的工作情况。并行序列的开始称为分支(见图2-29c)。

当转换的实现导致几个序列同时激活时,这些序列称为并行序列。当步3是活动的,并且转换条件e为1状态,步4和步6同时变为活动步,同时步3变为不活动步。为了强调转换的同步实现,水平连线用双线表示。步4和步6被同时激活后,每个序列中活动步的进展将是独立的。在表示同步的水平双线之上,只允许有一个转换符号。

并行序列的结束称为合并(见图2-29c),在表示同步的水平双线之下,只允许有一个转换符号。当直接连在双线上的所有前级步(步5和步7)都处于活动状态,并且转换条件i为1状态时,才会发生步5和步7到步10的进展,即步5和步7同时变为不活动步,而步10变为活动步。

(4)顺序功能图举例

【例2-1】某专用钻床用来加工圆盘状零件上均匀分布的6个孔,见图2-30所示。上面是侧视图,下面是工件的俯视图。

在进入自动运行之前,两个钻头应在最上面,上限位开关I0.3和I0.5为1状态,系统处于初始步,加计数器C0被复位,实际计数值CV被清零。用存储器位M来代表各步,顺序功能图中包含了选择序列和并行序列。操作人员放好工件后,按下起动按钮I0.0,转换条件I0.0·I0.3·I0.5满足,由初始步转换到步M4.1,Q0.0变为1状态,工件被夹紧。夹紧后压力继电器I0.1为1状态,由步M4.1转换到步M4.2和M4.5,Q0.1和Q0.3使两只钻头同时开始向下钻孔。大钻头钻到由限位开关I0.2设定的深度时,进入步M4.3,Q0.2使大钻头上升,升到由限位开关I0.3设定的起始位置时停止上升,进入等待步M4.4。小钻头钻到由限位开关I0.4设定的深度时,进入步M4.6,Q0.4使小钻头上升,设定值为3的加计数器C0的实际计数值加1。升到由限位开关I0.5设定的起始位置时停止上升,进入等待步M4.7。

C0加1后的实际计数值为1,C0的Q输出端控制的M2.2的常闭触点闭合,转换条件M2.2满足。两个钻头都上升到位后,将转换到步M5.0,Q0.5使工件旋转120°,旋转到位时I0.6为1状态,又返回步M4.2和M4.5,开始钻第2对孔。3对孔都钻完后,实际计数值为3,其Q输出端控制的M2.2变为1状态,转换到步M5.1,Q0.6使工件松开。松开到位时,限位开关I0.7为1状态,系统返回初始步M4.0。

因为要求两个钻头向下钻孔和钻头提升的过程同时进行,故采用并行序列来描述上述的过程。由M4.2~M4.4和M4.5~M4.7组成的两个单序列分别用来描述大钻头和小钻头的工作过程。在步M4.1之后,有一个并行序列的分支。当M4.1为活动步,并且转换条件I0.1得到满足(I0.1为1状态),并行序列的两个单序列中的第1步(步M4.2和M4.5)同时变为活动步。

978-7-111-47789-1-Chapter02-42.jpg

图2-30 专用钻床零件图及控制系统的顺序功能图

此后两个单序列内部各步的活动状态的转换是相互独立的,例如大孔或小孔钻完时的转换一般不是同步的。

两个单序列的最后1步(步M4.4和M4.7)应同时变为不活动步。但是两个钻头一般不会同时上升到位,不可能同时结束运动,所以设置了等待步M4.4和M4.7,它们用来同时结束两个并行序列。当两个钻头均上升到位,限位开关I0.3和I0.5分别为1状态,大、小钻头两个子系统分别进入两个等待步,并行序列将会立即结束。在步M4.4和M4.7之后,有一个选择序列的分支。没有钻完3对孔时,M2.2的常闭触点闭合,转换条件978-7-111-47789-1-Chapter02-43.jpg满足,如果两个钻头都上升到位,将从步M4.4和M4.7转换到步M5.0。如果已经钻完了3对孔,M2.2的常开触点闭合,转换条件M2.2满足,将从步M4.4和M4.7转换到步M5.1。

在步M4.1之后,有一个选择序列的合并。当步M4.1为活动步,而且转换条件I0.1得到满足(I0.1为1状态),将转换到步M42和M4.5。当步M5.0为活动步,而且转换条件↑I0.6得到满足,也会转换到步M4.2和M4.5。

4.绘制顺序功能图的注意事项

(1)顺序功能图转换实现的条件

在顺序功能图中,步的活动状态的进展是由转换的实现来完成的。转换实现必须同时满足两个条件:

1)该转换所有的前级步都是活动步。

2)相应的转换条件得到满足。

这两个条件是缺一不可的,这样才能防止误操作,保证系统严格地按顺序功能图规定的顺序工作。

(2)转换实现应完成的操作

转换实现时应完成以下两个操作:

1)使所有由有向连线与相应转换符号相连的后续步都变为活动步。

2)使所有由有向连线与相应转换符号相连的前级步都变为不活动步。

以上规则可以用于任意结构中的转换,其区别如下:在单序列和选择序列中,一个转换仅有一个前级步和一个后续步。在并行序列的分支处,转换有几个后续步(见图2-29c),在转换实现时应同时将它们对应的编程元件置位。在并行序列的合并处,转换有几个前级步,它们均为活动步时才有可能实现转换,在转换实现时应将它们对应的编程元件全部复位。

如果转换的前级步或后续步不止一个,转换的实现称为同步实现(见图2-31)。为了同步实现,有向连线的水平部分用双线表示。

在梯形图中,用编程元件(例如M)代表步,当某步为活动步时,该步对应的编程元件为1状态。当该步之后的转换条件满足时,转换条件对应的触点或电路接通,因此可以将该触点或电路与代表所有前级步的编程元件的常开触点串联,作为与转换实现的两个条件同时满足对应的电路。

978-7-111-47789-1-Chapter02-44.jpg

图2-31 转换的同步实现

以图2-31为例,转换条件的布尔代数表达式为I0.1+I0.3,它的两个前级步对应于M4.2和M4.4,应将M4.2、M4.4的常开触点组成的串联电路与I0.3的常开触点和I0.1的常闭触点组成的并联电路串联,作为转换实现的两个条件同时满足对应的电路。在梯形图中,该电路接通时,应使代表前级步的M4.2和M4.4复位(变为0状态并保持),同时使代表后续步的M4.5和M4.7置位(变为1状态并保持),完成以上任务的电路将在下一节中介绍。

(3)绘制顺序功能图时的注意事项

下面是针对绘制顺序功能图时常见的错误提出的注意事项:

1)两个步绝对不能直接相连,必须用一个转换将它们分隔开。

2)两个转换也不能直接相连,必须用一个步将它们分隔开。第1条和第2条可以作为检查顺序功能图是否正确的判据。

3)顺序功能图中的初始步一般对应于系统等待起动的初始状态,这一步可能没有什么输出处于ON状态,因此有的初学者在画顺序功能图时很容易遗漏这一步。初始步是必不可少的,一方面因为该步与它的相邻步相比,从总体上说输出变量的状态各不相同;另一方面如果没有该步,无法表示初始状态,系统也无法返回等待起动的停止状态。

4)自动控制系统应能多次重复执行同一工艺过程,因此在顺序功能图中一般应有由步和有向连线组成的闭环,即在完成一次工艺过程的全部操作之后,应从最后一步返回初始步,系统停留在初始状态(单周期操作,见图2-25),在连续循环工作方式时,应从最后一步返回下一工作周期开始运行的第一步(见图2-30)。

2.3.3 含有置位、复位指令的梯形图设计法

1.设计顺序控制梯形图需要考虑的问题

控制系统的梯形图一般采用图2-32所示的典型结构,程序中的汉字是程序作者添加的。在对CPU组态时,设置MB1为系统存储器字节,M1.2的常开触点一直闭合,每次扫描都会执行公用程序。系统有自动和手动两种工作方式,自动方式和手动方式都需要执行的操作放在公用程序FC1中,公用程序还用于自动程序和手动程序相互切换的处理。M6.0是自动/手动切换开关,当它为1状态时调用手动程序FC2,为0状态时调用自动程序FC3。开始执行自动程序时,要求系统处于与自动程序的顺序功能图的初始步对应的初始状态。如果开机时系统没有处于初始状态,则应进入手动工作方式,用手动操作使系统进入初始状态后,再切换到自动工作方式,也可以设置使系统自动进入要求的初始状态的工作方式(见2.3.4节)。

978-7-111-47789-1-Chapter02-45.jpg

图2-32 OB1中的程序

假设刚开始执行用户程序时,系统的机械部分已经处于要求的初始状态。在OB1中用仅在首次扫描循环时为1状态的M1.0将初始步对应的编程元件(例如图2-33中的M4.0)置为1状态,其余各步的编程元件置为0状态,为转换的实现做好准备。如果MB4没有设置保持功能,起动时它被自动清零,可以删除图2-33中的MOVE指令。

978-7-111-47789-1-Chapter02-46.jpg

图2-33 OB1中的初始化电路

2.单序列的编程方法

(1)设计控制代表步的存储器位置位复位的电路的方法

在顺序功能图中,如果某一转换所有的前级步都是活动步,并且满足相应的转换条件,则转换实现,即该转换所有的后续步都变为活动步,该转换所有的前级步都变为不活动步。用该转换所有前级步对应的存储器位(M)的常开触点与转换对应的触点或电路串联,来使所有后续步对应的存储器位置位,和使所有前级步对应的存储器位复位。

置位和复位操作分别使用置位指令和复位指令。在任何情况下,代表步的存储器位的控制电路都可以用这一原则来设计,每一个转换对应一个这样的控制置位和复位的电路块,有多少个转换就有多少个这样的电路块。

这种设计方法特别有规律,梯形图与转换实现的基本规则之间有着严格的对应关系,在设计复杂的顺序功能图的梯形图时既容易掌握,又不容易出错。

(2)编程方法应用举例

在SETP 7 Basic中新建一个名为“小车控制顺序功能”的新项目,将CPU的型号选为CPU 1214C,操作后将图2-26的小车控制系统的顺序功能图重新画在图2-34中。

实现图中I0.1对应的转换需要同时满足两个条件,即该转换的前级步是活动步(M4.1为1状态)和转换条件满足(I0.1为1状态)。在梯形图中,用M4.1和I0.1的常开触点组成的串联电路来表示上述条件。该电路接通时,两个条件同时满足。此时应将该转换的后续步变为活动步,即用置位指令(S指令)将M4.2置位。还应将该转换的前级步变为不活动步,即用复位指令(R指令)将M4.1复位。

用上述的方法编写控制代表步的M4.0~M4.3的电路,每一个转换对应一个这样的电路(见图2-35)。

978-7-111-47789-1-Chapter02-47.jpg

图2-34 顺序功能图

978-7-111-47789-1-Chapter02-48.jpg

图2-35 OB1中的梯形图

使用这种编程方法时,不能将输出位的线圈与置位指令和复位指令并联,这是因为图2-35中控制置位、复位的串联电路接通的时间是相当短的,只有一个扫描周期。转换条件I0.1满足后,前级步M4.1被复位,下一个扫描循环周期M4.1和I0.1的常开触点组成的串联电路断开,而输出位Q的线圈至少应该在某一步对应的全部时间内被接通。所以应根据顺序功能图,用代表步的存储器位的常开触点或它们的并联电路来驱动输出位的线圈。

在制动延时步,M4.3为1状态,它的常开触点接通,使TON定时器开始定时。定时时间到时,定时器的Q输出端控制的M2.1变为1状态,转换条件满足,将转换到初始步M4.0。

3.选择序列编程方法

如果某一转换与并行序列的分支、合并无关,则它的前级步和后续步都只有一个,需要复位、置位的存储器位也只有一个,因此选择序列的分支与合并的编程方法实际上与单序列的编程方法完全相同。

如图2-36所示的顺序功能图中,除了I0.3与I0.6对应的转换以外,其余的转换均与并行序列的分支、合并无关,I0.0~I0.2对应的转换与选择序列的分支、合并有关,它们都只有一个前级步和一个后续步。与并行序列的分支、合并无关的转换对应的梯形图是非常标准的,每一个控制置位、复位的电路块都由前级步对应的一个存储器位的常开触点和转换条件对应的触点组成的串联电路、一条置位指令和一条复位指令组成。

4.并行序列的编程方法

如图2-36中步M4.2之后有一个并行序列的分支,当M4.2是活动步,并且转换条件I0.3满足时,步M4.3与步M4.5应同时变为活动步,这是用M4.2和I0.3的常开触点组成的串联电路使M4.3和M4.5同时置位来实现的。与此同时,步M4.2应变为不活动步,这是用复位指令来实现的。

I0.6对应的转换之前有一个并行序列的合并,该转换实现的条件是所有的前级步(即步M4.4和M4.6)都是活动步,和转换条件I0.6满足。由此可知,应将M4.4、M4.6和I0.6的常开触点串联,作为控制后续步M4.0置位和前级步M4.4、M4.6复位的电路。

在图2-37所示顺序功能图中,转换的上面是并行序列的合并,转换的下面是并行序列的分支,该转换实现的条件是所有的前级步(即步M4.2和M4.4)都是活动步和转换条件I0.1+I0.3满足。因此应将M4.2、M4.4、I0.3的常开触点与I0.1的常闭触点组成的串并联电路,作为使M4.5、M4.7置位和使M4.2、M4.4复位的条件。

978-7-111-47789-1-Chapter02-49.jpg

图2-36 选择序列与并行序列

978-7-111-47789-1-Chapter02-50.jpg

图2-37 转换的同步实现

5.复杂的顺序功能图的调试方法

调试复杂的顺序功能图时,应充分考虑各种可能的情况,对系统的各种工作方式、顺序功能图中的每一条支路、各种可能的进展路线,都应逐一检查,不能遗漏。特别要注意并行序列中各子序列的第1步(如图2-36中的步M4.3和步M4.5)是否同时变为活动步,最后一步(步M4.4和步M4.6)是否同时变为不活动步。

发现问题后应及时修改程序,直到每一条进展路线上步的活动状态的顺序变化和输出点的变化都符合顺序功能图的规定。

将图2-39中的程序输入到OB1。调试时可以在监视表中用二进制格式监视MB4、QB0和IB0(见图2-38),在RUN模式时点击状态表工具栏上的978-7-111-47789-1-Chapter02-51.jpg按钮,启动监控功能。第一次调试时从初始步转换到步M4.1,经过并行序列,最后返回初始步。第二次调试时从初始步开始,跳过步M4.1,进入步M4.2。经过并行序列,最后返回初始步。

978-7-111-47789-1-Chapter02-52.jpg

图2-38 监视表

978-7-111-47789-1-Chapter02-53.jpg

图2-39 选择序列与并行序列的梯形图

6.应用程序举例

【例2-2】钻床控制系统顺序功能图。

如图2-40是图2-30中的钻床控制系统的顺序功能图,图2-41是用置位复位指令编写的梯形图。

在STEP 7 Basic的项目视图中生成一个名为“钻床控制”的新项目,把CPU的型号设为CPU 1214C。将图2-41中的程序输入到OB1。

如图2-40中分别由M4.2~M4.4和M4.5~M4.7组成的两个单序列是并行工作的,设计梯形图时应保证这两个序列同时开始工作和同时结束,即两个序列的第一步M4.2和M4.5应同时变为活动步,两个序列的最后一步M4.4和M4.7应同时变为不活动步。

并行序列的分支的处理是很简单的,在图2-40中,当步M4.1是活动步,并且转换条件为I0.1为1状态时,步M4.2和M4.5同时变为活动步,两个序列开始同时工作。在梯形图中;用M4.1和I0.1的常开触点组成的串联电路来控制对M4.2和M4.5的同时置位,和对前级步M4.1的复位。

另一种情况是当步M5.0为活动步,并且转换条件为I0.6为1状态时,步M4.2和M4.5也应同时变为活动步,两个序列开始同时工作。在梯形图中,用M5.0的常开触点和I0.6的上升沿检测触点组成的串联电路,来控制对M4.2和M4.5的同时置位,和对前级步M5.0的复位。

在图2-40的并行序列合并处的转换有两个前级步M4.4和M4.7,根据转换实现的基本规则,当它们均为活动步并且转换条件满足时,将实现并行序列的合并。未钻完3对孔时,加计数器C0的实际计数值小于预置值3,其常闭触点闭合,转换条件978-7-111-47789-1-Chapter02-54.jpg满足,将转换到步M5.0。在梯形图中,用M4.4、M4.7的常开触点和M2.2的常闭触点组成的串联电路将M5.0置位,使后续步M5.0变为活动步;同时用R指令将M4.4和M4.7复位,使前级步M4.4和M4.7变为不活动步。

钻完3对孔时,C0的实际计数值等于预置值3,其常开触点闭合,转换条件.M2.2满足,将转换到步M5.1。在梯形图中,用M4.4、M4.7和M2.2的常开触点组成的串联电路将M5.1置位,使后续步M5.1变为活动步;同时用R指令将M4.4和M4.7复位,使前级步M4.4和M4.7变为不活动步。

978-7-111-47789-1-Chapter02-55.jpg

图2-40 专用钻床控制系统的顺序功能图

2.3.4 基于多种工作方式系统的梯形图设计方法

1.系统的硬件结构及工作方式

基于生产需要的多种多样,一些设备要求设置多种工作方式,例如手动和自动(包括连续、单周期、单步和自动返回初始状态)工作方式。

手动程序比较简单,一般用经验法设计,复杂的自动程序一般用顺序控制法设计。我们以实例方式来讲解。

【例2-3】机械手控制的梯形图设计方法

某机械手用来将工件从A点搬运到B点(见图2-42),控制面板如图2-43所示,图2-44是PLC的外部接线图。

(1)硬件结构

夹紧装置用单线圈电磁阀控制,输出Q0.1为1状态时工件被夹紧,为0时被松开。工作方式选择开关的5个位置分别对应于5种工作方式,操作面板左边的6个按钮是手动按钮。为了保证在紧急情况下(包括PLC发生故障时)能可靠地切断PLC的负载电源,设置了交流接触器KM(见图2-44)。在PLC开始运行时按下“负载电源”按钮,使KM线圈得电并自锁,KM的主触点接通,给PLC的外部负载提供交流电源。出现紧急情况时用“紧急停车”按钮断开负载电源。

978-7-111-47789-1-Chapter02-56.jpg

图2-41 专用钻床控制系统的梯形图

978-7-111-47789-1-Chapter02-57.jpg

图2-42 机械手示意图

978-7-111-47789-1-Chapter02-58.jpg

图2-43 操作面板

978-7-111-47789-1-Chapter02-59.jpg

图2-44 外部接线图

(2)工作方式

该系统设有手动、单周期、单步、连续和回原点5种工作方式,如图2-43所示操作面板。

在手动工作方式,用I0.5~I1.2对应的6个按钮分别独立控制机械手的升、降、左行、右行和松开、夹紧。机械手从初始状态开始,将工件从A点搬运到B点,最后返回初始状态的过程,称为一个工作周期。

在单周期工作方式的初始状态按下起动按钮I0.0,从初始步M0.0开始,机械手按顺序功能图(见图2-48)的规定完成一个周期的工作后,返回并停留在初始步。

在连续工作方式的初始状态按下起动按钮,机械手从初始步开始,工作一个周期后又开始搬运下一个工件,反复连续地工作。按下停止按钮,并不马上停止工作,完成最后一个周期的工作后,系统才返回并停留在初始步。

在单步工作方式,从初始步开始,按一下起动按钮,系统转换到下一步,完成该步的任务后,自动停止工作并停留在该步,再按一下起动按钮,才开始执行下一步的操作。单步工作方式常用于系统的调试。

机械手在最上面和最左边且夹紧装置松开时,称为系统处于原点状态(或称初始状态)。在进入单周期、连续和单步工作方式之前,系统应处于原点状态。如果不满足这一条件,可以选择回原点工作方式,然后按起动按钮I0.0,使系统自动返回原点状态。

(3)程序的总体结构

在STEP 7 Basic的项目视图中新建一个名为“机械手控制”的新项目CPU的型号为CPU 1214C。本例程需要添加一块8点的DI模块,在硬件组态时将自动分配的模块字节地址改为2。

图2-45是OB1中的程序。在CPU组态时设置系统存储器字节为MB6,M6.2的常开触点一直闭合,公用程序FC1是无条件执行的。在手动方式,I2.0为1状态,执行手动程序FC2。在自动回原点方式,I2.1为1状态,执行回原点程序FC3。可以为其他3种工作方式分别设计一个单独的子程序。考虑到这些工作方式使用相同的顺序功能图,程序有很多共同之处,为了简化程序,减少程序设计的工作量,将单步、单周期和连续这3种工作方式的程序合并为自动程序FC4。在自动程序中,应考虑用什么方法区分这3种工作方式。

978-7-111-47789-1-Chapter02-60.jpg

图2-45 OB1的程序

2.公用程序

公用程序用于处理各种工作方式都要执行的任务,以及不同的工作方式之间相互切换的处理,如图2-46所示(图中的汉字为方便理解特意添加的)。

左限位开关I0.4、上限位开关I0.2的常开触点和表示机械手松开的Q0.1的常闭触点的串联电路接通时,“原点条件”M0.5变为1状态。当机械手处于原点状态(M0.5为1状态),在开始执行用户程序(M6.0为1状态)、系统处于手动方式(I2.0为1状态)或自动回原点方式(I2.1为1状态)时,图2-47中的初始步对应的M0.0被置位,为进入单步、单周期和连续工作方式做好准备。如果此时M0.5为0状态,M0.0被复位,初始步为不活动步,按下起动按钮也不能转换到顺序功能图的第2步M2.0,系统不能在单步、单周期和连续工作方式工作。

978-7-111-47789-1-Chapter02-61.jpg

图2-46 公用程序

978-7-111-47789-1-Chapter02-62.jpg

图2-47 手动程序

从一种工作方式切换到另一种工作方式时,应将有存储功能的位元件复位。工作方式较多时,应仔细考虑各种可能的情况,分别进行处理。在切换工作方式时应执行下列操作:

1)当系统从自动工作方式切换到手动或自动回原点工作方式时,必须将图2-47中除初始步以外的各步对应的存储器位(M2.0~M2.7)复位,否则以后返回自动工作方式时,可能会出现同时有两个活动步的异常情况,引起错误的动作。

2)在退出自动回原点工作方式时,I2.1的常闭触点闭合。此时应将自动回原点的顺序功能图(见图2-48)中所有的步对应的存储器位(M1.0~M1.5)复位,以防止下次进入自动回原点方式时,可能会出现同时有两个活动步的异常情况。

3)非连续工作方式时I2.4的常闭触点闭合,将表示连续工作状态的标志M0.7复位。

3.手动程序

图2-47是手动程序,为了保证系统的安全运行,在手动程序中设置了一些必要的联锁:

1)设置上升与下降之间、左行与右行之间的互锁,以防止功能相反的两个输出同时为`状态。

2)用限位开关I0.1~I0.4的常闭触点限制机械手移动的范围。

3)上限位开关I0.2的常开触点与控制左、右行的Q0.4和Q0.3的线圈串联,机械手升到最高位置才能左右移动,以防止机械手在较低位置运行时与别的物体碰撞。

4)只允许机械手在最左边或最右边时(I0.3或I0.4的常开触点闭合)上升、下降和松开工件。

4.自动程序

图2-48是处理单周期、连续和单步工作方式的顺序功能图,最上面的转换条件与公用程序有关。图2-49是用置位复位指令设计的程序,单周期、连续和单步这3种工作方式主要是用“连续”标志M0.7和“转换允许”标志M0.6来区分的。

(1)单步与非单步的区分

M0.6的常开触点串接在每一个控制置位复位操作的串联电路中,它们断开时禁止步的活动状态的转换。系统工作在连续和单周期(非单步)工作方式时,I2.2的常闭触点接通,使M0.6为1状态,控制置位复位的电路中的M0.6的常开触点接通,允许步与步之间的正常转换。M0.6对单步方式步的活动状态的转换过程的控制见后面对单步工作方式的介绍。

978-7-111-47789-1-Chapter02-63.jpg

图2-48 顺序功能图

(2)单周期与连续的区分

PLC上电后如果原点条件不满足,应首先进入单步或回原点方式,通过相应的操作使原点条件满足,公用程序使初始步M0.0为1状态,然后切换到自动方式。

在单周期和连续工作方式,I2.2(单步方式)的常闭触点闭合,M0.6的线圈“通电”(见图2-49),允许转换。连续工作方式时I2.4为1状态,在初始步为活动步时按下起动按钮I0.0,控制连续工作的M0.7的线圈“通电”并自保持。图2-49左边第5行的M0.0、I0.0、M0.5(原点条件)和M0.6的常开触点均接通,将M2.0置位,系统进入下降步,Q0.0的线圈“通电”,机械手下降。

机械手碰到下限位开关I0.1时,转换到夹紧步M2.1,Q0.1被置位(见图2-50),夹紧电磁阀的线圈通电并保持。同时接通延时定时器TON开始定时,2s后定时时间到,工件被夹紧,定时器Q输出端控制的M4.0变为1状态,转换条件满足,转换到步M2.2。以后系统将这样一步一步地工作下去。

当机械手在步M2.7返回最左边时,I0.4为1状态,因为“连续”标志位M0.7为1状态,转换条件M0.7·I0.4满足,系统将返回步M2.0,反复连续地工作下去。按下停止按钮I1.3以后,M0.7变为0状态,但是机械手不会立即停止工作,在完成当前工作周期的全部操作后,机械子返回最左边,左限位开关I0.4为1状态,转换条件978-7-111-47789-1-Chapter02-64.jpg满足,系统才会从步M2.7返回并停留在初始步M0.0。

978-7-111-47789-1-Chapter02-65.jpg

图2-49 FC4中的自动控制程序

978-7-111-47789-1-Chapter02-66.jpg

图2-49 FC4中的自动控制程序(续)

978-7-111-47789-1-Chapter02-67.jpg

图2-49 FC4中的自动控制程序(续)

978-7-111-47789-1-Chapter02-68.jpg

图2-49 FC4中的自动控制程序(续)

978-7-111-47789-1-Chapter02-69.jpg

图2-50 FC4中的输出电路

在单周期工作方式,M0.7一直处于0状态。当机械手在最后一步M2.7返回最左边时,左限位开关I0.4变为1状态,因为连续工作标志M0.7为0状态,转换条件978-7-111-47789-1-Chapter02-70.jpg满足,系统返回并停留在初始步M0.0,机械手停止运动。按一次起动按钮,系统只工作一个周期。

(3)单步工作过程

在单步工作方式,I2.2为1状态,它的常闭触点断开,“转换允许”辅助继电器.M0.6在一般情况下为0状态,不允许步与步之间的转换。设初始步时系统处于原点状态,M0.5和M0.0为1状态,按下起动按钮I0.0,M0.6变为1状态,使M2.0的起动电路接通,系统进入下降步。在起动按钮上升沿之后,M0.6变为0状态。在下降步,Q0.0的线圈“通电”,当下限位开关I0.1变为1状态时,与Q0.0的线圈串联的I0.1的常闭触点断开(见图2-50),使Q0.0的线圈“断电”,机械手停止下降。I0.1的常开触点闭合后,如果没有按起动按钮,I0.0和M0.6处于0状态,不会转换到下一步。一直要等到按下起动按钮,I0.0和M0.6变为1状态,M0.6的常开触点接通,才能使转换条件I0.1起作用,M2.1被置位,系统才能由步M2.0进入步M2.1。以后在完成某一步的操作后,都必须按一次起动按钮,系统才能转换到下一步。

(4)输出电路

输出电路(见图2-50)是自动程序FC4的一部分,输出电路中I0.1~I0.4的常闭触点是为单步工作方式设置的。以下降为例,当小车碰到下限位开关I0.1后,与下降步对应的存储器位M2.0或M2.4不会马上变为0状态。如果Q0.0的线圈不与IO.1的常闭触点串联,机械手不能停在下限位开关I0.1处,还会继续下降。对于某些设备,可能造成事故。

(5)程序的调试

在调试时用监视表(见图2-51)监视与顺序控制有关的MB0、MB1、MB2和QB0,显示模式均为二进制数(Bin)。如果仅仅是作为编程练习,可以不增加DI模块,在调试程序时,用监视表将I2.0~I2.4中的某一位置为1,其他位清零,用这样的方法来设置工作方式。

978-7-111-47789-1-Chapter02-71.jpg

图2-51 监视表

5.自动回原点程序

图2-52是自动回原点程序的顺序功能图,图2-53是FC3中用置位复位电路设计的梯形图。

在回原点工作方式,I2.1为1状态。按下起动按钮I0.0时,机械手可能处于任意状态,根据机械手当时所处的位置和夹紧装置的状态,可以分为3种情况,采用不同的处理方法:

1)Q0.1为0状态,表示夹紧装置松开,机械手没有夹持工件,应上升和左行,直接返回原点位置。按下起动按钮I0.0,应进入图2-52中的上升步M1.4,转换条件为978-7-111-47789-1-Chapter02-72.jpg。如果机械手已经在最上面,上限位开关I0.2为1状态,进入上升步后,因为转换条件已经满足,将马上转换到左行步。

2)Q0.1为1状态,夹紧装置处于夹紧状态。机械手在最右边,右限位开关I0.3为1状态,应将工件放到B点后再返回原点位置。按下起动按钮I0.0,机械手应进入下降步M1.2,转换条件为I0.0·Q0.1·I0.3,首先执行下降和松开操作,释放工件后,再返回原点位置。

3)Q0.1为1状态,夹紧装置处于夹紧状态。机械手不在最右边,I0.3为0状态。按下起动按钮I0.0,应进入步M1.0,转换条件为I0.0·Q0.1·978-7-111-47789-1-Chapter02-73.jpg,首先上升、右行、下降和松开工件,将工件搬运到B点后再返回原点位置。

机械手返回原点位置后,原点条件满足,公用程序中的原点条件标志M0.5为1状态,因为此时I2.1为1状态,图2-44的顺序功能图中的初始步M0.0在公用程序中被置位,为进入单周期、连续和单步工作方式做好了准备,因此可以认为自动程序的顺序功能图的初始步M0.0是步M1.5的后续步。

978-7-111-47789-1-Chapter02-74.jpg

图2-52 回原点顺序功能图

978-7-111-47789-1-Chapter02-75.jpg

图2-53 FC3中的自动回原点的梯形图

978-7-111-47789-1-Chapter02-76.jpg

图2-53 FC3中的自动回原点的梯形图(续)