中国石油MES的客户化开发--MES的客户化开发有助于系统实施的适用性以确保ME

作者:本网编辑 文章来源:《流程工业》(化工) 发布时间:2010-07-05

 
中国石油采用了国外成熟的软件包进行MES的实施,这种实施方式可以引进国外先进的管理理念,也便于系统的统一推广实施。但由于信息基础等条件限制,在大多数炼化企业实施MES时还需要进行必要的客户化开发,因此,在MES实施过程中需要对客户化开发进行有效的控制和管理,才能既有助于系统实施的适用性,又能保护成熟软件的先进性,从而确保MES的实施进度和实施质量。

中国石油MES是采用国外先进的成熟软件套件进行实施的。这些软件具有系统可靠性和运行性能良好、系统的可扩展性强、便于升级和维护等优点。虽然这套软件包含着国外领先的技术和业务经验,但所针对的是国外具有先进生产管理模式和良好的自动化条件的炼化企业,因此,在中国石油炼化企业(除新建企业)实施时,会遇到以下难题:

■国内炼化企业存在计量手段不齐全以及数采接口设备不完备或不标准等情况,无法全面采集企业的生产过程数据,达不到给MES自动提供实时数据的要求;

■国内大部分的炼化企业必须由生产车间的操作班组共同提供数据,才能实现生产管理业务的综合处理,而在国外自动化水平高的先进企业中,关键的生产管理业务可以在一个岗位进行集中处理;

■国内外油品计量标准和计量算法也不尽相同,需要在MES的实施中按中国的计量算法进行油品质量换算;

■这套MES软件套件的主要特点是搭建统一的数据平台和进行核心的业务处理,在信息展示、查询等方面的功能尚不能完全满足国内企业用户的需求。况且,国内企业各级管理人员很难接受国外简单的报表格式,需要形成以较少的篇幅展示更多信息内容的报表。    

为了解决以上难题,推动系统的顺利实施,在实施MES的过程中,必须进行必要的客户化开发,确保既是在自动化条件较差的企业,也能全面采集生产过程数据,顺利进行相关生产业务处理和信息展示,从而推动企业的自动化和信息化水平、最终提高生产运行管理效率。

客户化开发的原则

MES实施的客户化开发是对已有的MES成熟软件套件的补充,既要保护采用成熟软件实施MES的优点,也要增强系统的适用性和可维护性,并且要确保在多个企业同期实施MES时客户化开发的配套软件能保持统一性,为此,在MES实施过程中的客户化开发应遵循以下的原则。

尽量少做客户化开发

一般完整的客户化开发周期从需求分析到测试发布所需时间很长,过多的客户化开发,要占用大量的项目资源和时间,必然会严重延误项目的实施进度,而且会影响系统整体的可移植性,不利于系统的推广实施和未来的统一升级,因此,在MES实施过程中尽可能利用软件已有的功能进行实施,少做客户化开发或只做非常必要的客户化开发。对成熟软件中不完善和不适用的功能可以向软件商提出合理的改进需求。

保持和成熟软件的兼容与集成

进行客户化开发是为了更好地满足用户需求,并支撑成熟软件的应用,因此一定要在完全了解软件产品的功能和数据结构特点的基础上,在进行有效和充分的需求分析和系统设计后,再开始进行程序源代码的编写。客户化开发程序的后台数据库应和软件的数据库系统保持一致,并根据软件的技术架构,选择合适的技术路线,引用软件的功能权限控制体系以及编码规则等进行相关的客户化开发及实施工作,以确保和采用的成熟软件保持很好的兼容性和集成性。

应满足普遍性需求

在MES成熟软件套件基础上进行的客户化开发,应满足各炼化企业的普遍需求,对于只有个别企业的单独需求,建议尽量不做客户化开发,通过业务流程改进整合实施相关功能。
应具有较强的可移植性

客户化开发程序虽然不能像成熟软件套件那样严密进行系统的可重用性设计,但也要尽可能的对不同企业的业务现状和需求进行提炼,优化数据结构设计,充分考虑系统的灵活性和可扩展性,从而确保客户化开发的配套程序只须经过必要的系统初始设置,就能在不同业务类型企业推广应用。

有序的组织和管理

MES实施过程中的客户化开发,需要全面贯彻软件工程的开发思想,严格遵循需求分析、概要设计、详细设计、源代码开发、测试的工作流程,并结合软件配置管理流程,规范开发工作,降低实施应用风险。为确保客户化开发工作的高效和规范,在进行多个炼化企业MES实施时,应对客户化开发工作进行集中管理,并做好集中开发人员和企业现场实施人员的角色定位和协调工作,这样才能保证各个企业客户化开发程序版本的一致性,从而有利于进行系统应用后的升级和维护。

