本文转载

作者:孙友

顺序功能图(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进行选择,以符合对应系列的编程代码,否则容易出错。这里讲述的主要是三菱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来完成,也可以采用其它触点方式来完成,这只需要在它们之间建立一个并联电路就可以实现。本例中我们利用PLC的辅助继电器M8002的上电脉冲使初始状态生效。

在梯形图编辑窗口中单击第零行输入初始化梯形图如图9所示,输入完成单击“变换”菜单选择“变换”项或按F4快捷键,完成梯形图的变换。

图8梯形图编辑窗口

图9梯形图编辑窗口

图10梯形图输入完毕窗口

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

图11出错信息

6、在完成了程序的第一块(梯形图块)编辑以后,双击工程数据列表窗口中的“程序”\“MAIN”见图10,返回块列表窗口见图6。双击第一块,在弹出的块信息设置对话框中块类型一栏中选择SFC见图12,在块标题中可以填入相应的标题或什么也不填,点击执行按钮,弹出SFC程序编辑窗口见图13。在SFC程序编辑窗口中光标变成空心矩形。

图12 块信息设置

图13 SFC程序编辑窗口

7、转换条件的编辑。

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

在SFC程序编辑窗口将光标移到第一个转移条件符号处(如图13所标注)并单击,在右侧将出现梯形图编辑窗口,在此中输入使状态转移的梯形图。读者从图13中可以看出,T0触点驱动的不是线圈,而是TRAN符号,意思是表示转移(Transfer),这一点提请注意。在SFC程序中,所有的转移都用TRAN表示,不可以采用SET+S□语句表示,否则将告知出错。

对转换条件梯形图的编辑,可按PLC编程的要求,按上面的叙述可以自己完成,需注意的是,每编辑完一个条件后应按F4快捷键转换,转换后梯形图则由原来的灰色变成亮白色,完成转换后再看SFC程序编辑窗口中1前面的问号(?)会消失。

8、通用状态的编辑。

在左侧的SFC程序编辑窗口中把光标下移到方向线底端,按工具栏中的工具按钮或单击F5快捷键弹出步序输入设置对话框见图14。

图14 SFC符号输入

输入步序标号后点击确定,这时光标将自动向下移动,此时,可看到步序图标号前面有一个问号(?),这是表明此步现在还没进行梯形图编辑,同时右边的梯形图编辑窗口呈现为灰色也表明为不可编辑状态,见图15。

下面对通用工序步进行梯形图编程。将光标移到步序号符号处,在步符号上单击后右边的窗口将变成可编辑状态,现在,可在此梯形图编辑窗口中输入梯形图。需注意,此处的梯形图是指程序运行到此工序步时所要驱动哪些输出线圈,在本例中,现在所要获得的通用工

图15 还没有编辑的状态步

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

用相同的方法把控制系统一个周期内所有的通用状态编辑完毕。需说明的是,在这个编辑过程中,每编辑完一个通用步后,不需要再操作“程序”\“MAIN”而返回到块列表窗口(见图6),再次执行块列表编辑,而是在一个初始状态下,直接进行SFC图形编辑。

9、系统循环或周期性的工作编辑。

SFC程序在执行过程中,无一例外的会出现返回或跳转的编辑问题,这是执行周期性的循环所必须的。要在SFC程序中出现跳转符号,需用或(JUMP)指令加目标号进行设计。

现在进行返回初始状态编辑见图16所示。输入方法是:把光标移到方向线的最下端,按F8快捷键或者点击按钮,在弹出的对话框中填入要跳转到的目的地步序号,然后单击确定按钮。

图16 跳转符号输入

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

当输入完跳转符号后,在SFC编辑窗口中我们将会看到,在有跳转返回指向的步序符号方框图中多出一个小黑点儿,这说明此工序步是跳转返回的目标步,这为我们阅读SFC程序也提供了方便,参见图18。

10,程序变换。

当所有SFC程序编辑完后,我们可点击变换按钮进行SFC程序的变换(编译),如果在变换时弹出了块信息设置对话框,可不用理会,直接点击执行按钮即可。经过变换后的程序如果成功,就可以进行仿真实验或写入PLC进行调试了。

如果想观看SFC程序所对应的顺序控制梯形图,我们可以这样操作:点击工程\编辑数据\改变程序类型,进行数据改变(见图19)。

图18 完整的SFC程序

图19数据变换

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

图20 转化后的梯形图

小结:以上介绍了单序列的SFC程序的编制方法,通过学习,我们已经基本了解了SFC程序中状态符号的输入方法。需要强调的是两点:(1)在SFC程序中仍然需要进行梯形图的设计;(2)SFC程序中所有的状态转移需用TRAN表示。

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

  1. rose顺序图转换为协作图_如何用GX Developer编程软件编写SFC顺序功能图?

    点击"电工电气学习"关注即可免费订阅! 电工学习网:www.diangon.com 关注电工学习网官方微信公众号"电工电气学习",收获更多经验知识. 应用三菱G ...

  2. 三菱GX Developer 了解总结

    近期去弄了下一套机电一体化的教学平台,用了GX Developer编pcl程序,记录几点: 1.程序可包含梯形图和SFC图,新建的时候先建SFC,才能加梯形图,如果先建梯形图,就建不了SFC图: 2. ...

  3. 三菱GX Developer+GX Simulator进行仿真调试

    GX Developer 8.52E GX Simulator 6.10L GX Developer菜单:工具-梯形图逻辑测试,自动调用仿真程序,并下载程序,GX Simulator -菜单:菜单起动 ...

  4. ipad python编程软件_ipad上运行python的方法步骤

    ipad上可以运行python么? ipad上是可以运行python的. 1.在我们的ipad上百度搜索Python,点击进去. 2.进去网站之后,点击"Downloads->Wind ...

  5. sfc流程图怎么画_GX Works2编程软件SFC流程图编写

    流程图的编写 GX - WORK2 编程软件中 SFC 单序列流程图编写 SFCGX - WORK2 编程软件中 5.3.2 以一秒钟为周期交替闪烁. Y1Y0 . SFC 编程实现自动闪烁信号生成, ...

  6. sfc流程图怎么画_SFC顺序功能图单一流程教程

    1 PLC 顺控指令 SFC 的编程方法 顺序功能图( Sequeential Function Chart )是一种新颖的.按照工艺流程图 进行编程的图形编程语言.这是一种 IEC 标准推荐的首选编 ...

  7. sfc流程图怎么画_SFC顺序功能图教程

    文档从互联网中收集,已重新修正排版, word 格式支持编辑,如有帮助欢迎下载支持. 1 如有帮助欢迎下载支持 PLC 顺控指令 SFC 的编程方法 顺序功能图( Sequeential Functi ...

  8. 三菱gx软件初始化失败怎么解决_三菱PLC的常见问题大全!

    [1]PLC的输出是不带电源的吗?比如说我要控制个110V继电器.是不是要加个电源?怎么接线?答:PLC的输出端口仅仅是一个驱动负载的开关,本身是不带电源的,如果要控制个110V继电器,要加个电源.P ...

  9. 编程软件和三菱PLC通讯不上是什么原因

    编程软件和三菱PLC通讯不上是什么原因 [1]PLC的输出是不带电源的吗?比如说我要控制个110V继电器.是不是要加个电源?怎么接线? 答:PLC的输出端口仅仅是一个驱动负载的开关,本身是不带电源的, ...

最新文章

  1. 三层架构中ajax,基于mvc三层架构和ajax技术实现最简单的文件上传
  2. 紧急提醒!售价3980,成本价80,你被坑过吗?
  3. python爬取下拉列表数据_Python怎么爬取下拉式的网页?
  4. ASP.NET Web Api 实现数据的分页
  5. mysql8默认字符编码_mysql默认字符编码问题
  6. AI戒毒?没错,北京开始这么干了
  7. android开发我的新浪微博客户端-载入页面UI篇(1.1)
  8. [逆向破解]lua脚本解密
  9. GANs(生成对抗网络)简介与案例
  10. 小班计算机游戏教案,幼儿园小班游戏教案15篇
  11. Tomcat配置指定JDK
  12. 用易升升级到Win10后在第三方浏览器无法打开网页的解决办法
  13. 我的csdn的第三课的总结———淮师杨建波
  14. 使用Beep()函数发出指定音高 (一)
  15. Sendcloud邮件发送api拼接问题
  16. 模板的选择和结合部位可塑性处理对GPCRs虚拟筛选性能影响
  17. Linux查看文件指令cat、more、less、head、tail用法
  18. 苹果iOS系统下的推送机制及实现
  19. 帆软相同列合并_excel表中同一列相同内容进行合并 又快又好
  20. 基于Java的校园班车管理系统

热门文章

  1. java输出99乘法表
  2. Bigemap中批量添加第三方在线地图教程
  3. android 媒体查询,只针对移动设备的媒体查询
  4. 数据结构 第一章 数据结构绪论
  5. 商汤科技2018校招C /算法笔试题
  6. mongodb慢日志
  7. 大旺中学2021年高考成绩查询,2021广东肇庆中考分数线是多少
  8. Python识别验证码----谷歌reCapture 4*4验证码
  9. 对不起,让大家久等了,RETURNS!
  10. Anaconda使用总结