壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1084|回复: 0

Hibernate数据持久化技术在轮胎企业MES中的应用

[复制链接]
发表于 2012/10/17 20:27:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x

   由于市场环境的变化和现代生产管理理念的不断更新,一个制造型企业能否良性运营,关键是使计划和生产密切结合,企业和生产管理人员可以在短时间内掌握生产现场的变化,做出准确的判断和快速的应对措施,保证生产计划得到合理而快速修正。虽然ERP和现场自动化系统已经发展到非常成熟的程度,但由于ERP系统的服务对象是企业管理的上层,一般对生产流程的管理不提供直接的支持,而现场自动化系统的功能在于现场设备和工艺参数的监控,它可向管理人员提供现场检测和统计数据,但本身并非真正意义上的管理系统。所以,ERP系统和现场自动化系统之间出现了管理信息方面的“断层”。而制造执行系统(MES,Manufacturing Execution System)恰好填补了这之间的空白。

  1 MES的定义与功能

  MES是美国管理界20世纪09年代提出的新概念。它是处于计划层和现场操作控制层之间的执行层,主要负责生产管理和调度执行。MESA International对MES所做的定义为:MES是传送信息以优化从订单开始执行到产品制成整个过程之生产活动的系统。MES通过使用精确的实时数据,引导、响应并报告生产现场的活动,从而快速地响应条件变化,减少无价值的行为,驱动有效的现场操作和加工过程。

  MESA International还归纳了以下主要的MES功能模块,包括:(1)工序详细调度;(2)资源分配和状态管理;(3)生产单元分配;(4)过程管理;(5)人力资源管理;(6)维护管理;(7)质量管理;(8)文档控制;(9)产品跟踪和产品清单管理;(10)性能分析;(11)数据采集。

  MES的各功能模型与企业其它信息化系统的关系如图1所示。实际的MES产品可能同时包含了其中一个或几个功能模块。

200908240936.jpg

  图1 MES的各功能模型与企业其它信息自动化系统的关系

  由于MES的各种功能很大程度上都要对数据库进行操作,如果直接对数据库进行操作,一方面工程浩大、代码冗长,另一方面不易维护、危险性高。因此以完全面向对象的概念来进行操作则能摆脱这方面的风险,这就是将要讨论的Hibernate对象持久化技术。

  2 Hibernate

  2.1 Hibernate介绍

  Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了轻量级的对象封装,使Java程序员可以随心所欲地使用面向对象编程思想来操纵数据库。它不仅提供了从Java类到数据表之间的映射,也提供了数据查询和恢复机制。相对于使用JDBC和SQL来手工操作数据库,Hibernate可以大大减少操作数据库的工作量。另外Hibernate可以利用代理模式来简化载入类的过程,这大大减少了利用Hibernate QL从数据库提取数据的代码编写量。Hibernate已经能支持几乎所有的流行数据库服务器。

  2.2 Hibernate原理

  Hibernate技术本质上是一个提供数据库服务的中间件。它的架构如图2所示。

200908240937.jpg

  图2 Hibernate的架构

  图2显示了Hibernate的持久化服务在一个数据库应用中的作用:应用程序通过Hibernate与数据库发生关系,对数据进行操作。而Hibernate通过一些配置文件(如Hibernate.properties和类映射文件XML Mapping)将类映射到数据库的行。从而,APPlication可以通过持久化的对象类直接访问数据库,而不须使用JDBC和SQL进行数据的操作。

  Hibernate具有很大的灵活性,但同时它的体系结构比较复杂,提供了好几种不同的运行方式。在轻型体系中,应用程序提供JDBC连接,并且自行管理事务,这种方式使用了Hibernate的一个最小子集;在全面解决体系中,对于应用程序来说,所有底层的JDBC/JTA API都被抽象了,Hibernate会照管所有的细节。

  3 系统的设计

  本系统针对轮胎生产过程的特点及某轮胎公司的具体情况采用了基于Web的B/S模式。该系统分为两层,下层利用Delphi开发,实现的功能是现场数据的实时采集,相关的信息实时显示给现场的生产管理人员,以及采集数据上传至SQL Server后台数据库。上层利用Java开发,采用企业局域网网页的形式,通过Hibernate映射数据表,获取数据信息,实现的功能是生产信息的查询,实时监控;作业人员交接班查询,缺勤统计;作业的计划和排产;产品产量的管理。系统结构如图3所示。

