顺序功能图(Sequeential Function Chart)是一种新颖的、按工艺流程图进行编程的图形化编程语言,也是一种符合国际电工委员会(IEC)标准,被首选推荐地用于可编程控制器的通用编程语言,现在,在PLC的应用领域中得到广泛的推广和应用。
采用SFC进行PLC应用编程的优点是:
1、在程序中可以直观地看到设备的动作顺序。因为SFC程序是按照设备(或工艺)的动作顺序编写的,所以程序的规律性较强,容易读懂,具有一定的可视性。
2、在设备发生故障时能很容易的找出故障所在位置。
3、不需要复杂的互锁电路,更容易设计和维护系统。
根据国际电工委员会(IEC)标准,SFC的标准结构是:
步+该步工序中的动作或命令+有向连接+转换和转换条件=SFC,参见图1:
图1
SFC程序的运行规则是:从初始步开始执行,当每步的转换条件成立时,就由当前步转为执行下一步,在遇到END时结束所有步的运行。
现在大多PLC制造公司,都为自己的工控产品提供了相关的编程软件,以便利用计算机实现在线编程。三菱公司提供的编程软件GX Developer(版本号8.34)中,就提供了SFC编程方法,但由于相关书籍和学习资料跟不上,致使很多初学者不知道如果用该软件来进行SFC编程,这给广大的初学者学习PLC应用编程带来了不便。这里,我们根据自己学习和掌握的知识,依据三菱公司提供的编程手册,讲解如何利用GX Developer软件来进行SFC的编程,为初学者掌握SFC编程方法,提供一个入门的机会。
一、单流程结构编程方法
单流程结构是顺序控制中最常见的一种流程结构,其结构特点是程序顺着工序步,步步为序的向后执行,中间没有任何的分支。掌握了单流程的SFC编程方法,也就是迈进了SFC的大门。这里,我们以“双灯自动闪烁信号生成”为例,讲解SFC编程的入门。
例题:双灯自动闪烁信号生成。要求:在PLC上电后,其输出Y0和Y1各以一秒钟的时间间隔,周期交替闪烁。
本例梯形图和指令表见图2。
在GX Developer中,一个完整的SFC程序是由初始状态、有向线段、转移条件和转移方向等内容组成(见图3)的,所以,我们的编程就是完整的获得这几个组成部分。
根据PLC的教程规定,SFC程序主要由初始状态、通用状态、返回状态等几种状态来构成,但在编程中,这几个状态的编写方式是不一样的,这需要注意。SFC程序从初始状态开始,所以,编程的第一步是给初始状态设置合适的启动条件。本例中,梯形图的第一行表示的是如何启动初始步,在SFC程序中,初始步的启动采用梯形图方式。
下面开始软件中的程序输入。
图2闪烁信号梯形图和指令表
图3闪烁信号SFC程序
1、启动GX Develop编程软件,单击“工程”菜单,点击创建新工程菜单项或点击新建工程按钮
见图4。
图4 GX Develop编程软件窗口
2、弹出的创建新工程对话框见图5中,要对三菱系列的CPU和PLC进行选择,(信息来源:http://www.55dianzi.com)以符合对应系列的编程代码,否则容易出错。这里讲述的主要是三菱FX2N系列的PLC,所以,需做如下几个项目的选择和输入:
a.在PLC系列下拉列表框中选择FXCPU;
b.在PLC类型下拉列表框中选择FX2N(C);
c.在程序类型项中选择SFC;
d.在工程设置项中设置好工程名和保存路径
完成上述项目后之后点击确定。
图5新工程创建
3、完成上述工作后会弹出如图6所示的块列表窗口。
图6块列表窗口
按图中所示,双击第零块。
4、双击第零块或其它块后,会弹出块信息设置对话框见图7。
图7块信息设置对话框
这里,是对块编辑进行类型进行选择的进入窗口,有两个选择:SFC块和梯形图块。
在编程理论中我们学到,SFC程序由初始状态开始,故初始状态必须激活,而激活的通用方法是利用一段梯形图程序,且这一段梯形图程序必须放在SFC程序的开头部分。同理,在以后的SFC编程中,初始状态的激活都需由放在SFC程序的第一部分(即第一块)的一段梯形图程序来执行,这是需要注意的一点。所以,在这里应点击梯形图块,在块标题栏中,填写该块的说明标题,也可以不填。
5、点击执行按钮弹出梯形图编辑窗口见图8,在右边梯形图编辑窗口中输入启动初始状态的梯形图。
在编程理论中曾学到,初始状态的激活一般采用辅助继电器M8002来完成,www.55dianzi.com也可以采用其它触点方式来完成,这只需要在它们之间建立一个并联电路就可以实现。本例中我们利用PLC的辅助继电器M8002的上电脉冲使初始状态生效。
在梯形图编辑窗口中单击第零行输入初始化梯形图如图9所示,输入完成单击“变换”菜单选择“变换”项或按F4快捷键,完成梯形图的变换。
图8梯形图编辑窗口