1、 PLC 顺控指令 SFC 的编程方法顺序功能图(Sequeential Function Chart)是一种新颖的、按照工艺流程图进行编程的图形编程语言。这是一种 IEC 标准推荐的首选编程语言,近年来在 PLC 编程中已经得到了普及和推广,SFC 编程的优点:1、在程序中可以很直观地看到设备的动作顺序。比较容易读懂程序,因为程序按照设备的动作顺序进行编写,规律性较强。2、在设备故障时能够很容易的查找出故障所处在的位置。3、不需要复杂的互锁电路,更容易设计和维护系统。SFC 的结构:步转换条件有向连接+ 机器工序的各个运行动作SFC 。SFC 程序的运行从初始步开始,每次转换条件成立时执行下
2、一步、在遇到 END 步时结束向下运行。第一章 单流程结构的编程方法本教程主要介绍在三菱 PLC 编程软件 GX Developer 中怎编制 SFC 顺序功能图。下面以例题 1 介绍 SFC 程序的编制法。例题 1:自动闪烁信号生成,PLC 上电后 Y0、Y1 以一秒钟为周期交替闪烁。本例的梯形图和指令表(如图 11) 。(A) (B) (C)图 11 闪烁信号(A 梯形图 B 指令表 C SFC 程序)下面我们开始对图 11(c)所示的 SFC 程序进行一下总体认识一个完整的 SFC 程序包括初始状态、方向线、转移条件和转移方向组成(如图 11(c) ) 。在 SFC 程序中初始状态必须是
3、有效的,所以要有启动初始状态的条件,本例中梯形图的第一行表示启动初始步,在SFC 程序中启动初始步要用梯形图,现在开始具体的程序输入。启动 GX Develop 编程软件,单击 “工程” 菜单,点击创建新工程菜单项或点击新建工程按钮 (如图 12) 。图 12 GX Develop 编程软件窗口弹出创建新工程对话框(如图 13) 。我们主要是讲述三菱系列 PLC,所以在 PLC 系列下拉列表框中选择 FXCPU,PLC 类型下拉列表框中选择 FX2N(C ) ,在程序类型项中选择SFC,在工程设置项中设置好工程名和保存路径之后点击确定按钮。图 13 新工程创建弹出块列表窗口(图 14) 。图
4、14 块列表窗口双击第零块或其它块,弹出块信息设置对话框(如图 15) 。图 15 块信息设置对话框 在块标题文本框中可以填入相应的块标题(也可以不填) ,在块类型中选择梯形图块,为什么选择梯形图块,我们不是在编辑 SFC 程序吗?原因是在 SFC 程序中初始状态必须是激活的,而我们激活的方法是利用一段梯形图程序,而且这一段梯形图程序必须是放在 SFC程序的开头部分,在以后的 SFC 编程中,初始状态的激活都是利用一段梯形图程序,放在SFC 程序的第一部分(也即第一块) ,点击执行按钮弹出梯形图编辑窗口(如图 16) ,在右边梯形图编辑窗口中输入启动初始状态的梯形图,本例中我们利用 PLC 的
5、一个辅助继电器 M8002 的上电脉冲使初始状态生效。在梯形图编辑窗口中单击第零行输入初始化梯形图如(图 16)所示,输入完成单击“变换”菜单选择“ 变换 ”项或按 F4 快捷键,完成梯形图的变换。AB图 16 梯形图编辑窗口图 16 梯形图输入完毕窗口注意:如果想使用其他方式启动初始状态,只需要改动上图中的启动脉冲 M8002 即可,如果有多种方式启动初始化进行触点的并联即可。需要说明的是在每一个 SFC 程序中至少有一个初始状态,且初始状态必须在 SFC 程序的最前面。在 SFC 程序的编制过程中每一个状态中的梯形图编制完成后必须进行变换,才能进行下一步工作,否则弹出出错信息。以上完成了程
6、序的第一块(梯形图块) ,双击工程数据列表窗口中的“程序”“MAIN”返回块列表窗口(图 14) 。双击第一块,在弹出的块信息设置对话框中块类型选择 SFC(如图17) ,在块标题中可以填入相应的标题或什么也不填,点击执行按钮,弹出 SFC 程序编辑窗口(如图 18) 。在 SFC 程序编辑窗口中光标变成空心矩形。图 17 块信息设置图 18 SFC 程序编辑窗口说明:在 SFC 程序中每一个状态或转移条件都是以 SFC 符号的形式出现在程序中,每一种 SFC 符号都对应有图标和图标号。下面我们输入使状态发生转移的条件,在 SFC 程序编辑窗口将光标移到第一个转移条件符号处(如上图标注) 。在
7、右侧梯形图编辑窗口输入使状态转移的梯形图。细心的读者从图中可以看出,T0 触点驱动的不是线圈,而是 TRAN符号,意思是表示转移(Transfer) ,在 SFC 程序中所有的转移用 TRAN 表示,不可以用SET S 语句表示, 这一点请注意。在这里梯形图的编辑不再赘述,编辑完一个条件后按 F4 快捷键转换,转换后梯形图由原来的灰色变成亮白色,再看 SFC 程序编辑窗口中1 前面的问号(?)不见了。下面我们输入下一个工步,在左侧的 SFC 程序编辑窗口中把光标下移到方向线底端,按工具栏中的工具按钮 或单击 F5 快捷键弹出步输入设置对话框(如图 19) 。图 1-9 SFC 符号输入输入图标
8、号后点击确定,这时光标将自动向下移动,此时我们看到步图标号前面有一个问号(?) ,这表示对此步我们还没有进行梯形图编辑同样右边的梯形图编辑窗口是灰色的不可编辑状态(如图 110) 。图 110 没编辑的步下面我们对工步进行梯形图编程,将光标移到步符号处(在步符号处单击) ,此时再看右边的窗口边场合可编辑状态,在右侧的梯形图编辑窗口中输入梯形图,此处的梯形图是指程序运行到此工步时要驱动哪些输出线圈,本例中我们要求工步 20 驱动输出线圈 Y0 以及T0 线圈,程序(如图 111) 。用相同的方法把控制系统的一个周期编辑完后,最后要求系统能周期性的工作,所以在 SFC 程序中要有返回原点的符号。在
9、 SFC 程序中用 (JUMP)加目标号进行返回操作(如图 111 所示) 。输入方法是把光标移到方向线的最下端按 F8 快捷键或者点击 按钮,在弹出的对话框中填入跳转的目的步号单击确定按钮(如图 111) 。图 111 跳转符号输入如果在程序中有选择分支也要用 JUMP+“标号”来表示,此用法在后续的课程中有介绍,在此我们只是编写了单序列的 SFC 功能图(如图 112) 。当输入完跳转符号后,在 SFC 编辑窗口中中我们可以看到有跳转返回的步符号的方框中多了一个小黑点儿,这说明此工步是跳转返回的目标步,这为我们阅读 SFC 程序也提供了方便。所有的 SFC 程序编辑完后,我们点击变换按钮
10、进行 SFC 程序的变换(编译)如果在变换时弹出块信息设置对话框不用理会点击执行按钮即可,变换后的程序我们就可以进行仿真实验或写入 PLC 进行调试了。如果想观看 SFC 程序对应的顺序控制梯形图我们可以这样做:点击工程编辑数据改变程序类型,进行数据改变(如图 113) 。图 112 完整的 SFC 程序图 113 数据变换改变后我们可以看到由 SFC 程序变换成的梯形图程序(如图 114) 。图 114 转化后的梯形图小结:以上介绍了单序列的 SFC 程序的编制方法,通过学习我们基本了解了 SFC 程序中状态符号的输入方法。在 SFC 程序中仍然需要进行梯形图的设计, SFC 程序中所有的状
11、态转移用 TRAN 表示。这一点一定要注意区别,当你明白了 TRAN 的用法后,你就会觉得SFC 程序的设计是如此的简单。采纳第二章 多流程结构的编程方法上一章我们讲述了单流程结构的编程方法,本章深入讲解多流程结构的编程方法,多流程结构是指状态与状态间有多个工作流程的 SFC 程序,多个流程之间是通过并联方式进行连接的,并联连接的流程可以有选择性分支、并行分支、选择性汇合、并行汇合等几种连接方式。下面以具体的实例介绍。例题 1:某专用钻床用来加工圆盘状零件均匀分布的 6 个孔,操作人员放好工件后,按下起动按钮 X0,Y0 变为 ON,工件被夹紧,夹紧后压力继电器 X1 为 ON,Y1 和 Y3
12、 使两个钻头同时开始工作,钻到由限位开关 X2 和 X4 设定的深度时, Y2 和 Y4 使两个钻头同时上行,升到由限位开关 X3 和 X5 设定的起始位置时停止上行。两个都到位后, Y5 使工件旋转 600,旋转到位时,X6 为 ON,同时设定值为 3 的计数器 C0 的当前值加 1,旋转结束后,又开始钻第二对孔。3 对孔都钻完后,计数器的当前值等于设定值 3,Y6 使工件松开,松开到位时,限位开关 X7 为 ON,系统返回初始状态。根据例题要求写出 I/O 表:1、输入 2、 输出启动按钮 X0 工件加紧 Y0压力继电器 X1 两钻头下行 Y1 Y两钻孔限位 X2 X4 钻头上升 Y2 Y
13、4两个钻头原始位 X3 X5 工作旋转 Y5旋转限位 X6 工作松开 Y6工作松开限位 X7 功能示意图:功能示意图分析:由题目要求我们可以在练习纸上编辑出顺序控制功能图(如图 21)所示。打开 GX developer 软件,设置方法在第一章已经讲过,在此不再赘述。本例中我们还是利用 M8002 作为启动脉冲,程序的第一块我们输入梯形图,按照上一章讲解的单序列 SFC程序输入方法。本例中我们要求初始状态时要做些工作就是复位 C0 计数器,因此对初始状态我们做些处理,把光标移到初始状态符号处,在右边窗口中输入梯形图(如图 22) ,接下来的状态转移程序的输入与第一章相同。程序运行到 X1 为
14、ON 时(压力继电器敞开触点闭合)要求两个钻头同时开始工作,所以程序开始分支(如图 22) 。图 21 程序输入接下来输入并行分支,控制要求 X1 触点接通状态发生转移,将光标移到条件 1 方向线的下方,单击工具栏中的并列分支写入按钮 或者按 ALT+F8 快捷键,使并列分支写入按钮处于按下状态,在光标处按住鼠标左键横向拖动,直到出现一条细蓝线,放开鼠标,这样一条并列分支线就被输入(如图 23) 。注意:在用鼠标操作进行划线写入时,只有出现蓝色细线时才可以放开鼠标,否则输入失败。图 23 并列并列分支线的输入并列分支线的输入也可以采用另一中发法输入,双击转移条件 1 弹出 SFC 符号输入对话
15、框(如图 24) 。图 24 并列分支线的输入方法二在图标号下拉列表框中选择第三行“=D”项,单击确定按钮返回,一条并列分支线被输入。并行分支线输入以后(如图 25)所示。图 25 并列并列分支线输入后利用第一章所学知识,分别在两个分支下面输入各自的状态符号和转移条件符号(如图26) 。图中每条分支表示一个钻头的工作状态。图 26 分支符号的输入两个分支输入完成后要有分支汇合。将光标移到步符号 23 的下面,双击鼠标弹出 SFC 符号输入对话框选择“=C”项,单击确定安扭返回(如图 27) 。图 27 并行汇合符号的输入继续输入程序,当两条并列分支汇合完毕后,此时钻头都已回到初始位置,接下来是
16、工件旋转 60 度,程序见图 27,输入完成后程序又出现了选择分支。将光标移到步符号 27 的下端双击鼠标,弹出的 SFC 符号输入对话框,在图标号下拉列表框中选择 “-D”项,单击确定按钮返回 SFC 程序编辑区,这样一个选择分支被输入, (如图 27) 。如果利用鼠标操作输入选择分支符号,单击工具栏中的工具按钮 或点击快捷键 ALT+F7 此时选择分支划线写入按钮呈按下状态,把光标移到需要写入选择分支的地方按住鼠标左键并拖动鼠标,直到出现蓝色细线时放开鼠标,一条选择分支线写入完成。图 27 选择分支符号的输入继续输入程序(如图 28) ,在程序结尾处,我们看到本程序用到了两个 JUMP 符
17、号,在SFC 程序中状态的返回或跳转都用 JUMP 符号表示,因此在 SFC 程序中 符号可以多次使用,只须在 JUMP 符号后面加目的标号即可达到返回或跳转的目的。图 28 完整的程序以上我们完成了整个程序的输入。如果我们双击 JUMP 符号弹出的 SFC 符号输入对话框中,我们会看到步属性下拉框处于激活状态而且两个选项分别是无 和R,当我们选择R 时,跳转符号由 变为 ,R表示复位操作,意思是复位目的标号处的状态继电器。利用R的复位作用我们可以在系统中增加暂停或急停等操作。小节:以上我们对多流程结构的编程方法做了介绍,结合第一章的学习的方法,在右边输入梯形图也非常简单。本章主要是对选择分支、并列分支、并行汇合符号的输入方法做了详细介绍,几种输入方法都要掌握,在编程操作时我们可以利用输入最快的方法来提高效率,为了快速高效的编 SFC 程序,我们尽量使用键盘操作。第二章完