组态王6.5使用手册及帮助[新]附录BX

上传人:宝路 文档编号:7903582 上传时间:2017-09-24 格式:DOC 页数:8 大小:2.04MB
返回 下载 相关 举报
组态王6.5使用手册及帮助[新]附录BX_第1页
第1页 / 共8页
组态王6.5使用手册及帮助[新]附录BX_第2页
第2页 / 共8页
组态王6.5使用手册及帮助[新]附录BX_第3页
第3页 / 共8页
组态王6.5使用手册及帮助[新]附录BX_第4页
第4页 / 共8页
组态王6.5使用手册及帮助[新]附录BX_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《组态王6.5使用手册及帮助[新]附录BX》由会员分享,可在线阅读,更多相关《组态王6.5使用手册及帮助[新]附录BX(8页珍藏版)》请在金锄头文库上搜索。

1、 附录 B 利用 Excel 做报表输出北京亚控科技发展有限公司B-1附录 B 利用 Excel 做报表输出一、“组态王”进行历史数据记录的方式 按变化灵敏度记录若在“数据库变量定义”中使“是否记录”有效的话,“组态王”则对此变量自动进行历史记录。因为“组态王”是以实时数据库为核心运转的,从下位机传送上来的数据,按一定的频率刷新实时数据库,每当刷新实时数据库时,“组态王”便对作历史记录的变量进行判断,以便决定是否记录。并不是每次刷新实时数据库时,“组态王”便对作历史记录的变量进行记录,若是那样的话,假定变量更新频率为 0.5 秒的话,那将每隔 0.5 秒作一个历史记录,这会造成硬盘空间的巨大浪

2、费。“组态王”是用数据压缩的方式进行记录,在“数据词典”中规定“是否记录”有效的同时,还需定义“记录变化灵敏度”,该域缺省值为1,用户应避免将其设为 0,除非该变量的刷新频率很低。“组态王”根据“记录变化灵敏度”对变量进行判断,只有当变量的变化幅度(相对上一次历史记录点)大于等于“记录变化灵敏度”值时,才对此变量48121620实际变化曲线T(秒)第一记录点 第五记录点第 N 个记录点0 附录 B 利用 Excel 做报表输出北京亚控科技发展有限公司B-2作一次记录,下图描述了这种记录方式,若规定某变量的变化灵敏度为4,则记录情况如下:“记录变化灵敏度”是一个很重要的参数,此值若规定太大,会造

3、成记录准确性下降,此值若太小,则会造成记录点过多,用户应根据实际情况,选择此值大小。 定时记录在很多情况下,“组态王”采用变化灵敏度的方式对数据作历史记录的方式并不能满足用户的需求,例如:电力调度系统中,需要对电度量作整点记录。若采用灵敏度方式会造成硬盘空间的浪费,“组态王”通过” 定时记录”功能,来满足这方面的需求,整点记录最小的时间间隔为一分钟。二、历史数据在硬盘上的存储方式所有变量的历史记录会按照时间顺序统一存到硬盘上的带有时间信息的文件中。每天生成一个文件,扩展名为“.std”。“组态王”可以通过定义的网络结构进行网络存储。三、组态王提供的 VBA 接口及其函数“组态王”的历史数据查询

4、不仅能够通过组态王本身进行本地或远程的查询,包括报表、历史趋势曲线等形式。另外,组态王提供了 VBA接口,用户可以通过如 Excel,编辑 VBA 程序来访问组态王的历史数据,生成报表。(一)、组态王提供的 VBA 接口函数“组态王”提供的 VBA 接口为“AccessHist.dll”,该文件位于组态王安装目录下。提供的接口函数有以下几种:1. LoadProject(ByVal projectpath As String) As Integer 函数功能:加载要查询历史数据的工程。如果是单机则为当前工程路径。如果是网络模式,则应该为历史记录服务器工 附录 B 利用 Excel 做报表输出北

5、京亚控科技发展有限公司B-3程的路径。 参数:projectpath 字符串型 工程路径 返回值: 整型 为 1 时,表示加载成功为 0 时,表示加载失败2. SearchVba (ByVal sStationName As String, ByVal sTagName As String, ByVal StartTime As Long, ByVal EndTime As Long, ByVal Interval As Long, pArray As Double, ByVal VarNum As Long) As Integer 函数功能:查询符合条件的历史数据。 参数:sStationN

6、ame:字符串型 表示要查询变量所在的站点名称。如果为单机,则该值为“本站点”。sTagName:字符串型 表示要查询的变量名称。StartTime:长整型 表示查询要查询数据的起始时间,该时间为自 1970 年 1 月 1 日 00:00:00 即 UCT 起到该时刻所经过的秒数。EndTime:长整型 表示查询要查询数据的结束时间,该时间为自 1970 年 1 月 1 日 00:00:00 即 UCT 起到该时刻所经过的秒数。在查询时,结束时间必须大于起始时间。Interval:长整型 查询间隔时间。单位为毫秒。PArray:数组 表示存储查询到数据集的数组。VarNum: 长整型 表示每

