第九讲 组态王与数据库连接

第九讲 组态王与数据库连接
第九讲 组态王与数据库连接

第九讲组态王与数据库连接

在本课程您将:

↓了解组态王SQL访问管理器

↓了解如何与外部数据库进行连接

↓了解如何向数据库中写入数据

↓了解如何查询数据库中的数据

第一节SQL访问管理器

概述

组态王SQL访问功能实现组态王和其他外部数据库(通过ODBC访问接口)之间的数据传输。它包括组态王的SQL访问管理器和相关的SQL函数。

SQL访问管理器用来建立数据库字段和组态王变量之间的联系,包括“表格模板”和“记录体”两部分。通过表格模板在数据库表中建立相应的表格;通过记录体建立数据库字段和组态王之间的联系。同时允许组态王通过记录体直接操作数据库中的数据。

创建数据源及数据库

首先建一个数据库,这里我们选用Access数据库(路径:d:\peixun,数据库名为: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数据库表格字段与组态王变量之间的对应关系,对应关系如下所示:

Access数据库表格字段组态王变量

日期字段\\local\$Date

时间字段\\local\$Time

原料油液位值\\local\原料油液位

即:将组态王中\\local\$Date变量值写到Access数据库表格日期字段中;将\\local\$Time 变量值写到Access数据库表格时间字段中;将\\local\原料油液位变量值写到Access数据库表格原料油液位值字段中;

2、单击“确认”按钮完成记录体的创建。

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

第二节对数据库的操作

连接数据库

1、在工程浏览器窗口的数据词典中定义一个内存整型变量:

变量名:DeviceID

变量类型:内存整型

2、新建一画面,名称为:数据库操作画面。

3、选择工具箱中的工具,在画面上输入文字:数据库操作。

4、在画面中添加一按钮,按钮文本为:数据库连接。

5、在按钮的弹起事件中输入如下命令语言,如图9-4所示:

图9-4 数据库连接命令语言

上述命令语言的作用是使组态王与mine数据源建立了连接(即与mydb.mdb数据库建立了连接)。

在实际工程中将此命令写入:工程浏览器〉命令语言〉应用程序命令语言〉启动时中,即系统开始运行就连接到数据库上。

创建数据库表格

1、在数据库操作画面中添加一按钮,按钮文本为:创建数据库表格。

2、在按钮的弹起事件中输入如下命令语言,如图9-5所示:

图9-5 创建数据库表格命令语言

上述命令语言的作用是以表格模板“Table1”的格式在数据库中建立名为“KingTable”的表格。在生成的KingTable表格中,将生成三个字段,字段名称分别为:日期,时间,原料油液位值,每个字段的变量类型、变量长度及索引类型与表格模板“Table1”中的定义一致。

此命令语言只需执行一次即可,如果表格摸板有改动,需要用户先将数据库中的表格删除才能重新创建。在实际工程中将此命令写入:工程浏览器〉命令语言〉应用程序命令语言〉启动时中,即系统开始运行就建立数据库表格。

插入记录

1、在数据库操作画面中添加一按钮,按钮文本为:插入记录。

2、在按钮的弹起事件中输入如下命令语言,如图9-6所示:

图9-6 插入记录命令语言

上述命令语言的作用是在表格KingTable中插入一个新的记录。

按下此按钮后,组态王会将bind1中关联的组态王变量的当前值插入到Access数据库表格“KingTable”中,从而生成一条记录,从而达到了将组态王数据写到外部数据库中的目的,

查询记录

用户如果需要将数据库中的数据调入组态王来显示,需要另外建立一个记录体,此记录体的字段名称要和数据库表格中的字段名称一致,连接的变量与数据库中字段的类型一致,操作过程如下:

1、在工程浏览器窗口的数据词典中:

a、变量名:记录日期

变量类型:内存字符串

初始值:空

b、变量名:记录时间

变量类型:内存字符串

初始值:空

c、变量名:原料油液位返回值

变量类型:内存实型

初始值:0

2、新建一画面,名称为:数据库查询画面。

3、选择工具箱中的工具,在画面上输入文字:数据库查询。

4、在画面上添加三个文本框,在文本框的“字符串输出”、“模拟量值输出”动画中分别

连接变量\\本站点\记录日期、\\本站点\记录时间、\\本站点\原料油液位返回值,用来显示查询出来的结果。

5、在工程浏览窗口中定义一个记录体,记录体窗口属性设置如图9-7所示:

图9-7 记录体属性设置对话框

6、在画面中添加一按钮,按钮文本为:得到选择集

7、在按钮的弹起事件中输入如下命令语言,如图9-8所示:

图9-8 记录查询命令语言对话框

此命令语言的作用是:以记录体Bind2中定义的格式返回KingTable表格中第一条数据记录。

8、单击“文件”菜单中的“全部存”命令,保存您所作的设置。

9、单击“文件”菜单中的“切换到VIEW”命令,进入运行系统。运行此画面,单击“得到选择集”按钮数据库中的数据记录显示在文本框中,如图9-9所示:

图9-9 数据库记录查询

10、在画面上添加四个按钮,按钮属性设置如下:

a、按钮文本:第一条记录

“弹起时”动画连接:SQLFirst( DeviceID );

b、按钮文本:下一条记录

“弹起时”动画连接:SQLNext( DeviceID );

c、按钮文本:上一条记录

“弹起时”动画连接:SQL Prev( DeviceID );

d、按钮文本:最后一条记录

“弹起时”动画连接:SQL Last( DeviceID );

上述命令语言的作用分别为查询数据中第一条记录、下一条记录、上一条记录和最后一条记录从而达到了数据查询的目的。

断开连接

1、在“数据库操作画面”中添加一按钮,按钮文本为:断开数据库连接。

2、在按钮的弹起事件中输入如下命令语言SQL Disconnect( DeviceID); 如图9-10所示:

图9-10 断开数据库连接命令语言

在实际工程中将此命令写入:工程浏览器〉命令语言〉应用程序命令语言〉退出时中,即系统退出后断开与数据库的连接。

第三节数据库查询控件

利用组态王提供的KV ADODBGrid Class 控件可方便地实现数据库查询工作,操作过程如下:

1、单击工具箱中的“插入通用控件”工具或选择菜单命令“编辑\插入通用控件”,则

弹出控件对话框。在控件对话框内选择“KV ADODBGrid Class”选项,如图9-11所示:

图9-11 通用控件对话框

2、在画面中添加一KV ADODBGrid Class控件选中并双击控件,在弹出的动画连接属性对话框中设置控件名称为:grid1。

3、选中控件并单击鼠标右键,在弹出的下拉菜单中执行“控件属性”命令弹出属性对话框,如图9-12所示:

图9-12 控件属性对话框

单击窗口中的“浏览”按钮,在弹出的数据源选择对话框中选择前面创建的mine数据源,此时与此数据源连接的数据库中所有的表格显示在“表名称”的下拉框中,从中选择欲查询的数据库表格,(在这里我们选择前面建立的KingTable表格),此表格中建立的所有字段将

显示在“有效字段”中,利用和选择您所查询的字段名称并可通过“标题”和“格式”编辑框对字段进行编辑。

4、设置完毕后关闭此对话框,利用按钮的命令语言实现数据库查询和打印工作,设置如下:

按钮一:查询全部记录:

grid1.FetchData() ;

grid1.FetchEnd() ;

按钮二:条件查询:

long aa;

aa= grid1.QueryDialog();

if (aa==1)

{

grid1.FetchData();

grid1.FetchEnd();

}

按钮三:打印控件:

grid1.Print() ;

按钮四:保存:(将控件查询出的数据以CSV为后缀名,保存到指定路径)

grid1.SaveToCSV(“d:\peixun\data.CSV”) ;

课后复习

1、阅读组态王软件帮助中的KV ADODBGrid Class控件帮助说明。

2、制作一个动态数据查询系统来查询数据记录。

组态王实例教程入门

组态王实例教程入门 组态王kingview6.55是亚控科技根据当前的自动化技术的发展趋势,面向低端自动化市场及应用,以实现企业一体化为目标开发的一套产品。该产品以搭建战略性工业应用服务平台为目标,集成了对亚控科技自主研发的工业实时数据库(KingHistorian)的支持,可以为企业提供一个对整个生产流程进行数据汇总、分析及管理的有效平台,使企业能够及时有效地获取信息,及时地做出反应,以获得最优化的结果。 组态王保持了其早期版本功能强大、运行稳定且使用方便的特点,并根据国内众多用户的反馈及意见,对一些功能进行了完善和扩充。组态王kingview6.55提供了丰富的、简捷易用的配置界面,提供了大量的图形元素和图库精灵,同时也为用户创建图库精灵提供了简单易用的接口;该款产品的历史曲线、报表及web发布功能进行了大幅提升与改进,软件的功能性和可用性有了很大的提高。 组态王在保留了原报表所有功能的基础上新增了报表向导功能,能够以组态王的历史库或KingHistorian为数据源,快速建立所需的班报表、日报表、周报表、月报表、季报表和年报表。此外,还可以实现值的行列统计功能。 组态王在web发布方面取得新的突破,全新版的Web发布可以实

现画面发布,数据发布和OCX控件发布,同时保留了组态王Web的所有功能:IE浏览客户端可以获得与组态王运行系统相同的监控画面,IE客户端与Web服务器保持高效的数据同步,通过网络您可以在任何地方获得与Web服务器上相同的画面和数据显示、报表显示、报警显示等,同时可以方便快捷的向工业现场发布控制命令,实现实时控制的功能。 组态王集成了对KingHistorian的支持,且支持数据同时存储到组态王历史库和工业库,极大地提高了组态王的数据存储能力,能够更好地满足大点数用户对存储容量和存储速度的要求。KingHistorian是亚控新近推出的独立开发的工业数据库。具有单个服务器支持高达100万点、256个并发客户同时存储和检索数据、每秒检索单个变量超过20,000 条记录的强大功能。能够更好地满足高端客户对存储速度和存储容量的要求,完全满足了客户实时查看和检索历史运行数据的要求。

组态王软件详细教程 第九讲 数据库

第九讲组态王与Access数据库连接 组态王SQL访问功能实现组态王和其他外部数据库(支持ODBC访问接口)之间的数据传输。它包括组态王的SQL访问管理器和SQL函数。 以Ms Access数据库为例,下面说明组态王与其相连的例子。 SQL访问管理器 SQL访问管理器用来建立数据库列和组态王变量之间的联系。包括表格模板和记录体两部分功能。通过表格模板在数据库表中建立表格;通过记录体建立数据库表格列和组态王之间的联系,允许组态王通过记录体直接操作数据库中的数据。表格模板和记录体都是在工程浏览器中建立的。 创建表格模板 在工程浏览器中左侧工程目录显示区中选择“SQL访问管理器”下的“表格模板”项,在右侧目录内容显示区中双击“新建”,弹出“创建表格模板对话框”,如下图。

在表格模板中建立五个记录,字段名称,变量类型,变量长度,索引类型分别如上图所示。 建立表格模板的目的在于定义一种格式,在后面用到是SQLCreatTable()以次格式在Access数据库中建立表格。 创建记录体 在工程浏览器左侧的工程目录显示区中选择SQL访问管理器下的记录体,在右侧的目录内容显示区中双击“新建”,弹出“创建表格模板对话框”,如下图。

记录体定义了组态王变量$日期、$时间、原料油液位、催化剂液位、成品油液位和Access 数据库表格中相应字段日期、时间、原料油液位值、催化剂液位值、成品油液位值之间的对应连接关系。(注意:记录体中的 字段名称和顺序必须与表格模板中的字段名称和顺序必须保持一致,记录体中的字段对应的变量的数据类型必须和表格模板中相同字段对应的数据类型相同。) 建立Ms Access数据库 1.建立一空Access文件,定名为mydb.mdb. 2.定义数据源 双击控制面板下的“ODBC数据源(32位)”选项,弹出“ODBC数据源管理器”对话框, 选择“用户DSN”属性页,并单击添加”按钮。 在弹出的“创建新数据源”对话框中,选择“Mirosoft Access Driver” 单击“完成”按钮。 弹出“ODBC Microsoft Access安装”对话框:

组态王软件教程

组态王软件教程 软件教程 一、概述 1.概述 组态王软件结构由工程管理器、工程浏览器及运行系统三部分构成。 工程管理器:工程管理器用于新工程的创建和已有工程的管理,对已有工程进行搜索、添加、备份、恢复以及实现数据词典的导入和导出等功能。 工程浏览器:工程浏览器是一个工程开发设计工具,用于创建监控画面、监控的设备及相关变量、动画链接、命令语言以及设定运行系统配置等的系统组态工具。 运行系统:工程运行界面,从采集设备中获得通讯数据,并依据工程浏览器的动画设计显示动态画面,实现人与控制设备的交互操作。 2.建立应用工程的一般过程 1)创建新工程 为工程创建一个目录用来存放与工程相关的文件。 2)定义硬件设备并添加工程变量 添加工程中需要的硬件设备和工程中使用的变量,包括内存变量和I/O 变量。 3)制作图形画面并定义动画连接 按照实际工程的要求绘制监控画面并使静态画面随着过程控制对象产生动态效果。 4)编写命令语言 通过脚本程序的编写以完成较复杂的操作上位控制。 5)进行运行系统的配置

