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

合集下载

组态王及数据库连接的实现方法

组态王及数据库连接的实现方法

组态王与数据库连接的实现方法1准备工作1.1创建数据源及数据库1.右键新建一个Access数据库(D:\example,数据库名:ku.mdb)。

2.依次点击屏幕左下角“开始\控制面板\管理工具”,双击“数据源(ODBC)”打开ODBC数据源管理器如错误!未找到引用源。

:图 13.点击“添加”新建一个数据源,驱动程序选择“Microsoft AccessDriver(*.mdb)”点击“完成”,如错误!未找到引用源。

:图 24.配置该数据源,数据源名:yuan。

指向新建的Access 数据库(ku.mdb)步骤如错误!未找到引用源。

所示:图 31.2创建表格模板打开工程“yangli”在工程浏览器窗口左侧找到“系统\SQL访问管理器\表格模板”选项如图 4,在右侧双击“新建”打开如图 5“创建表格模板”对话框。

图 4模板名称:muban1,,依次输入字段名称:ziduan1、字段长度:9,选择变量类型为:定长字符串型,点击增加字段。

用同样方法增加字段ziduan2、ziduan3。

图 51.3创建记录体注意:记录体中的字段名称必须与表格模板中的字段名称保持一致,记录体中字段对应的变量数据类型必须和表格模板中相同字段对应的数据类型相同。

1.在工程浏览器窗口“数据库\数据词典”中新增三个内存字符串型变量(ziduan1、 ziduan2、ziduan3)。

2.找到工程浏览器窗口左侧“SQL 访问管理器\记录体”选项,双击右侧“新建”图标建立名为“jiluti1”的记录体,对话框设置如图 6所示:图 6依次增加ziduan1、ziduan2、ziduan3三个字段点击“确认”。

2连接并插入记录2.1连接数据库并创建数据库表格1.在工程浏览器窗口“数据库\数据词典”中定义一个内存整型变量:变量名:DeviceID变量类型:内存整型2.在工程浏览器窗口的“命令语言\应用程序命令语言\启动时”窗口输入命令:SQLConnect( DeviceID, "dsn=yuan;uid=;pwd=");SQLCreateTable( DeviceID, "biaoge1", "muban1" );命令语言中的“yuan”为前面配置的数据源的名称。

组态王 历史数据查询例程说明文档

组态王 历史数据查询例程说明文档

例程说明文档目录1. 功能概述 (1)2. 工程实例 (1)3. 操作步骤 (1)3.1 定义设备 (1)3.2 定义变量 (1)3.3 制作画面 (2)3.4 进入运行系统 (10)4. 注意事项 (14)1. 功能概述常规需求:很多工业现场会存储数据并对存储的历史数据进行查询、打印输出。

历史数据查询一般为起始时间、结束时间、间隔时间都不固定,最终用户根据实际需要进行查询。

组态王中的实现方法:利用组态王内置报表以及报表的函数来实现对历史数据的查询。

组态王内置报表的操作类似excel,操作简单、方便,并且组态王提供了大量的报表函数来实现各种复杂功能。

2. 工程实例我们举一个例子来说明实现方法。

在此例程中我们定义五个变量,分别为“压力”、“温度”、“密度”、“电流”、“电压”,运行系统运行后记录历史数据,下面就以此为例来演示完成这一要求的具体步骤。

3. 操作步骤3.1定义设备根据工程中实际使用得设备进行定义,本例程使用亚控的仿真PLC设备,使用“PLC -亚控-仿真PLC-串口”驱动,定义设备名称为“PLC”。

3.2定义变量在组态王中定义五个变量:压力(IO实数类型)、温度(IO实数类型)、密度(IO 实数类型)、电压(IO实数类型)、电流(IO实数类型)。

压力变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。

记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。

温度变量:最小值0,最大值50,最小原始值0,最大原始值100,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。

记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。

密度变量:最小值0,最大值1,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。

组态王与数据库连接的实现方法