200908240938.jpg

  图3 系统总体结构图

  4 Hibernate在系统中的应用

  以该企业的密炼厂上层实时显示生产信息为例。该分厂在上层需要实时显示的信息是电流值和电机转速。显示的信息来自于服务器SQL Server数据库。本系统由Hibernate数据库中相关的表,将表中的元素映射在持久化对象中。

  4.1 Hibernate配置

  创建名为Hibernate.porerties的配置文件。该配置文件由Hibernate用来连接到数据库、生成模式和获得其它特定数据库信息的属性组成。要将底层数据库的变动映射到整个应用,只需要修改该文件内的属性值。配置内容如下:

  ## define query language constants/fucntion names

  hibernate.query.substitutions true 1,false 0,yes‘Y’,no‘N’,

  ## package imports

  hibernate.query.imports net.sf.hibernate.test,net.sf.hibernate.eg

  hibernateconnectionprovider_class netsfhibenrnateconnectionDBCPConnectionProvider

  hibernate.connection.pool_size 80

  hibernate.statement_cache.size 80

  ## connection pool

  hibernate.dbcp.maxActive 100

  hibernate.dbcp.whenExhaustedAction 1

  hibernate.dbcp.max wait 120000

  hibernate.dbcp.maxIdle 10

  ## perpared statement cache

  hibernate.dbcp.ps.maxActive 100

  hibernate.dbcp.ps.whenExhaustedAction 1

  hibernate.dbcp.ps.max wait 120000

  hibernate.dbcp.ps.maxIdle 10

  ## mssql

  hibernate.dialect net.sf.hibernate.dialect.SQLServerDialect

  hibernate.connection.driver_class com.micorsoft.jdbcb.sqlserver.SQLServerDriver

  hibernate.connection.url jdbc:micorsoft:sqlserver://Localhost:1433;DatabaseName=MES;SelectMethod=cursor

  hibernate.cnonection.username sa

  hibernate.connection.password 800588

  ## print all genearted SQL to the console

  hibernate.show_sql true

  hibernate.cglib.use_reflection_optimizer false

  4.2 Mapping文件的编写

  Mapping文件写得正确与否关系着Hibernate持久化服务能否正常运行;写得是否合适对整个解决方案的性能也有很大影响。本例使用的是数据表Tb_DownStream_A,其映射文件DownStream_A.hbm.xml如下:

  <?xml version=“1.0”?>

  <!DOCTYPEhibernate-mapping PUBILC”-//Hibernate/Hibernate Mapping DTD 2.0//EN“”http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd”>

  /

  4.3 持久化对象操作

  根据Hibernate的配置文件可以完成数据库的连接。根据需要写出相应的Hibernate QL语句,调用查询方法,获取满足需要的数据集。本例中的查询条件为所要查询的下辅机机台和系统运行的当前时间,相应的代码如下:

  Query query=session.createQuery(“form DonwStream_A as ds_a where ds_a.station_id=:station_id and ds_a.time >=:starttime”);

  query.setString(“station_id”,station_id);

  query.setString(“starttime”,starttime);

  List results=query.list();

  5 系统实施效果

  目前该MES系统已完成了某轮胎企业密炼分厂功能模块。该分厂现有密炼机8台,下辅机6台,上辅机6台。该分厂通过实施MES系统后,达到以下效果:

  (1)实现了对上、下辅机运行状态的实时监控,使技术人员可以及时看到设备处于运行、停止或故障的状态,可以根据监控的状态做出相应的操作;

  (2)实现了对影响上、下辅机过程运行状态的关键参数的    实时监控,使生产的运行状态保持平稳,当生产状态发生变化时,可以及时地做出反应;

  (3)实现了密炼机混炼全过程生产信息的统计,使上层管理人员可以及时了解生产的进度;

  (4)实现了上辅机配料、密炼机炼胶生产工艺的查询,使技术人员可以及时了解每个配方胶料的工艺参数,以便进行产品跟踪;

  (5)实现了生产计划的及时下发,协调了生产现场和调度下达的关系,提高效益;

  (6)实现了交接班的查询、缺勤统计、每班产品数量统计、每班产品质量预测统计、异常波动统计等功能,使管理水平上了新的台阶。

  6 结束语

  Hibernate是一个功能强大,可以有效地进行数据库数据到业务对象的O/R映射方案,满足网络中的数据对象持久化要求,简化客户端对数据库数据操作的过程。在MES系统中使用Hibernate技术,可以使开发人员专心地实现业务逻辑而不用分心于繁琐的数据库方面的逻辑,减小出错的机会,同时能为开发小组提供更合理的模块划分方法,利于节约开发成本和时间,提高业务应用的性能,提供更灵活的业务逻辑。




该贴已经同步到 lihuolin958的微博
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/29 01:22 , Processed in 0.020888 second(s), 19 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表