组态王与Access数据库的数据交换

合集下载

组态王与Access数据库通讯

组态王与Access数据库通讯

组态王与Access数据库通讯1定义ODBC数据源组态王与Access数据库通讯--①定义ODBC数据源定义ODBC数据源组态王SQL访问功能能够和其他外部数据库(支持ODBC访问接口)之间的数据传输。

实现数据传输必须在系统ODBC数据源中定义相应数据库。

1.0 进入“控制面板”中的“管理工具”,用鼠标双击“数据源(ODBC)”选项,弹出“ODBC数据源管理器”对话框,如图19.6所示。

有些计算机的ODBC数据源是中文的(如上图所示),有些的是英文的,视机器而定,但是两种的使用方法相同。

ODBC数据源管理器”对话框中前两个属性页分别是“用户DSN”和“系统DSN”,二者共同点是:在它们中定义的数据源都存储了如何与指定数据提供者在连接的信息,但二者又有所区别。

在“用户DSN”中定义的数据源只对当前用户可见,而且只能用于当前机器上;在“系统DSN”中定义的数据源对当前机器上所有用户可见,包括NT服务。

因此用户根据数据库使用的范围进行ODBC数据源的建立。

2.0 选择系统DSN,然后点击添加,就会跳出如下界面,选择Microsoft Access Driver,点击完成3.0 如下图,跟这个数据源取个别名,这里就叫mysql,然后要选择数据库,如果没有建的话,点击创建(如果你在外面直接右键新建的话可能格式不一样,我新建的是.accdb格式的,直接不支持,所以如果遇到我这种情况,可以直接创建)3.1 新建数据库,会出现以下画面,这里要填几个参数,数据库名,驱动器(放置位置)其他一般默认就可以了,点击确定就完成了一个ACCESS数据库的创建创建格式的数据库,点击确定成了设置5.0 你在刚刚创建数据库的路径,也能看到实际的数据库文件了组态王与Access数据库通讯--②组态王设置组态王定义设置1.0 立项,这里叫TEST项目2.0 选择数据库--数据词典,新建3个变量,DeviceID(内存整数),level1,level2(内存整数),DeviceID是用来存储SQLConnect分配给每个数据库连接的数值3.0 找到左边栏的SQL访问管理器--表格模板,新建一个叫table的模板3.1 如下图,增加4个字段,这个新增的字段就是表格的横向类别,从上到下对应表格的从左到右,字段的顺序会影响表格表头的左右顺序,如果已经创建表格了,再更改这个字段顺序,那边表格的顺序也不会变了,只有删除数据库文件,才会重置表格,关闭数据库不会删除数据库数据4个字段,日期--定长字符串型--32,时间--定长字符串型--32,level1--整型--1,level2--整型--1如下图4.0 如下图选择记录本,新建bind14.1 在记录本上新建4个字段和变量的衔接,比如字段:日期跟变量\\local\$Date,意思就是\\local\$Date变量代表日期,每次插入记录就会记录一次这个变量的值,如下图做四个变量,时间=\\local\$Time,level1=\\local\level1,level2=\\local\level23.组态王画面设置组态王与Access数据库通讯--③组态王画面设置组态王画面设置1.0 首先要做个组态王的按钮画面,新建画面,命名数据库画面,其他先默认好了2.0 如下图,先建立4个按钮,分别为数据库连接,数据库断开连接,创建数据表格,插入记录3.0 另外要给按钮写入命令语言,双击数据库连接按钮,点击按下时,SQLConnect( \\local\DeviceID, "dsn=mysql;uid=;pwd="); ,\\local\DeviceID 为上一期新建的内存整数变量,用来存储SQLConnect 分配给每个数据库的值,(这里注意,SQL 在断开连接之前,重复执行SQLConnect 会增加DeviceID 的值,最大值为255);而dsn 为需要连接的数据库,这里就写上我们在ODBC 数据源配置的数据库,uid 和pwd 账号密码有就设没有就不写;小知识点:在命令语言界面下方,有归总的函数集,SQL里面有很多,双击SQL连接函数,出来是SQLConnect( DeviceID, "dsn=;uid=;pwd=");整体的格式就出来了还是挺方便,双击DeviceID,然后在左下角点击变量,就会跳转到数据词典中的变量,选择你需要的变量就可以直接替代3.1 如上所述,其他几句命令语言分别是断开连接SQLDisconnect( \\local\DeviceID);,创建数据库表格SQLCreateTable(\\local\DeviceID, "表格", "table" );,插入记录SQLInsert( \\local\DeviceID, "表格", "bind1" );都是设置在按下时激活4.数据库测试组态王与Access数据库通讯--④数据库测试数据库测试1.0 打开组态王,点击运行2.0 界面如下,点击数据库连接,创建数据库表格,如果不创建表格,打开数据库文件的话,是空的3.0 找到刚才我们放置的数据库文件,双击打开,就会看到下面的表格,可以看到表格的表头分别是我们在组态王中设置的字段,从左到右分别是日期,时间,level1,level2,这里就说明我们的建表已经完成4.0 再回到组态王界面,点击插入记录三下,你会发现表格中还是空的,怎么样才能看到最新的呢,重新打开表格就可以了4.1 如下图,重新打开后的数据库表格,可以看到我们插入的三次记录,可以看到日期,时间你可以看到秒数的变化,level1和level2的值都是50,60,就是我们设置的初始值,他没有发生变化。

