1、组态王与SQL Server 交互教程1.SQL Server 2000的准备工作1.1安装SQL Server 2000数据库(安装方法略),新建数据库KingView新建kingView数据库1.2在KingView数据库中新建数据表RealData、HistoryData,用于存放组态王中的实时和历史数据定义历史数据表字段,注意需要把ID设置成自增1,才可以保证你数据表中记录不断的增加定义实时数据表字段,注意需要把ID设置成不自增的类型,作为实时数据表的更新条件在组态王中调用建立两个用户表:HistoryData、RealData至此,数据库方面操作完成。2.组态王的准备工作2.1在组态
2、王建立两个内存实数变量,作为HistoryData和RealData的数据源,提供数据变化至SQL Server 2000的数据库KingView建立内存实数变量King1和King22.2新建组态王画面TestForSQLServer2000,设置标签监控内存实数变量King1和King2运行画面显示2.3建立一个内存字符串变量,时刻记录组态王的日期加时间,写入历史数据表作为时间变量建立内存字符串DataTime至此,组态王与数据库的准备工作已经全部完成,下一步需要设置实现组态王与数据库之间的连接。3.数据库与组态王数据交互基本思路,在组态王中当某个字段变化时,利用组态王规定的SQL语句把该
3、数值存储到HistoryData和RealData中,其中HistoryData使用插入语句,保持原有的数据,RealData使用更新语句,把原来的覆盖掉,总是显示最新的一条记录。3.1建立组态王与数据库表之间的连接在组态王中新建记录体HistoryData和RealData3.2建立ODBC数据源,建立组态王与数据库之间的数据通道以XP系统为例,打开控制面板-管理工具,找到数据源(ODBC),双击进入点击“添加”按钮,进入创建新数据源窗体,选择最后的SQL Server 点击“完成”按钮根据数据库使用范围,本次选择用户DSN建立数据源(只有本地电脑可以使用该数据,如果需要通过远程服务器访问该
4、数据源,则需要建立系统DSN),选择SQL Server驱动设置数据源的名称和数据库服务器的名称选择默认,下一步选择前期设置好的数据库名称选择默认,点击“完成”弹出测试对话框,点击“测试”,显示测试成功,说明ODBC数据源建立成功3.3组态王打开数据库连接在组态王中,利用脚本语言打开数据库连接,为了保证组态王运行时即可与数据库进行数据交互并且内存字符串DataTime时刻标注系统日期+时间,需要在组态王运行之初就打开数据库、赋值内存字符串。点组态王应用程序命令语言,双击“新建”弹出应用程序命令语言编辑框编写脚本实现组态王运行时触发相关程序组态王应用程序开始运行时,连接数据库,SQLConnec
5、t语句语法为SQLConnect( DeviceID, dsn=;uid=;pwd=);其中DeviceID定义为内存整数,作为组态王操作数据库的标记符,dsn=填写上边设置的ODBC数据源名称,uid=填写用户名,pwd=填写密码内存字符串赋值语句,注意多个字符串连接用“+”(即加号)连接同样为了保证内存字符实时存储系统日期+时间,需要在整个程序运行过程中,定期执行串赋值语句,由于最小赋值到秒,因此循环周期设置为1000ms为了保证程序的严谨性,需要在组态王应用程序关闭时,实现数据库的关闭,因此需要利用应用程序命令语言停止时关闭数据库连接SQLDisconnect( 本站点DeviceID)
6、;关闭数据库连接,其中本站点DeviceID就是上述数据库连接时设置的数据库标记符3.4利用组态王脚本语言实现捕捉字段变化进而触发数据库操作打开命令语言,新建数据改变语言脚本当King1变化时,向历史数据表中插入记录,插入的语法为SQLInsert( DeviceID, TableName, BindList );其中DeviceID为数据库连接标识符,TableName为SQL Server 数据库中表名称,BindList为记录体名称当King2变化时,更新实时数据表内容,更新的语法为SQLUpdate( DeviceID, TableName, BindList, WhereExpr )
7、;其中其中DeviceID为数据库连接标识符,TableName为SQL Server 数据库中表名称,BindList为记录体名称,WhereExpr为更新条件,前面我们建立实时数据表时,规定ID为不变化数,因此在组态王操作之前,在实时数据表中添加一条记录,设置ID=1,每次组态王更新时都把ID=1作为判定条件即可。3.5组态王显示SQL Server中历史数据表内容组态王可以显示数据库中的任何数据表中内容,包括实时数据表和历史数据表,但是实时数据表可以通过组态王的变量实时显示在界面上,不需要通过数据库的实时表然后在显示在组态王上,因此本次只介绍组态王上显示数据库的历史数据表内容。通过组态王
8、的历史趋势曲线实现。选择插入通用控件对话框中选择历史趋势曲线,在界面上拖出该控件在历史趋势曲线上右击选择控件属性,在曲线上点击“数据库中添加”按钮,弹出设置数据库曲线对话框点击数据源按钮,选择前期建立好的ODBC数据源,注意前期建立的用户DSN数据源,因此在Machine Data Source中选择相应的选择好时间字段、数据字段毫秒字段以及线类型和线颜色,注意时间字段就是HistoryData数据表中的DataTime类型的字段结合毫秒字段作为历史趋势曲线的时间横轴3.6实际测试当King1由原来的9.0变化成3.0时,通过SQL Server的查询分析器查询到组态王向HistoryData插入一条新的记录,并且ID自增1当King1由原来的0.0变化成2.0时,通过SQL Server的查询分析器查询到组态王在RealData中更新了记录,使King2等于了2.0历史趋势曲线显示king1和king2的数值变化,数据表的DataTime和MillSecond作为曲线的横向时间轴,注意在选择坐标显示类型,要选择自适应实际值,才可以看到趋势比较明显至此,组态王与SQL Server 2000数据库互相交互的方法介绍完毕。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1