通过实例玩转三菱PLC之小车往返控制的SFC编程
通过一个简单的例子看看三菱PLC的SFC编程,也就是步进顺控程序怎么编程,如下图,在新建项目选择SFC程序类型。
双击块,选择块的类型是SFC还是梯形图块
虽然我们在建项目时已经设定了SFC编程,但在程序中也可以更改为梯形图。如下图所示。
简单介绍到这,下面举个简单的离子来看看怎么编程。
控制要求:运料小车如下图所示,当按下启动按钮,小车在SQ1处,电机正转,小车前进到SQ2处,小车反转后退,后退到SQ1后,小车电机停止转动,小车停止30s后,小车第二次前进到SQ3处,再次返回到SQ1处停止。
根据控制要求:顺序功能图如下图所示:
下面我们来根据顺序功能图来编程:
首先选择0#块,设置成梯形图快,双击,编写初始化程序。如下图
之后选择1#块,设置成SFC块,开始编写SFC程序。
在S0下添加转移条件,并编写转移条件梯形图。如下图所示
在转移条件下添加步,并设置步号,并编写梯形图,如下图所示
不一一列举了,根据顺序功能图来编写。编完的程序如下所示
是不是看着很别扭,每一步需要点进去才能开到,没有西门子那么直观,没事,我们可以转换成梯形图,那么就直观了,上图图中已经介绍了怎么转换成梯形图,那么,改变完程序类型的程序如下图所示
下面我做了一个西门子博途GRAPH的程序,大家可以参考下。
西门子可能更直观一些,还是那句话无论是什么品牌的PLC,只是软件有所区别,但本质是一样的,都是用同一个顺序功能图。
写文不易,我的文章都是我亲手编程的,希望大家能支持,给小编点赞、评论及转发。
SFC编程在TOYOPUC中应用的实例详解
一、SFC编程用语
SFC(Sequencial Function Chart)是通过使用多种图表对象,对生产过程中一系列工程简单地表现出来,类似流程图。历来LD、ST等编程方式不容易分析和判断“设备的各个部件的动作进展状况”,流程图是一种使动作进度成为可视化的工具。但传统的SFC编程思路和架构一般不考虑:自动运转中出现故障重启的处理方式、在主SFC进程中调用子SFC(类似功能块,数量允许的情况下在主SFC进程中随处可以调用同一子SFC)、稍微复杂的SFC程序里如何考虑步骤的重复转移(类似跳转功能)。本文以TOYOPUC(丰田工机)的PC10G系列PLC的实际案例介绍下如何考虑这三个方向。TOYOPUC主要的SFC用语如下图:
重点我们说下:子SFC(子过程)、并列、激活状态/非激活状态。 一台设备有多个机械部件组成,例如汽车生产线上的升降机有:升降电机(简称DL)(有上升、下降动作)、输送的滚筒线(简称CV)、阻挡器机构((简称ST)、升降机的定位锁气缸(简称TU)。在一个SFC流程内,不同分支执行中会有相同的动作。例如DL上升动作,在分支1执行过程中有DL先上升到位(命名为“步11”)后执行CV运转等,在分支3执行过程中也有DL先上升到位(命名为“步21”)后执行CV运转等;把DL上升动作做成一个子SFC,子SFC在同一个过程中是可以重复使用的,在不同分支执行顺序中都可以执行 “DL上升子SFC”,这样用一个“DL上升子SFC”就可以代替原来的“步11”、“步21”、、、。熟练把某些动作流程打包成一个子SFC,可以使SFC整体程序更加简洁。并列有并列分支和并列汇合,平行分支线是用2根横线来表示。如下图,并列分支前的步骤1激活时,如果转换条件1成立,则向步骤2和步骤3同时过渡(即步骤2和步骤3同时进行处理)。需要注意的是并列汇合时,如果步骤2激活,步骤3没有激活,即使转换条件2成立也不会向步骤4过渡。并列汇合要求上一步骤要全部激活时,并列汇合的转换条件成立,才能向下一步骤过渡。在实际调试中发现转换条件已成立了,SFC不能继续往下执行,可能需要关注这个问题点。
激活状态: 可以执行动作的状态;非激活状态: 不可以执行动作的状态。在SFC中,步骤是一种执行单位,某一步骤成为非激活状态时动作也随即全部同时结束。在编程软件监控SFC程序或触摸屏监视SFC程序时,不同状态有不同的颜色指示,如下图。
二 、TOYOPUC的SFC编程软件和注意点
PC10G是TOYOPUC中大型PLC,使用PCwin编程软件。PCwin可以建立子程序、导入FB库、建立SFC动作流程、导入IO图纸、多语言切换等功能。
SFC程序是以步骤为单位进行执行,软件上要能做到进行到某一步骤时,由于报警等突然退出自动运转。恢复自动运转后,SFC程序能继续执行之前中断的步骤。PCwin在SFC编程上,需要用的2个FB块,FB14和FB15,这2个块是一定要使用的。如下图,FB14是用于PLC上电第1扫描ON时,将SFC输出信号领域全部清零;
FB15是用于控制哪个SFC进程可以运行。如下图,PLC运行时,SFC进程1是一直在运行。当M2C1=1时,SFC进程10才能运行,而进程10不运行时FB也会将对应的SFC输出领域全部清零。
三、TOYOPUC的SFC编程实际案例基本介绍
以汽车厂总装车间的座椅输送线为例,我们介绍下实际应用案例(座椅输送线简称SE)。座椅生产厂家用卡车将座椅运到总装车间的SE设备入口,SE设备负责接收卡车上的座椅(一卡车一般是20套座椅),然后将座椅输送到车间的汽车座椅安装工位。汽车厂的大部分输送系统都在循环输送某类工件,我们先了解下SE循环输送工件:座椅托盘,如下图。
我们以SE设备中的一台升降机(编号DL2)来详细介绍SFC编程的思路。如下图是DL2的平面布局,DL2双侧带CV滚筒输送机。DL2在下降位(地面)时CV7搬入CV6里带座椅的托盘,CV8搬出空托盘至CV24内;DL2在上升位(二楼平台)时CV7搬出带座椅的托盘至CV9内,CV8搬入CV23里的空托盘;TU06和TU07的作用是DL2在上升位时,机械气缸锁定住DL2,防止DL2抱闸等故障突然下坠。
下图是现场照片
先以初始状态、单动作模式来分析下DL2的主要动作模式:托盘从CV7搬出至CV9(简称CV7搬出)、托盘从CV6搬出至CV7(简称CV7搬入)、托盘从CV8搬出至CV24(简称CV8搬出)、托盘从CV23搬出至CV8(简称CV8搬入);
DL2上升/下降、ST打开/关闭等都是准备/收尾步骤,最主要的步骤是运转电机进行搬入/搬出。我们以主要步骤来定义6种动作模式
四、升降机DL2的SFC编程
通过以上的基本介绍,6种动作模式是有重复的步骤。例如模式1,要执行DL2上升步骤;模式3,要执行DL2上升步骤;根据动作分析,建立6个子SFC:
这6个子SFC,在DL2的SFC进程中,可以认为就是一个基本单元:步骤。根据6种动作模式的准备步骤,在DL2的SFC的初始步往下的流程定义了4个主要选择分支:
主分支1的流程如下图,转换条件TR1135满足后,又回到DL2初始步。
主分支2的流程如下图,转换条件TR1165满足后,又回到DL2初始步。
主分支3的流程如下图。
主分支4的流程如下图。
五、执行SFC程序中突然退出自动运转,恢复自动运转后,如何回到之前的步骤
以主要分支3为例,SFC执行到SUB021(CV7搬出子SFC)时,由于报警等原因,DL2退出自动运转。
恢复自动运转后,DL2的SFC程序入口是从DL2的初始步ST1100进入。
方式1是以主要动作步骤来定义4个记忆,如下图
K型数据地址是断电保持型,SUB021(CV7搬出子SFC)开始执行时K112(CV7搬出中记忆)置位=1;除人为复位外,只有SUB021执行完成后K112才会复位=0;通过K112的记忆,去构造相关条件,就可以实现恢复自动运转后,DL2的SFC程序要恢复到SUB021这个步骤的相关转换条件可以满足。 方式2是在要相关的动作步骤增加判断,如已经完成这个动作就可以跳转到下个步骤。以DL2上升子SFC(SUB011)为例,如下图:
六、相关总结
SFC程序注重流程可视化,配合丰田工机的触摸屏,可以快速监视SFC程序的当前状态,并且可以通过点击切换到转换条件内部程序,快速确认设备故障、不动作原因;SFC程序框架并不复杂,首先要清晰的分析出设备的动作流程。根据主要动作来确定动作模式,根据不同动作模式的步骤确定重复步骤,进行打包成子SFC,在不同动作模式下调用子SFC。以模块式思路来搭建SFC程序框架后,进行SFC程序修改、优化是比较简单的。例如动作模式3 仅CV7搬出完成后(TR1182转换条件满足),原SFC程序是转移到初始步,如此时没有动作需求,DL2升降机是停在二楼平台。在该工况下DL2升降机左右2侧都是空席,业主的需求是希望此时DL2应该下降到地面等待CV7搬入,这样对座椅上件的节拍有利。增加DL2下降动作很简单,在TR1182转换条件下一步进入SUB012(DL2下降子SFC),下降到位后再转移到初始步。按照这个想法来修改忽略了一个情况,如果CV7搬出完成后,CV7搬入条件还未满足,而CV8具备搬入可条件,此时DL2是没必要执行下降动作,再上升到二楼平台执行CV8搬入。应该在TR1182后增加一个虚拟步来判断应该是直接下降到位,还是直接进行CV8搬入动作。其SFC的修改增加1个虚拟步,增加3个转换条件和1个转移目标。在LD程序中就是增加3行转换条件的程序内容。
七、末
JTEKT(捷太格特)是日本丰田和光洋等公司合作创办的企业,主要生产汽车轴承、转向系统、机床等。TOYOPUC(国内简称丰田工机)是JTEKT的机电一体化的控制器系列品牌(官方网址:https://toyoda.jtekt.co.jp/c/products/mecha.html)。有TOYOPUC小型、中型、大型、安全PLC、远程模块、通信模块、触摸屏、运动控制器等产品。相关通信协议有FL-远程、FL-net、以太网等。国内基本只有一汽丰田和广汽丰田的工厂在使用TOYOPUC控制器产品,而且由于价格较昂贵,对比其他日本品牌如三菱、欧姆龙等,没那么让大家熟悉。可能大家刚开始接触TOYOPUC PLC时,会感觉不太习惯,但慢慢的会发现其产品的使用理念和丰田公司精细化管理的理念很相似。特别注重安全、解决故障的效率、程序功能上的统一性。
本文参考资料《TOYOPUC SFC使用说明书:程序设计篇》本文部分照片、资料出自相关设备厂商,纯为学习、交流之用,如有侵权麻烦联系删除,谢谢!
相关问答
西门子plc中sfc是如何应用得,大神有没有具体的案例程序?
SFC是系统内部的功能,和普通的功能一样使用。使用之前从库中找到SFC,然后拖到编程窗口即可使用SFC是系统内部的功能,和普通的功能一样使用。使用之前从库中找...
三菱PLC用SFC编程时调用子程序应该怎样编?
这个典型的加工程序可以做成固定程序,并单独加以命名,这组程序段就称为子程序。2.使用子程序的目的和作用使用子程序可以减少不必要的编程重复,从而达到减化...
三菱plcsfc停止程序怎么写?
要停止运行三菱PLCSFC(SequentialFunctionChart)程序,可以使用以下方法:1.使用STEP关键字:在SFC程序的特定步骤中,使用STEP指令来停止程序的运行。例.....
台达plc编写sfc程序,转移到下一个状态,满足条件的转移指令,我知道三菱的是tran,台达的我?
你可以在梯形图上面写用STL指令你说的是在步进状态下编写的TRAN这个也是转移指令你可以在梯形图上面写用STL指令你说的是在步进状态下编写的TRAN这个也是转移...
三菱PLC中用SFC顺序控制编程时,什么时候要用多个初始状态?
三菱PLC中用SFC顺序控制编程时,,必须是有初始状态的,不管此步有没输出,都是软件自动生成的,根据SFC原理,必须激活初始状态后,才能转移动系一步。多个初始...
三菱plcsfc空步指令?
三菱PLC的SFC(SequentialFunctionChart)编程中,空步指令通常使用“NOP”表示。NOP是“NoOperation”的缩写,表示不执行任何操作。在SFC中,当程序流程到...
plc面试常问的问题?
问题1。有哪种基本类型的PLC?小型PLC模块化PLC问题2。目前流行的PLC品牌有哪些?ABB公司AB(Rockwell)PLC西门子PLC/德尔塔PLC/三菱PLC霍尼韦尔PLC...
三菱PLCSFC中步号和转移顺序不一样?
初始步0和步10之间要加转移条件的,在sfc中不能有两个连续的步之间不加任何转移条件,或者两个连续的转移条件之间没有步块。如果实在不行就在0和12之间加转移条...
s7-300编程的sfc14和sfc15是放在OB1里还是OB35里面?
答:plc的cpu是32位的所以通信数据3个字节以上时cpu就会出错所以要调用sfc15\sfc14把数据打包和解包答:plc的cpu是32位的所以通信数据3个字节以上时cpu就会...
哪位大神有用C#编写的控制PLC的程序,我是新入门,想学,在线等,谢谢?
C#和PLC语言是不一样的,最相似的是一种叫做ST语言。叫做结构文本。PLC语言,梯形图,语句表,SFC,功能块,ST,别的我还真没用过了。C#和PLC语言是不一样的,最相...