组态软件操作指南及数据库连接

上传人:hm****62 文档编号:82493484 上传时间:2022-04-29 格式:DOC 页数:6 大小:45KB
返回 下载 相关 举报
组态软件操作指南及数据库连接_第1页
第1页 / 共6页
组态软件操作指南及数据库连接_第2页
第2页 / 共6页
组态软件操作指南及数据库连接_第3页
第3页 / 共6页
点击查看更多>>
资源描述
.第八章 与数据库连接本章容& 创立数据源及数据库& 创立表格模板& 创立记录体& 对数据库的操作& 数据集函数在关系库中的应用概述本章我们将讲解如何将阀门的状态变化记录到数据库中并进展查询。数据库我们选择Access数据库,记录的容包括:日期、时间、阀门描述、阀门状态四个字段。我们利用KingSCADA的SQL访问功能来实现。KingSCADA SQL访问功能实现KingSCADA和其他外部数据库之间的数据传输。提供2种访问方式:一种是记录体的方式,即变量和数据库表中的字段建立绑定关系;一种是数据集方式。记录体方式就是通过记录体配置项,实现把数据库里面的字段和KingSCADA的变量建立绑定关系。绑定后,可以通过SQL插入或更新函数将绑定变量插入或更新到数据库的对应字段中;也可以通过SQL查询函数将数据库中对应字段数据查询并保存到绑定变量中,实现KingSCADA和关系数据库的数据交互。记录体方式只能在KingSCADA效劳器端应用。数据集方式就是通过KingSCADA提供的一系列数据集函数,执行标准SQL语句,实现KingSCADA与关系数据库之间的增、查、删、改等所有数据交互功能,尤其可以通过数据集函数,实现从数据库查询出符合SQL语句的数据集合,并在报表、曲线中进展批量数据展示。数据集方式支持在KingSCADA效劳器端、C/S客户端、WEB上使用。在这里建议采用数据集方式,更加方便、灵活。下面具体介绍2种方式的具体使用第一节 记录体方式在关系数据库中的应用仅参考一、创立数据源及数据库以KingSCADA带的DEMO工程中的mine.mdb数据库为例,首先将mine.mdb文件从DEMO工程中拷贝到我们新建的这个培训工程中。然后,用Windows控制面板中自带的ODBC Data Sources (32bit)管理工具新建一个Microsoft Access Driver(*.mdb)驱动的数据源,名为:mine,然后配置该数据源,指向刚刚拷贝过来的Access数据库即mydb.mdb,如图8-1所示:图8-1ODBC数据源的建立二、创立表及记录体创立表用ACCESS翻开mine.mdb数据库,在库中新建表KingTable,在表中建立三个字段日期时间、液位、温度,如图8-2所示:图8-2在mine数据库中创立表日期时间字段为日期时间类型。液位和温度字段为数字类型,并都设置为单精度浮点型。创立记录体记录体是建立数据库中数据表的字段和KingSCADA的变量之间的联系。第一步:在KingSCADA工程设计器中选择通用数据源记录体选型,在右侧容显示区中单击新建按钮,弹出创立记录体对话框,对话框设置如下:图8-3创立记录体对话框记录体中定义了Access数据库数据表字段与SCADA变量之间的对应关系,对应关系如下所示:Access数据库表格字段SCADA变量日期时间local日期时间液位localliquid_level温度localtemperature即:将KingSCADA中local日期时间变量值写到Access数据库表格日期时间字段中;将localliquid_level值写到Access数据库表格液位字段中;将localtemperature值写到Access数据库表格温度字段中。local日期时间=local$Date+local$Time;,表示计算机系统当前的日期和时间。第二步:单击确认按钮完成记录体的创立。注:记录体中的字段名称必须与表格模板中的字段名称保持一致,记录体中字段对应的变量数据类型必须和表格模板中一样字段对应的数据类型一样。三、对数据库的操作1、连接数据库第一步:在KingSCADA工程设计器的数据词典中定义一个存整型变量变量名:DeviceID变量类型:存整型第二步:在画面编辑器中新建一画面,名称为:数据库操作,并在画面上添加一按钮,按钮属性设置如下:按钮文本:数据库连接按钮左键弹起动画设置如下:图8-4数据连接脚本程序上述脚本的作用是使SCADA与mine数据源建立了连接即与mydb.mdb数据库建立了连接。在实际工程中将此命令写入:树型目录 脚本 系统脚本 应用程序脚本应用程序启动时,即系统开场运行就连接到数据库上。2、断开数据库的连接在数据库操作画面中添加一按钮,按钮属性设置如下:按钮文本:断开连接按钮左键弹起动画设置如下:图8-5断开数据库连接脚本程序在实际应用中将此命令写入:树型目录 脚本 应用程序脚本应用程序关闭时,即系统退出后断开与数据库的连接。4、插入记录我们要将液位和温度定时记录到数据库中,因此利用定时器脚本编写脚本程序即可。新建一个定时器脚本定时存储,每60000毫秒执行一次,编写脚本程序如下:图8-7插入记录脚本程序上述脚本的作用是每分钟在数据表KingTable中插入一条新的记录。5、查询记录用户如果需要将数据库中的数据调入到KingSCADA中来显示,需要另外建立一个记录体,此记录体的字段名称要和数据库表格中的字段名称一致,连接的变量类型与数据库中字段的类型一致,操作过程如下:第一步:在KingSCADA工程设计器的数据词典中定义三个存变量:a、变量名:日期时间记录变量类型:存字符串b、变量名:液位记录变量类型:存实型c、变量名:温度记录变量类型:存实型第二步:在数据库操作画面上添加三个文本框,在文本框的字符串输出动画中分别连接变量日期时间记录、液位记录、温度记录,用来显示查询出来的结果。第三步:在KingSCADA的通用数据源中定义一个记录体,记录体窗口属性设置如图8-8所示:图8-8记录体属性设置对话框第四步:在画面中添加一按钮,按钮属性设置如下:按钮文本:全部查询按钮左键按下动画设置如下:图8-9记录查询脚本程序此脚本的作用是:以记录体Bind2中定义的格式返回KingTable表格中第一条数据记录。进入运行系统,运行此画面,单击全部查询按钮数据库中的数据记录显示在文本框中。第五步:在画面上添加四个按钮,按钮属性设置如下:a、按钮文本:第一条记录按钮左键按下动画:SQLFirst( DeviceID );b、按钮文本:下一条记录按钮左键按下动画:SQLNe*t( DeviceID );c、按钮文本:上一条记录按钮左键按下动画:SQLPrev( DeviceID );d、按钮文本:最后一条记录按钮左键按下动画:SQLLast( DeviceID );上述脚本的作用分别为查询数据中第一条记录、下一条记录、上一条记录和最后一条记录从而到达了数据查询的目的。第二节 数据集函数在关系库中的应用重点推荐KingSCADA提供一系列数据集函数,通过数据集函数使用标准SQL语句可以与关系数据库进展数据交互,下面举例说明通过数据集函数实现对关系数据库进展简单的增、查、删、改操作。以上面的mine.mdb数据库中的KingTable表为例进展实例说明。1、 保存数据到关系库假设系统要求每10秒钟将液位和温度记录到数据库中,则我们可以在定时器脚本中实现。新建一个定时器脚本定时存储,每10000毫秒执行一次,编写脚本程序如下:图8-10插入记录脚本程序详细脚本如下,作用是每分钟在数据表KingTable中插入一条新的记录。stringConnectStr,Sqlmand;/通过OLEDB方式连接ACCESS数据库的连接字符串ConnectStr=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:培训培训工程培训工程mine.mdb;Persist Security Info=False;/将系统时间日期和时间合成一个包含日期和时间的字符串local日期时间记录=local$Date+ +local$Time;/SQL语句,将日期时间、液位、温度的数据值插入数据到数据库的KingTable表中Sqlmand=insert into KingTable Values(+local日期时间记录+,+localliquid_level+,+localtemperature+);/数据集函数,执行SQL语句KDBE*ecuteStatement(ConnectStr,Sqlmand);2、 查询数据并显示到报表在工程中新建画面数据集函数与关系库,在画面上添加一个查询按钮,一个报表控件、两个日期时间控件,如下列图所示。图8-11数据集函数与关系库画面在查询脚本里写如下脚本:stringConnectStr;stringSqlStr;/通过OLEDB方式连接ACCESS数据库的连接字符串ConnectStr=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:培训培训工程培训工程mine.mdb;Persist Security Info=False;/起始时间和完毕时间从日期时间控件获取stringStartTime,EndTime;StartTime=UIDateTime1.Value;EndTime=UIDateTime2.Value;SqlStr=select 日期时间,液位,温度 from KingTable where 日期时间=#+StartTime+#+ and 日期时间=#+StartTime+#+ and 日期时间=0;/Trace(SqlStr+SqlStr);/数据集函数,执行SQL语句,将温度大于等于0的数据改为localtemperature变量实际值boola=KDBE*ecuteStatement(ConnectStr,SqlStr);图8-12数据集函数与关系库画面注意:KingSCADA和数据库之间是同步方式,尽量保证数据库网络通畅性,防止阻塞,造成KingSCADA卡顿。课后练习: 1、 熟悉KingSCADA其它数据集函数,并动手练习这些函数的使用。2、 将其他阀门、水泵的状态变化存储到数据库中。.
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!