




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、鉴于目前的工程部的需要,首先整理Cicode,尤其是报表部分的程序,希望大家能多提宝贵意见。报表普通日报功能: 该程序可以根据用户的不同要求在画面上显示每日遥测量的(有功、无功、电流、电压、温度等)整点值,并产生其每日的最大值、最小值及平均值。 实现流程:初始化(设置变量) 设置时间(当前或历史) 刷新数据使用说明: 该程序分两种情况来处理,一种是在菜单项上或按钮上点击调用某一具体报表时,显示当天的数据;另外一种情况是点击某一报表画面上的“历史日报”按钮时,可以让用户来输入日期,来显示以前的数据。 具体到画面上用到的精灵有nhminle库内的parameter_1(在图形编辑状态下,显示为=G
2、r(,)、parameter_2(在图形编辑状态下,显示为=Gc(,)。parameter_1的功能在于显示表达式“Gr(%Tag1%,%Tag2%)”(类型为string),在编辑状态下,点击该精灵可以弹出编辑框要求输入Tag1、Tag2。Tag1、Tag2要求输入的实际上是一个实型的二维数组(见DEMO中DayMonthReport.ci 文件中的定义“REAL rValue2133;” )的“横坐标” 、“纵坐标” 。Gr()是一个string类型的函数,实际上它的作用在于把二维数组的值显示到画面上可来。这个二维数组的数值是由遥测量的变量标签为横坐标,时间为纵坐标来确定的。该报表遥测量标
3、签的设定是在报表页面被调用时,调用LOADREPORT1()函数来实现的。在编辑状态下,只需打开该日报画面,然后在properties中Events内选中on page entry,然后在右面的on page entry command 中输入LOADREPORT1()即可在报表页面被调用时执行该函数。具体的可以在DayMonthReport.ci中可以看到该函数。 FUNCTION LoadReport1()XSetReportTagsTotal(14);/设置报表显示的遥测量数目 XSetReportTags(0, TLRU7_AI04);/设置第一列显示的遥测量 XSetReportTa
4、gs(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)
5、;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()主要是取得当
6、前的时间,然后调用了一个函数RefreshReportData(),把时间作为参数传递给它。 当系统在运行时可以在报表画面上点击“历史日报”按钮,系统会调用refreshbuttonclick()函数,此时会弹出一个对话框,要求输入需浏览数据的日期,用户输入并确认后会自动刷新页面上的数据。实际上该函数取得时间后调用RefreshReportData()函数来刷新数据。 类似的,Gc()函数是用来显示最小值、最大值、平均值的,它的数据是来自caldata数组,也是在RefreshReportData()函数中来控制的。 RefreshReportData()函数的具体实现在DayMonthRep
7、ort.ci中有详细的描述。普通月报功能: 在监控画面上显示遥测量一月内每天的最大值或最小值,及本月的最大值或最小值。实现流程: 同普通日报。使用说明: 该报表的实现原理类似于日报的实现,用的也是Gr()函数,与日报程序共用了同一数组。 在月报初次调用时,执行的是LoadmonReport1()函数。FUNCTION LoadmonReport1()XSetReportTagsTotal(18);/设置月报表显示的遥测量数目 /*XSetReportTags(0, TA0103);/设置第一列显示的遥测量 XSetReportTags(1, TA0101);XSetReportTags(2,
8、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);XS
9、etReportTags(14, TA0212);XSetReportTags(15, TA0115);XSetReportTags(16, TA0113);XSetReportTags(17, TA0114);*/monthREPINI();/根据当前时间及设定的变量初始化二维数组END MonthRepini()函数类似于日报中的DayRepini(),通过调用RefreshmonReportData()函数来刷新数据。 在画面上点击“历史月报”按钮同样会要求输入日期,也是调用RefreshmonReportData()函数刷新数据。RefreshmonReportData()函数在Day
10、MonthReport.ci文件中有详细的描述。电压合格率月报功能: 给出一月内每天的电压合格率,计算月总合格率及月内电压不合格时间。程序流程: 设置报表合格率历史变量计算1小时内电压合格率 设置时间(当前/历史)把该合格率存为历史数据 用小时合格率计算天合格率 计算月总合格率计算月总不合格时间使用说明: 该报表的程序结构与普通日报、月报有类似之处,甚至用到了它们的函数。所以先关程序也被放入了DayMonthReport.ci文件中。 首先要在 Events中添加一个Event:uqlog,它的周期为一小时,执行的函数为muqlog()。function muqlog() /每小时调用一次该函
11、数计算一次合格率,该合格率会自动记为历史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()函数的任务是根据电压的历史数据及合格率的高限及低
12、限来计算一小时内的电压合格率,并把它记录到一硬盘变量中,该硬盘变量应被记录为历史来为报表及历史曲线服务。 由于用户要求合格率精确到分钟,所以电压的历史数据的周期应被定义为1分钟。 在该报表画面被调用时,执行loadUQmonreport1()函数。该函数设置电压合格率的历史变量,并默认时间为本月。 最终,刷新数据执行的是RefreshUQmonRptdata()函数,它有详细的描述。电度日报功能:记录当天电能量的起码、底码以及电量值。报表的形式为Excel表格。程序流程:取得电度值计算电度及日电量生成Excel文件并记录数据使用说明: 首先在Citect Project Editor 中的Sy
13、stem的 Events中新建一个Event:ReadPa,让系统每隔10分钟去执行一个函数ReadPa(),所有相关函数可以在Demo中的PaDayMonthReport.ci中找到。 这个函数执行的功能实际上就是对Rtu下冻结命令,使Rtu中的脉冲计数器中的数据被冻结到冻结计数器中。然后访问该冻结计数器来取得数据。 然后,再创建一个Event:PaDayRep,时间为“00:00:00”,周期为“24:00:00”,执行的函数为LogPaDayValToExcel()。 该函数就是产生日报文件的主函数。它的主要思路是取得电度值并把它放入一硬盘变量Pa1中,在零点时把它放入另一硬盘变量Pa_
14、1中。在下一零点时就可以用Pa1-Pa_1来计算日电量。然后用工程目录下的Excel模板文件来产生一个新文件并把所需数据置入(有关DDE的使用,该函数有详细的注释)。最后把Pa1置入Pa_1中,供下次计算使用。 电度月报:功能: 又称为“进线力率及母线电量平衡统计表” ,记录一月内的电度起码及底码,并根据它们来计算进线力率、月电量及电量平衡。程序流程: 同电度日报。使用说明: 使用方法类似于电度日报,建立一个 Event:PaMonthRpt,时间为“00:05:00”(当电度日报及月报在同一台计算机上运行时,最好时间要错开),周期为“1st” ,执行的函数为LogPaMonthValToEx
15、cel(),既每月1日零点5分要执行该函数。 该函数的原理同电度日报的LogPaDayValToExcel()函数。唯一不同之处是在该报表的模板文件中要加入一些计算公式,用于计算力率及电量平衡率。数据库命名规则:当通讯的实际下位设备只有一个,在定义Variable、Trend、Alarm数据库时,可以把LRUn省略。人机界面:1 画面名称模板说明startupnormal(sxga)启动画面mainmapnormal(sxga)主接线图alarmalarm(sxga)用于显示仍然“Active”的报警的画面summaryalarm(sxga)报警总貌:用于显示所有在报警缓冲区内报警的画面har
16、dwarealarm(sxga)用于显示系统自检信息的画面mainmenunormal(sxga)系统主菜单filefile(sxga)文本文件浏览画面,用于显示操作及报警记录singletrendsingletrend(sxga)趋势画面utilitynormal(sxga)工具画面dreport3blank(sxga)日报画面示例monrpt1blank(sxga)月报画面示例uqmrpt1blank(sxga)电压合格率报表画面示例!sysinfo用于显示系统运行信息。如:cpu占用率!trendstats用于显示趋势统计信息!yaokong用于刀闸及开关遥控!zbmark1用于变压器遥
17、控!version用于显示版本信息在绘制主接线图时,应该尽量把整个一次接线画在一个画面内,底色应选择画面上其它元件不冲突的颜色,推荐使用黑色或淡灰色。画面布局要注意疏密得当。在绘制母线或其它的电气符号时要注意同一电压等级使用同一种自定义颜色,这样在用户要求修改某一电压等级的颜色时,只需修改自定义颜色,画面上所有的该电压等级的符号都会跟着改变颜色。主菜单画面不是必须要有的,但是在做主菜单画面时,可以对整个工程所需实现的功能有一个整体的认识。报警总貌是一定要有的,每隔一段时间系统会把报警缓冲内的报警(包括“活动”的或已复归的报警)记录到硬盘上的文件中。如果没有报警总貌,用户会看不到未记录且已复归的报警。除了上述画面以外,根据用户不同的需求还可能会做信息表、各类子画面。2 模板在normal模板中用到了需要工程师根据现场实际情况来编写的一些函数。如工具栏上报表按钮内用到的函数MenuReport(),这些函数已经在popupmenu.ci中定义,工程师不需修改模板,只需在该函数中填写cicode即可。3.精灵名称精灵库名称说明1switcha开关单遥信开关2switcha开关双遥信开关
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《UG-NX12软件认证》课件-曲面建模与编辑
- 2025至2031年中国全自动弧型格栅除污机行业投资前景及策略咨询研究报告
- 2025至2031年中国三合一体机行业投资前景及策略咨询研究报告
- 2025至2030年中国花口按摩短袜数据监测研究报告
- 道路工程路堤施工方案
- 2025年度绿色有机肉类蔬菜大宗购销合同
- 2025年度经济纠纷彻底清算与和解协议书
- 二零二五年度体育馆场地租赁及赛事保障承包合同
- 彩石批发企业ESG实践与创新战略研究报告
- 纺织材料糊墙纸企业ESG实践与创新战略研究报告
- 《勾股定理在实际生活中的应用》教学反思
- 游泳池给水排水安装工程识图
- 配位键和配位化合物课件
- 学生学籍异动申请表(模板)
- 政 审 表打印模板
- 成人心肺复苏(双人)课件
- 苏教版数学二年级下册《认识时分》教案(无锡公开课)
- 《民航地面服务与管理》项目六课件
- 立体构成半立体构成ppt课件
- 数独比赛“六宫”练习题(96道)练习
- 八皇后问题详细的解法
评论
0/150
提交评论