7、个变量查找到的数据个数。 返回值:整型 为 1 时,表示查询成功为 0 时,表示查询失败3. UnLoadProject (ByVal projectpath As String) As Integer 函数功能:卸载查询时加载的工程 参数:projectpath 字符串型,表示加载的工程。 返回值:整型 为 1 时,表示卸载成功为 0 时,表示卸载失败在每次加载工程后,无论查询正常与否,必须进行工程卸载。 附录 B 利用 Excel 做报表输出北京亚控科技发展有限公司B-44. ConvertTime(ByVal Year As Integer, ByVal Month As Integer

8、,ByVal Day As Integer, ByVal Hour As Integer, ByVal minute As Integer, ByVal Second As Integer) As Long 函数功能:将查询所使用的年、月、日、时、分、秒表示的时间转换成自 1970 年 1 月 1 日 00:00:00 即 UCT 起到该时刻所经过的秒数。 参数:Year: 年,此值必须介于 1970 和 2032 之间Month: 月,此值必须介于 1 和 12 之间Day: 日,此值必须介于 1 和 31 之间Hour: 小时,此值必须介于 0 和 23 之间Minute: 分钟,此值必须

9、介于 0 和 59 之间Second: 秒,此值必须介于 0 和 59 之间 返回值:长整型 表示自 1970 年 1 月 1 日 00:00:00 即 UCT起到该时刻所经过的秒数。5. ascTime(ByVal lStartTime As Long, ByVal lInterval As Long) As String 函数功能:返回指定的以长整型数表示的秒数的时间字符串。 参数:lStartTime:查询的起始时间。自 1970 年 1 月 1 日 00:00:00 即 UCT 起到该时刻所经过的秒数。lInterval:查询的间隔。为每个查询的起始基准点到每个查询点时间的毫秒数。 返

10、回值:表示查询点时间的时间字符串。(二)、接口函数的使用在 VBA 中调用函数,首先需要声明函数。如下图所示,打开EXCEL,进入 VBA 编辑器,建立一个模块,在模块中声明函数。函数声明内容如下:Declare Function LoadProject Lib c:program fileskingviewAccessHist.dll (ByVal projectpath As String) 附录 B 利用 Excel 做报表输出北京亚控科技发展有限公司B-5As IntegerDeclare Function SearchVba Lib c:program fileskingviewAc

11、cessHist.dll (ByVal sStationName As String, ByVal sTagName As String, ByVal StartTime As Long, ByVal EndTime As Long, ByVal Interval As Long, pArray As Double, ByVal Num As Long) As IntegerDeclare Function UnLoadProject Lib c:program fileskingviewAccessHist.dll (ByVal projectpath As String) As Integ

12、erDeclare Function ConvertTime Lib c:program fileskingviewAccessHist.dll (ByVal Year As Integer, ByVal Month As Integer, ByVal Day As Integer, ByVal Hour As Integer, ByVal minute As Integer, ByVal Second As Integer) As LongDeclare Function ascTime Lib c:program fileskingviewAccessHist.dll (ByVal lSt

13、artTime As Long, ByVal lInterval As Long) As String函数声明完成之后,就可以建立对话窗体,允许用户输入查询的时间、站点名称、变量名称等参数。输入完成后,可以开始查询。组态王为此提供了一个演示用的程序“kingreport.xls”,该文件位于组态王安装目录下。供用户使用时参考。下面简单介绍该程序的使用方法。 附录 B 利用 Excel 做报表输出北京亚控科技发展有限公司B-6(三)、利用 Excel 实现报表生成Microsoft Excel 是 Microsoft 公司推出的具有强大功能的报表生成系统,将“组态王”与“Excel”结合起来,可

14、实现各种复杂的报表.在 Excel 中利用 Visual Basic 将“组态王”历史库中的数据读入到 Excel 的表格中,示例“kingreport.xls”演示了如何将几个变量的历史数据显示到 Excel 中。启动 Excel,打开“kingreport.xls”,此时菜单中自动增加一项内容“历史报表”,点此菜单,则如下所示:继续单击菜单“历史数据查询”,则会弹出“查询设置”对话框,如下图所示: 附录 B 利用 Excel 做报表输出北京亚控科技发展有限公司B-7在上述对话框中点击日历,选择查询的起始日期、时间和结束日期、时间。输入查询时间间隔。需要注意的是,其中的“秒”和“毫秒”不能为

15、负数,而且不能同时为 0。在站点名称编辑框中输入站点名称。在工程路径编辑框中输入工程所在的完整路径和工程信息文件“project.pro”。 附录 B 利用 Excel 做报表输出北京亚控科技发展有限公司B-8在变量列表中,可以使用添加、删除、修改等几个按钮来编辑、输入要查询的变量名称。在起始行列编辑框中输入查询到的数据在表格中填充的起始位置。配置定义完成后,单击“确定”按钮,开始历史数据查询。我们对模块作了详细的注释,用户可以在此基础上,编写满足自己要求的报表生成系统。 注意:1、 在输入站点名称时,在名称前不能加表示 UNC路径的“ ”。2、 在输入工程路径时,一定要加工程信息文件“project.pro”文件名。 注意:如果在查询时出现错误,请在控制面板中的“服务”中重新启动“历史库服务”。使用 EXCEL 查询只能查询存储在本机上的历史库,远程的历史库无法实现查询。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号