对运行系统、报警、历史数据记录、网络、用户等进行设置,是系统完成用于现场前的必备工作。 6)保存工程并运行 完成以上步骤后,一个可以拿到现场运行的工程就制作完成了。 二、建立一个新工程 1.工程管理器 组态王工程管理器是用来建立新工程,对添加到工程管理器的工程做统一的管理。工程管理器的主要功能包括:新建、删除工程,对工程重命名,搜索组态王工程,修改工程属性,工程备份、恢复,数据词典的导入导出,切换到组态王开发或运行环境等。 2.工程浏览器 工程浏览器是组态王6.55 的集成开发环境。 3.定义外部设备和数据变量 组态王把那些需要与之交换数据的硬件设备或软件程序都作为外部设备使用。外部硬件设备通常包括PLC、仪表、模块、变频器、板卡等;外部软件程序通常指包括DDE、OPC 等服务程序。按照计算机和外部设备的通讯连接方式,则分为:串行通信(232/422/485)、以太网、专用通信卡(如CP5611)等。 组态王与外部设备的通讯方式:如COM1、COM2、DDE、板卡、OPC 服务器、网络站点,其中COM1、COM2 表示组态王支持串口的通讯方式,DDE表示支持通过DDE 数据传输标准进行数据通讯,其他类似。 注意:标准的计算机都有两个串口,所以此处作为一种固定显示形式,这种形、COM2,也不表示组态王计算机上肯定有两个式并不表示组态王只支持COM1 串口;并且“设备”项下面也不会显示计算机中实际的串口数目,用户通过设备定义向导选择实际设备所连接的PC 串口即可。

