如何用GX Developer编程软件编写SFC顺序功能图?

应用三菱GX Developer编程软件编写SFC顺序功能图的方法

顺序功能图(Sequeential Function Chart)是一种新颖、按工艺流程图进行编程的图形化编程语言,也是一种符合国际电工委员会(IEC)标准,被首选推荐用于可编程控制器的通用编程语言,在PLC应用领域中应用广泛及推广。

采用SFC进行PLC应用编程的优点是:

1、在程序中可以直观地看到设备的动作顺序。SFC程序是按照设备(或工艺)的动作顺序而编写,所以程序的规律性较强,容易读懂,具有一定的可视性。

2、在设备发生故障时能很容易的找出故障所在位置。

3、不需要复杂的互锁电路,更容易设计和维护系统。

根据国际电工委员会(IEC)标准,SFC的标准结构是:步+该步工序中的动作或命令+有向连接+转换和转换条件=SFC,参见图1:

图1

SFC程序的运行规则是:从初始步开始执行,当每步的转换条件成立,就由当前步转为执行下一步,在遇到END时结束所有步的运行。

现在大多PLC制造公司,都为自己的工控产品提供了相关的编程软件,以便利用计算机实现在线编程。三菱公司提供的编程软件GX Developer中,就提供了SFC编程方法,但由于相关书籍和学习资料跟不上,致使很多初学者不知道如果用该软件来进行SFC编程,这给广大初学者学习PLC应用编程带来了不便。这里,我根据自己学习和掌握的知识,依据三菱公司提供的编程手册,讲解如何利用GX Developer软件来进行SFC的编程,为初学者掌握SFC编程方法,提供一个入门的机会。

一、单流程结构编程方法

单流程结构是顺序控制中最常见的一种流程结构,其结构特点是程序顺着工序步,步步为序的向后执行,中间没有任何的分支。掌握了单流程SFC编程方法,也就是迈进了SFC大门。这里,我们以“双灯自动闪烁信 生成”为例,讲解SFC编程的入门。

例题1:双灯自动闪烁信 生成。

要求:在PLC上电后,其输出Y0和Y1各以一秒钟的时间间隔,周期交替闪烁。本例梯形图和指令表见图2。

在GX Developer中,一个完整的SFC程序是由初始状态、有向线段、转移条件和转移方向等内容组成(见图3)的,而PLC编程就是完整的获得这几个组成部分。

根据PLC教程规定,SFC程序主要由初始状态、通用状态、返回状态等几种状态来构成,但在编程中,这几个状态的编写方式不一样,因此需要引起注意。SFC程序从初始状态开始,因而编程的第一步就是给初始状态设置合适的启动条件。本例中,梯形图的第一行就是表示如何启动初始步,在SFC程序中,初始步的启动采用梯形图方式。

下面开始软件中的程序输入

图2 闪烁信 梯形图和指令表

图3 闪烁信 SFC程序

1、启动GX Develop编程软件,单击“工程”菜单,点击创建新工程菜单项或点击新建工程按钮见图4。

图4 GX Develop编程软件窗口

2、弹出的创建新工程对话框见图5,要对三菱系列的CPU和PLC进行选择,以符合对应系列的编程代码,否则容易出错。这里讲述的主要是三菱FX2N系列的PLC,所以,需在如下几个项目中做选择和输入:

a.在PLC系列下拉列表框中选择FXCPU;

b.在PLC类型下拉列表框中选择FX2N(C);

c.在程序类型项中选择SFC;

d.在工程设置项中设置好工程名和保存路径

完成上述项目后之后点击确定。

图5 新工程创建

3、完成上述工作后会弹出如图6所示的块列表窗口。

图6 块列表窗口

按图中所示,双击第零块。

4、双击第零块或其它块后,会弹出块信息设置对话框见图7。

图7 块信息设置对话框

在编程理论中我们学到,SFC程序由初始状态开始,故初始状态必须激活,而激活的通用方法是利用一段梯形图程序,且这一段梯形图程序必须放在SFC程序的开头部分。同理,在以后的SFC编程中,初始状态的激活都需由放在SFC程序的第一部分(即第一块)的一段梯形图程序来执行,这是需要注意的一点。所以,在这里应点击梯形图块,在块标题栏中,填写该块的说明标题,也可以不填。

在编程理论中曾学到,初始状态的激活一般采用辅助继电器M8002来完成,也可以采用其它触点方式来完成,这只需要在它们之间建立一个并联电路就可以实现。本例中我们利用PLC的辅助继电器M8002的上电脉冲使初始状态生效。

图10 梯形图输入完毕窗口

需注意,在SFC程序的编制过程中每一个状态中的梯形图编制完成后必须进行变换,才能进行下一步工作,否则弹出出错信息。

图11 出错信息

图12 块信息设置

SFC程序中的每一个状态或转移条件都是以SFC符 的形式出现在程序中,每一种SFC符 都对应有图标和图标 ,现在输入使状态发生转移的条件。

图14 SFC符 输入

序步20是驱动输出线圈Y0以及T0线圈,参见图2程序梯形图和指令表。

图16 跳转符 输入

说明:如果在程序中有选择分支也要用JUMP+“标 ”来表示。

10,程序变换。

图18 完整的SFC程序

图19 数据变换

执行改变数据类型后,可以看到由SFC程序变换成的梯形图程序见图20。

图20 转化后的梯形图

小结:以上介绍了单序列的SFC程序的编制方法,通过学习,我们已经基本了解了SFC程序中状态符 的输入方法。

需要强调的是两点:

(1)在SFC程序中仍然需要进行梯形图的设计;

(2)SFC程序中所有的状态转移需用TRAN表示。

二、多流程结构的编程方法

多流程结构是指状态与状态间有多个工作流程的SFC程序。多个工作流程之间通过并联方式进行连接,而并联连接的流程又可以分为选择性分支、并行分支、选择性汇合、并行汇合等几种连接方式。下面以具体实例来介绍。

例题2:某专用钻床用来加工圆盘状零件均匀分布的6个孔,操作人员放好工件后,按下起动按钮X0,Y0变为ON,工件被夹紧,夹紧后压力继电器X1为ON,Y1和Y3使两个钻头同时开始工作,钻到由限位开关X2和X4设定的深度时,Y2和Y4使两个钻头同时上行,升到由限位开关X3和X5设定的起始位置时停止上行。两个都到位后,Y5使工件旋转600,旋转到位时,X6为ON,同时设定值为3的计数器C0的当前值加1,旋转结束后,又开始钻第二对孔。3对孔都钻完后,计数器的当前值等于设定值3,Y6使工件松开,松开到位时,限位开关X7为ON,系统返回初始状态。

根据例题要求写出I/O表:

1、输入

启动按钮X0

压力继电器X1

两钻孔限位X2、 X4

两个钻头原始位X3、 X5

旋转限位X6

工作松开限位X7

2、 输出

工件加紧Y0

两钻头下行Y1、 Y3

两钻头上升Y2、 Y4

工作旋转Y5

工作松开Y6

功能示意图:

图2-1

打开GX developer软件,设置方法同第一部分的单序列结构,在此不赘述。本例中还是利用M8002作为启动脉冲,在程序的第一块输入梯形图,请参照单序列SFC程序输入方法。

本例中我们要求初始状态时要做工作,复位C0计数器,因此对初始状态我们做些处理,把光标移到初始状态符 处,在右边窗口中输入梯形图(如图2-2),接下来的状态转移程序输入与第一部分相同。程序运行到X1为ON时(压力继电器敞开触点闭合)要求两个钻头同时开始工作,程序开始分支(如图2-2)。

图2-1 程序输入

接下来输入并行分支,控制要求X1触点接通状态发生转移,将光标移到条件1方向线的下方,单击工具栏中的并列分支写入按钮或者按ALT+F8快捷键,使并列分支写入按钮处于按下状态,在光标处按住鼠标左键横向拖动,直到出现一条细蓝线,放开鼠标,这样一条并列分支线就被输入(如图2-3)。

注意:在用鼠标操作进行划线写入时,只有出现蓝色细线时才可以放开鼠标,否则输入失败。

图2-3 并列并列分支线的输入

并列分支线的输入也可以采用另一种方法输入,双击转移条件1弹出SFC符 输入对话框(如图2-4) 。

图2-4 并列分支线的输入方法二

在图标 下拉列表框中选择第三行“==D”项,单击确定按钮返回,一条并列分支线被输入。并行分支线输入以后(如图2-5)所示。

图2-5并列并列分支线输入后

利用第一部分所学知识,分别在两个分支下面输入各自的状态符 和转移条件符 (如图2-6)。图中每条分支表示一个钻头的工作状态。

图2-6 分支符 的输入

两个分支输入完成后要有分支汇合。将光标移到步符 23的下面,双击鼠标弹出SFC符 输入对话框选择“==C”项,单击确定安扭返回(如图2-7)。

图2-7 并行汇合符 的输入

图2-7 选择分支符 的输入

继续输入程序(如图2-8),在程序结尾处,我们看到本程序用到了两个JUMP符 ,在SFC程序中状态的返回或跳转都用JUMP符 表示,因此在SFC程序中符 可以多次使用,只须在JUMP符 后面加目的标 即可达到返回或跳转的目的。

图2-8 完整的程序

以上我们完成了整个程序的输入。

如果我们双击JUMP符 弹出的SFC符 输入对话框中,我们会看到步属性下拉框处于激活

状态而且两个选项分别是[无]和[R],当我们选择[R]时,跳转符 由变为,[R]表示复位操作,意思是复位目的标 处的状态继电器。利用[R]的复位作用我们可以在系统中增加暂停或急停等操作。

小结:以上我们对多流程结构的编程方法做了介绍,结合第一部分的学习的方法,在右边输入梯形图也非常简单。本部分主要是对选择分支、并列分支、并行汇合符 的输入方法做了详细介绍,几种输入方法都要掌握,在编程操作时我们可以利用输入最快的方法来提高效率,为了快速高效的编制SFC程序,可尽量使用键盘操作。

三菱plc编程用什么语言比较好?三菱编程语言的特点,

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年3月10日
下一篇 2020年3月11日

相关推荐