组态王数据查询控件的应用实用

合集下载

组态王 LEDPro 计数器液晶显示控件使用

组态王 LEDPro 计数器液晶显示控件使用

LEDPro 计数器液晶显示控件使用说明
一、安装
将控件文件LEDPro.ocx复制到C:\Program Files\Kingview目录下,在“开始”工具栏里点击“运行”,输入“regsvr32 "C:\Program Files\Kingview\LEDPro.ocx"”,然后单击“确定”。

如在屏幕上显示了“DllRegisterServer in C:\Program Files\Kingview\FTPPro.ocx succeeded”的信息窗口,则表示注册成功。

2
1
3
4
5
6
7
LEDPro 计数器液晶显示控件使用说明(只显示数字)
二、控件在组态王中使用
在“工具栏”中点击“插入通用控件”,在通用控件列表里选择“LEDPro.LED”,即可;
三、功能
1、可当一般的数字显示控件
2、可当计数器使用。

3、显示范围0----1000000000
四、属性:
Value STRING 要显示的值只写
Visable BOOL 是否显示(真为显示,假为隐藏)读/写
nTime LONG 计数的间隔时间(毫秒)只写
五、方法:
BeginFun VOID 从0 开始计数
EndFun VOID 停止计数
ConFun VOID 继续计数
Clear VOID 清0 初始化
事件:
TimeChange VIOD 当开始计数时,每当经过nTime时间,就触发一次此事件。

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

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

例程说明文档目录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。

(仅供参考)组态王数据查询控件的应用实用

(仅供参考)组态王数据查询控件的应用实用
3、【清除表格】按钮代码 KV.RemoveAllData();
4、【全部删除】代码 SQLClearTable(DeviceID, "KingTable");
5、【删除 1 月前】数据代码 SQLConnect( DeviceID, "dsn=xhmeiqi;uid=;pwd="); long month=\\本站点\$月-1; long year=\\本站点\$年; long day=\\本站点\$日; string date1; if(month==0) {month=12; year=\\本站点\$年-1;} date1= StrFromInt( year, 10 ); date1=date1+"-"; date1 = date1 + StrFromInt( month, 10 ); date1 = date1 + "-" + StrFromInt( day, 10); string whereexpr="日期='"+date1+"'"; SQLDelete( DeviceID, "KingTable", whereexpr); if(\\本站点\$月==4||\\本站点\$月==6||\\本站点\$月==9||\\本站点\$月==11) { if(\\本站点\$日==30)
说明:xhmeiqi2 为 ODBC 源名称 Kingtable 为数据表格名称 Meiqi 为记录体名称
十一、数据库设计表 注意日期 1 格式为日期/时间(datetime)
十二、数据库连接说明 1、 建立 ACCESS 数据库文件 2、 设置 ODBC 源(xhmeiqi) 3、 组态王应用程序写连接和断开语句 4、 组态王建立表格模板和记录体 5、 组态王开始运行,在数据库文件根据表格模板建立表格 6、 运行时就可以保存数据到数据库 7、 使用历史控件是建立【日期 1】变量,并在数据库中更改为日期时间格式。 8、 使用 SQL 数据库,要在 SQL 先建立数据库文件,然后导入 ACCESS 表格,接着建立数据源

在组态王中使用KVADODBGrid控件时如何对数据库中的日期类型字段进行查询

在组态王中使用KVADODBGrid控件时如何对数据库中的日期类型字段进行查询

在组态王中使用KVADODBGrid控件时如何对数据库中的日期类型字段进行查询在组态王中对数据库进行查询主要是利用KVADODBGrid控件来实现的,具体实现方法如下:1)在组态王画面中添加两个日期时间控件即:Microsoft Date and Time Picker Control ,控件名称分别为date1和date2;2)在第一个控件的CLOSEUP事件中输入如下命令语言:long year1;long month1;long day1;year1=;month1=;day1=;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)+"日";}3)在第二个控件的CLOSEUP事件中输入如下命令语言:long year2;long month2;long day2;year2=;month2=;day2=;string 查询结束时间;if(month2<10&&day2<10){查询结束时间=StrFromInt(year2, 10)+"年"+"0"+StrFromInt(month2, 10)+"月"+"0"+StrFromInt(day2, 10)+"日";}if(month2<10&&day2>=10){查询结束时间=StrFromInt(year2, 10)+"年"+"0"+StrFromInt(month2, 10)+"月"+StrFromInt(day2, 10)+"日";}if(month2>=10&&day2<10){查询结束时间=StrFromInt(year2, 10)+"年"+StrFromInt(month2, 10)+"月"+"0"+StrFromInt(day2, 10)+"日";}if(month2>=10&&day2>=10){查询结束时间=StrFromInt(year2, 10)+"年"+StrFromInt(month2, 10)+"月"+StrFromInt(day2, 10)+"日";}4)在画面上添加一按钮,在按钮的弹起时输入如下命令语言:机组1历史报警.Where="AlarmDate>=#"+查询开始时间+"# and AlarmDate<=#"+查询结束时间+"# " etchData();机组1历史报警.FetchEnd();其中:AlarmDate为表中的字段名称,字段类型为日期类型。

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

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

