rsview32和SE报表总结
罗克韦尔RSVIEW32、SE万能报表开发经验

罗克韦尔RSVIEW32、SE万能报表开发经验1引言随着罗克韦尔工业自动化软件在自动化行业应用日益广泛,工控最终客户对报表的要求也越来越详细,越人性化。
在这篇文章以前,已经有很多工程师、教授发表了通过rsview32和rsview se自带的vba来实现报表功能,但要求开发工程师对vb有一些基本的了解,用起来复杂,不具有通用、易用性。
本文根据实例来演示自己开发的vba万用报表,使读者可以直接上手,不再为报表设计而发愁。
2应用实例分析本文以rsview 32做演示(rsview se道理一样)。
首先我们要确定将数据记录存到硬盘哪个分区,例如,我想将数据存储到d盘aaa文件夹下,那么我们现在d 盘建立一个aaa文件夹,并在文件夹中建立我们的excel数据模板,并命名为model:(如图1所示)图1excel数据模板模板建立好以后需要设置所需的内容,大家可以根据自己需要任意设置,下面是举例的设置:(如图2所示)图2内容设置模板建立完毕后保存一下,就可以关上模板。
其次把rsview32的vba打开,也是最关键的一步,然后黏贴万能代码,看起来代码很复杂,其实只需要修改3步,即可:sub excel()dim xlapp, xlbook, xlsheet as objectset xlapp = createobject("excel.application")set xlbook = xlapp.workbooks.open("d:\aaa\model.xls")这里修改成我们所需的存储存储路径,也是刚才建立模板的路径set xlsheet = xlbook.worksheets("sheet1")这里对应的是excel中的名称(如图3所示)如果默认,无需修改图3 excel中的名称dim ai as stringai = format(now, "yyyy-mm-dd hh-mm")set a = gtagdb.gettag("zsh\pt120")set b = gtagdb.gettag("zsh\pt130")set d = gtagdb.gettag("zsh\ta")set e = gtagdb.gettag("zsh\tt120")set f = gtagdb.gettag("zsh\tt130")set g = gtagdb.gettag("zsh\tt121")set h = gtagdb.gettag("zsh\tt131")set i = gtagdb.gettag("zsh\tt001")set l = gtagdb.gettag("zsh\t1")set m = gtagdb.gettag("zsh\t2")set n = gtagdb.gettag("zsh\t3")set o = gtagdb.gettag("zsh\t4")set p = gtagdb.gettag("zsh\t5")set c = gtagdb.gettag("zsh\at100")set k = gtagdb.gettag("zsh\ljxfl")上面所述的set *= gtagdb.gettag(*******)是将报表需要的数据建立起来,例如:set a = gtagdb.gettag("zsh\pt120")这句的意思是需要的a数据来源于rsview32标记数据库下zsh文件夹下的pt120标签。
组态软件RSView32中用VBA实现报表的方法

