军工企业基于微服务的工业 APP实践
工业 APP 是将工业技术进行显性化、模型化后形成的面向特定场景的模块化软件,其本质是将工业知识和技术封装为特定软件,是一种包含工业知识的新型软件形态。工业互联网通过大规模连接软件、机器和设备,构建了工业神经系统,而工业 APP 通过封装工业知识和技术,构建了工业大脑,这一新的工业模式将给制造业带来深刻变革。
工业 APP 并不完全是新生事物,是两化深度融合的一种新的形态。近年来,随着工业互联网、云计算、大数据等技术的发展,工业 APP 从传统的单机架构、单体架构,逐渐演进到微服务、云原生架构,目前正处于由传统架构向云原生架构演进的混合阶段。
工业企业内部存在大量异构工业软件、系统及设备,如何让代表工业技术、知识的工业 APP 与底层工具解耦,降低系统耦合度,是工业 APP 开发的难点。通常认为,微服务架构是构建工业互联网平台的构建最佳的 IT 技术手段,算法、模型、知识等要素可以被封装为微服务组件,进而以“搭积木”的方式被调用和编排,实现低门槛、高效率的工业 APP 开发。
本文将首先讨论工业微服务的模型及其编排调度,然后对基于微服务的工业机理模型进行研究,最后将介绍在航空发动机领域的应用实践。
1 工业微服务
1.1 微服务架构
微服务架构最早由 Martin Fowler 与 James Lewis 于 2014年共同提出。微服务架构以单一功能组件为基础,通过模块化组合方式开发软件,实现“松耦合”。每个微服务运行在自己的进程中,使用轻量级通信机制,如 HTTP API,这些服务基于业务能力构建,并能够通过自动化部署机制来独立部署。
与传统整体式架构相比,微服务架构具备两个显著特点:一是应用开发和维护的高度灵活性。每个微服务可以由不同团队运用不同语言和工具进行开发和维护,不互相耦合,而整体式架构下任何修改都有可能牵一发动全身。二是应用运行的去中心化。不同微服务能够分布式运行,微服务间的数据和资源相互隔离,单个微服务的故障将被隔离从而避免整个系统的崩溃。
1.2 工业 APP 和工业微服务
工业微服务是借鉴软件领域的微服务架构风格和技术,将工业领域的机理模型、算法进行封装,以及将传统信息化系统的功能颗粒度进行拆解或集成封装,形成一个个功能单元,支撑工业 APP 的开发和运行。
工业微服务在工业互联网框架体系中位于 PaaS 层,通常称为工业 PaaS。工业 PaaS 层是工业互联网平台最关键的要素之一。
一方面,不同行业、领域存在大量机理模型、工程算法等,这些模型和算法往往较为封闭,如很多古老的 Fortran 程序,难以通过 API 接口被外部系统所调用,也难以进行独立调试、运行和升级,用工业微服务的方式将这些机理算法模型封装起来,形成可通过 API 调用的微服务,从而支持上层工业 APP的开发。图1是一个针对汽车白车身工装设计的工业APP案例,通过工业 APP 封装了夹具设计相关经验、标准和规则,使得设计周期缩短了 80%,节约夹具平均制造成本 30% 以上。
图 1 工业 APP 开发案例
另一方面,企业经过多年的信息化建设,“孤岛”现象比较突出,业务集成开发难度大,无法灵活响应个性化需求。通过采用工业微服务的方式,将工业软件、管理软件、计算程序在接口、数据上进行封装,将系统细分功能集成,形成一系列包含调用逻辑和服务的微服务组件集合,并按照实际需求来支撑上层工业 APP 的开发需求。从而充分利用已有投资成果,又大大降低在业务集成、定制开发等方面的成本。
基于工业微服务模块进行工业 APP 开发,能够接入海量开发者,借助众创众筹等方式共建共享、还能有效发挥云平台资源弹性配置、云化部署运行等优势,又能够利用工业微服务松耦合、灵活调用的特点,克服传统开发模式所面临的独立部署、持续迭代、个性化定制等问题。
1.3 工业微服务模型
图 2 描述了工业微服务组件接口的规范形式。组件接口主要包括数据接口、控制接口、人机交互接口、消息接口和第三方工具接口。
图 2 工业微服务组件的接口形式
(1)数据接口用于组件与外部环境的数据交互,通过数据接口组件可以获得外部数据,并且将组件内部数据传递到外部环境中去。
(2)控制接口用于定义组件与其上下游组件之间的控制逻辑关系,分为前驱控制接口和后继控制接口,前驱控制接口用于接收上游组件的控制信息,后继控制接口用于向下游组件发送控制信息。
(3)人机交互接口提供使用人员与组件的交互接口。
(4)消息接口用于接收外部的消息信息。
(5)第三方工具接口提供访问第三方工具的接口。
1.4 工业微服务逻辑编排
逻辑编排包括执行逻辑和数据流两类。执行逻辑用于记录和表达工程设计过程中的控制关系(先后次序、串行、并行等关系),数据流用于记录和表达微服务组件之间的数据流向、传递及映射关系。
组件之间可以相互组合,实现复杂的业务场景,由于组件具有统一的数据接口形式,因此数据关系的建立表现为组件之间数据接口的数据映射关系。建立数据映射关系可以有两种模式,包括手工映射和动态映射,手工 / 动态建立组件的数据关系如图 3、图 4 所示。
图 3 手工建立组件的数据关系
执行逻辑的定义,描述了微服务组件之间的业务规则,其中图 4 是建立执行关系的一种方式,通过在组件之间建立控制关系节点实现组件的执行方式,这些控制关系节点包含判断、分支、循环、并行等。
图 4 动态建立组件的数据关系
根据业务规则,组件之间可以定义复杂的执行关系,根据业务规则的不同可分为逻辑驱动、数据驱动、时间驱动、消息驱动四种。
2 工业机理模型
2.1 物理对象与机理模型
物理对象是指存在于客观物理世界的工业产品、设备等物理实体及其所处在的物理环境。由于工业软件的发展和成熟,借助 CAx 等计算机辅助技术可以对物理实体对象的各个方面特性进行可视化建模和行为模拟,如结构几何模型、应力分析模型、加工过程模型等。这些数字化模型是对物理实体在客观世界的行为的抽象和封装,是将大量工业技术原理、行业知识、基础工艺、模型机理等通过抽象转化为规则化、模块化的数字表达,从而实现在数字空间中对物理产品的属性和状态(比如形状、运 动、特性等)进行模型化表达。这些反应物理对象属性和行为的数字化模型就是物理对象的机理模型。
图 5 组件的执行关系
从这个角度来理解,工业 APP 的本质就是对物理对象的数字化模型的封装,得到可重复使用的软件化组件。机理模型的建模、复用是开发部署工业 APP 的关键。如图 6 所示。
图6 物理对象的数字化模型
物理对象可视化建模在不同的产品生命周期阶段、不同的产品层次以及不同的专业学科上所用的工具和手段也是不同的。
在研发阶段,需要建立物理对象的需求、功能、架构、设计、仿真等模型。在生产制造阶段需要建立生产作业模型,并通过 CAM、CAPP、MES、ERP 等技术手段建立产品装配、工艺、制造、构型等方面业务模型。
不同的建模要求,也存在多种技术工具、手段支持建模的要求。这些异构工具建立的模型最大的问题在于,各个工具系统都立足与自己的领域定义产品的某个方面的模型信息,缺乏一个全局统一的模型标准体系,这就造成在从业务层面上应该是统一数据、模型表达,但是在实际中被各个异构的工具割裂开来。
2.2 物理对象的几何结构建模
物理对象的几何结构可视化建模目前主要是借助于商用三维 CAD 软件来实现,可视化建模软件如图 7 所示。通过可视化的 CAD 建模软件可以表征物理对象的几何形状、拓扑结构、表面信息及特征语义等。
图 7 三维模型可视化建模
物理对象的三维数字化模型表达了物理实体的结构方面的特征,包括空间尺寸、重量重心、结构约束等。对于封装了这一类模型的工业 APP 来说,最关键的在于如何建立一套统一的模型标准,实现工业 APP 的跨平台执行和流通。从工业 APP 的封装需求出发,物理对象的三维几何结构模型表达标准应该从三个方面来考虑。如图 8 所示。
图 8 三维几何结构模型
(1)静态属性标准:定义了模型的几何位置、材料属性这些静态参数。
(2)过程属性标准:要定义了模型的建模特征以及几何之间的约束信息,如草图、拉伸、旋转、装配约束等。
(3)模型转换工具:将不同 CAD 软件生成的模型文件转换成统一格式的结果文件。
本文在产品模型数据交互规范(Standard for the Exchange of Product Model Data, STEP)的基础上来构建产品几何结构模型。
STEP 提供了一种不依赖具体软件工具就可以实现产品数据交换与共享的中性机制。它不仅适合于数据交换,也适合于作为执行和分享产品数据库和存档基础。同时 STEP 标准的数据表达语言 EXPRESS 具有可扩充性,可以根据实际使用过程中的要求扩展数据模型,增加数据、语法和实体的定义。STEP 的应用可显著提高产品生命周期内的异构信息交换效率。
在用 STEP 描述的实体、类型、功能、规则和参照的基础上,可以对产品数据模型进行有效描述,不仅可以描述产品集合形状等数据的表达方法,如边界表示法 B-rep,CSG表示法,特征造型法等;还支持对公差、材料、表面粗糙度等非集合信息数据的表达,STEP 242 在基于模型的三维工程中的应用如图 9 所示。
图 9 STEP 242 在基于模型的三维工程中的应用
STEP 标准也是个不断演进的标准,特别是基于 STEP AP 203 和 STEP AP 214 的基础上合并升级的 AP242(管理基于模型的 3D 工程)会兼容更多的数据,以及基于模型的开发(MBD)、PDM 集成和 PDM 服务、长期归档(LTA)、供应链整合、复合材料工程设计数据交换、先进的产品制造信息(PMI),机电一体化以及需求管理,基于 STEP 的三维几何表达如图 10 所示。
图 10 基于 STEP 的三维几何表达
基于STEP的三维模型可视化环境是完全基于云的架构,采用 B/S 模式,用户可以通过各种终端(PC、手机、平板)在网络环境下打开浏览器使用,基于 STEP 的云端三维模型可视化环境如图 11 所示。
图 11 基于 STEP 的云端三维模型可视化环境
3 航空零部件产品一体化设计 / 制造场景的工业APP 实践
针对航空发动机关键零部件机构复杂、精度要求高、材料难加工、易变形、研制周期长等制造特点,在工业互联网框架下建立了复杂曲面数控加工人机理模型库、零部件特种加工机理模型库、复杂曲面自适应加工人机理模型库等机理模型微服务组件库,并尝试开展了工业 APP 建设工作。截至目前,针对机匣、叶片两类产品场景,在实际加工中得到应用验证。针对典型航空发动机机匣、叶片等零件,将加工周期缩短为原来的 30%。取得了很好的经济效益,有力的保障了重点型号的推进任务。
4 结论
工业微服务本质是工业知识与经验的组件化,是 API 形态的工业知识。工业微服务架构为工业互联网平台的知识封装和复用提供了最佳的 IT 技术手段,算法、模型、知识等模块化组件能够以 API 方式对外提供服务,以“搭积木”的方式被调用和编排,实现工业 APP 的快速开发和迭代模式,必将引发工业软件开发模式的变革,促进工业互联网创新生态的形成。工业微服务能力、以及基于微服务架构的机理模型是工业互联网 PaaS 平台的核心要素和技术资产,已成为当前工业互联网平台发展的重要任务。
作者:中国航发成都发动机有限公司 张连进