组态王报警存储与查询例程说明文档分析

合集下载

组态王和工业库数据存储与查询

组态王和工业库数据存储与查询

组态王和工业库数据存储与查询例程说明文档此文档由北京亚控公司提供,如有疑问请致亚控技术支持工程师。

本文档主要介绍组态王和工业库KingHistorian之间的数据存储与查询。

一、 新建组态王工程步骤1:新建组态王工程。

工程名:组态王和工业库数据库存储与查询;步骤2:新建设备,关联亚控的仿真PLC设备。

设备名:仿真PLC;步骤3:新建变量。

变量名:test;变量类型:IO整数;连接设备:仿真PLC;寄存器:RADOM100;数据类型:short;记录和安全区:数据变化记录,变化灵敏0;二、 历史数据记录配置鼠标双击系统配置-历史数据记录,弹出如下图所示对话框。

组态王默认是把数据保存到组态王的历史库中,下面我们需要配置把历史记录保存到工业库KingHistorian中。

步骤1:单击历史库配置对话框的【配置可访问的工业库服务器】按钮,在弹出的工业库配置对话框中单击【添加】按钮,添加可访问的工业库。

本例程中:服务器:是工业库所在的电脑的IP地址,本例程组态王和工业库在一台电脑上;端口号:是默认的5678,与工业库的端口号设置一致即可;用户和密码:是默认的sa,与工业库设置一致即可。

添加完成后如下图所示:点击【连接测试】按钮,可测试与工业库的连接是否成功。

步骤2:在历史库配置对话框上勾选工业库服务器,则后面的【配置】按钮被激活,如下图所示。

步骤3:单击工业库服务器后面的【配置】按钮,弹出如下所示对话框。

点击【连接测试】按钮,如果弹出如下图所示对话框,说明组态王与工业库连接成功。

步骤4:在前缀名里加前缀KH,工程对应的组里输入CY,点击【开始】按钮,弹出“在工业库中建立变量过程完成!”的对话框,即把变量test添加到工业库中进行存储。

如下图是工业库的截图,变量test在工业库中存在于变量组CY中,变量名为KH_test。

三、 历史数据查询新建画面“test”,在画面上分别添加一个报表和按钮,在按钮弹起时写脚本: ReportSetHistData2(2,1);保存画面并运行组态王。

组态王报警存储与查询例程说明文档分析-共27页

组态王报警存储与查询例程说明文档分析-共27页

报警存储与查询例程说明文档北京亚控科技发展××公司2022年4月目录1. 功能概述 (1)2. 工程实例 (1)3. 操作步骤 (1)3.1 新建工程 (1)3.2 报警配置 (7)3.3 进入运行系统 (14)3.4 历史报警查询 (15)4. 注意事项 (25)1. 功能概述常规需求:很多工业现场要求将变量的报警信息进行存储,并且可以灵活的进行历史报警的查询、打印。

组态王中的实现方法:组态王支持通过ODBC接口将数据存储到关系数据库中,并且提供KVADODBGrid控件对存储的历史报警信息进行条件查询,并可以对查询结果进行打印。

关系数据库可以为Access数据库或者SQLServer数据库。

2. 工程实例我们通过一个简单的工程对报警信息的存储以及历史报警信息的查询进行讲解。

历史报警的查询主要根据日期、报警组为条件进行查询。

报警信息存储的数据库以Access 数据库为例进行。

下面就以此为例来演示完成这一现场需求的设置步骤。

3. 操作步骤3.1新建工程3.1.1定义设备新建一个工程,在设备处新建设备,我们在本例中定义一个仿真PLC的设备,设备列表为“PLC-亚控-仿真PLC-串口”,设备名称为“PLC1”。

此仿真PLC可以做为虚拟设备与组态王进行通讯。

仿真PLC主要有如下的寄存器:自动加1寄存器INCREA,自动减1寄存器DECREA,随机寄存器RADOM,常量寄存器STATIC,常量字符串寄存器STRING,CommErr寄存器。

具体的寄存器的使用请参考组态王IO驱动帮助。

3.1.2定义变量在数据词典中新建两个IO变量,变量名称分别为压力、流量,变量类型为IO实数,连接的设备为前面定义的仿真PLC设备“PLC1”,寄存器分别为INCREA100,DECREA100,数据类型为short,读写属性为“只读”。

