Intouch报表-EXCEL报表制作_第1页
Intouch报表-EXCEL报表制作_第2页
Intouch报表-EXCEL报表制作_第3页
Intouch报表-EXCEL报表制作_第4页
Intouch报表-EXCEL报表制作_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

用 EXCEL 打印报表 1 原理 首先根据报表要求 用 INTOUCH 的附件 HISTDATA 软件形成一个有规定数据的 CSV 文件 逗号分隔文件 可用 EXCEL 打开 这个 CSV 文件是英文的 不符合一般报 表的要求 只能提供数据 所以需要另设计一个空的 EXCEL 报表模版 再将 CSV 文件的 数据复制到报表中 形成完整的报表 通过 INTOUCH 可以自动产生 CSV 再通过 EXCEL 的宏程序打印报表 可以完成招 呼打印和定时自动打印 如果有多个报表 需要形成多个 CSV 文件和设计多个 EXCEL 报表 大致步骤如下 设计报表 确定一个报表的开始时间 时间总长度 个数据之间 数据采样间隔 报表参数所对应得的标记名等 如日报表的开始时间为 0 点 时间长度为 24 小时 数据采样间 隔时间为小时 在 InTouch 中 按报表的需要 用脚本给一组专用的标记名赋值 如 HDWSTARTTIME 规定日报表的开始时间 HDWDBDIR 规定历史纪录文件的目录 HDWTAGS 规定报表内涵的标记名 用 EXCEL 设计报表的模版 在 EXCEL 中 用记录宏程序 将形 成的 CSV 文件中的数据导入 EXCEL 报表模版的数据区 然后打 印 最后在 EXCEL 中将该宏程序设置为自动执行宏程序 在 InTouch 脚本中 用 HDWWRITEFILE 1 形成一个 CSV 文件 在生成 CSV 文件的 InTouch 脚本中 加入 StartApp 函数 启动 EXCEL 印报表 2 生成 CSV 文件 Step1 自动生成需要的标记名 在 INTOUCH 开发环境中 将向导库中 趋势 历史趋势向导 HistData 放入窗口 这 将自动形成若干标记名 Tag 有关标记名以 HDW 开头加上它们的 DDE 的 ITEM 命名 这些标记名说明如下 HDWDATADIR 消息型 历史数据文件的目录的路径名 可用函数赋值 例如 HDWDataDir HTGetLogDirectory HDWDBDIR 消息型 InTouch 标记名字典的目录的路径名 可用函数赋值 例如 HDWDBDir InfoInTouchAppDir HDWSTARTDATE 消息型 与 DateString相同格式的数据采样开始日期 HDWSTARTTIME 消息型 使用24 小时时钟的HH MM SS 格式的数据采样开始时间 HDWDURATION 消息型 数据时间长度 报表时间总长度 可以用星期 天时 分 秒 等来表示下面是有效的 字符 w 星期 d 天 h 小时 m 分 s 秒 允许 使用小数值例如扩 5s 表示 500 毫秒若只需一个样 本请将 DURATION 设为 0 零 HDWINTERVAL 消息型 采样间隔的时间长度 可以用星期日小时分和秒来表示 例如1W 表示一星期 允许 使用小数值例如用 25d 来表示6小时 有效字符与HDDURATION 相同 注意DURATION 和 INTERVAL 允许的最大时间长 度均为 6 周 这适用于所有请求类型日秒等 例如如果 使用日则最大值为 42 7 天 x 6 周 42 HDWTAGS 消息型 历史数据的标记名列表 报表中需要的标记名 以TagA TagB TagZ 格式输入 此外采样日期和或时 间可以通过使用内部系统标记名 Date 和 Time 来 请求 例如 Date TagA TagB 或 Time TagA TagB 或 Date Time TagA TagB HDWTAGS1 TAGS2 消息型 HDWTAGS 字符串在 WindowViewer 中的长度 可以为131 个字符在Excel 中的长度可以为255 个 字符字符串 可以通过迭加标记名项目Tags1 Tags2 等来延长以适应更长字符串的要求 如果标记名需 附加额外的标记名文本请在字符串末输入一个加号 例如 TAGS Date ProdLevel ProdTemp TAGS1 ReactLevel Temp GasLevel TAGS2 MotorStatus 注意不允许使用重复标记名 每个标记字符串的 最大长度为 512字节 HDWFILENAME 消息型 规定生成的 CSV文件的路径和名称 例如 C INTOUCH HDFILE CSV HDWWRITEFILE 整型 当设置为1 时HistData 会将请求数据写入由 FILENAME 项目名指定的文件 当文件更新 完成后WRITEFILE 会自动重置为0零 STATUS 离散型 显示最后一次操作的状态1 表示成功 0 零表 示出错 ERROR 消息型 包含上次错误说明的字符串 如 STATUS 为1 则显 示无 如STATUS 为 0 零则显示错误消息字 符串 前9个TAG规定数据的内容 HDWWRITEFILE 1是写 CSV文件的命令 最后两个用 于检查状态和错误 写脚本时应注意 HDWDBDir HDWDataDir这两个标记名是规定路径的 可以用函数赋值 可以 写在应用程序脚本内 HDWFilename这个标记名是规定 CSV文件的路径和文件名 如果只打一种报表 也可以写在应用程序脚本内 否则应在形成 CSV文件前指定 HDWTags和后续的HDWTags1 HDWTags2这些标记名是规定 CSV文件的包含的 标记名 如果只打一种报表 也可以写在应用程序脚本内 否则应在形成 CSV文 件前指定 HDWStartDate HDWStartTime这两标记名是规定 CSV文件数据的起始日期和起 始时间的 如果是招呼打印报表 人工输入时格式一定要正确 如果是自动打印 报表可以计算得到 一般可以在条件脚本内规定 HDWInterval HDWDuratione这两标记名是规定 CSV文件的数据时间间隔和数据 时间的总长度 如日报表分别为 1H 小时 和1D 1天 HDWWRITEFILE 1为生成 CSV文件 只有上述标记名义赋值后 才执行他 ERROR这个标记名可以显示生成 CSV文件时是否有错误 调试时非常重要 例如 下面脚本生成一个日期由StartDate1规定 包括两个标记名PI 101 TI 101 日报 表 可以复制在你的脚本中 修改一下就可以形成所需的 CSV文件 HDWStartDate StartDate1 HDWStartTime 00 00 00 HDWDBDir InfoInTouchAppDir HDWDataDir HTGetLogDirectory HDWFilename C REPORT csv HDWTags Date Time PI 101 TI 101 HDWInterval 1H HDWDuration 1D HDWWRITEFILE 1 HDWDataDir HTGetLogDirectory HDWDBDir InfoInTouchAppDir HDWStartDate DTPicker1 Value 时间控件名称 HDWStartTime 00 00 00 开始时间 HDWFilename C REPORT csv HDWTags Date Time zj AO1 zj AO2 HDWInterval 1H HDWDuration 1D HDWWRITEFILE 1 Step2 招呼打印报表的情况 如果是招呼打印 不定期打印 人工输入打印日期和时间的报表打印 则可以在 INTOUCH 中开一个窗口输入 HDWStartDate1 HDWStartTime HDWInterval HDWDuration 的参数 并做一个按钮 在动作脚本中给固 定的参数赋值和最后令 HDWWRITEFILE 1 脚本的例子 形成的 CSV 文件的例子 Step3 定时自动打印的情况 如果是定时自动打印 需要在条件脚本 或数据改变脚本 中写代码完成 这里需要 特别注意起始日期和时间 如 日报表示在 0 点以后打印的 所以需要通过计算得到前一 天的日期 可以用下面语句 HDWStartDate StringFromTime Date 1 86400 1 举例 Step4 运行 INTOUCH 检查生成的 CSV 文件 3 建立 EXCEL 报表 Step1 设计一个报表格式 例如 先画出报头 在 EXCEL 导入相应 CSV 文件 找到相应 CSV 文件 一步步导入 选逗号分割 指定导入区域起点单元 为了更直观 可以用 EXCEL 的功能加一个趋势图 Step2 做一个宏 选菜单 工具 宏 录制新宏 起一个宏名 如 mr1 确认 由于 EXCEL 不允许在有数据的区域导入数据 所以先删除前面导入的数据 选 择数据区 按 Del 键 在 EXCEL 重新导入相应 CSV 文件 重复刚才的步骤 打印和保存 报表需要打印时 或另存 报表不需要打印时 停止记录宏 写 VBA 脚本 让宏自动执行 菜单 工具 宏 VB 编辑器 双击 ThisWorkBook 在代码区选 WorkBook 在 Private Sub Open 函数中 加入 Run 宏名 Application Quit 关闭 VB 编辑器 返回 Workbook 确定报表的路径和文件名 如 c report1 xls 保 存报表 这样 我们的报表就完成了 一打开这个报表 就会执行宏 然后退出 在调试时 可以迅速按 Atrl Break 键停止宏执行 注 在另存的情况下 在宏中找到另存的路径和文件名 用 date tim 等变量加到文件 名中 Step3 用 INTOUCH 打开报表 在 INTOUCH 的相应脚本中加一条语句 启动 EXCEL StartApp C Program Files Microsoft Office Office excel exe c report1 xls 这里 C Program Files Microsoft Office Office excel exe 是 EXCEL 的路径和文件名 注意 EXCEL 的版本不同路径不一样 c report1 xls 是报表的路径和文件名 之间有一个空 格 一个日报表的例子 语句说明 1 规定报表起始日期 2 规定报表起始时间 3 InTouch 的路径

温馨提示

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

评论

0/150

提交评论