3应用实例
M irs f O fc x e 有十 分 强 大 的 报 表 功 能 , co ot fie E c l
作 者 简介 :苗 苗 ( 9 2 ) 1 8 一 ,女 ,硕士研 究生 在读,主 要从
事工业过程 控制 、智 能控 制 方 面的研 究。
2 0 年 1 期 四圆 06 2
Ac e s 3 表 格 里 [: cs 的 个 0 】
( )A pi t n 1 p l ai 对象表示 E c l c o x e 应用程序, E cl 在 xe 对 象模 型 中该 对 象处 于模 型 的 顶端 , 通过 使 用 可 以 访 问模 型 中其 它对 象, 从而 控制 Ex e 应 用程序 的外 Cl
维普资讯
组 态 软 件
组态软件 R Viw3 l VB S e 2【 用 】 A
实瑰报袁的方法
苗 苗 , 朱 秀 慧 , 王 海 。 -
( . 山科技 大学 ,辽 宁 鞍 山 1 0 4;2. 山海 汇 自动 化有 限公 司 ,辽 宁 鞍 山 l 4 4 1鞍 4 4 l 鞍 l 0 4)
据监 控能 力, 方 便用 户 进 行上位 机 的画面 组 态, 但
是 它并没 有提 供 强 大的报 表功 能, 如 果只 进 行简 单
带 的 VB 开 发,访 问 Ac e s A c s 数据 库,对 实 时数据 进行 复杂 的操作,可 以通 过 VBA调 用 E C l x e ,显 示
4 9
维普资讯
没有代 表标记名称 的 T g a a n me字段, 代替 它的是标 记 索引号 T g n e a l d x字段,这样 在分析报表 时很不方 便 ,故在 本 文 中将使 用 VBA 解 决这 个 问题 。
组态RSView32数据记录

组态RSView32数据记录RSView32有着强大的数据记录(Data Log)功能,用于实现数据的存储。
所谓数据记录就是一个在特定条件下保存指定的标签(或数据)的过程。
在“数据记录设置(Data Log Setup)”编辑器里,可以创建不同设置的数据记录模式。
标签(或数据)可以存储为.DBF (dBase IV)格式或ODBC 格式。
注意事项:●一个项目最多可以同时运行20 个数据记录模式,记录10,000个标签。
●.DBF (dBase IV)格式中,一个的窄数据记录模式最多可以记录10,000 个标签,一个宽数据记录模式最多可以记录100 个标签。
●RSView32根据创建文件的日期和所包含的数据类型自动命名文件。
在有其他信息记录时,每种记录类型每天最多可以创建26个记录文件,在仅记录数据时,采用长文件名,每天最多可以创建9999个记录文件。
数据记录的主要用途如下:●在一个趋势图里显示历史数据●通过任何支持ODBC 标准或DBF文件格式的第三方软件分析或显示数据,如Microsoft Excel 和RSTrend●数据存档以备以后分析计算设置一个数据记录模式需要指定存储格式、记录路径、触发条件、创建删除记录文件的模式以及该模式所要监视的标签值。
设置数据记录模式1 启动“项目管理器(Project Manager)”里的“数据记录设置(Data LogSetup)”编辑器。
2 在设置(Setup)、路径(Paths)、文件管理(File Management)、记录触发(Log Triggers)和模式中的标记(Tags in Model)选项卡里分别定义模式的各个属性。
3设置完后,单击“OK”保存该模式,在“另存为”对话框里键入模式名后,点击“保存”完成一个数据记录模式的设置。
“数据记录设置”编辑器主界面如图1所示:图1 数据记录设置编辑器窗口1、数据记录设置为了进行数据记录,我们按照所记录数据的类型、特点以及其它性质进行归类,把相同的一类数据记录标签集中在某一个数据记录模式中。
用VBA在RSView32中实现报表的方法

生产 情况尤 为 重要. 常见 的组 态 软件 , 然提 供 了数据 虽 监 控 能力 , 能够使 用 户进 行上 位机 的画面 组态 , 是并 但
没 有提 供强 大 的报 表 功 能 , 能进 行 简单 的数 据 分 ]只
析, 一旦 对数 据 的可 移 动性 要 求 较 高或 者 涉 及 到 复 杂
了重要作 用 .
有 相 似语 法 的脚 本 语 言 , VB 中开 发 的代 码 几 乎 可 在
不 加修 改 地 在 VB 中使 用 , 使 得 用 户 非 常 容 易 地 A 这
实 现各 种 复杂 的采 集 和 控 制任 务 ; 此外 , S e 2内 R Vi w3
嵌 的 VB A是 多 模 块 多 层 次 的 , 有 全 局 的 又 有 具 体 既 工程 的 , 使得 用户 开发 代 码 的长 度 显 著 减 少 且 层 次 这 清 晰 ; 有 完全 基 于对 象 的 开发 环境 . Vi 2每 一 ③ RS e w3 个组 态部 件 都被 认 为 是 一 个对 象 , 且 每 一 个 对 象都 并
关 键 词 : R Vi 2 VB 实 时数 据 ; 据 报 表 S e w3 ; A; 数 文献标 识码 : A
中图 分 类 号 : T 3 1 P 9
随 着 工 控 组 态 软 件 的 快 速 发 展 , 现 代 工 业 自 动 在
RS e 2软 件 , 以建 立 功 能 强 大 的 操 作 显 示 站 . Viw3 可 它
文 章 编 号 : 6 1 9 6 2 0 0 —0 4 —0 1 7 —6 0 ( 0 8) 4 0 9 4
用 VB 在 RS e 实现 报 表 的 方 法 A Viw3 2中
牛 正 光 , 五 一 , 东 云 张 王
RSView32

