ImageVerifierCode 换一换
格式:DOC , 页数:4 ,大小:66KB ,
资源ID:3501909      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-3501909.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(RSview数据报表.doc)为本站会员(sk****8)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

RSview数据报表.doc

1、1 引言作为组态软件,罗克韦尔 RSView32 提供了强大的数据监控能力,方便用户进行上位机的画面组态。由于RSView32 并没有提供强大的报表功能,如果只进行简单的数据分析,报表变化不是很复杂,并且对数据可移动性无太高要求,组态软件可实现。然而一旦涉及到复杂的数据处理,组态软件往往表现得力不从心。但是 RSView32 内嵌有 VBA,VBA 是 Visual Basic for Application 的简写,它以 VB 语言为基础,经过修改并运行在 Microsoft Office 的应用程序。只要使用 VBA 进行简单的编程便可以实现大多数报表功能了。在 PLC计算机监控系统中,界

2、面设计通常组态软件来实现。2 开发环境及数据记录格式简介RSView32 是 RockWell SoftWare 公司的组态软件,它提供集成的、组态化的人机接口,广泛的用来监视和控制自动化设备和过程。它除了可以方便的与 ALLEN -BRADLEY PLC 进行无缝的结合应用,也可以通过使用 OPC 的通讯方式与其它公司的设备进行连接。ODBC(Open Database Connectivity 开放式数据库互连)是由微软推出的工业标准,一种开放的独立于厂商的 API 应用程序接口,可以跨平台访问各种个人计算机、小型机以及主机系统。ODBC 作为一个工业标准,绝大多数数据库厂商都为自己的产品

3、提供了 ODBC 接口或提供了 ODBC 支持,这其中就包括常用的 SQL SERVER、ORACLE、INFORMIX 等,当然也包括了 Access。RSView32 的数据记录是一个在特定条件下保存指定的标记数值或数据的过程。在“数据记录设置”编辑器里,可以创建定义不同条件的数据记录模式,本文将数据通过 ODBC 接口存储到数据库 Access 里,即将标记值被记录到用 ODBC 接口连接到的数据库 Access 的三个表格里:标记表格(TagTable):把标记名存储到一个索引里;符点数表格(FloatTable):存储模拟量和开关量标记数值;字符串表格(StringTable):存储

4、字符串数值。本文中关心的是符点数表格(FloatTable),但在符点数表格中(FloatTable)没有代表标记名称的 Tagname字段,代替它的是标记索引号 TagIndex 字段,这样在分析报表时很不方便,而在本文中将使用 VBA 解决表格带来的不便。3 实现原理 RSView32 从 PLC 采集的实时数据,通过 ODBC 接口存储到数据库 Access 中,在利用 RSView32 自带的 VBA开发,访问 Access 数据库,对实时数据进行复杂的操作,可以通过 VBA 调用 Excel,显示和打印出美观复杂的报表;也可以在通过 VBA 的窗体,表格控件,回显在 RSView32

5、 的人机界面上,作到无缝连接;本文介绍前一种方法。通过 Excel 可以用 VBA 程序生成 Excel 报表及图表,并利用 Excel 的功能完成打印预览、打印等功能;Excel 对象封装了微软 Excel 的全部元素,例如 Application 对象表示 Excel 应用程序,Worksheet 对象表示 Excel 工作表等,利用 Excel 对象提供的属性、方法和事件,在应用程序中生成 Excel 报表及图表Excel 对象模型描述了 Excel 中对象之间的结构关系,如图 1 所示。图 1 EXCEL 对象模型(1) Application 对象表示 Excel 应用程序,在 Ex

6、cel 对象模型中该对象处于模型的顶端,通过使用可以访问模型中其它对象,从而控制 Excel 应用程序的外观或功能。(2) Workbook 对象表示 Excel 中的工作簿,即对应一个 Excel 文件,通过使用该对象可以实现对 Excel工作簿的各种控制。(3) Worksheet 对象表示 Excel 中的工作表,通过使用该对象可以实现对 Excel 工作表的各种控制。(4) Range 对象表示 Excel 中的区间,可以表示 Excel 的单元格、几个单元格、行、列或一个选中的区域,使用 Range 对象可以实现对 Excel 单元格或选中区域的各种控制。4 应用实例Microsof