组态王对关系数据库的查询例程说明文档目录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)在数据库的原料数据表中已经存储了许多数据。

组态王列表框控件的使用方法

组态王列表框控件的使用方法

组态王列表框控件的使用方法说起来这个组态王列表框控件,可真是工程人员的好帮手。

你别看它平时不言不语,就默默地待在屏幕一角,可一到关键时刻,那作用,啧啧,真是不得了。

那天,我正琢磨着怎么把这堆数据整理得井井有条,好让老板一看就明白。

咱这脑袋瓜子,平时想些文绉绉的事儿还行,一到这技术活儿上,就容易犯迷糊。

我正抓耳挠腮呢,一眼瞥见了那列表框控件,嘿,这不正是我要找的吗?我点开组态王软件,鼠标轻轻一点,那列表框控件就乖乖地出现在了我的画面上。

它就像个听话的小兵,等着我这个大将军来指挥。

我先给它起了个名字,就叫“数据小管家”吧,这名字听着就亲切。

接下来,我就得往这“数据小管家”里添东西了。

你知道那listLoadList函数吗?它就像个搬运工,能把CSV文件里的数据一股脑儿地搬进列表框里。

我指定了文件名,点了点鼠标,嘿,那些数据就像变魔术一样,一个个出现在了列表框里,整齐划一,看着就舒心。

可有时候,数据得实时更新,不能老是靠搬文件啊。

这时候,listAddItem函数就派上用场了。

它就像个灵活的小助手,能把新的数据项一条一条地加进去。

我输入了新的数据,点击确认,那数据就像长了腿似的,自己就跑到了列表框的末尾,还自动给了个索引号,真是贴心。

当然啦,数据有时候也得清理清理,不然就像家里堆满了杂物,看着就心烦。

这时候,listClear函数就派上用场了。

我轻轻一点,那列表框里的数据就像被一阵风吹走了一样,干干净净,不留痕迹。

还有啊,这列表框控件不仅能显示数据,还能把数据存回文件里。

listSaveList函数就像个细心的记录员,能把列表框里的数据一项一项地记录下来,存到指定的CSV文件里。

这样,我就不用担心数据丢失了,随时都能找回来。

用这列表框控件啊,还真得有点耐心和细心。

你得慢慢摸索它的脾气,了解它的功能,才能把它用得得心应手。

就像养个孩子一样,得花时间、花心思去教它、去引导它。

不过啊,等你把它养大了、养熟了,它就会成为你的得力助手,帮你解决不少麻烦。

组态王专题之:KVDBGrid控件使用方法

组态王专题之:KVDBGrid控件使用方法

组态王专题之:KVDBGrid控件使用方法一、控件介绍:KVDBGrid控件是一个组态王提供的用于通过ODBC接口访问数据库的Active X控件。