这样压力变量就会从0开始自动加1,其变化范围是0到100,流量变量从100开始自动减1,其变化范围是0到100。

组态王软件详细教程第四讲报警和事件

组态王软件详细教程第四讲报警和事件

组态王软件详细教程第四讲报警和事件第四报警和事件 1第四报报警和事件在本报程,您将,了解报警和事件口的作用窗,掌握报警和事件口报置方法窗,掌握行的报警和事件口的操作方法运窗报警和事件口的作用窗运行报警和事件报报是报控报控报件必不可少的功能~“报报王”提供了强有力的支持和报报的控制行报警和事件报报方法。

运报报王中的报警和事件主要包括报量报警事件、操作事件、用报登报事件和工作站事件。

通报报些报警和事件~用报可以方便地报报报报和报看系报的报警、操作和各工作站的行情。

报警和事件报个运况当生报~在报警中按照报置的报报件报报的报示出。

窗会条来报了分报报示报警事件~可以把报量分到不同的报警报~同报指定报警口中只报示所需的报警报划窗。

;注,报报曲报、报警口都是一报特殊的报量~有报量名和报量性等。

,窗属第四报警和事件 2报报曲报、报警口都是一报特殊的报量~有报量名和报量性等。

窗属报使报警口能报示报量的报警和事件信息~必报先做如下报置,窗内您定报报警报8 切报到工程报报器~在左报报报“报警报”~然后报右报的报报报入“报警报定报”报报。

双框8 在“报警报定报”报报中报报“修改”。

框è 在“修改报警报”报报中“框将RootNode”修改报“化工”。

厂8 报报“报”~报报“修改报警报”报报。

确框8报报“增加”按报~在“化工”报警报下再增加一分报“反报报报”。

厂个8 报报“报警报定报”报报的“报”按报。

报束报报警报的报置框确报置报量的报警定报性属报置报量“反报罐报力”的报警性。

属8 在工程报报器的左报报报“据报典”~在右报报报量名“反报罐报力”~报出“定报报量”报报。

数双框8 在“定报报量”报报中报报“报警定报”配置报~报出报报如下报,框框第四报警和事件 3 具报置如下,体低,10高,90报警报名 ,反报报报。

100报先报,8 报报“定”~报报此报报。

确框采用同报的方法定报“原料油液位”~“催化报液位” “成品油液位”的报警性。

组态王教学-报警存储与查询例程说明文档

组态王教学-报警存储与查询例程说明文档