组态王与数据库连接的实现方法
图10
4.设置完毕后关闭此对话框,利用按钮的弹起时命令语言实现数据库查询,操作设置如图11:
图11
5.
设置完毕依次点击确定。保存画面并且换到运行系统可看到如图12效果。
图12
6.用同样方法创建一个“清除记录”按钮用于清除数据库表格中的记录,命令语言如下:
SQLClearTable( DeviceID, "biaoge1");
图5
1.3
注意:记录体中的字段名称必须与表格模板中的字段名称保持一致,记录体中字段对应的变量数据类型必须和表格模板中相同字段对应的数据类型相同。
1.在工程浏览器窗口“数据库\数据词典”中新增三个内存字符串型变量(ziduan1、ziduan2、ziduan3)。
2.找到工程浏览器窗口左侧“SQL访问管理器\记录体”选项,双击右侧“新建”图标建立名为“jiluti1”的记录体,对话框设置如图6所示:
2.在数据库操作画面中添加一个名为“字段一”的文本
3.在“字段一”的动画连接中添加对应类型的值输入和值输出并关联到变量:ziduan1。
4.添加文本“字段二”、“字段三”,分别关联变量“ziduan2”、“ziduan3”并添加值输入、值输出动画连接。
5.添加一按钮,按钮文本为“插入记录”在按钮的弹起事件中输入如图6所示命令语言。
图6
依次增加ziduan1、ziduan2、ziduan3三个字段点击“确认”。
2
2.1
1.在工程浏览器窗口“数据库\数据词典”中定义一个内存整型变量:
变量名:DeviceID
变量类型:内存整型
2.在工程浏览器窗口的“命令语言\应用程序命令语言\启动时”窗口输入命令:
SQLConnect( DeviceID, "dsn=yuan;uid=;pwd=");

组态王历史数据库及其他关系数据库

组态王历史数据库及其他关系数据库
2.17 组态王能同时对两个Access数据库进行操作吗? ................................ 9
2.18 在组态王中能否对Access数据库进行压缩,该如何实现? ................ 9
2.19 两台装有组态王的计算机通过网络ODBC连接同一个Access数据库 时,不能同时连接数据库,为什么? ................................................................... 10
2.7 在组态王中使用SQLSelect函数查询数据库记录时如何得到符合条件 的记录的数量? ......................................................................................................... 7
2.25 在组态王中使用KVADODBGRID控件进行数据库查询时,如何实现 相似查询? ............................................................................................................... 11
2.1 组态王采集的数据能保存到第三方的数据库如SQL、ORACLE等吗? ..................................................................................................................................... 5
以使用其他应用程序打开? ..................................................................................... 2 1.7 组态王历史库文件是否可以修改、删除?如果不慎删除后能否恢复?

组态王与数据库连接实现方法

组态王与数据库连接实现方法
图 11
7 / 12
5. 设置完毕依次点击确定。保存画面并且换到运行系统可看到如图 12 效 果。
图 12
6. 用同样方法创建一个“清除记录”按钮用于清除数据库表格中的记录, 命令语言如下: SQLClearTable( DeviceID, "biaoge1");
8 / 12
3 选择并读取已有记录
2.2 插入记录 1. 新建一个画面,名称为:数据库操作画面。 2. 在数据库操作画面中添加一个名为“字段一” 的文本 3. 在“字段一”的动画连接中添加对应类型的值输入和值输出并关联到变 量:ziduan1。
4 / 12
4. 添 加 文 本 “ 字 段二 ”、 “ 字 段 三 ” ,分 别关 联 变 量 “ ziduan2 ” 、 “ziduan3”并添加值输入、值输出动画连接。
11 / 12
图 17
3.3.4 添加读取记录按钮 在画面中添加“读取记录”按钮并写入弹起时命令语言: string str="ziduan1="+"'"+\\本站点\xiala+"'"; SQLSelect( DeviceID, "biaoge1", "jiluti2", str, "" );
12 / 12
3.1 新建变量
在工程浏览器左侧数据库\数据词典中双击“新建”新建如下变量:
变量名
变量描述
变量类型
xiala
关联下拉控件
内存字符串型
duqu1 用于显示读取的记录 内存字符串型
duqu2 用于显示读取的记录 内存字符串型
duqu3 用于显示读取的记录 内存字符串型

组态王报警存储与查询例程说明文档分析-共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. 功能概述 (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)在数据库的原料数据表中已经存储了许多数据。

组态王与数据库的链接图文介绍(精)

组态王与数据库的链接图文介绍(精)
微软公司为其视窗操作系统推出的一套访问各种数据库的统一接口
技术。ODBC类似一种软件驱动程序,提供了应用软件与数据库之
间的访问标准。
1、创建数据源及数据库
外建一个Access数据库,(路径:d:,数据库名为:mydb.mdb);
用Windows 控制面板中自带的ODBC Data Sources (32bit)管理工具新
TableName: 表格名
BindList:记录体
5)查询记录
用户如果需要将数据库中的数据调入组态王来显示,需要另
外建立一个记录体,此记录体的字段名称要和数据库表格中
的字段名称一致,连接的变量与数据库中字段的类型一致,
操作过程如下:
在工程浏览器窗口的数据词典中定义三个内存变量:
a、变量名:记录日期
选择“SQL 访问管理器”中的“记录体”选项,如图所示:
记录体中定义了Access 数据库表格字段与组态王变量之
间的对应关系,对应关系如下:
注:
• 记录体中的字段名称必须与表格模板中的字段名称保持
一致,
• 记录体中字段对应的变量数据类型必须和表格模板中相
同字段对应的数据类型相同。
4、 对数据库的操作
上述命令语言的作用是使组态王与mine2数据源建立了
连接(即与mydb2.mdb 数据库建立了连接)。
SQLConnect
连接组态王和数据库。
语法:
SQLConnect(DeviceID, "dsn=;uid=;pwd=");
2)创建数据库表格
SQLCreateTable( DeviceID, "KingTable", "table1" );

