监控系统报表及历史数据库系统的实现
2006-06-28 17:28:24 来源:杂谷脑流域水电开发有限责任公司红叶二级水电厂
A-
A+
电力18讯: 摘要:本文介绍了利用DDE协议实现ABB Freelance2000监控系统EXCEL报表的生成,并介绍利用UDP协议与ABB监控系统通讯实现SQL Server2000历史数据库系统。
关键词:报表 历史数据库 实现
1 引言
按"无人值班"(少人值守)的原则,红叶二级水电厂在进行监控系统设计中,对报表和历史数据存储提出了生成EXCEL报表和SQL Server2000数据库的要求,用以提供现场运行、维护、事故、故障状态下的各种数据,为电厂安全运行、科学决策提供可靠的依据。报表和历史数据库系统采用VC++、VB、ASP.NET、EXCEL的VBA编程实现,运行在WINDOWS 2000系统平台上,并与ABB Freelance2000监控系统实时通讯。
2 监控系统EXCEL报表
2.1 系统构成
EXCEL报表系统是一个独立运行的软件系统,与ABB Freelance2000监控系统通过网络连接,遵循DDE(Dynamic Data Exchange)协议。
DDE用于在Windows平台上的两个正在运行的应用程序之间动态交换数据,是一种在Windows操作系统中基于消息的协议。其数据交换总是发生在两个正在运行的程序之间,在这两个应用程序之间相互发送和接收命令及数据。这两个程序分别称为客户和服务器程序,客户程序就是请求服务的程序,而提供服务的程序称为服务器程序。
在该系统中,监控系统程序作为DDE服务器,EXCEL报表系统程序作为客户程序从监控系统访问获取数据。如下图所示。
EXCEL报表系统主要完成运行日报和运行月报数据的生成及统计,运行日报分为:电气日志、公用日志、机组日志,由EXCEL报表系统主程序启动EXCEL后台程序进程打开运行日报EXCEL模板工作表完成每日整点数据的生成,并计算出每日的最大、最小值;运行月报分为:电气月报、公用月报、机组月报,由EXCEL报表系统主程序启动EXCEL后台程序进程打开运行月报EXCEL模板工作表完成每日最大、最小值的统计,每日电能的计算及月汇总,各断路器、刀闸的分合闸次数月统计及相应的月分合闸时间。其软件构成如下图所示。
2.2编程实现
2.2.1 EXCEL报表主程序的VB6编程
2.2.1.1 新建一个工程,在Form1上添加如下表一所示控件。
表一 在Form上添加控件
控件类型 控件名称 属性名称 属性值
Timer Timer1 Interval 1000
Visible False
2.2.1.2 代码编写
l 在Form1代码窗口中"General-Declarations"声明如下EXCEL程序对象及系统延时变量:
Private xlApp As Excel.Application
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
l 双击Form1窗体上的Timer1控件,在Timer过程中添加如下代码:
Private Sub Timer1_Timer( )
…
'创建EXCEL程序实例对象
Set xlApp = CreateObject("Excel.Application")
'打开运行日志EXCEL模板工作表
xlApp.Workbooks.Open FileName:="e:/baobiao/jizuyunxing.xls"
'不显示EXCEL程序窗口及相应警告信息
xlApp.DisplayAlerts = False
'由EXCEL对象xlApp运行模板工作表中的宏并执行相应操作
xlApp.Run ("tianbao")
&n
关键词:报表 历史数据库 实现
1 引言
按"无人值班"(少人值守)的原则,红叶二级水电厂在进行监控系统设计中,对报表和历史数据存储提出了生成EXCEL报表和SQL Server2000数据库的要求,用以提供现场运行、维护、事故、故障状态下的各种数据,为电厂安全运行、科学决策提供可靠的依据。报表和历史数据库系统采用VC++、VB、ASP.NET、EXCEL的VBA编程实现,运行在WINDOWS 2000系统平台上,并与ABB Freelance2000监控系统实时通讯。
2 监控系统EXCEL报表
2.1 系统构成
EXCEL报表系统是一个独立运行的软件系统,与ABB Freelance2000监控系统通过网络连接,遵循DDE(Dynamic Data Exchange)协议。
DDE用于在Windows平台上的两个正在运行的应用程序之间动态交换数据,是一种在Windows操作系统中基于消息的协议。其数据交换总是发生在两个正在运行的程序之间,在这两个应用程序之间相互发送和接收命令及数据。这两个程序分别称为客户和服务器程序,客户程序就是请求服务的程序,而提供服务的程序称为服务器程序。
在该系统中,监控系统程序作为DDE服务器,EXCEL报表系统程序作为客户程序从监控系统访问获取数据。如下图所示。
EXCEL报表系统主要完成运行日报和运行月报数据的生成及统计,运行日报分为:电气日志、公用日志、机组日志,由EXCEL报表系统主程序启动EXCEL后台程序进程打开运行日报EXCEL模板工作表完成每日整点数据的生成,并计算出每日的最大、最小值;运行月报分为:电气月报、公用月报、机组月报,由EXCEL报表系统主程序启动EXCEL后台程序进程打开运行月报EXCEL模板工作表完成每日最大、最小值的统计,每日电能的计算及月汇总,各断路器、刀闸的分合闸次数月统计及相应的月分合闸时间。其软件构成如下图所示。
2.2编程实现
2.2.1 EXCEL报表主程序的VB6编程
2.2.1.1 新建一个工程,在Form1上添加如下表一所示控件。
表一 在Form上添加控件
控件类型 控件名称 属性名称 属性值
Timer Timer1 Interval 1000
Visible False
2.2.1.2 代码编写
l 在Form1代码窗口中"General-Declarations"声明如下EXCEL程序对象及系统延时变量:
Private xlApp As Excel.Application
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
l 双击Form1窗体上的Timer1控件,在Timer过程中添加如下代码:
Private Sub Timer1_Timer( )
…
'创建EXCEL程序实例对象
Set xlApp = CreateObject("Excel.Application")
'打开运行日志EXCEL模板工作表
xlApp.Workbooks.Open FileName:="e:/baobiao/jizuyunxing.xls"
'不显示EXCEL程序窗口及相应警告信息
xlApp.DisplayAlerts = False
'由EXCEL对象xlApp运行模板工作表中的宏并执行相应操作
xlApp.Run ("tianbao")
&n
评论
最新评论(0)
相关新闻:
-
无相关信息