常见问题解答北京亚控科技发展有限公司2009年8月目录1. 报表 (1)1.1 组态王软件自带的报表窗口的行列设置限制是多少? (1)1.2 组态王软件自带的报表窗口的控件名称命名有什么特殊要求吗? (1)1.3 组态王软件自带的报表窗口控件,如何设定单元格数据显示的小数位数? (1)1.4 在组态王运行系统中,如何锁定报表的行和列? (1)1.5 在组态王运行系统中能否对报表单元格中的数据进行修改? (1)1.6 在组态王运行系统中如何清除报表单元格中的数据? (2)1.7 在组态王运行系统中,如何实现将组态王报表文件保存为以日期命名的文件? (2)1.8 组态王的历史记录属性中能够设置的定时记录最短时间是1分钟,如何实现1秒钟的定时记录功能? (2)1.9 在组态王中如何删除指定目录下的单个报表文件或多个报表文件? (2)1.10 如何打开组态王报表文件(*.rtl格式的文件)?能否使用其他应用程序打开? (3)1.11 能否对组态王报表控件中的行宽和列宽进行锁定? (3)1.12 在安装组态王的计算机A中能否读取另外一台安装组态王计算机B 上面的报表文件? (3)1.13 在组态王中实现以时分秒为文件名且每分钟保存一报表文件功能,当保存整点的报表时,指定文件夹内的文件名比实际时间少一个小时? (3)1.14 在组态王报表控件中对合并的单元格应如何计算它的行号和列号? 31.15 在组态王画面上如何得到指定变量在指定时间内的最大值、最小值和平均值? (3)1.16 使用组态王提供的kingreport.xls文件查询组态王历史数据,选择查询的工程后提示加载工程失败,为什么? (4)1.17 求报表中不为0的单元格数据的平均值? (4)1.18 为什么我使用ReportLoad()函数无法打开我使用ReportSaveas()函数保存的报表? (5)1.19 组态王的报表中如何实现报表数据的统计(如求和、求平均、检索最大最小值)? (5)1.20 组态王的报表能否直接保存成excel格式的文件,这样可以直接通过excel程序打开? (6)1.21 我使用组态王的报表控件制作工程报表,采用的ReportSetCellValue()来对报表控件进行后台填值操作,为什么当我显示报表时却是空白的? (6)1.22 在组态王运行系统中如何实现往报表单元格中插入数据? (6)1.23 组态王中扩展名为.rtl的文件是什么格式的文件?如何打开此类型的文件? (6)1.24 为什么在命令语言中使用报表函数却不执行? (7)2. 打印 (7)2.1 组态王软件对普通商业打印机的选择有什么要求? (7)2.2 组态王软件如何打印运行过程中的画面? (7)2.3 组态王软件的表格窗口的数据是如何进行打印输出的? (7)2.4 为什么用ReportPrint2()函数不能实现自动打印报表? (7)2.5 组态王软件的控件的数据是如何进行打印输出的? (8)2.6 在组态王中进行打印预览时,为什么不能进行打印方向的设置,如何解决? (8)1. 报表1.1组态王软件自带的报表窗口的行列设置限制是多少?组态王6.51及其以前版本,报表窗口的行列设置限制为2000行52列,对新版的组态王软件,报表窗口的行列设置限制有了改善,可以定义到20000行128列。

组态王对关系数据库的查询说明文档

组态王对关系数据库的查询说明文档

组态王对关系数据库的查询例程说明文档目录1. 功能概述 (1)2. 工程实例 (1)3. 操作步骤 (1)3.1 数据库以及表 (1)3.2 设置ODBC数据源 (2)3.3 利用SQL函数进行查询 (5)3.4 利用KVADODBGrid控件进行查询 (11)4. 注意事项 (22)1. 功能概述常规需求:很多工业现场要求对关系数据库的数据根据不同的条件进行查询处理。

组态王中的实现方法:1)利用组态王的SQL函数实现对数据库的数据的查询处理。

2)利用组态王的KVADODBGrid控件实现对数据库的查询处理。

这两种实现方法的不同之处在于:第一种方式是将查询结果对应到组态王的变量上,可以通过组态王的变量进行相关的计算处理以及在命令语言中使用,但是如果符合条件的记录有许多条则无法同时看到所有的查询选择结果。

第二种方式是将查询结果显示到控件的表格中,可以看到所有符合条件的查询记录,并且可以另存为其他文件以及进行打印操作,还可以通过控件的属性、方法进行其他的处理。

2. 工程实例我们以上一个例程“组态王数据存储到外部数据库”中所存储的数据为例,上一个例程中我们把原料的生产厂家、原料编号、称量日期、称量时间,值班人员、原料重量的信息存到了Access数据库中,现在我们要求对存储的原料信息按照“称量日期”进行查询。

我们假设的前提是这个Access数据库已经存在,并且已经存数据在数据库中。

具体的存储数据到外部Access数据库的过程我们可以参考其他文档来实现。

下面就以此为例来演示完成这一需求的具体步骤。

3. 操作步骤3.1数据库以及表1)假设在工程文件夹中已经存在Access数据库,数据库为“数据.mdb”。

2)在数据库“数据.mdb”中有一个数据表:表的名称为:原料数据。

字段为:称量日期、称量时间、原料重量、原料厂家、原料编号、值班人员。

如下图一所示:原料重量为数字类型(单精度),其余为文本类型。

3)在数据库的原料数据表中已经存储了许多数据。

组态王报警例程文档讲解

组态王报警例程文档讲解

报警系统应用例程说明文档此文档由北京亚控公司提供,仅作为KingSCADA3.0报警系统应用的使用参考,其中涉及内容的详细说明请参考KingSCADA3.0的使用说明或咨询技术支持工程师。

