资产管理壳(AAS)是工业4.0 的重要概念,AAS 本质上是将物理设备(所谓资产)加上了一个数字化模型的“壳”,实现资产的信息交换。AAS将硬件设备转换成为一种服务(service),可以通过软件实现请求、提供服务。比如 请求CNC机床”在某个位置打个孔“,这是一种服务。在I4.0的观点之下,设备将成为服务提供商(Service Provider)。PLC 不再执行部分生产流程,而是提供具有明确定义接口的生产服务。它将原先生产由人和机器完成的加工过程转变成为了IT系统的数据流和控制流,加工变成为软件在网络中的一次调用。而且这些数据流和控制流是符合统一的标准的,并且与厂商无关。当所有的设备都加上了符合标准的AAS之后,“即插即生产”的目标就可以实现了。

从一个简单的场景谈起

我们这里举一个例子来说明,使用机械臂实现CNC 机床的上下料,并且通过一个PLC做控制器。当CNC和机械臂控制器中都已经实现了I4.0 的管理壳之后,控制器程序可以请求CNC 管理壳加工一个铝外壳(一种服务)。或者请求机械臂从原材料的托盘上取走原材料(一种服务),放置到CNC机床上,当CNC管理壳发出了完成的事件后,机械臂取走加工好的铝外壳(一种服务)。放置在成品的托盘上。整个流程如下图所示。

上面的加工步骤为:

  1. 取原料
  2. 加工
  3. 取成品

这种控制方式是Master/Slave 的结构,如果采用传统控制技术的实现的话,控制器由一台PLC 或者工控电脑(如果需要HMI界面时)来实现。

在实际生产过程中,还需要加工的CNC程序,Robot 的运动,Robot与托盘之间的位置识别等细节。这些工作既可以由人工来实现,比如在工控电脑中人工导入CNC程序,加工数量等等。也可以使用上层MES 软件远程下载各种参数。所以架构变成下图:

这种主从架构的系统是自动系统常见,生产的流程控制在控制器中完成,CNC 与机械臂接受主控制器的服务调用,并且向主控制器提供状态信息。CNC和机械臂内部有各自的程序,由控制器下载,或者其它计算机(例如CNC 编程工作站)下载程序。

如果CNC和机械臂带有AAS之后,控制器的程序与CNC和机械臂的厂商型号无关。因为每个厂商的硬件产品的AAS具有一样的模型,采取统一的访问协议。而在目前,CNC控制器和机械臂控制器协议五花八门,熟悉厂商的专有协议和参数花费了大量的时间。为了适配机械臂和CNC 的现场总线接口卡和API 驱动花费许多钱。这就是AAS给系统集成上带来的直接好处。

说句题外话,在许多场合自动化系统的新技术并没有给最终用户(CNC加工厂)带来多少直接的价值,而是节省了系统集成上的开发成本,当然开发成本的下降会传导给最终用户。

分布式AAS 架构

除了主从架构之外,AAS也可以采取分布式控制方式,比如上面的CNC加工单元可以改为下面的方法:

这种流程是分布式串行方式的

1 通知机械臂取原材料,装置到CNC操作工作台。

2 机械臂通知CNC 开始加工。

3 CNC 通知机械臂取走加工好的铝外壳。

这种结构变的复杂起来了。机械臂AAS要与CNC AAS之间实现通信。Robot AAS 通知CNC AAS “嘿!哥们加工吧”,当CNC加工完成后,CNC AAS 告诉Robot AAS “老伙计,来取走吧”。

那么,CNC和机械臂中的程序如何下传呢?显然有两种方式:

1 控制器下载程序到机械臂,机械臂下载到CNC

2 由控制器通过AAS 通信直接下载到两个AAS中。

显然,第一种方式比较简单,设备制造商根据自己的设备的特性和提供的服务,构建好AAS,就可以实现上层软件对设备的控制。它不需要知道前后工序的设备的状况,也不需要与左邻右舍之间的协同操作,一切看上面的意思就好了。但是分布式AAS 网络在多单元协同的生产线上也是常见的一种结构。比如在罐装流水线上饮料贴不同的标签,自动搬运小车与生产单元的对接等场合。分布式协作网更加容易编程和设备布局。

AAS 的两种通信方式

由此看来,AAS 具有两种通信方法:

垂直通信:上层软件与AAS 之间的通信协议,他们可以是OPC UA 协议,HTTP协议等等。

水平通信:AAS 与AAS 之间的通信协议,在Industry 4.0 Platform 中称为 I4.0 语言。

AAS 部署的位置

AAS 是资产的管理壳,所谓资产,是一个广泛的对象。可以是对企业有价值的任何事物。具体地讲,可以是现场设备例如PLC 伺服驱动器,传感器,也可以是MES,ERP软件,或者是设备中的主控制器。理论上讲,每个物件都可以加一个AAS。

在数字化制造系统的构建过程中,我们是将所有的物理设备和软件都构建一个AAS呢?还是选择性地构建AAS呢?着有一个权衡的问题。实现一个AAS需要额外的运算能力,同时也增加了初期工程设计的工作量。

比如,在一台CNC 机床的内部可能由一台基于Windows 的主控制器,还有若干台PLC ,伺服电机,传感器,执行机构组成。CNC内部的控制设备PLC 等就不必实现AAS,而是使用传统的现场总线和控制协议来实现数据通信。AAS 需要通过传统的现场控制总线来实现与内部资产的数据交换。

