智能制造领域的主要研究工作就是为制造领域所有事物和行为构建数字化模型。最终实现制造工厂中设备,软件,物流所有事物的互联互通。而且实现这种互联互通是便捷,灵活的。通俗地将就是“即插即生产”。不过,要实现这一目标并非易事。首先要改变传统某些自动控制领域工程设计思想。基于技能的设计就是其中之一。
即插即生产
“ 即插即生产”(Plug & Produce)是工业4.0 的目标之一。Plug & Produce概念背后的主要思想源自计算机系统领域著名的Plug & Play概念:USB设备可以插入计算机,并立即可以使用,而无需手动为其提供驱动程序。在制造车间实现相同级别的自动化配置和界面描述仍然是一个重大挑战。
即插即用系统主要动机是其灵活性,以适应快速变化的市场需求带来的新生产要求。相比之下,典型的大规模生产线经过优化,可以以低成本大量生产一种特定的产品变体。工业自动化组件主要使用制造商或特定领域的接口开发,每次产品规格更改时都需要对控制应用进行耗时的调整。在硬件故障时,只能使用具有完全相同规格的设备作为替换设备。
产品的可变性越高,生产线必须越灵活。对于小批量生产,甚至批量为一,目标是生产根据买方需求定制的产品。此类产品仅在买方提供相关规格后才存在。因此,生产系统必须提供更高的灵活性和更有效的可重构性,以适应这些情况。为了实现自动配置和信息交换,而无需重新编程自动化任务,基本要求之一是通用标准化组件接口。此外,它需要具有可扩展性,不仅要适应当前的设备和系统组件,还要适应高度动态市场中的未来需求。
现阶段的许多自动化系统是为单一产品大批量生产设计的。比如机械臂控制,如果它的动作是一成不变的,那么示教器就足够了,但是如果需要经常改变,使用示教器显然停工调试时间就会很长。即插既生产需要设备更强大的可编程能力。
基于技能的设计
传统的自动控制系统的设计是基于控制器,信号,执行机构和人机界面为中心展开的。而生产管理者的的观点下,生产制造过程是以加工任务为中心。在加工厂中,根据生产计划制定生产任务,进一步分解成加工工艺。工艺单通过手动或者自动的方法,调用设备和人员的能力(capabilities)或者技能(Skill)来完成制造的各个环节。显然,基于技能的设计思想更符合生产管理的流程。视野不同,构建系统模型的方式截然不同。
技能(Skill)是资源的能力(capabilities)
在工业4.0 的观点下, 实现“即插即用生产”的目标,是设备层面实现的。生产设备在生产过程中扮演的“工具”的角色,提供的某种技能(Skill),例如CNC 钻孔,机械臂抓取零部件,工业摄像机识别零部件等·等能力。所有这些功能都是工具提供的技能。
基于技能的设计是工业软件编程的方法之一。它们可以被视为一种以工具为中心的流程建模和执行方法,简化了硬件和软件组件提供的功能的抽象。
技能的特点
- 整个生产系统,根据设备提供的技能灵活编排设备
- 技能定义与解决方案是无关
- 技能是分层的,层次较高的调用实体通过定义的接口调用下一层技能。
技能分层结构
自动化系统中的硬件设备或纯软件,它们都为制造系统的其他组件提供一项或多项技能。这被称为“基本技能”--它们是不能再分解的技能。此外,更高级别技能应通过重用和依赖于其他技能进行分层组合。因此,可以通过组合更基本的功能来构建更复杂的功能。
原始技能是指机器人在最低层次上的能力,不能再分了。复合技能是通过原始或较低级别的复合技能的组合产生的,因此允许在不同层次结构级别上对复杂的机器人行为进行建模。例如,通过组合“移动”,“握力”和“测量姿势”等原始技能,可以实现“处理”的复合技能。
技能的实现
大量的文献和标准中讨论技能的描述和封装,而忽略技能的实现,其实, 技能需要通过小程序(Applet)来实现。同时又被某些复合技能(更大的程序)调用,而这些小程序有组合在一起,完成某一项任务(Task)。在功能块的观点下,技能可以由功能块实现,Task 则是一个功能块网络。功能块网络本质上是技能的编排。
IEC61131 和IEC61499 实现技能,OPCUA 封装成统一的形式。 所谓封装,就是外部看见的样子,而不是具体实现。标准化封装的优点是让所有的程序具有统一的Look and Felling。程序的内部实现可以是多种方式
基于技能的设计,需要将各种设备描述成为数字化的技能模型,基于技能模型,编排工艺流程。
在下面的例子中,一共有三个设备,分别是两个IEC61499 控制器和一个IEC61131 PLC。中间是编排功能块。调用控制器的技能功能块。感觉它们使用61499 的适配器作为技能的调用连接。
技能的封装
基于技能的设计的关键是构建。必须以形式化方式描述特定技能的所有属性和参数,以使依赖此技能的其他组件能够自动推断所需的技能调用参数并推理与其交互的目的。
人们提出了一些推荐的方案,其中包括
- 使用OPCUA作为统一的技能建模语言
- 基于PackML模型的统一接口
- IEC61499 功能块为技能建模
- AutomationML 模型
。
OPC UA 封装技能的形式采用有限状态机形式。更具体的,人们推荐使用PackML模型。
OPCUA 封装
技能使用OPCUA 封装,首先可以定义一个通用的SkillType 。
每个设备中有一个SkillSet文件夹,包含了该设备的所有技能实例
加工任务-技能的编排
集中式编排组件
分布式方式
也可以让技能相互调用,形成分布式系统。分布式系统更加接近Plug &Product 的概念。
例子
例如在下图中,按照PackML 的模型,构建了Pick 技能的接口模型。
在OPCUA 模型下的系统实例
61499 功能块封装技能的实现
61499技能功能块 以及在OPCUA 中的映射
技能功能块包括两个部分一个叫做Skill 功能块,另一个叫做技能桥(SkillBridge) 技能桥的作用是将技能的状态和数据映射到OPC UA 模型,同时与底层硬件的IO接口。
结束语
人们已经为数字化制造提供了足够多的思想和方法论。应用这些方法和思想解决问题才是最要紧的事情。