目录1. 概述 (1)2. 例程 (1)2.1 定义变量的报警属性 (1)2.2 报警配置 (3)2.3 报警显示 (6)2.4 报警查询 (12)2.5 报警窗的方法应用 (17)3. 注意事项 (18)1. 概述在工业控制系统中,当现场的数据超出正常范围时,系统应以报警的方式将其通知相关工作人员,工作人员接收到报警信息后会对报警做出相应的处理,所以报警系统在工业控制系统中是一个非常重要的组成部分。

KingSCADA3.0提供了强大的报警操作功能:包括报警存储功能、报警打印功能、报警显示功能、报警转发功能等等,下面将具体介绍每种功能的操作过程。

2. 例程2.1定义变量的报警属性在使用报警功能前,必须先要对变量的报警属性进行定义。

在开发系统“数据词典”中新建变量,本工程中我们以模拟量为例。

●变量名:temperature●变量类型:基本变量●数据类型:Mem Float●变量描述:温度●初始值:0●灵敏度:0●最小值:0●最大值:100变量temperature的报警属性如图1所示。

图1 变量temperatrue报警属性●变量名:pressure●变量类型:基本变量●数据类型:Mem Float●变量描述:压力●初始值:0●灵敏度:0●最小值:0●最大值:5变量pressure的报警属性如图2所示。

图2 变量temperatrue报警属性●变量名:alarmctrl●变量类型:基本变量●数据类型:内存离散●变量描述:报警约束●初始值:false报警约束是对变量报警的一种条件控制,可以通过关联一个离散变量对变量报警做一定的限制,当连接的离散量为1时,约束条件成立,即不产生报警事件;当连接的离散量为0时,约束条件不成立,即产生报警事件。

组态王报警存储与查询例程说明文档分析

报警存储与查询例程说明文档北京亚控科技发展有限公司月10年2018.“报警存储与查询”例程说明文档目录1. 功能概述 (1)2. 工程实例 (1)3. 操作步骤 (1)3.1 新建工程 (1)3.2 报警配置 (7)3.3 进入运行系统 (14)3.4 历史报警查询 (15)4. 注意事项 (25)i北京亚控科技发展有限公司.“报警存储与查询”例程说明文档1. 功能概述常规需求:很多工业现场要求将变量的报警信息进行存储,并且可以灵活的进行历史报警的查询、打印。

组态王中的实现方法:组态王支持通过ODBC 接口将数据存储到关系数据库中,并且提供KV ADODBGrid控件对存储的历史报警信息进行条件查询,并可以对查询结果进行打印。

关系数据库可以为Access数据库或者SQLServer数据库。

2. 工程实例我们通过一个简单的工程对报警信息的存储以及历史报警信息的查询进行讲解。

历史报警的查询主要根据日期、报警组为条件进行查询。

报警信息存储的数据库以Access数据库为例进行。

下面就以此为例来演示完成这一现场需求的设置步骤。

3. 操作步骤3.1新建工程3.1.1定义设备新建一个工程,在设备处新建设备,我们在本例中定义一个仿真PLC的设备,设备列表为“PLC-亚控-仿真PLC-串口”,设备名称为“PLC1”。

此仿真PLC可以做为虚拟设备与组态王进行通讯。

仿真PLC主要有如下的寄存器:自动加1寄存器INCREA,自动减1寄存器DECREA,随机寄存器RADOM,常量寄存器STATIC,常量字符串寄存器STRING,CommErr寄存器。

具体的寄存器的使用请参考组态王IO驱动帮助。

3.1.2定义变量在数据词典中新建两个IO变量,变量名称分别为压力、流量,变量类型为IO 实数,连接的设备为前面定义的仿真PLC设备“PLC1”,寄存器分别为INCREA100,DECREA100,数据类型为short,读写属性为“只读”。

组态王报警解决方案

组态王报警解决方案解决问题:对于组态王应用中,比较特殊的报警功能要求,本方案展示以下两个功能的实现:一、 双击报警记录,执行指定功能二、 对报警记录进行数据库检索显示一、双击报警记录,执行指定功能功能说明:用户在报警窗口中双击一条报警记录,组态便执行指定的功能(比如显示指定画面)。

功能实现:通过报警预置自定义函数$System_xxxxAlarm,与变量的报警扩展域配合实现。

