(1) 顺序控制设计法的基本思想
将系统的一个工作周期划分为若干个顺序相连的阶段,这些阶段称为步(Step),并用编程元件(如位存储器M)来代表各步。在任何一步之内,输出量的状态保持不变,这样使 步与输出量的逻辑关系变得十分简单。
(2) 步的划分
根据输出量的状态来划分步,只要输出量的状态发生变化就在该处划出一步,如图4-34所示,共分为8步。
(3) 步的转换
系统不能总停在一步内工作,从当前步进入到下一步称为步的转换,这种转换的信号称为转换条件。转换条件可以是外部输入信号,也可以是PLC内部信号或若干个信号的逻辑组合。顺序控制设计就是用转换条件去控制代表各步的编程元件,让它们按一定的顺序变化,然后用代表各步的元件去控制PLC的各输出位。
顺序功能图(Sequential Function Chart)是描述控制系统的控制过程、功能和特性的一种图形,也是设计PLC的顺序控制程序的有力工具。它涉及所描述的控制功能的具体技术,是一种通用的技术语言。在IEC的PLC编程语言标准(IEC 61131-3)中,顺序功能图 被确定为PLC位居首位的编程语言。现在还有相当多的PLC (包括S7-200PLC)没有配备顺序功能图语言,但是可以用顺序功能图来描述系统的功能,根据它来设计梯形图程序。
顺序功能图主要由步、有向连线、转换、转换条件和动作(或命令)组成。
(1) 步
步表示系统的某一工作状态,用矩形框表示,方框中可以用数字表示该步的编号,也可以用代表该步的编程元件的地址作为步的编号(如M0.0),这样在根据顺序功能图设计梯形图时较为方便。
(2) 初始步
初始步表示系统的初始工作状态,用双线框表示,初始状态一般是系统等待起动命令的相对静止的状态。每一个顺序功能图至少应该有一个初始步。
(3) 与步对应的动作或命令
与步对应的动作或命令在每一步内把状态为ON的输出位表示出来。可以将一个控制系统划分为被控系统和施控系统。对于被控系统,在某一步要完成某些“动作”(action);对于施控系统,在某一步要向被控系统发出某些“命令"(command)。
为了方便,以后将命令或动作统称为动作,也用矩形框中的文字或符号表示,该矩形框 与对应的步相连表示在该步内的动作,并放置在步序框的右边。在每一步之内只标出状态为 ON的输出位,一般用输出类指令(如输出、置位、复位等)。步相当于这些指令的子母线,这些动作命令平时不被执行,只有当对应的步被激活才被执行。
如果某一步有几个动作,可以用图4-35中的两种画法来表示,但是并不隐含这些动作之间的任何顺序。
(4) 有向连线
有向连线把每一步按照它们成为活动步的先后顺序用直线连接起来。
(5) 活动步
活动步是指系统正在执行的那一步。步处于活动状态时,相应的动作被执行,即该步内的 元件为ON状态;处于不活动状态时,相应的非存储型动作被停止执行,即该步内的元件为 OFF状态。有向连线的默认方向由上至下,凡与此方向不同的连线均应标注箭头表示方向。
(6) 转换
转换用有向连线上与有向连线垂直的短画线来表示,将相邻两步分隔开。步的活动状态的进展是由转换的实现来完成的,并与控制过程的发展相对应。
转换表示从一个状态到另一个状态的变化,即从一步到另一步的转移,用有向连线表示转移的方向。
转换实现的条件:该转换所有的前级步都是活动步,且相应的转换条件得到满足。
转换实现后的结果:使该转换的后续步变为活动步,前级步变为不活动步。
(7) 转换条件使系统由当前步进入到下一步的信号称为转换条件。 转换是一种条件,当条件成立时,称为转换使能。该转换如果能够使系统的状态发生转换,则称为触发。转换条件是指系统从一个状态向一个状态转移的必要条件。
转换条件是与转换相关的逻辑命令,转换条件可以用文字语言、布尔代数表达式或图形符号标注在表示转换的短画线旁边,使用最多的是布尔代数表达式。
在顺序功能图中,只有当某一步的前级步是活动步时,该步才有可能变成活动步。如果 用没有断电保持功能的编程元件代表各步,进入RUN工作方式时,它们均处于0状态,必须在开机时将初始步预置为活动步,否则因顺序功能图中没有活动步,系统将无法工作。
绘制顺序功能图应注意以下几点:
1) 步与步不能直接相连,要用转换隔开。
2) 转换也不能直接相连,要用步隔开。
3) 初始步描述的是系统等待起动命令的初始状态,通常在这一步里没有任何动作。但是初始步是不可不画的,因为如果没有该步,无法表示系统的初始状态,系统也无法返回停止状态。
4) 自动控制系统应能多次重复完成某一控制过程,要求系统可以循环执行某一程序, 因此顺序功能图应是一个闭环,即在完成一次工艺过程的全部操作后,应从最后一步返回初始步,系统停留在初始状态(单周期操作);在连续循环工作方式下,系统应从最后一步返回下一工作周期开始运行的第一步。
顺序功能图主要用3种类型:单序列、选择序列和并行序列。
(1) 单序列
单序列是由一系列相继激活的步组成,每一步的后面仅有一个转换,每一个转换的后面只有一个步,如图4-36a所示。
(2) 选择序列
选择序列的开始称为分支,转换符号只能标在水平连线之下,如图4-36b所示。步5后 有两个转换h和k所引导的两个选择序列,如果步5为活动步并且转换h使能,则步8被触发;如果步5为活动步并且转换k使能,则步10被触发。一般只允许选择一个序列。
选择序列的合并是指几个选择序列合并到一个公共序列。此时,用需要重新组合的序列 相同数量的转换符号和水平连线来表示,转换符号只允许在水平连线之上。图4-36b中如果 步9为活动步并且转换j使能,则步12被触发;如果步11为活动步并且转换n使能,则步 12也被触发。
(3)并行序列
并行序列用来表示系统的几个同时工作的独立部分情况。并行序列的开始称为分支,如 图4-36c所示。当转换的实现导致几个序列同时激活时,这些序列称为并行序列。当步3是活动步并且转换条件e为ON,步4、步6这两步同时变为活动步,同时步3变为不活动步。为了强调转换的实现,水平连线用双线表示。步4、步6被同时激活后,每个序列中活动步的进展将是独立的。在表示同步的水平双线上,只允许有一个转换符号。并行序列的结 束称为合并,在表示同步水平双线之下,只允许有一个转换符号。当直接连在双线上的所有前级步(步5、步7)都处于活动状态,并且转换状态条件i为ON时,才会发生步5、步7 到步10的进展,步5、步7同时变为不活动步,而步10变为活动步。
根据控制系统的工艺要求画出系统的顺序功能图后,若PLC没有配备顺序功能图语言,则必须将顺序功能图转换成PLC执行的梯形图程序(S7-300 PLC配备有顺序功能图语言)。将顺序功能图转换成梯形的方法主要有两种,分别是采用起保停电路的设计方法和釆 用置位(S)与复位(R)指令的设计方法。
(1)起保停设计法
起保停电路仅仅使用与触点和线圈有关的指令,任何一种PLC的指令系统都有这一类指令,因此这是一种通用的编程方法,可以用于任意型号的PLC。
图4-37a给出了自动小车运动的示意图。当按下起动按钮时,小车由原点SQ0处前进(Q0.0动作)到SQ1处,停留2s返回(Q0.1动作)到原点,停留3s后前进至SQ2处,停留2s后返回到原点。当再次按下起动按钮时,重复上述动作。
设计起保停电路的关键是找出它的起动条件和停止条件。根据转换实现的基本规则,转换实现的条件是它的前级步为活动步,并且满足相应的转换条件。在起保停电路中,则应将代表前级步的存储器位Mx.x的常开触点和代表转换条件的如Ix.x的常开触点串联,作为控制下一位的起动电路。
图4-37b给出了自动小车运动顺序功能图,当M0.1和SQ1的常开触点均闭合时,步 M0.2变为活动步,这时步M0.1应变为不活动步,因此可以将M0.2为ON状态作为使存储器位M0.1变为OFF的条件,即将M0.2的常闭触点与M0.1的线圈串联。上述的逻辑关系可以用逻辑代数式表示如下。
据上述的编程方法和顺序功能图,很容易画出梯形图如图4-37c所示。
顺序控制梯形图输出电路部分的设计:由于步是根据输出变量的状态变化来划分的,它们之间的关系极为简单,可以分为两种情况来处理。其一某输出量仅在某一步为ON,则可以将它原线圈与对应步的存储器位M的线圈相并联;其二如果某输出在几步中都为ON,应将使用各步的存储器位的常开触点并联后,驱动其输出的线圈,如图4-37C中程序段9和程序段10所示。
(2)置位复位指令设计法
1)使用S、R指令设计顺序控制程序。
在使用S、R指令设计顺序控制程序时,将各转换的所有前级步对应的常开触点与转换对应的触点或电路串联,该串联电路即起保停电路中的起动电路,用它作为使所有后续步置位(使用S指令)和使所有前级步复位(使用R指令)的条件。在任何情况下,各步的控制电路都可以用这一原则来设计,每一个转换对应一个这样的控制置位和复位的电路块,有多少个转换就有多少个这样的电路块。这种设计方法特别有规律可循,梯形图与转换实现的基 本规则之间有着严格的对应关系,在设计复杂的顺序功能图的梯形图时,既容易掌握,又不容易出错。
2)使用S、R指令设计顺序功能图的方法。
•单序列的编程方法。
某组合机床的动力头在初始状态时停在最左边,限位开关I0.1为ON状态,如图4-38所 示。按下起动按钮I0.0,动力头的进给运动如图4-38a所示,工作一个循环后,返回并停在初始位置,控制电磁阀的Q0.0、Q0.1和Q0.2在各工步的状态如图4-38b的顺序功能图所示。
实现图4-38中10.2对应的转换需要同时满足两个条件,即该步的前级步是活动步(M0.1为ON)和转换条件满足(I0.2为ON)。在梯形图中,可以用M0.1和I0.2的常开触点组成的串联电路来表示上述条件。该电路接通时,两个条件同时满足。此时应将该转换的后续步变为活动步,即用置位指令“S M0.2, 1 ”将M0.2置位;还应将该转换的前级步变为不活动步,即用复位指令“R M0.1, 1”将M0.1复位。
使用这种编程方法时,不能将输出位的线圈与置位指令和复位指令并联,这是因为图4-38中控制置位、复位的串联电路接通的时间只有一个扫描周期,转换条件满足后前级步马上被复位,该串联电路断开,而输出位的线圈至少应该在某一步对应的全部时间内被接通。所以应根据顺序功能图,用代表步的存储器位的常开触点或它们的并联电路来驱动输出位 的线圈。
•并行序列的编程方法。
图4-39所示是一个并行序列的顺序功能图,釆用S、R指令进行并行序列控制程序设计的梯形图如图4-40所示。
并行序列分支的编程:在图4-39中,步M0.0之后有一个并行序列的分支。当M0.0是活动步,并且转换条件I0.0为ON时,步M0.1和步M0.3应同时变为活动步,这时用M0.0 和I0.0的常开触点串联电路使M0.1和M0.3同时置位,用复位指令使步M0.0变为不活动步,如图4-40所示。
并行序列合并的编程:在图4-39中,在转换条件I0.2之前有一个并行序列的合并。当 所有的前级步M0.2和M0.3都是活动步,并且转换条件I0.2为ON时,实现并行序列的合 并。用M0.2、M0.3和I0.2的常开触点串联电路使后续步M0.4置位,用复位指令使前级步 M0.2和M0.3变为不活动步,如图4-40所示。
某些控制要求有时需要并行序列的合并和并行序列的分支由一个转换条件同步实现,如 图4-41a所示,转换的上面是并行序列的合并,转换的下面是并行序列的分支,该转换实现 的条件是所有的前级步M1.0和Ml.1都是活动步且转换条件I0.1或I0.3为ON。因此,应将 I0.1的常开触点与I0.3的常开触点并联后再与M1.0、M1.1的常开触点串联,作为M1.2、 M1.3置位和M1.0、Ml.1复位的条件,其梯形图如图4-41b所示。
•选择序列的编程方法
图4-42所示是一个选择序列的顺序功能图,釆用S、R指令进行选择序列控制程序设 计的梯形图如图4-43所示。
选择序列分支的编程:在图4-42中,步M0.0之后有一个选择序列的分支。当M0.0为 活动步时,可以有两种不同的选择,当转换条件I0.0满足时,后续步M0.1变为活动步, M0.0变为不活动步;而当转换条件I0.1满足时,后续步M0.3变为活动步,M0.0变为不活 动步。
当M0.0被置为1时,后面有两个分支可以选择。若转换条件I0.0为ON时,该程序段 中的指令“S M0.1, 1”,将转换到步M0.1,然后向下继续执行;若转换条件I0.1为ON 时,该程序段中的指令“S M0.3, 1”,将转换到步M0.3,然后向下继续执行。
选择序列合并的编程:在图4-42中,步M0.5之前有一个选择序列的合并,当步M0.2 为活动步,并且转换条件I0.4满足,或者步M0.4为活动步,并且转换条件I0.5满足时,步 M0.5应变为活动步。在步M0.2和步M0.4后续对应的程序段中,分别用I0.4和I0.5的常开 触点驱动指令“S M0.5, 1”,就能实现选择序列的合并。
知识点词条:顺序功能图