组态王初级使用手册

组态王初级使用手册

目录第一讲概述⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ 4第二讲建立一个新工程⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯7 第一节工程管理器第二节工程浏览器第三节定义外部设备和数据变量第三讲创建组态画面⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯25 第一节设计画面第二节动画连接第四讲命令语言⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯38 第一节命令语言第二节常用功能第五讲报警和事件⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯43 第一节概述第二节建立报警和事件窗口第三节报警和事件的输出第六讲趋势曲线⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯52 第一节概述第二节实时趋势曲线第三节历史趋势曲线第七讲控件⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯63 第八讲报表系统⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯68 第一节概述第二节实时数据报表第三节历史数据报表第九讲组态王和数据库连接⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯86 第一节SQL 访问管理器第二节对数据库的操作第三节数据库查询控件第十讲用户管理和权限⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯95 第十一讲网络连接⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯99 第一节网路连接说明第二节网络配置第十二讲组态王WEB 发布⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯105 第一节Web 功能介绍第二节Web 发布的配置第三节组态王Web 支持的功能第一讲概述本课程您将:Ì了解组态王软件的整体结构Ì了解组态王和 I/O 设备通讯的过程Ì了解建立使用工程的一般过程概述管理于一体,将一个企业内部的各种生产系统和使用以及信息交流汇集在一起,实现最优化管理。

它基于 Microsoft Windows XP/NT/2000 操作系统,用户可以在企业网络的所有层次的各个位置上都可以及时获得系统的实时信息。

采用组态王软件开发工业监控工程,可以极大地增强用户生产控制能力、提高工厂的生产力和效率、提高产品的质量、减少成本及原材料的消耗。

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

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

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

本文档主要介绍组态王和工业库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);保存画面并运行组态王。

AEW的组态王数据库KVADODBGRID控件关于查询、排序、数据删除例程

AEW的组态王数据库KVADODBGRID控件关于查询、排序、数据删除例程

AEW的组态王数据库KVADODBGRID控件查询、排序、数据删除例程一、例程概述该例程采用KINGVIEW6.53开发,从实用出发,测试实现了以下功能:1)数据库按照每分钟(可更改),按钮(可更改)触发记录插入数据库;2)更改插入数据记录序号标记;3)按用户名日期排序进行查询显示;4)按日期间隔,日期排序或数值排序进行查询显示;5)删除无用用户名(测试或调试时)的数据库数据;6)删除所有数据库记录(更改工艺或空间局限时)。

(数据库为ACCESS 2007,建立空数据库名字为TEST.ACCDB;组态王添加用户名aew,密码空;数据采用仿真PLC 100随机数。

)二、组态过程(内容见例程)1)建立所需变量;2)建立记录体、记录模板;3)组态王中建立画面如图:4)程序中建立启动时数据库连接、数据表建立、退出时断开数据库连接;5)建立通用控件KVADODBGRID;6)建立登录、退出、数据库记录插入触发、删除数据和数据全删除、显示全部数据、数据序号显示及更改序号、数据显示等内容;7)建立查询选项(根据我的项目实用,建立了根据日期间隔、操作员查询两个选项、日期选项需建立两个microsoft date and time 控件分别用于开始日期和结束日期;操作员选项需建立查询操作员输入的文本标签,按操作员查询时,默认为按日期升序进行排序。

);8)建立排序选项(根据我的项目实用,选用单选分别为按照日期升序、日期降序、数值升序、数值降序一次列示出来。

当然如果选项过多可建立复选框进行组合,在程序中进行编写组合查询功能。

);9)建立查询和排序按钮;三、建立数据库连接控制面板-ODBC管理器-添加数据源aew-选择access(支持2007)驱动-选择路径下的test.accdb数据库即可。