在组态王自定义函数中,有三个系统预置的报警自定义函数。

分别为实型变量报警事件($System_RealAlarm)、整型变量报警事件($System_LongAlarm)和离散型变量报警事件($System_DiscAlarm)预置自定义函数。

如果在配置报警窗的“操作属性”时,选择了“允许双击报警条”,则系统运行时双击报警事件报警条,会自动调用相应数据类型的函数。

在以上函数中,通过判断便可执行一段命令语言:if(nAction==1) //双击报警条{//执行命令语言}在变量的报警属性中,有扩展域1和扩展域2两个属性,在报警自定义函数中分别以dTag.ExtendFieldString1和dTag.ExtendFieldString2引用,可以代替字符串,比如使用在ShowPicture中。

与报警自定义函数配合,可以实现定制的功能。

举例:双击一条报警记录,显示指定画面。

1、新建报警用的变量A1,内存离散,扩展域1:报警变量1画面2、新建报警用的变量A2,内存离散,扩展域1:报警变量2画面3、新建画面:报警变量1画面,添加变量A1的值显示4、新建画面:报警变量2画面,添加变量A2的值显示5、新建画面:报警窗口,添加一个报警控件。

6、将以上3个画面都设为运行主画面7、设置报警控件为历史报警窗,选择需要显示的列,并在操作属性里选中“允许双击左键”8、在离散型变量的报警自定义函数$System_DiscAlarm中添加:If (nAction==1) {showPicture_(dTag.ExtendFieldStringl) ;}保存,运行工程,改变A1或A2的值,报警窗口中会出现相应记录。

组态王和工业库数据存储与查询

组态王和工业库数据存储与查询例程说明文档此文档由北京亚控公司提供,如有疑问请致亚控技术支持工程师。

本文档主要介绍组态王和工业库KingHistorian之间的数据存储与查询。

一、 新建组态王工程步骤1:新建组态王工程。

工程名:组态王和工业库数据库存储与查询;步骤2:新建设备,关联亚控的仿真PLC设备。

设备名:仿真PLC;步骤3:新建变量。

变量名:test;变量类型:IO整数;连接设备:仿真PLC;寄存器:RADOM100;数据类型:short;记录和安全区:数据变化记录,变化灵敏0;二、 历史数据记录配置鼠标双击系统配置-历史数据记录,弹出如下图所示对话框。

组态王默认是把数据保存到组态王的历史库中,下面我们需要配置把历史记录保存到工业库KingHistorian中。

步骤1:单击历史库配置对话框的【配置可访问的工业库服务器】按钮,在弹出的工业库配置对话框中单击【添加】按钮,添加可访问的工业库。

本例程中:服务器:是工业库所在的电脑的IP地址,本例程组态王和工业库在一台电脑上;端口号:是默认的5678,与工业库的端口号设置一致即可;用户和密码:是默认的sa,与工业库设置一致即可。

添加完成后如下图所示:点击【连接测试】按钮,可测试与工业库的连接是否成功。

步骤2:在历史库配置对话框上勾选工业库服务器,则后面的【配置】按钮被激活,如下图所示。

步骤3:单击工业库服务器后面的【配置】按钮,弹出如下所示对话框。

点击【连接测试】按钮,如果弹出如下图所示对话框,说明组态王与工业库连接成功。

步骤4:在前缀名里加前缀KH,工程对应的组里输入CY,点击【开始】按钮,弹出“在工业库中建立变量过程完成!”的对话框,即把变量test添加到工业库中进行存储。

如下图是工业库的截图,变量test在工业库中存在于变量组CY中,变量名为KH_test。

三、 历史数据查询新建画面“test”,在画面上分别添加一个报表和按钮,在按钮弹起时写脚本: ReportSetHistData2(2,1);保存画面并运行组态王。

组态王对关系数据库的查询说明文档

组态王对关系数据库的查询例程说明文档北京亚控科技发展有限公司2022年4月目录1. 功能概述 (1)2. 工程实例 (1)3. 操作步骤 (1)3.1 数据库以及表 (1)3.2 设置ODBC数据源 (2)3.3 利用SQL函数进行查询 (5)3.4 利用KVADODBGrid控件进行查询 (11)4. 注意事项 (22)1. 功能概述常规需求:很多工业现场要求对关系数据库的数据根据不同的条件进行查询处理。