7、t Office EXCEL 有十分强大报表功能,使用 VBA 便可以非常方便地调用 EXCEL 的功能来生成我们所需的报表。下面将详细介绍如何使用 VBA 通过 EXCEL 来生成当日的报表。解决方案框图如图 2 所示。图 2 解决方案框图4.1 打开 EXCEL为了使用 EXCEL 为我们生成报表,我们必须事先打开 EXCEL,下面的 VBA 语句显示了如何在 RSView 中打开EXCEL。 创建 EXCEL 对象Set objExcel = CreateObject(“Excel.Application“) 设置 EXCEL 的属性With objExcel显示 EXCEL.Appli

8、cation.Visible = True创建新的工作簿. Application.Workbooks.AddEXCEL 生成报表后全屏显示. Application.WindowState=-4137激活一个第一个工作表.Worksheets(“Sheet1“).Activate定义列宽. Columns(1).ColumnWidth = 23.Columns(2).ColumnWidth = 15. Columns(3).ColumnWidth = 17.Columns(4).ColumnWidth = 15.Columns(5).ColumnWidth = 17每列的内容居中显示For

9、nColumn = 1 To 5objExcel.Columns(nColumn).HorizontalAlignment= -4108 -4108=xlCenterNext nColumn定义 EXCEL 表的列名.Rows(1).Font.Bold = True.cells(1, 1).Value = “Data and Time“.cells(1, 2).Value = “Ingred1/pv“.cells(1, 3).Value = “Ingred1/sup_pv“.cells(1, 4).Value = “Ingred2/pv“.cells(1, 5).Value = “Ingred

10、2/sup_pv“End With4.2 数据读出的步骤建立与数据库的连接,从中读出我们所需要的数据来填充我们的报表,下面的代码实现了这样的功能,把采集到的时间写入 EXCEL 的第一列中; “Ingred1/pv“、“Ingred1/sup_pv“、“Ingred2/pv“和“Ingred2/sup_pv“的数据写入 EXCEL 的第二、三、四和五列中。(1) 建立与数据库的连接Set conn = New ADODB.Connectionstr = “FileDSN=db.dsn;“conn.Open strSet rs = New ADODB.Recordset采集当日的数据SQL=”s

11、elect DateAndTime, Millitm from FloatTable where datediff(d,DateAndTime,date()=0”rs.Open SQL, conn(2) 读取符点数表格(FloatTable)中的数据Do While Not rs.EOFnColumn = 0 表中的第 1 列b(i) = Trim(rs.Fields(nColumn).Value)nColumn = 1 表中的第 2 列a(i) = Trim(rs.Fields(nColumn).Value)i = i + 1rs.MoveNextirow = irow + 1Loop(3)

12、 将数据写到 EXCEL 表中j = 2y = 1Do While y inColumn_excel = 1 EXCEL 的列objExcel.cells(j, nColumn_excel).Value = b(y)objExcel.cells(j, nColumn_excel).numberformatLocal = “yyyy-m-d h:mm:ss“For nColumn_excel = 2 To 5objExcel.cells(j, nColumn_excel).Value = a(y)y = y + 1Next nColumn_excelj = j + 1Loop最后在 RSView32 中通过 RSView32 函数调用 VBA 程序,利用 VBA 与 EXCEL 结合编程,实现了生成当日报表的功能。5 结束语本文例中将 RSView32 采集的数据通过 ODBC 接口存储到数据库 Microsoft Access 中,并利用 RSView32 自带的 VBA 编辑器导入到 EXCEL 中,并给出表单形式的数据报表;用同样的方法,也可生成柱状图等形式的报表,可根据具体需要编制相应的程序来实现,可作为低成本的报表实现方法,方便了操作与生产。

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。