(或建立一个空白的access数据库以备数据插入记录用。

)四、控件连接画面中建立的KVADODBGRID控件,控件名称test,保存;控件属性中查找aew数据源,选择表名称1,选择表中的字段名称添加并更改排序及属性;五、其它程序编写1)程序启动时:SQLConnect( DB_NET, "dsn=aew;uid=;pwd=");SQLCreateTable( DB_NET, "1", "1" ); 启动运行后即可退出系统再将第二条注释掉//SQLCreateTable( DB_NET, "1", "1" );2)程序停止时:SQLDisconnect( DB_NET);3)数据改变时:以分为触发写程序(为了测试方便)v_str=$日期+" "+$时间; 把日期和时间合并一个字符串IF (RE_SS) 记录触发时开始插入记录{no=no+1;SQLInsert( DB_NET, "1", "1" ); } 插入时序号+14)控件自定义函数:由日期控件中创建自动生成;建立日期控件并定义date1作为开始日期,date2定义作为结束日期;Date1控件事件closeup建立函数并写程序long year1;long month1;long day1;year1=date1.Year;month1=date1.Month;day1=date1.Day;string 查询开始时间;if(month1<10&&day1<10){查询开始时间=StrFromInt(year1,10)+"-"+"0"+StrFromInt(month1,10)+"-"+"0"+StrFromInt(day1, 10); }if(month1<10&&day1>=10){查询开始时间=StrFromInt(year1,10)+"-"+"0"+StrFromInt(month1,10)+"-"+StrFromInt(day1, 10);}if(month1>=10&&day1<10){查询开始时间=StrFromInt(year1,10)+"-"+StrFromInt(month1,10)+"-"+"0"+StrFromInt(day1, 10);}if(month1>=10&&day1>=10){查询开始时间=StrFromInt(year1,10)+"-"+StrFromInt(month1,10)+"-"+StrFromInt(day1, 10);}开始日期=查询开始时间;Date2控件事件同date1末句为:结束日期=查询结束时间;5)查询排序按钮程序STRING WHE;if (ds_mode==0) {if (sort==0) {WHE="日期>={d'"+开始日期+"'} and 日期<={d'"+结束日期+"'} "+"ORDER BY 日期时间ASC";}if (sort==1) {WHE="日期>={d'"+开始日期+"'} and 日期<={d'"+结束日期+"'} "+"ORDER BY 日期时间DESC";}if (sort==2) {WHE="日期>={d'"+开始日期+"'} and 日期<={d'"+结束日期+"'} "+"ORDER BY 数值ASC";}if (sort==3) {WHE="日期>={d'"+开始日期+"'} and 日期<={d'"+结束日期+"'} "+"ORDER BY 数值DESC";}}if (ds_mode==1) {WHE="操作员='"+user_req+"'"+"ORDER BY 日期时间ASC"; }test.Where=WHE;test.FetchData();test.FetchEnd();6)其它按钮标签组态简单可双击对象参看六、运行查看1)点击REFRESH,数据库全部显示,可以看到日期并未排序;2)选择按系统管理员查询;3)选择按日期查询,并选择起始和结束日期,并选择排序选项,再点击查询排序按钮;顺利的话,可以选择其它选项查看效果。

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

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

报警存储与查询例程说明文档北京亚控科技发展有限公司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.引言1.1 概述概述:组态王是一款功能强大的数据库查询工具,为用户提供了便捷、高效的数据查询服务。

通过该工具,用户可以快速查询到所需的数据库信息,帮助用户更好地了解数据库结构及内容。

本文旨在对组态王数据库查询工具进行总结和介绍,同时分享数据库查询技巧,帮助读者更好地利用该工具提高工作效率。

文章将从介绍组态王数据库的基本信息、使用方法总结以及数据库查询技巧等方面进行详细的阐述,希望能带给读者更多有价值的信息和帮助。

"1.2 文章结构":本文主要分为引言、正文和结论三个部分。

在引言部分,首先概述了组态王数据库的重要性,并给出了文章的目的和结构安排。

接着在正文部分,将详细介绍组态王数据库的功能和特点,总结了使用方法以及查询技巧。

最后,在结论部分,将对文章的要点进行总结,展望组态王数据库的应用前景,最终以一段结束语作为收尾。

1.3 目的本文的目的是系统总结组态王数据库的基本介绍、使用方法和查询技巧,帮助读者更好地了解和掌握组态王数据库的使用方法,提高数据库查询效率和准确性。

通过本文的学习,读者可以更加熟练地利用组态王数据库进行数据查询和分析,为实际工作和研究提供更加有效的支持。

同时,本文也旨在展望组态王数据库在未来的应用前景,为相关领域的发展提供一定的参考和启示。

希望本文能够为读者提供有益的信息和帮助,促进组态王数据库的更广泛应用和发展。

2.正文2.1 组态王数据库介绍组态王是一款专业的数据库查询工具,广泛应用于各行业的数据分析和决策支持。

该数据库汇集了海量的数据资源,涵盖了各个领域的数据信息,包括但不限于经济、社会、科技、环境等方面的数据。

通过组态王,用户可以快速准确地获取所需的数据信息,进行数据分析和研究。