组态王与数据库连接

首先,安装SQL server,和组态王。 1.将采集到的数据需要存入数据库的先编辑到记录体。 a.记录体名可以按照存储变量来设定,与存入数据库表格名称可以不一样(建议设置 一样)。 b.字段名称不需要和变量名称一致,设置简单明了的标示名称即可,但是必须要和存 入数据库表格名称一致。 c.记录体变量顺序必须和存入数据库表格顺序一致,否则数据不能插入表格。 d.时间:建议可新建一个内存字符串,并在命令语言内如图定义。 2.新建数据库以及数据库表格。 新建数据库:名称可随意设置(如:ceshi) 新建数据库表格: 列名:必须和记录体内字段名称一致(在报表调用时名称可以修改)。 数据类型:和存入的数据类型要一致,时间varchar模拟量float 开关量bit

长度:根据数据类型自动设置。 保存表格时输入表格名称即可。(名称尽量和记录体一致,操作起来方便一些)

3.创建数据源(ODBC) 依次打开控制面板→管理工具→数据源(ODBC) →系统DSN 步骤(只是需要修改的,其他都默认): a.添加→选择新数据源SQL sever(下拉最后一个)→完成 b.名称可随意设置,(建议和数据库名称一样,如:ceshi),描述可以省略,服务器: (local) c.使用用户输入登录ID和密码的SQLserver 验证。登录ID:sa,密码:安装数据库时 设置的密码(如,admin)。 d.更改默认的数据库,选择刚刚新建的数据库(如ceshi),创建完成。 4.连接组态和数据库插入数据 a.在组态王数据词典中新建内存整形变量DeviceID b.应用程序命令语言启动时: SQLConnect( DeviceID, "dsn=数据源名称;uid=sa(登录ID);pwd=admin(密码)"); 该命令语言是组态王连接上数据。 c.SQLInsert( DeviceID, "记录体名称", "数据库表格名称" ); 该命令语言是将记录体数据插入数据库表格内,可根据不同需求设定不同是采集频率。(如图,为一分钟采集一次;) 注:如果采集时间为十分钟可以建内存实数,让新建变量等于10分钟,并在命令语言中实现。 报表功能下期再见。