客户化开发的内容

由于MES实施中的客户化开发程序只是用来辅助成熟软件套件的,因此,对MES实施过程中的客户化开发内容需要进行明确的规定,控制客户化开发范围,实现以成熟软件套件为主的MES实施目标。

辅助数据采集功能

中国石油大多数炼化企业自动化水平不高,为了保持MES数据集成平台的统一性和集成性,也为物料平衡模型运算提供必要的基础数据,需要对系统的数据采集工作开发一些方便实用的数据录入程序,以实现下列的功能:

■手动位号录入功能:实现手动位号信息的快速录入和维护,可以在没有DCS的装置或位号采集不全面的装置建立手动位号,并且可以维护任意整点的生产过程数据,从而实现生产过程数据的集中储存和统一管理。

■装置物料生产数据管理:装置操作人员可以对物料生产的实时数据进行提取,然后进行质量转换计算,并由操作员进行显著误差的校正,初步验证装置的物料生产平衡情况。

■罐量计算与维护:罐区操作人员可以对储罐油品计量信息进行实时提取和手工维护,在按国家标准计量算法进行换算后,可以将罐存结果存入实时数据库中。

■物料路由开关维护:油品罐区操作员可以切换装置生产油品切换罐的状态和时间信息的录入界面,以供物料平衡模型运算获取准确的物料路由数据。

信息查询发布

针对成熟软件套件缺少综合的信息查询功能的情况,在项目实施过程中,需要根据已经产生的业务数据,对一些综合信息查询进行客户化开发,例如:

■化验信息查询平台:主要基于LIMS产生的业务信息实现了化验分析结果在WEB上的综合展示,从而使企业的生产管理部门和生产操作班组及时、准确掌握生产过程的质量状况;

■物料生产信息查询:实现装置、储罐、进出厂点各生产环节物料计量及移动信息的综合展示和统一发布,以便公司各级生产管理人员能迅速、准确掌握全厂的生产情况。

报表的编制与开发

国内炼化企业在几十年的生产经营过程中总结了本企业的生产报表格式,报表中的内容都是通过精心编制并且每个行列都有特定的含义,力图用一页报表综合展示企业某一类的生产综合信息,而国外MES成熟软件套件提供的报表主要是简单的列表,展示或打印高达十几页,因此在MES实施过程中,必定要进行以下客户化报表的开发工作。

■电子操作记录:通过自动提取整点的生产实时数据自动生成每个生产操作班组或岗位每天的电子操作记录,并进行综合展示和发布。

■实验室信息管理报表:根据LIMS产生的各类产品的质量信息,通过客户化开发自动生成产品质量合格证,实现质量等级品率、质量统计等各方面的质量报表。

■生产调度日报:根据MES各业务子系统产生的装置、罐区及化验室的生产数据信息,通过客户化开发可以实现每日企业装置生产、油品库存、生产计量、物料移动、质量分析、工艺监控等各类报表。

■企业各级领导和生产管理人员可以通过查询发布到生产运行管理信息平台的报表,就可以实时、准确掌握企业的生产运行情况。

系统集成接口

与企业现有系统的集成:企业在MES实施之前已经建设了一些对某一专业业务处理性很强的信息系统,这些系统可以提供MES需要的一些基础数据,因此需要和MES进行集成,减少数据的重复录入。为了实现MES的接口标准化,对大多数企业需要集成的外部系统信息,可以进行分类设计,并编制标准的数据接口程序和数据传递模型,通过标准的接口文件和中间数据表实现和不同企业的已有系统集成。

为其他系统提供数据支持:MES作为连接生产过程的信息系统,其它的应用系统通常需要MES提供数据支撑。对于自带实时数据库的系统,可以通过OPC标准接口实现数据的传递。但像ERP等经营管理系统则需要实现两个系统信息编码的转换,并通过客户化开发形成ERP需要的数据列表或文本清单,供ERP系统来提取相关数据信息。

扩展的应用需求

MES实施为企业建立了统一的生产数据平台和生产信息查询平台,为了提高中国石油各炼化企业的生产管理水平和生产效率,有必要对MES成熟软件中不具备的一些功能进行客户化开发,如:平衡率计算、调度指令下达、调度交接班日志管理等。

客户化程序的开发工具