组态王数据库具有以下特点:1. 多样化的数据类型:组态王数据库收录了各种类型的数据,包括统计数据、调查数据、行业数据、政策数据等,用户可以根据自身需求选择合适的数据进行查询。

组态王说明书

组态王说明书

1. 工程管理器ProjManager
2. 工程浏览器TouchExplorer 3. 画面开发和画面运行系统(Touchmak、Touchvew)
使用菜单 或快捷工具
使用菜单 或快捷工具
工程管理器
工程浏览器
使用菜单
画面开发 画面运行 系统
退出画面运行
所谓工程管理器中内嵌了工程浏览器,工程浏览器中内嵌了画面 开发和运行系统,是指单击快捷按钮就启动了另一个制作工具。
右击此矩形区
若有剪纸图可演示透明化的步骤,如下: 右击图片 选透明化 单击调色板最右上角的工具“透明色” 再选调 色板下面的吸管工具 在图中吸去一种颜色(只能吸去一种颜色)。 第4排第5个工具——插入控件(组态王自制的控件) 后面专门介绍 第4排第6个工具——插入通用控件
第5排第1个工具——打开图库。
若是网络模式,需要几个计算机,都干什么用。 如:(数据采集、数据存储、报警记录等……)
第三步:在熟悉工艺过程的基础上着手开发(8个阶段)
1.建立一个空工程
2.定义外部设备(组态王为每种设备都提供了一个 测试,用于检查和计算机连通了
没有。)
3.定义全局变量(整个工程都用到的变量,每个变 量都对应一个实际设备的寄存器。) 确定变量属性(每个变量有三种属性,基本属性、 报警否、记录否、安全权限等。) 4.车间画面制作 5.动画连接 6.制作报表、曲线
若在此处键入了新文件夹名, 则会多出现一个确认画面。 工程描述是小于 40个字符的注释
文件\搜索工程
演示步骤:要先在某个盘上建立几个空工程,然后分别选中,在文件下 拉菜单中选清除工程信息后,再搜索该盘。
选择搜索目标盘
则目标盘上搜到的所 有工程自动加入信息

组态王按数据库字段数据进行查询

