《顺序控制程序的设计过程.》由会员分享,可在线阅读,更多相关《顺序控制程序的设计过程.(15页珍藏版)》请在金锄头文库上搜索。
1、上一节介绍的PLC控制程序的设计过程,是在确定了输入、输出关系后,根据设计人员的直觉和经验直接进行梯形图设计,这种方法称为经验设计法。对于一些简单的控制任务,经验设计法确实是一种简洁有效的方法,而面对复杂的控制要求,用经验设计法就显得非常困难,并存在着以下的问题: (1)设计方法很难掌握,设计周期长 用经验法设计系统的梯形图时,没有一套固定的方法和步骤可以遵循,具有很大的试探性和随意性。对于各种不同的控制系统,没有一种通用的容易掌握的设计方法。在设计复杂系统的梯形图时,用大量的中间单元来完成记忆、联锁、互锁等功能。由于需要考虑的因素很多,它们往往又交织在一起,分析起来非常困难,并且很容易遗漏一
2、些应该加以考虑的问题。修改某一局部电路时,很可能会“牵一发而动全身”,对系统的其它部分产生意想不到的影响。因此梯形图的修改也很麻烦。往往花了很长的时间还得不到一个满意的结果。 (2)装置交付使用后维修困难 用经验法设计出的梯形图往往看上去非常复杂。对于其中某些复杂的逻辑关系,即使是设计者的同行,分析起来都很困难,更不用说维修人员了。这给PC控制系统的维修和改进带来了很大的困难。 事实上,对于PLC所擅长的离散型控制场合,不管控制任务有多复杂,通过细心分析就会发现,所谓的控制过程就是在PLC的指挥下,系统状态发生变化的过程。所以,只要把系统的状态从工艺要求中分离出来,控制问题也就迎刃而解了。系统
3、状态的变化是有规律的,一般是按顺序一步一步地进行的,在此基础上,人们总结形成了一种科学有效的程序设计方法,称为顺序设计法或步进梯形图设计。7.7.1 顺序功能图基本概念顺序设计法或步进梯形图设计的概念是在继电器控制系统中形成的,步进梯形图是用有触点的步进式选线器(或鼓形控制器)来实现的。但是由于触点的磨损和接触不良,工作很不可靠。上世纪70年代出现的控制器主要由分立元件和中小规模集成电路组成。因为其功能有限,可靠性不高,已经基本上被PC替代。可编程序控制器的设计者们继承了前者的思想,为控制程序的编制提供了大量通用和专用的编程元件和指令,开发了供编制步进控制程序用的功能表图语言,使这种先进的设计
4、方法成为当前PC梯形图设计的主要方法。 这种设计方法很容易被初学者接受。对于有经验的工程师,也会提高设计的效率。程序的调试、修改和阅读也很容易。顺序功能图的设计步骤(1)首先根据系统的工作过程中状态的变化,将控制过程划分为若干个阶段。这些阶段称为步(Step)。步是根据PC输出量的状态划分的。只要系统的输出量的通/断状态发生了变化,系统就从原来的步进入新的步。在各步内,各输出量的状态应保持不变,如图7.48所示。图748状态步的划分 (2)各相邻步之间的转换条件。转换条件使系统从当前步进入下一步。常见的转换条件有限位开关的通/断,定时器、计数器常开触点的接通等。转换条件也可能是若干个信号的与、
5、或逻辑组合。 (3)画出顺序功能图或列出状态表。 (4)根据顺序功能图或状态表,采用某种编程方式,设计出系统的梯形图程序。 顺序功能图又称为功能表图,它是一种描述顺序控制系统的图解表示方法,是专用于工业顺序控制程序设计的一种功能说明性语言。它能形象、直观、完整地描述控制系统的工作过程、功能和特性,是分析、设计电气控制系统控制程序的重要工具。 功能图主要由“状态”、“转移”及有向线段等元素组成。如果适当运用组成元素,就可得到控制系统的静态表示方法,再根据转移触发规则模拟系统的运行,就可以得到控制系统的动态过程。步(状态)步也就是状态,是控制系统中一个相对不变的性质,对应于一个稳定的情形。可以将一
6、个控制系统划分为被控系统和施控系统。例如在数控车床系统中,数控装置是施控系统,而车床是被控系统。对于被控系统,在某一步中要完成某些“动作”(action),对于施控系统,在某一步中则要向被控系统发出某些“命令”(command)。步的符号如图7.49所示。矩形框中可写上该状态的编号或代码。 (1)初始状态。初始状态是功能图运行的起点,一个控制系统至少要有一个初始状态。初始状态的图形符号为双线的矩形框,如图7.49(a)所示。在实际使用时,有时也是画单线矩形框,有时画一条横线表示功能图的开始。 (2)工作状态。工作状态是控制系统正常运行时的状态,如图7.49(b)所示。根据系统是否运行,状态可分
7、为动态和静态两种。动状态是指当前正在运行的状态,静状态是没有运行的状态。不管控制程序中包括多少个工作状态,在一个状态序列中同一时刻最多只有一个工作状态在运行中,即该状态被激活。 (3)与状态对应的动作。在每个稳定的状态下,可能会有相应的动作。动作的表示方法如图7.49(b)所示。图749顺序功能图基本符号 转移为了说明从一个状态到另一个状态的变化,要用转移概念,即用一个有向线段来表示转移的方向,连接前后两个状态。如果转移是从上向下的(或顺向的),则有向线段上的方向箭头可省略。两个状态之间的有向线段上再用一段横线表示这一转移。转移的符号如图7.49(c)所示。 转移是一种条件,当此条件成立,称为
8、转移使能。该转移如果能够使状态发生转移,则称为触发。一个转移能够触发必须满足:状态为动状态及转移使能。转移条件是指使系统从一个状态向另一个状态转移的必要条件,通常用文字、逻辑方程及符号来表示。7.7 S7-200系列PLC的顺序控制指令及应用7.7.2 S7-200系列PLC顺序控制指令顺序控制指令形式顺序控制指令是PLC生产厂家为用户提供的可使功能图编程简单化和规范化的指令。S7200 PLC 提供了三条顺序控制指令,它们的STL形式、LAD形式和功能如表7.13所示。表7.14顺序控制指令的形式及功能STLLAD功能 操作对象 LSCR bit顺序状态开始S(位)SCRT bit顺序状态转
9、移S(位)SCRE顺序状态结束无CSCRE条件顺序状态结束无从上表中可以看出,顺序控制指令的操作对象为顺控继电器S,也把S称为状态器,每一个S的位都表示功能图中的一种状态。S的范围为:即S0.0S31.7。 从LSCR指令开始到SCRE指令结束的所有指令组成一个顺序控制继电器(SCR)段。LSCR指令标记一个SCR段的开始,当该段的状态器置位时,允许该SCR段工作。SCR段必须用SCRE指令结束。当SCRT指令的输入端有效时,一方面置位下一个SCR段的状态器S,以便使下一个SCR段工作;另一方面又同时使该段的状态器复位,使该段停止工作。由此可以总结出每一个SCR程序段一般有三种功能: (1)驱
10、动处理:即在该段状态器有效时,处理相应的工作;有时也可能不做任何工作; (2)指定转移条件和目标:即满足什么条件后状态转移到何处; (3)转移源自动复位功能:状态发生转移后,置位下一个状态的同时,自动复位原状态。顺序控制指令的应用液压动力滑台在自动机床中被广泛采用,这里以液压动力滑台控制为例来说明顺序功能图设计方法以及顺序控制指令的使用方法。 液压动力滑台在实际工作时的运动过程一般是:快进工进快退。其运动过程由快进、工进、快退三个电磁阀控制,控制系统PLC各 I/O功能及地址分配如表7.15所示。机床液压滑台控制系统如图7.50所示。表7.15 液压动力滑台控制系统PLC I/O地址分配功能名
11、称动作器件I/O地址说明启动按钮SB1I0.0启动滑台原点位置SQ1I0.1滑台在原点位置工进起点SQ2I0.2滑台运动到工进起点位置工进终点SQ3I0.3滑台运动到工进终点位置快进YV1Q0.0滑台快进工进YV1、YV2Q0.0、Q0.1滑台工进快退YV3Q0.2滑台快退初始化脉冲SM0.1将初始状态S0.1置位。当按下起动按钮时I0.0接通,S0.2置位,S0.2接通Q0.0实现快进。当快进到位时,SQ2动作,使I0.2接通, S0.3置位,而S0.2复位, Q0.0继续接通,并且Q0.1也同时接通,转为工进。工进到位时SQ3动作使I0.3接通,S0.4置位使Q0.2接通,滑台快退回原点使
12、SQ1动作而I0.1接通,S0.1重新置位,这时滑台停止于原点等待下一次起动。 使用说明: (1)顺控指令仅对元件S有效,顺控继电器S也具有一般继电器的功能,所以对它能够使用其他指令。 (2)SCR段程序能否执行取决于该状态器(S)是否被置位,SCRE与下一个LSCR之间的指令逻辑不影响下一个SCR段程序的执行。 (3)不能把同一个S位用于不同程序中,例如:如果在主程序中用了S0.1,则在子程序中就不能再使用它。 (4)在SCR段中不能使用JMP和LBL指令,就是说不允许跳人、跳出或在内部跳转,但可以在SCR段附近使用跳转和标号指令。 (5)在SCR段中不能使用FOR、NEXT和END指令。
13、(6)在状态发生转移后,所有的SCR段的元器件一般也要复位,如果希望继续输出,可使用置位复位指令。 (7)在使用功能图时,状态器的编号可以不按顺序安排。7.7.3顺序功能图的结构类型单序列单序列由一系列相继激活的步组成,是最简单的一种顺序功能图,如图7.50所示。每一步的后面仅接有一个转换,每一个转换的后面只有一个步。选择的分支和合并选择序列的开始称为选择分支,如图7.51(a)所示。转换符号只能标在水平连线之下。如果步5是激活的,并且转换条件e=1,则发生由步5到步6的进展。如果步5是活动的,并且f=1,则发生由步5到步9的进展。在选择序列的分支时,一般只允许同时选择一个序列。图751选择序
14、列的分支和合并 选择序列的结束称为选择合并,如图7.51(b)所示。几个选择序列合并到一个公共序列时,用需要重新组合的序列相同数量的转换符号和水平连线来表示。转换符号只允许标在水平连线之上。如果步5是活动的,并且转换条件m=1,则发生由步4到步12的进展。如果步8是活动的,并且n=1,则发生由步8到步12的进展。并行分支并行序列的开始称为并行分支,如图7.52(a)所示。当转换的实现导致几个序列同时激活时,这些序列称为并行序列。当步3是活动的,并且e=1,则4、6、8这三步同时被激活,同时步3变为不活动。为了强调转换的同步实现,水平连线用双线表示。步4、6、8被同时激活后,每个序列中的活动步的
15、进展将是独立的。在表示同步的水平双线之上,只允许有一个转换符号。图752并行序列的分支和合并 并行序列的结束称为并行合并,如图7.52(b)所示。在表示同步的水平双线之下,只允许有一个转换符号。当直接连在双线上的所有前级步都处于活动状态,并且转换条件d=1时,才会发生步3、5、7到步8的进展。即3、5、7同时变为不活动的,而步8变为活动步。跳转与循环向下面非相邻状态的直接转移或者向系列外的状态转移被称为跳转,以箭头符号表示转移的目标状态,如图7.53(a)所示。向上面状态的转移被称为重复,与跳转一样,用箭头符号表示转移的目标状态,如图7.53(b)所示。图753跳转与循环 今天在现场调试了下,还是老问题,循环到第三次的时候,S1.3不运行。TITLE=自动运行开始M8.0-M15.0Network 1/ 自动控制开始时清除掉所有命令LD SM0.1ON M0.0LD M8.2EDOLDLD M7.0EUOLDLD M0.3EUOLDR S0.1, 32R M9.0, 40R M15.1, 4R M19.0, 4Network 2/ 自动停止及自动模式取消时步进复位LD