组态王中的实现方法:1)利用组态王的SQL函数实现对数据库的数据的查询处理。

2)利用组态王的KVADODBGrid控件实现对数据库的查询处理。

这两种实现方法的不同之处在于:第一种方式是将查询结果对应到组态王的变量上,可以通过组态王的变量进行相关的计算处理以及在命令语言中使用,但是如果符合条件的记录有许多条则无法同时看到所有的查询选择结果。

第二种方式是将查询结果显示到控件的表格中,可以看到所有符合条件的查询记录,并且可以另存为其他文件以及进行打印操作,还可以通过控件的属性、方法进行其他的处理。

2. 工程实例我们以上一个例程“组态王数据存储到外部数据库”中所存储的数据为例,上一个例程中我们把原料的生产厂家、原料编号、称量日期、称量时间,值班人员、原料重量的信息存到了Access数据库中,现在我们要求对存储的原料信息按照“称量日期”进行查询。

我们假设的前提是这个Access数据库已经存在,并且已经存数据在数据库中。

具体的存储数据到外部Access数据库的过程我们可以参考其他文档来实现。

下面就以此为例来演示完成这一需求的具体步骤。

3. 操作步骤3.1数据库以及表1)假设在工程文件夹中已经存在Access数据库,数据库为“数据.mdb”。

2)在数据库“数据.mdb”中有一个数据表:表的名称为:原料数据。

字段为:称量日期、称量时间、原料重量、原料厂家、原料编号、值班人员。

如下图一所示:原料重量为数字类型(单精度),其余为文本类型。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

------------------------------------------------------------精品文档-------------------------------------------------------- 报警存储与查询例程说明文档北京亚控科技发展有限公司月10年2018.“报警存储与查询”例程说明文档目录1. 功能概述 (1)2. 工程实例 (1)3. 操作步骤 (1)3.1 新建工程 (1)3.2 报警配置 (7)3.3 进入运行系统 (14)3.4 历史报警查询 (15)4. 注意事项 (25)i北京亚控科技发展有限公司.“报警存储与查询”例程说明文档1. 功能概述常规需求:很多工业现场要求将变量的报警信息进行存储,并且可以灵活的进行历史报警的查询、打印。

组态王中的实现方法:组态王支持通过ODBC接口将数据存储到关系数据库中,并且提供KV ADODBGrid控件对存储的历史报警信息进行条件查询,并可以对查询结果进行打印。

关系数据库可以为Access数据库或者SQLServer数据库。

2. 工程实例我们通过一个简单的工程对报警信息的存储以及历史报警信息的查询进行讲解。

历史报警的查询主要根据日期、报警组为条件进行查询。

报警信息存储的数据库以Access数据库为例进行。

下面就以此为例来演示完成这一现场需求的设置步骤。

3. 操作步骤3.1新建工程3.1.1定义设备新建一个工程,在设备处新建设备,我们在本例中定义一个仿真PLC的设备,设备列表为“PLC-亚控-仿真PLC-串口”,设备名称为“PLC1”。

此仿真PLC可以做为虚拟设备与组态王进行通讯。

仿真PLC主要有如下的寄存器:自动加1寄存器INCREA,自动减1寄存器DECREA,随机寄存器RADOM,常量寄存器STATIC,常量字符串寄存器STRING,CommErr寄存器。

具体的寄存器的使用请参考组态王IO驱动帮助。

3.1.2定义变量在数据词典中新建两个IO变量,变量名称分别为压力、流量,变量类型为IO 实数,连接的设备为前面定义的仿真PLC设备“PLC1”,寄存器分别为INCREA100,DECREA100,数据类型为short,读写属性为“只读”。

这样压力变量就会从0开始自动加1,其变化范围是0到100,流量变量从100开始自动减1,其变化范围是0到100。

