OpenMES架构的说明书1摘要本文是一个OpenMES架构的说明书,这个执行制造系统(ManufacturingExecutionSystem-MES)的架构来自于日本的制造科学与技术中心。OpenMes架构是离散生产过程的模型。本文是为了那些将要使用MES系统架构并为MES开发出软件模块和程序的人而准备的。目前,在离散生产过程的领域中还没有统一的制造模型。因此,MES在没有依据统一制造模型的情况下各自发展,而实际上这个模型能够促进生产知识的共享。然而,如果能在普遍的制造模型的基础上,得到可以重复使用的软件模块,那么,MES的开发可以通过组合软件模块、适应个体需求、中等规模的定制需求的制造环境等而得到实现。OpenMES架构的优点如下:通过协调供应链管理(SCM)和企业资源计划(ERP)实现企业范围内的最优化。自从SCM/ERP反应出信息领域的问题,最优化可以通过采购、生产、派送和销售得到实现。生产数据可以被收集来改进制造方法。特别的,这些数据能提供给计划-计算-核查-生产这一周期(Plan-Do-Check-Action)以便开发。网页游览器的使用使得最终用户无论在哪里都能够访问生产订单信息和制造结果信息。通过无处不在的数据接口可以做出精确的决策。制造设备的多客户环境容易被建立;依靠现有合格的软件模块,可以在短周期内建立高水平的MES。合格的软件模块可以促进竞争制造知识的共享。执行制造系统中,OpenMES架构包括下列几个单元:工厂管理;生产订单管理;生产规程管理;工艺规程管理;过程管理;设备管理;运输管理;物料管理;调度管理。OpenMES架构不仅要发展软件应用程序及其图形用户界面,还要制定数据管理能力和分布式对象系统(CORBA)交互界面。2介绍日本信息技术开发协会已经委托制造科学与技术中心为MES开发一个软件架构,并把它当作电子商务基础组织设施项目(ElectronicCommerceCommonInfrastructureEstablishmentProject)的关键部分。本文描述的OpenMES架构来自于日本的政府项目。一般而言,定义系统规格可能包括:标准化的规范;基于项目定义的个别系统软件的开发;或者是前沿技术从实验发展到应用。以上的目标也许不能依靠单一的说明文档一次性实现。一份标准化的文档不包含执行的细节。这篇文档的任务是,为准备将其应用到个别软件开发项目中的人,提供一个可以在概念上理解的OpenMES架构。制造科学与技术中心FA公开推广委员会的生产系统模型特别委员会将会讨论这份为标准化的文档。2.1有意向的读者这份文档为以下三种人准备:应用软件程序员;组件提供者;架构提供者。应用软件程序员开发定制的具有OpenMES架构工具的MES软件。组件提供者通过阅读说明书真正的实现MES应用程序架构。架构提供者通过阅读说明书实现或扩展架构。2.2为什么用这个架构?MES是工厂中控制和管理生产过程的系统。MES从ERP中接收生产计划和成产订单,输出工作命令到生产设备,收集实际生产结果,以及作业进程管理。MES的配置和采购也存在许多问题。一个制造系统由几个子系统组成。然而由于没有标准化的接口,它们不可能轻易有机的组合到一起。制造系统通常由一个拥有许多不同种类的制造设备的多客户环境支持。然而,缺乏为了管理制造设备而开发的标准接口。因此,在多客户环境中定义和提供一套允许设备管理的应用程序接口,是非常重要的。由于生产需求的多样性,制造厂中各种个别的要求是存在的。在没有为个体需求做好准备的情况下,很难使用现有的软件。在这种情况下,制造系统的开发和维护的成本很高。另外,现有的制造系统不能完全符合实际。因袭不容易做到整个系统的最优化。我们相信,MES的普遍模型是存在的。当我们依照这个模型准备软件模块时,我们相信,通过组合和定制必要的软件模块,我们可以创造出适合个别制造厂的MES配置。为了成功实现这个目标,我们使用了目标定向技术(object-orientedtechnology)。目标定向可以使得制作制造系统模型和拆分到软件模块成为可能。同时,软件模块之间的联接可以被定义为生产系统配置的模板。这个模板被称为MES应用软件框架。它使得个人定制容易实现,例如,通过提供额外的功能单元或改变现有功能单元的行为。除了功能性之外,MES应用软件框架还要求拥有以下的功能:MES应用软件框架必须能够升级到覆盖从小规模到大规模的生产线。MES应用软件框架必须是开放的,并且不能依赖软件或平台(如操作系统等)。为了提供适合的可测量性和开放的通用性,可以使用CORBA和分布一些服务器。另外,Java也是一种工具语言。如果能引进上述的MES应用软件框架,一个工厂的信息系统就建立了。结果是,一个可以使其使用者随处访问数据的系统,可以在较短的发展周期内,利用较低的成本配置成功。当这个信息强化系统得到扩展时,就会建立一个协同ERP、SCM和设备控制系统的最优化的生产系统。2.3为什么用CORBA?MES由一些设备单元、服务器和客户端组成。它本质上是用来完成分布式处理的。感谢分布式处理,它可以足够升级到支持小规模的生产系统和包括数个工厂的大规模生产系统。进一步说,它被要求能够使用软件组件和与制造设备相连的扩展软件插件。目前,下列平台由于能提供以上的环境而凸显:DCOMCORBAMES的硬件由一些计算机组成,包括个人电脑、工作站、商用电脑和大型计算机。独立平台CORBA很适合上述环境,能与系统配合的天衣无缝。2.4框架的范围MES中存在下列三种生产过程:连续处理过程;批处理过程;离散处理过程。这三种类型中,OpenMES主要发展离散处理过程。在离散处理过程中,随机或其他单元分配的工作在制造设备中传送的过程中,它们被成组的单独处理。它与加工或装配工厂相关联。离散处理过程可以被进一步细分到加工车间和流水作业车间。流水作业车间有固定的处理线路如传送线,但是加工车间处理路线很灵活。OpenMES框架为离散处理的这两种类型都提供了执行制造模型。这个框架包括以下几个功能,它们将在后文中进一步详述:工厂管理;生产订单管理;生产规范管理;工艺管理;过程管理;装备管理;运输管理;物料管理;调度管理。2.5框架的益处2.5.1最终用户最终用户从使用MES框架中获得的收益有:通过网页游览器,无论你在何处,都可以访问生产订单信息和生产结果信息。决策判断将既迅速又精确。比如,销售人员通过查询库存和车间信息而知道交货日期。更进一步,通过查询下一周期的生产计划,管理人员可以减少工作负荷量和库存量。通过协调SCM/ERP,可以实现企业范围内的最优化。自从SCM/ERP反应出工厂信息之后,企业最优化可以通过销售、生产、采购和物料分配活动来实现。可以获得为改进生产线的Plan-Do-Check-Action所需要的数据。Plan为调度数据,Do为工作命令,Check为进程管理,Action为数据结果。它可以产生和处理不同状态的数据。进一步说,它出去了日操作报告的准备工作之类的事务。MES的命令,使得两个或更多的工厂运行起来像是一个工厂。不同的工厂组合可以匹配生产类型。OpenMES框架允许用户使用现有软件模块配置系统。2.5.2系统真整合从MES框架的系统整合有以下的好处:制造设备的多客户环境容易被建立;依靠现有合格的软件模块,可以在短周期内建立高水平的MES。通过网页游览器实现的用户界面可以用来提供高级解决方案。2.5.3组件提供者组件提供者从MES框架中得到这个好处——对他们最初的合作者进行组件交易。2.5.4设备制造厂设备制造厂从MES框架中得到这个好处:设备不需要随着生产系统的改变而改变。2.6接口定义语言基于CORBA的应用软件框架说明通常写成CORBA的接口定义语言(InterfaceDefinitionLanguage-IDL)。然而,OpenMES项目采用Java语言作为CORBA的IDL是基于以下两点理由:即使应用软件程序不像CORBA的IDL,开发也是可以进行的。程序员仅仅需要理解OpenMES的执行语言,也就是Java。考虑到程序流程是源于对远程对象的访问/调用,对只有需要远程互用的对象才给与CORBA对象。不能被远程访问的对象,也就是非CORBA对象,在CORBA对象中进行值传递。在CORBRA2.0说明书中并没有包含值传递,但一些CORBAOMG工具中提供了,如Visibroker。OpenMES架构的结构由三个等级组成:功能级、组件级和对象级。功能级符合MES软件子单元模块,当成Java包执行。组件级是一个功能级中有关对象的集合。对象级是基础的抽象单元。特别的,统一模型语言(UnifiedModelingLanguage-UML)被当作结构的图形符号和OpenMES的架构的动作模型。对象内部的进一步的细节,如方法符号和实例变量,在OpenMES架构中的Java帮助文档中有详细的解释。2.7如何使用这份文档定制的OpenMES架构有下面五个部分组成:GUI开发利用VisualAgeJava、JBuilder、VisualCafe或者其他的开发环境或JDK,开发或修改用户图形界面以调用架构的API。应用程序开发不论在客户端还是在服务器端,执行逻辑应用程序调用架构的API。如果客户端的HTML的改变被逻辑上在服务器中运行的Sevlet或JSP使用,相关的设计和执行过程必须被设计。数据定制假定数据定制对个各种MES系统都有效,在此基础上提供的类就被添加为成员变量和必须的方法。CORBA定制界面当为设备接口、调度接口或CORBA接口增加一个成员变量或者方法时,定义一个接口,它继承了CORBA接口和定义过的工具接口。那时,有必要建立一个调用新方法的应用软件。当给CORBA类增加一个新的变量,定义一个继承了执行类和执行方法的类。当你在没有申请改变CORBA接口的情况下改变逻辑,定义一个继承了执行类和执行方法的类。附加的架构功能考虑到重复使用,通过调用一个说明书指定的类,来增加一个功能组和MES应用软件架构组件。如果分布式处理是必须的或值得的,定义一个新的CORBA接口并执行它。2.8相关的行为2.8.1OMG1997年12月,来自OMG的制造领域作业推动MEC/MC工作组提出了信息需求(RFI)的概念。RFI要求输入来自个人和组织见识或任何和MES有关的信息,得到了六个回答。MES/MC工作组恢复了MES界面开发的计划。一份新的MES草案被确立,它同时反映了2000年一月的OMG会议讨论和以前MES/MC和ERP所做的工作。2.8.2ISO新的工作计划被TC184/SC5/WG1(综合公司)讨论。日本国家政策委员会正在学习OpenMES架构。2.8.3MSTC/JOP制造系统模型特别委员会正在讨论说明书。3OpenMES对象OpenMES架构包括如下功能组:工厂管理生产订单管理工艺管理生产过程规范管理生产过程管理设备管理传输管理物料管理调度管理其他功能管理此部分描述以上给出的功能组件中的类及相关接口。图1是一个OpenMES架构下基本的制造执行过程概览图。这个类图主要展示了生产订单类(MesProductionOrder)、生产批次类(MesProductionLot)、批次工件类(MesLotJob)、加工工件类(MesProcessJob)、作业订单类(MesWorkOrder)和加工设备类(MesProcessEquipment)之间的关系。MesProductionOrder对象表示生产订单,由MesProductionLot对象对组成,对应生产批次。MesProductionOrderManager对象管理MesProductionOrder对象。对应于独立的加工过程,如加工监测、清洁。MesWorkOrder与MesLotJob对象相关,设置加工设备MesProcessEquipment对象。图2为制造执行过程中对象实例合作关系