SFC编程在TOYOPUC中应用的实例详解

2021-12-29 12:33:51 浏览数 (1)

一、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使用说明书:程序设计篇》

‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍本文部分照片、资料出自相关设备厂商,纯为学习、交流之用,如有侵权麻烦联系删除,谢谢!

吴晨‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍阳‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

2021年12月

sf v8

0 人点赞