组态王教程1

组态王软件培训

培训内容 内容包括: 1、组态王介绍 2、新建工程 3、建立IO设备通信 4、建立数据词典 5、画面组态 6、设置,然后运行 7、脚本编程,函数等。

组态王软件是一种通用的工业监控软件, 它适用于从单一设备的生产运营管理和故障诊断,到网络结构分布式大型集中监控管理系统的开发。支持与国内外常见的PLC、智能模块、智能仪表、变频器、数据采集板卡进行数据通讯组态王软件结构由工程管理器、工程浏览器及运行系统三部分构成。

组态软件的安装 1、运行安装组态王程 序。直接安装。 2、安装完后直接安装 驱动。 3、其它内容可以不安 装。

工程管理器:工程管理器用于新工程的创建和已有工程的管理,对已有工程进行搜索、添加、备份、恢复以及实现数据词典的导入和导出等功能。 工程浏览器:工程浏览器是一个工程开发设计工具,用于创建监控画面、监控的设备及相关变量、动画链接、命令语言以及设定运行系统配置等的系统组态工具。 运行系统:工程运行界面,从采集设备中获得通讯数据,并依据工程浏览器的动画设计显示动态画面,实现人与控制设备的交互操作。

组态王软件是一种通用的工业监控软件, 它适用于从单一设备的生 产运营管理和故障诊断,到网络结构分布式大型集中监控管理系统的开发。支持与国内外常见的PLC、智能模块、智能仪表、变频器、数据采集板卡进行数据通讯组态王软件结构由工程管理器、工程浏览器及运行系统三部分构成。 工程管理器:工程管理器用于新工程的创建和已有工程的管理,对已有工程进行搜索、添加、备份、恢复以及实现数据词典的导入和导出等功能。 工程浏览器:工程浏览器是一个工程开发设计工具,用于创建监控画面、监控的设备及相关变量、动画链接、命令语言以及设定运行系统配置等的系统组态工具。 运行系统:工程运行界面,从采集设备中获得通讯数据,并依据工程浏览器的动画设计显示动态画面,实现人与控制设备的交互操作。

组态王与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”表格模板在组态王中已编辑。 SQLInsert( \\本站点\ID, "10", "1" ); //在名称为“10”的表格内插入名称为“1”的记录体。记录体在组态王中已编辑。 ClosePicture("手动确定"); //关闭“手动确定”画面。 数据库中的被记录变量必须要先被当前组态画面显示后才能在数据库中记录下来。(本工程中要记录的变量已经在KV ADODBGrid CLASS控件上方显示过了,即褐色的部分,显示后再点击“保存”按钮,进入保存对话框,点击“确定”按钮,数据才能进入数据库。 五:进入组态王运行状态,点击保存弹出对话框,点击“确定”按钮;将会自动在Microsoft Access 中生成名字为“10”的数据库表格;

组态王与SQL SERVER 2000交互教程

目录 1.SQL SERVER2000的准备工作 (2) 1.1安装SQL S ERVER2000数据库(安装方法略),新建数据库K ING V IEW (2) 1.2在K ING V IEW数据库中新建数据表R EAL D ATA、H ISTORY D ATA,用于存放组态王中的实时和 历史数据 (2) 2.组态王的准备工作 (4) 2.1在组态王建立两个内存实数变量,作为H ISTORY D ATA和R EAL D ATA的数据源,提供数据 变化至SQL S ERVER2000的数据库K ING V IEW (4) 2.2新建组态王画面T EST F OR SQLS ERVER2000,设置标签监控内存实数变量K ING1和K ING25 2.3建立一个内存字符串变量,时刻记录组态王的日期加时间,写入历史数据表作为时 间变量6 3.数据库与组态王数据交互 (6) 3.1建立组态王与数据库表之间的连接 (7) 3.2建立ODBC数据源,建立组态王与数据库之间的数据通道 (7) 3.3组态王打开数据库连接 (10) 3.4利用组态王脚本语言实现捕捉字段变化进而触发数据库操作 (13) 3.5组态王显示SQL S ERVER中历史数据表内容 (14) 3.6实际测试 (17)