通过该控件,用户可以方便的访问到数据库,进行数据查询,还可将查询结果打印出来。

二、控件功能:1.显示数据库一个表中的数据,可进行显示字段选择,查询条件限制(目前暂不支持多个表数据的查询)。

2.开发状态可设置显示表头。

3.运行状态可编辑表格中数据。

但不更新数据库。

4.运行状态可动态设置过滤条件,刷新显示。

5.可打印表格中显示的数据,可进行横向和纵向分页。

三、使用说明:1.在画面中插入控件:组态王画面菜单中编辑\插入通用控件,或在工具箱中单击“插入通用控件”按钮,在弹出的对话框中选择KVDBGrid Class,单击确定。

2.按下鼠标左键,并拖动,在画面上绘制出表格区域。

3.设置动画连接:双击控件或选择右键菜单中动画连接,在弹出的属性页中设置控件名称等信息(控件动画连接属性的具体设置请参见《组态王6.0使用手册》中控件一章)。

4.设置控件属性:选择控件右键菜单中“控件属性”。

弹出控件固有属性页,可分别设置如下属性:(1)、数据源:单击“浏览”按钮可选择或新建ODBC数据源。

选择数据源后“表名称”组合框中就自动填充了可选的表名称,可弹出下拉列表选择要显示的数据所在的表名称。

选择表名称后,“有效字段”中自动填充表中的所有字段,可通过“添加”、“删除”,“上移”,“下移”按钮来选择要显示的字段和显示顺序。

单击显示的字段,可在右侧设置字段显示的标题、格式、对齐等属性。

最后在“查询条件”中设置限制条件(ODBC SQL语法)。

如查询“日期”2001年9月1日的“原料罐液位”大于10的所有数据,则在该文本框中输入:原料罐液位>10 and 日期=’2001/9/1’(2)、表格属性:可设置表格的一般属性。

说明:如固定行数大于1,则第一行显示选择字段的标题,其它固定行不自动填充,要由使用者在设计状态编辑其显示内容。

组态王重要功能简单使用介绍

组态王重要功能简单使用介绍

组态王重要功能简单使用介绍一、图库1、图形建立动画连接并合成图素的方式创建的图库精灵,在画面中引用后,其属性界面中动画连接属性的变量改变后,可以任意移动它的位置,但不能再调整其大小,否则动画连接属性的变量会变回到原先的变量。

为避免误操作,可以把图库精灵转换成普通图素后再定义属性变量。

2、一般情况下,含有图库精灵的画面会有许多操作上的限制。

如,为了在画图过程中把常用的图块创建为图库精灵,但图块中的图素要求不能包含引用到的图库精灵。

所以在画图过程中引用到的图库精灵应首先转化成普通图素。

转化成普通图素后,还可以个性化定义动画,而图库精灵定义动画比较死板。

二、动画制作1、组态王软件对稍微复杂的动画,如旋转轮、搅拌叶片模拟动作等没有现成的图库引用,都必须自己设计,无论采用图素基本旋转功能还是图素显示与隐藏方式实现视觉上的动画效果,绝大多数情况下都必须使用到内存变量。

一般一个动画使用到一个内存变量。

当软件点数较少,变量使用较紧张时,就不能为了动画效果而定义大量的内存变量。

动画的实现一般要求有重复计数功能的表达式支持,这就要定义专用的内存整型变量(为了使动画更流畅,可以定义内存实型变量,以小于1的阶梯变化),通过命令语言来实现重复计数功能。

为了减少变量的使用数,就应对整个组态系统的动画效果进行大的归类,如旋转、移动、闪烁、缩放等,每一类定义一个或多个(尽量少)的内存实型变量。

使用方法为:1、在应用程序命令语言中写出变量重复计数的程序,在某一窗口只要引用此变量来实现动画即可;2、在每个需要动画效果的窗口的画面命令语言中写出变量重复计数的程序。

方法1优点是每个变量只要书写一次计数程序,缺点是整个监控系统的同类型的动画效果相同,制作也不灵活。

