在工业4.0 和开放自动化的论述中,几乎都提到了eCl@ss 。它到底是什么,为什么如此重要,如何将eCl@ss 结合到具体的应用中去?本博文谈谈自己的体会。
首先我提出一个可能被拍砖的看法。当下的自动化存在一个令人沮丧的现实,自动化行业的工程师和公司不遗余力地实现各行各业的自动化,但是他们自己的工作却仍然停留在手工劳动的阶段。尽管他们拥有许多的CAX软件,组态工具。但是这些工具软件还只是计算机辅助软件,大量的日常工作都还是依靠工程师的键盘操作和体力劳动完成的。加班,出差成为自动化工程师的家常便饭。人为错误屡见不鲜,造成工作效率低下。大量自动化系统公司仍然是以人力资源为核心竞争能力的手工作坊阶段。
有一些人经常会问我,使用开放自动化系统,使用OPC UA ,使用工业4.0 管理壳是否能够提升产线的效率,产品的质量?或者降低成本?我的回答经常使他们失望的。那为什么要吃力不讨好地推广开放自动系统,工业4.0管理壳呢?主要是提升自动化工程师和自动化工程公司的工作效率,降低构建,维护自动化系统的成本。开放自动化系统,工业4.0管理壳是自动化人为解放自己而战。
只有了解谁是受益者,才能够决定为谁而设计,解决谁的问题。这一点十分重要。
如果你第一次接触eCl@ss,上eCl@ss的网站上去看白皮书,技术规格,你也许会与我一样云里雾里。eCl@ss被称为工业4.0 参考架构的语义学,工业4.0的元语言等等。一堆高大上的描述,有一种不明觉厉的感觉。
我更喜欢eCl@ss比做数字化时代的工程设计手册,或者是一部专业字典,比如以前有计算机字典,化工字典等等,包含了行业的概念,名词术语等内容。
eCl@ss 拥有40800个产品类别和17000多个属性,看上去很像以前的工程设计手册,当设计过程中需要了解某个产品或者物料的技术规格时可以查阅某些技术数据,比如查阅电机的功率,安装孔几何尺寸等数据。过去的老工程师面前,几乎每个设计桌上有一本厚厚的设计手册,青年工程师进工厂,第一个要学习的技能就是老师傅教你如何查手册。
具体地讲,eCl@ss 本质上做两件事:
为了实现设备的分类,ECLASS 采纳了产品和服务的编码UNSPSC(ISO 6523)方案。采用八位编码系统和四级分类层次结构,四个层次分别是段(segment),主群(main group),群(group)和子群(sub group)。
与此同时,对eCl@ss中的项目进行了编码,编码方案采用了IRDI 的全称是国际注册数据标识(International RegistrationData Identifier).它基于 ISO/IEC 11179-6, ISO 29002, 和 ISO 6532国际标准。每一个注册的机构都有一个唯一的编号。eCl@ss的编号是0173,它们称为 ICD (International Code Designator) 标识符。
值得注意的是,eCl@ss 对所有的项目都有一个编码。比如每个设备,属性,度量单位,术语等等都有一个IRDI编码。
为了便于查阅,eCl@ss也提供了关键字。
分类的目的是为了将事物分成各种类(Class),它与面向对象程序设计中的“类Class”具有相同的概念:一个类就是一个类别!
既然是分类,就存在分类的颗粒度的问题,例如一个电阻器有功率,精度,阻值,温度系数分装形式等多个参数。可以按照功率,精度进行分类。如果按阻值分类,那么类别就太多了。如果分类过粗,对工程设计的帮助不大,但是分类过细,可能有太复杂了。属性的数量是同样的问题。
eCl@ss定义的是类及其该类的属性。工程设计文档确定事物的eCl@ss 类别及其属性。某些属性在eCl@ss中是确定的(例如功率,精度,温度系数),某些属性是要在实例中进一步确定的(例如阻值,分装形式)。
工程设计软件根据事物的eCl@ss类别建立事物的信息模型(实例),例如填写制造商名称,属性的值等等。
值得注意的是,eCl@ss 并不是具体厂商产品的数据表(Datasheet),而是某一类产品的具有共性的属性。具体的产品是产品类(Class)的实例(Instance)。同样地,eCl@ss 的IRDI并不能直接用于物料表(BOM)中的ID,只能作为BOM 表中的产品属性的注解。
人类是通过事物的特征对事物分类的。根据特征确定事物属于哪一类。如果特征被描述的含糊不清,那么判断事物的类型就容易产生奇异。因此,eCl@ss 中包括了属性的标准化。
有人抱怨eCl@ss 采用UNSPSC 的四段分类不够。其实,物料的分类不仅仅是依靠UNSPSC编码实现的。相同UNSPSC编码的物料还能够不同的属性来加以区分。如果考虑到属性的区别, eClass 可以包含无数的物料。前面提到eCl@ss 的IRDI并不能物料表(BOM)中的ID。后者是企业内部指定的。可以根据A公司BOM 表中某一种物料eCl@ss 的IRID和属性值,可以轻松查询到B 公司库存数据库中是否具有该物料。尽管两个公司的ID 编码方式也许是不同的。
当一个物件的eCl@ss 类型确定后,它的属性和值将无差错,无歧义地被描述。就能够从实体模型的信息中读取正确的值。
如果将eCl@ss 的属性嵌入到其它的模型中之后,应用程序将根据eCl@ss 的属性读取信息模型中的值。例如,我们将一台设备的eCl@ss 属性嵌入到该设备的AAS 管理壳中。应用软件就能够先读取IRDI,根据eCl@ss 的IRDI 从AAS 中读取相应的属性,例如功率,温度等等。
eCl@ss被称为工业4.0 时代的语义学。我们大致已经了解了以OPC UA 为基础的信息模型的构建方法,它们规范了信息模型的数据结构和描述方法。但是这些模型中应该包括哪些内容?或者说这些信息模型中的数据是什么含义呢?这是语义学完成的事情,这就好比我们学会了语言的语法,但是我们还需要了解如何表达我们的思想,理解文章的含义呢? 比如在自动化行业,我们如何构建一个电机,或者机械臂的信息模型,包含多少必要的属性?如果没有共识,不同的公司,不同的软件构建的信息模型是类似的,也可能是大致相似,但是存在着差异和二义性。这对于人类而言也许是可以容忍的,但是对于机器之间的信息沟通确实困难的。
对与人类语言而言,语义是通过字典来规范的。在编写文章时,为了准确地表达,我们需要查阅字典中的相关条款。同样地,当我们阅读别人的文章时,为了准确地理解别人文章的含义,同样需要查阅字典。eCl@ss 本质上是信息交流的”字典“。字典需要一种词汇的分类方法,也需要词汇的解释条款.
举一个例子,当我们要构建一个伺服电机的信息模型时,可以查阅eCl@ss 数据库,获得eCl@ss 中电机的所有属性,将这些属性中添加到信息模型中。就构成了该类电机的信息模型。对于每个电机实体,我们生成一个电机信息模型的实例(Instance) 根据模型中的属性填写相关的内容。模型中的某些数据在eCl@ss中已经确定的,不同的实例中并不改变。比如额定功率,重量,安装尺寸,属性的描述。而有一些数据是会变化的,例如制造厂商,制造日期,颜色等等。
在构建信息模型时,对于不变的属性,我们可以仅提供eCl@ss 的IRDI。使用者可以通过IRDI查询eCl@ss数据库获取相关的数据。
也可以将eCl@ss看作一本工业4.0 时代的字典,有助于理解eCl@ss 的作用。无非是读写文章时,有助于表达准确的含义。eCl@ss 也是出于这个目的而设立的。
eCl@ss 相当于一部工业4.0时代的字典,与传统的设计手册的功效非常相似,在设计信息模型,访问和交换信息模型的实体时,能够确定信息模型包含的属性,计量单位以及确定的属性值。
当你将eCl@ss理解为工程设计手册,那么你对eCl@ss的大多数问题都忽然开朗了。
eCl@ss 中包含的是产品类别的属性定义和一些不变的值,而不是某一个具体的产品属性。在IT技术的观点下,eCl@ss描述的是类(Class),而不是对象(Object)。
构建eCl@ss是不容易的事情,德国人对标准化化具有特殊的癖好。他们乐意共同协助构建eCl@ss,并且愿意通过付费,保证eCl@ss的质量和可持续发展。在我国,需要探索构建类似eCl@ss 数据库的可行方式。
eCl@ss 未来的发展方向是提供更加丰富的标准化物料属性,以满足工业4.0 管理壳建模的需求。有了内容丰富的eCl@ss,构建设备的数字化模型将会变得简单,准确。