新闻  |   论坛  |   博客  |   在线研讨会
MES/MOM的未来:低代码与模型驱动(2)
数据派THU | 2021-05-16 17:12:20    阅读:356   发布文章

05 面向业务领域建模

我们的确需要功能强大的通用建模工具,用于去开发应用系统。同时,我们也需要面向不同领域的一系列更简洁、更易用的专用建模工具,这些工具可以提供给不同的领域工程师使用,更高效的开发和维护应用系统,而不是IT工程师。

那么什么是专用建模工具?对于MES/MOM系统来说,系统需要提供哪些领域相关的建模能力?我们举个实际的例子。如下图,对于一个高度柔性自动化的数字孪生智能工厂,我们对生产排程、仓储物流、质量监控、设备监控、设备运维等进行建模。

17.jpg

图 基于模型定义高度柔性自动化的数字孪生智能工厂

建模包括两个方面:静态的部分和动态的部分。

结构建模通常是静态的,用于映射工厂的对象和结构关系,例如组织结构、班组/工段、车间布局、工位和连接关系、工位配备的资源,如设备、人力、工具工装,仓库、存储分区、货位结构、车间缓存区、物流配送点、物流设备/容器、配送路线等。

行为建模通常是动态的,用于定义系统的行为,包括数据处理、分析、预测、优化和控制等,例如:用户权限规则、日历/资源产能配置、生产排程和调度策略、仓储上/下架策略、物流拉动/配送规则、物流拥塞控制规则、质量预警规则、设备预防性维护策等。

通常需要提供一系列建模工具,分别提供给不同角色的业务人员使用,当工厂的生产布局、工艺流程、组织架构、生产设备、物流路线等发生变化时,主要由这些业务工程师负责对相关的模型进行调整,调整之后不需要生成代码立刻生效,不需要交给程序员去修改代码。

18.jpg

图 面向业务工程师的建模能力

19.jpg

图 生产监控图形化布局设计

20.jpg

图 设备联网建模工具

通过这些建模工具,实际上MES/MOM系统面向业务工程师开放了某种业务领域的建模能力,或者提供了一种面向领域,更加图形化、简单和易于使用的用户界面,或提供了一系列面向领域的建模语言(DSMLs,Domain-Specific Modeling Languages),用来帮助业务人员更高效地创建系统可动态解析的模型。

需要说明的是:虽然提供了面向不同业务领域的建模工具,但是这些建模工具所定义的模型不是彼此独立的,而是互相关联的,大家共同创建和持续维护和优化整个工厂模型。例如,物流模型配送点通常会连接到车间布局中的工位,生产工艺、生产计划也需要与生产资源相匹配。

系统提供通用建模能力当然是必要的,因为通用,所以更复杂,有更高的门槛,这些通用建模工具通常应该面向IT工程师。业务人员并不需要学习一种强大的、且通用的建模语言,而只需要掌握与各自业务相关的建模工具,熟悉相关的概念和建模方法就可以,这极大降低了系统使用的门槛。21.jpg

图 同时提供面向IT和业务的建模工具

06 分层扩展的架构

当然有好的架构还不够,有远见的MES厂商必须注重产品的标准化、实现分层扩展、打造合作伙伴生态,否则将很难做大规模。对于MES和MOM来说,下图是建议的分层的扩展方式。

22.jpg图 MES/MOM更好的拆分方式是分层

技术平台可以解决架构和技术问题,屏蔽技术细节和复杂性,并提供低代码开发的相关能力,提高整个系统的扩展性和灵活性。

MES/MOM产品平台解决提供覆盖制造运营全业务流程的共性模块,从而最大限度实现重用,满足共性需求,满足跨组织的协同要求,封装内部的复杂性。

行业扩展满足特定行业的扩展,例如提供各个行业层的扩展,实现对细分领域的深耕,从而更好为细分领域客户创造价值。

客户扩展是为单个客户而开发的,满足单个客户的共性需求。

其中,第1、2层应该由业界有实力的公司研发,需要很大的投入。第3、4层可以由具有领域Know How和商业资源的集成服务商、实施服务商承担,这样可以很好分工,发挥各自优势,建立合作伙伴生态。

23.jpg

图  MES/MOM产品线业务范围、知识产权范围

这里所说的分层扩展并不仅限于基于模型的扩展,系统可提供快速模块化选配能力,包括开发新的插件,采用层次化、模块化、可插拔的体系架构,可通过现有模块的选配、替换和扩展开发提供快速满足需求的能力,而且在需求调整后可灵活调整。

07 突破技术方面的限制

基于运行时模型驱动(Runtime Model-Driven)的MES/MOM系统架构显然具有很高的技术门槛,这种能力一旦建立,将是难以被复制和模仿的,将形成独特的竞争力,这些挑战主要包括:

首先,不但提供通用建模能力,还需要提供领域建模能力,这需要一套元建模(Metamodeling)设施,可以用来实现模型的持久化、定义建模工具、模型解释器等,对这方面感兴趣的朋友可以去了解一下MOF元建模框架的四层架构,分别是:元元模型层(M3)、元模型层(M2)、模型层(M1)、运行时(M0)。

另一个挑战是性能,系统可以在运行时修改模型,模型改变后系统的行为随之动态改变,可以显著提高MES产品应对需求变化的能力。然而,这种方法需要在运行时动态读取和解释模型,这导致系统的性能下降,使用多级缓存系统优化系统性能,减少数据库访问次数,可以优化系统的运行效率。

24.jpg

图 支持Web及运行时模型驱动的多级缓存系统

笔者对性能进行了测试,系统启动一段时间后,元数据加载到缓存系统后,累计命中率可超过95%。三级缓存系统将运行时间优化为没有添加任何缓存运行时间的1.08%!由此证明了运行时模型驱动的MES系统,多级缓存系统在性能优化方面的巨大威力,系统的整体运行性能接近硬编码的MES系统,但系统的灵活性和扩展性却与硬编码的系统有了巨大的提升。

其中的一个难点是,如何对程序员屏蔽多级缓存系统的复杂性,将缓存系统的复杂性必须封装在底层框架,而不需要MES产品开发人员、二次开发人员面向缓存系统编程,这就需要一套支持多级缓存机制的元数据驱动的对象关系映射框架(Metadata-Driven ORM-Mapping Framework)。这就好像你开车并不需要关注汽车的转向系统、动力系统、刹车系统等汽车的内部结构和原理。 

25.jpg

图 对程序员屏蔽多级缓存系统的复杂性

另一个难点是如何实现模型在不同环境中的同步,通常建模在开发环境中进行,需要将模型同步到测试环境,通过测试以后,将模型同步到生产环境。考虑到系统的复杂性,通常建模是一个多人并行开发的环境,需要解决多人建模的模型合并问题。为此,可能需要定义通用模型描述语言,可以用于在不同环境中录制(类似VBA)、传递并重建模型。

这对于绝大多数MES厂商来说,存在着较高的技术壁垒,这正是工业软件的成功难以复制、没法弯道超车的原因吧。

08 运行时模型驱动代表未来

目前中国的MES市场正处于群雄并起,鱼龙混杂的竞争阶段,市场集中度并不高。笔者认为未来5年,将有90%的MES厂商退出历史舞台,主流MES厂商将集中到5到10家。随着部分MES厂商做大规模并上市,形成主流厂商品牌效应,业务会迅速集中到这些主流MES厂商,会加速其他MES厂商的退出。

未来几年国内MES软件市场的竞争将越演越烈,笔者认为,基于运行时模型驱动的架构的MES/MOM系统将更具竞争力,因为面向业务领域的建模是让业务人员低门槛参与MES/MOM系统开发和运维几乎唯一的方法。虽然这条道路上充满了荆棘,困难重重。

09 总结

低代码平台背后的实现技术正是模型驱动,使用模型可以提高抽象层次、降低软件的复杂性,大幅提升系统的开发效率。

运行时模型驱动(Run-time Model-Driven)架构可以更加有利于MES/MOM的开发和运维。

我们的确需要功能强大的通用建模工具,用于去开发应用系统。同时,我们也需要面向不同领域的一系列更简洁、更易用的专用建模工具。

当然有好的架构还不够,有远见的MES厂商必须注重产品的标准化、实现分层扩展、打造合作伙伴生态,否则将很难做大规模。

基于运行时模型驱动(Runtime Model-Driven)的MES/MOM系统架构具有很高的技术门槛,这种能力一旦建立,将是难以被复制和模仿的。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客