轻量化CPG程序模板
在工业自动化项目实施中,程序架构的合理性直接影响项目成本、部署效率和后期维护难度。本文基于对传统 CPG 模板程序的深入理解,结合实际应用场景需求,从硬件适配、功能简化、架构优化等维度,提出一套低成本、易部署、便调试的程序架构方案,旨在为中小规模自动化项目提供高效的技术参考。
一、程序框架
原CPG模板程序是基于1511及TP200开发,对项目硬件要求较高,实施成本增加。笔者将其中部分CPG程序结构简化,保留其中状态机部分。使其在1215及KTP700也能应用这套模板。
为适配 1215 PLC 及 KTP700 屏,在保证核心功能的前提下,通过 “简化结构 + 剥离非必要模块” 实现轻量化。在原版CPG模板中事件管理是CPG模板的另一大亮点,但这对PLC硬件要求较高,这部分程序在没有特殊要求的项目是不需要的,故不在此体现。
程序框架如图所示
二、层级结构
CM(最小控制单元)
如气缸、伺服等,直接关联硬件 IO,程序中采用标准化接口(如 “动作指令 + 状态反馈”),方便单独调试(例如:通过 KTP700 直接触发 CM 单步动作,快速定位硬件故障)。
EM(执行件组合)
整合多个 CM 实现特定功能(如 “抓取 EM” 包含 “伸缩气缸 + 旋转伺服”),层级化封装使调试时可定位至 “EM 级”(若抓取失败,先排查 EM 内各 CM 的协同逻辑,而非全局搜索)。
Unit(功能单元)
管理多个 EM 的协同(如 “上料 Unit” 包含 “推送 EM + 定位 EM”) ,其中Unit00是虚构的,作用是状态管理及作业管理等。
调用结构如图所示
三、作业序列
原版CPG模板程序里没有关于作业序列的描述,笔者参考西门子最新AF模板作业序列的实现并融入AF模板中作业序列控制程序提取并将其简化,实现作业序列单步或连续运行。并且状态机反馈的状态直接作用于EM,比如:设备处于“Reset”状态时,满足条件后EM执行复位作业序列。设备处于“Excute”状态时,满足条件后执行工艺序列等。程序部分如下图所示:
同一设备需要兼容多个的作业序列
当需要同一个设备需要兼容多个的作业序列时,可以在作业序列管理程序“JobSequenceManager”中编写相应的序列程序,通过Case语句分别调用如下图所示。
配方管理程序” RepiceManager_FB”可以保存不同作业序列的设备参数,并根据作业序列号索引参数并传递给作业序列。