1.SQL Server2000的准备工作 1.1安装SQL Server2000数据库(安装方法略),新建数据库 KingView 新建kingView数据库 1.2在KingView数据库中新建数据表RealData、HistoryData, 用于存放组态王中的实时和历史数据 定义历史数据表字段,注意需要把ID设置成自增1,才可以保证你数据表中记录不断的增加

组态王课程设计报告

《组态王课程设计报告》题目:反应器液位的检测与监控 姓名:张正强 学号:201211214 专业:自动化 班级:112班 指导教师:王继东 2015年6月22日

目录 一、组态王软件介绍 (3) 二、设计要求 (4) 三、实验目的 (4) 1.熟悉组态王软件,达到熟练使用组态软件的常用工具 (4) 2.学会完成组态工程的设计步骤 (4) 3.锻炼动手能力和分析问题解决问题的能力 (4) 四、实验步骤: (4) 1、系统设计: (4) A.启动浏览器,新建工程 (4) B.设备定义 (4) C.变量定义 (5) D.画面绘制 (6) E.动画连接及按键的程序编写 (7) 五、结束语 (13) 六、参考文献 (13)

一、组态王软件介绍 组态王开发监控系统软件,是新型的工业自动控制系统,它以标准的工业计算机软、硬件平台构成的集成系统取代传统的封闭式系统。它具有适应性强、开放性好、易于扩展、经济、开发周期短等优点。通常可以把这样的系统划分为控制层、监控层、管理层三个层次结构。其中监控层对下连接控制层,对上连接管理层,它不但实现对现场的实时监测与控制,且在自动控制系统中完成上传下达、组态开发的重要作用。尤其考虑三方面问题:画面、数据、动画。通过对监控系统要求及实现功能的分析,采用组态王对监控系统进行设计。组态软件也为试验者提供了可视化监控画面,有利于试验者实时现场监控。而且,它能充分利用Windows的图形编辑功能,方便地构成监控画面,并以动画方式显示控制设备的状态,具有报警窗口、实时趋势曲线等,可便利的生成各种报表。它还具有丰富的设备驱动程序和灵活的组态方式、数据链接功能。 图一组态王软件

031第八讲_组态王与数据库连接

第八讲 组态王与数据库连接 第一节 SQL 访问管理器 概述 组态王SQL 访问功能实现组态王和其他外部数据库(通过ODBC 访问接口)之间的数据传输。它包括组态王的SQL 访问管理器和相关的SQL 函数。 SQL 访问管理器用来建立数据库字段和组态王变量之间的联系,包括“表格模板”和“记录体”两部分。通过表格模板在数据库表中建立相应的表格;通过记录体建立数据库字段和组态王之间的联系。同时允许组态王通过记录体直接操作数据库中的数据。 创建数据源及数据库 首先外建一个数据库,这里我们选用Access 数据库(路径:d:\peixun ,数据库名为:mydb.mdb )。 然后,用Windows 控制面板中自带的ODBC Data Sources (32bit)管理工具新建一个Microsoft Access Driver(*.mdb)驱动的数据源,名为:mine ,然后配置该数据源,指向刚才建立的Access 数据库(即mydb .mdb ),如图8-1所示: 图8-1ODBC 数据源的建立

创建表格模板 1、在工程浏览器窗口左侧“工程目录显示区”中选择“SQL访问管理器”中的“表格模板”选项,在右侧“目录内容显示区”中双击“新建”图标弹出创建表格模板对话框,在对话框中建立三个字段,如图8-2所示: 图8-2创建表格模板对话框 2、单击“确认”按钮完成表格模板的创建。 建立表格模板的目的是定义数据库格式,在后面用到SQLCreatTable()函数时以此格式在Access数据库中自动建立表格。 创建记录体 1、在工程浏览器窗口左侧“工程目录显示区”中选择“SQL访问管理器”中的“记录体”选项,在右侧“目录内容显示区”中双击“新建”图标弹出创建记录体对话框,对话框设置如图8-3所示: 图8-3创建记录体对话框 记录体中定义了Access数据库表格字段与组态王变量之间的对应关系,对应关系如下所示:

组态王教学-趋势曲线

趋势曲线 常见问题解答 北京亚控科技发展有限公司 2 0 10年0 1月

