首页专业论文技术应用政策标准解决方案常用资料经验交流教育培训企业技术专家访谈电力期刊
您现在的位置:北极星电力网 > 技术频道 > 专业论文 > 监控系统报表及历史数据库系统的实现

监控系统报表及历史数据库系统的实现

北极星电力网技术频道    作者:佚名   2008/1/11 14:05:48   

摘要:本文介绍了利用DDE协议实现ABBFreelance2000监控系统EXCEL报表的生成,并介绍利用UDP协议与ABB监控系统通讯实现SQLServer2000历史数据库系统。

关键词:报表 历史数据库 实现

1引言
按"无人值班"(少人值守)的原则,红叶二级水电厂在进行监控系统设计中,对报表和历史数据存储提出了生成EXCEL报表和SQLServer2000数据库的要求,用以提供现场运行、维护、事故、故障状态下的各种数据,为电厂安全运行、科学决策提供可靠的依据。报表和历史数据库系统采用VC 、VB、ASP.NET、EXCEL的VBA编程实现,运行在WINDOWS2000系统平台上,并与ABBFreelance2000监控系统实时通讯。

2 监控系统EXCEL报表

2.1 系统构成
EXCEL报表系统是一个独立运行的软件系统,与ABBFreelance2000监控系统通过网络连接,遵循DDE(DynamicDataExchange)协议。

DDE用于在Windows平台上的两个正在运行的应用程序之间动态交换数据,是一种在Windows操作系统中基于消息的协议。其数据交换总是发生在两个正在运行的程序之间,在这两个应用程序之间相互发送和接收命令及数据。这两个程序分别称为客户和服务器程序,客户程序就是请求服务的程序,而提供服务的程序称为服务器程序。

在该系统中,监控系统程序作为DDE服务器,EXCEL报表系统程序作为客户程序从监控系统访问获取数据。如下图所示。


EXCEL报表系统主要完成运行日报和运行月报数据的生成及统计,运行日报分为:电气日志、公用日志、机组日志,由EXCEL报表系统主程序启动EXCEL后台程序进程打开运行日报EXCEL模板工作表完成每日整点数据的生成,并计算出每日的最大、最小值;运行月报分为:电气月报、公用月报、机组月报,由EXCEL报表系统主程序启动EXCEL后台程序进程打开运行月报EXCEL模板工作表完成每日最大、最小值的统计,每日电能的计算及月汇总,各断路器、刀闸的分合闸次数月统计及相应的月分合闸时间。其软件构成如下图所示。



2.2编程实现
2.2.1EXCEL报表主程序的VB6编程
2.2.1.1新建一个工程,在Form1上添加如下表一所示控件。
表一在Form上添加控件
控件类型控件名称属性名称属性值
TimerTimer1Interval1000
VisibleFalse

2.2.1.2代码编写
l在Form1代码窗口中"General-Declarations"声明如下EXCEL程序对象及系统延时变量:
PrivatexlAppAsExcel.Application
PrivateDeclareSubSleepLib"kernel32"(ByValdwMillisecondsAsLong)
l双击Form1窗体上的Timer1控件,在Timer过程中添加如下代码:
PrivateSubTimer1_Timer()

’’创建EXCEL程序实例对象
SetxlApp=CreateObject("Excel.Application")
’’打开运行日志EXCEL模板工作表
xlApp.Workbooks.OpenFileName:="e:\baobiao\jizuyunxing.xls"
’’不显示EXCEL程序窗口及相应警告信息
xlApp.DisplayAlerts=False
’’由EXCEL对象xlApp运行模板工作表中的宏并执行相应操作
xlApp.Run("tianbao")
’’延时确保在执行下一个宏操作前DDE通讯数据完整采集
Sleep10000
xlApp.Run("setValue")
Sleep1000
’’EXCEL程序实例对象退出
xlApp.Quit

EndSub

2.2.2 EXCEL报表系统模板工作表的制作及VBA宏的编程
l模板工作表的制作按实际要求制作生成相应的表格,可直接利用EXCEL强大的数据分析功能完成相应的计算及图表绘制。模板工作表制作过程中要在打印输出工作表格范围外的数据项对应单元格填上相应DDE项目名称(从监控系统获取相应的数据变量),这样可简化相应的VBA代码的编写量。
lVBA宏代码编写
在EXCEL单元格中访问DDE数据的语句指令格式为:"=digisrv|hongye!1SYWBV"。其中"digisrv"是DDE服务器时的服务(SERVICE)名称,同时"digisrv"(即"|digisrv!"部分中的"hongye")是TOPIC名称。"1SYWBV"是DDE项目(ITEM)名称。
在EXCEL程序窗口中通过"工具-宏-VisualBasic编辑器"打开VBA代码编写窗口,插入一个模块,编写如下代码:
’’完成从DDE服务器采集数据过程
Subtianbao()

OnErrorResumeNext
’’定义i为工作表单元格列变量,Curhour为整点小时所在行变量
Dimi,CurhourAsInteger

’’选择所要执行操作的工作表
Sheets("电气日志").Select
’’从DDE服务器采集数据
Fori=2To31
ItemName="=digisrv|hongye!"&"’’"&Cells(39,i)&"’’"
Cells(Curhour 7,i)=ItemName
Nexti

EndSub
’’完成单元格中反映DDE服务器的实时数据变成整点固定数据
PublicSubsetValue()

Sheets("电气日志").Select
Range("B7:AE30").Select
Selection.Copy
ActiveWindow.ScrollColumn=1
Range("B7").Select
Selection.PasteSpecialPaste:=xlValues,Operation:=xlNone,_SkipBlanks:=False,Transpose:=False

EndSub

3 历史数据库系统
3.1系统构成
历史数据库系统也是一个独立运行的软件系统,与ABBFreelance2000监控系统通过网络连接。网络通讯遵循UDP(User

来源:中国电力网
友情链接
北极星工程招聘网北极星电气招聘网北极星火电招聘网北极星风电招聘网北极星水电招聘网北极星环保招聘网北极星光伏招聘网北极星节能招聘网招标信息分类电子资料百年建筑网PLC编程培训

广告直拨:   媒体合作/投稿:陈女士 13693626116

关于北极星 | 广告服务 | 会员服务 | 媒体报道 | 营销方案 | 成功案例 | 招聘服务 | 加入我们 | 网站地图 | 联系我们 | 排行

京ICP证080169号京ICP备09003304号-2京公网安备11010502034458号电子公告服务专项备案

网络文化经营许可证 [2019] 5229-579号广播电视节目制作经营许可证 (京) 字第13229号出版物经营许可证新出发京批字第直200384号人力资源服务许可证1101052014340号

Copyright © 2022 Bjx.com.cn All Rights Reserved. 北京火山动力网络技术有限公司 版权所有