在GX-Developer环境下的SFC 图编程
2014年3月24日 16:56 作者:杨正勇 刘 欢 衡阳财经工业职业技术学院杨正勇 刘 欢 衡阳财经工业职业技术学院 421008
【文章摘要】
顺序功能图是设计PLC 顺序控制程序的工具,是一种位于其它编程语言之上的图形语言,其程序的规范性较强,容易读懂,具有一定的可视性。然而不少工程技术人员用顺序功能图编程后,还要使用STL 指令或起保停电路进行顺序控制梯形图的编辑,主要原因是不会使用编程软件编辑SFC 图。本文以全自动洗衣机控制系统设计为例,采用三菱FX2N 系统PLC进行绘制SFC 图。
【关键词】
PLC ;顺序功能图;GX-Developerl 软件SFC
0 引言
IEC1131 公布的IEC PLC 标准中,顺序功能图(Sequential Function Chart)被定为PLC 位居首位的编程语言。它是描述控制系统的控制过程、功能和特性的一种图形,是设计PLC 顺序控制程序的工具,是一种通用的技术语言,体现了一种编程思路。然而不少工程技术人员用顺序功能图编程后,还要使用STL 指令或起保停电路进行顺序控制梯形图来编辑,主要原因是应用编程软件绘制SFC 图还不是很广泛,不知如何绘制SFC 图。本文以全自动洗衣机控制系统设计为例,采用三菱FX2N 系统PLC 进行绘制SFC 图,叙述顺序功能图绘制的方法和步骤。
1 全自动洗衣机控制系统设计
1.1 控制要求
全自动洗衣机的工作过程如下:接通电源后,按下启动按钮,洗衣机开始进水,当水位达到高水位时,停止进水并开始正向洗涤。正向洗涤5s,暂停2s,然后开始反向洗涤,反向洗涤5 s 后,暂停2s,如此反复进行。当正向洗涤和反向洗涤满10 次时。开始排水,当水位降到低水位时,开始脱水,并且继续排水。脱水10s 后,就完成一次从进水到脱水的大循环过程。然后进入下一次大循环过程。当大循环次数满3次时,洗完报警,报警10s 后结束全过程,自动停机。
1.2 I/O 分配地址
根据系统动作要求,I/O 分配如下:输入分配,启动和暂停按钮X0 ;高水位信号X3 ;低水位信号X4。输出分配,进水电磁阀Y0 ;电动机正转控制Y1 ;电动机反转控制Y2 ;排水电磁阀Y3 ;脱水电磁离合器Y4 ;报警蜂鸣器Y5。
1.3 程序将光标移到图2 的No0,双击“块标题”或“块类型”,于是出现一个梯形图编程界面。将光标移到右边的编辑窗口,输入M8002 常开触点,将S0 置位,并按F4进行转换。根据系统动作要求及I/O 分配地址,编写的程序见图1 :
2 SFC 图的编辑
2.1 绘制SFC 图的准备工作
运行“GX-Developer”软件,创建新工程,要求选择“PLC 系列”、“PLC 类型”、“程序类型”以及“设置工程名”,注意“程序类型”必须选SFC ;单击“确定”,出现一个对话框,在该对话框中对“块标题”和“块类型”进行定义,如图2 所示。由于编辑SFC图时,首先在程序中必须用初始化脉冲M8002 的常开触点作为转换条件,将初始步预置为活动步,因此No0“块类型”中一定要选择“梯形图块”,而No1“块类型”中选择“SFC 块”。
2.2 初始化的编辑
基金项目:湖南省教育厅科学研究项目:《车用管类金属配件自动生产线的研制》(12C0978)
2.3 SFC 图框架的绘制
双击图2 中No1 中“块标题”或“块类型”,就出现SFC 图编辑区(左边窗口)和输出/ 转换条件程序编辑区(右边窗口);此时,程序自动给出初始步、有向连线(箭头省略)、转换(与有向连线垂直的短划线)等图形,无需我们绘制。接下来就可以进行SFC 图整个框架的绘制了,具体操作如下:
(1)将光标移到(4,1)并双击,出现如图3 所示的SFC 符号输入界面,图标号为“STEP”,默认指定号为“10”。因为SFC 的通用状态步一定要从S20~S499 选择,一般从S20 开始,并且从小到大进行标记,所以应将“10”改为“20”,然后单击“确定”或按“Enter”键,即完成了S20 状态步输入。
(2)将光标移到(5,1)并双击,出现SFC 符号输入界面,图标号为TR,无需改变指定号数值,单击“确定”或按“Enter”键,即完成转换条件输入。
(3)按照(1)、(2)中的方法,分别将光标移到(7,1)、(8,1)、(10,1)、(11,1)、(13,1)、(14,1)、(16,1)、(19,1)、(20,1)、(22,1)、(25,1)、(26,1)等处,分别进行状态步和转换条件的设定。注意在设置状态步时,要将“STEP”的默认指定号“10”依次改为“21~27”。
(4)将光标移到(17,1)并双击,出现SFC 符号输入界面,见图4。选中选择性分支开始符号“——D”后,点击“确定”或按“Enter”键。这样选择序列分支的编辑输入完毕。用同样的方法完成(23,1)处的编辑。
(5)将光标分别移到(18,1)、(18,2)、(24,1)、(24,2)处,按照(2)中的方法完成转换条件5、6、8、9 处的编辑。
(6)将光标移到(19,2) 并双击,会出现SFC 符号输入界面,选择“JUMP”,输入指定号“21”,即要跳转到的目标步,然后单击“确定”或按“Enter”键。在有跳转返回指向的目标步方框图中多出一个小黑点,这说明该工序步是跳转返回的目标步。用同样的方法完成(25,2)、(28,1)等处的跳转,这样就完成了周期性循环工作的编辑。 至此,SFC 图框架的绘制基本完成,如图5 所示。图中有“?”存在,表示还没有对动作输出和转换条件进行编辑。
2.4 输出及转换条件
(1)将光标移到图5 中SFC 图编辑区(左边窗口)初始步的“? 0”处,就可在输出程序编辑区(右边窗口)进行动作输出的编辑。根据图1,在输出程序编辑区可输入“ZRST C0 C1 ”,单击“确定”或按“Enter”键,按F4 快捷键进行转换,转换后梯形图则由原来的灰色变成亮白色,完成转换后“? 0”中的“?”消失。有的程序初始步常设计为无输出,这时,无需编辑。该处的“?”仍然存在。用同样的方法可完成通用状态步“? 20~ ? 27”的动作输出的编辑。注意每编辑完一个状态步的输出,一定要按F4 快捷键进行转换。
(2)将光标移到图5 中SFC 图编辑区(左边窗口)转换“? 0”处,就可在右边窗口进行编辑。根据图1,在右边窗口输入“ld x0” 单击“确定”或按“Enter”键,然后再输入“tran”,按“Enter”键。按F4 快捷键进行转换。这时“? 0”处的“?”消失,表示转换条件输入完成。用同样的方法可完成“? 1~ ? 10”转换条件的编辑。这样即完成了所有的动作输出和转换条件的编辑,生成如图6 所示的SFC 图。
2.5 程序变换
当所有SFC 程序编辑完后,点击变换(编辑中所有程序),进行SFC 程序的变换(编译),变换成功后就可以进行仿真实验或写入PLC 进行调试了。
3 SFC 图编辑的优点
使用SFC 图编辑,无需再用STL 指令或起保停电路进行顺序控制梯形图的编辑,这样大大降低了编程的复杂性,减少编程错误,缩短编程时间,提高了编程效率,而且容易转换成所需要的形式;与传统的梯形图编辑方法相比,无需复杂的互锁电路,具有简单、直观、程序结构清晰、规范、易于理解和检查的优点,尤其是当设备发生故障时,较容易找出故障所在位置。特别适合于多进程同时运行的控制对象,利用它的并列、选择分支编程功能,能较好地实现项目任务要求的顺序控制功能。笔者在车用金属管类零件自动检测机项目中得到了很好验证。
【参考文献】
[1] 廖常初.《PLC 基础及应用》. 北京:机械工业出版社,2003 年4 月。
[2] 华满湘.《电气控制及PLC 应用》. 北京:北京大学出版社,2009 年9 月。
[3] 郑燕.《PLC 项目教程》. 北京:人民邮电出版社,2010 年12 月。
【作者简介】
杨正勇(1968— ),男,湖南宜章人,衡阳财经工业职业技术学院,副教授,硕士,研究方向实训教学和自动化应用技术的推广应用。