数据中台驱动下的工业软件集成

产品推荐:阿里云物联网开发者工具(IoT Studio),立刻免费体验吧!  

一、案例说起
先来讲一个真实的案例。客户A是一家典型的位于浙江省的大中型民营机械制造企业,年产值20亿的规模。近15年来,陆续上线ERP,CRM,SCM,SRM,WMS,PLM等工业企业应用软件。此外,在几条特定的生产线上还部署了因下游厂商强制要求上线的编码系统、质量检测系统、SPC、质量追溯系统等。如果加上OA、考勤系统、门禁系统等管理系统,累计已达10余个。这些软件分别由不同时期的IT部负责选型并引入,软件质量参差不齐,缺乏总体规划,系统之间交互性差。目前,多数软件之间需要通过用人工导入导出的方式进行协同工作。
最近IT部开始调研和选型MES系统。MES,即制造执行系统,属于生产制造类软件,也是企业生命周期中最为重要的活动。首先,MES需要从PLM中获取BOM信息作为基础数据,并向PLM反馈生产BOM和实际工艺线路。然后,在生产开始前MES需要获取ERP的订单和初步计划,即排程到天的计划。生产完成后,MES应向ERP输出报工信息。在生产过程中,MES向现场控制系统发送生产指令,生产完成后自动获取设备状态和参数,与此同时,MES还要和WMS进行交互,完成原料仓、线边仓和成品仓的出入库管理。

数据中台驱动下的工业软件集成

图 1 MES和其他系统的交互



在了解MES的协同功能后,IT部这才发现系统对接会存在很大问题。而且未来持续上线新的系统时,对接工作量会呈现指数级增长。
二、企业痛点
这在大中型离散制造企业中,并不是一个孤案。往往是上的系统越多,信息孤岛越多,互联的系统越多,系统的协同能力越弱。如何高效的集成异构工业数据?已经成为当前大中型离散制造型企业信息化建设过程中一个无法回避的痛点问题。对此,我们主要归纳为以下几点:

  • 信息化系统数据交互复杂度高:ERP、WMS、PLM、MES需要通过API和共享数据库相互通信;
  • 信息化系统基础数据语义多样化:各种系统的BOM、工厂和工艺的定义彼此独立;
  • 信息化系统升级维护难度大:对外系统扩展性差,内部耦合度高。

从技术上来看,针对上述痛点的解决方案应至少包含以下几点内容:

  • 如何有效简化既有系统的对接;
  • 如何有效提高云化系统的对接;
  • 如何实现工厂数据标准化建模。

三、技术对策
首先,我们来看第一个问题,即“如何有效简化既有系统的对接?”
因为历史原因,企业信息化建设过程中往往会重视单个系统的整体功能,而轻视系统之间的协同。此外,信息化建设过程周期时间长,缺乏总体规划,软件系统集成方式大都采用上线一个新系统,对接一批老系统,这使得企业数据交互复杂度日益增长。
如果有N个系统,相互通讯则需要搭建N(N-1)条链路。最为直观的简化方式是通过总线通讯,各个系统均和总线相连,则N个系统的通信总链路减少到2N条。显然O(2N)〈〈 O(N(N-1)),通过总线的方式能极大改善通讯链路的复杂度。
然而,工业企业信息总线的建设难度大,费用高,可靠性差。可以想象,一旦费尽周折建成企业信息总线,总线的可靠性将成为极为重要的性能指标。企业迫切希望改善信息通信的复杂度,更希望有一整套稳定可靠的解决方案或产品。
幸运的是,我们发现在阿里云物联网应用托管服务已经提供了数据总线[1](以下简称,阿里云数据总线)这样一种服务。而这种服务可以很好的应用到工业企业中,有效的解决异构系统的数据通信问题,而且不用担心昂贵的费用和系统的可靠性。
阿里云数据总线解决的是“托管应用之间的数据如何流通”。
基本流程是,ISV设计满足业务交互数据模型,其形式和数据库中的表结构或者类属性类似。ISV完成设计后,将数据模型提交数据模型管理员进行管理和审核,同时实行版本和迭代控制。目前全部由数据模型管理员(小二)在后台录入,未来会引入审核机制。在数据模型进入数据模型列表后,ISV可在应用配置中添加数据模型,并声明数据操作权限,如“增 | 删 | 改 | 查 | 订阅”,这个步骤也称为应用声明。此后,应用可通过平台提供的SDK,开发应用集成的API,如新增数据、查询数据、删除数据、修改数据,获取文件上传地址和获取文件下载地址,此外,应用还可以通过HTTP2方式,订阅数据的变更消息(新增、删除、修改)。


数据中台驱动下的工业软件集成

图 2 数据总线



考虑到企业当前诸多系统仍为本地化部署,或者仅仅是云化系统,并未实现应用托管。这种场景下如何接入阿里云数据总线?一个简单可行的方式是实现一个适配器,将即有系统API封装后,实现应用开发所需“增删改查和订阅”的标准API,并将适配器托管到物联网平台,最终实现即有系统通过数据总线通讯。
接下来,我们继续考虑“如何有效提高云化系统的对接?”
传统的工业软件需要创新,但绝不是单纯的将软件搬到云端,而是在云化过程中将传统软件功能解耦,构建新型的工业微服务和微服务池,并以此推出工业APP,面向具体应用场景、不限时空的的工业服务。

