1 概述
呼和浩特石化公司炼油与化工运行系统(生产运行系统,Manufacturing Execution System,简称MES) 采用Honeywell公司软件,项目于2008年10月启动,2009年6月上线运行,历时8个月时间,按照中国石油信息管理部统一的软件版本和实施方法论完成了14个功能子模块的实施,系统形成统一的生产数据平台。2012年初,随着呼和浩特石化公司500万吨/年炼油扩建工程建设的推进,公司信息化建设也全面展开,呼和浩特石化公司在生产执行层面将陆续建设一系列信息系统,包括以MES的数据和核心模块为基础的计量管理系统、蒸汽管网优化系统、ERP等,这些系统都是MES系统上的功能完善和应用延伸(以下简称扩展系统),用来充分挖掘生产执行信息的价值,为生产操作人员和管理人员提供更便捷、丰富的应用。
2 数据共享需求及可行性分析
在企业生产执行层面,MES系统居于核心地位,扩展系统均基于MES的数据和核心模块来提供方便用户的辅助应用,因此MES系统是其他扩展系统的基础,扩展系统的主要数据提供者,因此扩展系统与MES系统之间存在大量的数据共享需求。
呼和浩特石化扩展系统数据源可分为7大类,分别是公共数据、生产管理数据、运行管理数据、能源管理数据、质量管理数据和HSE数据。通过对扩展系统数据源分析,充分对比企业MES系统的现有数据,得到如下结果:
2.1 扩展系统七大类数据源MES系统基本可以全部提供。
2.2 MES系统数据库中只存储了各类基础
数据,报表展示的数据,MES系统只进行了汇总和展示,未进行存储,因此,MES各类基础数据具备共享条件,汇总类数据不具备共享条件。
可以看出,扩展系统的数据源与MES系统数据吻合度较高,具有共享可行性,部分MES系统暂无法提供的数据可以通过加强MES系统应用或增加数据录入接口的方式获得。
3 数据共享技术方案研究
3.1 方案设计
呼和浩特石化MES系统主要使用两套数据库:Oracle数据库和PHD数据库,扩展系统所需数据全部从这两个系统抽取。扩展系统与MES系统的数据共享方案总体设计思路是:搭建Oracle和PHD中间库,中间库从MES系统中提取数据,扩展系统从中间库中提取数据,MES系统不对扩展系统直接开放。
对MES系统而言,系统数据成功传输到中间库即标志着数据共享的成功,因此方案研究的重点是MES系统数据如何顺利传输到中间库中,即中间库如何搭建。
3.2 Oracle数据共享方案
Oracle数据库(包涵LIMS子系统数据库)里存储着MES系统的所有静态配置信息和手工录入的动态数据。Oracle数据共享方案示意图如图1所示。
图1 Oracle数据库共享总体思路示意图
中间库从Oracle数据库提取数据有三种方案。
方案1:在Oracle数据库上进行程序开发将数据送入中间库
Oracle数据库的数据同步(或定时)传输最常见的方式是在Oracle数据库中做开发工作实现,开发接口的方式主要有两种:
3.2.1 在每张所需的源数据表上开发触发器,实时将数据写入Oracle中间库中。
3.2.2 在每张所需的源数据表上创建JOB,定时将数据写入Oracle中间库中。
呼和浩特石化MES系统中已经开发存在存储过程、触发器若干个,系统数据共享后,需要对Oracle数据库中的多张表新创建触发器和存储过程,这些触发器和存储过程和已有的触发器同时执行,在加重服务器负荷的同时,对系统的稳定性也会产生影响。JOB方式情况与写触发器的方式类似。
方案2:使用ODI数据共享工具搭建中间库
Oracle的ODI数据抽取转化工具支持基于日志实现变化数据捕获,以Oracle数据库到Oracle数据库的数据同步功能,ODI提供四种数据同步方式,分别是:触发器方式非实时单项复制方式、触发器方式实时单项复制方式、LogMiner方式非实时单项复制方式和LogMiner方式实时单项复制方式。
其中,ODI LogMiner的正常使用要求Oracle数据库必须启用ARCHIVELOG归档模式,使用ODI LogMiner方式进行中间库搭建可以用以下方式实现:
3.2.3 更改呼和浩特石化公司的Oracle数据库为ARCHIVELOG归档模式,以满足ODI LogMiner的前提条件。
3.2.4 在Oracle数据库系统建立一个独立的表空间,为ODI的变化数据准备存储空间,独立的表空间可以有效避免对MES系统产生影响。
3.2.5 为数据捕捉建立一个数据库用户,该用户被ODI用来连接数据库,并获取变化数据,该用户需要被授予以下权限:
3.2.6 使用ODI提供的图形开发工具进行数据同步的开发和配置工作,实现中间库的数据传输。
呼和浩特石化Oracle数据库归档模式更改为ARCHIVELOG,不会对数据库产生任何影响,但需要科学设计服务器磁盘空间,并需要对归档文件进行规范管理。
为扩展系统创建的用户对MES系统数据具有只读权限,不会影响数据安全;但该用户需要被授予创建扩展系统独立表空间的权限,并对该表空间内的表有完全操作权限,会给数据库稳定带来潜在风险。
方案3:使用物化视图方式搭建中间库
Oracle的物化视图在9i版本之前称为快照,是包括一个查询结果的数据库对像,它是远程数据的本地副本。根据使用功能来分,物化视图可以分为用于数据复制的,或用于预计算查询重新的,在呼和浩特石化数据共享中,选择使用用于数据复制的,用以下方式实现:
3.2.7 在Oracle数据库上创建一个只有查询权限的数据库用户以供中间库物化视图刷新时连接数据库使用。
3.2.8 在中间库中创建2张表,一张是物化视图管理表TT,该表的作用是无论数据是否刷新成功,均需记录刷新日志(成功或失败)帮助系统维护人员查询数据是否刷新成功,该表包含要刷新的表名、刷新方式、是否刷新成功等信息;另外一张是物化视图刷新表XX,记录需刷新的表及刷新语句。首次物化视图创建需人工进行创建,也可通过创建存储过程自动创建,存储过程简单语句样例如下:
a)创建物化视图语句:
3.2.9 将要刷新的源数据表配入接口管理表TT中,自动刷新程序循环读取源数据表名。然后开始进行数据的刷新,如刷新成功,则将成功标识写入TT表中的相关字段中,否则写入失败标识。刷新失败的接口需要重新二次刷新,直至刷新成功。
物化视图的管理表和刷新表所配置的存储过程和其他接口信息均在中间库上创建和执行,对Oracle数据库仅仅只读访问,影响有限。同时,当发生异常时,如由于网络中断等原因造成session一直运行而无法自动执行下一天刷新时,需要进行人工干预。这种情况需要重新启动中间库数据库,无需对Oracle库进行操作。
三种方案的对比详情见表1。
表1 方案对比详情
可以看出,采用触发器方式建中间库,MES系统的数据传输量将至少是目前的两倍以上,服务器负载会有较大升高,隐患较大,不建议使用;ODI工具和物化视图方案都对Oracle连接数产生影响,但风险可控;ODI工具由于所需的数据库用户账号权限较大,会对整个数据库的平稳运行带来潜在风险,相比之下物化视图用户权限则较小,风险相对较小。
3.3 PHD数据库共享方案
PHD数据库里存储着MES系统的所有实时数据和部分可回写的手工录入数据,MES扩展系统所需要的实时数据均从PHD数据库中提取。搭建PHD中间数据库需要同时搭建PHD和Oracle两套中间库(PHD和Oracle数据库可以装在一台服务器上,也可以分开安装),中间服务器上配置所需要的实时点的信息,利用Honeywell OPC接口实现从PHD数据库实时取数,从而达到为扩展系统数据库提供数据源的目的,PHD数据共享方案示意图如图2所示。创建PHD中间库的技术较为成熟,有完整的实施办法,整个过程对MES系统服务器几乎不会产生影响,这里就不对方案进行详细论述了。
图2 PHD数据库共享方案示意图
3.4 风险分析
在进行数据共享方案研究、分析时,充分考虑了以下风险:
3.4.1 网络安全。由于数据共享采用中间库方式,中间库与MES系统是单向数据传输方式,因此扩展系统用户登陆和扩展系统服务器病毒不会影响MES系统安全。
3.4.2 数据安全。MES数据库对扩展系统无论封闭还是只读开放,扩展系统的操作都不会影响到MES系统数据,数据安全性无影响,但只读开放式要充分考虑数据保密因素,需要设计相关约束。
3.4.3 系统安全。无论哪种取数方式,在中间库访问MES系统数据库是(特别是Oracle数据库)一定会对系统的负荷以及平稳性带来或大或小的影响,可以通过及时进行数据备份等方式做到风险规避。
总结
经过研究和分析,可以看出MES系统与扩展系统数据共享具有可行性,ODI工具和物化视图共享方案具有可操作性。同时,以扩展系统共享需求为导向,可以更加充分的挖掘MES系统应用需求和应用深度,促进MES功能的完善和应用水平的提升,可以预见,MES系统和扩展系统集成共享,相互促进,将会提高整个呼和浩特石化生产执行层面信息化系统的应用水平。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:MES制造执行系统数据共享技术方案研究