EXCEL在IFIX软件的报表实现.pdf_第1页
EXCEL在IFIX软件的报表实现.pdf_第2页
EXCEL在IFIX软件的报表实现.pdf_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

自 动 化 技 术与 应 用 2 0 1 1 年 第3 0 卷 第6 期 行 业 应 用 与 交 流 n du s t r ia l Ap pli ca t i on s an d Comm u n ica t io n s E X C E L在 I F I X软件的报表实现 巩伟 宋 勇江 黑龙江省科学院自动化研究所 黑龙江 哈尔滨1 5 0 0 9 0 摘 要 本文介绍 了一种将办公软 件 E XC E L与 I F I X实现数据报表的方法 利用 E XC E L和 I F I X软件对 OL E的支持 并结合 VB A脚 本语言 灵活的扩展 了 I F I X的报表功能 为在工业生产重要 的抄表工 作提供 了一个思路 关键 字 I F I X VB A E XC E L 报表 中图分类号 T P 3 l1 5 2 文献标识码 B 文章 编号 1 0 0 3 7 2 4 1 2 0 1 1 0 6 0 0 8 8 0 3 Re p o r t E x ce l So f t wa r e I mp l e me n t a t i o n i n I F I X GONG We i S ONG Y o n g ia n g A u t o m a t i o n I n s t it u t e o f He ilo n g j ia n g A ca d e m y o f S cin ce s H a r b i n 1 5 0 0 9 0 C h in a Abs t r a ct Th is a r t icle in t r o d u ce s a me t h o d wh ich co mb in e s o f f ice s o f t wa r e Ex c e l a n d I F1 X t o co mp le t e d a t a r e p o r t s u s e s EXCEL a n d I FI X s o f t wa r e t o s u p p o r t OLE An d co mb in e s w it h VBA S cr ip t in g la n g u a g e t o e x t e n d I F1 X f u n ct io n o f d a t a r e p o r t s fl e x ib e lly I t p r o v id e s a n id e a f o r imp o r t a n t me t e r r e a d in g in in d u s t r ia l p r o d u ct io n Ke y wo r d s I F I X VBA EXCEL r e p o r t s 1 引言 I F I X是分布式客户机 服务器 组态软件 其专注于 工 业相关 的生产控 制 通信 数据 库存储等 功能 而对 用户的另一报表需求支持不够 用户采用第三方软件如 水晶报表等对生产数据进行汇总 增加了成本 对用户 编程要求提高 而 E XC E L是用户最常用办公软件 由于 被 广泛 应用 所 以可方 便制 作各 种样 式 的报表 2 解决思路 O L E D B O D B C 数据源 F I X数据库 图 1 VB A对象关系 收稿 日期 2 0 11 0 2 2 8 8 8 I T e ch n i q u e s o f A l J I m 甜o n A p p I I F I X 与微软操作系统结合紧密 本身就将微软的 VB A脚本语言作为 自己组态环境的开发语言 并接支持 OL E自动化功能 开发程序相对 灵活 数据源 由 if ix完 成采集的 本身集成了纵多 P L C DC S厂家驱动 并切支 持 o p c 功能 能轻松得获取生产监控数据 最终有 F I X数 据库统一管理 I F I X数据库支持 VB A的读取操作 满足 了自动生成报表的前提条件 F I X数据库只支持 9 0天的 查询 虽然可以通过查询数据库的方法得到数据 也限制 了报表 的功 能 这 里采取 的是时 时采集数 据并且保 存到 报表的方法 报表生成代码已经集成在 if ix系统内 这样 建立了与数据无关的操作 代码会随I F I X启动运行 报 表生成不受限制 E x ce l对 V B A同时支持 利用 E x ce l功 能可根据需 要在 E x ce l报表模板 文件 中生成柱状 图 曲 线趋势图等 对 VB A程序稍作修改即可实现柱状图 曲 线趋 势图等多种形 式的报表 如 图 1 所示 Vis u a l B a s ic F o r Ap p lica t io n VB A 是基于Vis u a l B a s ic 发展而来 的 它们具有相似的语言结构 它保留了绝大部分 VB 的功能 使可编程应用软件得到完美的实现 它作为一种 通用 的宏语 言可被 所有的 Micr o s o f t可编程应用软件所 共享 为 自定 义功 能提供 了完整 开发环 境 经过 优化 行 业 应 用 与 交 流 n d u s t r ia l Ap p licat io n s a n d Commun i c at io n s 自动化技术 与应用 2 01 1 年第 3 0卷第 6期 V B A 专 门用于 0 f f i c e的各 应用程序 V B A 的项 目 P r o j e ct 仅由使用V B A的E x ce l Wo r d P o we r P o in t等 称为宿主 Ho s t 的 O f f ice 应用程序 A p p lica t io n 来调用 3 报表生成控制 报表分 类可分 为手动抄表 生产 报表统计 定时抄 表 记录事 件报表等 由于报表 的总类决定 了报 表的生 成条件都是不 同 I F I X组态软件支持调度功能如图 2 调 度是根据 外部事件或时问 日期执行 V B A脚本 I 1 并且 提供 了丰富的执行条件 常规 的报表生成可 以通过基 于 时间的调 度 而对于 报警 记录 人工抽样 的报表可 以通 过事件调度 当条件满足时 调度执行 VBA脚本完成数 据 写入报表 霉 图2 i f i x 事件调度 4 报表实现 4 1 报表模版控 制 企业 有 自己的报 表模 版 可 以根据 需 要灵 活更改 需 要先将 制作好的 E x ce l模版文件拷 贝至 固定 的 目录 当写报表条件满足 时 先判 断下是否 存在报表在 如果 不存在则拷 盯 模 版至相应 的文件夹 并按照一 定规则命 名 比如标志 符加 时间 0 l icr o s o f t D ir t cL g T r a n if o r m i C o r l T y p l L i l l i cr o s o t D ir lct X T r a n s f o r m s 工 m T r a n s o i 誓 icr o s o t D T 卫 I卫 6 T y p d ib 2 l icr o s o f t 1 1 d s I r iO n 1 0 图3 v b a引用 E X CE L 对象 VBA中引用 Micr o s o f t E x ce l l 1 0 Ob j e ct L ib r a r y 在 VBA脚本 中引用如 图 3 所 示 DL L Opt i on Exp licit Dim File na me As S t r in g D im F s o f ill As Ob j e ct On Er r o r Re s ume Ne xt F ile n a me一 G I F I X D a t e 日报表 x ls S e t F s o C r e a t e O b j e ct s cri p t in g f i le s y s t e mo b j e ct C r e a t e O b j e ct 创建并返回一个对 A ct iv e X 对象 的引用 S e t ml F s o g e t f i le G I F I X 日报表模版 x ls F s o g e t f i le返回一个和指定路径 中文件相对应的 F ile 对象 定义报表模板存储路径 I f F s o F il e E x is t s F ile n a me F a ls e T h e n F s o F ile E x is t s如果指定的文件存在 返回 T r u e 若不存在 则返回 F a ls e f n 1 C o p y F ile n a me f il1 C o p y将 O I E容器控件 内的对 象复 制 到系统 剪贴 板 End I f S e t F s o No t h in g 释放对象 S e t f i ll No t h in g 释放 对象 4 2 报表数据写入 Dim o b j E x ce l As Ob j e ct S e t o b j E x ce l C r e a t e O b j e ct E x ce 1 A p p l ica t i o n 创建 E x ce l对象 o b j E x ce 1 Wo r k b o o k s O p e n F ile n a me 打开报 表 o b j E x ce 1 Ap p li ca t io n Vis ib le F a ls e o b j E x ce 1 S h e e t s 日报表 S e le ct Ro w Ho u r N o w 2 o b j E x ce 1 C e l ls Ro w 1 一 F ix 3 2 L OC A L T E l0 1 F CV 直接将 f ix数 据库数值写入 e x ce l表格 o b j E x ce 1 C e lls Ro w 2 F ix 3 2 I OC A L F T1 0 2 F CV o b j E x ce 1 Act iv e wo r k b o o k S a v e 文件保 存 o b j Ex ce 1 Act iv e wo r k b o o k Clo s e S e t o b j Ex ce l No t hin g 4 3 数据浏览查询 为了快速 浏 览查询 报表 文件 在 制作 报表模 版后 从 EXC EL里面将模 版的格式另存 为网页格式 通 过调 T e ch n i q u e s o f A u t o ma t i o n A D p li ca t i o n s I 8 9 自 动 化 技 术 与 应 用 2 0 1 1 年 第3 0 卷 第6 期 行 业 应 用 与 交 流 n d u s t r ia l Ap pl ica t io ns a n d C0 m mun i ca 1 iO n s 用 micr o s o f t we b b r o ws e r 的 a ct iv e x控件来导入 h t m 文件 加快 浏 览速度 只 要在 报 表生 成 代码 中 将 引用 文件 的类型 更改 为 h t m 即可不 会对报表 写入 产生 影响 iF I X 支持任何第 三方 的 Act iv e X控件 Act iv e x 控件的 属性 方法 事件 在 iF I X工作台 中都可 以动态 的访 问和 修改 通过 修 we b b r o ws e r 控 件 的 NA VI GAT E 2 属性 更 改想要察 看的 报表 文件 这 样不调 用 E XCE L对象 的过程 浏览速度 快 代码 如下 We b B r o ws e r 1 NAVI GATE 2 F i le n a me h t m 4 4 数据打印导 出 要 完 成 打 印 等 相 关功 能 可 以 通 过 调 用 控 件 的 E x e cWB方法来实现 通过不 同的功能码实现打 印 导 出 设置 等操 作 代 码示例 We b B r o ws e r 1 E x e cWB x x 其 中X X是 实现功 能的代码具体含义 4 1 或 4 2 保存文件 可以重新命名 6 1 或 6 2 直接打印 7 1 或 7 2 实现打印预览 8 1 或 8 2 页面选择参数 这 样在组态界面通过 VB A调 用控件 完成 了在 E XC E L文 件 输出工 作 极大地 提 高 了本 系统 的通用 易用性 5 结束语 通过本文对 I F I X 报表 的实现 将办公软件 与工控软 件结合 利用这一技术方案 没有增加成本 并且在现有 办公基 础上 分析更 改报表 也是十分 容易 的事情 是对 大部分 组态软件 或者 是报表没有 通用性 的一个补 充 本 方法产 生 的报表 与其他 系统数据 库没有任 何 关系 系统 运行 稳定 安全 可靠然 后根据 用 户的设 定 的参 数 进 行 报表数据读取 同时实现报表的数据的存储 查询 打 印 以及导 出等功 能 引用文献 1 i f i x 1 5 4 基础用户手册 Z 美国 GE公司 2 0 0 6 2 Of f ice VBA编程高手 M 北京 北京大学 出版社 2 0 0 0 作者简介 巩伟 1 9 7 1 一 男 副研究员 从事 自 动化控制 管 控 一体 化 系统 研 究 上接 第 8 7页 靠性 高 测量结果 真实信 误差分析全 面 现将 系统功能 总结如 下 可 以产生六种 类型稳定 的波形信号 上斜波 下斜 波 三角波 方波 梯形波 脉宽调制波 波形信号 分 高 中 低 三档 频率 范 围 l H

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论