CITECT报表编制手册_第1页
CITECT报表编制手册_第2页
CITECT报表编制手册_第3页
CITECT报表编制手册_第4页
CITECT报表编制手册_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

鉴于目前的工程部的需要 首先整理 Cicode 尤其是报表部分的程序 希 望大家能多提宝贵意见 报表 普通日报 功能 该程序可以根据用户的不同要求在画面上显示每日遥测量的 有功 无功 电流 电压 温度等 整点值 并产生其每日的最大值 最小值及平均值 实现流程 使用说明 该程序分两种情况来处理 一种是在菜单项上或按钮上点击调用某一具体 报表时 显示当天的数据 另外一种情况是点击某一报表画面上的 历史日报 按钮时 可以让用户来输入日期 来显示以前的数据 具体到画面上用到的精灵有 nhminle 库内的 parameter 1 在图形编辑状态 下 显示为 Gr parameter 2 在图形编辑状态下 显示为 Gc parameter 1 的功能在于显示表达式 Gr Tag1 Tag2 类型为 string 在编辑状态下 点击该精灵可以弹出编辑框要求输入 Tag1 Tag2 Tag1 Tag2 要求输入的实际上是一个实型的二维数组 见 DEMO 中 DayMonthReport ci 文件中的定义 REAL rValue 21 33 的 横坐标 纵坐标 Gr 是一个 string 类型的函数 实际上它的作用在 于把二维数组的值显示到画面上可来 这个二维数组的数值是由遥测量的变量 标签为横坐标 时间为纵坐标来确定的 该报表遥测量标签的设定是在报表页面被调用时 调用 LOADREPORT1 函数来实现的 在编辑状态下 只需打开该日报画面 然后在 properties 中 Events 内选中 on page entry 然后在右面的 on page entry command 中输入 LOADREPORT1 即可在报表页面被调用时执行该函数 具体的可以在 DayMonthReport ci 中可以看到该函数 初始化 设置变量 设置时间 当前或历史 刷新数据 FUNCTION LoadReport1 XSetReportTagsTotal 14 设置报表显示的遥测量数目 XSetReportTags 0 TLRU7 AI04 设置第一列显示的遥测量 XSetReportTags 1 TLRU7 AI08 设置第二列显示的遥测量 XSetReportTags 2 TLRU7 AI09 XSetReportTags 3 TLRU8 AI04 XSetReportTags 4 TLRU8 AI08 XSetReportTags 5 TLRU8 AI09 XSetReportTags 6 TLRU3 AI12 XSetReportTags 7 TLRU3 AI15 XSetReportTags 8 TLRU3 AI16 XSetReportTags 9 TLRU1 AI02 XSetReportTags 10 TLRU2 AI02 XSetReportTags 11 TLRU4 AI02 XSetReportTags 12 TLRU5 AI02 XSetReportTags 13 TLRU6 AI02 DAYREPINI 根据当前时间及设定的变量初始化二维数组 END 其中 TLRU7 AI04 是在 Citect Project Editor 中的 Trend Tags 中定义 的历史趋势变量标签 或者通过 EXCEL 直接在 Trend dbf 中修改 XsetReportTagsTotal 及 XsetReportTags 函数都可以在 DayMonthReport ci 看 到它们的定义 DAYREPINI 主要是取得当前的时间 然后调用了一个函数 RefreshReportData 把时间作为参数传递给它 当系统在运行时可以在报表画面上点击 历史日报 按钮 系统会调用 refreshbuttonclick 函数 此时会弹出一个对话框 要求输入需浏览数据的日期 用户输入并确认后会自动刷新页面上的数据 实际上该函数取得时间后调用 RefreshReportData 函数来刷新数据 类似的 Gc 函数是用来显示最小值 最大值 平均值的 它的数据是来 自 caldata 数组 也是在 RefreshReportData 函数中来控制的 RefreshReportData 函数的具体实现在 DayMonthReport ci 中有详细 的描述 普通月报 功能 在监控画面上显示遥测量一月内每天的最大值或最小值 及本月的最大值 或最小值 实现流程 同普通日报 使用说明 该报表的实现原理类似于日报的实现 用的也是 Gr 函数 与日报程序共 用了同一数组 在月报初次调用时 执行的是LoadmonReport1 函数 FUNCTION LoadmonReport1 XSetReportTagsTotal 18 设置月报表显示的遥测量数目 XSetReportTags 0 TA0103 设置第一列显示的遥测量 XSetReportTags 1 TA0101 XSetReportTags 2 TA0102 XSetReportTags 3 TA0109 XSetReportTags 4 TA0107 XSetReportTags 5 TA0108 XSetReportTags 6 TA0615 XSetReportTags 7 TA0613 XSetReportTags 8 TA0614 XSetReportTags 9 TA0210 XSetReportTags 10 TA0218 XSetReportTags 11 TA0219 XSetReportTags 12 TA0213 XSetReportTags 13 TA0211 XSetReportTags 14 TA0212 XSetReportTags 15 TA0115 XSetReportTags 16 TA0113 XSetReportTags 17 TA0114 monthREPINI 根据当前时间及设定的变量初始化二维数组 END MonthRepini 函数类似于日报中的 DayRepini 通过调用 RefreshmonReportData 函数来刷新数据 在画面上点击 历史月报 按钮同样会要求输入日期 也是调用 RefreshmonReportData 函数刷新数据 RefreshmonReportData 函数在 DayMonthReport ci 文件中有详细的描 述 电压合格率月报 功能 给出一月内每天的电压合格率 计算月总合格率及月内电压不合格时间 程序流程 使用说明 该报表的程序结构与普通日报 月报有类似之处 甚至用到了它们的函数 所以先关程序也被放入了 DayMonthReport ci 文件中 首先要在 Events 中添加一个 Event uqlog 它的周期为一小时 执行的 函数为 muqlog function muqlog 每小时调用一次该函数计算一次合格率 该合格率会自动记为历史 uqrecord tUa0118 uq220ac1 264 198 uqrecord tUa0121 uq220ac2 264 198 uqrecord tUa0124 uq110ac1 132 99 uqrecord tUa0127 uq110ac2 132 99 uqrecord tUa0130 uq10ac1 10 7 10 uqrecord tUa0204 uq10ac2 10 7 10 uqrecord tUa0630 uq10ac3 10 7 10 end 其中 uprecord 函数的任务是根据电压的历史数据及合格率的高限及低限 来计算一小时内的电压合格率 并把它记录到一硬盘变量中 该硬盘变量应被 记录为历史来为报表及历史曲线服务 由于用户要求合格率精确到分钟 所以电压的历史数据的周期应被定义为 1 分钟 在该报表画面被调用时 执行 loadUQmonreport1 函数 该函数设置电压 合格率的历史变量 并默认时间为本月 最终 刷新数据执行的是 RefreshUQmonRptdata 函数 它有详细的描述 电度日报 计算 1 小时内电压合格率 把该合格率存为历史数据 设置报表合格率历史变量 设置时间 当前 历史 用小时合格率计算天合格率 计算月总合格率 计算月总不合格时间 功能 记录当天电能量的起码 底码以及电量值 报表的形式为 Excel 表格 程序流程 使用说明 首先在 Citect Project Editor 中的 System 的 Events 中新建一个 Event ReadPa 让系统每隔 10 分钟去执行一个函数 ReadPa 所有相关函数 可以在 Demo 中的 PaDayMonthReport ci 中找到 这个函数执行的功能实际上就是对 Rtu 下冻结命令 使 Rtu 中的脉冲计数 器中的数据被冻结到冻结计数器中 然后访问该冻结计数器来取得数据 然后 再创建一个 Event PaDayRep 时间为 00 00 00 周期为 24 00 00 执行的函数为 LogPaDayValToExcel 该函数就是产生日报文件的主函数 它的主要思路是取得电度值并把它放 入一硬盘变量 Pa1 中 在零点时把它放入另一硬盘变量 Pa 1 中 在下一零点时 就可以用 Pa1 Pa 1 来计算日电量 然后用工程目录下的 Excel 模板文件来产生 一个新文件并把所需数据置入 有关 DDE 的使用 该函数有详细的注释 最 后把 Pa1 置入 Pa 1 中 供下次计算使用 电度月报 功能 又称为 进线力率及母线电量平衡统计表 记录一月内的电度起码及 底码 并根据它们来计算进线力率 月电量及电量平衡 程序流程 同电度日报 使用说明 使用方法类似于电度日报 建立一个 Event PaMonthRpt 时间为 00 05 00 当电度日报及月报在同一台计算机上运行时 最好时间要错开 周期为 1st 执行的函数为 LogPaMonthValToExcel 既每月 1 日零点 5 分要执行该函数 取得电度值 计算电度及日电量 生成 Excel 文件并记录数据 该函数的原理同电度日报的 LogPaDayValToExcel 函数 唯一不同之处是 在该报表的模板文件中要加入一些计算公式 用于计算力率及电量平衡率 数据库命名规则 当通讯的实际下位设备只有一个 在定义 Variable Trend Alarm 数据库 时 可以把 LRUn 省略 数据库类型名称意义 RTULRUn定义与上位机通讯的实际设备 n 1 2 3 etc DISKDISKDEV定义硬盘变量设备 MEMORYMEMDEV定义内存变量设备 遥信LRUn YXnn 1 2 3 etc 遥测LRUn YCnn 1 2 3 etc 遥控LRUn YKnn 1 2 3 etc 遥调LRUn YTnn 1 2 3 etc 电度LRUn FCnn 1 2 3 etc 报警闪烁标记Flash 为开关或刀闸的编号 人工置位使能EN 为开关或刀闸的编号 人工置位信号FS 为开关或刀闸的编号 Trend 历史趋势TLRUn YCn n 1 2 3 etc digital alarmALRUn YXn n 1 2 3 etc anolog alarmALRUn YCn n 1 2 3 etc I Odevice Variable Alarm 人机界面 1 画面 名称模板说明 startupnormal sxga 启动画面 mainmapnormal sxga 主接线图 alarmalarm sxga 用于显示仍然 Active 的报警的画面 summaryalarm sxga 报警总貌 用于显示所有在报警缓冲区内报警的画面 hardwarealarm sxga 用于显示系统自检信息的画面 mainmenunormal sxga 系统主菜单 filefile sxga 文本文件浏览画面 用于显示操作及报警记录 singletrendsingletrend sxga 趋势画面 utilitynormal sxga 工具画面 dreport3blank sxga 日报画面示例 monrpt1blank sxga 月报画面示例 uqmrpt1blank sxga 电压合格率报表画面示例 sysinfo用于显示系统运行信息 如 cpu占用率 trendstats用于显示趋势统计信息 yaokong用于刀闸及开关遥控 zbmark1用于变压器遥控 version用于显示版本信息 在绘制主接线图时 应该尽量把整个一次接线画在一个画面内 底色应选择画 面上其它元件不冲突的颜色 推荐使用黑色或淡灰色 画面布局要注意疏密得当 在绘制母线或其它的电气符号时要注意同一电压等级使用同一种自定义颜色 这样 在用户要求修改某一电压等级的颜色时 只需修改自定义颜色 画面上所有的该电 压等级的符号都会跟着改变颜色 主菜单画面不是必须要有的 但是在做主菜单画面时 可以对整个工程所需实 现的功能有一个整体的认识 报警总貌是一定要有的 每隔一段时间系统会把报警缓冲内的报警 包括 活 动 的或已复归的报警 记录到硬盘上的文件中 如果没有报警总貌 用户会看不 到未记录且已复归的报警 除了上述画面以外 根据用户不

温馨提示

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

最新文档

评论

0/150

提交评论