第八章  与数据库连接
本章内容
创建数据源及数据库
创建表格模板
创建记录体
对数据库的操作
概述
本章我们将讲解如何将阀门的状态变化记录到数据库中并进行查询。数据库我们选择Access数据库,记录的内容包括:日期、时间、阀门描述、阀门状态四个字段。我们利用KingSCADA3.1的SQL访问功能来实现。
KingSCADA3.1 SQL访问功能主要实现KingSCADA3.1和其他外部数据库(通过ODBC访问接口)之间的数据传输,它包括SQL访问管理器和相关的SQL函数。
SQL访问管理器用来建立数据库字段和组态王变量之间的联系,包括“表格模板”和“记录体”两部分。通过表格模板在数据库表中建立相应的数据表;通过记录体建立数据库字段和组态王变量之间的联系。同时允许组态王通过记录体直接操作数据库中的数据。
第一节 创建数据源及数据库
首先外建一个数据库,这里我们选用Access数据库(路径:d:\培训,数据库名为:mydb.mdb)。
然后,用Windows控制面板中自带的ODBC Data Sources (32bit)管理工具新建一个Microsoft Access Driver(*.mdb)驱动的数据源,名为:mine,然后配置该数据源,指向刚才建立的Access数据库(即mydb.mdb),如图8-1所示:
8-1ODBC数据源的建立
第二节 创建表格模板及记录体
创建表格模板
表格模板是在数据库表中创建数据表的模板,利用此模板在数据库中创建我们需要的数据表。
第一步:在KingSCADA3.1开发环境树型目录中选择“通用数据源”→“表格模板”选型,在右侧内容显示区中单击“新建”按钮,在弹出的创建表格模板对话框中建立四个字段,如图8-2所示:
8-2创建表格模板对话框
四个字段的数据类型都为字符串/文本类型。
第二步:单击“确认”按钮完成表格模板的创建。
建立表格模板的目的是定义数据库格式,在后面用到SQLCreatTable()函数时以此格式在Access数据库中自动建立表格。
如果我们在数据库中只需要建一次表就可以,那么可以直接在数据库中创建表即可,而无需利用表格模板创建表,也就是说在使用KingSCADA的数据库功能的时候表格模板并不是一定要用的。
创建记录体
记录体是建立数据库中数据表的字段和KingSCADA的变量之间的联系。
我们在建立记录体之前先在数据库中定义两个字符串变量:阀门描述、阀门状态。定义完成后我们再进行记录体的定义。
第一步:在KingSCADA3.1开发环境树型目录中选择“通用数据源”→“记录体”选型,在右侧内容显示区中单击“新建”按钮,弹出创建记录体对话框,对话框设置如下:
8-3创建记录体对话框
记录体中定义了Access数据库数据表字段与组态王变量之间的对应关系,对应关系如下所示:
Access数据库表格字段
组态王变量
日期
\\local\$Date
时间
\\local\$Time
阀门描述
\\local\阀门描述
阀门状态
\\local\阀门状态
即:将KingSCADA3.1中\\local\$Date变量值写到Access数据库表格日期字段中;将\\local\$Time变量值写到Access数据库表格时间字段中;将\\local\阀门描述值写到Access数据库表格阀门描述字段中;将\\local\阀门状态值写到Access数据库表格阀门状态字段中。
\\local\$Date、\\local\$Time变量为系统变量,表示计算机系统当前的日期和时间。
第二步:单击“确认”按钮完成记录体的创建。
注:记录体中的字段名称必须与表格模板中的字段名称保持一致,记录体中字段对应的变量数据类型必须和表格模板中相同字段对应的数据类型相同。
第三节 对数据库的操作
1、连接数据库
第一步:sql数据库创建表步骤KingSCADA3.1开发环境数据词典中定义一个内存整型变量
变量名:DeviceID
变量类型:内存整型
第二步:在图形编辑器中新建一画面,名称为:数据库操作画面,并在画面上添加一按钮,按钮属性设置如下:
按钮文本:数据库连接
“按钮左键弹起”动画链接设置如下:
图8-4数据连接脚本程序
上述命令语言的作用是使组态王与mine数据源建立了连接(即与mydb.mdb数据库建立了连接)。
在实际工程中将此命令写入:开发环境树型目录 → 脚本 → 系统脚本 → 应用程序脚本→应用程序启动时,即系统开始运行就连接到数据库上。
2、断开数据库的连接
在数据库操作画面中添加一按钮,按钮属性设置如下:
按钮文本:断开连接
“按钮左键弹起”动画链接设置如下:
图8-5断开数据库连接脚本程序
在实际工程中将此命令写入:开发环境树型目录 → 脚本 →应用程序脚本→应用程序关闭时,即系统退出后断开与数据库的连接。
3、创建数据库表格
在数据库操作画面上添加一按钮,按钮属性设置如下:
按钮文本:创建数据表
“按钮左键弹起”动画链接设置如下:
8-6创建数据表格脚本程序
上述命令语言的作用是以表格模板“Table1”的格式在数据库中建立名为“KingTable”的表格。在生成的KingTable表格中,将生成三个字段,字段名称分别为:日期,时间,原料油液位值,每个字段的变量类型、变量长度及索引类型与表格模板“Table1”中的定义一致。
此命令语言只需执行一次即可,如果表格摸板有改动,需要用户先将数据库中的表格删除才能重新创建。如果只需要建立一次数据表就可以,建议直接在数据库中建立或者在调试时将此函数执行一次建立成功后将脚本程序删除即可
4插入记录
我们要将阀门的状态变化记录到数据库中,因此利用数据改变命令语言编写脚本程序即可。
新建一个数据改变命令语言,选择变量:\\local\液位.Value,编写脚本程序如下:
8-7插入记录脚本程序
上述命令语言作用是当变量\\local\液位.Value改变时数据表KingTable中插入一新的记录。
同样的方式我们可以通过数据改变命令语言将其他阀门变量的状态变化信息记录到数据库中。
5、查询记录

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。