张雨东,刘孝保,刘鑫,张嘉祥
(650500 云南省 昆明市 昆明理工大学 机电工程学院)
协同制造是制造业中不可或缺且不断发展的一种制造方式[1-2],其健康有序的发展对我国经济与社会的稳定有着重要的意义。多工序制造过程一般包含众多工序,是一个包含物理、化学等多学科耦合的复杂工艺过程。流程制造产品加工质量受多个工序质量指标影响,每一道工序的质量指标结果都能决定最终的产品质量。各工序之间高效协作、资源信息共享是保证流程制造产品质量的关键,也是实现工业智能制造的基础。由于各工序有着大量的资源信息,因此各工序之间的信息整合、共享、互通以及协作更加困难。所以,在流程制造技术中,工序间的沟通交流、信息共享、协作生产成为制造业中的重点研究内容。
目前,针对面向智能制造特别是流程制造过程的多工序制造问题,相关学者已开展了研究与实践工作。段建国等[3]根据任务性质异同和分级规划原理,建立了面向多工序加工系统的分层可重构工艺规划体系架构,提高了工艺规划的柔性、可扩展性、可重用性及动态适应性;王宁等[4]运用弹性网(Elastic Net)方法构建多工序制造过程质量关系模型,解决了复杂多工序制造过程中的关键质量特性识别问题;孔德洋等[5]引入动态规划方法,建立了基于动态规划的多工序制造过程质量监控的决策模型,减少质量指标之间的误差传播对制造工序质量监控系统中监控点配置决策的影响;刘国良等[6]针对半导体制造过程的多工序质量控制,提出一种协同控制模型,从而改善产品质量,提高设备效能和生产效率;王宁等[7]采用偏最小二乘回归改进Ada-LASSO 方法并融合状态空间思想和 Bootstrap 方法实现多工序过程关键质量特性识别;刘道玉等[8]综合运用了统计过程控制、设备状态诊断、状态空间建模和数模比对等理论和技术,建立了面向多工序制造过程的e-质量控制模式,实现复杂零件的高精度、数字化加工。
上述研究虽然研究了产品的多工序制造加工过程,但是其数据信息都是中心化存储,过程不透明;另外,多个工序之间的协同作业,特别是工序间的协同效率、信息共享、信息交互等方面的研究还存在不足,以至于最终的产品质量达不到要求或者不是最优结果。区块链技术具有不可篡改、分布式、去中心化、可追溯等特点[9-13],其智能合约能按照事先制定的协议规则自动执行[14-15],其共识机制能让多方达成共识,保证网络中所有节点信息的一致性[16],这些都为多工序间存在的协同效率低、工序间的信息共享不充分、过程不透明等问题提供了很好的解决方案。因此,借助区块链技术构建基于区块链的流程制造多工序协同制造模型,提高流程制造过程中各工序协同效率,协调各工序在流程制造过程中的参数配置,为解决流程制造过程中多工序之间的交互提供一种新的方法和技术手段。
在产品的连续加工,多工序制造过程中,各个工序之间或因为工序质量,或因为工艺设备,或因为工艺资源而产生一定的联系。一直以来,企业在进行产品多工序加工过程中都是在分析产品生产的众多关联因素的基础上,挖掘影响多工序间协同作业的关键因素。根据产品多工序的生产工艺及生产模式,建立多工序协同加工的模型,实现多工序协同制造。其产品多工序协同加工模型如图1 所示。
图1 产品多工序协同加工模型Fig.1 Product multi-process cooperative machining model
产品多工序加工制造会频繁交叉作业,生产路线错综复杂,其过程业务逻辑复杂、业务种类繁多、数据量大。利用协同制造平台去管理控制多工序加工制造过程,首先会用相关的协同规则或者算法对多工序协同制造进行建模,再利用仿真软件对模型进行仿真运行,评估协同制造模型的可行性,最后各工序基于协同制造平台进行产品的协同制造加工。通过模型的建立,实现产品多工序加工各层次对任务、资源、时间等要素的协作运行,保证车间的正常生产运作。产品的多工序制造过程各工序间的信息共享、资源共享、协同作业对产品加工制造的效率很重要,实现多工序加工过程的高效协同,从而达到快速响应市场需求、实现企业利润最大化的目的。
传统多工序制造过程工序间的交互、信息共享方面往往是靠纸质或者人员操作进行,这样就导致了产品制造过程中各工序之间的协同效率低效,不仅会影响最终的产品质量,而且还会直接或者间接地浪费时间、人员及相应的资源。流程制造过程中,传统的多工序额协同方式往往存在以下问题:
(1)中心化的数据存储。在流程制造多工序加工过程中,使用中心数据库储存共享数据,数据的存储量及共享速度受到约束,中心化的数据存储方式不仅安全性能不足,而且在使用大型的中心服务器时其成本对于企业来说也是一大困难;
(2)流程工序协同困难。流程制造业工艺流程复杂,需由系列相关却又各自独立的生产工序所组成,传统工序间的协同大多靠工艺人员或者纸质文件操作,造成在产品的制造加工过程中,各工序之间的协同运作、信息交互存在很大的困难,效率低,甚至由于不能实时交互,导致各工序协同加工存在信息孤岛的现象,从而影响产品的制造加工进度,更有可能直接影响到产品的制造成功率;
(3)信息交互不充分。在传统的多工序协同加工过程中,信息交互,协作生产看似协作实则大多数是独立完成,或者在协作过程中完全处于封闭的状态,导致在协同制造过程中各工序之间的工序信息、资源利用等信息不能充分共享,不能充分交互,以至于会出现生产进度缓慢、资源浪费等问题,间接影响着产品的最终质量。
鉴于上述传统流程制造多工序产品加工过程中,多工序间的协同制造存在的信息共享不充分、过程不透明、协同效率低下问题,借助区块链技术提高多工序协同加工效率,保证产品制造生产质量,促进企业的智能制造发展。
为了促进产品多工序制造的智能发展,使产品多工序制造实现信息共享、节点平等决策、节点实时互联、节点协作制造、智能化制造等特点,以及使产品多工序制造过程对所有工序节点更公开透明,本文提出一种基于区块链的产品多工序之制造模型,如图2 所示。
图2 基于区块链的多工序协同制造模型Fig.2 Multi-process collaborative manufacturing model based on blockchain
该模型具有去中心化的数据存储特点,区块链网络中的所有节点共同维护账本、保证数据的一致性,提高数据存储的安全性,同时所有工序节点协同完成产品制造任务,使产品多工序制造过程的数据信息、设备资源等实现公开化、透明化、易获取、容错性强,提高产品制造的成产效率,保证产品的生产质量。
基于区块链的多工序制造模型由数据层、网络层、排序层、背书层、应用层构成,其中包括:(1)数据层:底层数据层作为多工序协同制造的基础层,存储产品多工序制造过程中各工序的关键信息及多工序协同作业业务的信息;(2)网络层:各工序节点共同组成协同制造区块链基础网络,各工序节点共同存储数据层中的数据信息并共同维护;(3)排序层:排序节点对提交的关键多工序制造过程信息及多工序协同制造业务信息进行解析、打包,当业务信息触发智能合约后产生的区块在通过排序节点广播给区块链网络的所有节点存储同步区块;(4)背书层:背书节点对网络中节点身份及多工序协同制造业务进行核验,保证工序节点进入网络中的正确性和多工序协同制造业务的完整性;(5)应用层:主要是多工序协同制造业务。
多工序加工过程中的相关关键信息或者是协同制造业务信息会打包成一个个的区块存储在区块链网络中,其区块结构如图3 所示。
图3 区块结构Fig.3 Block structure
区块结构由区块头、区块体、区块尾部组成,区块头包括区块高度(Number)、时间戳(Timestamp)、数据哈希(Datahash)、父区块哈希(Previoushash);区块体存储多工序制造过程中各工序的关键信息以及协同制造业务信息;区块尾部主要包括业务提交者的身份信息、证书信息以及协同制造业务签名信息。按照区块产生的顺序即区块高度沿着创世区块依次排序连接,从而形成多工序协同制造区块链结构,如图4 所示。
图4 区块链数据结构Fig.4 Blockchain data structure
为实现产品多工序制造过程中相关信息的智能安全存储、信息共享以及多工序协同制造的智能化,将协同制造过程相关业务逻辑构建为链码(智能合约),达到触发条件后自动执行,智能执行协同作业,构建多工序制造过程的协同制造智能合约,如图5 所示。
图5 多工序协同制造智能合约Fig.5 Multi-process collaborative manufacturing smart contract
多工序制造过程中,各工序关键数据信息上链时会触发存储的智能合约,验证通过后相关信息将会打包成区块存储在区块链网络中,当多工序协同制造业务从客户端提交后会触发协同制造业务的智能合约,各工序根据智能合约自动执行协同制造任务,协同制造业务信息将打包成区块存储在区块链中。本文中主要设计了关键数据信息的存储查询合约以及协同业务作业合约。
关键数据信息存储查询合约:该合约包含合约的基本函数init 函数(合约初始化),instantiate函数(合约实例化),还包括initLedger 函数和Quary 函数。其中,initLedger 函数是将各工序的关键数据信息写入区块两网络中并保存下来,quary函数是客户端想要查询某一工序信息时,通过该函数实现。
协同业务作业合约:该合约包含合约的基本函数init 函数(合约初始化),instantiate 函数(合约实例化),还包括Collaborative 函数。本文设计Collaborative 函数功能是各工序协同作业的数学模型、协同算法、协同规则,从而使各工序通力合作完成协同制造相关业务。例如,在产品加工制造过程中,各工序任务调度,同时作业,协同完成制造加工业务;又如,各工序在工艺资源的调配即设备选择时,达成共识,协同合作选择设备资源,达到设备资源的最充分利用化。
在多工序制造过程中,由于参与制造作业任务的工序多而繁杂,分散分布的各工序节点要完成工序关键信息的存储,最主要的是要完成制造业务的协同作业,就需要各工序达成共识,因此构建协同作业各工序的共识机制非常重要。其共识机制如图6 所示。
图6 多工序协同制造共识机制Fig.6 Multi-process collaborative manufacturing consensus mechanism
各工序节点在区块链网络中通过共识机制对存储信息业务或者是制造作业协同业务达成统一共识,主要包括3 个基本的阶段:第1 阶段——提案,其主要过程是客户端将包含了需要调用的智能合约函数、参数、时间戳及客户端签名创建为业务提案,根据背书策略提交至背书节点进行“背书服务”,背书节点对业务提案进行“背书服务”,即依据提案使用智能合约模拟执行业务过程,生成“背书服务”的结果并附加背书节点的签名结果,这些结果会返回到客户端;第2 阶段——排序和打包成区块,过程是客户端将已经背书过的业务信息提交到排序节点进行“排序服务”,即排序节点对业务消息进行解析、检查,确定业务数据信息的数量和顺序,并把数据信息打包成区块;第3 阶段——广播、验证、同步,排序节点向网络中的主节点(工序节点)广播区块、主节点验证区块信息的完整性、合法性,通过验证后就将区块写入各自账本里,并全网同步区块,同步信息。
当各个主节点(工序节点)完成以上3 个阶段后,就可以认为是区块链网络的节点对客户段发起的业务请求达成了共识。在整个过程中,网络中的背书节点对业务请求进行“背书服务”,确保业务请求按照业务逻辑,智能合约正确执行;排序节点对业务请求进行这个过程最重要的排序共识,确保业务提案,请求正确排序;主节点对区块信息验证,从而对业务数据信息达成共识。由此可见,通过以上的共识机制可以有效实现多工序制造过程中各工序对工序关键信息的存储,各工序做制造任务的协同作业达成共识,从而高效完成制造任务和安全的存储数据信息。
本文以某企业发动机连杆关键零部件制造过程为对象,选取其中的粗铣和精铣各两道工序共4道工序作为实验对象,这4 道工序依次定义为工序1、工序2、工序3、工序4,其加工内容依次为:工序1:加工内容为翻面,铣削直径为40 的凸端面,留加工余量;工序2:加工内容为粗铣直径20 凸台端面,留加工余量;工序3:加工内容为精铣直径20 的凸台端面;工序4:加工类容为精铣直径为40 的凸台端面。在实验环境下模拟4 道工序关键信息存储、交互合作、协同作业完成加工制造任务。工序协同加工过程各工序共同组成一个联盟,其相关数据信息也是在各个工序之间进行共享与交互,因此采用联盟链作为本实验对象的基础网络结构。本文将通过基于Hyperledger Fabric 搭建基础网络的实验环境,模拟测试多工序协同制造过程。实验将在主机下安装虚拟机,在虚拟机中搭建网络的运行环境。
连杆关键零部件制造过程中,选取的粗铣对应网络中的组织1,peer0 和peer1 节点分别对应粗铣的两道工序。相似的,精铣对应网络的组织2,peer0 和peer1 节点分别对应粗铣的两道工序。所以网络中的4 个节点对应4 道工序,网络中的orderer 节点为排序节点。
关键信息的存储与查询:将协同制造过程各工序的关键信息,比如各工序的工序名称、材料名称、设备信息、质量指标信息、制造时间及成本、制造特征、加工方法等上传至区块链进行存储,当要进行信息查询时会触发智能合约中查询函数,从而完成整个查询结果。通过区块链查询工序关键信息,在后台将结果打印出来,如图7 所示。
图7 工序关键信息查询结果Fig.7 Query result of key process information
协同业务:如在连杆关键零部件制造过程中,模拟一种简单的各工序协同作业过程,大体为各工序协同作业之前的加工顺序为工序1 →工序2 →工序3 →工序4,加工总时间为5 h。各工序以总加工时间最短为目标,从而建立协同作业的数学模型及协同算法,在满足相关生产资源约束的情况下,各工序达成共识,依据协同规则进行连杆关键零部件制造的协同作业,调整加工顺序,保证生产计划顺利进行,实现加工时间最短。其协同作业之后的加工顺序为工序1 →工序2 →工序4 →工序3,加工总时间为4.5 h。在网络中模拟的协同作业结果如图8 所示。
图8 协同作业结果Fig.8 Cooperative results
再如4 道工序在加工制造过程中需要一些其他设备资源,这4 道工序需要在10 台设备里选出各自使用的设备,10 台设备里有些设备可以完成多项工作,所以需要这4 道工序之间信息共享,交互合作,协同完成设备选择。4 道工序通过协同作业完成对10 台设备充分利用,充分考虑设备的性能、生产时间及设备可利用性,既不浪费设备资源,也不盲目选择设备。4 道工序充分合作,根据各自工序的特点及要求寻找设备,其选择设备时协同作业的结果如图9 所示。
图9 设备选择协同作业Fig.9 Equipment selection for cooperative operation
通过协同作业,各工序之间共享信息,选择设备的过程及结果都各自公开透明,避免了盲目选择和使用设备,达到设备资源的不浪费,并且充分使用设备资源。
通过实验可见,在多工序制造过程中,信息的去中心化存储,各工序相应的协同作业都能实现,从而极大地验证了基于区块链的多工序协同制造模型的有效性,使得在产品多工序制造加工过程中相关工序能够实现自我学习、自我服务、自我决策等去中心化的智能化功能。所以,区块链技术能助推产品的制造加工,为智能制造产业提供安全的数据存储模式,使多工序制造过程或者智能制造过程具有多信息感知、知识表达、联想记忆、自适应、自优化、智能的分解与集成、容错、智能控制等功能。
本文针对多工序制造过程中数据信息存储及协同制造存在的中心化数据信息存储、工序制造任务协同困难、效率低下的问题,提出了基于区块链的多工序协同制造模型,构建了该模型的区块链模型、智能合约以及运行机制,最后基于 Hyperledger Fabric 平台搭建协同制造的实验环境,验证了基于区块链的多工序协同制造的有效性。对此,基于区块链的多工序协同制造模型还需要更加深入的研究与创新,才能完全达到多工序协同制造要求,实现多工序协同制造过程工序间的信息共享、智能协同作业等功能,从而更好地实现智能制造,更好地服务于工业领域。