变量定义画面如下图一、图二所示:1北京亚控科技发展有限公司.“报警存储与查询”例程说明文档定义变量压力图一2北京亚控科技发展有限公司.“报警存储与查询”例程说明文档定义变量流量图二3.1.3定义报警我们首先定义报警组,在报警组处双击进行报警组对话框,点击“增加”定义两个报警组,分别为“压力报警”、“流量报警”,确认完成报警组的定义,如图三所示:3北京亚控科技发展有限公司.“报警存储与查询”例程说明文档报警组定义图三报警组定义完成后。

重新编辑变量的定义,在变量定义的“报警定义”选项中我们对这两个变量进行报警的定义。

压力变量定义报警组名为“压力报警”,设置报警限为。

流量变量定义报警组名为“流量报警”,设置报警限95高、高高限,限值分别为70,。

定义报警画面如下图四、图五所示:10,90为低、高报警,报警限值分别为4北京亚控科技发展有限公司.“报警存储与查询”例程说明文档压力变量报警定义图四5北京亚控科技发展有限公司.“报警存储与查询”例程说明文档流量变量报警定义图五3.1.4实时报警信息画面,在工具箱中选择报警“实时报警”变量的报警就定义完成后,我们新建一个窗口,然后在画面上完成报警窗口的制作,双击画面上的报警窗口,为报警窗口命名为“报警”,根据需要可以对报警窗口进行灵活的配置,详细的配置可以参考组态王手册或者组态王帮助,但是必须注意报警窗口的名字一定要填写,如果报警窗口没有名字,则此报警窗口无效。

在画面上制作两个按钮,分别为“画面切换”、“退出系统”。

命令语言如下:); 报警查询画面切换按钮:桓睯楐瑣牵?exit(0);退出系统按钮:报警窗口定义完成后,如果此时进入运行系统,则当出现报警后,报警信息会在报警窗口中出现。

需要注意的是,报警窗口显示的信息在计算机的内存中,如果组态王退出后再进入运行系统则原来的报警并不存在了,也就是说历史的报警信息并没有保存下来。

下面我们会详细讲解一下如何将报警信息进行保存以方便以后的查询。

6北京亚控科技发展有限公司.“报警存储与查询”例程说明文档3.2报警配置组态王报警配置主要分为三个配置选项:文件配置、数据库配置、打印配置。

文件配置主要是将报警信息存储到文件中,文件格式为*.al2 ,我们可以通过记事本打开此文件对存储的信息进行浏览,因为此存储格式浏览不是很方便,我们现在不推荐客户使用。

数据库配置是将报警信息存储到关系数据库中,如Access,SQLServer等,此方式浏览、查询比较方便,本文就是以数据库配置作为讲解的重点。

打印配置为报警信息的实时打印,需要注意的时打印配置选择的打印机必须为带字库的针式打印机。

下面我们主要以Access数据库为例讲解报警存储到数据库的使用配置。

3.2.1建立报警数据库在Access中新建一个空数据库,例如建立路径为:D:\ 报警存储与查询\报警数据库.mdb。

在此数据库中创建一个数据表:表的名称为:Alarm。

表的字段名称如下表,字段类型为文本类型。

字段名说报警日AlarmDate报警时AlarmTime变量VarName报警组名 GroupName报警值AlarmValue限值LimitValue报警类型AlarmType优先级 Pri质量位 Quality事件日期 AcrDate事件时间AcrTime操作员名OperatorName变量描述 VarComment恢复值ResumeValue事件类型EventType7北京亚控科技发展有限公司.“报警存储与查询”例程说明文档工作站名MachineName报警服务器名IOServerName为了方便客户使用,在组态王的安装盘中已经有一个已经做好的一个数据库文件,报警窗数据库,文Pack\我们可以直接使用。

此文件在组态王的安装盘的路径为:Value需我们可以直接拷贝此文件到计算机的硬盘中直接使用。

.mdb 。

件名为:报警窗数据库要注意的是光盘中的文件为“只读”属性,必须将“只读”属性去掉才可以。

3.2.2数据源设置ODBCODBC因此我们必须先建立ODBC数据源将报警信息存储到数据库中,组态王通过数据源。

数据源,点击中建立ODBC在“控制面板”-“管理工具”-“ODBC数据源”ODBC数据源管理器”,如下图六所示:“ODBC数据源”弹出“”中点击“添加”,弹出“选择数据源驱动程序”窗口,如下图七所在“用户DSN”驱动,点击“完成”。

