组态王连接SQL数据库操作步骤
- 格式:pdf
- 大小:1.15 MB
- 文档页数:10
MCGS_通网版与SQL连接
通网版mcgs中保存的数据如何保存到SQL数据库中,下面就分别介绍在不同组态软件中进行连接设置说明。
1、通用版
将Access数据库中的数据导入到SQL数据库中,用策略中的存盘数据提取构件来进行提取,点击存盘数据提取构件,对属性参数进行设置。
数据来源选择工程自动生成的Access数据库文件。
图1-1
数据选择在可处理的数据列选择需要进行处理的数据变量。
图1-2
数据输出ODBC数据库,选择SQL数据库(先在SQL Server中建立数据库及数据表)。
图1-3
提取方式填写输出数据表列。
图1-4
完成以上设置,运行工程之后,数据提取到SQL中,就可以直接打开SQL数据库来查看数据,也可以通过存盘数据浏览来查看。
2、网络版
2.1 access数据库提取数据到SQL
从Access数据库中的数据导入到SQL数据库中同通用版做法相同。
2.2 数据自动存储到SQL
在文件的下拉菜单中选择“数据库连接设置”
图2-1
设置存盘数据库如图2-2:
图2-2
驱动程序:选择SQL SERVER;
服务器:设置为装SQL SERVER的机器名或IP地址,建议设置为机器名;
数据库名:可以为自己在SQL SERVER里建的库,建议使用MASTER;
用户名,密码:为装SQL SERVER时设置的用户名和密码;
依照上图设置测试成功后,系统会自动将存盘的数据存储到SQL SERVER中,建议:SQL服务器名用(local),这样在断网的情况下不会中止数据传输。
组态王与SQL2005创建数据连接1: 首先建立在组态王中建立一个报警点,如下图所示:
2:通过组态王报警控件确定报警是否起效,如图所示:
3:设置报警输出格式,如下图所示:
然后会在你的工程中生成一个名字叫“Alarm.mdb”文件,如下图所示:
4,打开SQL 2005建立一个数据库,将文件“Alarm.mdb”文件导入到SQL 2005的数据库中:
简单步骤为建立一个Alarm_Table数据库,右击数据库--任务--导入--跟着一步一步走下去,最后SQL2005 中就会建立一个和组态王对应的表格,你可以删出自己不需要的列。
5.建立完之后,打开电脑的控制面板---数据ODBC-----系统DNS------增添-----SQ_SEVER------直到配置完成。
6,建立好ODBC ,这个步骤主要是让SQL 2005建立一个数据源。
7.打开组态王报警配置,如下图所示:
这样就成功的把组态王的报警信息保存到SQL 2005中了、
本人邮箱。
组态软件连接SQL之OBDC连接SQL数据库1.建立ODBC连接配置:(1)开始—设置—控制面板—管理工具—数据源:(2)双击“数据源”,选择“用户DSN”选项卡:(3)如下图:点击添加,选择“SQL SERVER”,点击完成;(4)写入“数据源名称”,选择需要连接的“服务器”,点击“下一步”:进入图4;如图1所示:4.1 面临的问题:4.1.1 什么是服务器?怎么找到服务器?4.1.2 数据源名称是否与所要连接的关系型数据库有关?4.2 解释:4.2.1 打开Microsoft SQL Server Management Studio如图2所示,红色框中的名称为服务器名称;4.2.2 数据源名称与所要连接的关系型数据库没有关系;ODBC是Open Database Connectivity (开放数据库互连),应用程序可通过ODBC API访问不同数据源中的数据;ODBC现在作为一个工业标准,绝大多数数据厂商都为自己的产品提供的;组态软件要连接到关系型数据库,都是通过ODBC来完成,首先需要将ODBC与关系型数据库建立连接,然后通过组态软件与ODBC建立连接,组态软件识别的ODBC名称就是4.1.1中所要创建的名称;图1 开始创建ODBC数据源图2 SQL_Server 对象资源管理器(5)ODBC连接关系型数据库登录服务器方式如图5所示:选择“使用用户输入登录ID和密码的SQL Server验证”的方式;图5中输入连接服务器是的ID和密码;此处登录方式与图3相同;设置完成电机“下一步”进入图5画面;图4 ODBC选择登录服务器方式(6)登录服务器之后,需要关联服务器中的那个数据库(因为在服务器中有很多用户创建的数据库),勾选“更改默认的数据库为(D)”点击“下一步”进入图6;图5 ODBC选择关联指定服务器中的那个数据库(7)ODBC关联到数据库后的配置如图6所示:图6 ODBC关联到数据库后的配置(8)ODBC关联配置完毕后按下“测试数据源”按钮,若成功,画面显示配置成功;图7 ODBC关联配置完毕开始“测试数据源”。
近年来,随着信息技术的飞速发展,数据量的增加和数据存储的需求也变得越来越重要。
对于工业自动化领域来说,历史数据的存储和管理尤为重要。
而在自动化系统中,组态王是一款功能强大的软件评台,广泛应用于工业控制领域。
在组态王中,使用SQL数据库存储历史数据是一种常见的做法。
本文将介绍组态王使用SQL存储历史数据的方法,并探讨其优势和应用场景。
一、组态王简介组态王是一款由国内知名的自动化公司研发的工业自动化软件评台。
它具有丰富的功能和灵活的界面设计,能够满足工业控制系统的各种需求。
组态王支持多种数据源接入,包括传感器、PLC、DCS等设备,可以实现数据的采集、监控和控制。
组态王还提供了历史数据存储和查询功能,为用户提供了强大的数据管理能力。
二、SQL数据库在组态王中的应用在组态王中,使用SQL数据库存储历史数据是非常常见的做法。
SQL数据库是一种关系型数据库管理系统,能够提供可靠的数据存储和高效的数据查询能力。
在组态王中,可以通过与SQL数据库的接口进行数据交互,实现历史数据的存储和管理。
具体来说,组态王通过SQL语句向数据库写入历史数据,并且可以通过SQL语句进行数据的查询和分析。
三、组态王使用SQL存储历史数据的方法1. 创建数据库表结构在使用SQL数据库存储历史数据时,首先需要创建数据库表结构。
表结构的设计需要根据具体的数据类型和存储需求进行规划,一般包括时间戳、数据类型、数值等字段。
在组态王中,可以通过SQL语句创建数据库表,并定义表的字段和属性。
2. 编写SQL语句在组态王中,可以通过SQL语句向数据库写入历史数据。
编写SQL语句时,需要考虑到数据的实时性和准确性。
一般来说,可以使用INSERT INTO语句向数据库插入新的历史数据,同时还可以使用UPDATE语句对已有的数据进行更新。
还可以通过DELETE语句删除过期或无效的数据,保持数据库的整洁和高效。
3. 数据查询与分析除了数据的存储,组态王还可以通过SQL语句对历史数据进行查询和分析。
组态王与数据库连接1、创建数据源及数据库点击鼠标右键菜单,新建一个新建Microsoft Office Access 应用程序,然后双击次图标,打开之后新建一个空数据库,如图9-0:图9-0ODBC 数据源的建立文件名称为mydb10.mdb,选择保存路径(路径:e:\),点击创建。
2、创建数据源及数据库首先外建一个数据库,这里我们选用Access 数据库(路径:e:\,数据库名为:mydb10.mdb)。
然后,用Windows 控制面板>管理工具>数据源ODBC Data Sources (32bit)>新建一个Microsoft Access Driver(*.mdb)驱动的数据源,名为:mine,然后配置该数据源,指向刚才建立的Access 数据库(即mydb10.mdb),如图9-1 所示:图9-1ODBC 数据源的建立3、创建表格模板A、在工程浏览器窗口左侧“工程目录显示区”中选择“SQL 访问管理器”中的“表格模板”选项,在右侧“目录内容显示区”中双击“新建”图标弹出创建表格模板对话框,在对话框中建立三个字段,如图9-2 所示:图9-2 创建表格模板对话框B、单击“确认”按钮完成表格模板的创建。
建立表格模板的目的是定义数据库格式,在后面用到SQLCreatTable()函数时以此格式在Access 数据库中自动建立表格。
4、创建记录体A、在工程浏览器窗口左侧“工程目录显示区”中选择“SQL 访问管理器”中的“记录体”选项,在右侧“目录内容显示区”中双击“新建”图标弹出创建记录体对话框,对话框设置如图9-3 所示:图9-3 创建记录体对话框记录体中定义了Access 数据库表格字段与组态王变量之间的对应关系,对应关中;将\\本站点\$温度1变量值写到Access 数据库表格温度1字段中;将\\本站点\时间1写到Access 数据库表格时间1字段中;将\\本站点\曲线步数写到Access 数据库表格曲线步数字段中;B、单击“确认”按钮完成记录体的创建。
1、建立ODBC连接配置:(1)开始——设置——控制面板——管理工具——数据源:(2)双击“数据源”,选择“用户DSN”选项卡:(3)点击“添加”,选择“SQL Server”,点击“完成”:(4)写入“数据源名称”,选择需要连接的“服务器”,点击“下一步”:(5)选择“使用用户输入登录ID和密码的SQL Server验证”,“登录ID”输入“sa”,如有密码则输入密码,点击“下一步”:(6)将“更改默认的数据库为”打勾,选择需要连接的数据库名称,点击“下一步”:(7)点击“完成”:(8)点击“测试数据源”,如果提示“测试成功”,表示配置正确,点击“确定”,完成ODBC 连接配置:2、组态王——变量(1)工程浏览器——变量——新建:(2)双击“新建”,输入变量名,变量类型,变量名为需要保存到SQL数据库中的数值,如开关量,模拟量,字符串等,点击“确定”:(3)如有多个变量,重复第(2)步骤:3、组态王——新建记录体:(1)工程浏览器——系统——SQL访问管理器——记录体:(2)双击“新建”,输入“记录体名”,“字段名称”输入SQL数据表中的字段名称,“组态王变量”输入保存数值的变量名(可点击“?”选择),点击“增加字段”,可以保存该条记录,如有其它字段需要保存,可重复录入。
全部录入完毕后,点击“确认”完成:4、组态王——将变量值保存到SQL中:(1)工程浏览器——系统——文件——画面——新建:(2)新建“文本”——“开关量”,新建“按钮”——“连接SQL”,新建“按钮”——“插入一条记录”,新建“按钮”——“查询记录”,新建“按钮”——“断开SQL”:(3)双击“文本”——“开关量”,“值输出”——“模拟值输出”——选择“Test_KGL_Z”变量,“权限保护动画连接”——“值输入”——“模拟值输入”——选择“Test_KGL_Z”变量:(4)双击“按钮”——“连接SQL”,“命令语言连接”——“按下时”,写入以下语句:SQLConnect(ConnectionID, "dsn=SQL_Test;uid=sa;pwd=apply");(5)双击“按钮”——“插入一条记录”,“命令语言连接”——“按下时”,写入以下语句:SQLInsert(ConnectionID, "Test_Table","Test" );(6)双击“按钮”——“查询记录”,“命令语言连接”——“按下时”,写入以下语句:SQLSelect(ConnectionID, "Test_Table","Test", "SQL_KGL='1'", "" );(7)双击“按钮”——“断开SQL”,“命令语言连接”——“按下时”,写入以下语句:SQLDisconnect(ConnectionID);。
组态王连接本地数据库操作文档
1配置数据源ODBC
控制面板->ODBC
或者控制面板->管理工具-> ODBC
双击打开ODBC数据源管理器,在系统DSN标签中,点击添加按
钮,创建新数据源。
选择SQL Server为安装数据源的驱动程序。
填写创建到SQL Server的新数据源的名称,本例中以“yue1”为例,在服务器中选择(local)作为需要连接的SQL Server。
其他选项保存默认设置即可,配置ODBC数据源完成后在系统数据源列表中出现新添加的数据源。
2 组态王连接数据库
数据词典中新建变量DeviceID
新建画面SQLtest,在画面中添加按钮
双击新添加的按钮,弹出动画连接对话框。
点击命令语言连接“按下时”,弹出命令语言编辑对话框
点击SQL…按钮,在弹出的选择函数对话框中选择SQLConnect函数,点击确定。
修改函数中的参数,点击确认。
保存画面,并运行整个系统,
3 运行组态王“运行系统”
打开组态王“运行系统”
定。
点击文本按钮,在信息窗口可以看到系统信息SQL数据库连接成功。
目录1.SQL SERVER 2000的准备工作 (3)1.1安装SQL S ERVER 2000数据库(安装方法略),新建数据库K ING V IEW (3)1.2在K ING V IEW数据库中新建数据表R EAL D ATA、H ISTORY D ATA,用于存放组态王中的实时和历史数据 (3)2.组态王的准备工作 (5)2.1在组态王建立两个内存实数变量,作为H ISTORY D ATA和R EAL D ATA的数据源,提供数据变化至SQL S ERVER 2000的数据库K ING V IEW (5)2.2新建组态王画面T EST F OR SQLS ERVER2000,设置标签监控内存实数变量K ING1和K ING2 62.3建立一个内存字符串变量,时刻记录组态王的日期加时间,写入历史数据表作为时间变量73.数据库与组态王数据交互 (7)3.1建立组态王与数据库表之间的连接 (8)3.2建立ODBC数据源,建立组态王与数据库之间的数据通道 (8)3.3组态王打开数据库连接 (11)3.4利用组态王脚本语言实现捕捉字段变化进而触发数据库操作 (14)3.5组态王显示SQL S ERVER中历史数据表内容 (15)3.6实际测试 (19)1.SQL Server 2000的准备工作1.1安装SQL Server 2000数据库(安装方法略),新建数据库KingView新建kingView数据库1.2在KingView数据库中新建数据表RealData、HistoryData,用于存放组态王中的实时和历史数据定义历史数据表字段,注意需要把ID设置成自增1,才可以保证你数据表中记录不断的增加定义实时数据表字段,注意需要把ID设置成不自增的类型,作为实时数据表的更新条件在组态王中调用建立两个用户表:HistoryData、RealData至此,数据库方面操作完成。
2.组态王的准备工作2.1在组态王建立两个内存实数变量,作为HistoryData和RealData的数据源,提供数据变化至SQL Server 2000的数据库KingView建立内存实数变量King1和King22.2新建组态王画面TestForSQLServer2000,设置标签监控内存实数变量King1和King2运行画面显示2.3建立一个内存字符串变量,时刻记录组态王的日期加时间,写入历史数据表作为时间变量建立内存字符串DataTime至此,组态王与数据库的准备工作已经全部完成,下一步需要设置实现组态王与数据库之间的连接。
KingSCADA连接SQL Server的方法说明:本过程以KingSCADA3.0连接SQL Server 2008 R2为基础,连接的SQL为本网络上的其他服务器,且其他服务器上(当然,在本机建SQL也一样)已经建立好了一个OK的SQL 数据库。
方法1.一、桌面新建一个TXT文档,并将其后缀改为“.udl”;二、双击打开该文档,填写好相应的参数;1、如上图,在该对话框的最上面一行的服务器名称一栏填入欲连接的服务器的IP地址,比如笔者设置的是:192.168.1.131.当然,也可以选择本地SQL服务器。
2、制订用户名和密码.注意:此处的用户名和密码为需要连接的131上面的数据库的登陆用户名(注意:不是数据库的名字)和密码。
3、在服务器上选择数据库,此处可以点击三角形进行选择,也可以直接输入131上面的数据库名字。
本文为“CMSS”。
4、点击“测试连接”。
测试OK的对话框如下所示。
三、选中该udl文档,然后点击右键,以记事本的方式打开。
并复制最下面一行备用。
四、打开KingSCADA,建立好简单的相应画面。
并建立好相应变量。
比如本文建立了一个Handle1的字符串型的内存变量。
然后在启动程序脚本中写入以下代码以获得一个连接句柄(利用这个连接,用KDBGetDataset1方法向数据库发送SQL命令,数据库执行完SQL命令,返回操作结果,并不关闭连接,该连接句柄可以一直使用,直到调用KDBDisConnect()函数才将其断开。
通过获取句柄方法,使得一个数据库连接方法可以得到高效、安全的复用。
):KDBGetConnectID(\\local\Handle1, "Provider=SQLOLEDB.1;Password=123;Persist Security Info=True;User ID=sa;Initial Catalog=CMSS;Data Source=192.168.1.131");五、在建立的画面中的“连接”按钮事件中输入:string str;str="select * from OA_USER where OA_UserID>10";KDBGetDataset1("aa", \\local\Handle1, str);Report1.SetDataset1("aa");注:aa为数据集名字,Handle1为先前建立的字符串型的内存变量---他用作连接ID 号。
1、如何使组态王与数据库建立连接使用组态王与数据库进行数据通讯,首先要建立它们之间的连接。
下面通过一个实例介绍如何使组态王与数据库建立连接。
例如:◆ 继续使用“定义ODBC数据源”中的例子。
在机器上D盘根目录下建立的“SQL 数据库.mdb”数据库中建立一个名为kingview的表格。
在组态王的数据词典里定义新变量,变量名称:DeviceID,变量类型:内存整型;◆ 然后在本机上的ODBC数据源中建立一个数据源,比如数据源名为mine。
详细配置请参照“定义ODBC数据源”一节;◆ 在组态王工程浏览器中建立一个名为BIND的记录体,定义一个字段:name (对应组态王内存字符串变量name),详细定义请参照“记录体”一节;◆ 连接数据库:新建画面“数据库连接”,在画面上作一个按钮,按钮文本为:“连接数据库”,在按钮“弹起时”动画连接中使用SQLConnect()函数和SQLSelect()函数建立与“mine”数据库进行连接:SQLConnect( DeviceID, "dsn=mine;uid=;pwd=");/*建立和数据库mine连接,其中DeviceID是用户创建的内存整型变量,用来保存SQLConnect()函数为每个数据库连接分配的一个数值*//*注意在执行SQLDisconnect(断开和数据库的连接函数)之前,重复执行SQLConnect将会增加DeviceID,DeviceID最多为255*/SQLSelect( DeviceID, "kingview", "BIND", "", "");/* SQLSelect()函数:访问一个数据库并返回一个表的信息,此信息可以被查询、删除、清空等操作*/以上指令执行之后,使组态王与数据库建立了连接。
2、如何创建一个表格组态王与数据库连接成功之后,可以通过组态王操作在数据库中创建表格。
建立一个SQL应按如下步骤:1.先在access中建立一个库名为”SQL数据库”的数据库将其保存为:C:\Program Files\Kingview\Example\Kingdemo3\SQL数据库.mdb(此演示中已建好),并在SQL数据库中建立一个表名为“监控表”的表,在字段名称处分别键入“时间”,“水温”,“冷水阀开度设定”,“热水阀开度设定”,数据类型均为“数字”,保存该表。
然后在打开的控制面板中的“32bit ODBC”中增加(ADD)一个Microsoft Access Driver数据源,其源名为“SQL数据库”。
所指向(select)数据库的路径为:C:\Program Files\Kingview\Example\Kingdemo3\SQL数据.mdb2.在组态王工程浏览器中建立一个名为BIND的记录体,把组态王中的变量和数据库“监控表”中所对应字段名称增加到记录体中。
如此例中组态王变量”时间”(内存整数)和字段名称”时间”(长整型)对应。
3.使用下列指令建立组态王和源名为“SQL数据库”的数据源的连接,此例中画面名为“SQL”画面属性的命令语言中显示时的命令: SQLConnect( DeviceID, "dsn=SQL数据源");建立连接后,使用下面的函数进行选择,查询1.全部选定表名为“监控表”,记录体为BIND的选择集,此例中为查询按钮弹起时的命令:SQLSelect( DeviceID, "监控表","BIND","", "" );2.定义简单的查询:所选择表的第一条记录 SQLFirst( DeviceID );所选择表的最后一条记录 SQLLast( DeviceID );当前行的上一条记录 SQLPrev( DeviceID );当前行的下一条记录 SQLNext( DeviceID );3.可用下面的指令在表名为“监控表”的表中插入一条记录,此例中为“录入”按钮弹起时的命令:SQLInsert( DeviceID, "监控表", "BIND" );注:“时间”为关键字,不能插入时间相同的记录4.更新当前表名为“监控表”的行,此例中为“修改”按钮弹起时的命令:SQLUpdateCurrent( DeviceID, "监控表" );5、定义复杂的查询:如查询以"时间"为关键字的记录,此例中为“时间查询”按钮弹起时的命令:SQLSetStatement( DeviceID, "select * from 监控表");/*开始一个新的SQL语句*/ SQLAppendStatement( DeviceID, "where 时间=?");/*附加字符串到语句中*/ SQLPrepareStatement( DeviceID, SQLHandle );/*准备由SQLSetStatement或SQLAppendStatement指定的语句。
第九讲组态王与数据库连接第一节SQL访问管理器概述组态王SQL访问功能实现组态王和其他外部数据库(通过ODBC访问接口)之间的数据传输。
它包括组态王的SQL访问管理器和相关的SQL函数。
SQL访问管理器用来建立数据库字段和组态王变量之间的联系,包括“表格模板”和“记录体”两部分。
通过表格模板在数据库表中建立相应的表格;通过记录体建立数据库字段和组态王之间的联系。
同时允许组态王通过记录体直接操作数据库中的数据。
创建数据源及数据库首先建一个数据库,这里我们选用Access数据库(数据库名为:mydb.accdb)。
然后,用Windows控制面板——管理工具——数据源(ODBC)新建一个Microsoft Access Driver(*.mdb, *.accdb)驱动的数据源,名为:mine,然后配置该数据源,指向刚才建立的Access数据库(即mydb.accdb),如图9-1所示。
图9-1 ODBC数据源的建立创建表格模板1、在工程浏览器窗口左侧“工程目录显示区”中选择“SQL访问管理器”中的“表格模板”选项,在右侧“目录内容显示区”中双击“新建”图标弹出创建表格模板对话框,在对话框中建立三个字段,如图9-2所示。
图9-2 创建表格模板对话框2、单击“确认”按钮完成表格模板的创建。
建立表格模板的目的是定义数据库格式,在后面用到SQLCreatTable()函数时以此格式在Access数据库中自动建立表格。
创建记录体1、在工程浏览器窗口左侧“工程目录显示区”中选择“SQL访问管理器”中的“记录体”选项,在右侧“目录内容显示区”中双击“新建”图标弹出创建记录体对话框,对话框设置如图9-3所示。
图9-3 创建记录体对话框记录体中定义了Access数据库表格字段与组态王变量之间的对应关系,对应关系如下所示:即:将组态王中\\local\$Date变量值写到Access数据库表格日期字段中;将\\local\$Time变量值写到Access数据库表格时间字段中;将\\local\原料油液位变量值写到Access数据库表格原料油液位值字段中;2、单击“确认”按钮完成记录体的创建。
组态王v6.53中sql数据库访问由于近期项目中要用到组态王和SQL数据库通讯方法的知识。
特写下以下内容。
1.KingView中的表格模板表格模板中的字段与sqlserver中数据库中的字段名称一致。
模板名称:表格模板的名称,长度不超过32个字符;字段名称:使用表格模板创建数据库表格中字段的名称,长度不超过32个字符,如果数据库中的字段名称以数字开头,如“3Name”,在定义表格模板时,名称须以大括号包含,写为“[3Name]”;变量类型: 表格模板创建数据库表格中字段的类型。
其中有四种类型供选择,整型、浮点型、定长字符串型、变长字符串型;字段长度:当变量类型中选择“定长字符串型”或“变长字符串型”时,字段长度必须为正整数,且不大于127个字符;索引类型:点击下拉列表框按钮,其中有三种类型供选择,有(唯一)、有(不唯一)、没有。
索引功能是数据库用于加速字段中搜索及排序的速度,但可能会使更新变慢。
选择“是(唯一)”可以禁止该字段中出现重复值;允许为空值:选中该项,将在前面的方框中出现“?”标志,表示数据记录到数据库的表格中该字段可以有空值。
不选中该项则表示该字段的数据不能为空值;以下是SqlServer数据库cnooc501中的u12表定义:2.KingView中的记录体记录体用来连接表格的列和组态王数据词典中的变量。
字段名称应于数据库中的字段名称一致。
应为id(此记录体用于存储向数据库中写入数据的中间变量)(此记录体用于数据查询时保存的中间变量)3.定义ODBC数据源组态王SQL访问功能能够和其他外部数据库(支持ODBC访问接口)之间的数据传输。
实现数据传输必须在系统ODBC数据源中定义相应数据库。
“ODBC数据源管理器”对话框中前两个属性页分别是“用户DSN”和“系统DSN”,二者共同点是:在它们中定义的数据源都存储了如何与指定数据提供者在连接的信息,但二者又有所区别。
在“用户DSN”中定义的数据源只对当前用户可见,而且只能用于当前机器上;在“系统DSN”中定义的数据源对当前机器上所有用户可见,包括NT服务。