组态王按数据库字段数据进行查询
if (串1==串2) { listDeleteItem("Ctrl8",j); } i=i+1; }
6. 画面中添加按钮,按钮动画连接弹起时输入下面命令语言
开放数据库.Where ="配方名称='"+\\本站点\筛选选的配方名+"'"; 开放数据库.FetchData();
6.运行后,查询Байду номын сангаас果如下:
数据库字段和记录如下
4,画面属性显示时继续添加添加如下命令语言,把表格里配方名称字 段的所有数据添加到下拉组合框中,并把取得的列表数输出到内部变量 \\本站点\配方列表数。
LONG lRow; LONG lCol; long n; n=开放数据库.Rows; lRow=0; lCol = 3; while (lRow<n-1) { lRow=lRow+1; ming= 开放数据库.GetCertainCellText(lRow, lCol); listAddItem("Ctrl8",ming); } listSetCurSel("Ctrl8",0); 列表数=listGetItemCount("Ctrl8"); \\本站点\配方列表数=列表数;
5. 画面属性存在时添加添加如下命令语言,把下拉组合框中中重复项删 除,画面刷新周期改为500ms
long i; long j ; long m; string 串1; string 串2; m=\\本站点\配方列表数-1; i=0; while (i<=m) {
j=I+1; listGetItem("Ctrl8",i,串1); listGetItem("Ctrl8",j,串2);

组态王连接SQL数据库操作步骤

组态王连接SQL数据库操作步骤

1、建立ODBC连接配置:(1)开始——设置——控制面板——管理工具——数据源:(2)双击“数据源”,选择“用户DSN”选项卡:(3)点击“添加”,选择“SQL Server”,点击“完成”:(4)写入“数据源名称”,选择需要连接的“服务器”,点击“下一步”:(5)选择“使用用户输入登录ID和密码的SQL Server验证”,“登录ID”输入“sa”,如有密码则输入密码,点击“下一步”:(6)将“更改默认的数据库为”打勾,选择需要连接的数据库名称,点击“下一步”:(7)点击“完成”:(8)点击“测试数据源”,如果提示“测试成功”,表示配置正确,点击“确定”,完成ODBC 连接配置:2、组态王——变量(1)工程浏览器——变量——新建:(2)双击“新建”,输入变量名,变量类型,变量名为需要保存到SQL数据库中的数值,如开关量,模拟量,字符串等,点击“确定”:(3)如有多个变量,重复第(2)步骤:3、组态王——新建记录体:(1)工程浏览器——系统——SQL访问管理器——记录体:(2)双击“新建”,输入“记录体名”,“字段名称”输入SQL数据表中的字段名称,“组态王变量”输入保存数值的变量名(可点击“?”选择),点击“增加字段”,可以保存该条记录,如有其它字段需要保存,可重复录入。

全部录入完毕后,点击“确认”完成:4、组态王——将变量值保存到SQL中:(1)工程浏览器——系统——文件——画面——新建:(2)新建“文本”——“开关量”,新建“按钮”——“连接SQL”,新建“按钮”——“插入一条记录”,新建“按钮”——“查询记录”,新建“按钮”——“断开SQL”:(3)双击“文本”——“开关量”,“值输出”——“模拟值输出”——选择“Test_KGL_Z”变量,“权限保护动画连接”——“值输入”——“模拟值输入”——选择“Test_KGL_Z”变量:(4)双击“按钮”——“连接SQL”,“命令语言连接”——“按下时”,写入以下语句:SQLConnect(ConnectionID, "dsn=SQL_Test;uid=sa;pwd=apply");(5)双击“按钮”——“插入一条记录”,“命令语言连接”——“按下时”,写入以下语句:SQLInsert(ConnectionID, "Test_Table","Test" );(6)双击“按钮”——“查询记录”,“命令语言连接”——“按下时”,写入以下语句:SQLSelect(ConnectionID, "Test_Table","Test", "SQL_KGL='1'", "" );(7)双击“按钮”——“断开SQL”,“命令语言连接”——“按下时”,写入以下语句:SQLDisconnect(ConnectionID);。

组态王历史数据库及其他关系数据库

组态王历史数据库及其他关系数据库
数据库及其他关系数据库
常见问题解答
北京亚控科技发展有限公司
2011年02月
“数据库”常见问题解答
目录
1. 组态王历史数据库 ................................................................................................ 1 1.1 组态王保存的历史数据,我希望对其进行修改,可以吗? .................. 1 1.2 为什么我的软件在运行时提示“历史库:历史库服务程序没有启动”?
2.22 在使用KVADODBGRID控件来查询数据库的时候,如何在运行时修 改控件中显示数据的小数点位数? ....................................................................... 10
2.23 在组态王中使用KVADODBGRID控件进行数据库查询时,能否在运 行时进行表格的选择? ............................................................................................. 10
北京亚控科技发展有限公司
i
“数据库”常见问题解答
2.4 我采用组态王软件对SQL数据库写数据,写入没有成功,请问需要注 意什么问题? ............................................................................................................. 6
..................................................................................................................................... 1 1.3 我使用了自己编写的VB(VC)程序,希望能调用组态王保存的历史数据

组态王与数据库连接的实现方法

组态王与数据库连接的实现方法

组态王与数据库连接的实现方法(总12页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--组态王与数据库连接的实现方法1准备工作1.1创建数据源及数据库1.右键新建一个Access数据库(D:\example,数据库名:)。

2.依次点击屏幕左下角“开始\控制面板\管理工具”,双击“数据源(ODBC)”打开ODBC数据源管理器如错误!未找到引用源。

:图 13.点击“添加”新建一个数据源,驱动程序选择“Microsoft Access Driver(*.mdb)”点击“完成”,如错误!未找到引用源。

:图 24.配置该数据源,数据源名:yuan。

指向新建的Access 数据库()步骤如错误!未找到引用源。

所示:图 31.2创建表格模板打开工程“yangli”在工程浏览器窗口左侧找到“系统\SQL访问管理器\表格模板”选项如错误!未找到引用源。

,在右侧双击“新建”打开如错误!未找到引用源。

“创建表格模板”对话框。

图 4模板名称:muban1,,依次输入字段名称:ziduan1、字段长度:9,选择变量类型为:定长字符串型,点击增加字段。

用同样方法增加字段ziduan2、ziduan3。

图 51.3创建记录体注意:记录体中的字段名称必须与表格模板中的字段名称保持一致,记录体中字段对应的变量数据类型必须和表格模板中相同字段对应的数据类型相同。

1.在工程浏览器窗口“数据库\数据词典”中新增三个内存字符串型变量(ziduan1、 ziduan2、ziduan3)。

2.找到工程浏览器窗口左侧“SQL 访问管理器\记录体”选项,双击右侧“新建”图标建立名为“jiluti1”的记录体,对话框设置如错误!未找到引用源。

所示:图 6依次增加ziduan1、ziduan2、ziduan3三个字段点击“确认”。

2连接并插入记录2.1连接数据库并创建数据库表格1.在工程浏览器窗口“数据库\数据词典”中定义一个内存整型变量:变量名:DeviceID变量类型:内存整型2.在工程浏览器窗口的“命令语言\应用程序命令语言\启动时”窗口输入命令:SQLConnect( DeviceID, "dsn=yuan;uid=;pwd=");SQLCreateTable( DeviceID, "biaoge1", "muban1" );命令语言中的“yuan”为前面配置的数据源的名称。

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

组态王对关系数据库的查询例程说明文档北京亚控科技发展有限公司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”中有一个数据表:表的名称为:原料数据。

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

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

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

图一原料数据表3.2设置ODBC数据源1)在“控制面板”-“管理工具”-“ODBC数据源”中建立ODBC数据源,点击“ODBC数据源”弹出“ODBC数据源管理器”,如下图二所示:2)在“系统DSN”中点击“添加”,弹出“选择数据源驱动程序”窗口,如下图三所示:选择“Microsoft Access Driver (*.mdb)”驱动,点击“完成”。