用 形库 。用 户也 可建立 自己的 图形 库 。作 图 时直 接将 图形对 象 拖人 视 图 中 即可 。 图形对 象 有其 对应 的属性 值 , 如位 置 、 色 、 转 、 颜 旋 可视 性 、 充等 , 填 在操
2 控 制 系 统 的工 作 界 面 设 计
R Ve3 S i 2可 以与 R cw l A t ao w ok e u m t n的其 他 产 l o i
^ 一
务 程序 , 过建 立 标签 (t , 之 与 需 监 控 的 IO 通 a g) 使 1 '
点相 关联 。R Ve 3 S i 2可 不 断 获取 或刷 新 标 签 数 据 , w
从 而 达 到控 制现 场设 备 的 目的。
1 2 图形 及动 画 . R Ve 3 S i 2提 供 了许 多 基 本 图 形 工 具 , 带 有 常 w 并
在 R Ve 3 S i 2内嵌人 了 V A编辑 器 。通过 现 时 w B 通用 的 V A语 言 可 以全 面定 制和 扩展 R Ve 3 B S i 2的 w 功能 , 得 R Ve 3 使 S i 2象 通 用 的 自动 化 软件 ( O w 如 F FC 自动 化 ) IE 那样 能 够 自我 调 整 以适应 各 种 应用 场 合。
dw 应 用 程 序 特 点 的 工 控 软 件 。 R Ve 3 os s i 2就 是 w R cw l A t ao ok el u m t n开 发 的用 于 控 制 系 统 组 态 和 监 o i 控 的 工 控 软 件 。 R Ve 3 S i 2运 行 于 Widw 9 / 8 w n o s5 9 / N / i 0 0 环 境 , 其 它 R cw l 件 产 品 、 i T wn 0 2 与 ok e l软 M. c sf 软 件 和 第 三 方 应 用 软 件 高 度 兼 容 , 用 r ot o 利
RSView32使用教程

问题:
1.标记监视器的作用及创建?
2.“标记”对话框的作用及使用
“停止项目”-系统-项目-Progectstop
所有标记值不管它们的源是什么都存储在数值表格里。
RSView32 的各个部分包括图形显示、标记监视文件、警报等都从这个表格读取数值。
警报汇兑里的按钮的设置在“格式”-“按钮”里
创建一个“警报汇总”文件
1 启动“项目管理器”里的“警报汇总”。
2 使用“插入”菜单,选择插入需要显示在“警报汇总”里的信息。
3 使用“格式”菜单中的选项设置“警报汇总”的外观并设置所需的按钮。
4 使用“数据”菜单指定哪些标记和警报信息要放到汇总里,排序的方法,以及设定与“执行”按钮相关的命令。
5 从“文件”菜单里选择“保存”,保存警报汇总。
6 键入一个文件名。
它将出现在“项目管理器”的右窗口。
query 报表开发总结