方法2的优点是每个窗口中变量计数的变化量可以不一样,这样使得制作动画更方便灵活,每个窗口动画效果可根据需要灵活实现,缺点是同一个变量要多次书写计数程序。

另外必须注意的是:如果同时多个窗口都要实现同类型的动画效果,也就是同一个变量在多个窗口使用。

组态王应用——组态王对关系数据库的查询

组态王应用——组态王对关系数据库的查询

组态王对关系数据库的查询配置参考文档北京亚控科技发展有限公司技术部目录一、功能概述 (3)一、功能概述 (3)二、工程实例 (3)三、操作步骤: (3)1、数据库以及表: (3)2、设置ODBC数据源: (3)3.利用SQL函数进行查询: (7)3.1) 定义变量: (7)3.2) 定义记录体: (7)3.3) 建立组态王与数据库的关联: (7)3.4) 查询数据库: (9)3.5) 进入运行系统: (11)4.利用KV ADODBG RID控件进行查询: (11)4.1) KVADODBGrid控件的介绍: (11)4.2) KVADODBGrid控件的使用: (12)4.3) 进入运行系统: (17)四、注意事项 (17)图表图一原料数据表 (4)图二 ODBC数据源管理器 (5)图三选择数据源的驱动程序 (5)图四数据源定义 (6)图五选择数据库 (6)图六 ODBC数据源定义 (6)图七定义记录体 (7)图八建立与数据库的连接 (8)图九断开与数据库的连接 (9)图十组态王画面 (10)图十一运行系统画面 (11)图十二插入通用控件 (12)图十三 KV控件属性 (13)图十四数据链接属性 (14)图十五KV控件配置 (14)图十六KV控件 (15)图十七KV控件 (16)图十八 KV ADODBGrid控件查询画面 (16)图十九 KV ADODBGrid控件运行画面 (17)一、功能概述常规需求:很多工业现场要求对关系数据库的数据根据不同的条件进行查询处理。

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

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

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

在组态王中使用KVADODBGrid控件时如何对数据库中的日期类型字段进行查询

在组态王中使用KVADODBGrid控件时如何对数据库中的日期类型字段进行查询
}
if (monthl>=10&&dayl>=10)
{
查 询开始 时 间^StrFromlnt (yearl, 10)+"年/z+StrFromInt (monthl,z/+StrFromInt (dayl, 10) +"口";
}
3)在第二个控件的CLOSEUP事件中输入如下命令语言:
long year2;
在组态王屮使用
在组态王中对数据库进行查询主要是利用KVADODBGrid控件来实现的,具体实现方 法如下:
1)在组态王画面中添加两个日期时间控件即:Microsoft Date and Time Picker Control,控件名称分别为date 1和date2;
2)在第-个控件的CLOSEUP事件中输入如下命令语言:
}
if(month2>=10&&day2>=10)
{
查询结束时间=StrFromInt (year2, 10)+"年/z+StrFromInt (month2, 10)+"月/z+StrFromInt (day2, 10) +"日";
}
4)在画面上添加按钮,在按钮的弹起时输入如下命令语言:
机组1历史报警.Where二"AlarmDate>二#〃+查询开始时间+ "#and AlarmDate<=#z,+查 询结束时间+"# "etchDataO;
}
if (month2<10&&day2>=10)

组态王重要功能简单使用介绍

组态王重要功能简单使用介绍

组态王重要功能简单使用介绍组态王重要功能简单使用介绍一、图库1、图形建立动画连接并合成图素的方式创建的图库精灵,在画面中引用后,其属性界面中动画连接属性的变量改变后,可以任意移动它的位置,但不能再调整其大小,否则动画连接属性的变量会变回到原先的变量。

为避免误操作,可以把图库精灵转换成普通图素后再定义属性变量。

2、一般情况下,含有图库精灵的画面会有许多操作上的限制。

如,为了在画图过程中把常用的图块创建为图库精灵,但图块中的图素要求不能包含引用到的图库精灵。