弹出如图四所示窗口,填写ODBC数据源的名称,名称可以根据需要任意命名,我们命名为“数据”,点击“选择(S)”,如图五示,选择工程路径下面的数据库文件“数据.mdb”。

点击“确定”完成ODBC数据源的定义,如图六所示。

其他数据库如SQLServer的ODBC定义请参考相关文档。

图二ODBC数据源管理器图三选择数据源的驱动程序图四数据源定义图五选择数据库图六ODBC数据源定义3.3利用SQL函数进行查询利用组态王的SQL函数可以实现对数据库的记录进行查询、插入、删除等操作,我们这里只讲述如何进行查询,其他的使用请参考组态王使用手册以及函数手册。

组态王利用SQL函数进行查询时必须首先建立记录体。

3.3.1定义变量新建工程,然后定义变量,变量为内存变量。

在组态王中定义八个变量:原料厂家(内存字符串)、原料编号(内存字符串)、原料重量(内存实数)、日期(内存字符串)、时间(内存字符串)、值班人员(内存字符串)、查询日期(内存字符串)、DeviceID (内存整数)。

3.3.2定义记录体记录体是用来连接数据库的表格的字段和组态王数据词典中的变量。

创建记录体:如图七所示:记录体名:Bind1,字段名称为数据库中表的字段名称,变量名称为组态王数据词典中的变量。

字段类型与变量类型需要一致。

字段名称要与数据库中表的字段名称一致。

变量名称与字段名称可以不同。

记录体名称可以根据需要命名。

图七定义记录体3.3.3建立组态王与数据库的关联组态王与数据库建立与断开关联主要是通过SQL函数来实现。

通过SQLConnect()函数建立组态王与数据库的连接。

通过SQLDisconnect()函数断开组态王与数据库的连接。

本例程中数据库无用户名和密码,具体用法如下:SQLConnect( DeviceID, "dsn=数据;uid=;pwd=");其中DeviceID是用户在数据词典中创建的内存整型变量,用来保存SQLConnect()为每个数据库连接分配的一个数值。

建议将建立数据库连接的命令函数放在组态王的应用程序命令语言的启动时执行,这样当组态王进入运行系统后自动连接数据库。

如下图八所示:建议将断开数据库连接的命令函数放在组态王的应用程序命令语言的停止时执行,这样当组态王退出运行系统时自动断开数据库的连接。

如下图图九所示:注意:此函数在组态王运行中只须进行一次连接,不要把此语句写入“运行时”,多次执行此命令而造成错误。

图八建立与数据库的连接图九断开与数据库的连接3.3.4查询数据库数据库连接成功后,我们就可以通过执行SQL函数对Access数据库的表中的数据进行查询了,查询主要用到的SQL函数包括SQLSelect()、SQLLast()、SQLFirst()、SQLPre()、SQLNext()等。

详细的函数使用请参考函数使用手册。

首先利用组态王提供的画图工具新建一个组态王画面“SQLPic”,如下图十所示:日期、时间、值班人员、原料厂家、原料编号动画连接为字符串输出,连接的变量为\\本站点\日期、\\本站点\时间、\\本站点\值班人员。

原料重量动画连接为模拟值输出,连接的变量为\\本站点\原料重量。

查询日期动画连接为字符串输出、字符串输入,连接的变量为\\本站点\查询日期。

图十组态王画面1)“数据查询”按钮的弹起时命令语言为SQL查询函数,进行数据查询:string whe;whe="称量日期='"+\\本站点\查询日期+"'";SQLSelect( DeviceID, "原料数据", "Bind1", Whe, "" );2)“画面切换”按钮的弹起时命令语言为画面切换函数,进行画面的切换:ShowPicture("KVADODBGridPic");3)“下一条记录”按钮的弹起时命令语言为SQL函数,进行下一条记录的选择:SQLNext( DeviceID );4)“上一条记录”按钮的弹起时命令语言为SQL函数,进行上一条记录的选择:SQLPrev( DeviceID );5)“首记录”按钮的弹起时命令语言为SQL函数,进行首项记录的选择:SQLFirst( DeviceID );6)“末记录”按钮的弹起时命令语言为SQL函数,进行末项记录的选择:SQLLast( DeviceID );7)“系统退出”按钮的弹起时命令语言为系统退出函数:Exit( 0 );关于使用到的函数的详细使用方法请参考函数使用手册或者帮助文档。