Query 报表开发总结Query 报表,即表的查询报表。
从表中读取行项目,按照用户要求的选择条件和清单显示。
Query 报表的取数源表如下几种:表可以是逻辑数据库(系统定义好的逻辑数据库,例如BAM会计凭证逻辑数据库、SDF 会计科目逻辑数据库);也可以是单独表,即从单独一个表中取数。
也可以是表与表之间的连接,例如采购发票抬头和采购发票行项目表。
前提是表和表之间要有连接关系。
表的连接关系分左连接和内部连接。
左连接是单边的,即只要连接左边的那个表能取到数,右边的表如果有对应的,那就能取到,如果没有对应的,则就不取。
如果是内部连接,必须是被连接的两个表同时符合查询条件,否则将无法查询到记录。
Query 创建的几个步骤:根据需求确定报表的取数源表;取数源表包括逻辑数据库和表。
逻辑数据库(T-Code:SE36),以下举例。
表(T-Code:SE11/SE16)创建查询功能区根据取数源表或源表的连接,建立功能区查询字段,必要时,可通过ABAP代码创建附加字段,并将查询功能区分配给用户组创建查询根据功能区创建的字段(包括附加字段)确定查询的选择条件字段和查询清单字段。
测试报表并传输如无问题,则传输到目标系统。
以会计凭证行项目查询清单开发为例。
Query 需求描述需要按业务范围查询凭证行项目清单,涉及到客户和供应商统驭科目的,不仅要列示统驭科目,还要列示供应商或客户编号。
取数源表和技术性分析:BSEG会计凭证行项目中业务范围数据不完整,例如系统自动计算税的行项目中业务范围字段为空,只有在总账行项目表FAGLFLEXA中业务范围字段才完整。
而FAGLFLEXA 表中无客户和供应商字段。
基于供应商和客户BA余额表开发的需要,建立了ZBA特殊目的分类账,可以解决这个问题。
所以取数源表基本上用ZBAA(行项目表),但是该表中没有对应的会计凭证号,ZBAA中有一个字段zbaa-AWTYP和BKPF表中一个字段bkpf-awkey 取数源基本相同。
RSView32命令集最终版

