FactoryTalk View SE数据记录小论文

上传人:大米 文档编号:508298540 上传时间:2023-11-11 格式:DOCX 页数:3 大小:38.08KB
返回 下载 相关 举报
FactoryTalk View SE数据记录小论文_第1页
第1页 / 共3页
FactoryTalk View SE数据记录小论文_第2页
第2页 / 共3页
FactoryTalk View SE数据记录小论文_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《FactoryTalk View SE数据记录小论文》由会员分享,可在线阅读,更多相关《FactoryTalk View SE数据记录小论文(3页珍藏版)》请在金锄头文库上搜索。

1、题目作者(作者单位)摘要:FactoryTalk View SE是Rockwell Automation公司推出的监控组态软件,它可以用映射 工厂和过程的方式来分配应用项目的各个部分,在数据监控,画面显示等方面具有强大的功 能,然而在数据报表、处理方面却表现出弱点。利用其内嵌的VBA可以扩展软件功能。本 文结合FactoryTalk View SE内嵌的VBA,调用Excel,读取软件通过ODBC接口记录到Access 中的数据,然后生成报表。关键词:报表;Excel; VBA; FactoryTalk View SE AccessTopicAuthor(The unit of author)

2、Abstract:Rockwell Automation FactoryTalk View SE is launched to monitor configuration software, It can map plant and process to distribute applications in various parts of the project, the data monitoring, the screen display has a powerful.However, data reporting, processing has shown weakness. VBA

3、using its embedded software functionality can be extended. This paper FactoryTalk View SE embedded VBA, called Excel, read the software interface to record through the ODBC to Access the data, then generate reports.Keyword:reports;Excel;VBA;FactoryTalk View SE;Access1、引言FactoryTalk View Supervisory

4、Edition 是 Rockwell Automation公司组态软件,是与公 司自动化产品结合最佳的可视化软件产品, 提供了强大的数据监控能力,方便用户进行 上位机的画面组态。FactoryTalk View SE内 嵌 VBA,它为自定义及扩展 FactoryTalk View SE功能提供了完整的开发环境。FactoryTalk View SE和其他组态软件一 样,本身报表生成、处理能力比较弱。为了 实现数据报表功能,本文使用 FactoryTalk View SE内嵌的VBA,与Excel相结合,利 用 Excel 强大制表功能,实现数据报表功能。2、实现原理通过日志模型设置, Fac

5、toryTalk View SE从PLC采集实时数据,通过ODBC接口 存储到 Access 数据库中,利用 FactoryTalk View SE内嵌的VBA开发,访问Access数据库,调用Excel,将Access数据库中的数 据读取到Excel 中,在进行处理,形成报表。系统解决方案框图如图1 所示:图 1 报表解决方案框图3、Excel 对象模型Excel 对象封装了 Microsoft Excel 的全 部元素,利用 Excel 对象提供的属性、方法 和事件,就可以在应用程序中生成Excel报 表1。Excel 对象模型描述了 Excel 对象之间 的结构关系,如图 2 所示:图

6、2 Excel 对象模型(1)Application 对象Application 对象表示 Excel 应用程序, 在 Excel 读象模型中该对象处于模型的顶 端,通过使用 Application 对象可以访问模型 中其他对象,从而控制 Excel 应用程序的外 观和功能。(2)Workbook 对象Workbook对象表示Excel中的工作簿, 即对应一个 Excel 文件,通过使用 Workbook 对象就可以实现对 Excel 工作簿的各种控 制。(3) Worksheet对象Worksheet对象表示Excel中的工作表, 通 过 使用 Worksheet 对象 就 可以 实现 对

7、Excel 工作表中的各种控制。( 4) Range 对象Range 对象表示 Excel 中的区间,可以 表示Excel中的单元格、几个单元格、行、 列或一个选中的区域,使用 Range 对象可以 实现对 Excel 单元格或选中区域的各种操 作。4、应用实例本文通过读取系统标签中的年、月、日、 时、分、秒,在报表中体现出记录日期和数 值。下面将具体介绍如何实现报表。(1)将 Excel、Access 对象库加载到当 前 VBA 程序中为了能够在程序中调用Access数据库 以及 Excel 对象,为 Access 与 Excel 连接、互相嵌入使用做准备,必须在 VBA 程序中加载 Exc

