邵景峰,王进富,马晓红,刘 勇
(1.长安大学信息工程学院,西安710064;2.西安工程大学 管理学院,西安710048;3.咸阳华润纺织有限公司动力能源部,陕西咸阳712000)
制造执行系统(MES)是美国AMR公司在20世纪90年代初提出的,其目的在于将企业资源计划层同车间现场控制,通过执行系统联系起来,实现企业生产信息的有效整合[1]。纺织企业作为传统的制造业,在ERP或设备控制系统设计实施时都涉及中间的车间管理层,对MES的需求就应运而生,其效果也逐步显现[2]。借助EBSCOhost外文期刊数据库,统计结果表明:国外对纺织制造执行系统的研究相对较早,如在1991年,Colorni A 等[3]开始研究纺织制造执行系统;1995年,Geroge Coppus等[4]为纺织企业开发了一种制造信息系统(MIS),其属于制造执行系统的范畴;1996年,Dorigo M等[5]研发了一种面向纺织企业的制造执行系统;1998年,Tanju Yurtsever等[6]为纺织企业构建了一种集生产监控与调度功能于一体的制造执行系统;而且,Michael N Huhns等[7]在深入研究流程企业制造执行系统的基础上,于2005年开发了纺织企业的制造执行系统等,使纺织制造执行系统的研究与应用已趋于成熟水平。
在中国,关于纺织企业制造执行系统的研究也相对较早,是始于20世纪80年代初[8]。当时,中国的纺织企业经济效益良好,但设备自动化水平低,信息技术力量有限,加之生产管理方式主要靠人工手工管理等,没有形成面向整个纺织企业的制造执行系统,而是面向特定的车间监测系统,如织机生产监测系统、印染厂生产过程集中管理系统等,其也属于制造执行系统的范畴。直到1998年,Cheng Fantien等[9]提出了一种面向纺织企业的制造执行系统框架,使得部分国内纺织学者开始研发相关系统。如郑永前等[10]提出了一种基于 UML的面向服务的MES模型;董玉倩等[11]对制造执行系统的关键技术进行了研究,并将其应用于纺织企业;同时,于冬青等[12]将制造执行系统应用于纺织企业等。但通过这些文献发现,研究面向制造层面的纺织制造执行系统的纺织学者却很少。在中国纺织工业联合会制订的“十二五”规划中[13],将面向制造层面的制造执行系统作为重点研发对象,这为纺织制造执行系统的研发提供了良好的政策支持。
通过文献回顾发现:国内外纺织学者的研究重点主要在于系统模型的构建、先进技术在系统中的应用,使得系统具有很好的先进性和兼容性,但在系统体系结构的整合方面相对欠缺,并没有开发面向制造层面的纺织制造执行系统。为此,笔者以面向制造层面的纺织制造执行系统为切入点,在原有各个车间监控系统的基础上,进行系统体系结构的构建,以实现上层计划层与车间现场控制层间信息的有效衔接。
在系统结构设计过程中,主要结合中国纺织企业的工艺流程和个性化需求,对各工序中产生的品种数据以品种的加工流程为序进行针对性地配置,使其与企业上层的ERP系统、下层的信息管理系统、工艺管理系统、各个车间的监测系统等在功能结构上相兼容,通过通用数据接口进行数据的交换和信息的融合,实现企业内部生产数据的共享,以从根本上解决企业内部信息“孤岛”问题。当然,在系统设计过程中,还预留了较多的数据接口,以方便各类数据的导入导出和二次开发。
图1 系统体系结构Fig.1 Architecture of the system
所构建的系统体系框架如图1所示。在整体上将系统功能分为三层,即数据采集层、数据应用层和生产现场控制(PCS)层。其中,数据采集层主要用来解决MES中的数据通信、存储、处理等问题,它的主要功能在于实时地接收PCS层的生产数据,同时将处理后的数据组织成数据库所接受的格式,动态地存储在数据库的实时数据表中,并为数据应用层和PCS层提供及时、准确的当班生产数据。在数据处理过程中,对于一些非业务的操作,如日志操作、安全验证与授权等,采用面向切面的方法[14]使其贯穿于整个系统之中。数据应用层的主要任务是将监测系统、工艺管理系统、信息管理系统等中的数据有效地集成起来,实时存入共享数据表中,进行融合处理,使其具有通用性。PCS层用来统一管理底层数据,使轮班班次对应的实时数据和历史数据得到有效分离,并通过数据接口进行高速传输和实时“读写”操作。
按照系统的功能需求,MES的主要功能应包括:计划管理、资源管理、设备维护管理、产量质量管理、机台数据采集、生产调度、职工管理、资料管理,以及生产过程跟踪管理等。这样,制造执行系统的工作原理[15]:MES向上层ERP系统提供生产现场的机台实时生产数据、在机品种数据、机台异常状态数据,以及计划任务执行状况数据等;向下层车间监测系统传输指令计划数据、生产过程控制命令、生产管理参数、设备运转基础数据等,同时可实时采集现场的机台生产数据。
结合系统功能的分析和工作原理的描述,根据纺织企业的制造过程工艺流程,构建出的各工序间的数据流程图如图2所示,其不但详细展示了系统间的数据流向,而且绘制出了制造过程中的信息流向,是整个系统设计过程中的核心步骤。
图2 数据流程Fig.2 Data process
按照系统功能需求,首先将系统任务调度定义为一个Agent系统,并根据需要可自主地进行工作,这样可以通过创建、复制、组装、销毁等手段对自身进行改造,以适应复杂的任务需求。然后,根据多A-gent系统的特点,即自治性、通信能力、适应性、智能性[16],构建了多个子 Agent(系统管理 Agent、车间 A-gent、调度 Agent、任务 Agent、资源 Agent、监控 Agent等),相互间的协作过程如图3所示,使系统中的每个功能可由单个Agent,或者多个Agent通过协作来完成,其优点在于既有利于系统功能的重组,又有利于系统功能的设计。同时,有利于解决车间生产现场计划任务的排序问题。这样,在多Agent系统的框架下,可使生产计划任务的排序达到最优化,生产现场机台的异常情况得到实时反馈,并使异常事件的决策得到及时响应。一方面,保证了整个制造过程的连续性,另一方面,可根据机台的历史数据,预测今后一段时间的工作能力。
图3 多Agent间的协作过程Fig.3 Collaborative process among multi-agent
根据上述多Agent系统框架的功能定义,将整个系统任务的调度过程采用动态招标投标[17]的方法进行,其调度算法的具体构建过程如下:
Step 1:在每月初,借助制造执行系统从ERP系统中自动读取各车间的计划任务Task,经细化处理后,分配给车间的相应监测系统。在此过程中,系统管理Agent调到车间Agent,由车间Agent根据车间机台的工作能力,对接受到的计划任务Task进行判断,若具有执行任务Task的能力,则启动资源Agent、调度Agent,则转入执行Step 2;否则,反馈信息给系统管理Agent,并释放车间Agent所拥有的系统资源。当然,这种机台工作能力的判断是以机台的已有工作能力为前提,并通过新旧计划任务的对比而抉择得出。
Step 2:当调度Agent被调动后,其根据计划任务Task,开始调动任务 Agent和资源 Agent,由任务 A-gent根据当前生产计划的工艺要求,对任务Task对应的每道工序进行详细分析,并计算出各Agent在每道工序上的运行时间和所需资源。由资源Agent分配工序中每个Agent所需要的系统资源。当然,这个过程是由资源Agent根据每个Agent的工作能力而进行动态的分配。当每个Agent获得了系统资源后,相互间通过消息机制进行通信,并协同工作。
Step 3:当任务Task开始执行时,系统管理A-gent将启动监控Agent,由监控Agent对整个计划任务Task的执行情况进行在线监控,以保证整个执行过程得以顺利进行。其中,监控Agent主要用于监控资源Agent的具体使用情况。同时,在监控过程中,还需对计划任务Task按照诸如最短加工时间(SPT)、最小空余时间等规则进行排序,以最大程度上使系统资源达到最优化。
Step 4:在计划任务Task执行过程中,单个A-gent可向完成当前工序的资源Agent提出资源申请,同时将这种操作上报监控Agent,由监控Agent调用资源Agent,由资源Agent根据当前完成工序的工作时间、工作开始时间进行搜索时间链表,以反馈可利用的时间段。此时,当有多个资源Agent可完成同一工序时,则由监控Agent调动任务Agent,由任务A-gent按照招标——投标方式[18],根据计划任务目标、当前车间计划任务执行现状、车间计划任务分配情况,以及资源Agent的投标值,按照制造过程所用资源最优化的原则,选取可利用的时间段作为最佳资源Agent。
Step 5:在计划任务Task执行过程中,当监控A-gent遇到有申请资源的任务Agent时,首先监控A-gent判断任务Agent的申请是否存在资源冲突问题。若无,则按照申请,由监控Agent上报系统管理A-gent,由系统管理Agent动态分配系统资源。当任务Agent获得了系统资源后,则进行下一工序的投标,并重复Step 4、Step 5;否则,系统管理Agent发出消息,由监控Agent调动任务Agent去执行下列步骤1)。
1)监控Agent根据车间计划任务的执行情况和调度情况,首先,按照制造过程中系统任务排序最优化的原则,为各个任务Agent提供合适的系统资源,以解决资源竞争问题;然后,按照中标任务Agent的申请方案,进行动态分配其工作所需资源。当各中标Agent获得系统资源后,进行下一个工序的投标;而对未中标任务Agent而言,则继续当前工序的投标,并重复执行Step 4、Step 5。在这个过程中,当存在无法完成任务Task的请求时,则由监控Agent调动任务Agent去执行下列步骤2);而当有全部任务被完成的请求时,则执行Step 6。
2)当某一计划任务Task在执行过程中无法正常执行下去时,可由车间Agent上报监控Agent,由监控Agent上报系统管理Agent,最后由系统管理Agent对其所拥有的系统资源进行判断,并对任务的执行过程做出分析,让其优先级提至最高级,重复执行Step 4、Step 5。若当前某一计划任务Task已是最高级,则需将该计划任务撤销,并释放各个任务Agent所拥有的系统资源,待日后处理。当然,还需将其他计划任务所对应的任务Agent继续执行Step 4、Step 5。
Step 6:当工序中的计划任务完成后,各个任务Agent将传递消息给监控Agent,由监控Agent对整个计划任务的调度过程进行检查,并检测整个过程是否存在未处理任务。若存在未处理任务时,则将其按照紧急任务处理,并将其优先级提到最高,插入到车间资源调度时间链表中。若这种方法无法满足未处理计划任务的执行要求,则由监控Agent将其结果上报给系统管理Agent,由系统管理Agent按照计划任务的执行过程,可重新分配系统资源,让其重新执行Step 1至Step 5。如果所有的计划任务均以顺利执行完成,则直接执行Step 7,并释放所有任务Agent拥有的系统资源。
Step 7:监控Agent反馈整个计划任务的调度结果给系统管理Agent,由系统管理Agent做出决策,并向系统提示最佳决策结果值。
在异构数据库的集成过程中,为保证各工序间品种数据的有效衔接,采取XML技术与全局数据模式相结合的方法[19],使所有的数据交互操作在中间件中以XML文档形式存在,对集成过程中的异构数据进行转换,其优点在于:在数据交互过程中,这种方法保持了一定的独立性,降低了数据间的耦合度,提高了数据的重用性[20]。异构数据库间的集成方案如图4所示。
图4 异构数据库间的集成Fig.4 Integration among isomerous databases
由图4可见,整个集成方案主要分为3层:应用层、中间件层和数据源层。其中,中间件层的主要作用是集成各个车间的异构数据源,为实现纺织制造执行系统数据库中数据的共享而提供访问支持。同时,中间件层中注册器的主要作用是负责各异构数据库的注册服务,并生成公共模型;查询处理器的主要作用是根据用户提交的查询请求,将其提交给包装器进行执行,由结果处理器将包装器中的执行结果进行汇总,并以XML的格式返回;包装器主要用于底层数据源的交互,实现数据位置和访问的透明性[21]。
异构数据库间的集成原理:1)由客户端向应用服务器发出一个全局查询请求,此请求的信息来源可能涉及到细纱、筒并捻、准备、织布,以及整理等车间的生产信息监测系统,信息管理系统等。2)应用服务器确认接收到客户端的请求时,由中间件层接收客户端的查询请求,具体的处理步骤是:首先对多源异构数据所构成的共享信息进行分析;然后,将全局查询分解为具体的数据库子查询,并将子查询发送到对应的数据源;其次,处于数据源层的所有数据库管理系统接收到查询中间件层传输的查询请求后,它首先从数据库中查询相关信息,然后把查询结果返还给结果处理器,由结果处理器将其合并成同一条数据记录,并将所需要的查询结果返还给应用服务器,由应用程序服务器再将查询请求结果返回给客户端。
这样,根据异构数据库间的集成方案,以及多A-gent间的任务调度原理和系统功能需求,利用SQL Server作为数据库管理系统,并利用ERwin进行数据库的逻辑结构设计。经集成处理后的异构数据库中涉及到的重要数据表主要有:棉纱品种表、纱产品质量表、纱产品产量表、纱断头表、棉布品种表、布产品产量表、布品种信息表、设备使用情况表、布入库质量表等。
在用户成功登录系统后,借助制造执行系统平台可实现与上层ERP系统的实时交互和数据更新服务[22]。同时,可实现与下层现场控制层间的数据采集与过程管理,主要包括各车间机台生产数据的采集、机台运转状态的监控、生产制造过程的跟踪、异常事件的反馈,及生产工艺参数的录入等。当然,与现场控制层间的集成还需要构建两个服务:一个是具有自动交互的监控服务,以实时地从各车间的机台上读取和反馈信息;另一个是人机交互服务,主要由系统管理人员进行生产数据的查询统计,以及设备信息、轮班班次、计划任务调度等信息的录入、调整等。
整个系统以纺织企业的工艺流程为主线进行系统功能的构建,面向整个制造层面进行系统功能的集成。当然,在系统功能的设计过程中,根据用户角色权限级别的不同,主要采取了两种系统管理方式:一是集中式管理方式,主要面向企业上层管理者,进行整个企业生产过程的全方位监测,也可实时监测某一车间的生产制造过程,以实现系统功能的集成和管理方式的统一化;二是分散式管理方式,这种方式主要是面向某一生产制造车间。
具体的实现过程为:首先为系统用户提供了一个启动各子系统的入口,使每个子系统都可以独立运行,以完成系统用户所属车间的机台运转状态的监测和管理。这样,每个用户登录制造执行系统以后,系统管理模块则根据职工信息表中的用户角色自动判断用户权限,拥有权限的用户只能访问相应角色对应的系统子功能。
在子系统功能设置方面,主要有系统管理、参数设置、实时监测、数据录入、数据查询、报表输出六大功能。这些功能既可以是面向整个纺织企业制造层面的基本功能,也可以是具体到某一特定车间的监测系统功能,以完成相应车间的动态数据采集和信息化管理。如通过制造执行系统可进行并粗车间机台岗位的动态设置,此动态设置功能与并粗车间监控系统中的岗位设置功能是同步的,详见图5所示。
图5 并粗车间岗位的动态设置界面Fig.5 Dynamic set interface of post in drawing & roving shop
若某个部门想查询或者调用其他部门的生产数据时,需系统功能授权。在拥有系统功能权限后,可通过制造执行系统实现数据的共享。如计划调度科需调用各车间的棉纱产量数据时,系统根据计划调度科的用户角色,自动分配系统功能权限,其通过通用数据接口,实现数据的访问和报表的统计分析,具体的实现功能界面如图6所示。
图6 棉纱产量的统计界面Fig.6 Statistics interface of cotton yarn yield
根据纺织企业生产管理的实际需要和发展需求,结合企业生产制造过程的特点,围绕纺织企业MES项目的建设目标,进行了面向纺织企业的MES关键技术研究,以及MES系统的设计和开发。纺织执行制造系统作为纺织企业现代集成制造系统中制造管理自动化领域的一项重要技术,一方面,MES可以对来自ERP的生产管理信息进行细化、分解,将计划层操作指令传递给底层控制层;另一方面,可以采集设备的状态数据,以实时监控底层设备的运行状态;同时,可以为ERP提供生产现场的实时数据,实现生产数据的自动化采集,从而加强计划管理层与底层控制之间的沟通,起到了承上启下的作用,弥合了企业计划层和生产车间过程控制系统之间的间隔。通过强调制造过程的整体优化来帮助企业实施完整的闭环生产,同时也为企业信息化的建设提供了良好的基础。
纺织企业MES系统主要面向制造层面,具有良好的灵活性、可维护性,使MES在生产管理中发挥重要的作用,为企业实时成本的计算、生产过程的管理而提供基础数据,并将全面提高纺织企业的信息化管理水平。
[1]吴迪,夏雪.纺织行业现代集成制造系统的发展战略研究[J].纺织学报,2004,25(1):117-119,5.WU Di,XIA Xue.A study on the strategy of developing CIMSin the textile industry[J].Journal of Textile Research,2004,25(1):117-119,5.
[2]李惠成,陈芳,杨承涛.计算机集成制造:我国纺织、服装业现代化的必由之路[J].纺织器材,2007,34(3):62-64.LI Huicheng, CHEN Fang, YANG Chengtao. Computer integrated manufacturing:the only way to the modernization of Chinese textile and garment industry[J].Textile Accessories,2007,34(3):62-64.
[3]COLORNI A,DORIGO M,MANIEZZO V.Ant system for job-shop scheduling[J].Belgian Journal of Operation Research,Statistic and Computer Science,1993,34(1):39-53.
[4]GEROGE C,AMOLD S.Manufacturing information systems for the process industry responding to the plant management challenges of the 90's[J].ISA Transactions,1995,34(2):119-132.
[5]DORIGO M,MANIEZZO V,COLORNI A.The ant system:optimization by a colony of cooperating agents[J].IEEE Transaction on Systems,Man and Cybernetics:Part B,1996,26(1):29-41.
[6]TANJU Y, PIRECE N G.Computerized manufacturing monitoring and dispatch system[J].Computers& Industrial Engineering,1998,35(1/2):137-140.
[7]MICHAEL N H, MUNINDAR P S. Service-oriented computing:key concepts and principles[J].IEEE Internet Computing,2005,9(1):75-81.
[8]陈洁,孔庆华,吴晶晶.面向服务的纺织机械制造执行系统研究[J].现代制造工程,2010,32(7):13-17.CHEN Jie,KONG Qinghua,WU Jingjing.Research on the service-oriented textile manufacturing execution system[J].Modern Manufacturing Engineering,2010,32(7):13-17.
[9]CHENG F,SHEN E,DENG J.Development of a distributed object-oriented system framework for the computer-integrated manufacturing execution system[C].Leuven,Belgium:International Conference on Robotics & Automation,1998.
[10]郑永前,陈洁.基于UML的面向服务的纺织制造执行系统建模[J].制造业自动化,2010,32(8):1-3.ZHENG Yongqian,CHEN Jie.Modeling for textile mes of soa based on UML[J].Manufacturing Automation,2010,32(8):1-3.
[11]董玉倩.制造执行系统关键技术研究及在纺织企业的应用[D].天津:天津工业大学,2008.DONG Yuqian.Study on Key Techniques in Manufacturing Execution System and Applications in the Textile Enterprises[D].Tianjin:Tianjin Polytechnic University,2008.
[12]于冬青.制造执行系统MES在纺织行业中的应用[J].针织工业,2006,33(9):65-68.YU Dongqing.Application of the manufacture execution system-MESin the textile industry[J].Knitting Industries,2006,33(9):65-68.
[13]中国纺织报.纺织工业“十二五”科技进步纲要及三大要点[EB/OL].2010-11-26[2012-11-08].http://www.esilk.net/web/view.aspx?AID=111093.CHINA TEXTILE NEWS.“12th Five-Year”scientific and technological progress outline and three points for textile industry[EB/OL].2010-11-26[2012-11-08].http://www.esilk.net/web/view.aspx?AID=111093.
[14]NIKNAM T,FARSANI E.A hybrid self-adaptive particle swarm optimization and modified shuffled frog leaping algorithm for distribution feeder reconfiguration[J].Engineering Applications of Artificial Intelligence,2010,23(8):1340-1349.
[15]邵景峰,李永刚,张勇,等.细纱车间制造执行系统(MES)的研究与实现[J].纺织器材,2010,37(1):60-63.SHAO Jingfeng, LI Yonggang, ZHANG Yong, et al.Research and operation of MES system in spinning room[J].Textile Accessories,2010,37(1):60-63.
[16]CHAKRABORTY S,RAY I.TrustBAC:integrating trust relationships into the RBACmodel for access control in open systems[C].New York:Proceedings of the 11th ACM Symposium on Access Control Models and Technologies,2006:49-58.
[17]BRPGIA,CANAL C,PIMENTEL E,et al.Formalizing web service choreographies[J].Electronic Notes in Theoretical Computer Science,2004,105(10):73-94.
[18]OLFATI S R,FAX J A,MURRAY R M.Consensus and cooperation in networked multi-agent systems[J].Proceedings of the IEEE,2007,95(1):215-233.
[19]Ferreira A,Simaan M A,Boston J R,et al.A nonlinearstate space model of a combined cardiovascular system and arotary pump[C].Seviller:Proceedings of the 44th IEEE Conference on Decision & Control,and the European Control Conference,2005:897-902.
[20]SANDHU R,ZHANG X W.Peer-to-peer access control architecture using trusted computing technology[C].New York:Proceedings of the 10th ACM Symposium on Access Control Models and Technologies,2005:147-158.
[21]MICHAEL N H, MUNINDAR P S. Service-oriented computing:key concepts and principles[J].IEEE Internet Computing,2005,9(1):75-81.
[22]LI B,CHEN Z H,CHEN Y.Research on reconfigurable manufacturing execution system[C].New York:Proceedings of International Conference on Intelligent Mechatronics and Automation,Piscat-away,2004:157-161.