Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >SFC编程在TOYOPUC中应用的实例详解

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

作者头像
剑指工控
发布于 2021-12-29 04:33:51
发布于 2021-12-29 04:33:51
2.1K0
举报
文章被收录于专栏:剑指工控剑指工控

一、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月

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 剑指工控 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
PLC编程梯形图实战
在前一个教程PLC编程入门-梯形图中,我们学习了梯形图的基础知识以及一些基本的指令。在今天这个教程里,我们将学习如何采用梯形逻辑解决实际问题,以及如何进行PLC编程,同时我们还会学习一些新的梯形逻辑指令。
用户1408045
2019/05/23
2.3K0
NC:深度学习在神经影像数据分析中优于机器学习
最近的评论将深度学习(DL)与用于大脑成像数据分析的标准机器学习(SML)方法进行了不利的比较。然而,他们的结论往往基于预先设计的特征,剥夺了DL的主要优势——表征学习。我们在多个分类和回归任务上对结构MRI图像进行了一项大规模系统性比较,并显示了表征学习对DL的重要性。结果表明,如果按照流行的DL实践进行训练,DL方法具有特别好的扩展潜力,与SML方法相比有很大的改进,同时也在相对计算时间内呈现出较低的渐近复杂度,尽管它更复杂。我们还证明,DL嵌入跨越了可理解的任务特异性投射谱,并且DL始终定位任务-识别的脑生物标记物。我们的发现强调了神经成像数据中非线性的存在,DL可以利用这些数据生成更好的任务区分生物表示来表征人类大脑。
悦影科技
2025/05/28
810
PLC编程入门基础技术知识
可编程序控制器,英文称Programmable Controller,简称PC。但由于PC容易和个人计算机(Personal Computer)混淆,故人们仍习惯地用PLC作为可编程序控制器的缩写。它是一个以微处理器为核心的数字运算操作的电子系统装置,专为在工业现场应用而设计,它采用可编程序的存储器,用以在其内部存储执行逻辑运算、顺序控制、定时/计数和算术运算等操作指令,并通过数字式或模拟式的输入、输出接口,控制各种类型的机械或生产过程。PLC是微机技术与传统的继电接触控制技术相结合的产物,充分利用了微处理器的优点,又照顾到现场电气操作维修人员的技能与习惯,特别是PLC的程序编制,不需要专门的计算机编程语言知识,而是采用了一套以继电器梯形图为基础的简单指令形式,使用户程序编制形象、直观、方便易学;调试与查错也都很方便。
全栈程序员站长
2022/10/05
1.6K0
一文教你从PLC编程菜鸟变成高手
PLC编程软件由系统程序和用户程序两部分组成。系统程序包括监控程序、编译程序、诊断程序等,主要用于管理全机、将程序语言翻译成机器语言,诊断机器故障。PLC编程软件系统由PLC厂家提供并已固化在EPROM中,不能直接存取和干预。用户程序是用户根据现场控制要求,用PLC的程序语言编制的应用程序(也就是逻辑控制)用来实现各种控制。 标准语言梯形图语言是最常用的一种语言,它有以下特点: 梯形图中接点(触点)只有常开和常闭,接点可以是PLC输入点接的开关也可以是PLC内部继电器的接点或内部寄存器、计数器等的状态。
机器人网
2018/04/24
3.3K0
一文教你从PLC编程菜鸟变成高手
PLC编程基础[通俗易懂]
1)空的本地符号表;2)全局符号表;3)IO表;4)PLC内存数据;5)PLC设置数据。
全栈程序员站长
2022/10/29
2.8K0
PLC编程基础[通俗易懂]
【Java】智慧工地源码-支持私有化部署,SaaS模式+全套硬件设备
源码星辰
2023/08/12
4190
【Java】智慧工地源码-支持私有化部署,SaaS模式+全套硬件设备
百亿级市场的AGV:初识AGV
AGV机器人市场需求正迎来高速上涨。据机构预计,未来五年AGV机器人销量的复合增长率可达25%左右,市场规模将达到140亿元。
剑指工控
2021/11/09
1.5K0
PCS 7中顺序功能图SFC编程常见问题
SFC chart是顺序功能图(Sequential Function Chart)的简写,SFC chart有16种状态,如下图1所示:
剑指工控
2021/11/09
1.8K0
PCS 7中顺序功能图SFC编程常见问题
java 的锁机制中的AQS原理详解
AQS的全称为(AbstractQueuedSynchronizer),这个类也是在java.util.concurrent.locks下面。这个类似乎很不容易看懂,因为它仅仅是提供了一系列公共的方法,让子类来调用。那么要理解意思,就得从子类下手,反过来看才容易看懂。如下图所示:
哲洛不闹
2019/05/17
5660
揭开Groq LPU神秘面纱:世界最快硬件加速器的底层架构设计!
凭借自研的硬件加速器LPU,达成了500个token/s的神级推理速度,当场秒杀了ChatGPT。
新智元
2024/03/13
3680
揭开Groq LPU神秘面纱:世界最快硬件加速器的底层架构设计!
050|物流自动化的底层技术—上(物料流)
随着国内近几年来电商的迅猛发展,普通老百姓也能经常在各个媒体平台上看到一些关于大的电商公司后台的物流配送中心里全自动化运作的盛况,比如京东的亚洲一号、菜鸟联盟里的自动化配送中心,苏宁的自动化仓储中心等。
老King
2020/05/06
1.2K0
Java 编程要点之并发(Concurrency)详解
计算机用户想当然地认为他们的系统在一个时间可以做多件事。他们认为,他们可以工作在一个字处理器,而其他应用程序在下载文件,管理打印队列和音频流。即使是单一的应用程序通常也是被期望在一个时间来做多件事。例如,音频流应用程序必须同时读取数字音频,解压,管理播放,并更新显示。即使字处理器应该随时准备响应键盘和鼠标事件,不管多么繁忙,它总是能格式化文本或更新显示。可以做这样的事情的软件称为并发软件(concurrent software)。
哲洛不闹
2018/09/18
9260
Java 编程要点之并发(Concurrency)详解
西门子PCS7系统中使用CP341实现MODBUS-RTU主站通讯的方法
1) PLC为 CPU414-5H 冗余PLC , CP341(使用IM153-2), CP341主站硬件狗 Dongle ( 6ES7 870-1AA0-0YA0 )
剑指工控
2021/11/09
7.6K0
全球顶尖的服务机器人厂商及其主要产品
本文根据当前服务机器人的发展热点,选择了教育机器人、医疗机器人和家庭清洁机器人三大子领域,简要介绍国内外主要厂商及代表产品。 教育机器人 教育机器人主要是应用于机器人竞赛和课堂教学。国内外教育机器人的设计与应用活动丰富多彩。目前, 全球每年有一百多项机器人竞赛, 参加人员从小学生、中学生、大学生、研究生到研究者。国际上主要的机器人竞赛有: 国际机器人奥林匹克竞赛、FLL机器人世锦赛、机器人世界杯足球赛等。我国每年有几十到上百支代表队参加这些国际竞赛活动。我国教育部门也在政策上加以引导, 积极把教育机器人
机器人网
2018/04/23
1.3K0
UML学习总结
什么是up: 软件开发过程描述了构造,部署,维护软件的方式。统一过程是一种流行的构造面向对象系统的迭代软件开发过程。特别是统一过程是对统一过程的详细精化,而且被广泛采纳。
用户4158112
2021/01/26
7350
面向计算机视觉的深度学习:6~10
在本章中,我们将学习相似性学习并学习相似性学习中使用的各种损失函数。 当每个类别的数据集都很小时,相似性学习对我们很有用。 我们将了解可用于人脸分析的不同数据集,并建立用于人脸识别,界标检测的模型。 我们将在本章介绍以下主题:
ApacheCN_飞龙
2023/04/23
8790
博途V17-轴功能与优化
借助PLC中集成的运动控制功能,可以轻松高效地控制单轴和多轴驱动系统。SIMATIC 控制器和工艺模块,辅以 SINAMICS 驱动系统,提供了完美协调的产品组合。如果驱动器通过PLC的工艺对象进行定位调速工作,则它们被称为单轴。针对单轴运动控制来说,其运动需要具有高动态和重复精度高的需求,西门子的工艺对象特别适用于这样的运动过程。典型的单轴是速度轴和定位轴,例如传送带和提升定位。用户可以对机器中多个单轴的动作进行编程,以在机器中实现所需的运动。
科控物联
2022/03/29
6K0
博途V17-轴功能与优化
Python 智能项目:1~5
人工智能(AI)在过去几年中一直处于技术的最前沿,并已进入主流应用,例如专家系统,移动设备上的个性化应用, 自然语言处理中的机器翻译,聊天机器人,自动驾驶汽车等。 但是,AI 的定义在很长一段时间以来一直是一个争论的主题。 这主要是因为所谓的 AI 效应将过去已经通过 AI 解决的工作归类为非 AI。 根据一位著名的计算机科学家的说法:
ApacheCN_飞龙
2023/04/23
1K0
看蓝鲸标准运维如何编排一切
蓝鲸智云,简称蓝鲸,是腾讯游戏运营部“腾讯智营”下的子品牌。它是一套基于 PaaS 的企业研发运营一体化技术解决方案,提供了一个完整的研发、运维、运营的PaaS技术平台。平台提供了完善的前后台开发框架、调度引擎、公共组件等模块,帮助业务的产品和技术人员快速构建低成本、免运维的支撑工具和运营系统;是腾讯游戏运营部沉淀多年的技术运营支撑体系,承担着数百款业务线上运营的使命。
嘉为蓝鲸
2018/12/21
3.4K0
Python 强化学习实用指南:6~10
在前面的章节中,我们学习了强化学习(RL)的基本概念和几种 RL 算法,以及如何将 RL 问题建模为马尔可夫决策过程(MDP)。 我们还看到了用于解决 MDP 的不同的基于模型和无模型的算法。 在本章中,我们将看到 RL 中的经典问题之一,称为多臂老虎机(MAB)问题。 我们将看到什么是 MAB 问题,以及如何使用不同的算法解决该问题,然后了解如何使用 MAB 识别将接收大部分点击的正确广告横幅。 我们还将学习广泛用于构建推荐系统的上下文老虎机。
ApacheCN_飞龙
2023/04/24
1.5K0
推荐阅读
相关推荐
PLC编程梯形图实战
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档