所以在画图过程中引用到的图库精灵应首先转化成普通图素。

转化成普通图素后,还可以个性化定义动画,而图库精灵定义动画比较死板。

二、动画制作1、组态王软件对稍微复杂的动画,如旋转轮、搅拌叶片模拟动作等没有现成的图库引用,都必须自己设计,无论采用图素基本旋转功能还是图素显示与隐藏方式实现视觉上的动画效果,绝大多数情况下都必须使用到内存变量。

一般一个动画使用到一个内存变量。

当软件点数较少,变量使用较紧张时,就不能为了动画效果而定义大量的内存变量。

动画的实现一般要求有重复计数功能的表达式支持,这就要定义专用的内存整型变量(为了使动画更流畅,可以定义内存实型变量,以小于1的阶梯变化),通过命令语言来实现重复计数功能。

为了减少变量的使用数,就应对整个组态系统的动画效果进行大的归类,如旋转、移动、闪烁、缩放等,每一类定义一个或多个(尽量少)的内存实型变量。

使用方法为:1、在应用程序命令语言中写出变量重复计数的程序,在某一窗口只要引用此变量来实现动画即可;2、在每个需要动画效果的窗口的画面命令语言中写出变量重复计数的程序。

方法1优点是每个变量只要书写一次计数程序,缺点是整个监控系统的同类型的动画效果相同,制作也不灵活。

方法2的优点是每个窗口中变量计数的变化量可以不一样,这样使得制作动画更方便灵活,每个窗口动画效果可根据需要灵活实现,缺点是同一个变量要多次书写计数程序。

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)选择按日期查询,并选择起始和结束日期,并选择排序选项,再点击查询排序按钮;顺利的话,可以选择其它选项查看效果。

组态王6.5使用手册 第14章 控件(共101页 74~101页)

组态王6.5使用手册 第14章 控件(共101页 74~101页)
事件属性页列表共分为两列:第一列为事件的名称;第二列为与该事件关联的组态王自定义函数,即可以定义一个组态王自定义函数,当控件的事件产生时,组态王可以自动调用该函数。但需要注意的是,控件事件的关联函数必须在控件属性页中添加和编辑。
在相应事件的“关联函数”表格中单击鼠标右键,弹出快捷菜单,如图14.53所示。
查看类型:从列表框中选择查看的类型:控件属性或控件方法。
属性或方法:当选择“查看类型”后,在属性或方法列表中将列出相应类型的列表。如选择控件属性,则在属性或方法列表中列出日历控件的所有属性。如图14.59所示。
图14.58 控件属性和方法对话框
图14.59 日历控件的控件属性
4、在属性列表中选择控件的属性,如“Year”,单击对话框的“确定”按钮,或在列表中直接双击该属性,控件属性和方法列表框自动关闭,控件的属性自动添加到命令语言编辑器中。如图14.60所示。
在字体属性页中定义各个标签的字体及字体颜色。定义完成的图表如下图所示。
4、设置控件名称和函数:在组态王中每一个控件必须要有一个唯一的名称。双击该图表控件,弹出动画连接属性对话框,如下图所示。
常规属性页中,在“控件名”编辑框中输入控件的名称,如“步骤图”。
在事件属性页中定义一个函数:当用户双击该图表时,弹出图表控件的版本信息。双击“DblClick”对应的“关联函数”,弹出控件事件函数对话框,定义函数的名称为“hanshu()”,单击“控件”按钮,在弹出的控件属性和方法对话框中选择“步骤图”的方法“AboutBox”方法。如下图所示。
SaveVideoFrame(STRING lpszPicName)
SaveVideoFrmeToRect(STRING lpszPicName)
步骤图.Data=StrFromReal( \\本站点\实型1, 2, "f" );

在组态王中使用KVADODBGrid控件时如何对数据库中的日期类型字段进行查询

在组态王中使用KVADODBGrid控件时如何对数据库中的日期类型字段进行查询

