程阔
摘要:顺序控制是广泛应用于工业控制技术,利用PLC是实现顺序控制的最佳方法,通过使用顺序功能图可以实现复杂顺序PLC控制,此方法具有简单、直观、高效和不易出错等特点。本文将以送料小车的控制为例,以PLC通用指令实现顺序功能图步进的思想,提高编程的效率。
关键词:顺序控制;通用指令;顺序功能图
中图分类号:G71 文献标识码:A 文章编号:1672-4437(2014)01-0067-03
顺序功能流程图(Sequential Function Chart,SFC)是PLC中非常好的一种解决顺序控制的语言,它的出现使顺序控制类问题设计变得简单明了,顺序功能图并不涉及所描述的控制功能的具体技术,是一种通用的技术语言。国际电工委员会(IEC)公布了“控制系统功能图准备”标准(IEC848),顺序功能图作为PLC首位的编程语言,我国在1986年颁布了功能图的国家标准(GB6988.6—86)[1,2]。本文是以西门子公司S7-200型PLC为例来阐述用顺序功能流程图实现顺序PLC控制的。
一、顺序功能图
顺序功能图编程是图形化编程方法,用流程图来描述某个顺序控制过程,步、转换、有向连线及动作几部分构成。顺序功能图最基本的思想是将系统的一个工作周期划分为若干个顺序相连的步(Step),一般用编程元件(M或S表示)来代表各步。步是根据输出量的状态变化来划分的。初始步是步开始的标示,每工作步内将要完成特定的动作,使相应的输出量保持正确的逻辑输出状态,并保持不变,但相邻步输出量的状态是不同的。顺序功能图中,步用方框表示,方框内是步的元件号或步的名称,步与步之间是通过有向线段连接。其中从上到下和从左到右的箭头可以省去不画,有向线段上的垂直短线和它旁边的圆圈或方框是该步期间的输出信号。步与步之间用“有向连线”连接,在有向连线上小短线表示转换条件,当条件得到满足时,步发生转换,本步动作结束,进入接下步进行工作。当系统正处于某一步时,称该步为“活动步”。步与步之间有转换条件,完全是为了确保控制严格地按照顺序执行。
二、顺序功能图编程过程
顺序控制有多种方式,其中常用的有通用的起保停格式指令来完成,也可能使用不具有通用性的步进来实现。使用通用的起保停格式,即为起动、保持和停止。起动即激活此一步,使这步进入工作状态;保持即保持这步始终处于ON状态,并使这步的所有输出保持不变,直到进入下一步;停止即激活其它步时,本步工作停止。
顺序功能图实现某一个复杂的顺序控制,关键是步的划分,若步划分完成,编程可按固定格式进行。步的划分,重要的依据参考就是根据所有输出量的状态动作进行划分,而且相邻两步输出量的状态一般是不同的。
对于多数没有掌握步进思想的编程者来说,不太理解同一控制系统中,有些输出量在多步中始终保持接通,却分在几步进行?对于此问题,应从以下两个方面来理解。第一,对一个复杂的顺序控制过程分解成多步后,这将容易实现编程,它能把全局应考虑的复杂编程问題转变成对步进行的编程,步的划分实质上是对控制过程进行最小化的处理分析。步的编程决定了整个系统编程,减小编程出错的可能;第二,实现的过程中,复杂的顺序控制过程分解成多步控制后,保持的输出量状态,不会因为步的划分产生差异。
顺序功能图中,步的转换应该具备两个条件,即激活某步时,该步的前级步为“活动步”与相应的转换条件成立时。转换实现应完成的操作有两个,后续步都变为“活动步”,前级步都变为“不活动步” 。自动控制系统是一个循环重复执行工艺过程,所以在顺序功能图中应当由步和有向连线组成的闭环结构,即应当从最后一步返回初始步。并且系统停止也在初始步。
三、顺序功能图及程序控制
顺序功能图有单序列、选择序列、并行序列。单序列由一系列相继激活的步组成,每一步的后面仅有一个转换,每一个转换的后面只有一个步。选择序列的开始称为分支,转换符号只能标在水平连线之下。一般只允许同时选择一个序列,即选择序列中的各序列是互相排斥的,其中的任何两个序列都不会同时执行。选择序列的结束称为合并,几个选择序列合并到一个公共序列时,用需要重新组合的序列相同数量的转换符号和水平连线表示,转换符号只允许标在水平连线之上 。并行序列的开始称为分支,当转换的实现导致几个序列同时激活时,这些序列称为并行序列。每个序列中活动步的进展将是独立的。在表示同步的水平双线之上,只允许有一个转换符号.并行序列用来表示系统的几个同时工作的独立部分的工作情。并行序列的结束称为合并,在表示同步的水平双线之下,只允许有一个转换符号[3,4]。
现以送料小车系统示意图如图1所示,PLC接线图如图2所示,指出顺序控制设计的基本方法。
图1 小车的行程控制系统示意图
图2 装料/卸料小车的I/O接线图
工作过程描述:初始位置,小车在左端,左限位开关SQ1(I0.2)被压下。按起动按钮SB1(I0.0),小车开始装料。8s后装料结束,小车自动向右运行,碰到右限位开关SQ2(I0.3时,停止右行,小车开始卸料。5s后卸料结束,小车自动向左行,碰到左限位开关SQ1后,停止左行,开始装料……,如此循环,当按下停止按钮SB2(I0.1),当前循环完成后,小车结束工作。通过上述描述,本例的工作过程是按步进行的顺序控制,若采用经验法进行设计时,小车在一个循环过程中经过相同行程开关产生的输出结果有所不同,处理起来麻烦,没有相关设计的设计者来说,实现工作过程有一定的困难。按照顺序控制设计法来设计,较为简单。首先,把送料小车正常工作时的一个工作循环按输出量的状态变化来划分如下步:初始步(为个顺序控制应该有)、装料(第一步)、右行(第二步)、卸料(第三步)、左行(第四步)。
在小车一个工作循环中,行程开关的状态的变化,并不一定会引起输出的变化,只有引起激活下一步的转换条件成立,输出量才可能变化,否则不会引起当前步输出的变化,此属于单序列。设计的顺序功能图如图3所示。
对应的通用指令梯形图如图4所示。图4控制系统中的各输出量在一个工作循环中通过多步接通分别实现。某一输出量有信号一定要在活动步内。如小车要进行装料Q0.0(高电位时),一定发生在S0.1,并且本步的实现对其它步没有影响。对于选择序列状态转移图和并行序列状态转移图的程序设计,设计原则是在基于单序列状态转移图程序设计的基础上,先集中进行分支转移处理,然后按各分支顺序进行顺序驱动,最后集中向合并状态转移。
四、结束语
采用顺序控制设计法解决复杂顺序类的控制问题是最好的一种办法,也是经验设计法无法比拟的,通过功能图分析设计工作变得异常简单、高效,规律性强,且能编写出比较复杂的顺序控制程序,极大限度地提高了工作效率,所编程序易于分析、调试与修改。设计过程中,只要按照工艺过程把控制过程输出量的状态变化划分为若干工作步,画出功能顺序图,然后按功能图进行套用编程,减少程序出错,提高编程效率,使复杂问题变得简单。
参考文献:
[1] 刘晓燕.S7-200西门子PLC基础教程[J].电气技术,2010(5):57—59.
[2] 廖常初.PLC梯形图的顺序控制设计法与顺序功能图[J].电工技术杂志,2001,10:51-53..
[3] 吴继彬.可编程控制器梯形图顺序控制设计法概述[J].PLC&FA,2011(1):31—34.
[4] [6]孙克礼,朱仁盛.基于运料小车自动往返顺序控制的PLC程序设计[J].自动化技术与应用,2008,27(12):93—97.