首页 > 方案案例 > 正文

XML在可重构制造执行系统组件管理中的应用

2009-08-17 09:25:44  来源:万方数据

摘要:基于组件技术研究和开发可重构制造执行系统(RMES),需要解决大量不同功能业务组件的维护问题。本文基于XML Schema机制设计了一套标准化描述方法,来定义RMES组件的自然属性、继承属性、
关键词: 制造执行系统 可重构

  1 引 言

  随着制造业信息化工程的展开,许多企业都实施了以MRPⅡ/ERP为代表的企业资源计划管理系统、以产品设计管理为主的产品数据管理系统(Product Data Management,PDM)、以监控和数据采集为代表的生产过程监控软件(Supervisory Control and Data Acquisition,SCADA)等计算机管理信息系统。但是,制造执行系统(Manufacturing Execution System,MES)同时也逐步成为制造业信息化的学术热点,这主要是由于MES在企业综合自动化系统中起着承上启下的重要作用。美国先进制造研究机构(Advanced Manufacturing Research,AMR)把MES定义为“位于企业上层的计划管理系统和底层工业控制之间的面向车间层的管理信息系统”,它使得计划管理层系统(如:ERP)和底层控制系统(如:DCS)之间形成了双向、通畅和准确的信息流。MES采集了生产过程数据、仓库物料实时数据和车间相关设备状态数据等基础信息,并将这些信息进行合并、汇总、规范、比较、分析等综合处理,一方面为MRPII/ERP等软件提供了及时、可靠、准确的生产经营决策参考信息。另一方面也将生产计划的指令传达到现场,对现场生产设备参数等进行调整。

  国内对MES的研究与开发还处于起步阶段,目前主要停留在MES思想和体系结构方面的研究,主要集中在系统建模、敏捷化、智能化方面,应用系统开发还处于尝试和模仿的阶段。近几年,组件化软件结构、集成计算模式和分布对象技术的出现大大加快了MES的发展,同时也为可重构制造执行系统(Reconfigurable Manufacturing Execution Systems,RMES)的开发和实现技术提供了可行的解决方案。

  面对大量出现的RMES功能组件,如何进行有效的组件管理,如何在组件库中快速、准确地检索到满足开发需求的组件,是摆在RMES开发者面前日益突出的难题。这其中涉及到组件的描述、分类、检索和匹配等关键技术。本文针对目前对RMES组件管理的研究现状,在遵循系统的观点和模块化结构设计的基础上,提出了基于XML-Schema机制来标准化描述RMES组件的各项属性,设计组件搜索算法,搭建组件管理平台。通过应用于国内某大型汽车制造企业变速箱装配线MES的开发中,进一步说明了在实际应用中的可行性。

  2 RMES组件标准化描述的研究现状

  基于组件开发(Component-based Development,CBD)是一种软件开发方法,采用这种方法在软件开发生命周期中的所有阶段,包括需求分析、体系结构、设计、构建、测试、部署、支持技术基础设施和项目管理。CBD的目标是改进软件开发的过程,手段是通过一些预先构建的软件组件来组成新的软件,而不是从头开发。因此,将CBD引入到MES的开发,采用可复用的MES软件组件技术是实现真正可用的RMES的现实、有效的途径。因此,只有真正建立一个具有通用标准的RMES组件管理器,那么RMES的敏捷性、可重构性等诸多优势才能得以实现。

  研究组件标准化描述的目的就是改进组件设计的随意性与使用中存在的信息不统一问题,使得组件的使用者能够利用这些信息快速的找到开发所需要的组件,并充分获取组件开发者描述的组件详细信息,使组件尽量发挥最佳的作用。组件标准化描述要能够达到四个基本目标,即可搜索、可计量、便于使用和支持。组件描述一般要包括组件的两大部分信息:一部分是组件模型所要求使用的(这根据组件模型的不同而不同),另一部分是附加的文本信息,提供给组件组装者使用。这里举出一些常用的组件描述信息,如:组件创建者、版本、创建日期、功能描述、组件接口规范、参数、约束条件、实现技术、运行平台、性能信息、缺陷、技术细节、业务逻辑等。很多组件开发的资料里都提到,在CBD的规划过程中,定义组件的时候都需要带有详细的组件规格说明。但是,对如何形成通用的组件规格说明,即如何实现组件的标准化描述却很少。

  随着组件技术与MES软件开发相结合的日益成熟,关于RMES组件的标准化工作也在逐步展开,提出了采用基于人工智能的框架表示方法来描述RMES组件的各项属性。框架是一种描述对象、类和组件的结构化表示方法,结合RMES组件的特点,采用框架槽来表示组件的基本属性,利用框架的推理特性表示组件层次结构关系和集聚关系。RMES的每个组件都由一个框架来表示,属性由槽来描述。槽可以有很多侧面,代表属性包含的内容,每个侧面还可以有很多值,描述组件不同的属性。但是,引用框架表示的组件在实际的运用过程中存在一定的缺陷,例如框架的结构化组件信息表示方式过于自由化,容易引起二义性甚至严重的错误,目前还不存在克服二义性的通用法则,同时,框架的结构化表示也存在复杂性,这两点可以导致组件库的检索效率低,维护困难。

  XML(eXtensible Markup Language)是万维网联盟(W3C)1998年2月发布的标准,是通用标记语言SGML(Standard General Markup Language)的一个子集。XML已成为互联网上表现结构化和半结构化数据的标准格式和数据交换的主要标准。概括地说,XML是一种元数据标记语言(Meta-markup Language),可提供描述结构化资料的格式,即它定义了利用简单的,人类可读的标签对数据进行标记所采用的一般语法,提供了计算机文档的一种标准格式,这种格式很灵活,可进行定制以用于各种领域:例如网站、电子商务、矢量图、对象串行化和远程过程调用。在此基础上,扩展XML并形成一种新的标识语言——csXML(Component Standardization XML),用文档类型定义(Document Type Definition,DTD)的机制来描述组件的标准化所需的信息。但是DTD本身存在一些缺陷,如:不支持现代的设计(例如面向对象建模等)、不适合XML最新的一些应用(特别是数据交换和应用程序集成)及与XML文档不兼容。因此,基于DTD文档建立的组件描述方法并不能完全达到RMES组件管理精确、高效的要求,而且,这种方式在实际操作中也存在很多阻碍,比如不能使用XML工具(例如XML编辑器或样式表工具)对含有描述RMES组件信息的DTD进行操作,因此描述的DTD文档不具备通用性。

  3 基于XML-Schema的RMES组件标准化描述

  XML模式建议规范(XML-Schema)是W3C为了克服DTD的缺陷而开发的一种新的替代方案。XML-Schema支持更现代的建模概念,更适于数据交换和应用程序集成,而且是作为XML文档编写的。因此,采用XML-Schema来标准化描述RMES组件是一种更加合理的途径。以下采用XML-Schema语法来编写描述RMES组件三个主要方面信息的XML文档。同时采用XML SPY进行XML建模,使得组件标准化描述的层次结构更加分明。

  3.1 RMES组件总体描述

  组件的总体描述也就是定义了组件本身(MESComponent),即XML的根节点。XML SPY绘制的结构如图1所示,它带有组件名称属性(Component Name)和在RMES组件库内的唯一组件编号(Component ID)。MES-Component包括三个基本的叶节点:RMES组件的自然属性(Nature Info),RMES组件的继承属性(Inherit Info)和RMES组件的接口属性(Interface Info)。