1. 实时趋势曲线 ........................................................ 1.. 1.1我发现组态王的实时曲线控件只能显示百分比量程,请问能否显示工 程的实际量程呢?...................................................... 1. 1.2使用组态王实时趋势曲线控件时,控件属性设置没有问题,但为何看 不到曲线?........................................................... 1.. 1.3在组态王画面上添加一实时趋势曲线控件,如何修改控件的背景颜 色? ................................................................... 1.. 2. 历史趋势曲线 ........................................................ 1. 2.1在组态王的历史趋势曲线中看不到曲线为何? (1) 2.2使用组态王的历史趋势曲线控件时,如何实现自动更新控件右侧时间 为系统的当前时间?................................................... 1. 2.3使用组态王历史趋势曲线控件查询时,在查询不存在的历史数据时, 组态王是如何处理的?................................................. 2. 2.4在历史趋势曲线控件中增加变量时,为何无法选择变量? (2) 2.5使用组态王提供的历史趋势曲线控件读取数据库中的数据为何显示不 出曲线?.............................................................. 2.. 2.6使用组态王历史趋势曲线控件,查询出来的趋势曲线比实际的历史数 据要提前8个小时?................................................... 2. 2.7在组态王运行环境中,能否改变历史趋势曲线控件连接的曲线? (3) 2.8组态王提供的历史曲线控件中曲线形式能否画成阶梯式的而不是斜线 式的?................................................................ 3.. 2.9通过组态王提供的历史趋势曲线控件查询Access数据库中的数据,"时间字段"的下拉框中为何没有任何选项? (3) 2.10我想通过指定一个变量的名称来删除历史曲线控件中此变量对应的 曲线,在组态王中应如何实现? (3) 2.11我有100多个设备,每个设备有10几个参数,我想通过改变设备号, 在一个历史趋势曲线里查询不同设备的各个参数的历史曲线? (3) 2.12使用组态王的历史趋势曲线控件时,选择变量时能否显示变量描述?............................................................................................................................... 4. 2.13使用组态王的历史趋势曲线控件时,怎样对曲线进行删除操作? (4)

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

组态王与数据库连接的实现方法 1准备工作 1.1创建数据源及数据库 1.右键新建一个Access数据库(D:\example,数据库名:ku.mdb)。 2.依次点击屏幕左下角“开始\控制面板\管理工具”,双击“数据源 (ODBC)”打开ODBC数据源管理器如错误!未找到引用源。: 图 1 3.点击“添加”新建一个数据源,驱动程序选择“Microsoft Access Driver(*.mdb)”点击“完成”,如错误!未找到引用源。:

图 2 4.配置该数据源,数据源名:yuan。指向新建的Access 数据库 (ku.mdb)步骤如错误!未找到引用源。所示: 图 3

1.2创建表格模板 打开工程“yangli”在工程浏览器窗口左侧找到“系统\SQL访问管理器\表格模板”选项如图 4,在右侧双击“新建”打开如图 5“创建表格模板”对话框。 图 4 模板名称:muban1,,依次输入字段名称:ziduan1、字段长度:9,选择变量类型为:定长字符串型,点击增加字段。用同样方法增加字段ziduan2、ziduan3。 图 5 1.3创建记录体 注意:记录体中的字段名称必须与表格模板中的字段名称保持一致,记录体中字段对应的变量数据类型必须和表格模板中相同字段对应的数据类型相同。 1.在工程浏览器窗口“数据库\数据词典”中新增三个内存字符串型变量 (ziduan1、 ziduan2、ziduan3)。

2.找到工程浏览器窗口左侧“SQL 访问管理器\记录体”选项,双击右侧 “新建”图标建立名为“jiluti1”的记录体,对话框设置如图 6所 示: 图 6 依次增加ziduan1、ziduan2、ziduan3三个字段点击“确认”。 2连接并插入记录 2.1连接数据库并创建数据库表格 1.在工程浏览器窗口“数据库\数据词典”中定义一个内存整型变量: 变量名:DeviceID 变量类型:内存整型 2.在工程浏览器窗口的“命令语言\应用程序命令语言\启动时”窗口输入 命令: SQLConnect( DeviceID, "dsn=yuan;uid=;pwd="); SQLCreateTable( DeviceID, "biaoge1", "muban1" ); 命令语言中的“yuan”为前面配置的数据源的名称。 3.在工程浏览器窗口的“命令语言\应用程序命令语言\停止时”窗口输入 命令: SQLDisconnect( DeviceID);

组态王教学-历史数据查询例程