8、el、 Access 对象库。在 VBA 编程环境下,单击“ Tools”菜单中的“Reference”命令,在弹出的对话框汇中选 中 Microsoft Access 11.0 Object Library 和 Microsoft Excel 11.0 Object Library 两项,点 击“确定”后退出,这样就完成了 Excel、 Access 对象库在 VBA 程序中的加载2。(2) 打开Excel模型为了使用Excel生成报表,必须事先打 开 Excel 模型,新建一个 Excel 文件用以存 储从 Access 数据库中读取的数据,并使用 Excel 对象的属性和方法完成报表的设

9、计, 从而形成我们所需要的报表。下面的 VBA 程序语句实现了在 FactoryTalk View SE 中 打开 Excel 的方法。创建 Excel 对象Set objE = CreateObject(Excel.Application) 设置 Excel 属性With objExcel 显示 Excel .Application.Visible = True 创建新的工作簿 .Application.workbooks.Add 激活第一个工作表Sheetl .worksheets(Sheet1).Activate给每一列数据添加表头 .Cells(l, 2).Value = 日期 .Ce

10、lls(l, 3).Value = 秒 .Cells(l, 4).Value = 年 .Cells(l, 5).Value = 月 .Cells(l, 6).Value = 日 .Cells(l, 7).Value = 时 .Cells(l, 8).Value = 分(3) 创建ADO对象访问数据库在与 Access 数据库连接中, Excel 有 Automation、Data Access Objects (DAO)以 及 ActiveX Data Object(ADO)三种方法, 最新的,最建议用的建立对 Access 数据库 的链接方法是使用 ActiveX Data Object (

11、ADO) 3,本文采用了这种链接到Access 数据库的方法。首先必须先设置对微软 ActiveX 数据对象 2.5 库或者更高版本的引 用,与加载 Excel、 Access 对象库一样,将 Microsoft ActiveX Data Objects 2.5 Library 或更高版本加载到 VBA 程序中来,编写下 列程序创建 ADO 的 Connection 对象建立与 数据库的链接。Set cn1 = CreateObject(adodb.connection)(4) 读取数据库实际地址在读取数据库实际地址时候,需要编写 数据库的驱动程序,本系统中数据库驱动程 序采用的是 micro

12、soft access driver (*.mdb), 并且将通过 ODBC 接口存储的数据库存放 于E盘datalog目录下,因此该步骤的VBA 程序如下3: cn1.open driver=microsoft access driver (*.mdb);DBQ=E:datalog(5) 获取 Access 数据通过 FactoryTalk View SE 数据日志记 录的历史数据,在数据库中的FloatTable总 记录了一下几种数据: DateAndTime 、 Millitm、Tagindex、Val、Status,因此我们 需要从这些数据中选取有用数据进行报表 输出,结合Excel对

13、象属性以及设置SQL语 言的查询命令,按照不同的需要编写相应的 SQL语句用来实现选择我们所需要的数据, 本系统需要的 FloatTable 中的 DateAndTime 和Val两列数据。下面VBA程序实现了从 Access 获取历史数据的功能。创建游标Set rs = CreateObject(adodb.recordset) 设置 SQL 语言查询命令,扫描 FloatTable 中的所有数据,以便后面程序能够正确读取 数据sql = select * from FloatTable打开游标rs.open sql, cn1将 FloatTable 中的 DateAndTime 一列写入

14、Excel中的第一列,Val 列写入Excel中的 第二列i = 1Do While Not rs.EOF objE.Sheets(1).Cells(i, 1) = rs(DateAndTime) objE.Sheets(1).Cells(i, 2) = rs(Val) rs.MoveNext i = i + 1Loop 这样实现了从 Access 数据库读取数据到 Excel 中的功能。(6)在Excel完成行列转换由于在 Microsoft Access 记录文件中, 文件记录方式为行记录方式,在形成报表的 时候需要将其转化成列记录方式, 在 Excel 进行行列转换非常简单,只要在Exc

15、el中C1 单元格输入公式:C1=INDIRECT(“B”&6*(ROW()-1+COLUM N()-1)本文记录数据为6 个,在公式中数字为 6,表示每六个数形成一行,该数根据实际需要改变。然后再将鼠标拖至H1,然后将C1:H1 往下拖即可实现利用 Excel 数据报表功能。完成后报表如图13 所示:BCDEF1日期秒年月日22010-5-2952201052932010-5-293201052942010-5-293201052952010-5-2913201052962010-5-2923201052972010-5-29000082010-5-2932201052992010-5-2902010529102010-5-29102010529112010-5-29202010529122010-5-29302010529132010-5-29402010529142010-5-29502010529152010-5-2902010

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号