下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 基于OPC通讯的报表管理系统的开发与应用 任玉辉 邹修铁摘 要:目前,DCS系统已经在工业控制领域被广泛应用,大大提高了工业控制的自动化水平,但是DCS系统给出的是实时数据,如何快速及时地采集这些实时数据将其存储,形成历史数据并作为管理人员进行考核评比的标准,成为摆在管理人员面前的一个问题。通过OPC技术与DCS系统通讯实现数据采集,使用数据库完成对数据的存储,开发报表系统能够很好的解决这一问题。基于此,本文结合OPC通讯技术,详细介绍了某烧结厂报表系统的开发与应用过程。Key:OPC;烧结;报表1.引言随着烧结工业生产规模的扩大和对产品质量的要求的不断提高,如何高效准确的完成对烧结过程的管
2、理考核,成为了摆在管理人员面前的一个问题。目前,各个烧结厂管理人员只能通过定时的人工抄写各项指标值,再一项一项的录入到EXCEL表格中,通过一系列的计算,形成生产报表,完成考核。这种方式不仅繁琐,而且很大程度上依赖人工操作,缺乏可靠性和准确性。因此,开发能够与DCS系统通讯高效准确地生成生产管理报表的报表系统就显得尤为重要。本文提出的基于OPC通讯技术的报表管理系统是根据某烧结厂的需求完成开发的。系统的数据处理层通过采集模块完成对DCS系统指定数据的采集,并将数据存储在数据库服务器中,数据库服务器完成对历史的数据的抽取挖掘,形成报表所需要的数据,系统客户端通过与数据库服务器通讯,生成所需要的报
3、表。2.相关技术介绍系统是基于OPC通讯技术来完成开发的。OPC(OLE for Process Control, 用于过程控制的OLE)是一个工业标准,它基于微软的OLE(现在的Active X)、COM (部件对象模型)和DCOM (分布式部件对象模型)技术,包括一整套接口、属性和方法的标准集,用于过程控制和制造业自动化系统。OPC数据访问主要由服务器对象、组对象、和项对象组成:(1) OPC Server(服务器):OPC启动服务器,获得其它对象和服务的起始类,并用于返回OPC Group类对象,可以动态创建和释放组对象;(2) OPC Group(组):存储由若干OPC Item组成的
4、Group信息,并用于返回OPC Item类对象。(3) OPC Item(项):存储具体Item 的定义、数据值、状态值等信息。每个OPC项代表了OPC服务器到数据源的一个物理连接。数据项是读写数据的最小逻辑单位。OPC项不可以由OPC客户直接操作,所有对OPC项的操作都是通过包含该项的OPC组进行的。OPC服务器对象和组对象是聚合关系,即OPC服务器对象产生OPC组对象后,将组对象的指针传递给客户,由客户之间操作对象。这样既提高了数据存取的速度,也易于功能扩展,体现了组件软件的重用性。3.系统的开发与应用系统以VS2005为开发平台,ORACLE作为数据库服务器,采用了基于三层结构的多层架
5、构开发模式,结合OPC通讯技术完成与DCS系统的通讯。系统结构图如图3-1所示:3-1系统结构图3.1 数据采集模块为了增强系统的实用性,在实现数据采集模块的过程中将OPCServer和OPC项的信息存储在数据库中,用户可以根据自己的需要,把OPCServer对象信息和OPC项对象信息配置在数据库中,这样处理后,用户可以根据自己的需要,配置OPC项对象,避免了加载不需要的项对象而造成的系统资源的浪费。实现此OPC客户端主要通过以下几个步骤:(1) 导入OPC自动化接口服务。将OPCAutomation.dll添加到项目引用中;(2) 连接OPC服务器。OPC提供的连接服务器的接口需要两个参数:
6、OPC服务器名和OPC服务器IP地址;(3) 添加组。(4)添加数据项。(5) 读取OPC数据。在客户端有两种方式获得服务器端的数据。一种是定时的主动去读取服务器上的值,另一种是同通过组对象的DataChange事件触发来获得,当服务器上的数据发生变化时,会触发DataChange事件,本项目中是采用主动读取的方式来获得数据的;在每次关闭数据采集模块的时候,要释放OPCServer对象的组对象和项对象。因为每台OPCServer对连接点数是有限制的,如果不释放这些对象,会使连接点数积累而达到限制值。3.2 数据库设计系统采用ORACLE 数据库作为数据库服务器,数据库设计主要分为三个部分:(1
7、) 数据表部分数据表分为系统表、数据抽取表、报表数据表三部分,其中系统表记录整个系统的相关信息,包括OPC配置信息表、OPC点信息表、数据总表、系统日志信息表等;数据抽取表分为小时数据抽取表、班数据抽取表,小时数据抽取表将数据总表中的数据每小时做一次平均、求和等处理后逐条记录,数据抽取表主要为日报表提供数据来源,班数据抽取表将小时数据表的数据每班做一次平均、求和等处理后逐条记录,为月报表、年报表提供数据来源;报表数据表是按照客户端所需报表的格式定义的数据表,将客户端报表的数据项与报表数据表对应的字段进行绑定,最终生成所需要的数据报表。(2) 作业部分数据库服务器中的作业按照指定的周期完成指定的
8、命令,主要完成数据的定时抽取。如(1)中的小时数据抽取表、班数据抽取表都是依靠作业来定时完成的。(3) 存储过程部分在生成报表的时候,需要对基础数据进行平均、求和、求最值以及类似作业率、一级品率等相关计算,这些操作都是通过编写存储过程来完成的,通过存储过程处理形成最终的数据写入到对应的报表数据表中,采用存储过程完成这些计算速度更快性能更好,系統在客户端直接调用存储过程,形成最终的数据报表。3.2客户端开发系统的客户端是采用多层架构设计模式来实现的,实现动态创建不同的数据层对象接口。整个架构包括UI(表示层)、 BLL(业务逻辑层)、DAL(数据库访问层)、Model(模块层)四个软件层次模块。各部分的具体功能如下:(1)UI:表现层。人机交互界面,调用业务逻辑层的接口。(2)BLL:业务逻辑层组件。调用接口实现数据层的访问。(3) DAL:数据访问层,实现BLL中的接口,完成与数据库的数据操作。(4)Model: 业务实体模型。数据库是关系型,不是面向对象的,要实现面向对象那就得把平面的表结合业务规则抽象成类。此
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年福建省福安市高二生物下册期末考试模拟卷及参考答案(达标题)
- 2025年云南省大理市高二生物下册期末考试考试卷及答案【各地真题】
- 2025年青海省德令哈市高二生物下册期末考试模拟卷附答案【培优】
- 2026年贵州省兴义市高二生物下册期末考试试卷【学生专用】附答案
- 2026年青海省玉树市高二生物下册期末考试试卷及参考答案【典型题】
- 2025年山东省临清市高二生物下册期末考试试卷含答案(突破训练)
- 2026年山东省平度市高二生物下册期末考试模拟卷附参考答案(预热题)
- 2026年浙江省瑞安市高二生物下册期末考试考试卷带答案(满分必刷)
- 2025年黑龙江省密山市高二生物下册期末考试模拟卷及答案(典优)
- 2025年黑龙江省肇东市高二生物下册期末考试测试卷附参考答案【培优B卷】
- 中国2型糖尿病运动治疗指南(2024版)
- 影剧院防震应急预案范文(3篇)
- 2025年国家开放大学电大政治学原理期末考试题题库及答案
- 肉羊饲养管理课件
- 吉林省2025年初中学业水平考试(中考)语文真题试卷(含答案)
- 触电急救与安全用电
- DBJT15-162-2019 建筑基坑施工监测技术标准
- 工会代表选举程序及职责
- 安全生产管理制度-普货运输
- 汽车行走的艺术学习通超星期末考试答案章节答案2024年
- 中国产业政策研究综述
评论
0/150
提交评论