\
 

  图1 RMES组件总体描述模型

  3.2 RMES组件自然属性描述

  组件自然属性描述与组件本身相关的信息,XML SPY绘制的结构如图2所示。Schema在此处定义了包括组件创建者信息(Creator)、版本(Version)、组件类型(Type)、应用领域(Application)、功能描述(Description)、技术信息(Tech)、组件级别(Level),其中创建者信息包括创建者名称(Name)、公司名称(Company)、Email等基本信息。组件类型包括:MES业务组件、常规应用组件、数据访问组件、特殊功能组件,应用领域(Application)包括:流程工业、离散工业、混合工业,功能描述(Description)信息包括私有功能(Private-D)、公共功能(Public-D)。私有功能和公共功能描述主要是结合MES的主要业务模块而展开的,包括:生产计划调度、产品BOM管理、物料配送、生产数据采集和监控、产品质量管理、生产统计与分析、设备维护、系统管理等功能,在此基础上,根据业务要求进一步分解各功能模块,如将生产计划调度分为计划编制管理、计划汇总统计等,而计划编制又可分为年度计划管理、月度计划管理、三日滚动计划管理、日计划管理等。这种按业务功能划分的组件,具有模块化和“小粒度”的特点,其功能易于组合和装配,适应不同的应用。通常一个组件包含一个或多个逻辑上相关的类,合理地划分组件有利于提高组件的搜索精确度。

