基于S7-Graph编程语言消除多缸往复电气动系统换向信号重叠的方法
2017-05-12崔凤松
崔凤松
(一汽大众汽车有限公司,吉林长春130011)
软件应用
基于S7-Graph编程语言消除多缸往复电气动系统换向信号重叠的方法
崔凤松
(一汽大众汽车有限公司,吉林长春130011)
使用德国Siemens公司的SIMATIC-STEP7编程软件中的S7-Graph编程语言编写PLC控制程序,消除多缸往复电气动系统中气缸运动的换向信号重叠问题,从而通过简单快捷的编程来实现系统运动功能。
S7-Graph编程语言;换向信号重叠;LAD(梯形图)
1776年John Wilkinson发明的能产生1个大气压左右压力的空气压缩机。1930年,气动控制技术被应用于公交车门的自动开闭及各种机械机构的辅助动作上。1960-1970年代,气动控制技术已经开始广泛应用在工业生产自动化的各个领域,形成了现代气动技术。
气动系统在系统传动效率﹐传递信号的速度,信号传递的距离等方面因素受到很大限制﹐特别是控制系统复杂程度的增加﹐为了适应低成本﹐高生产效率的需求﹐人们考虑能否将气动和电动结合起来﹐充分发挥各自的优点﹐这就产生了“电气动”技术。
进入21世纪,可编程控制器(PLC)以其通用性强,灵活性高等优点在“电气动”中被广泛应用,使多缸往复系统可以在生产中实现比较复杂的运动功能,但是在实际运动中存在着同一换向阀换向信号的重叠问题。本文中将介绍利用S7-Graph(顺序功能图)编程语言消除换向信号的重叠问题,简单快捷的完成编程工作。
1 电气动换向信号的重叠问题介绍
本文以一个两气缸往复运动系统为例(图1~3),一个工作循环的动作顺序为:第一步,系统启动A缸伸出;第二步,A缸缩回;第三步,B缸伸出;第四步,B缸缩回;第五步,A缸伸出;第六步,A缸缩回……每四步一个动作循环。
图1 气动系统动作步骤顺序图
图2 气动系统位移动作步骤简图
图3 气动系统回路原理图
在本例中A、B气缸的动作均为连续的往复运动,每个换向阀的两端控制信号都存在同时作用的重叠问题,并同时存在A、B两个气缸的顺序动作问题。使用通常的LAD(梯形图)编程需要在多个程序段中添加。互锁信号、位存储器,逻辑复杂、编程难度较大。当系统为多缸多往复运动时,需要添加的互锁信号数量就会更多,最终导致程序内部的逻辑关系非常复杂,在很大程度上增加了编程工作的难度,使程序设计工作变得即繁琐又容易出现错误。
2 S7-Graph编程语言的介绍
2.1 S7-Graph概述
S7-Graph顺序功能图(Sequential Function Chart,SFC)是描述控制系统的控制过程、功能和特性的一种图形,也是编写PLC的顺序控制程序的一种语言。这种编程语言将执行元件的动作分解为单独的步,每个步具有各自的功能,即它将一个完整的控制过程分解成若干个顺序出现的单步来执行,每一个步中包括控制输出的动作,步与步之间的转换由一定的转换条件控制,步和转换条件再一起构成了顺控器。
一个s7-Graph(顺序功能图)可执行程序必须包括至少三个块:
(1)一个含有顺控器的FB(功能块);
(2)一个含有顺控器数据的DB(背景数据块);
(3)一个调用FB(功能块)的OB1(组织块)。
2.2 S7一Graph的编程思路
在S7-Graph(顺序功能图)FB(功能块)中,可以给每个控制顺序进行编程。一个控制顺序由一系列的步构成。如图4所示。
图4 使用S7一GARAPH编程的示意图
这些步按照固定的由转换条件(即确定什么条件下由这一步转换到下一步)决定的顺序执行,而每个步包括了一系列动作(Action),这些动作就是该步所要执行的任务。只有当这些动作执行完毕且转换条件成立时才从本步转换到下一个步,并执行下一步的动作。这里的转换条件如图4的T1(Transition1)和T2 Transition2)所示,它负责上下步(如图中的Stepl和Step2)的连接和转化。在第一个转换条件T1(Transition1)中,常开触点Motor(电机)闭合时,该行电路接通,其转换条件成立此时,控制程序从Stepl转换到Step2开始执行本步的动作;同理,对于第二个转换条件T2,当常开触点Input1和Input2都闭合时,该支路接通,其转换条件T2成立,于是,控制程序从Step2转换到下一步。
用S7一Graph编制控制系统程序,对应每个转换条件(比如是图4中的T1)成立时,整个控制系统只有该转换条件的所有后续步(Step2)为活动步,即代表后续步的存储器位变为1状态,并使其保持1状态,这一要求刚好可以用梯形图中有保持功能的置位指令(s)完成。而同时,当该转换条件(T1)成立时,其所有的前级步都要变为不活动步,即将代表前级步的存储器位变为0状态,并使它保持0状态,这一要求刚好可以用梯形图中的复位指令(R)来完成。S7一Graph(顺序功能图)编程语言的这些内在特性,非常符合气动控制系统以步为单位的顺序动作特点,即将多缸往复电气动控制系统看成是一个逐步执行的控制系统,再使用S7一Graph(顺序功能图)编程,即可在很大程度上简化程序,降低编程难度,缩短电气动控制系统的设计周期,极大地提高了设计工作效率。
下面本文将采用图5中的S7一Graph(顺序功能图5)动作块N指令来为系统编程。
图5S7一Graph(顺序功能图)基本指令
3 编程示例
示例1:按照A、B两个气缸的循环动作顺序,用LAD(梯形图)语言编制控制系统程序。如图6,图7所示。
图6LAD(梯形图)程序1-4段截图
图7LAD(梯形图)5-8段程序截图
此示例程序是由一个按钮“start”(I0.0)启动执行的一个双气缸单循环往复动作。第一、二步为A气缸伸出和缩回,第三、四步为B气缸伸出和缩回。为了消除每个换向阀两端的重叠换向信号并同时保证A、B气缸的前后顺序动作,在程序中使用了M0.0~M0.3共4个位存储器(软继电器),并在几个程序段中添加了互锁、联锁、自锁控制功能,共编写了8个程序段。
系统在运动过程中出现两次位置传感器“a0”、“b0”同时存在的状态,但两次的下一步动作分别是“A+”(A气缸伸出)和“B+”(B气缸伸出),为保证系统顺序动作的正确,在程序段5、6中分别使用了M0.3的常开和常闭点,起到互锁的作用。同时在程序段4中加入了M0.3的自锁常开点以及断开自锁的M0.1常闭点。对系统进行仿真运行,气缸动作步骤正确,实现了系统的设计要求。
示例2:用S7一Graph(顺序功能图)语言编制控制系统程序,如图8,图9所示。
图8S7一Graph程序开始仿真状态截图
图9S7一Graph程序结束仿真状态截图
此示例程序仍然由一个按钮“start”(I0.0)启动,执行双气缸单循环往复动作。在FB(功能块)中一共编写了5段程序,对应A、B气缸的4步动作。在第1和第3步添加了“a0”、“b0”两个传感器的气缸原位联锁功能,没有使用位存储器M(软继电器)以及互锁、自锁功能,对系统进行仿真运行,气缸动作步骤正确,同样实现了系统的设计要求。
而如果将S7一Graph(顺序功能图)程序照搬到LAD(梯形图)中,如图10,图11所示,仿真运行会发现系统还未通过按钮“start”(I0.0)启动,B气缸即开始循环往复运动,而A气缸始终处于静止状态,整个系统进入错误状态,完全无法实现正常运行。
图10LAD(梯形图)错误程序截图
图11LAD(梯形图)错误程序截图
比较上面两个编程示例可以看出,LAD(梯形图)的编程由于需要考虑到换向阀换向信号重叠以及A、B气缸的正确顺序动作问题,LAD(梯形图)编制的程序会比S7一Graph(顺序功能图)编制的程序复杂得多。并且,系统内气缸和传感器越多,对于M位存储器(软继电器)的互锁、自锁控制逻辑就越复杂越不直观,对设计人员的编程能力要求就越高,这显然不是一个缺乏设计经验的程序员很容易就能实现的。
4 结束语
从上述内容可以看出,采用LAD(梯形图)的编程方法实际上是用输入信号I直接控制输出信号Q,并增加了联锁、互锁、位存储器M(软继电器),以实现消除换向阀重叠信号的功能,但是面对不同气动控制系统时,系统彼此之间的气缸数量以及气缸之间的运动顺序都不尽相同,对I/O信号的联锁、互锁要求也多种多样,因此,如果采用LAD(梯形图)编程,是很难做到类似公式代入法一样,简单通用、一劳永逸的实现多缸往复系统的控制程序设计的。
而采用S7-Graph(顺序功能图)编程,却完全可以在思路上只关注系统的步或状态的变化条件,不需要去特别专注为消除重叠信号而如何添加联锁、互锁以及位存储器M(软继电器)。因此,当面对一个多缸往复电气动系统时,即使设计人员并不具备比较丰富编程经验,只要能够清楚地了解和掌握气缸的动作顺序要求,就完全可以用S7-Graph(顺序功能图)编制出满足设计要求的控制程序,而不必担心像使用LAD(梯形图)编程那样需要具备较丰富的编程经验,这也正是S7-Graph编程语言在多缸往复电气动系统中相对于LAD(梯形图)编程更具有优越性的地方,尤其是在设计大型复杂的多缸多往复电气动控制系统时,这种优越性就会体现的更为明显。
通过许多实例表明,为了消除多缸往复电气动系统换向阀两端重叠信号的问题,使用S7-Graph(顺序功能图)编程语言可以简单快捷地完成编程工作,并为从事多缸往复电气动系统自动控制的PLC编程设计人员提供了一种解决同类问题的方法和思路。
[1]许永生.气压传动[M].北京:机械工业出版社,1996.
[2]姜佩东.液压与气动技术[M].北京:高等教育出版社,2000.
[3]廖常初.PLC编程及应用[M].北京:机械工业出版社,2005.
[4]路甬祥.液压气动技术手册北京[M].2版.北京:机械工业出版社,2002.
[5]兰江,陈彬兵.西门子S7一Graph和S7一HiGraph语言的编程思路[J].自动化信息,2007(10):63-65.
Based on S7-Graph Programming Language to Eliminate Multi Cylinder Reciprocating Electric Pneumatic System Reversing Signals Overlapping Method
CUI Feng-song
(Faw-Volkswagen Co.,Ltd.,Jilin Changchun 130011,China)
Use of german Siemens company SIMATIC S7-Graph of STEP7 programming software language to write the PLC control program,eliminate electro pneumatic system of multi cylinder reciprocating motion of the reversing signals overlapping problem,so that simply and quickly programming actualize the motor function of the system.
S7-Graph languages;the reversing signal overlapped;LAD(ladder diagram)
TP312
A
1672-545X(2017)03-0241-04
2016-12-26
崔凤松(1972-),男,辽宁营口人,高级技师,研究方向:机器人及机电一体化。