《SFC指令与顺序控制.ppt》由会员分享,可在线阅读,更多相关《SFC指令与顺序控制.ppt(43页珍藏版)》请在三一办公上搜索。
1、第4讲 SFC指令与顺序控制,主编:李方园,目录CONTENTS,1,SFC指令及其编程方法,2,步进指令编程的应用,3,顺序控制设计初步,顺序功能图(Sequeential Function Chart)是一种新颖、按工艺流程图进行编程的图形化编程语言,也是一种符合国际电工委员会(IEC)标准,被首选推荐用于可编程序控制器的通用编程语言,在PLC应用领域中应用广泛及推广。采用SFC进行PLC应用编程的优点是:(1)在程序中可以直观地看到设备的动作顺序。SFC程序是按照设备(或工艺)的动作顺序而编写,所以程序的规律性较强,容易读懂,具有一定的可视性。(2)在设备发生故障时能很容易的找出故障所在
2、位置。(3)不需要复杂的互锁电路,更容易设计和维护系统。,4.1.1 顺序控制设计法概述,根据国际电工委员会(IEC)标准,SFC的标准结构是:步+该步工序中的动作或命令有向连接转换和转换条件SFC,如图4.1所示。,图4.1 状态转移图,SFC程序的运行规则是:从初始步开始执行,当每步的转换条件成立,就由当前步转为执行下一步,在遇到END时结束所有步的运行。我们看到SFC最核心的部分就是步、转换条件和转移方向,这三者就被称为SFC的三要素。,步是系统所处的阶段(状态),根据输出量的状态变化划分。任何一步内,各个输出量状态保持不变,同时相邻的两步输出量总的状态是不同的。转移条件则是触发状态变化
3、的条件,通常包括外部输入信号、内部编程原件触点信号、多个信号的逻辑组合等。图4.2所示是步与转移条件的示意。,图4.2 步与转移条件,4.1.2 顺序控制设计法举例,图4.3所示的是物块在输送带上移动的示意图。控制要求是物块在所示位置出发,输送带正转带动物件移动到右限位置,当物件碰到右限传感器时,传送带改变运行方向,输送带反转带动物件到达左限位置,停留在左限位置3秒,3秒后输送带正转物件又再次向右移动,到达输送带中间停止传感器处停下。,图4.3 物件移动示意图绍,这个例子是FXTRN软件中E-6的要求,可以自己使用梯形图编程的方法来完成这个要求。由于物件前两次在输送带上移动经过停止传感器时都没
4、有停下,而最后一次经过停止传感器时停下,因此用梯形图编程有一定的难度。这个例子是典型的顺序控制,很容易用顺序控制法编程,而且刚才提到的同样是经过停止传感器却有不同操作的问题在顺序控制编程中却不是难题,为什么呢?等下我们编好程序就知道了。使用顺序控制法编程将这个控制要求分为几个工作状态(步),从一个工作状态(步)到另一个工作状态(步)通过满足转换条件来实现转移,即按照图4.1所示的状态图来实现这里的控制要求。,我们设置一个启动按钮,给它分配一个输入点为X0,其它I/O分配按图4.2所示。图4.4左边是按照状态转移法的设计思路来绘制的状态转移图,再将这个图按照I/O分配加入具体的元件,就成了右边的
5、SFC顺序功能图。这里S是状态寄存器,专门用于顺序功能图的编制,不用于状态存储时,也可以当做普通辅助寄存器使用。FX2N系列PLC状态元件的分类及编号见表4.1所示。,表4.1 FX2N系列PLC状态元件,每个状态后面的输出线圈即为当进入该状态时要驱动的线圈,每个时刻只有一个状态称为工作状态,这时该状态所带的线圈得电动作。在该例子中每个状态仅带了一个输出线圈,其实每个状态可以多个线圈并联。顺序功能图还有一个特点是不同状态可以输出同一个线圈!这也很好地解决了我们在梯形图编程时要避免出现的线圈多次输出的问题。,图4.4状态转移设计思路到SFC的实现,好,这样我们的物件移动程序就编写完成了。咦,大家
6、可能会奇怪了,这就编写好了吗,这样的图形可以写到PLC里面去吗?PLC是不能接受图形的,我们可以将图4.4右边的SFC图输入到编程软件中去,编程软件会将其自动转换为对应的梯形图,当然梯形图再经过转换成为助记符语言最终下载到PLC中。,单流程结构编程方法,现在大多PLC制造公司,都为自己的工控产品提供了相关的编程软件,以便利用计算机实现在线编程。三菱公司提供的编程软件GX Developer中,就提供了SFC编程方法,但由于相关书籍和学习资料跟不上,致使很多初学者不知道如果用该软件来进行SFC编程,这给广大初学者学习PLC应用编程带来了不便。单流程结构是顺序控制中最常见的一种流程结构,其结构特点
7、是程序顺着工序步,步步为序的向后执行,中间没有任何的分支。掌握了单流程SFC编程方法,也就是迈进了SFC大门。这里,这里以“双灯自动闪烁信号生成”为例,讲解SFC编程的入门。,【实例13】双灯自动闪烁信号生成。要求:在PLC上电后,其输出Y0和Y1各以一秒钟的时间间隔,周期交替闪烁。在GX Developer中,一个完整的SFC程序是由初始状态、有向线段、转移条件和转移方向等内容组成(见图4.4)的。根据三菱 PLC规定,SFC程序主要由初始状态、通用状态、返回状态等几种状态来构成,但在编程中,这几个状态的编写方式不一样,因此需要引起注意。,图4.5 梯形图和指令表,初始状态符号,转移条件符号
8、,方向线符号,转移符号+目标号,1、启动GX Develop编程软件,单击“工程”菜单,点击创建新工程菜单项或点击新建工程按钮 见图4.6。,图4.6 GX Develop编程软件窗口,2、弹出的创建新工程对话框见图4.7,要对三菱系列的CPU和PLC进行选择,以符合对应系列的编程代码,否则容易出错。这里讲述的主要是三菱FX2N系列的PLC,所以,需在如下几个项目中做选择和输入:a.在PLC系列下拉列表框中选择FXCPU;b.在PLC类型下拉列表框中选择FX2N(C);c.在程序类型项中选择SFC;d.在工程设置项中设置好工程名和保存路径完成上述项目后之后点击确定。,选择FX2N(C),选择F
9、XCPU,设置完成后点击确定按钮,图4.7 新工程创建,3、完成上述工作后会弹出如图4.8所示的块列表窗口。,双击第0块,图4.8 块列表窗口,按图中所示,双击第零块。,4、双击第零块或其它块后,会弹出块信息设置对话框见图4.9。,在此选择梯形图块,图4.9 块信息设置对话框,这里,是对块编辑进行类型进行选择的进入窗口,有两个选择:SFC块和梯形图块。在编程理论中我们学到,SFC程序由初始状态开始,故初始状态必须激活,而激活的通用方法是利用一段梯形图程序,且这一段梯形图程序必须放在SFC程序的开头部分。同理,在以后的SFC编程中,初始状态的激活都需由放在SFC程序的第一部分(即第一块)的一段梯
10、形图程序来执行,这是需要注意的一点。所以,在这里应点击梯形图块,在块标题栏中,填写该块的说明标题,也可以不填。,5、点击执行按钮弹出梯形图编辑窗口见图4.9,在右边梯形图编辑窗口中输入启动初始状态的梯形图。在编程中曾学到,初始状态的激活一般采用辅助继电器M8002来完成,也可以采用其它触点方式来完成,这只需要在它们之间建立一个并联电路就可以实现。本例中我们利用PLC的辅助继电器M8002的上电脉冲使初始状态生效。在梯形图编辑窗口中单击第零行输入初始化梯形图如图4.10所示,输入完成单击“变换”菜单选择“变换”项或按F4快捷键,完成梯形图的变换。,图4.10 梯形图编辑窗口,图4.11 梯形图编
11、辑窗口,图4.12 梯形图输入完毕窗口,单击变换菜单,选择变换项,编辑启动初始状态的梯形图,双击程序MAIN返回新工程编辑窗口,需注意,在SFC程序的编制过程中每一个状态中的梯形图编制完成后必须进行变换,才能进行下一步工作,否则弹出出错信息。,图4.13 出错信息,6、在完成了程序的第一块(梯形图块)编辑以后,双击工程数据列表窗口中的“程序”“MAIN”见图4.12,返回块列表窗口见图4.8。双击第一块,在弹出的块信息设置对话框中块类型一栏中选择SFC见图4.14,在块标题中可以填入相应的标题或什么也不填,点击执行按钮,弹出SFC程序编辑窗口见图4.15。在SFC程序编辑窗口中光标变成空心矩形
12、。,图4.15 SFC程序编辑窗口境”,图4.14 块信息设置,单击此处光标移到此处,这里只能输入TRAN,不可以用SET S0,7、转换条件的编辑。SFC程序中的每一个状态或转移条件都是以SFC符号的形式出现在程序中,每一种SFC符号都对应有图标和图标号,现在输入使状态发生转移的条件。在SFC程序编辑窗口将光标移到第一个转移条件符号处(如图4.15所标注)并单击,在右侧将出现梯形图编辑窗口,在此中输入使状态转移的梯形图。读者从图4.15中可以看出,T0触点驱动的不是线圈,而是TRAN符号,意思是表示转移(Transfer),这一点提请注意。在SFC程序中,所有的转移都用TRAN表示,不可以采
13、用SETS语句表示,否则将告知出错。对转换条件梯形图的编辑,可按PLC编程的要求,按上面的叙述可以自己完成,需注意的是,每编辑完一个条件后应按F4快捷键转换,转换后梯形图则由原来的灰色变成亮白色,完成转换后再看SFC程序编辑窗口中1前面的问号(?)会消失。,8、通用状态的编辑。在左侧的SFC程序编辑窗口中把光标下移到方向线底端,按工具栏中的工具按钮或单击F5快捷键弹出步序输入设置对话框见图4.16。,图4.16 SFC符号输入,输入步序标号后点击确定,这时光标将自动向下移动,此时,可看到步序图标号前面有一个问号(?),这是表明此步现在还没进行梯形图编辑,同时右边的梯形图编辑窗口呈现为灰色也表明
14、为不可编辑状态,见图4.17。,下面对通用工序步进行梯形图编程。将光标移到步序号符号处,在步符号上单击后右边的窗口将变成可编辑状态,现在,可在此梯形图编辑窗口中输入梯形图。需注意,此处的梯形图是指程序运行到此工序步时所要驱动哪些输出线圈,在本例中,现在所要获得的通用工序步20是驱动输出线圈Y0以及T0线圈,参见图2程序梯形图和指令表。,没编辑时图标号前有句号(?)右边窗口灰色,图4.17 还没有编辑的状态步,用相同的方法把控制系统一个周期内所有的通用状态编辑完毕。需说明的是,在这个编辑过程中,每编辑完一个通用步后,不需要再操作“程序”“MAIN”而返回到块列表窗口(见图4.8),再次执行块列表
15、编辑,而是在一个初始状态下,直接进行SFC图形编辑。,图4.18 跳转符号输入号,9、系统循环或周期性的工作编辑。SFC程序在执行过程中,无一例外的会出现返回或跳转的编辑问题,这是执行周期性的循环所必须的。要在SFC程序中出现跳转符号,需用 或(JUMP)指令加目标号进行设计。现在进行返回初始状态编辑见图4.18所示。输入方法是:把光标移到方向线的最下端,按F8快捷键或者点击 按钮,在弹出的对话框中填入要跳转到的目的地步序号,然后单击确定按钮。,说明:如果在程序中有选择分支也要用JUMP+“标号”来表示。当输入完跳转符号后,在SFC编辑窗口中我们将会看到,在有跳转返回指向的步序符号方框图中多出
16、一个小黑点儿,这说明此工序步是跳转返回的目标步,这为我们阅读SFC程序也提供了方便,参见图4.19。,10、程序变换。当所有SFC程序编辑完后,我们可点击变换按钮进行SFC程序的变换(编译),如果在变换时弹出了块信息设置对话框,可不用理会,直接点击执行按钮即可。经过变换后的程序如果成功,就可以进行仿真实验或写入PLC进行调试了。,此处小黑点表示有跳转返回,此处用JUMP加标号0表示返回初始状态,图4.19 完整的SFC程序,选择改变数据类型如果想观看SFC程序所对应的顺序控制梯形图,我们可以这样操作:点击工程编辑数据改变程序类型,进行数据改变(见图4.20a)。执行改变数据类型后,可以看到由S
17、FC程序变换成的梯形图程序见图4.20b。,a)数据变换,b)转化后的梯形图,图4.20 SFC转换为梯形图,4.2.2 多流程结构的编程方法,多流程结构是指状态与状态间有多个工作流程的SFC程序。多个工作流程之间通过并联方式进行连接,而并联连接的流程又可以分为选择性分支、并行分支、选择性汇合、并行汇合等几种连接方式。【实例14】某专用钻床用来加工圆盘状零件均匀分布的6个孔,操作人员放好工件后,按下起动按钮X0,Y0变为ON,工件被夹紧,夹紧后压力继电器X1为ON,Y1和Y3使两个钻头同时开始工作,钻到由限位开关X2和X4设定的深度时,Y2和Y4使两个钻头同时上行,升到由限位开关X3和X5设定
18、的起始位置时停止上行。两个都到位后,Y5使工件旋转,旋转到位时,X6为ON,同时设定值为3的计数器C0的当前值加1,旋转结束后,又开始钻第二对孔。3对孔都钻完后,计数器的当前值等于设定值3,Y6使工件松开,松开到位时,限位开关X7为ON,系统返回初始状态。,图4.21 专用钻床,根据例题要求写出I/O表。,。,表4.I/O清单,功能示意如图4.22所示。,图4.22 顺序控制功能图,分析:由题目要求我们可在练习纸上编辑出顺序控制功能图(如图4.22)所示。打开GX developer软件,设置方法同的单序列结构,在此不赘述。本例中还是利用M8002作为启动脉冲,在程序的第一块输入梯形图,请参照
19、单序列SFC程序输入方法。本例中我们要求初始状态时要做工作,复位C0计数器,因此对初始状态我们做些处理,把光标移到初始状态符号处,在右边窗口中输入梯形图(如图4.23),接下来的状态转移程序输入与第一部分相同。程序运行到X1为ON时(压力继电器敞开触点闭合)要求两个钻头同时开始工作,程序开始分支(如图4.23)。,以下输入并列分支结构,将光标移到此处,本例中要用到计数器所以初始状态我们要对计数器C0进行复位,图4.23 程序输入,接下来输入并行分支,控制要求X1触点接通状态发生转移,将光标移到条件1方向线的下方,单击工具栏中的并列分支写入按钮 或者按ALT+F8快捷键,使并列分支写入按钮处于按
20、下状态,在光标处按住鼠标左键横向拖动,直到出现一条细蓝线,放开鼠标,这样一条并列分支线就被输入(如图4.24)。注意:在用鼠标操作进行划线写入时,只有出现蓝色细线时才可以放开鼠标,否则输入失败。,出现蓝色细线时松开鼠标,图4.24 并列并列分支线的输入,安装,并列分支线的输入也可以采用另一种方法输入,双击转移条件1弹出SFC符号输入对话框(如图4.25)。,下拉列表框中选择“D”,图4.25 并列分支线的输入方法二,在图标号下拉列表框中选择第三行“=D”项,单击确定按钮返回,一条并列分支线被输入。并行分支线输入以后(如图4.26)所示。,图4.26 并列分支线输入后,利用第一部分所学知识,分别
21、在两个分支下面输入各自的状态符号和转移条件符号(如图4.27)。图中每条分支表示一个钻头的工作状态。,各个分支的输入方法同单序列输入方法相同,图4.27 分支符号的输入,两个分支输入完成后要有分支汇合。将光标移到步符号23的下面,双击鼠标弹出SFC符号输入对话框选择“=C”项,单击确定安扭返回(如图4.28)。,图4.28 并行汇合符号的输入,在此选择“=C”后单击确定按钮,继续输入程序,当两条并列分支汇合完毕后,此时钻头都已回到初始位置,接下来是工件旋转60度,程序见图4.28,输入完成后程序又出现了选择分支。将光标移到步符号27的下端双击鼠标,弹出的SFC符号输入对话框,在图标号下拉列表框
22、中选择“-D”项,单击确定按钮返回SFC程序编辑区,这样一个选择分支被输入,(如图4.29)。如果利用鼠标操作输入选择分支符号,单击工具栏中的工具按钮 或点击快捷键ALT+F7此时选择分支划线写入按钮呈按下状态,把光标移到需要写入选择分支的地方按住鼠标左键并拖动鼠标,直到出现蓝色细线时放开鼠标,一条选择分支线写入完成。,工件旋转60度的SFC程序,在此选择“-D”项,单击确定按钮,图4.29 选择分支符号的输入,继续输入程序(如图4.30),在程序结尾处,我们看到本程序用到了两个JUMP符号,在SFC程序中状态的返回或跳转都用JUMP符号表示,因此在SFC程序中符号可以多次使用,只须在JUMP
23、符号后面加目的标号即可达到返回或跳转的目的。,图4.30 完整的程序,以上我们完成了整个程序的输入。如果我们双击JUMP符号弹出的SFC符号输入对话框中,我们会看到步属性下拉框处于激活状态而且两个选项分别是无和R,当我们选择R时,跳转符号由变为,R表示复位操作,意思是复位目的标号处的状态继电器。利用R的复位作用我们可以在系统中增加暂停或急停等操作。如图4.31所示。,图4.31 输入对话框,4.3.1 大小球分类选择性传送编程,【实例15】如图4.33所示为大小球分类分拣传送控制示意。,电动机,左限位X1,原点显示,X3 上限位,X2 下限位,小球,大球,右限位 X4,右限位 X5,控制要求
24、图 4.34 大小球分类选择传送SFC图:(1)在原点才能启动。(2)动作顺序为下降、吸住球、上升、右行、下降、释放球、上升、左行、回原点。(3)机械手下降时当电磁铁压住大球,下限位开关不通,压住小球时下限位开关接通。(4)有手动复位功能。1I/0分配X0启动 X1左限位 X2下限位 X3上限位 X4小球限位 X5大球限位X6手动上升 X7手动左移 X10机械手松开Y0下降 Y1抓球 Y2上升 Y3右移 Y4左移 Y7零位显示2状态转移图图 4.34大小球分类选择传送SFC图。3编写程序按状态转移图编写程序,输入PLC运行,经调试和修改后,使运行的程序符合控制要求。,4.3.2 按钮式人行横道
25、指示灯,【实例16】按控制要求如图4.35所示,按X0或X1,交通灯按以下控制要求的顺序进行变化(图4.36),如交通灯已进入运行中按钮将不起作用。,图 4.35 按钮式人行横道指示灯示意图,1、I/0分配 X0右边按钮 X1左边按钮 Y1车道红灯 Y2车道黄灯 Y3车道绿灯 Y5人行道红灯 Y6人行道绿灯2控制功能顺序:(1)PLC从STOP RUN时,初始状态S0动作,通常为车道为绿灯亮,人行道为红灯亮。(2)若按人行横道按钮X0或X1,则状态S21为车道绿灯亮,S30为人行道红灯亮,此时的状态不变化。(3)车道绿灯亮的时间T0为30秒,绿灯亮后车道变为黄灯亮的时间T1为10秒,黄灯后车道变为红灯亮。(4)车道红灯亮的时间T2为5秒,5秒后T2触点接通人行道绿灯亮。(5)人行道绿灯亮的时间T3为15秒,15秒后绿灯开始闪烁亮周期为1秒(S32=暗,S33=亮)。(6)闪烁中S32、S33反复进行动作,计数器C0设定值为5次,当满足条件后,状态向S34转移,人行道变为红灯5秒后,返回初始状态。(7)在状态转移过程中,即使按动人行横道按钮X0,X1也无效。,图1.32 主界面,3 交通灯SFC图(如图4.37所示),图 4.37 按钮式人行横道指示灯SFC图,
链接地址:https://www.31ppt.com/p-5448014.html