3.3.5进入运行系统画面开发完成后保存画面,在工程浏览器的“系统设置”-“设置运行系统”-“主画面配置”中,将新建的“SQLPic”画面设置为主画面。

确认后点击工程浏览器的“View”按钮切换到运行系统。

系统运行后会将主画面打开,在查询日期处填写要查询数据的日期,点击“数据查询”按钮则会根据查询日期查询到相应日期的数据,如下图十一所示:通过点击相应的按钮会实现相应的功能。

图十一运行系统画面3.4利用KVADODBGrid控件进行查询3.4.1KVADODBGrid控件的介绍在工程中经常需要访问开放型数据库中的大量数据,如果通过SQL函数编程查询,因为符合条件的记录比较多,无法同时浏览所有的记录,并且无法形成报表进行打印,不易使用。

针对这种情况,组态王提供了一个通过ADO访问开放型数据库中数据的Active X控件-KVADODBGrid。

通过该控件,在组态王画面中用户可以很方便的访问数据库、编辑数据库。

可以通过数据库查询窗口对数据库中的数据进行查询,也可以用控件的统计函数计算出控件中数据的最大、最小值和平均值等。

具体的此函数的属性、方法以及详细的使用请参考组态王使用手册或者组态王帮助。

3.4.2KVADODBGrid控件的使用在工程中新建画面“KVADODBGridPic”,单击工具箱中的“插入通用控件”按钮则弹出“插入控件”对话框。

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

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

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

弹出控件固有属性对话框,如下图十三所示。

点击“浏览”按钮弹出“数据链接属性”如图十四所示,选择“连接”选项卡,在“指定数据源”处选择“使用数据源名称”选项,通过下拉列表选择我们前面所定义的ODBC。

图十三KV控件属性数据源“数据”,点击“确定”,返回图十三画面,“数据源”与“数据库”连接完成,下面进行数据表的配置。

在“表名称”处选择我们需要查询的数据表“原料数据”。

选择完成后,数据表的字段会显示在“有效字段”栏,我们可以将需要的字段添加到右边,在添加过程中可以对标题以及格式等进行相应的修改,如图十五所示:点击“确定”完成对KV控件的配置。

图十四数据链接属性图十五KV控件配置配置完成后KVADODBGrid控件在画面上的显示如图十六所示:同时按下键盘的“Ctrl”+“Alt”+“O”可以对控件的列宽进行设置,我们可以根据字段内容的多少设置合适的列宽以增加画面的美观程度。

设置完成后的画面如图十七所示:图十六KV控件在此基础上,我们进行数据查询功能的实现。

如图十八所示为最后完成的画面。

其中查询日期的动画连接为字符串输入、字符串输出,连接的变量为\\本站点\查询日期。

“数据查询”按钮的弹起时命令语言为调用KV控件的属性方法进行记录查询:string whe;whe="称量日期='"+\\本站点\查询日期+"'";KV.Where=whe;KV.FetchData();KV.FetchEnd();控件.Where属性:设置查询条件,如果不需要任何条件,则可以设置为空。

控件.FetchData方法:执行数据查询,并将查询到的数据集填充到控件中。

控件.FetchEnd方法:结束查询。

图十七KV控件图十八KVADODBGrid控件查询画面“打印”按钮的弹起时命令语言为KV控件的打印的方法,进行打印操作:KV.Print();“画面切换”按钮的弹起时命令语言为画面切换函数,进行画面的切换:ShowPicture("SQLPic");“按条件查询”按钮的弹起时命令语言为调用控件的QueryDialog()方法在弹出的对话框中填入查询条件实现数据查询,具体用法请参看组态王帮助:long aa;aa=KV.QueryDialog();if(aa==1){KV.FetchData();KV.FetchEnd();}“保存”按钮的弹起时命令语言为调用控件的SaveToCSV ()方法,把查询出来的数据保存成CSV格式文件,可以用EXCEL打开查看:string filename;filename=InfoAppDir()+StrFromReal(\\本站点\$年, 0, "f" )+StrFromReal(\\本站点\$月, 0, "f" )+StrFromReal(\\本站点\$日, 0, "f" )+StrFromReal(\\本站点\$时, 0, "f" )+StrFromReal(\\本站点\$分, 0, "f" )+StrFromReal(\\本站点\$秒, 0, "f" )+".csv";KV.SaveToCSV(filename);在使用KVADODBGrid控件过程中用到的控件的属性、方法请参考手册或者帮助文档。

相关文档
最新文档