1、后一页,返回,可编程控制器原理与应用,安徽理工大学电信学院,后一页,返回,安徽理工大学电信学院,第3章 西门子小型可编程控制器S7-200,3.3 顺序控制及程序设计,返回,后一页,前一页,3.3 顺序控制及程序设计 3.3.1 程序结构 S7-200CPU的用户程序由主程序、子程序和中断程序组成。程序结构见图3-43所示。 1. 主程序 每次CPU扫描都要执行一次主程序。STEP7-MicroWIN 32的程序编辑器窗口下部的标签用来选择不同的程序。因为程序已被分开,各程序结束时不需要加入无条件结束指令,如END、RET或RETI等。2. 子程序 子程序是一个可选的指令的集合,仅在被其它程序
2、调用时执行。同一段程序被多次调用,使用子程序可以简化程序代码和减少扫描时间。设计得好的子程序容易移植到别的项目中去。,返回,后一页,前一页,返回,后一页,前一页,3. 中断处理程序 中断程序是指令的一个可选集合,中断程序不是被主程序调用,它们在中断事件发生时由可编程序控制器的操作系统调用。中断程序用来处理预先规定的中断事件,因为不能预知何时会出现中断事件,所以不允许中断程序改写可能在其他程序中使用的存储器。主程序应安排到程序的最前面。其他部分的位置安排没有严格的顺序,但习惯上把子程序安排在中断程序的前面。,返回,后一页,前一页,3.3.2 顺序控制设计法用一般方法设计梯形图时,对于不同的控制系
3、统,没有一种通用的容易掌握的设计方法。在设计复杂系统的梯形图时,用大量的中间单元来完成记忆、联锁和互锁等功能,由于需要考虑的因素很多,它们往往又交织在一起,分析起来非常困难,并且很容易遗漏一些应该考虑的问题。修改某一局部电路时,很可能会对系统的其他部分产生意想不到的影响,因此梯形图的修改也很麻烦,往往花了很长的时间还得不到一个满意的结果。而且设计出的梯形图往往很难阅读,给系统的维护和改进带来了很大的困难,返回,后一页,前一页,所谓顺序控制,就是按照生产工艺预先规定的顺序,在各个输入信号的作用下,根据内部状态和时间的顺序,在生产过程中各个执行机构自动地有秩序地进行操作。使用顺序控制设计法时首先根
4、据系统的工艺过程,画出顺序功能图,然后根据顺序功能图画出梯形图。有的可编程序控制器为用户提供了顺序功能图语言,在编程软件中生成顺序功能图后便完成了编程工作。它是一种先进的设计方法,很容易被初学者接受,对于有经验的工程师,也会提高设计的效率,程序的调试、修改和阅读也很方便。某厂有经验的电气工程师用经验设计某控制系统的梯形图,花了两周的时间,同一系统改用顺序控制设计法,只用了不到半天的时间,,返回,后一页,前一页,就完成了梯形图的设计和模拟调试,现场试车一次成功。 顺序控制设计法最基本的思想是将系统的一个工作周期划分为若干个顺序相连的阶段,这些阶段称为步(Step),并用编程元件(例如位存储器M和
5、顺序控制继电器S)来代表各步。步是根据输出量的状态变化来划分的,在任何一步之内,各输出量的ONOFF状态不变,但是相邻两步输出量的状态是不同的。,返回,后一页,前一页,某组合机床液压工作台的整个工作过程可分为停止(原位),快进,工进,快退这四步的状态改变都必须是由PLC输出状态的变化引起的,否则就不能这样化分。,返回,后一页,前一页,步的这种划分方法使代表各步的编程元件的状态与各输出量的状态之间有着极为简单的逻辑关系。 使系统由当前步进入下一步的信号称为转换条件,转换条件可以是外部的输入信号,如按钮、指令开关、限位开关的接通断开等;也可以是可编程序控制器内部产生的信号,如定时器、计数器常开触点
6、的接通等。转换条件还可能是若干个信号的与、或、非逻辑组合。顺序控制设计法用转换条件控制代表各步的编程元件,让它们的状态按一定的顺序变化,然后用代表各步的编程元件去控制可编程序控制器的各输出位。,返回,后一页,前一页,3.3.3 顺序功能图 顺序功能图(Sequential Function Chart)是描述控制系统的控制过程、功能和特性的一种图形,也是设计可编程序控制器的顺序控制程序的有力工具。顺序功能图并不涉及所描述的控制功能的具体技术,它是一种通用的技术语言,可以供进一步设计和不同专业的人员之间进行技术交流之用。 1994年5月公布的IEC可编程序控制器标准(IECll31)中,顺序功能
7、图被确定为可编程序控制器位居首位的编程语言。我国也在1986年颁布了顺序功能图的国家标准GB6988.61986。顺序功能图主要由步、有向连线、转换、转换条件和动作(或命令)组成。,返回,后一页,前一页,1. 步 图3.45是锅炉的鼓风机和引风机的输入输出信号时序图,为了节省篇幅,将两个输入脉冲信号的波形画在一个波形图中。按了起动按钮I0.0后,应先开引风机,延时5s后再开鼓风机。按了停止按钮I0.1后,应先停鼓风机,5s后再停引风机。,返回,后一页,前一页,根据Q0.0及Q0.1的01状态的变化,一个工作周期可以分为三步,另外还应设置等待起动的初始步,假设分别用M0.0-M0.3来代表这4步
8、。图3.46是描述该系统的顺序功能图,图中用矩形方框表示步,方框中可以用数字表示该步的编号,也可以用代表该步的编程元件的地址作为步的编号,如M0.0等,这样在根据顺序功能图设计梯形图时较为方便。,返回,后一页,前一页,初始步:与系统的初始状态相对应的步称为初始步,初始状态一般是系统等待起动命令的相对静止的状态。初始步用双线方框表示,每一个顺序功能图至少应该有一个初始步,见图3.47所示。,返回,后一页,前一页,3. 活动步当系统正处于某一步所在的阶段时,该步处于活动状态,称该步为“活动步”。步处于活动状态时,相应的动作被执行;处于不活动状态时,相应的非存储型动作被停止执行。 4. 有向连线在顺
9、序功能图中,随着时间的推移和转换条件的实现,将会发生步的活动状态的进展,这种进展按有向连线规定的路线和方向进行。在画顺序功能图时,将代表各步的方框按它们成为活动步的先后次序顺序排列,并用有向连线将它们连接起来。步的活动状态习惯的进展方向是从上到下或从左至右,在这两个方向有向连线上的箭头可以省略。如果不是上述的方向,应在有向连线上用箭头注明进展方向。,返回,后一页,前一页,在可以省略箭头的有向连线上,为了更易于理解也可以加箭头。如果在画图时有向连线必须中断(例如在复杂的图中,或用几个图来表示一个顺序功能图时),应在有向连线中断之处标明下一步的标号和所在的页数。 5.转换转换用有向连线上与有向连线
10、垂直的短划线来表示,转换将相邻两步分隔开。步的活动状态的进展是由转换的实现来完成的,并与控制过程的发展相对应,返回,后一页,前一页,6.转换条件转换条件是与转换相关的逻辑命题,转换条件可以用文字语言、布尔代数表达式或图形符号标注在表示转换的短线的旁边,使用得最多的是布尔代数表达式。 转换条件I0.0*I0.1分别表示当输入信号I0.0和I0.1为ON时转换实现。 7.与步对应的动作或命令可以将一个控制系统划分为被控系统和施控系统,例如在数控车床系统中,数控装置是施控系统,而车床是被控系统。对于被控系统,在某一步中要完成某些“动作”(action);对于施控系统,在某一步中则要向被控系统发出某些
11、“命令”(command)。为了叙述方便,下面将命令或动作统称为动作,并用矩形框中的文字或符号表示,该矩形框应与相应的步的符号相连。,返回,后一页,前一页,如果某一步有几个动作,可以用图3.48 中的两种画法来表示,但是并不隐含这些动作之间的任何顺序。说明命令的语句应清楚地表明该命令是存储型的,还是非存储型的。例如某步的存储型命令“打开1号阀并保持”,是指该步活动时1号阀打开,该步不活动时继续打开;非存储型命令“打开1号阀”,是指该步活动时打开,不活动时关闭。,返回,后一页,前一页,除了以上的基本结构之外,使用动作的修饰词可以在一步中完成不同的动作。修饰词允许在不增加逻辑的情况下控制动作。 3
12、.3.4顺序功能图的基本结构 1单序列单序列由一系列相继激活的步组成,每一步的后面仅有一个转换,每一个转换的后面只有一个步(见图3.49)。,返回,后一页,前一页,返回,后一页,前一页,2选择序列 选择序列的开始称为分支(见图3.50),转换符号只能标在水平连线之下。如果步1是活动步,并且转换条件A=1,则发生由步1 步2的进展。如果步1是活动步,并且D=1,则发生由,步1步4的进展。如果步1是活动步,并且G=1,则发生由步1步6的进展。如果步1是活动步,并且I=1,则发生由步1步7的进展。一般只允许同时选择一个序列。,返回,后一页,前一页,选择序列的结束称为合并(见图3.50),几个选择序列
13、合并到一个公共序列时,用和需要重新组合的序列相同数量的转换符号和水平连线来表示,转换符号只允许标在水平连线之上。 如果步3是活动步,并且转换条件C=1,则发生由步3 步8的进展。如果步5是活动步,并且F=1,则发生由步5步8的进展。,返回,后一页,前一页,3并列序列 并行序列的开始称为分支(见图3.51),当转换的实现导致几个序列同时激活时,这些序列称为并行序列。当步1是活动的,并且转换条件A=1,2、4、 6和7这4步同时变为活动步,同时步1变为不活动步。为了强调转换的同步实现,水平连线用双线表示。步2、4、6和7被同时激活后,每个序列中活动步的进展将是独立的。在表示同步的水平双线之上,只允
14、许有一个转换符号。并行序列用来表示系统的几个同时工作的独立部分的工作情况。,返回,后一页,前一页,并行序列的结束称为合并(见图3.51),在表示同步的水平双线之下,只允许有一个转换符号。当直接连在双线上的所有前级步(步3、5、6和7)都处于活动状态,并且转换条件H=1时,才会发生步3、5、6和7到步8的进展,即步3、5、6和7同时变为不活动步,而步8变为活动步。,返回,后一页,前一页,4复合结构,返回,后一页,前一页,复合结构也是由顺序结构,选择结构和并列结构有机组成,以后遇到的多是这种复合结构(见图3.52)。 5.子步(Micro step)在顺序功能图中,类似程序流程图中,用一个块表示一
15、段程序流程图。这里某一步可以包含一系列子步和转换,通常这些序列表示系统的一个完整的子功能。子步的使用使系统的设计者在总体设计时容易抓住系统的主要矛盾,用更加简洁的方式表示系统的整体功能和概貌,而不是一开始就陷入某些细节之中。设计者可以从最简单的对整个系统的全面描述开始,然后画出更详细的顺序功能图,子步中还可以包含更详细的子步。这种设计方法的逻辑性很强,可以减少设计中的错误,缩短总体设计和查错需要的时间。,返回,后一页,前一页,3.3.5 顺序功能图中转换实现的基本规则 1.转换实现的条件 在顺序功能图中,步的活动状态的进展是由转换的实现来完成的,转换的实现应满足两个条件:(1)该转换所有的前级
16、步都是活动步。(2)相应的转换条件得到满足。如果转换的前级步或后续步不止一个,转换的实现称为同步实现(如并列结构)。为了强调同步实现,有向连线的水平部分用双线表示。,返回,后一页,前一页,2转换实现应完成的操作 转换实现时应完成以下两个操作: (1)使所有由有向连线与相应转换符号相连的后续步都变为活动步。 (2)使所有由有向连线与相应转换符号相连的前级步都变为不活动步。以上规则可以用于任意结构中的转换,其区别如下:在单序列中,一个转换仅有一个前级步和一个后续步;在并行序列的分支处,转换有几个后续步,在转换实现时应同时将它们对应的编程元件置位。,返回,后一页,前一页,在并行序列的合并处,转换有几
17、个前级步,它们均为活动步时才有可能实现转换,在转换实现时应将它们对应的编程元件全部复位;在选择序列的分支与合并处,一个转换实际上只有一个前级步和一个后续步,但是一个步可能有多个前级步或多个后续步。转换实现的基本规则是根据顺序功能图设计梯形图的基础,它适用于顺序功能图中的各种基本结构和下面介绍的各种顺序控制梯形图的编程方法。 在梯形图中,用编程元件如M和S代表步,当某步为活动步时,该步对应的编程元件为 ON。当该步之后的转换条件满足时,转换条件对应的触点或电路接通,因此可以将该触点或电路与代表所有前级步,返回,后一页,前一页,的编程元件的常开触点串联,作为与转换实现的两个条件同时满足对应的电路。
18、例如,假设某转换条件的布尔代数表达式为I0.1 * I0.3,它的两个前级步用M0.5 和M0.6来代表,则应将这4个元件的常开触点串联,作为转换实现的两个条件同时满足对应 的电路。在梯形图中,该电路接通时,应使所有代表前级步的编程元件复位,同时使所有代表后续步的编程元件置位(变为ON并保持)。,返回,后一页,前一页,3.3.6 绘制顺序功能图的注意事项 绘制顺序功能图的注意事项: (1)两个步绝对不能直接相连必须用一个转换将它们隔开。 (2)两个转换也不能直接相连必须用一个步将它们隔开。 (3)顺序功能图中的初始步一般对应于系统等待起动的初始状态,这一步可能没有什么 输出处于ON状态,因此有
19、的初学者在画顺序功能图时很容易遗漏这一步。初始步是必不可 少的,一方面因为该步与它的相邻步相比,从总体上说输出变量的状态各不相同;另一方面如果没有该步,无法表示初始状态,系统也无法返回停止状态。,返回,后一页,前一页,(4)自动控制系统应能多次重复执行同一工艺过程,因此在顺序功能图中一般应有由步和有向连线组成的闭环,即在完成一次工艺过程的全部操作之后,应从最后一步返回初始步,系统停留在初始状态,在连续循环工作方式时,将从最后一步返回下一工作周期开始运行的第一步 。 (5)在顺序功能图中,只有当某一步的前级步是活动步时,该步才有可能变成活动步。如果用没有断电保持功能的编程元件代表各步,进入RUN工作方式时,它们均处于OFF状态,必须用初始化脉冲SM0.1的常开触点作为转换条件,将初始步预置为活动步,否则因顺序功能图中没有活动步,系统将无法工作。如果系统有自动、手动两种工作方式,顺序 功能图是用来描述自动工作过程的,,返回,后一页,前一页,这时还应在系统由手动工作方式进入自动工作方式时,用一个适当的信号将初始步置为活动步 。 举例如下:,返回,后一页,前一页,返回,后一页,前一页,返回,后一页,前一页,返回,后一页,前一页,五、3,返回,后一页,前一页,返回,后一页,前一页,五、4,返回,后一页,前一页,改错:,