组态王与SQL Server 交互教程.docx

上传人:b****4 文档编号:5464762 上传时间:2022-12-16 格式:DOCX 页数:16 大小:3.40MB
下载 相关 举报
组态王与SQL Server 交互教程.docx_第1页
第1页 / 共16页
组态王与SQL Server 交互教程.docx_第2页
第2页 / 共16页
组态王与SQL Server 交互教程.docx_第3页
第3页 / 共16页
组态王与SQL Server 交互教程.docx_第4页
第4页 / 共16页
组态王与SQL Server 交互教程.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

组态王与SQL Server 交互教程.docx

《组态王与SQL Server 交互教程.docx》由会员分享,可在线阅读,更多相关《组态王与SQL Server 交互教程.docx(16页珍藏版)》请在冰豆网上搜索。

组态王与SQL Server 交互教程.docx

组态王与SQLServer交互教程

 

1.SQLServer2000的准备工作

1.1安装SQLServer2000数据库(安装方法略),新建数据库KingView

新建kingView数据库

1.2在KingView数据库中新建数据表RealData、HistoryData,用于存放组态王中的实时和历史数据

定义历史数据表字段,注意需要把ID设置成自增1,才可以保证你数据表中记录不断的增加

定义实时数据表字段,注意需要把ID设置成不自增的类型,作为实时数据表的更新条件在组态王中调用

建立两个用户表:

HistoryData、RealData

至此,数据库方面操作完成。

2.组态王的准备工作

2.1在组态王建立两个内存实数变量,作为HistoryData和RealData的数据源,提供数据变化至SQLServer2000的数据库KingView

建立内存实数变量King1和King2

2.2新建组态王画面TestForSQLServer2000,设置标签监控内存实数变量King1和King2

运行画面显示

2.3建立一个内存字符串变量,时刻记录组态王的日期加时间,写入历史数据表作为时间变量

建立内存字符串DataTime

至此,组态王与数据库的准备工作已经全部完成,下一步需要设置实现组态王与数据库之间的连接。

3.数据库与组态王数据交互

基本思路,在组态王中当某个字段变化时,利用组态王规定的SQL语句把该数值存储到HistoryData和RealData中,其中HistoryData使用插入语句,保持原有的数据,RealData使用更新语句,把原来的覆盖掉,总是显示最新的一条记录。

3.1建立组态王与数据库表之间的连接

在组态王中新建记录体HistoryData和RealData

3.2建立ODBC数据源,建立组态王与数据库之间的数据通道

以XP系统为例,打开控制面板----管理工具,找到数据源(ODBC),双击进入

点击“添加”按钮,进入创建新数据源窗体,选择最后的SQLServer点击“完成”按钮

根据数据库使用范围,本次选择用户DSN建立数据源(只有本地电脑可以使用该数据,如果需要通过远程服务器访问该数据源,则需要建立系统DSN),选择SQLServer驱动

设置数据源的名称和数据库服务器的名称

选择默认,下一步

选择前期设置好的数据库名称

选择默认,点击“完成”

弹出测试对话框,点击“测试”,显示测试成功,说明ODBC数据源建立成功

3.3组态王打开数据库连接

在组态王中,利用脚本语言打开数据库连接,为了保证组态王运行时即可与数据库进行数据交互并且内存字符串DataTime时刻标注系统日期+时间,需要在组态王运行之初就打开数据库、赋值内存字符串。

点组态王应用程序命令语言,双击“新建”弹出应用程序命令语言编辑框编写脚本实现组态王运行时触发相关程序

组态王应用程序开始运行时,连接数据库,SQLConnect语句语法为SQLConnect(DeviceID,"dsn=;uid=;pwd=");其中DeviceID定义为内存整数,作为组态王操作数据库的标记符,dsn=填写上边设置的ODBC数据源名称,uid=填写用户名,pwd=填写密码

内存字符串赋值语句,注意多个字符串连接用“+”(即加号)连接

同样为了保证内存字符实时存储系统日期+时间,需要在整个程序运行过程中,定期执行串赋值语句,由于最小赋值到秒,因此循环周期设置为1000ms

为了保证程序的严谨性,需要在组态王应用程序关闭时,实现数据库的关闭,因此需要利用应用程序命令语言停止时关闭数据库连接

SQLDisconnect(\\本站点\DeviceID);关闭数据库连接,其中\\本站点\DeviceID就是上述数据库连接时设置的数据库标记符

3.4利用组态王脚本语言实现捕捉字段变化进而触发数据库操作

打开命令语言,新建数据改变语言脚本

当King1变化时,向历史数据表中插入记录,插入的语法为SQLInsert(DeviceID,"TableName","BindList");其中DeviceID为数据库连接标识符,TableName为SQLServer数据库中表名称,BindList为记录体名称

当King2变化时,更新实时数据表内容,更新的语法为SQLUpdate(DeviceID,"TableName","BindList","WhereExpr");其中其中DeviceID为数据库连接标识符,TableName为SQLServer数据库中表名称,BindList为记录体名称,WhereExpr为更新条件,前面我们建立实时数据表时,规定ID为不变化数,因此在组态王操作之前,在实时数据表中添加一条记录,设置ID=1,每次组态王更新时都把ID=1作为判定条件即可。

3.5组态王显示SQLServer中历史数据表内容

组态王可以显示数据库中的任何数据表中内容,包括实时数据表和历史数据表,但是实时数据表可以通过组态王的变量实时显示在界面上,不需要通过数据库的实时表然后在显示在组态王上,因此本次只介绍组态王上显示数据库的历史数据表内容。

通过组态王的历史趋势曲线实现。

选择插入通用控件对话框中选择历史趋势曲线,在界面上拖出该控件

在历史趋势曲线上右击选择控件属性,在曲线上点击“数据库中添加”按钮,弹出设置数据库曲线对话框

点击数据源按钮,选择前期建立好的ODBC数据源,注意前期建立的用户DSN数据源,因此在MachineDataSource中选择

相应的选择好时间字段、数据字段毫秒字段以及线类型和线颜色,注意时间字段就是HistoryData数据表中的DataTime类型的字段结合毫秒字段作为历史趋势曲线的时间横轴

3.6实际测试

当King1由原来的9.0变化成3.0时,通过SQLServer的查询分析器查询到组态王向HistoryData插入一条新的记录,并且ID自增1

当King1由原来的0.0变化成2.0时,通过SQLServer的查询分析器查询到组态王在RealData中更新了记录,使King2等于了2.0

历史趋势曲线显示king1和king2的数值变化,数据表的DataTime和MillSecond作为曲线的横向时间轴,注意在选择坐标显示类型,要选择自适应实际值,才可以看到趋势比较明显

至此,组态王与SQLServer2000数据库互相交互的方法介绍完毕。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1