数据中台驱动下的工业软件集成

图 3 工业软件从传统到创新,来源:《机·智》[2]

阿里云物联网应用托管服务提供的服务总线[3](以下简称阿里云服务总线),为我们提供了服务交互的有效工具。服务提供方和服务依赖方通过服务总线进行接口调用和事件订阅。

数据中台驱动下的工业软件集成

图 4 服务总线


阿里云服务总线的基本流程是,ISV或行业标准化组织在应用开发和实践中定义服务模型,服务模型的形式和接口类(抽象类)类似,一个服务模型包含多个接口,每个接口包含请求内容和返回参数。ISV在完成服务模型设计后,类似接口类实现过程,提交平台。目前,每一个服务模型都是由行业小二在后台制定并发布,服务模型是受管控的。服务模型经过调试和集成后,可实现服务的调用。
一方面工业软件不断微服务化,沉淀的知识将以标准的服务形式提供,而服务总线则是这种实施路径最为重要的技术支撑。
最后,我们来讨论第三个问题,“如何实现工厂数据标准化建模?”
应用软件互联互通的基础必然是行业标准。我们注意到,阿里巴巴集团依托云板块、新零售、天猫、钉钉、菜鸟、蚂蚁等阿里巴巴经济体丰富的商业场景,以标准与产业紧密结合为己任,于2017年6月联合多家IoT产业链合作伙伴共同成立ICA事实标准联盟(IoT Connectivity Alliance)。[4]其中,智能制造是ICA五大应用场景之一。目前,在ICA数据标准平台中已有不少物模板,以及基本资源,如基本属性、服务和事件。
为满足数据总线和服务总线的基础性功能,丰富的物模板和基本资源将成为重要的保障。
同时,工厂模型的标准化同样必不可少,目前阿里云数字工厂平台[5]已经正式对外发布,使得数字工厂的建模成为可能。其中,工厂建模、工艺设计以及元数据管理值得关注。
工厂建模实现了工厂、车间、产线、加工中心的建模,实现了企业从集团到设备映射关系的标准化模型。工艺设计实现了工艺路径、工序、工艺步骤的建模,实现了企业生产过程的标准化建模。元数据管理实现了人员、物料组、物料类型、物料、设备类型、设备型号和生产设备等元主数据的标准化建模。正因为阿里云数字工厂平台具备了工厂建模、工艺设计和元数据管理等功能,使得研发设计、经营管理、生产制造和运维服务类软件能够基于统一平台和一致性的基础数据进行协同。
因此,工厂数据标准化建模一方面依赖行业标准,另一方面也依赖于能够实现标准的平台能力。
服务于工业企业的数据中台究竟是什么样子,恐怕很少有人能够阐述清楚。但数据总线、服务总线和标准模型的确是构成数据中台必不少的核心三元组。从效果看,数据中台应支持企业内部异构工业软件、数据和服务的互联互通,即企业内部垂直集成。然后,通过数据中台打通上下游产业链,实现企业之间的水平集成。最终,实现端到端的集成。这也完全符合工业互联网的建设路径。


数据中台驱动下的工业软件集成

图 5 数据中台核心三元组



四、只是开始
从我们博拉科技在调研制造业企业的过程中发现,IT从支持业务、匹配业务逐渐成为领导业务、与业务互动。因此,IT在驱动业务模式的变革过程中,将不断出现数据和智能驱动的企业。而数据中台正是当前工业软件从“业务运行”到“创新应用”这个显著变化中起到基础性的支撑作用。
在数据中台的支撑下,创新应用不再是单点打穿,而是多点集成,如需要全域数据支撑的智能排程应用,关联原材料、工艺、设备和检验结果的质量溯源应用,以及结合供应链、在制品、成品的库存优化应用等等。
企业信息化集成之路还很漫长,受制于标准化建模的进程、服务的稳定可靠以及工业企业能够承受的合理价格等多种因素制约,工业数据中台也并非“银弹“,但我们相信工业企业真实的业务需求以及项目的驱动,会不断推进阿里云、ISV以及SI不断追求完美的解决方案,持续助力制造企业转型升级。
这一切才刚刚开始。


参考文献
[1] 数据总线[EB/OL]. https://help.aliyun.com/document_detail/114862.html.
[2] 朱铎先 赵敏. 机·智[M]. 机械工业出版社, 2018.
[3] 服务总线[EB/OL]. https://help.aliyun.com/document_detail/114863.html.
[4] ICA[EB/OL]. https://www.ica-alliance.org.
[5] 数字工厂平台[EB/OL]. https://help.aliyun.com/document_detail/125269.html.

欢迎大家扫码进群领取物联网最新资料以及获取一手直播资讯。

数据中台驱动下的工业软件集成

上一篇:使用文件传输时要避免的误区!


下一篇:害人的VS2008,manifest导致“应用程序配置不正确,应用程序未能启动”