您现在的位置是:首页 > 行业 > 制造 >
MES生产报表子系统的优化
2009-07-20 21:38:00作者:王桂霞 魏海平 梁永烨来源:
摘要在分析了目前国内企业MES生产报表子系统开发方案的优缺点的基础上,提出了基于VBA、EXCEL和.NET技术的开发方案,很好地实现了表示层、业务层和数据层的分离。系统实际应用的效果表明,方案达到了操作简便、维护修改方便、能及时准确提供所需数据的目的。 ...
随着信息化的快速发展,在计划管理层与底层控制之间起着桥梁作用的MES(Manufacturing Execution System)越来越引起企业的关注,很多大中型企业为了更好地控制生产成本,已经在企业内部推广使用了MES系统。
在MES整体架构中,作为高级应用的生产报表子系统直接为生产决策层提供综合的生产数据信息,因此在实施MES中受到极大的关注。当前集成化的 MES产品主要由国外软件商提供,MES软件自带的报表模块的设计以及表格样式都遵从国外企业的应用要求,并不完全适合国内企业,国内企业的生产过程大都较为复杂,因此管理层对生产报表更具有多样性需求。在几十年的生产经营过程中,报表中的内容都是通过精心编制并且在实际使用中经历了长期调整完善的过程,报表中的每个行列都有特定的含义,因此,在MES实施过程如何搭建这类生产报表子系统的技术架构,是一个值得探索和研究的课题。本文以抚顺石化公司石油三厂为例,详细介绍MES中生产报表子系统的开发。
1 需求分析
在实施MES以前,石油三厂的调度报表不能自动采集数据,主要是人工获取数据,用Excel生成厂报表后通过邮件再向公司传送数据。显然在信息化高度发展、企业管理13趋精细化的年代,这样的生产报表信息已无法为领导决策提供及时准确的数据支撑,因此,自动化水平已成为生产报表实施的关键。石油三厂对装置和产品调运的职能是由厂调度执行,所依据报表数据分装置生产情况(包括计划、完成量、收率、累积、超欠),产品生产情况(包括计划、缴库量、出库量、库存量),原料情况(收量、消耗量、平衡量、库存量),互供料输送情况(包括其他相关厂供入供出品种的计划量、完成量和累积量)以及质检的检验数据等12大类。生产报表的汇报流程采用车间-厂调度-公司逐级上报的形式。
2 技术方案
国内企业MES项目中生产报表的技术方案大多采用基于.NET和Oracle技术进行开发的。这种方案的优点是有统一的操作界面,用户容易熟悉、操作方便;相同的逻辑代码可以重用;所有的应用在服务器端生成,客户端只需要能够上局域网即可,不必须加入域,也不必安装Oracle客户端和PHD 客户端;报表发布和管理简单。但在实施过程中,也遇到了很多具体的问题,例如:后期维护不方便,用户很难修改逻辑,任何的改动都需要修改存储过程甚至 NET代码;开发过程复杂,所有的逻辑需要在Oracle的存储过程中完成;每一张报表都需要做两遍逻辑,一个用于网页显示,一个用于导出到Excel表格;格式复杂的报表web界面绘制麻烦。另外,这种方案中用.NET进行COM操作也有它致命的缺点:每次COM调用EXCEL会在服务器端创建一个单独的EXCEL进程,当用户数量增加或服务器长期开启时,这种进程会越积越多,最终会导致内存耗尽而使服务器崩溃。
通过项目组、厂内系统维护人员以及业务人员的综合考虑,最终决定不采用上述方案而改用Excel、VBA和.NET相结合的开发方案进行开发,尽管这种方案在使用时客户端电脑必须加入域,安装Oracle以及PHD客户端;代码重用度低;报表发布和管理困难等缺点,但是相对于.NET来说VBA 更容易掌握,也便于系统上线后计算机维护人员以及业务人员的维护和修改,另外,不会在服务器端产生死进程,因此,基于综合考虑,石油三厂MES调度报表子系统在报表部分采用了C/S结构,利用Excel的VBA进行开发,而在数据发布部分以及一些手动录入的数据部分采用B/S结构,利用.net进行开发。基于选定的技术路线以及石油三厂的生产运行管理模式,设计了如图l所示的生产报表子系统技术架构。该技术架构综合了VBA、EXCEL和.NET技术,进行了数据层、应用层、表现层的3层架构设计。
图1 石油三厂MES生产报表子系统技术架构图
3 具体实施
(1)首先为在数据来源中那些没有任何来源的数据设计人工录入界面。使用ASP.NET为用户开发WEB录入界面。这一部分要有权限控制,只有那些通过了相应域认证。并且有权限录入的人方可录入。这些数据最终存储在Oracle数据库中。
(2)准备EXCEL报表的配置页。在EXCEL报表中加入配置隐藏页,这些页面中可以包括对各种报表元素取数逻辑的配置,如侧线D、罐号编码等等。这样的好处是可以使用统一的逻辑代码来处理类似的报表单元格,提高了代码的重用性。而且,当报表元素发生变化时,可以简单的通过修改配置页,就可满足需求的变化,而不用修改代码、重新调试程序。这样对未来的维护人员的要求也大大降低,减少了维护的工作量,使报表更加灵活、健壮。
(本文不涉密)
责任编辑: