基于ISA95的MES集成接口研究
扫描二维码
随时随地手机看文章
美国先进制造研究机构AMR(Advanced Manufacturing Research)将 MES (Manufacturing Execution System,制造执行系统)定义为“位于上层的计划管理系统与底层的工业控制之间的面向车间层的管理信息系统”,它为操作人员/管理人员提供计划的执行、跟踪以及所有资源(人、设备、物料、客户需求等)的当前状态。
MES作为联结上层的计划管理系统与底层的工业控制系统的一个中间应用层,需要承担的重要工作之一就是在底层的工控系统和上层的计划系统间加工与传递信息,进行系统间的纵向整合。例如对自动化设备作业的工序产量统计,通过获取工控设备提供作业信号,应用MES系统进行汇总加工,作为最终的详细产量数据传递给上层的计划管理系统,这是一个典型的信息传递过程。为了做到这一类的信息传递,系统间的接口是保证数据顺利传递的关键。
2 ISA95标准
由于没有通用的集成模型、造成用户交流困难、不同供应商集成困难、集成后维护困难,因此美国国家标准局(ANSI)和仪表、系统和自动化学会(ISA)联合发布了ISA-95标准,全称“企业与控制系统集成”标准,以下简称ISA95标准。
ISA95标准是一个还处于发展中的参考模型。它基于四层制造企业层次结构,定义了连接企业和控制层行为的良好集成惯例。最初的重点是最上面两层(见图1),即业务规划和物流层(第4层)和以及制造操作和控制层(第3层)。ISA95的目的是提供一致的功能描述术语、信息和操作模型、以及信息数据交换。目前它还没有给出明确的协议或实施方案。它由5部分组成,其中第1、2、5部分集中在第3层与第4层的接口,第3、4部分集中在制造操作。
3 B2MML规范
B2MML(Business To Manufacturing Markup Language,业务到制造标记语言)规范是ISA95标准内容的XML执行标准。它利用XML Schema对标准定义的资源、信息流进行具体描述,定义企业管控系统间需交换数据的内容和格式。利用这一规范可以对不同应用系统中的数据指定统一的意义明确的标签,使同一数据可以为有需求的不同系统重复利用,达到系统间信息共享的目的。B2MML由WBF(World Batch Forum)创建,基于XML创建了第3层与第4层之间的通信规范的一种实现方式,用于文本信息交换。B2MML使业务过程和制造过程实现无缝集成,保证成本最小化的互操作性。而XML的使用也促成了异构系统之间的数据交换。
4 基于Web Service的数据交换平台
W3CWeb Services Architecture小组达成一致意见的Web Service的暂行定义如下:Web Service是由URI标识的应用程序,其接口和绑定可以通过XML构件进行定义、描述和发现,Web Service支持通过基于因特网的协议使用基于XML的消息与其他应用程序直接交互。Web Service是一种通过开放标准、Intemet以及基于业界标准的Intranet技术动态交互的软件组(应用程序和数据),它可以将不同厂商、不同硬件、不同语言编写成的应用程序集成到一起。Web Service是下一代的WWW,它允许在Web站点上放置可编程的元素,能进行基于Web的分布式计算和处理。
本文提出利用Web Service建立统一的数据交换平台。数据交换平台是建立在物理网络之上实现各个应用之间数据传输的一种“软通道”,主要功能是实现各系统之间的数据传递,并在一定程度上实现业务数据整合。
Web Service技术为企业解决多平台、多结构数据、跨地域的信息交换提供了一条解决途径。基于Web Service的企业数据交换是当前解决大型企业集团数据交换与共享的有效途径。在本文的应用中,Web Service可以将业务规划和物流层(第4层)的系统,如ERP、SCM等与制造操作和控制层(第3层),如MES系统无缝地连接起来。
5 基于Web Service的数据交换平台设计
本文设计的数据交换平台如图2所示。图2中,下方是数据交换中心,配备Web服务器和数据库服务器。Web服务器上面部署Web Service。系统l和系统2是需要交换数据的系统,在本文中,可以是ERP、SCM、MES等任何需要交换数据的独立系统。数据交换过程如下:假设系统l要发送数据给系统2,则系统1将数据目的地设置成系统2,将数据发送到数据交换中心,数据交换中心将数据存储在数据库里面。然后系统2登录数据交换中心再接收数据。任何系统间的数据交换都按照这种过程。这种数据交换方式使各系统间的耦合程度最低,现有的系统只需增加Web Service的调用过程就可以进行数据交换,而不需要改动原来的系统。
6 基于Web Service的数据交换平台实现
本文设计了4个Web Service Method来实现数据交换:
其中“Sender,Receiver,Xml”分别代表发送者、接收者、XML文本(本文中用于发送B2MML)。根据需要还可以加上发送时间等。
以上4个Method实现比较简单。在数据库里面设计一个表,将DataX的所有属性加入到字段里面。Send和Send2将发送的DataX对象保存到数据库,Receive是查询数据库中包含receiver的第1笔记录并返回DataX对象,发送成功后删除该记录。NumToReceive方法查询数据库中包含receiver的记录数。
7 用B2MML实现XML与对象之间的转换
第3节已经提到,B2MML规范是ISA95标准内容的XML执行标准。B2MML的出现使系统集成商能够使用ISA95标准进行分析设计,然后用XML进行实现。
B2MML定义了一系列的XML Scheme,包括Common Schema、Production Schedule Schema、Product Definition Schema、Process Segment Schema、Production Capability Schema、Production Performance Schema、Material Schema、Personnel Schema、Maintenance Schema、Equipment Schema等。这些XML Scheme总共包含了200多个类。本文利用工具将所有的类转换成相应的Java类和.NET类,再利用XML序列化(Serialize)和反序列化(Deserialize)来分别实现从对象到XML和从XML到对象的转换,即实现了XML到对象的双向映射。
XML Scheme可以从WBF官方网站下载最新版本,对应的Java类或.NET类的嵌套、引用关系比较复杂,代码过于庞大(最小的类文件都多达1600多行),因篇幅关系,不能列举。Java和.NET都针对XML到对象的映射设计了相应的类库。以.NET为例,XmlSerializer的Deserialize方法实现反序列化(XML到对象),Serialize方法实现序列化(对象到XML)。随着应用的发展,标准也会随之扩展,不同的应用也可以有一些扩展的功能,B2MML规范规定了多达六种的扩展方法,具有很强的扩展性。在这种情况下,本文采用的数据交换平台可以不加修改的继续使用,需要修改的是XML到对象的双向映射关系。
8 结语
本文使用Web Service技术设计并实现了一种数据交换平台,再利用B2MML实现的XML执行标准,实现了基于ISA95的MES集成接口。这种设计方法充分利用了Web Service的跨平台、异构特性,以及B2MML实现的XML文本信息交换,实现了跨行业、跨地域、跨平台、跨异构数据库系统之间实现低成本、可扩展的动态信息集成,实现了系统良好的开放性和扩展性。