-
产品中心
产品体验
PLM解决方案
PLM成功案例
-
服务与支持
-
关于我们
-
联系我们
产品视频
产品预约演示
MES生产统计报表解决方案
- 【导读】
- 当前集成化的MES产品主要由国外软件商提供,MES系统自带的报表模块的设计以及表格样式都遵从国外企业的应用要求,并不完全适合国内企业,国内企业的生产过程大都较为复杂,管理
随着技术的成熟,MES系统在各行业得到广泛应用,作为MES高级应用的生产统计报表子系统,直接为企业生产的决策层提供综合的MES数据信息。当前集成化的MES产品主要由国外软件商提供,MES系统自带的报表模块的设计以及表格样式都遵从国外企业的应用要求,并不完全适合国内企业,国内企业的生产过程大都较为复杂,管理层对生产报表有多样性需求。各行业MES项目组吸取各单位成功的经验,修改及优化不足的地方,重新设计了一套尽可能通用的生产统计平台,以减少实施人员和实施单位后期维护人员的开发量并降低开发难度。
1报表系统
报表系统提供报表查询、报表导出功能。生产信息综合管理系统提供人工数据录入平台、生产数据综合查询、调度或生产日志、MES相关系统页面整合功能。生产报表子系统实施范围主要是生产部编制的各类调度报表,包括生产日报、运行状态日报、工艺技术指标日报以及质量日报等。通过报表数据分装置生产情况(包括计划、完成量、收率、累积、超欠),产品生产情况(包括计划、入库量、出库量、库存量),原料情况(收量、消耗量、平衡量、库存量),质检的检验数据,分厂领导和油田主管部门可以了解炼化总厂的生产状况。
用户操作页面是用户进行报表操作的主页面,在报表查询里选择需要查询的装置,在出现的WEB界面里有“浏览报表”和“导出报表”,浏览报表给用户提供以WEB的方式打开报表;导出报表提供以EXCEL方式打开或保存报表。
2生产统计报表的结构及功能
2.1生产统计报表的结构
生产统计报表采用ASP.NET+存储过程+EXCEL的技术结构。系统结构采用B/S,能实现不同人员从不同地点以不同接入方式访问和操作共同的数据库。MES生产统计报表的总体架构如图1所示,所有相关数据可以从Uniformance中PHD实时数据库和Oracle数据库中取得,并经过整合、汇总生成相关报表,为生产工作提供决策依据和参考。
图1 MES生产统计报表总体架构
生产统计子系统的核心分为前端表现逻辑层和数据整合逻辑层,每一层都包含相关的子模块及相关类,如图2所示。

图2 生产统计系统结构
前端表现逻辑层为用户提供可视化操作界面、报表配置维护界面,包括处理数据以及与数据整合平台沟通的通用逻辑类。前端表现逻辑层通过客户端浏览器接收用户提供的参数信息和指令,通过通用逻辑类得到所需的基础数据集,并进行加工处理,最后返回给用户。
数据整合逻辑层为前端表现逻辑层提供丰富的基础数据,包括通用的数据访问类、数据库表和存储过程集。前端表现逻辑层与数据整合逻辑层通过各自包含的逻辑类库进行互相访问,耦合性较低,可移植性和通用性较强。
2.2生产统计报表的功能
(1)根据需要对各类基础数据进行汇总、整理,生成生产统计报表。
(2)针对不同装置、不同的业务需求,生成不同业务类型的生产统计报表。
(3)对生产运行数据进行整理,提供直观的生产数据信息。
(4)提供报表数据的提取、查询、打印等功能。
2.3报表导出的流程
(1)用户点击页面上浏览报表或导出报表按钮,触发按钮事件。
(2)进入Control类进行逻辑转向。
(3)进入逻辑层分析XML文件,得到用户配置的报表名称与对应的存储过程名称及参数。
(4)通过通用数据访问层得到存储过程返回的DataSet。
(5)进入逻辑层,利用通用导出类,将DataSet中的数据写入Excel表格。
3生产统计报表的实现
3.1数据来源
数据来源分为自动获取和人工录入。使用ASP.NET为用户开发WEB录入界面,并为不同装置和业务的人进行权限分配。这些数据最终存储在Oracle数据库中。
3.2数据查询
所有的报表配置信息都存储在Search Conditions.XML文件中,包括分类与报表之间的对应关系、报表与报表模板名的对应关系、报表与存储过程的对应关系,以及每个存储过程所需的参数信息。XML文件通过配置界面修改。通用查询类实现通用的查询功能,从数据逻辑层提取数据。
3.3数据导出
根据配置的XML信息,提取Oracle数据库中需要的数据,导出到准备好的Excel报表模板中,并利用浏览器即时下载返回客户端,以便于用户浏览及打印。
Excel模板分为报表sheet及数据sheet。数据sheet用来存储从系统中提取的数据,报表sheet为用户打印的最终样式。Excel模板需要根据客户需求,提前制作并置于服务器端的Template文件夹中。当报表元素发生变化时,可以简单地通过修改配置页,根据具体要求修改存储过程,修改Excel模板的VBA公式,达到用户要求,而不用修改代码、重新调试程序。这样对维护人员的要求大大降低,减少了维护的工作量。