从软件定义制造谈起
人类进入工业生产的历史可以追溯到十八世纪初叶。历经第一次工业革命、第二次工业革命、第三次工业革命,现在已进入到第四次工业革命。人类积累和发展的工业技术涵盖从原料加工、能源开发、转换和配送、各类产品的制造加工工艺、方法和管理等等,可谓是琳琅满目、浩如烟海。特别是进入信息化的时代,计算技术的飞跃发展、无所不在的通信手段、智能化的明确目标,使得工业技术的软件化成为了全世界工业人的一致追求。工业技术的软件化就是用软件作为工具和载体来表达和实现工业技术的种种方面,而软件定义制造则是工业技术软件化的一种有效方式。软件定义制造只不过是用软件作为工具和载体,辅助工业人把多少年积累的制造原理、工艺、方法、诀窍等领域知识以标准和规范的方式表达出来,从而完成工业制造的数字化转型过程的第一阶段。然后以这些原理、工艺、方法和诀窍所构成的领域知识也得以以数字化的手段在更加广泛的范围内得到高效率地推广复用,这是第二个阶段。所以先是由下而上的积累和标准化,然后再通过软件的形态自上而下用计算技术加以实现,这才是完整的软件定义制造的逻辑过程。如果在某些制造领域,其知识尚未总结上升成为该领域公认的标准和规范,软件就无从定义,定义也没有依据。显然,工业领域知识及其标准化是软件定义的基础和依据。
由此可见,软件定义制造技术,不是宣扬软件无所不能,而是告诉大家,我们可以依据工业领域的标准和规范,以软件为手段,通过模块化、结构化的软件工程方法高效、准确地将工业领域多年来积累的工程原理、经验和实践表达出来,为制造技术应用赋能、赋值和赋智,同时提供更多新的能力,包括灵活性、复用性。软件定义制造技术,需要结合其应用场景进行合理的抽象和概括,设计出适合所有应用模式和场景的状态图,然后在此基础上运用结构化、模块化的方法设计出满足功能要求的功能性模块集合和管理软件运行的管理性模块集合,便于按照系统的要求转移状态和执行功能。例如,作为软件定义运动控制的基础和依据的PLCopen运动控制规范,尽管远早于软件定义制造的概念形成之前,但这并不影响该规范沿着软件技术和软件工程的正确方向发展,同时也获得广泛支持和实践检验。再如被包装行业以及为包装服务的许多工业自动化企业一直推崇的PackML规范,从十多年前开始构思和规划发展,到具体设计、开发、实验和不断完善,其主线同样也是依据数十年来包装技术和包装过程运行管理的知识积累,在标准化的基础上实施软件化的。实践证明,PackML为高效、低成本地把不同制造厂生产的机械设备集成为在控制、监控、生产管理等方面均具备极佳一致性的产线,探索出了一条软件定义制造的可行道路。
这两个已通过整个行业的广泛实践验证了的“软件定义制造”案例说明:工业技术软件化的大方向是完全正确的,是一定行得通的。但正确和可行的背后必定由正确的方法论支撑。
揭开PackML成功的秘诀
众所周知PackML是由OMAC(Organization for Machine Automation and Control)主持开发的,但很少有人知道在开发PackML之前,这个以开放模块化进行机械设备自动化控制为宗旨的专业组织也选择过其他方向,走过一些弯路。那么为什么PackML会获得如此巨大的成功呢?
首先PackML的开发具有明确的目的性和驱动力。为了适应市场对包装业务发展的需求,诸如大规模客制化生产、多品种小批量生产,以及包装要求的多样化和个性化,需要开发一种综合性的技术解决方案,尽可能的实现用较少的包装生产线满足多品种的包装要求,同时还具备执行精益生产管理的能力。考虑到业务发展的各种驱动因素,如不断加快的投放市场时间,日益缩短的产品生命周期,包装产品的多样性,快速满足消费者要求,提高包装机械的维护质量,减低成本,削减设备投资,增加灵活性等,PackML开发团队提出了具体的目标:交付时间削减50%,包装线启动时间削减50%,从一种包装转换为另一种包装的转换时间削减50%,材料消耗减少50%,停机时间和检修时间减少50%,提高产出50%,提高平均无故障时间50%,增加包装线的灵活性50%。将以上业务发展驱动因素和包装要求概括为图1所示的矩阵表。
图1 | 业务驱动因素和包装要求矩阵表
其次,PackML是一个经过充分验证的独立的标准。它综合运用了许多适合于包装过程的控制和管理的成熟工业标准。比如在管控架构上运用了IEC 61512(ISA S88)批量控制标准,按企业、工厂、车间的传统结构将包装生产线设置为车间中的流程处理单元。产线由不同功能的设备单元集成,而设备单元又是由设备模块构成,设备模块包含了许多控制模块(详见图2)。按照这样的系统架构贯通从上层的调度管理到底层机械设备的逻辑控制、顺序控制和运动控制以及安全控制,还开创性地定义了PackTag包装用通信标签,用OPC UA实现了机器对机器(M2M)和机器对其上层的HMI、MES等的通信。PackML成功地用软件工程的方法对包装生产过程重新定义,支持了多品种、变批量的柔性自动化高效生产;对机械设备供应商、控制和通信供应商、管理系统供应商和系统集成商提供了可操作的标准化的关系界定;而对最终用户则是以一揽子的方式满足了它们提质增效、降低成本的诉求。
图2 | ISA 88(IEC 61512)的系统架构
第三,PackML提供了完善定义的模式/状态模型,简捷清晰地概括了包装生产过程的所有模式和对应于不同模式下的运行状态。在全自动生产模式下其状态图由17个状态组成,涵盖了包装生产的全部过程,用以对制造设备单元/机械设备的状态进行控制和可视化监控。状态图的语法是用命令(外部命令和网络命令)激活状态去执行某种动作功能,用状态完成(state completed, SC)执行状态转移、进入等待或执行状态。而在维护模式(即半自动模式)下,只需要状态图中的12个状态即能完整描述;清洁模式(即启动模式)下只需11个状态。详见图3。基于统一而且标准的状态图生成标准的控制软件和具一致性的人机界面,可以取得手到擒来的效果。
图3 | PackML完整定义包装过程的生产模式和状态
那么,构成每一个状态下的动作和功能,PackML又是如何定义的呢?这就是PackML成功的另一个秘诀,详见图4。按照状态图编制应用程序可调用处于三个层级中的不同功能块。底层是由PLCopen运动控制规范第一部分所定义的基本功能块集(通常用固件实现),其上是用PLCopen派生功能块的方法定义的对包装过程通用的功能块,如主引擎功能块MasterEngine,轴管理功能块AxisManagement等。这些PackML自定义的功能块是按IEC 61131-3标准调用PLCopen运动控制基本功能块编制程序后,对这些功能性加以封装所得。这一层一般是自动化供应商的工具箱,体现供应商的差异化,而OEM和最终用户都使用经过标准化的功能块。再上一层是OMAC为PackML专门设计的专用功能块,如为切割、密封、罐装、压盖/旋盖等机械设备控制所需的功能块,包括卷取/开卷轴(表面线速度恒定模式)、卷取/开卷轴(扭矩恒定CT模式)、张力松紧调节控制、配准(registration)修正、分度(indexing)、批计数器、数字电子凸轮开关 (PLS)、集合覆盖(Set Override)、精密送料轴(Jog Axis)、短暂同步(flying Syc)、以动态齿轮系数啮合、面向暂停的运动停止命令等。在这一层次可体现特定OEM厂家的智能特性,在其内部标准化;而供应商可以向最终用户提供样板,但也可按要求加以调整。按这三个层级对与控制相关的功能块进行定义,既实现了控制编程语言的标准化,确保了按状态图完成实例化的编程过程中提高工程效率和准确性;又能满足不同厂家对其独有的诀窍进行封装达到保护知识产权的目的。
图4 | PackML按三个层级映射功能块分类
尤其值得称道的是PackML定义了互操作性极佳的PackTag通信标签。PackTag是为包装机械之间(M2M)以及包装机械与上位信息系统(如HMI、MES和ERP等)之间进行数据交换而专门定义的通信标签,它为包装系统的无缝通信提供了一种统一而便捷的途径。在经ISA 88委员会新批准的《ISA 88机械设备和制造单元技术报告》中,PackTag为用于基本状态模型过程元素的数据单元提供了一组统一的命名规则,还为此规定了数据类型、赋值及赋值范围、数据结构等。PackTag有三种类型:命令Tag,用于对设备单元/机械设备的状态实施控制;状态Tag,用于从设备单元/机械设备取得状态信息;管理Tag,用于从设备单元/机械设备取得性能信息。命令和状态标签数据包含机械设备和生产线协调控制所要求的相互间接口数据,或向控制器下装配方/参数的数据。其中命令标签数据向机械设备的控制程序发出命令并通过程序执行,而状态标签数据由控制程序产生和读取。管理标签则包含供上位系统进行机械性能分析所采集的数据,或者供操作人员监控的必要数据。
表1 | PackTag的类型及其数据类型
表1示出PackML的数据类型及其对应的PackTag类型。我们不难看到包装生产线上的各个设备单元/机械设备的模式和状态、报警信息、停机原因(也即OEE的数据)、控制命令和有关控制配方的参数都可以通过定义三种类型的PackTag而方便获得。再对照图5,从设备单元/机械设备的视角去看PackML的状态模型,运用PackTag既可对状态进行控制(命令标签)、对配方及其参数进行控制和设定(命令标签和状态标签),还可以采集不同状态下的有关信息(状态标签)。
图5 | 从设备单元/机械设备的视角看PackML状态模型
PackML的进一步推广和发展
在一次欧洲工业界召开的《用PackML和OPC UA实现智能包装》学术会议上,有人如此评价PackML:“它是一个经过充分验证的独立的标准;它有一个完善定义的模式/状态模型;它提供一个一致性的人机接口;它提供的公用定义通信标签和专业术语是互操作性的坚实基础;其架构具有高度的模块化。”而从事工业互联网服务的公司则高兴地看到PackML为包装生产过程提供关键业绩指标KPI的潜力(如图6所示):机械设备的PLC/工业PC运用PackTag,通过OPC UA将生产信息和参数安全地传输到远程监控的云端;在云端进行分析计算和判断后,生成KPI发布到移动终端的APP,为相关的管理人员和工程技术人员提供即时的服务。
图6 | PackML在包装行业工业互联网的应用中同样潜力无限
以上还是PackML在包装行业的应用推广,而更值得关注的是它运用于其它细分行业的前景和潜力。当前制造企业面临数字化转型,提出任何资产都要集成、任何资产都要在线的目标;在云赋能、大数据、人工智能等领域都面临前所未有的挑战。在这样的情势下,要想低成本、高效率地配置工厂层,真正提高生产率,应该选择什么样的技术路线呢?
这表现为如下几个问题:(1)在许多制造行业中最大也是最直接的挑战是怎么集成制造生产线,使得不论是老系统改造更新还是新系统设计调试和投运,都能快速地摊销其成本并获得盈利。工业自动化业界早已认识到最大的成本来自软件集成(机械装备控制系统的协调集成、与企业业务系统的数据交换集成、与云应用的集成等)。(2)许多制造厂希望提高他们的机械设备的效率,但苦于没有数据;有的制造厂有一些数据,但还不足以运用这些数据实施差异化;还有些已经有了很多数据,但不知如何处理数据。总之,绝大多数制造厂处于没有标准机制的状态,无法支撑他们将所采集的数据按需进行分析。
可以毫不夸张地说,PackML标准所关注和侧重的都是许多其它行业中最终用户的心声。因为OMAC开发PackML的动力正是来自用户和系统集成商在设法将各种机械设备集成为一个协调的系统的过程中,耗费了过多的时间和劳力而效果却不佳这样一个事实。其原因在于不同的设备厂家有不同的编程理念和方法、不同的控制逻辑、不同的通信协议、不同的控制器平台和操作状态,这意味着每台机械设备有不同的操作过程、培训、标准和诊断方法。随着来自不同厂商设备数量的增加,由此形成的复杂性不是按比例增加,而是呈几何级数增加。因此,PackML在开发之初就充分考虑到:将机械部件集成为系统时一定要做到所见即所得的一致性;这样才能为机械部件纵向和横向的集成提供基础,而不用考虑这些部件是哪个厂家制造的,以及用了什么样的控制系统硬件。PackML最终实现了在不同种类和不同厂家的机械设备之间提供高度一致性,并在此基础上建立了机械状态的标准集合和控制功能块的公共集合,为简化控制系统的开发、削减系统集成的工作量、减少培训和操作运行成本提供了可行的条件,从而极大地降低了用户总的消耗和投入。
PackML从不规定在所定义的任意一个机械状态下的机械操作细节,换言之就是,只规定机械设备一共有多少个状态以及由一个状态转移到另一个状态的条件,但不规定每一个状态下的功能性。但是,只要有公共状态的集合和定义好的标准的PackTag标签,就完全可以实现对每一个符合PackML的机械设备的监视和控制。同理,PackML也通过状态机和PackTag标签使数据交换标准化,而不规定具体从哪个机械获得数据又需要送到哪一台机械去,或者将数据送到HMI还是上位的生产管理系统和业务管理系统去。PackML不规定具体的传输方法、信息安全、编码/解码规则,也不规定通信接口和物理介质,这就导致OPC UA、TAP/IP和以太网得以进入并发挥其所长。OPC UA提供安全的通信,承担通信的授权(例如使用PackTag的授权)和数据的封装。OPC UA还提供公共的编码,PackTag可以由OPC UA进行适当的编码和解码。总的说来,OPC UA为在很大程度上简化符合PackML的机械与其它机械的控制器、HMI、企业业务系统和云服务的集成提供了基础,详见图7。结论是:OPC UA可以通过实现PackML的架构和方法,控制和监视任何一类机械装备,从而解决机械装备集成所常见的若干战略性问题。
图7 | OPC UA支撑PackML创建机械设备和外部联接性的架构
综上所述,PackML标准和规范所蕴含的价值远远超越了它为包装生产线解决系统集成问题的初衷。它所开创的理念、策略和方法可以直接推广到所有的目前因集成不同厂家制造的设备而举步维艰的应用场景。不仅可以用于食品和饮料生产、以及其他日用消费品如卫生纸品的生产,甚至对于汽车生产这样高度复杂的场景都可以发挥巨大作用。公平地说,PackML可以推广到任意制造行业解决设备集成问题,而PackML和OPC UA的进一步组合有助于解决所有制造厂在云赋能、大数据、人工智能等领域所面临的战略挑战。充分认识这些经过时间和实践充分验证的技术,将对众多行业降低集成成本、提高生产率,简化数据采集和上云,向数据驱动的智能服务商业模式转型带来无尽的应用潜力,产生难以估量的巨大价值。
(作者:上海工业自动化仪表研究院,PLCopen中国组织 彭瑜)