组态王历史数据查询例程 配置参考文档 — 北京亚控科技发展有限公司 技术部 [

目录 一、功能概述 .............................................................................................. 错误!未定义书签。 一、功能概述 .............................................................................................. 错误!未定义书签。 二、工程实例 .............................................................................................. 错误!未定义书签。@ 三、操作步骤: .......................................................................................... 错误!未定义书签。 1、定义设备: ................................................................................................ 错误!未定义书签。 2、定义变量: ................................................................................................ 错误!未定义书签。3.制作画面: ................................................................................................ 错误!未定义书签。 创建报表: ................................................................................................ 错误!未定义书签。 命令语言: ................................................................................................ 错误!未定义书签。 4.进入运行系统:.......................................................................................... 错误!未定义书签。 四、注意事项 .............................................................................................. 错误!未定义书签。 图表 ) 图一报表 .................................................................................................... 错误!未定义书签。 图二报表设计 ............................................................................................ 错误!未定义书签。 图三历史数据报表 .................................................................................... 错误!未定义书签。 图四快捷菜单 ............................................................................................ 错误!未定义书签。 图五按钮属性 ............................................................................................ 错误!未定义书签。 图六按钮属性 ............................................................................................ 错误!未定义书签。 图七动画连接 ............................................................................................ 错误!未定义书签。 图八选择函数 ............................................................................................ 错误!未定义书签。 图九命令语言 ............................................................................................ 错误!未定义书签。 图十打印报表 ............................................................................................ 错误!未定义书签。 ` 图十一历史数据查询画面......................................................................... 错误!未定义书签。 图十二报表属性 ........................................................................................ 错误!未定义书签。 图十三时间属性 ........................................................................................ 错误!未定义书签。 图十四变量属性 ........................................................................................ 错误!未定义书签。 图十五变量顺序设置 ................................................................................ 错误!未定义书签。 图十六历史数据查询 ................................................................................ 错误!未定义书签。 图十七报表打印 ........................................................................................ 错误!未定义书签。

关于组态王数据库绘制曲线的方式

关于组态王历史曲线的绘制 在作项目中,常常遇到需要查看工程的历史数据图和历史曲线。 在使用组态王的过程中遇到了以下问题。 问题;工程要求要能查找历史数据和查看历史曲线。组态王内置历史曲线可以绘制,但数据不能第三方访问。且历史数据记录不能停止。 要绘制历史曲线,首先要有历史数据,组态王本身有历史数据库。也可使用第三方数据库。 组态王自己的历史数据库不开放(只可用函数语句表另存为),第三方不能访问。 第三方数据库是微软的access数据库或者是SQL sever 数据库等。 在测试access数据时发现。组态王保存的历史数据在绘制历史曲线调用时,有个日期时间格式的数据需要选取。但在数据库里边没有符合这个格式的选项。 经查看发现组态王合成的日期时间格式在access里是字符串(文本)格式,不符合datetime格式。于是手动更改为datetime格式,组态王可以调用历史数据绘制曲线了。但数据又不能插入了。测试失败。 方法1.在SQL several数据库中同时插入两个一摸一样的表格,表格1插入数据,表二在表1插入时同时插入数据并转换数据格式,然后在历史曲线控件里调用。 在表格1调用触发器,然后再插入数据到表格2,同时更改日期时间字符串为datetime格式,直接在组态王历史控件里调用即可。 create trigger myinserta on MODE for insert as declare @a char(15),@b int,@c char(8),@d char(10),@e char(24),@f int,@g int,@h int,@i int,@j int,@k int,@l int,@m char(10); select @a=工件号编码,@b=序号,@c=时间,@d=日期,@e=DATATIME,@f=毫秒,@g=轨顶温度,@h=轨顶温度,@i=轨低温度,@j=轨低温度,@k=喷风温度,@l=喷风压力,@m=用户FROM INSERTED INSERT INTO MODE1 values (@a,@b,@c,@d,@e,@f,@g,@h,@i,@j,@k,@l,@m); 上面第一个触发器定义中间变量和数据长度和格式,定义的格式应当和组态王模板设定的长度和数据类型一致。 下面的触发器在每次插入触发时更改DATATIME列的格式为datetime日期时间格式。 create trigger STTTOTIMEa on MODE --(//记录体名称) ALTER TABLE MODE1 ALTER COLUMN DATATIME datetime; 方法2还是使用SQL several数据库。 在定义组态王模板时定义一个内部空变量,定义类型为long,长整型。随模板一起插入,在组态里,转换DATATIME字符串为datetime日期时间格式,并赋值给定义的长整型(long),在组态历史控件里就可以调用了

组态王日报表例程

组态王日报表的实现例程 配置参考文档 北京亚控科技发展有限公司 技术部 目录 一、功能概述 (2) 一、功能概述 (2) 二、工程实例 (2) 三、操作步骤: (2) 1、定义设备: (2) 2、定义变量: (2) 3.制作画面: (3) 3.1) 创建报表: (3) 3.2) 创建日历控件: (5) 4.进入运行系统: (11) 四、注意事项 (12) 图表 图一报表 (4) 图二报表设计 (4) 图三日报表 (5) 图四日历控件 (6) 图五控件事件函数 (9) 图六保存报表 (9) 图七打印报表 (10) 图八打印报表 (10) 图九运行系统 (11) 图十打印预览 (12)

一、功能概述 常规需求:很多工业现场会用到报表功能,而日报是其中最基本的一种报表形式。 日报表一般为每天整点的数据,每一个变量有24个数据。 组态王中的实现方法: 利用组态王内置报表以及报表的函数来实现对日数据的查询生成日报表。 组态王内置报表的操作类似excel,操作简单、方便,并且组态王提供了大量的报表函数来实现各种复杂功能。 二、工程实例 我们举一个例子来说明日报表的实现方法。在此例程中我们定义五个变量,分别为“压力”、“温度”、“密度”、“电流”、“电压”,运行系统运行后记录历史数据,查询日报表数据时自动从历史数据中查询整点数据生成报表,并可以保存、打印报表。下面就以此为例来演示完成这一要求的具体步骤。 三、操作步骤: 1、定义设备: 根据工程中实际使用得设备进行定义,本例程使用亚控的仿真PLC设备,使用“PLC-亚控-仿真PLC-串口”驱动,定义设备名称为”PLC”。 2、定义变量: 在组态王中定义三个变量:压力(IO实数类型)、温度(IO实数类型)、密度(IO实数类型)。压力变量:最小值0,最大值100,最小原始值0,最大原始值100,连接设备PLC,寄存器INCREA100,数据类型short,读写属性为只读,采集频率1000。记录和安全区选择“数据变化记录”,变化灵敏度选择“0”。 温度变量:最小值0,最大值50,最小原始值0,最大原始值100,连接设备PLC,寄存器DECREA100,数据类型short,读写属性为只读,采集频率1000。记录和安全区选择“数据变化记录”,变化灵敏度选择

组态王连接Accesss大数据库与历史曲线显示

我是依据组态王帮助文件里面的案例,不过我写的会更详细! 以某工业现场应用为例,需要对原料进行称量,并记录原料的生产厂家、原料编号、称量日期、称量时间,值班人员、原料重量。针对这种关系数据,使用组态王的历史库是无法记录的,因此我们使用关系数据库Access 进行记录。下面就以此为例来演示完成这一现场需求的设置步骤。 操作步骤: 1、新建数据库以及表: 1.1)在Access 中新建一个空数据库,例如建立路径为:D:\数据库存储例程\数据.mdb。 1.2)在数据库D:\数据库存储例程\数据.mdb 中创建一个数据表:表的名称为:原料数据。字段为:称量日期、称量时间、原料重量、原料厂家、原料编号、值班人员、datetime(这个变量是我自己需要历史曲线用的)。如下图所示:(下面的值是我测试的) 其中原料重量字段类型为“数字”设置为“单精度”,datetime设置为日期/时间默认值改为now()。其余为“文本”类型。(这里默认的视图是数据表视图,要切换到设计视图,如图所示:)

在这下面设置字段大小为单精度型,小数位数为2(这个按自己需求设置位数)。 2、设置ODBC 数据源: 2.1) 在“控制面板”-----“管理工具”----“ODBC 数据源”中建立ODBC 数据源,点击“ODBC数据源”弹出“ODBC 数据源管理器”,如下图所示:(这里注意的是如果系统是64位系统的话,则打开C:\Windows\SysWOW64\odbcad32.exe)

2.2) 在“用户DSN”中点击“添加”,弹出“选择数据源驱动程序”窗口,如下图所示:选择“Microsoft Access Driver (*.mdb)”驱动,点击“完成”。弹出如图所示窗口,填写ODBC数据源的名称,根据需要对数据源进行命名,如“数据”,点击“选择(S)”,如图所示,选择我们前面定义的数据库文件“D:\数据库存储例程\数据.mdb”。点击“确定”完成ODBC 数据源的定义,如图所示。其他数据库如SQLServer 的ODBC 定义请参考相关文档。

组态王 实例

一、概述 组态王软件结构由工程管理器、工程浏览器及运行系统三部分构成。工程管理器:工程管理器用于新工程得创建与已有工程得管理,对已有工程进行搜索、添加、备份、恢复以及实现数据词典得导入与导出等功能。工程浏览器:工程浏览器就是一个工程开发设计工具,用于创建监控画面、监控得设备及相关变量、动画链接、命令语言以及设定运行系统配置等得系统组态工具。运行系统:工程运行界面,从采集设备中获得通讯数据,并依据工程浏览器得动画设计显示动态画面,实现人与控制设备得交互操作。 通常情况下,建立一个应用工程大致可分为以下六个步骤: 1.创建新工程为工程创建一个目录用来存放与工程相关得文件。 2.定义硬件设备并添加工程变量添加工程中需要得硬件设备与工程中使 用得变量,包括内存变量与 I/O 变量。 制作图形画面并定义动画连接按照实际工程得要求绘制监控画面并 使静态画面随着过程控制对象产生动态效果。 4.编写命令语言通过脚本程序得编写以完成较复杂得操作上位控制。 进行运行系统得配置对运行系统、报警、历史数据记录、网络、用户 等进行设置,就是系统完成用于现场前得必备工作。 6.保存工程并运行完成以上步骤后,一个可以拿到现场运行得工程就制 作完成了。 接下来我将建立一个反应车间得监控中心。监控中心从现场采集生产数据,以动画形式直观得显示在监控画面上。监控画面还将显示实时趋势与报警信息,并提供历史数据查询得功能,完成数据统计得报表。将实时数据保存到关系数据库中,并进行数据库得查询等。 二、建立一个新工程 一) 建立一个新工程 点击“开始”---〉“程序”---〉“组态王 6、5”---〉“组态王6、5”(或直接双桌面上组态王得快捷方式),启动后得工程管理窗口如图2-1 所示: 图2-1 图2-2 新建:单击此快捷键,弹出新建工程对话框建立组态王工程。点击工程管 理器上得“新建”,弹出“新建工程向导之一”,接下来一直按下一步直到点 击完成后会出现“就是否将新建得工程设为组态王当前工程”得提示,选择 “就是”即可新建一工程如图2-2: 二) 工程浏览器

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

组态王通过数据库实现数据的采集与输出 The Standardization Office was revised on the afternoon of December 13, 2020

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

打开控制面板→管理工具→数据源(ODBC),弹出“ODBC数据管理器”,在用户DSN标签下,点击添加 弹出“创建数据库源” 选择此创建数据库源完成后弹出“ODBC Access 安装”

输入数 选择之前 确定完成。 三、组态王内部设置 1. 新建变量 在数据词典中创建本地变量,,变量名称分别为日期时间、DeviceID、nReturnValue。

2. 打开到组态王工程浏览器,新建记录体 创建名为“历史记录”的记录体 3. 创建事件命令语言 点击创建,弹出事件命令语言对话框 事件描述为:(((\\本站点\$分)%10==0)&&((\\本站点\$秒-1)%60==0))==1 输入记 字段名称要与数据库中 添加数据词典 显示已增

相关文档
最新文档