\

  图2 RMES组件自然属性描述模型

  技术信息(Tech)包括组件应用系统平台(Platform),如:Win9X/ME、Win2000、WinCE、Linux、MAC等。组件实现语言(Source),如:VB、JAVA、C、C++、DELPHI等。组件兼容的数据库(Database),如:Oracle、Sybase、SQLServer、Access等。组件运行的软件平台(Software),如:COM、CORBA、DOOM、EJB、J2EE、VCL等。组件级别(Level)自定义描述了组件功能的细化层次,把这些属性作为关键字有助于组件搜索策略智能化的实现。

  3.3 RMES组件继承属性描述

  组件继承属性描述了组件与组件之间的关系信息。XML SPY绘制的结构如图3所示。包括外部继承的组件编号(Inherit-CID)和内部集聚的组件(Assemble)。内部集聚的组件包括组件与组件之间的关系(Relation-CID)和组件和代理之间的关系(Agent-CID)。继承是指“拥有的”组件间关系,即一种类型的组件建立在另一种类型组件的关系,可以认为第一类的组件拥有第二类组件的所有事物,是单向的依赖关系。集聚是指“外部的”组件间关系,对双方来说这种关系都是可选的,在任何一个组件直接控制的事务中这种关系都不是必须的,这种关系可能是一个一对多或一对一的关系。这些属性有助于组件使用者查看组件的来源和去向的信息,并且在RMES组件管理中可以检索到近似功能的组件。当出现新的业务需求时,如果现有组件不能满足需要,可从最相近的RMES组件继承开发新的组件,而无需从头开发,从而大大提高了新功能模块的开发速度。例如物料欠缺组件继承了物料清单组件的所有属性,物料清单组件与库存清单组件集聚成了物料欠缺组件,若检索零件清单组件不成功,可从物料清单组件继承并二次开发。

\

  图3 RMES组件继承属性描述模型

  3.4 RMES组件接口属性描述

  组件接口属性描述了使用组件接口的相关属性信息。OMG对接口的定义是:接口是对一组客户可以向对象请求的可能操作的描述。XML SPY绘制的结构如图4、5所示。私有接口属性(Private-Interface)和公共接口属性(Public-Interface)。其中抽象接口属性包括接口名称(Interface-Name)、接口属性(Property)、接口操作(Operation)、接口功能描述(Use-Description)。接口属性的定义包括参数的数据类型(Data-Type)、参数的数据取值范围(Scope)和参数的读写属性(Read-Write)。接口操作包括操作的名称(Operation-Name)、操作的参数(Parameter)、操作的条件限制(Condition):包括操作的前续条件(在执行该操作之前必须满足的条件)和后续条件(在执行该操作之后必须满足的条件)、操作的返回(Return)和操作的事件(Event),事件描述触发组件产生的相关动作。这些属性有助于组件装配者正确使用组件。

\

  图4 RMES组件接口属性描述模型

\

  图5 RMES组件公共接口属性描述模型

  4 基于XML-Schema的RMES组件管理

  结合当前RMES的开发需求,在VS.NET平台上,采用了遍历、操作和修改XML的编程接口DOM,设计了简单、高效、实用的RMES组件管理器。DOM是W3C的一种技术标准,实际上是提供一组API来存取XML数据。DOM可以通过JavaScirpt、Jscript、VBScript等脚本程序来实现,也可通过C++、Java等高级语言来实现。组件管理器采用Browser/Server(B/S)结构,实现开发团队内部的在线组件信息管理,包括组件信息查看、组件添加、采用广度优先算法组件检索与匹配、组件删除、组件升级以及对组件Schema信息节点(如新的组件描述属性)的添加、删除等功能,其中,数据源采用XML纯文本文档,将数据存储于文件中。这种方式的最大优点是可以直接方便的读取组件信息,并且在浏览器中显示。

  5 结论与展望

  伴随着制造企业综合自动化的日益兴盛,MES在其中的重要性也逐步得到重视。基于组件方式的RMES是摆脱传统各自为政的开发模式、快速提高研发速度的有效途径。在实际操作中,也逐步认识到组件维护是CBD的一个重要基础。采用了基于XML-Schema来标准化描述RMES使用的所有组件,并且在此基础上建立了实用、高效的RMES组件搜索策略,从而大大简化了组件维护工作,避免了RMES开发过程中使用组件的混乱问题。在今后的工作中,将继续总结RMES组件的描述信息,完善Schema信息节点,努力试图借助目前较为成熟的搜索算法来提高组件搜索的知识性和重用性。


第三十五届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。