组态王65使用手册及帮助[新]_附录BX.doc_第1页
组态王65使用手册及帮助[新]_附录BX.doc_第2页
组态王65使用手册及帮助[新]_附录BX.doc_第3页
组态王65使用手册及帮助[新]_附录BX.doc_第4页
组态王65使用手册及帮助[新]_附录BX.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

B-8 附录B 利用Excel做报表输出附录B 利用Excel做报表输出一、“组态王”进行历史数据记录的方式F 按变化灵敏度记录48121620实际变化曲线T(秒)第一记录点第五记录点第N个记录点0若在“数据库变量定义”中使“是否记录”有效的话,“组态王”则对此变量自动进行历史记录。因为“组态王”是以实时数据库为核心运转的,从下位机传送上来的数据,按一定的频率刷新实时数据库,每当刷新实时数据库时,“组态王”便对作历史记录的变量进行判断,以便决定是否记录。并不是每次刷新实时数据库时,“组态王”便对作历史记录的变量进行记录,若是那样的话,假定变量更新频率为0.5秒的话,那将每隔0.5秒作一个历史记录,这会造成硬盘空间的巨大浪费。“组态王”是用数据压缩的方式进行记录,在“数据词典”中规定“是否记录”有效的同时,还需定义“记录变化灵敏度”,该域缺省值为1,用户应避免将其设为0,除非该变量的刷新频率很低。“组态王”根据“记录变化灵敏度”对变量进行判断,只有当变量的变化幅度(相对上一次历史记录点)大于等于“记录变化灵敏度”值时,才对此变量作一次记录,下图描述了这种记录方式,若规定某变量的变化灵敏度为4,则记录情况如下: “记录变化灵敏度”是一个很重要的参数,此值若规定太大,会造成记录准确性下降,此值若太小,则会造成记录点过多,用户应根据实际情况,选择此值大小。F 定时记录在很多情况下,“组态王”采用变化灵敏度的方式对数据作历史记录的方式并不能满足用户的需求,例如:电力调度系统中,需要对电度量作整点记录。若采用灵敏度方式会造成硬盘空间的浪费,“组态王”通过”定时记录”功能,来满足这方面的需求,整点记录最小的时间间隔为一分钟。二、历史数据在硬盘上的存储方式所有变量的历史记录会按照时间顺序统一存到硬盘上的带有时间信息的文件中。每天生成一个文件,扩展名为“.std”。“组态王”可以通过定义的网络结构进行网络存储。三、组态王提供的VBA接口及其函数“组态王”的历史数据查询不仅能够通过组态王本身进行本地或远程的查询,包括报表、历史趋势曲线等形式。另外,组态王提供了VBA接口,用户可以通过如Excel,编辑VBA程序来访问组态王的历史数据,生成报表。(一)、组态王提供的VBA接口函数“组态王”提供的VBA接口为“AccessHist.dll”,该文件位于组态王安装目录下。提供的接口函数有以下几种:1. LoadProject(ByVal projectpath As String) As Integeru 函数功能:加载要查询历史数据的工程。如果是单机则为当前工程路径。如果是网络模式,则应该为历史记录服务器工程的路径。u 参数:projectpath 字符串型 工程路径u 返回值: 整型 为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 Integeru 函数功能:查询符合条件的历史数据。u 参数:sStationName:字符串型 表示要查询变量所在的站点名称。如果为单机,则该值为“本站点”。sTagName:字符串型 表示要查询的变量名称。StartTime:长整型 表示查询要查询数据的起始时间,该时间为自1970年1月1日00:00:00即UCT起到该时刻所经过的秒数。EndTime:长整型 表示查询要查询数据的结束时间,该时间为自1970年1月1日00:00:00即UCT起到该时刻所经过的秒数。在查询时,结束时间必须大于起始时间。Interval:长整型 查询间隔时间。单位为毫秒。PArray:数组 表示存储查询到数据集的数组。VarNum: 长整型 表示每个变量查找到的数据个数。u 返回值:整型 为1时,表示查询成功为0时,表示查询失败3. UnLoadProject (ByVal projectpath As String) As Integeru 函数功能:卸载查询时加载的工程u 参数:projectpath 字符串型,表示加载的工程。u 返回值:整型 为1时,表示卸载成功为0时,表示卸载失败在每次加载工程后,无论查询正常与否,必须进行工程卸载。4. ConvertTime(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 Longu 函数功能:将查询所使用的年、月、日、时、分、秒表示的时间转换成自1970年1月1日00:00:00即UCT起到该时刻所经过的秒数。u 参数:Year:年,此值必须介于1970和2032之间Month:月,此值必须介于1和12之间Day: 日,此值必须介于1和31之间Hour: 小时,此值必须介于0和23之间Minute: 分钟,此值必须介于0和59之间Second: 秒,此值必须介于0和59之间u 返回值:长整型 表示自1970年1月1日00:00:00即UCT起到该时刻所经过的秒数。5. ascTime(ByVal lStartTime As Long, ByVal lInterval As Long) As Stringu 函数功能:返回指定的以长整型数表示的秒数的时间字符串。u 参数:lStartTime:查询的起始时间。自1970年1月1日 00:00:00即UCT起到该时刻所经过的秒数。lInterval:查询的间隔。为每个查询的起始基准点到每个查询点时间的毫秒数。u 返回值:表示查询点时间的时间字符串。(二)、接口函数的使用在VBA中调用函数,首先需要声明函数。如下图所示,打开EXCEL,进入VBA编辑器,建立一个模块,在模块中声明函数。函数声明内容如下:Declare Function LoadProject Lib c:program fileskingviewAccessHist.dll (ByVal projectpath As String) As IntegerDeclare Function SearchVba Lib c:program fileskingviewAccessHist.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 IntegerDeclare 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 lStartTime As Long, ByVal lInterval As Long) As String函数声明完成之后,就可以建立对话窗体,允许用户输入查询的时间、站点名称、变量名称等参数。输入完成后,可以开始查询。组态王为此提供了一个演示用的程序“kingreport.xls”,该文件位于组态王安装目录下。供用户使用时参考。下面简单介绍该程序的使用方法。(三)、利用Excel实现报表生成Microsoft Excel是Microsoft 公司推出的具有强大功能的报表生成系统,将“组态王”与“Excel”结合起来,可实现各种复杂的报表.在Excel中利用Visual Basic 将“组态王”历史库中的数据读入到Excel的表格中,示例“kingreport.xls”演示了如何将几个变量的历史数据显示到Excel中。启动Excel,打开“kingreport.xls”,此时菜单中自动增加一项内容“历史报表”,点此菜单,则如下所示:继续单击菜单“历史数据查询”,则会弹出“查询设置”对话框,如下图所示:在上述对话框中点击日历,选择查询的起始日期、时间和结束日期、时间。输入查询时间间隔。需要注意的是,其中的“秒”和“毫秒”不能为负数,而且不能同时为0。在站点名称编辑框中输入站点名称。在工程路径编辑框中输入工程所在的完整路径和工程信息文件“”。A 注意:1、 在输入站点名称时,在名称前不能加表示UNC路径的“”。2、 在输入工程路径时,一定要加工程信息文件“”文件名。在变量列表中,可以使用添

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论