MES的客户化开发分为两部分,分别是WEB程序开发和报表开发,所以开发工具的选择要分别考虑这两部分。

WEB 程序的开发工具

MES中的客户化开发是对国外成熟软件功能的一个补充,所以在选择开发工具时要考虑与原有软件的集成匹配问题。在MES采用的软件中,有一个Workcenter的产品模块,这是一个可配置的、基于网络服务的工作平台。MES实施中的所有客户化开发程序都要通过此平台集成发布到网上。

Workcenter的主要技术特点如下:

■Workcenter是基于微软.NET Framework下的WEB系统;

■Workcenter支持微软的操作系统平台,至少包括:Windows 2000服务器/客户端、Windows XP客户端;

■Workcenter的程序包含微软数据访问组件Microsoft Data Access Components (MDAC)、树形显示组件WebControls (ASP.NET Server Controls)、微软WEB服务器Internet Information Server (IIS)以及Windows系统接口;

■Workcenter的数据源于Oracle数据库、Uniformance PHD数据库。

从上述的主要技术特点可以看出原有软件大量应用了微软的开发产品,因此,采用微软的.NET框架下进行客户化开发就可以可以实现与MES软件的集成。

报表的客户化开发工具

目前国际上对于报表的开发,有很多种技术方案,其中水晶报表和Excel VBA是MES中比较流行的两种开发工具。

水晶报表可以做出各种大框架定好的报表,进行方便的组态定义,但绘制报表的工作量较大,需要由专门的程序员来完成,而且还有多页报表的最后一页无法补充空行填满整页面等问题。

EXCEL是很常见的办公软件,设计填写都非常简单,用Excel的控件采用VBA编程可以生成复杂格式的报表, 用户经过学习可以自己开发和报表,但维护报表的客户端电脑必须加入域,还需安装ORACLE和实时数据库的客户端,报表发布还需再通过.NET技术实现。

另外一种生产报表开发的技术方案是采用基于.NET和Oracle的存储过程开发统一的web界面的技术路线,这种方案的特点是所有的应用在服务器端生成,相同的逻辑代码可以重用,无须用户操作,对应的权限管理容易,但该方案后期维护不方便,用户很难修改逻辑,任何的改动都需要修改存储过程甚至.NET程序源代码。

考虑到报表的后续应用及维护,一般信息部门开发能力较强的企业采用Oracle储存过程和.NET开发环境的方案,而在一些信息部门人员较少几乎没有开发能力的企业采用EXCEL VBA技术开展报表客户化工作。

客户化开发工作的组织管理

MES系统实施的组织管理主要集中在数据收集、系统配置以及培训、布署和应用等方面,往往会忽略客户化开发工作。如果既没有制定良好的程序开发规范,也没有按软件工程的步骤开展工作,就会导致部分企业客户化开发程序频频出错,严重损害了企业用户使用MES的信心。这种不规范的开发方式不仅会导致程序质量差、系统不稳定,还会给系统后期的维护、升级带来更多的麻烦,因此,必须对MES的客户化开发进行严格的组织管理。

客户化开发工作的集中管理

中国石油除试点外的每期MES实施,都是由多个企业并行在现场开展实施工作的。如果不对客户化开发工作进行有效的管理,很容易造成每个企业各自为阵的局面,这不仅会造成项目工作量的重复,而且客户化开发程序处理界面和处理方式都不一致,因此,需要通过客户化开发工作的集中管理,形成支撑MES的统一版本的配套软件。

从组织上来说,MES项目需要建立客户化开发团队,由专人负责。项目的技术总监应对客户化开发进度和质量进行监控。

客户化开发团队主要由开发测试组、现场协调组共同组成。现场协调组人员最好是由现场实施MES高级子系统(物料移动、物料平衡、生产报表)的全体人员组成,除反映和汇总企业的应用需求外,还具有编制需求和变更报告的责任,并负责新软件和升级版软件的现场应用测试工作。开发测试组由具有实施经验的人员组成,更多的时间应集中在中国石油总部项目办公室,统一进行设计开发,只有部分人员在项目后期分散到各企业去进行报表的调试工作。

在MES各阶段客户化开发团队的主要工作任务如下:

■项目准备期(项目启动前一个月):客户化开发团队的系统设计人员,骨干开发人员以及未来的各企业现场协调人,应集中进行客户化方案整合与设计讨论,主要是根据以往的实施经验进行讨论和总结,形成客户化程序的改进方案以及研发计划。