在组态王中使用KVADODBGrid控件时如何对数据库中的日期类型字段进行查询在组态王中对数据库进行查询主要是利用KVADODBGrid控件来实现的,具体实现方法如下:1)在组态王画面中添加两个日期时间控件即:Microsoft Date and Time Picker Control ,控件名称分别为date1和date2;2)在第一个控件的CLOSEUP事件中输入如下命令语言:long year1;long month1;long day1;year1=;month1=;day1=;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)+"日";}3)在第二个控件的CLOSEUP事件中输入如下命令语言:long year2;long month2;long day2;year2=;month2=;day2=;string 查询结束时间;if(month2<10&&day2<10){查询结束时间=StrFromInt(year2, 10)+"年"+"0"+StrFromInt(month2, 10)+"月"+"0"+StrFromInt(day2, 10)+"日";}if(month2<10&&day2>=10){查询结束时间=StrFromInt(year2, 10)+"年"+"0"+StrFromInt(month2, 10)+"月"+StrFromInt(day2, 10)+"日";}if(month2>=10&&day2<10){查询结束时间=StrFromInt(year2, 10)+"年"+StrFromInt(month2, 10)+"月"+"0"+StrFromInt(day2, 10)+"日";}if(month2>=10&&day2>=10){查询结束时间=StrFromInt(year2, 10)+"年"+StrFromInt(month2, 10)+"月"+StrFromInt(day2, 10)+"日";}4)在画面上添加一按钮,在按钮的弹起时输入如下命令语言:机组1历史报警.Where="AlarmDate>=#"+查询开始时间+"# and AlarmDate<=#"+查询结束时间+"# " etchData();机组1历史报警.FetchEnd();其中:AlarmDate为表中的字段名称,字段类型为日期类型。

在组态王中使用KVADODBGrid控件时如何对数据库中的日期类型字段进行查询

在组态王中使用KVADODBGrid控件时如何对数据库中的日期类型字段进行查询
修改后可使用SQLUpdate()函数将数据更新到数据库中。
在组态王中使用KVADODBGRID控件进行数据库查询时,能否对查询出来的数据进行修改,同时将数据更新到数据库中?
可以。通过控件的Editable属性来实现,此属性置0不可编辑,置1可编辑,调用格式如下:
数据库查询控件.Editable=0;
查询语句如下所示:
数据库查询控件.Where="ADate >={d'"+\\本站点\开始时间+"'} and ADate <={d'"+\\本站点\结束时间+"'}";
//日期范围查询,其中ADate为数据库中字段的名称,日期型,开始时间和结束时间是组态王数据字典中定义字符串变量。
数据库查询控件.FetchData();
long year2;10)+"月10)+"月10)+"月10)+"月long month2;
long day2;
year2=date
2."Year;
month2=date
2."Month;
day2=date
2."Day;
string查询结束时间;
if(month2<10&&day2<10){查询结束时间=StrFromInt(year2,10)+"年"+"0"+StrFromInt(month2,10)+"月"+"0"+StrFromInt(day2, 10)+"日";}if(month2<10&&day2>=10){查询结束时间=StrFromInt(year2,10)+"年"+"0"+StrFromInt(month2,10)+"月"+StrFromInt(day2, 10)+"日";}if(month2>=10&&day2<10){查询结束时间=StrFromInt(year2,10)+"年"+StrFromInt(month2,10)+"月"+"0"+StrFromInt(day2, 10)+"日";}if(month2>=10&&day2>=10){查询结束时间=StrFromInt(year2,10)+"年"+StrFromInt(month2,10)+"月"+StrFromInt(day2, 10)+"日";}4)在画面上添加一按钮,在按钮的弹起时输入如下命令语言:

组态王查询数据库总结-概述说明以及解释

组态王查询数据库总结-概述说明以及解释

组态王查询数据库总结-概述说明以及解释1.引言1.1 概述概述:组态王是一款功能强大的数据库查询工具,为用户提供了便捷、高效的数据查询服务。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

组态王按数据库字段数据进行查询
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);

组态王软件使用说明书

组态王软件使用说明书

