组态王数据统计与查询的制作过程.docx
《组态王数据统计与查询的制作过程.docx》由会员分享,可在线阅读,更多相关《组态王数据统计与查询的制作过程.docx(16页珍藏版)》请在冰豆网上搜索。
组态王数据统计与查询的制作过程
数据统计与查询的制作过程
利用MicrosoftAccess数据库和组态王的KVADODBGrid控件实现
以暖气、冷气、供热水系统为例(5O,5P)
软件版本:
MicrosoftAccess2010
组态王6.53
一、建立MicrosoftAccess数据库文件
1、在我的电脑F盘中建立一个MicrosoftAccess数据库,命名为:
5OAND5PDatabase.accdb
2、双击打开“5OAND5PDatabase.accdb”文件,选择“创建”>>>“表”>>>“表1”;右击“表1”,选择“重命名”,将“表1”命名为“数据采集”;右击“数据采集”,选择“设计视图”,将相关的数据名写入字段,并选择相应的数据类型,完成后保存,退出;如图01
图01
二、建立ODBC数据源
选择windows“开始”菜单>>>“控制面板”>>>“管理工具”>>>双击“数据源(ODBC)”,弹出“OBDC数据源管理器”(如图02)>>>
图02
“系统DSN”>>>“添加”;(如图03)
图03
弹出“创建新数据源”>>>“MicrosoftAccessDriver(*.mdb,*.accdb)”>>>“完成”;(如图04)
图04
弹出“ODBCMicrosoftAccess安装”>>>数据源名为“5O5P”>>>“选择…”,(如图05)
图05
弹出“选择数据库”>>>驱动器“F盘”>>>数据库名“5OAND5PDatabase.accdb”>>>“确定”。
(如图06)
图06
三、建立组态王记录体
打开组态王软件,弹出“工程管理器”,选择相应的工程名称,双击打开,弹出“工程浏览器”,选择工程浏览器左侧大纲项“SQL访问管理器文件\记录体”,在工程浏览器右侧用鼠标左键双击“新建”图标;
记录体名为“Bind”;
输入字段名称,点击“?
”,选择对应的变量,然后点击“增加字段”,(注:
字段顺序需与数据库,表“数据采集”,字段顺序相同)如图07所示。
图07
四、建立组态王命令语言
打开组态王软件,弹出“工程管理器”,选择相应的工程名称,双击打开,弹出“工程浏览器”。
1、选择工程浏览器左侧大纲项“数据词典”,在数据词典里定义新变量,变量名称:
DeviceID,变量类型:
内存整型(如图08)
图08
2、选择工程浏览器左侧大纲项“命令语言\应用程序命令语言”,在工程浏览器右侧用鼠标左键双击“新建”图标;
选择“启动时”选项,在空白处输入以下脚本,然后“确认”;(如图09)
SQLConnect(DeviceID,"dsn=5O5P;uid=;pwd=");
enablenavigate(0);
图09
选择“停止时”选项,在空白处输入以下脚本,然后“确认”;(如图10)
SQLDisconnect(DeviceID);
图10
3、选择工程浏览器左侧大纲项“命令语言\数据改变命令语言”,在工程浏览器右侧用鼠标左键双击“新建”图标;
数据改变命令语言触发的条件为连接的变量或变量的域的值发生了变化。
点击“?
”,选择变量,在空白处输入以下脚本,然后“确认”;(如图11)
图11
五、创建KVADODBGrid控件
选择工程浏览器左侧大纲项“画面”,在工程浏览器右侧用鼠标左键双击“新建”图标;画面名称为“报表”
单击工具箱中的“插入通用控件”按钮,或选择菜单命令“编辑\插入通用控件”,则弹出“插入控件”对话框。
在“插入控件”对话框内选择KVADODBGridClass。
用鼠标左键单击“确定”按钮,关闭对话框。
(如图12)
图12
鼠标变成十字形。
然后在画面上适当位置按下鼠标左键并进行拖动,画一个矩形框,放开鼠标左键,KVADODBGrid控件就放到画面上了。
可以任意移动、缩放控件,如同处理一个单元图素一样。
(如图13)
图13
选择控件,单击右键,在弹出的菜单中选择“控件属性”。
弹出控件属性对话框。
选择数据源,点击“浏览”,弹出“数据连接属性”,在“提供程序”选项中,选择“MicrosoftOLEDBProviderforODBCDrivers”,然后“下一步”(如图14)
图14
定义“连接”属性,选择“使用数据源名称”,在下拉菜单中选择“5O5P”,然后“测试连接”,确定。
(如图15)
图15
返回“控件属性”对话框,选择表名称“数据采集”,并将左边“有效字段”中的字段名称添加到右边“按此顺序显示”中;(如图16)
(注:
字段顺序需与数据库,表“数据采集”,字段顺序相同)
图16
六、建立查询时间段的数据
1、创建日历控件(MicrosoftDateandTimePickercontrol)
在工具箱上单击“插入通用控件”或选择菜单“编辑\插入通用控件”命令。
会弹出如图17所示的“插入控件”对话框。
图17在对话框的列表中找到“MicrosoftDateandTimePickercontrol”项,选中它,然后单击“确定”按钮,或直接鼠标双击该项。
“插入控件”对话框自动关闭,按照本节开始所描述的方法在画面上创建控件。
创建后的控件如图18所示。
图18
2、日历控件属性
选中该控件,右击选择“控件属性”,弹出对话框。
(如图19)
图19
3、定义日历控件的功能
A、选择工程浏览器左侧大纲项“数据词典”,在数据词典里定义新变量
变量名称:
开始日期,变量类型:
内存字符串
变量名称:
结束日期,变量类型:
内存字符串
B、将控件再复制一个,任意选择一个控件,然后双击鼠标,弹出对话框。
在“常规”选项中,将控件名命名为:
start;另一个控件名为:
end。
(如图20)
图20
在“事件”选项中,选择事件“CloseUp”,并在相对应的关联函数列表单元双击。
(如图21)
图21
弹出“控件事件函数”对话框。
图为控件名“start”事件函数,在“函数声明”中输入“CloseUp00()”在脚本编辑栏中输入以下脚本:
(如图22)
floatAyear;
floatAmonth;
floatAday;
stringtemp;
Ayear=start.Year;
Amonth=start.Month;
Aday=start.Day;
temp=StrFromInt(Ayear,10);
if(Amonth<10)
temp=temp+"-0"+StrFromInt(Amonth,10);
else
temp=temp+"-"+StrFromInt(Amonth,10);
if(Aday<10)
temp=temp+"-0"+StrFromInt(Aday,10);
else
temp=temp+"-"+StrFromInt(Aday,10);
\\本站点\开始日期=temp;
图22
弹出“控件事件函数”对话框。
图为控件名“end”事件函数,在“函数声明”中输入“CloseUp01()”在脚本编辑栏中输入以下脚本:
(如图23)
floatAyear;
floatAmonth;
floatAday;
stringtemp;
Ayear=end.Year;
Amonth=end.Month;
Aday=end.Day;
temp=StrFromInt(Ayear,10);
if(Amonth<10)
temp=temp+"-0"+StrFromInt(Amonth,10);
else
temp=temp+"-"+StrFromInt(Amonth,10);
if(Aday<10)
temp=temp+"-0"+StrFromInt(Aday,10);
else
temp=temp+"-"+StrFromInt(Aday,10);
\\本站点\结束日期=temp;
图23
4、创建查询按钮