AcknowledgeAcknowledge [tag_name]确认一个或一组报警。
此命令不能对已经执行的,但对执行过程中如有错误产生,可以显示出一条信息。
如有确认位同报警相关,确认报警会将确认位置位.[tag_name] 被确认的标签名称.可以是一个标签的名称或含有通配符的标签名称或[tag]文字字符串.如没有设定标签,此命令将确认最近的最严重等级的未确认的报警.[tag] 确认激活的图形显示中高亮对象有关的标签报警.注意:如果报警发生的速度很快,不要使用没有标签名称的Acknowledge命令, Acknowledge命令将可能对新报警进行确认而不是对用户打算确认的报警.举例: Acknowledge命令Acknowledge Hopper1\Flow确认所有对标签Hopper1\Flow的报警.Acknowledge Hopper1\*确认在文件夹Hopper1中的所有的标签的报警Acknowledge *确认所有报警Acknowledge [tag]确认在激活图形显示中高亮对象有关联的标签报警AcknowledgeAllAcknowledgeAll确认全部报警。
此命令比Acknowledge*命令运行速度快。
此命令不能对已经执行的,但对执行过程中有错误的可以显示出一条此命令中对信息。
如果报警有确认位,确认报警为,确认报警会将确认位置位。
此命令中对标签数量没有限制。
ActivityActivity打开活动记录设置(Activity Log Setup)编辑器ActivityBarOnActivityBarOn显示活动条用户第一奖活动条拖离原位,移动到屏幕的任何位置移动时先点中Clear和Clear All之间的位置,然后拖动鼠标。
点击标题条并拖动该条直到碰触到RSView32的状态条,就可以使活动条复位。
拖动活动条的一角或一边旧可以重新设置其尺寸。
ActivityBarOffActivityBarOff隐藏活动条ActivityOffActivityOff停止活动记录ActivityOnActivityOn启动活动记录ActivityViewerActivityViewer打开活动记录查看器(Activity Log Viewer)AlarmAlarm打开报警设置(Alarm Setup)编辑器AlarmLogOffAlarm Log Off停止报警记录AlarmLogOnAlarmLogOn启动报警记录AlarmOffAlarmOff停止报警监视此命令不能显示已经执行的,但对执行中有错误的可以显示出一条信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关于rsview32和SE中报表制作的总结
SE中报表可以使用VBAExc命令来直接调用vba代码,而SE中没有可以直接调用vba代码的命令,由于vba是实际那出发机制,需要使用画面、显示会对象的加载、变化、单击等事件来触发vba代码的执行。
写报表的步骤
日报
1.每天0:00生成空表(使用filecopy复制模板文件)。
2.每天每个小时第一分钟读取标签数据库的标签数据,填入当天的报表中。
注:将所有的日报表放在一张工作薄里面,省去写报表是重复执行不同的“打开-写-保存-关闭”操作,不容易出错。
月报
1.每月第一天0:00生成空表(使用filecopy复制模板文件)。
2.每天23:01读取当天报表中的汇总数据(平均值)填入月报表对应的天中。
年报
1.每年一月1号0:00生成空表(使用filecopy复制模板文件)。
2.每月最后一天23:01读取当月报表中的汇总数据(平均值)填入年报表对应的月中。
以上报表也可以使用第三方数据库存储运行时的实时数据,需要时再自动生成报表或者手动查询生成报表。
使用filecopy来复制模板比“打开模板-另存为报表”的效率更高,而且不会因为误动作导致修改模板内容及格式。
查看报表的步骤
1.选择报表类型(日报,月报,年报)
2.选择日期
3.查询,可以显示在webbrower控件中(office 2003及以下版本)或者直接打开excel表格。
Rsview32读取数据标签,常用方法有以下2种:
第一种:使用gtagdb对象的gettag方法例如:
With msexcel.Worksheets(2)
.Cells(i, 2).Value =Gtagdb.gettag("plc1\Fine\LET202\LEVEL").value
但该方法读取大量标签时比较慢,不推荐。
第二种:使用tags标签组对象,结合gTagDb对象QueryForTags方法,快速扫描标签值
Dim Plc1 As tags
‘将plc1文件夹下面的模拟量标签全部包含到plc1标签组中
Set Plc1 = gTagDb.QueryForTags("plc1\*", roIncludeAnalog)
‘快速扫描plc1文件夹下标签的值
Plc1.ScanOn roWait
With msexcel.Worksheets(2)
.Cells(1, 2).Value = Plc1.item("plc1\Fine\LET202\LEVEL").Value '1#细格栅液位差
End with
‘使用完plc1标签组内的标签值后推出扫描plc1
Plc1.ScanOff
该方法读取大量标签时比较快。
有时候发现application.qiut并不能完全退出excel程序,在程序的末尾加上Shell "taskkill /f /im excel.exe"语句可以结束掉excel.exe进程。
SE读取标签值得方法不同
步骤:SE中没有tags对象,但是TagGroup 对象的功能一样。
也没有scanon
1--SE中先创建TagGroup 对象
2--使用TagGroup对象的add方法对其添加标签并激活TagGroup。
3--后使用TagGroup对象的item方法读取TagGroup 中标签的值。
例如:
Dim WithEvents oGroup As TagGroup ‘通用部分声明
Sub aa()
If oGroup Is Nothing Then Set oGroup = Application.CreateTagGroup(Me.AreaName)
If Err.Number Then LogDiagnosticsMessage "Error creating TagGroup. Error: " & Err.Description, ftDiagSeverityError: Exit Sub
If Not oGroup Is Nothing Then
With oGroup
.Add "trend\LIT_601_Level" '二次处理
.Add "trend\LIT_701_Level"
End with
With msexcel.Worksheets(2)
.Cells(1, 2).Value = oGroup.Item("trend\LIT_601_Level ").value
.Cells(1, 3).Value = oGroup.Item("trend\LIT_601_Level ").value
End with
End if
End sub。