建立一个空工程 定义外部设备 建立数据词典 制作车间画面 进行动画连接 调试运行 采取安全措施
概述
一、组态软件的诞生历史 二、组态软件的发展趋势
四、组态软件中的数据流 五、使用组态软件的一般步骤
及使用
目录 1. 组态王的系统结构
各部分的功能 各部分之间的关系
组态王提供的控件及使用 3. 组态王报表的制作
演示步骤:要先在某个盘上建立几个空工程,然后分别选中,在文件下 拉菜单中选清除工程信息后,再搜索该盘。
选择搜索目标盘
则目标盘上搜到的所 有工程自动加入信息
文件\添加工程
要单击开文件夹bbb
新工程已经加入 到工程信息区
添加工程与搜索工程的区别是: 添加工程只添加一个指定的工程; 搜索工程是将搜索到的所有工程都加入工程信息区。
一、建立一个空工程的步骤
双击桌面上的
组态王图标
二、定义外部设备的步骤
所有需要和组态王进行通讯的硬件设备都称作外部 设备,包括PLC、仪表、模块、板卡、变频器等。只有 定义了外部设备后,才能和组态王进行通讯。 部设为备了,方组便态定王义提外供了“设备配置向 导”,操
选中任一COM 口后双击新建
定义外部设备操作步骤
讲课主线
一、组态软件概述 1. 组态软件的特点及诞生与发展 2. 目录 3. 教学目的 4. 基本要求
二、粗讲
3. 组态王课题的开发步骤
三、细讲 1. 工程管理器的使用 开发步骤归纳 2. 工程浏览器的使用 3. 系统安全措施
四、深讲 1. ODBC数据库的应用 2. 组态王的网络服务功能 3. 实现远程控制
使用菜单

或快捷工具
工程管理器
工程浏览器
使用菜单

组态王教学-历史数据查询例程

组态王教学-历史数据查询例程

组态王教学-历史数据查询例程组态王历史数据查询例程配置参考文档北京亚控科技发展有限公司技术部一、功能概述常规需求:很多工业现场会存储数据并对存储的历史数据进行查询、打印输出。

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

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

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

二、工程实例我们举一个例子来说明日报表的实现方法。

在此例程中我们定义五个变量,分别为“压力”、“温度”、“密度”、“电流”、“电压”,运行系统运行后记录历史数据,查询日报表数据时自动从历史数据中查询整点数据生成报表,并可以保存、打印报表。

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

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