Access数据库和表在 组态王中使用

Access数据库和表在 组态王中使用
实训二
Access数据库和表
4学时(两次实操课)
主要内容:



数据库的创建、打开、关闭及数据库 属性设置 表的创建、结构修改等基本操作 表中数据录入、编辑等基本操作 表中数据排序、查找、筛选等基本应 用 表间的关系和子数据表的相关操作
1 数据库设计
1.1 创建数据库
A.创建空数据库
B.使用本机或者网络上的模板创建完整的

Access2003中可以根据的一些标准的数据库框 架来创建数据库,这些标准的数据库框架称为模
板。

【例2】用本机上的模板上创建一个“学校讲座 管理”数据库。
操作要点:
在Access2003窗口中,依次单击
【文件】→【新建】菜单命令。
在弹出“新建”对话框中,选择
“数据库”选项卡中的“讲座管 理”模板
性别
出生日期 是否团员 入学时间 班级编号 专业 入学成绩 照片
文本
日期/时间 是/否 日期/时间 文本 文本 数字 OLE对象
2

是 是 是
6 10 整型
是 是 是 是
操作要点:

选择“表”对象→“使用设计器创建表”
在“表1:表”表设计器对话框中,输入各字段 、设置主 键。
C.通过数据输入创建表
B.向表内添加记录

向表中添加记录是在表的数据视图窗口 中来完成的,表的最末尾有一条空记录, 在记录的行选定器上显示一个星号(*) 图标,表示可以从这里添加记录。
C.删除记录
删除记录是在表的数据视图中,选择要删 除的记录,然后单击【编辑】→【删除记 录】命令来完成的。

D.修改记录


修改整个字段数据时选择要修改的字段或直 接用【Tab】键移至要修改的字段。 如果只修改字段数据中的某个或几个字符, 可以按【F2】键,来切换单个字符和整个字 段数据的选择。 如修改错误可以通过按【Esc】键或退出表的 数据表视图“不保存”数据来还原数据。

组态王通过数据库Access实现数据的采集与输出

组态王通过数据库Access实现数据的采集与输出

组态王通过数据库access实现数据的采集与输出前提:➢数据库用Microsoft Office Access 2003,数据库路径为D:\历史记录.mdb➢组态王版本为6.53➢PC机系统为XP一、创建数据库表1. 新建名为“历史记录”的数据库,新建完成后,打开数据库2. 创建表,点击使用设计器创建表,进入设计视图对话框,输入字段名日期时间、毫秒、污泥浓度、溶氧仪、进水COD、电磁流量计、超声波流量计、二在线COD,其中字段名日期时间的数据类型为日期/时间、毫秒的数据类型为数字长整型、其他字段名数据类型为数字单精度型。

3. 保存名为:10分钟记录二、创建ODBC打开控制面板→管理工具→数据源(ODBC),弹出“ODBC数据管理器”,在用户DSN标签下,点击添加弹出“创建数据库源”选择此项创建数据库源完成后弹出输入数据源名称选择之前创建的数据库确定完成。

三、组态王内部设置1. 新建变量在数据词典中创建本地变量,,变量名称分别为日期时间、DeviceID、nReturnValue。

2. 打开到组态王工程浏览器,新建记录体创建名为“历史记录”的记录体3. 创建事件命令语言点击创建,弹出事件命令语言对话框事件描述为:(((\\本站点\$分)%10==0)&&((\\本站点\$秒-1)%60==0))==1 4. 创建应用程序命令语言输入记录体名称字段名称要与数据库中的名称相一致添加数据词典中已存在的变量显示已增加的字段10分钟记录一次每10分钟操作一次该命令5. 使用趋势来读取数据库数据新建趋势画面,趋势控件为历史趋势控件,选中控件并鼠标右击选择“控件属性”,进入“设置数据库曲线”对话框在“运行”时标签栏下输入刷新时间输入该命令行点击此按钮,添加数据库中的变量添加好的数据附录:若要做报表通过读取数据库的数据,则使用通用控件中的KVADODBrid Class 。

并制作查询按钮,脚本如下:\\本站点\nReturnValue=Ctrl.QueryDialog(); if (\\本站点\nReturnValue==1) { Ctrl.FetchData();}选择表名称选择数据库中的“日期时间” 选择数据库中的“毫秒”选择数据库中的要显示的趋势数据选择线颜色输入最大值、最小值。

组态王与数据库连接的实现方法

组态王与数据库连接的实现方法
图10
4.设置完毕后关闭此对话框,利用按钮的弹起时命令语言实现数据库查询,操作设置如图11:
图11
5.
设置完毕依次点击确定。保存画面并且换到运行系统可看到如图12效果。
图12
6.用同样方法创建一个“清除记录”按钮用于清除数据库表格中的记录,命令语言如下:
SQLClearTable( DeviceID, "biaoge1");
图5
1.3
注意:记录体中的字段名称必须与表格模板中的字段名称保持一致,记录体中字段对应的变量数据类型必须和表格模板中相同字段对应的数据类型相同。
1.在工程浏览器窗口“数据库\数据词典”中新增三个内存字符串型变量(ziduan1、ziduan2、ziduan3)。
2.找到工程浏览器窗口左侧“SQL访问管理器\记录体”选项,双击右侧“新建”图标建立名为“jiluti1”的记录体,对话框设置如图6所示:
2.在数据库操作画面中添加一个名为“字段一”的文本
3.在“字段一”的动画连接中添加对应类型的值输入和值输出并关联到变量:ziduan1。
4.添加文本“字段二”、“字段三”,分别关联变量“ziduan2”、“ziduan3”并添加值输入、值输出动画连接。
5.添加一按钮,按钮文本为“插入记录”在按钮的弹起事件中输入如图6所示命令语言。
图6
依次增加ziduan1、ziduan2、ziduan3三个字段点击“确认”。
2
2.1
1.在工程浏览器窗口“数据库\数据词典”中定义一个内存整型变量:
变量名:DeviceID
变量类型:内存整型
2.在工程浏览器窗口的“命令语言\应用程序命令语言\启动时”窗口输入命令:
SQLConnect( DeviceID, "dsn=yuan;uid=;pwd=");

组态王与Access数据库的数据交换

组态王与Access数据库的数据交换

SQLNext(DeviceID); 选取选择集中的下一条记录。
SQLPrev(DeviceID); 选取选择集中的上一条记录。
SQLLast(DeviceID); 选取由SQLSelect()创建的选择集的末条记录。
DeviceID SQLConnct()产生的连接号
6.断开数据库
SQLInsert(ConnectionID, “kingview”, “bind1”)
4.得到选择集
函数SQLSelect(DeviceID, TableName, BindList, WhereExpr, OrderByExpr);
函数说明:
DeviceID SQLConnct()产生的连接号
参数说明:
DeviceID SQLConnct()产生的连接号
TableName 想要创建的数据库的表格名
TemplateName 表格模板名
例子:下例创建一个名为kingview的新表,模板为table1
SQLCreateTable(DeviceID, “kingview”, “table1”)
1.连接数据库
函数SQLConnect( DeviceID, "dsn=;uid=;pwd=");
参数说明:
DeviceID SQLConnct()产生的连接号
"dsn=;uid=;pwd=" 连接语句,包括 ODBC中定义的数据源名、用户名和密码,用户名和密码可以缺省。
组态王与Access数据库的数据交换
SQL访问管理器
SQL访问管理器用来建立数据库列和组态王变量之间的联系。包括表格模板和记录体两部分功能。通过表格模板在数据库表中建立表格;通过记录体建立数据库表格列和组态王之间的联系,允许组态王通过记录体直接操纵数据库中的数据。表格模板和记录体都是在工程浏览器中建立的。

组态王与ACCESS数据库的数据交换的例子

组态王与ACCESS数据库的数据交换的例子

组态王与ACCESS数据库的数据交换——以中山创污水处理为例一、创建表格模板和记录体。

在组态王工程浏览器中的SQL访问管理器点击表格模板。

在右侧目录内容中双击“新建”创建一个名称为“1”且字段为“工号”“日期”“时间”“酸”“碱”“混凝剂”“还原剂”“氯化钙”“PAM正”“PAM负”的表格。

注意:当编辑字段名称时,应与新建组态王变量一样(最好不要用字符),不含非法字符,如:“+”“-”“=”“#”等。

此表格格式决定了ACCESS数据库的表格格式。

同样在SQL管理器中点击记录体,在右侧目录内容中双击“新建”,创建一个名称为“1”的记录体。

其字段名称与表格模板中的字段相对应。

组态王变量是连接的组态王内部变量。

编辑字段名称的规则与编辑表格模板一样。

二、建立MS ACCESS数据库。

1.建一个空的ACCESS数据库,定名为20,保存在D:\29所污水处理工程。

2.定义数据源双击控制面板下的“ODBC数据源(32位)”选项,弹出“ODBC数据源管理器”对话框。

选择“用户DSN”属性页,并单击“添加”按钮。

在弹出的“创建新数据源”对话框中,选择“Mirosoft Access Driver”单击“完成”按钮。

弹出“ODBC Microsoft Access安装”对话框,定义数据源名为“20”单击“选择”按钮,从中选择路径D:\29所污水处理工程\20.MDB单击“确定”按钮,完成对数据源的配置。

三、组态王开发界面的组态在组态王开发系统中创建如下画面:其中表格为KV ADODBGrid CLASS控件。

四、对数据库的操作。

点保存弹出对话框。

在“确定”按钮的动画连接向导的“弹起时”输入命令语言SQLConnect( \\本站点\ID, "dsn=20;DATABASE=20;uid=;pwd=");//连接名称为“20”,数据源名称为“20”的数据库。

SQLCreateTable( \\本站点\ID, "10", "1" );//在数据库“20”内创建名称为“10”的表格,表格模板名称为“1”表格模板在组态王中已编辑。

基于组态王之间的数据交换,设置步骤

基于组态王之间的数据交换,设置步骤

连接架构说明:举例说明1、I/O数据采集(下属站点)负责数据采集处里,组态王与PLC通讯连接采集现场实时数据,传到下属站电脑上。

(长堤)2、数据访问(上位中心)通过网络(局域网)与下属站点的电脑网络共享通讯调取下属站点的单点变量数据,实时读取及控制。

(桩一接转站监控中心)具体操作过程:1、组建下属站点与上位中心局域网共享工作组,使下属站点与上位中心都在一个工作组中,能够互相查看调取对方共享的文件。

操作步骤1.在上位中心电脑上组建工作组,电脑桌面我的电脑右击属性—计算机名---键入计算机描述名-------点击更改-----键入计算机名-------键入工作组名----单机确定------重启计算机。

上位机工作编辑完成。

2.下属站点电脑步骤同上,工作名改为上位中心电脑编辑的工作名。

3.将两者需要共享的文件设为共享,双方电脑就可以互相查看共享的文件了。

2、下属站点安装组态王运行软件,编写好工程程序,将工程所属的直接文件夹设为共享,单机组态王网络配置-----点击网络参数----设为连网-----键入本机节点名(计算机名或IP地址)-----点击节点类型-------本机是登录服务器、本机是I/O服务器、进行数据类型备份,都打钩。

---点击确定退出。

3、上位中心安装组态王运行程序,新建空白工程程序,单机组态王网络配置----点击网络参数-----设为连网------键入本机节点名(计算机名或IP地址)-----点击节点类型------本机是登录服务器打钩-------点击确认退出对话框—点击组态王站点-------新建远程站点---------点击读取节点配置----从网上邻居,整个网络选择下属站点共享的工程程序文件-----点击确认----此时下属站点的工程参数将显示在新建远程站点中------点击组态王系统-----点击网络配置------点击节点类型----勾掉本机是登录服务器----在右选框中选择下属站点的名称-------本机是I/O服务器打钩---报警服务器、历史记录服务器都打勾-----点击客户配置-----客户打勾----I/O服务器打勾----点击确认退出对话框。

组态王与Access数据库连接

组态王与Access数据库连接

组态王与Access数据库连接第九讲组态王与Access数据库连接 90第九讲组态王与Access数据库连接在本课程您将:, 了解组态王SQL访问管理器。

, 了解如何与通用数据库进行连接, 了解如何想向数据库插入记录组态王SQL访问功能实现组态王和其他外部数据库(支持ODBC访问, 了解如何查询数据库中记录接口)之间的数据传输。

它包括组态王的SQL访问管理器和SQL函数。

,以Ms Access数据库为例,下面说明组态王与其相连的例子。

北京亚控科技发展有限公司第九讲组态王与Access数据库连接 91SQL访问管理器SQL访问管理器用来建立数据库列和组态王变量之间的联系。

包括表格模板和记录体两部分功能。

通过表格模板在数据库表中建立表格;通过记录体建立数据库表格列和组态王之间的联系,允许组态王通过记录体直接操作数据库中的数据。

表格模板和记录体都是在工程浏览器中建立的。

北京亚控科技发展有限公司第九讲组态王与Access数据库连接 92创建表格模板,在工程浏览器中左侧工程目录显示区中选择“SQL访问管理器”下的“表格模板”项,在右侧目录内容显示区中双击“新建”,弹出“创建表格模板对话框”,如下图。

在表格模板中建立五个记录,字段名称,变量类型,变量长度,索引类型分别如上图所示。

建立表格模板的目的在于定义一种格式,在后面用到是SQLCreatTable ()以次格式在Access数据库中建立表格。

北京亚控科技发展有限公司第九讲组态王与Access数据库连接 93创建记录体在工程浏览器左侧的工程目录显示区中选择SQL访问管理器下的记录体,在右侧的目录内容显示区中双击“新建”,弹出“创建表格模板对话框”,如下图。

记录体定义了组态王变量$日期、$时间、原料油液位、催化剂液位、成品油液位和Access数据库表格中相应字段日期、时间、原料油液位值、催化剂液位值、成品油液位值之间的对应连接关系。

(注意:记录体中的字段名称和顺序必须与表格模板中的字段名称和顺序必须保持一致,记录体中的字段对应的变量的数据类型必须和表格模板中相同字段对应的数据类型相同。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

组态王与Access数据库的数据交换
SQL访问管理器
SQL访问管理器用来建立数据库列和组态王变量之间的联系。

包括表格模板和记录体两部分功能。

通过表格模板在数据库表中建立表格;通过记录体建立数据库表格列和组态王之间的联系,允许组态王通过记录体直接操纵数据库中的数据。

表格模板和记录体都是在工程浏览器中建立的。

创建表格模板
在工程浏览器中左侧工程目录显示区中选择“SQL访问管理器”下的“表格模板”项,在右侧目录内容显示区中双击“新建”,弹出“创建表格模板”对话框,如下图。

建立表格模板的目的在于定义一种格式,在后面用到是SQLCreatTable(),以次格式在Access数据库中建立表格。

创建记录体
在工程浏览器中左侧工程目录显示区中选择“SQL访问管理器”下的“记录体”项,在右侧目录内容显示区中双击“新建”,弹出“创建记录体”对话框,如下图。

其中:
字段名称填写数据库表格中的列名。

组态王变量填写和表格中指定列相关联的组态王变量。

建立Ms Access数据库
1.建立一空Access文件,定名。

2.定义数据源
双击控制面板下的“ODBC数据源(32位)”选项,弹出“ODBC数据源管理器”对话框。

选择“用户DSN”属性页,并单击“添加”按钮。

在弹出的“创建新数据源”对话框中,选择“Mirosoft Access Driver”单击“完成”按钮。

弹出“ODBC Microsoft Access安装”对话框,定义数据源名。

单击“选取”按钮,从中选择相应路径下刚刚定义的数据库文件。

单击“确定”按钮,完成对数据源的配置。

对数据库的操作
首先在数据词典里建立变量DeviceID,为内存整形,是数据库连接时产生的连接号。

1.连接数据库
函数SQLConnect( DeviceID, "dsn=;uid=;pwd=");
参数说明:
DeviceID SQLConnct()产生的连接号
"dsn=;uid=;pwd=" 连接语句,包括ODBC中定义的数据源名、用户名和密码,用户名和密码可以缺省。

例子:组态王以sa身份登录(无密码)和名为wang的SQL Server中的pubs数据库连接。

SQLConnect(DeviceID,“DSN=wang;DATABASE=pubs;UID=sa; PWD=”)
2.创建表格
函数SQLCreateTable(DeviceID,TableName,TemplateName);
参数说明:
DeviceID SQLConnct()产生的连接号
TableName 想要创建的数据库的表格名
TemplateName 表格模板名
例子:下例创建一个名为kingview的新表,模板为table1
SQLCreateTable(DeviceID, “kingview”, “table1”)
3.插入新记录
函数SQLInsert(DeviceID, TableName, BindList);
参数说明:
DeviceID SQLConnct()产生的连接号
TableName 数据库的表格名
BindList 记录体
例子:在表格kingview中插入一条记录,记录体bind1
SQLInsert(ConnectionID, “kingview”, “bind1”)
4.得到选择集
函数SQLSelect(DeviceID, TableName, BindList, WhereExpr, OrderByExpr);
函数说明:
DeviceID SQLConnct()产生的连接号
TableName 数据库的表格名
BindList 记录体
WhereExpression 指定函数起作用行的条件
注意:如果列名是字符串,表达式必须在单引号中。

下例选择“名字”列中等于Asia的行:
名字= ’Asia’
下例选择“年龄”列中在20和30之间的行:
年龄>=20 and 年龄<30
OrderByExpression 定义排序的列和方向。

只有列名可以用来排序,表达式:列名[ASC|DESC]。

下例将以“温度”列的升序排序
“温度ASC”
排序中也可使用多重表达式。

例如;
“温度ASC,时间DESC”
5.选择记录
SQLFirst(DeviceID); 从SQLSelect()函数产生的结果集中选取首项记录。

SQLNext(DeviceID); 选取选择集中的下一条记录。

SQLPrev(DeviceID); 选取选择集中的上一条记录。

SQLLast(DeviceID); 选取由SQLSelect()创建的选择集的末条记录。

DeviceID SQLConnct()产生的连接号
6.断开数据库
SQLDisconnect(DeviceID)
DeviceID SQLConnct()产生的连接号。

相关文档
最新文档