■项目前期(项目启动及现状需求阶段):现场协调组在企业进行系统现状调研工作,同时进行客户化程序的需求差异分析,并提交需求变更说明书。开发测试组仍然按照在准备期制定的方案开展研发工作。

■系统设计阶段:现场协调组进行企业相关实施工作,并和开发测试组沟通变更需求。开发测试组的系统设计人员则按各个企业提供的变更需求进行统筹分析,进行统一的变更设计,并提交详细设计说明书给开发人员。开发人员则在系统设计人员的指导下进行相关的程序设计和单元测试工作。

■系统配置阶段:开发测试组应基本完成了客户化程序的改进和单元测试,并启动离线的系统集成测试工作。现场组除在企业进行相关系统配置工作外,还需将新配置的数据库系统提供给开发测试组进行集成测试。

■系统测试和用户培训阶段:开发测试组离线测试完成的客户化程序,现场协调组进行各企业的应用测试和程序发布。开发测试组根据企业的应用测试情况进行程序完善,并补充新的升级包。在此阶段部分开发人员要到企业进行具体报表格式的调试工作。

■系统上线和上线后支持:开发测试组主要通过接听热线电话对客户化程序问题进行收集和解答,并不断完善客户化程序,在现场组的支持下进行客户化程序的升级。部分开发人员仍然在企业进行报表的调试和支持应用工作。

严格执行软件开发规范

MES的客户化开发同软件开发一样需要严格按照软件工程的规范实施。从项目的用户需求分析、系统分析、编码、调试、测试、发布都需要一步一步完成,不能轻视或忽略任何步骤。前部分没有完成好,不要贸然进行下一步。越是项目起步阶段,越是要注意按照规范进行。

要形成统一版本的客户化配套软件,必须做好需求分析和系统设计工作,系统设计人员对所有企业的业务模式和应用需求应进行有效的归类和提炼,优化数据结构设计,方便实现灵活的系统初始配置和不同模式的业务处理,

特别需要重视客户化开发的文档管理。在程序开发前认真编制需求分析和详细设计,可以对分散的需求进行归类设计,可以预先整理程序实现的逻辑,有利于在开发前调整数据表结构,进行数据结构的优化设计,提高后续开发的质量。通过详细设计文档去引导开发过程,有利于开发人员对实现功能的总体了解,也有利于多个开发人员的协作和沟通。文档也是开发阶段结束的标志,每个阶段结束前,都需要提交相应的文档,开发负责人应组织相关人员对该文档进行审核,在充分讨论的基础上进行文档的重新修改和审核直到符合客户化开发的需求和原则为止。文档应该是贯穿整个过程的主线,在不同的阶段,需要不停地对文档进行完善,使之真正成为全体项目人员的智慧结晶。

重视系统测试

测试是MES客户化开发中容易忽视的问题。开发的工作并不仅仅是编码,测试也是开发的一个重要环节,是确保程序质量的重要方法和手段。要完成严格的测试,就必须建立规范的系统测试流程,有专人负责执行,而且开发人员要积极配合。

另外,在系统测试阶段,需要测试小组要进行一些常规内容测试(如:Y2K测试,病毒检查、裸机测试、加密检查、说明书检查……),并要求写入测试方案中。

由于客户化开发的组织是集中管理模式,因此在测试环境中尽可能搭建多个企业的数据库环境,在测试过程中,应分别连通不同的数据库进行测试,确保开发程序在多个企业的可用性。在客户化程序被发布到企业的服务器中时,都必须经过现场协调组的严格测试,然后才能通知最终用户使用。

进度控制

为了保证客户化开发不会对整个系统的实施进度造成严重的延误,必须严格控制开发进度,因此客户化开发团队在项目准备期就需要共同探讨实施中有可能出现的需求变更和开发实施风险,编制切实可行的项目计划,并在后续过程中进行有效的时间控制。

客户化配套软件的开发和布署一定要配合整体的MES实施进度,除按计划正常开展工作外,特定的时期需要通过赶工和并行工作等方式追赶进度,保证客户化工作和现场实施工作的同步。

结语

客户化开发工作在中国石油炼化企业MES实施中占有重要的地位,担负着高效应用MES的责任,必须引起极大的重视,为此,要通过科学有效的组织管理,在选择好开发内容的基础上,利用适当的开发工具、遵循软件工程开发规范完成这项艰巨的工作,在满足客户需求的同时确保客户化配套软件和MES成熟软件的兼容性和一致性,减少系统整体的实施成本和运维成本,提高MES的推广实施效率和应用水平。

0
-1
收藏
/
正在提交,请稍候…