组态王数据查询控件的应用实用
组态王 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。
(仅供参考)组态王数据查询控件的应用实用

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控件来实现的,具体实现方法如下: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控件是一个组态王提供的用于通过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的优点是每个窗口中变量计数的变化量可以不一样,这样使得制作动画更方便灵活,每个窗口动画效果可根据需要灵活实现,缺点是同一个变量要多次书写计数程序。
另外必须注意的是:如果同时多个窗口都要实现同类型的动画效果,也就是同一个变量在多个窗口使用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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);