弹出如图八所示窗口,示:选择“Microsoft Access Driver (*.mdb),(S)”,点击“选择填写ODBC数据源的名称,根据需要对数据源进行命名,如“报警””。

.mdb报警存储与查询\报警数据库D:\ 如图九示,选择我们前面定义的数据库文件“ODBC的如图十所示。

其他数据库如SQLServer点击“确定”完成ODBC数据源的定义,定义请参考相关文档。

8北京亚控科技发展有限公司.“报警存储与查询”例程说明文档数据源管理器图六 ODBC图七选择数据源的驱动程序9北京亚控科技发展有限公司.“报警存储与查询”例程说明文档数据源定义图八图九选择数据库10北京亚控科技发展有限公司.“报警存储与查询”例程说明文档数据源定义图十ODBC3.2.3报警配置双击组我们进行报警配置中的数据库配置。

数据库以及ODBC数据源定义完成后,态王工程浏览器的“系统配置”中的“报警配置”,弹出如图十一的“报警配置”对话框。

选择“数据库配置”选项卡,如图十二所示:我们根据需要将“记录报警事件到数据库”打上勾,点击报警格式,根据实际情况对报警格式进行选择配置,需要注意的是默认的报警格式没有选择报警日期、事件日期,因此必须进行报警格式的配置。

11北京亚控科技发展有限公司.“报警存储与查询”例程说明文档报警配置图十一图十二数据库配置版本之前的报警格式配置“报警格式”配置如图十三所示:需要注意的是:在6.526.52分月保存报警数据表,以日期时间类型保存日期时间”选项。

中没有“数据库选项,版本增加了此选项。

其中“分月保存报警数据表”选项如果选中,则保存报警信息的数12“报警存储与查询”例程说明文档据库中的数据表每月生成一个,并且无需建表,只需要建一个空的数据库即可。

采用分月保存的方式的优点在于:如果报警信息数据量比较大,分表存储可以提高查询的速度。

缺点在于:无法进行跨月的查询,在编写脚本进行查询时需要考虑查询的是那一个数据表。

本文我们还是按照报警信息存储到一个数据表的方式为例进行介绍,也就是说我们不选中“分月保存报警数据表”。

其他选项需要注意的就是数据长度要根据实际情况进行设置,并且选中“报警组名”,如果使用描述则“变量描述”也需要选中。

报警格式设置完成后,点击“确定”返回“数据库配置”画面,在数据源处选择我们前面定义的数据源“报警”。

如图十四所示:点击“确定”完成报警的配置。

数据库配置图十三13“报警存储与查询”例程说明文档数据库配置图十四进入运行系统3.3“主-“系统设置”-“设置运行系统”画面开发完成后保存画面,在工程浏览器的”按钮切View画面配置”中,将新建的画面设置为主画面。

确认后点击工程浏览器的“换到运行系统。

系统运行后会将“实时报警”画面打开,如下图十五所示:14北京亚控科技发展有限公司.“报警存储与查询”例程说明文档实时报警图十五当有报警产生后,会在报警画面中显示当前的报警信息,同时也会将报警信息存储的数据库,打报警数据库.mdbD:\ 报警存储与查询\到Access 数据库中。

我们可以打开Alarm”表,如图十六所示:报警信息已经存储到数据库中。

开“Alarm表图十六3.4历史报警查询前面我们已经将报警存储到数据库中了,下面我们就介绍一下如何对存储到数据库中的报警进行查询。

我们根据日期、报警组为例进行报警的查询。

历史报警的查询主要是利用KV ADODBGrid 控件进行查询。

15北京亚控科技发展有限公司.“报警存储与查询”例程说明文档3.4.1创建KV ADODBGrid控件在工程中新建画面“报警查询”,单击工具箱中的“插入通用控件”按钮则弹出“插入控件”对话框。

在“插入控件”对话框内选择“KV ADODBGrid Class”控件,如图十七所示,在此画面中放入此控件。

双击此控件,为控件命名,控件名称可以根据需要确定,我们命名为“KV”。

插入通用控件图十七选择控件,单击右键,在弹出的菜单中选择“控件属性”。

相关文档
最新文档