CITECT报表编制手册.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CITECT报表编制手册

鉴于目前的工程部的需要,首先整理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中有详细的描述。 普通月报 功能: 在监控画面上显示遥测量一月内每天的最大值或最小值,及本月的最大值或最小值。 实现流程: 同普通日报。 使用说明: 该报表的实现原理类似

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档