当然,工程设计过程中可以将某些具有AAS 的部件构成一个生产单元。每个设备和组件都具有AAS 。

如此一来,带有AAS 的设备的通信更加灵活,也更加复杂。上一层的AAS 可以调用下一层的AAS的SubModule.。

每一个AAS既是服务的提供者,又是服务的请求者。

I4.0 语言

在I4.0 的观点下, 水平协议称为I4.0 语言,符合VDI/VDE 2193标准。它是一种基于消息的通信协议上构建的(例如MQTT协议)。采用了JSON 格式。

AAS之间通过消息通信。

目前从i4,0语言的规范只有MQTT协议。网络的分层结构如下图所示。

I4.0 语言与OPCUA 的SUB/PUB 协议不兼容,我并不清楚是否能够使用OPCUA 的SUB/PUB协议来传输I4.0 语言?基于MQTT的协议是非实时性的。在现场控制领域,采用OPC UA SUB/PUB 协议作为现场控制总线是一个发展方向。但是如何与AAS 水平通信相结合是一个值得研究的。

管理壳(AAS)的软件架构

在前面的博文中我已经提到,AAS可以分为AAS As File,静态参数AAS,可编程AAS(proAAS)和动态AAS。AAS file 是作为工程设计过程中使用的AAS,而其它AAS 是嵌入在设备之中的。

静态AAS

静态的AAS 相对比较简单,在内部有一个垂直的协议栈(AAS Stack)和一个AAS 模型构成。这与OPC UA 有类似之处。实际上能够利用OPC UA 信息模型来构建AAS 模型,并且使用OPC UA 协议进行访问。

主动AAS

主动AAS 的网络协议相对复杂一点:

1 能够访问其它AAS 的submodules。

主动AAS 的节点中既是服务提供者,又是服务请求者。在OPCUA 的观点下,他们既是OPCUA server 又是OPCUA Client,

2 能够调用其它AAS 的服务

3 能够根据其它AAS发来的服务请求做出算法的调整。

这部分功能对应了AAS 内部的算法,而这些算法并不是设备控制程序的一部分,而是额外的程序(他们是原来主控设备程序的一部分,完成工业优化,调度和参数配置等等)。这部分软件由谁来编写,是设备提供商,还上系统集成商?使用什么语言来编写?都是值得探讨的问题。

于是,AAS 内部的程序为下面的样子。

AAS被分成了两部分,一部分是静态AAS模型,另一部分是动态AAS,响应服务的请求。

更细致一些分解,AAS 的软件架构如下。

更复杂的场景

实际的生产场景是及其复杂的,就拿上面的CNC加工单元为例,实际的场景还需要原材料和产品的托盘,机械臂需要通过图像识别设备或者相互交互的方法(比如RFID) 来确定工件放置的位置。为了相互交互,托盘需要带有AAS壳。更进一步地,为了抓取部件,需要有原材料的几何形状等信息,这就需要原材料的AAS(静态AAS),如果是该原材料涉及外部采购或者内部粗加工出来,也需要原材料的分类编号的技术规格。在理想的状态下,生产过程中涉及的所有设备和材料都需要数字化模型(也就是所谓管理壳)。

所有的技术改进都是为了提高生产效率,降低生产成本,提高产品质量。如果仅仅在车间中安装了机械臂和CNC ,那么托盘的上下料,搬运,供应链外部采购。如果这些工作依然依靠人力来完成的化,相比于投入而言,生产效率提升的不多了。因此企业没有意愿来采纳数字化技术改造生产线。

为了实现供应商之间的AAS 通信,需要对术语,属性,指标标准化。这就需要导入Ecl@ss 字典服务器。

共识

从目前I4.0 的发展来看,I4.0 并没有发展更多新的IT技术,关键是建立各种信息模型,并且建立和推进语言的标准化。技术实现并不困难,整个产业达成共识,实现互联互通是实现I4.0愿景的关键所在。标准化是一个十分艰巨和冗长的过程,因为寻找共识,处理好竞争对手之间的利益冲突,甚至国际协调需要花费很长的时间。在推广过程中会出现”标准僵化“现象,用户要等标准普遍接受时才会采纳。但是每个人都在等待其它人的进展而止步不前的时候,时间被浪费了。

因此,必须找到克服标准僵化现象的方法,比如在发展的初期,采用部分标准化的内容,如何能让制造业在局部范围内获益。利用标准化的优势开发新的商业模式,开发者得到商业利益。这些问题是工程师和管理部门值得思考的。这不仅是技术问题,也是社会和商业问题。

结束语

工业4.0 管理壳是一种全新的数字制造方式,概念很新。它是以德国为主的国外机构提出的未来数字化制造的愿景图,他们要解决的问题和我们们面临的问题不经相同,语言和文化背景也不同。所以许多概念和理念我们并不十分理解,面对我们的现状,可以创新的机会也很多。不必东施效颦。

工业4.0 的所有努力是为了实现更短的创新周期,更加个性化的产品,更柔性化地生产。经常被提到汽车上提供非常多的颜色和内饰配置。产线需要根据生产的产品频繁地做出调整。如果生产线是为单一产品而设置的专用生产线。比如只生产一种颜色的福特车。工业4.0 并没有发挥多少优势。人工智能技术的导入,控制算法的优化等等应该也不是工业4.0 要解决的问题。这是经常被人们误解的问题。

本人写的博文存在许多理解的偏差。仅供大家参考,并且共同探讨。