2、定义变量:在组态王中定义三个变量:压力(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。

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

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

C)日期控件语句 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) {
GetDate(\\本站点\huhu1,\\本站点\year,\\本站点\month,\\本站点\day);
if(\\本站点\month<10) \\本站点\months="0"+StrFromInt( \\本站点\month, 10); else \\本站点\months=StrFromInt( \\本站点\month, 10); if(\\本站点\day<10) \\本站点\days="0"+StrFromInt( \\本站点\day, 10); else \\本站点\days=StrFromInt( \\本站点\day, 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); }
{ day=31; date1= StrFromInt( year, 10 ); date1=date1+"-"; date1 = date1 + StrFromInt( month, 10 ); date1 = date1 + "-" + StrFromInt( day, 10); whereexpr="日期='"+date1+"'"; SQLDelete( DeviceID, "KingTable", whereexpr); } }
组态王数据查询控件 KVADODBGrid 的应用
控件说明 数据查询控件名称:KV 日期控件名称:Date1
演示运行画面
KV 控件属性
Hale Waihona Puke 1、日期控件代码: 日期格式不同,选择语言也不同的
A)日期控件语言 string a; string a1; string a2; a=StrFromReal( Date3.Year, 0, "f" ); a1=StrFromReal( Date3.Month, 0, "f" ); a2=StrFromReal( Date3.Day, 0, "f" ); if (StrToReal(a1)<10) { a1="0"+a1; } if (StrToReal(a2)<10) { a2="0"+a2; } \\本站点\查询日期 1=a+"-"+a1+"-"+a2
string str;
\\本站点\huhu0=HTConvertTime(1970,1,11,0,0,0); \\本站点\huhu1=HTConvertTime(\\本站点\$年,\\本站点\$月,\\本站点\$日,\\本站点\$时,\\本站点\$分,\\ 本站点\$秒)-HTConvertTime(1970,1,11,0,0,0);
说明:xhmeiqi2 为 ODBC 源名称 Kingtable 为数据表格名称 Meiqi 为记录体名称
十一、数据库设计表 注意日期 1 格式为日期/时间(datetime)
十二、数据库连接说明 1、 建立 ACCESS 数据库文件 2、 设置 ODBC 源(xhmeiqi) 3、 组态王应用程序写连接和断开语句 4、 组态王建立表格模板和记录体 5、 组态王开始运行,在数据库文件根据表格模板建立表格 6、 运行时就可以保存数据到数据库 7、 使用历史控件是建立【日期 1】变量,并在数据库中更改为日期时间格式。 8、 使用 SQL 数据库,要在 SQL 先建立数据库文件,然后导入 ACCESS 表格,接着建立数据源
if (MenuIndex==1 && ChildMenuIndex==0) ShowPicture("数据查询 2"); ClosePicture("数据查询");
9、【删除 10 天前】数据代码 SQLConnect( DeviceID, "dsn=xhmeiqi;uid=;pwd=1236");
B)日期控件语句 string a; string a1; string a2; a=StrFromReal( Date3.Year, 0, "f" ); a1=StrFromReal( Date3.Month, 0, "f" ); a2=StrFromReal( Date3.Day, 0, "f" ); \\本站点\查询日期 1=a+"-"+a1+"-"+a2
\\本站点\开始时间=查询开始时间;
2、【数据查询】代码(按日期查询,按日期 1 排序) string whe; whe="日期='"+\\本站点\查询日期 1+"'"; KV.Where=whe+"order by 日期 1 asc"; KV.FetchData(); KV.RefreshData(); KV.FetchEnd();
6、【查询保存】代码 STRING bstrCSV="D:\兴华煤气网络\数据查询\数据查询"+查询日期 1+".csv"; KV.SaveToCSV(bstrCSV);
6、【查询打印】代码 KV.Print();
8、【压力查询】切换菜单代码 if (MenuIndex==0 && ChildMenuIndex==0) ShowPicture("数据查询 2"); ClosePicture("数据查询");
3、【清除表格】按钮代码 KV.RemoveAllData();
4、【全部删除】代码 SQLClearTable(DeviceID, "KingTable");
5、【删除 1 月前】数据代码 SQLConnect( DeviceID, "dsn=xhmeiqi;uid=;pwd="); long month=\\本站点\$月-1; long year=\\本站点\$年; long day=\\本站点\$日; string date1; if(month==0) {month=12; year=\\本站点\$年-1;} date1= StrFromInt( year, 10 ); date1=date1+"-"; date1 = date1 + StrFromInt( month, 10 ); date1 = date1 + "-" + StrFromInt( day, 10); string whereexpr="日期='"+date1+"'"; SQLDelete( DeviceID, "KingTable", whereexpr); if(\\本站点\$月==4||\\本站点\$月==6||\\本站点\$月==9||\\本站点\$月==11) { if(\\本站点\$日==30)
十、应用程序命令语言 启动:SQLConnect(DeviceID,"dsn=xhmeiqi2; ;UID=; PWD="); 运行:\\本站点\日期=$日期+" "+ $时间; \\本站点\五秒=Trunc(\\本站点\$秒/1); 停止:SQLDisconnect( DeviceID); 保存数据语言:SQLInsert( DeviceID, "KingTable", "meiqi" );
\\本站点\sc_day=StrFromInt( \\本站点\year, 10)+"/"+ \\本站点\months+"/"+\\本站点\days;
str="日期='"+\\本站点\sc_day+"'"; SQLDelete( DeviceID, "KingTable",str);
相关文档
最新文档