研选课堂
HOME
研选课堂
正文内容
plc编程sfc模块 SFC编程在TOYOPUC中应用的实例详解
发布时间 : 2025-07-06
作者 : 小编
访问数量 : 23
扫码分享至微信

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使用说明书:程序设计篇》本文部分照片、资料出自相关设备厂商,纯为学习、交流之用,如有侵权麻烦联系删除,谢谢!

S7-300400的基本结构

S7-300/400属于模块式PLC,主要由机架、CPU模块、信号模块、功能模块、接口模块、通信处理器、电源模块和编程设备(工程师、操作员站和操作屏)组成。

图1-1 PLC控制系统示意图PLC的主要生产厂家:德国的西门子(Siemens)公司,美国Rockwell公司所属的AB公司,GE-Fanuc公司,法国的施耐德(Schneider)公司,日本的三菱和欧姆龙(OMRON)公司。

PLC的工作过程

在CPU模块上有存储器(用来存放系统程序、用户程序、逻辑变量和其它一些信息),包括ROM和RAM。可通过扩展槽扩展用户RAM。

RAM:主程序区OB1+子程序区(FB、FCB、定时中断块等)断电时由锂电池供电(几年)以免RAM中信息丢失。锂电池电压< 规定值,灯报警,换电池(期间靠电容充电几分钟)。

PLC采用循环执行用户程序的方式。

OB1是用于循环处理的组织块(主程序),它可以调用别的逻辑块,或被中断程序(组织块)中断。在启动完成后,不断地循环调用OB1,在OB1中可以调用其它逻辑块(FB, SFB, FC或SFC)。

循环程序处理过程可以被某些事件中断。

在循环程序处理过程中,CPU并不直接访问I/O模块中的输入地址区和输出地址区,而是访问CPU内部的输入/输出过程映像区。批量输入、批量输出。

梯形图中Q4.0的线圈(称为内部线圈)"通电"时,对应的输出过程映像位为1状态。信号经输出模块隔离和功率放大后,继电器型输出模块中对应的硬件继电器的线圈(外部线圈)通电,其常开触点闭合,使外部负载通电工作。

外部输入电路接通时,对应的输入过程映像位(例如I0.0)为1状态,梯形图中对应的输入位的常开触点接通,常闭触点断开。某一编程元件对应的过程映像位为1状态时,称该编程元件为ON,过程映像位为0状态时,称该编程元件为OFF。

PLC性能指标:

循环时间(Cycle time): 是指操作系统执行一次图1-4所示的循环操作所需的时间,又称为扫描循环时间(Scan Cycle Time)或扫描周期。如0.7ms、1.7ms等性能指标:I/O点数、扫描周期、指令数目、功能模块多少、

A( O I0.1 // 接在左侧母线上的I0.1的常开触点

O Q4.0 // 与I0.1的常开触点并联的Q4.0的常开触点 )

AN I0.2 // 与并联电路串联的I0.2的常闭触点

= Q4.0 // Q4.0的线圈梯形图对应的逻辑表达式:

Q4.0 = (I0.1+Q4.0)

相关问答

sfc编程语言?

【SFC】顺序功能图(SequeentialFunctionChart),简称“SFC”,是一种新颖的、按照工艺流程图进行编程的图形编程语言。这是一种IEC标准推荐的首选编程语言,...

西门子plc中sfc是如何应用得,大神有没有具体的案例程序?

SFC是系统内部的功能,和普通的功能一样使用。使用之前从库中找到SFC,然后拖到编程窗口即可使用SFC是系统内部的功能,和普通的功能一样使用。使用之前从库中找...

艾莫迅plc支持sfc吗?

其编程推导器性能优越有B向量值,所以支持其编程推导器性能优越有B向量值,所以支持

用三菱plc的SFC编程怎么做急停和手动操作?

急停的时候一般要用【ZRSTSS】指令来使区间复位。不能在转移条件中加常闭,因为SFC编程的状态是启动了一个状态就会自动断开上一个状态。手动的话,可以用...

在PLC中SFC语言是由什么状态输出和转换?

SFC程序的运行从初始步开始,每次转换条件成立时执行下一步,在遇到END步时结束向下运行。顺序功能图(SequeentialFunctionChart),简称“SFC”,是一种新...SFC...

请问三菱plc的sfc程序怎么编写?

三菱plc的sfc程序这样编写:1、分配I/O,画状态转移图,将实际生产过程的控制要求以工序步划分成若干块,每个步完成一定的动作(功能),在转移条件满足后,从...三...

汇川plc支持sfc吗?

是的,汇川PLC支持SFC(SequentialFunctionChart)编程语言。SFC是一种基于状态转换的图形化编程语言,用于描述程序的状态和状态之间的转换。汇川PLC提供了完...

三菱plcsfc停止程序怎么写?

要停止运行三菱PLCSFC(SequentialFunctionChart)程序,可以使用以下方法:1.使用STEP关键字:在SFC程序的特定步骤中,使用STEP指令来停止程序的运行。例.....

S7-300PLC中的BLKMOVE(SFC20)怎么用?

CALL"BLKMOV"SRCBLK:=P#M50.0BYTE8RET_VAL:=MW80DSTBLK:=P#M150.0BYTE8参考这个看看就知道了这个程序的意思就是说:将MB...

请问各位PLC前辈们,这个SFC块行图如何转换为梯形图,求步骤?

这是三菱的SFC这个可以在软件和SFC和梯形图互相转换的!你在软件输入这个程序然后点输出类型为梯形图就以会梯形图的形式显示出来的!这是三菱的SFC这个可以...

 大北欧  35秒13分 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部