电能质量分析软件详细设计说明书_第1页
电能质量分析软件详细设计说明书_第2页
电能质量分析软件详细设计说明书_第3页
电能质量分析软件详细设计说明书_第4页
电能质量分析软件详细设计说明书_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

WJQE电能质量分析软件详细设计说明书文件编号保密级别总页数编制PAGE评审记录对《WJQE电能质量分析软件详细设计说明书V1.00》的评审意见:1、电能质量各指标的定义、计算方法、限值等未写。2、集成谐波分析。3、增加电压波动的统计与分析。4、由原有的在本软件中进行各参数的计算改为由电能质量装置进行采集、计算。上述问题修改验证后,由验证后,本文件即可发布。评审人员签字:问题修改验证结果:验证人签字:时间:年月日变更日志编号版本修改内容修改人修改日期1V0.10草案。2V1.00定稿。目录TOC\o"2-3"\h\z\t"标题1,1"1引言 11.1目的 11.2项目背景 11.3参考资料 11.4定义、首字母缩写词和缩略语 11.5概述 12系统设计总体说明 22.1总体结构 22.2总体界面 32.3开发工具和软件运行平台 33功能模块简介 43.1频率偏差 43.1.1定义与限值 43.1.2功能 43.1.3数据获取方法 43.2电压偏差 53.2.1定义 53.2.2功能 53.2.3数据统计与获取 53.3三相电压不平衡度 63.3.1定义 63.3.2限值 63.3.3功能 63.3.4计算方法 63.4公用电网谐波 73.4.1定义 73.4.2限值 73.4.3功能 73.4.4计算方法 83.5电压波动 93.5.1限值 93.5.2功能 103.5.3计算方法 103.6暂时过电压与瞬态过电压 103.6.1定义 103.6.2限值与要求 113.7展现与输出 113.7.1曲线展示 113.7.2报表输出 123.8数据配置 133.9越限报警 133.10通讯规约 143.10.1前置规约 143.10.2后台规约 144功能模块详细设计 154.1频率偏差 154.1.1功能描述 154.1.2界面说明 154.1.3设计类说明 154.1.4程序流程 174.1.5涉及的数据库对象 174.1.6质量要求 174.2公用电网谐波 184.2.1功能描述 184.2.2类设计说明 184.2.3程序流程 214.2.4涉及的数据库对象 224.2.5质量要求 234.3电压波动 234.3.1功能描述 234.3.2界面说明 234.3.3设计类说明 234.3.4程序流程 244.3.5涉及的数据库对象 254.3.6质量要求 254.4电压偏差 254.5三相电压不平衡度 264.6暂时过电压与瞬态过电压 264.7展现与输出 264.7.1功能描述 264.7.2界面说明 274.7.3设计类说明 284.7.4程序流程 304.7.5涉及的数据库对象 314.7.6质量要求 314.8电能质量数据点配置 314.8.1功能描述 314.8.2界面说明 324.8.3设计类说明 324.8.4程序流程 354.8.5涉及的数据库对象 354.8.6质量要求 364.9越限报警 364.10通讯规约 364.10.1前置规约 364.10.2后台规约 374.11代码优化 374.11.1功能描述 375接口设计 405.1内部接口 405.2外部接口 406日志设计 417代码设计原则 428错误处理设计 43WJQE电能质量分析软件详细设计说明书V1.00PAGE431引言1.1目的本文档是根据WJQE电能质量分析软件进行详细分析和讨论后得出的详细设计说明书,旨在明确WJQE电能质量分析软件模块的功能需求。通过本详细设计说明书,可以了解到WJQE电能质量分析软件模块的开发背景、建设要求、功能需求等。各个模块的开发人员阅读此文档后,以各个模块的功能为基础,兼顾配合电能质量分析软件模块,完成各自模块的功能。本文档面向的读者是:WJQE电能质量分析软件开发人员及测试组人员。1.2项目背景项目名称:WJQE电能质量分析软件(简称PowerQA.exe)立项单位:研发部系统软件组开发单位:研发部系统软件组1.3参考资料编号资料名称说明1《WJQE电能量管理系统软件V1.0数据库设计说明书V1.00》2《WJQE电能量管理系统软件V1.0需求规格说明书V1.00》3《WJQT数据库设计方案-V1.03》4《GB/T15945-2008电能质量电力系统频率偏差》5《GB/T12325-2008电能质量供电电压偏差》6《GB/T15543-2008电能质量三相电压不平衡》7《GB/T14549-1993电能质量公用电网谐波》8《GB/T12326-2008电能质量电压波动和闪变》1.4定义、首字母缩写词和缩略语下表列出本报告中专门术语的定义、英文缩写词的原词组和意义、项目组内达成一致意见的专用词汇,同时继承全部的先前过程中定义过的词汇。词汇名称词汇含义备注PowerQA电能质量分析软件WJQE全称为“WJQWJQE电能量管理系统软件V1.0”1.5概述本文档将从系统总体结构、具体模块设计说明、数据库设计等方面说明系统的设计思路。对于每个具体的功能从不同侧面描述系统的实现思路和实现类。2系统设计总体说明2.1总体结构本软件可以方便现场运行维护人员查看当前电网的频率、电压偏差、三相电压不平衡度、电压波动、电网谐波等状况,实现对整个电网电压质量的实时监测,以保证供电可靠性与安全性,确保生产正常用电。其功能子模块主要如下:(1)频率偏差部分;(2)电压偏差部分;(3)三相电压不平衡度部分;(4)公用电网谐波部分;(5)电压波动与闪变部分;(6)暂时过电压与瞬态过电压部分;(7)展现与输出;(8)数据配置; (9)越限报警; (10)前置与后台通讯规约。参照国标中的规定,对以上各功能的测量与统计主要是基于前端硬件装置,通过前置通讯管理机召时从前置召唤数据,并把召唤的数据送往后台保存,供后台展示与导出。2.2总体界面2.3开发工具和软件运行平台开发机器类别要求备注CPU单核2.8GHz/双核2.0GHz或以上内存1GB或以上主机硬盘80GB或以上网卡推荐100Mb/s或1Gb/s操作系统WindowxXPSP3开发软件MicrosoftVisualC++6.0SP6数据库SQLServer2000SP4软件运行平台类别要求备注CPU单核2.8GHz/双核2.0GHz或以上内存1GB或以上主机硬盘80GB或以上网卡推荐100Mb/s或1Gb/s操作系统Windows2000Server、Windows2003Server、WindowsXP数据库SQLServer2000SP43功能模块简介3.1频率偏差3.1.1定义与限值我国电力系统的标称频率为50Hz,《GB/T15945-2008电能质量电力系统频率偏差》中规定:电力系统正常运行条件下频率偏差限值为:±0.2Hz。当系统容量较小时,偏差值可放宽到±0.5Hz,标准中没有说明系统容量大小的界限。在《全国供用电规则》中规定“供电局供电频率的允许偏差:电网容量在300万千瓦及以上者为±0.2Hz;电网容量在300万千瓦以下者,为±0.5Hz”。实际运行中,从全国各大电力系统运行来看都保持在不大于±0.1Hz范围内。在此,我们以国标规定的标准即频率偏差限值为:±0.2Hz为依据进行频率偏差的统计与分析。3.1.2功能频率偏差主要包括:频率点的配置、统计分析、生成报表/曲线等,对曲线可进行打印、另存为bmp图片。模块根据已经配置的频率点,从采样表读取历史数据,对历史数据进行整理、统计、分析,以报表、曲线的形式展现给用户。统计分析包括按厂站、按区域、按电压等级分别进行按日统计、按月统计、自定义时间段统计。对于采样表的历史数据,如是按日统计,则从五分钟采样表读取数据;按月统计,则从日采样表读取历史数据;自定义时间段统计,如果该时间段大于1周,则从日采样表读取数据,反之,则从五分钟采样表读取数据。图3.1.1频率偏差过程3.1.3数据获取方法根据《GB/T15945-2008电能质量电力系统频率偏差》中的规定,频率偏差等于系统频率实际值与标称频率的差,此数值由前端装置计算,并由前置通讯管理机通过主动召唤的方式,把装置计算出的结果传送至后台,后台以5分钟采样的形式把数据保存至数据库中,供本软件展示与导出。注:此处所说的装置计算出的结果为:根据国标中的要求与测量方法,把最终的频率偏差由前置传送至后台,后台实际显示的曲线或数据为频率偏差值。3.2电压偏差3.2.1定义《GB/T12325-2008电能质量供电电压偏差》中规定,35kV及以上供电电压正、负偏差绝对值之和不超过标称电压的10%(如供电电压上下偏差同号,如均为正或负,按较大的偏差绝对值作为衡量依据);20kV及以下三相供电电压偏差为标称电压的±7%;220V单相供电电压偏差为标称电压的±7-10%;对供电点容量较小、供电距离较长以及对供电电压偏差有特殊要求的用户,由供、用电双方协议确定。在此,我们以国标规定的大于35kV、20kV及以下、220V单相三个级别对电压进行统计分析,其它特殊情况暂不做考虑。3.2.2功能电压偏差主要包括:电压点的配置、统计分析、生成报表/曲线等,对曲线可进行打印、另存为bmp图片。模块根据已经配置的电压点,从采样表读取历史数据,对历史数据进行整理、统计、分析,以报表、曲线的形式展现给用户。统计分析包括按厂站、按区域、按电压等级分别进行按日统计、按月统计、自定义时间段统计。对于采样表的历史数据,如是按日统计,则从五分钟采样表读取数据;按月统计,则从日采样表读取历史数据;自定义时间段统计,如果该时间段大于1周,则从日采样表读取数据,反之,则从五分钟采样表读取数据。3.2.3数据统计与获取《GB/T12325-2008电能质量供电电压偏差》规定,获得电压有效值的基本的测量时间窗口应为10周波,并且每个测量时间窗口应该与紧邻的测量时间窗口接近而不重叠,连续测量并计算电压有效值的平均值,最终计算获得供电电压偏差值,计算公式如下:结合现有的后台系统与数据精度,此数值由前端装置计算,并由前置通讯管理机通过主动召唤的方式,把装置计算出的结果传送至后台,后台以5分钟采样的形式把数据保存至数据库中,供本软件展示与导出。注:此处所说的由前端装置计算为:根据国标中的要求与测量方法,把最终的电压偏差由前置传送至后台,后台实际显示的曲线或数据为电压偏差值。3.3三相电压不平衡度3.3.1定义三相电压不平衡度指三相电力系统中三相不平衡的程度。用电压、电流负序基波分量或零序基波分量与正序基波分量的方均根值百分比表示。电压、电流的负序不平衡度和零序不平衡度分别用EU2、EU0和E12、E10表示。3.3.2限值《GB/T15543-2008电能质量三相电压不平衡》中规定,电力系统公共连接点电压不平衡度限值为:电网正常运行时,负序电压不平衡度不超过2%,短时不得超过4%;低压系统零序电压限值暂不作规定,但各相电压必须满足GB/T12325的要求。3.3.3功能详情请参考3.2.2。3.3.4计算方法国标中规定的三相电压不平衡度的允许值及计算、测量和取值方法(详见《GB/T15543-2008电能质量三相电压不平衡》)只适用于电力系统正常运行方式下在电网公共连接点由负序分量引起的电压不平衡。因此,故障方式引起的不平衡(例如单相接地、两相短路故障等)和零分量引起的不平衡均不在考虑之列。根据国标中规定的不平衡度的准确计算式,对于“A.2.1在三相系统中,通过测量获得三相电量的幅值和相位后应用对称分量分别求出正序分量、负序分量和零序分量,由(A.1)求出不平衡度。”的计算方法,公司后台系统及前端装置不能把正序分量、负序分量和零序分量同时上送,故采用A.2.2的计算式,即:在没有零序分量的三相系统中,当已知三相量a、b、c时也可以用式(A.2)求负序不平衡度,如图3.3.2-1。图3.3.2-1三相不平衡度准确计算式2图3.3.2-2三相不平衡度准确计算式1此数值由前端装置计算,并由前置通讯管理机通过主动召唤的方式,把装置计算出的结果传送至后台,后台以5分钟采样的形式把数据保存至数据库中,供本软件展示与导出。注:此处所说的装置计算出的结果为:根据国标中的要求与测量方法,把最终的电压不平衡度由前置传送至后台,后台实际显示的曲线或数据为电压不平衡度值。3.4公用电网谐波3.4.1定义 《GB/T14549-1993电能质量公用电网谐波》中规定如下: 基波(分量):对周期性交流量进行付立叶级数分解,得到的频率与工频相同的分量。 谐波(分量):对周期性交流量进行付立叶级数分解,得到频率为基波频率大于1整数倍的分量。 总谐波畸变率:周期性交流量中的谐波含量的方均根值与其基波分量的方均值之比(用百分数表示)。电压总谐波率以THDu表示,电流总谐波率以THDi表示。 3.4.2限值 公用电网谐波电压(相电压)限值如下表:电网标称电压kV电压总谐波畸变率%各次谐波电压含有率%奇次偶次0.385.04.02.064.03.21.610353.02.41.2661102.01.60.8对于220kV电网参照本标准110kV执行。3.4.3功能 此部分的功能主要集成原有谐波分析软件(Harmonic.exe),功能主要包括:数据点的添加/删除/修改、数据源链接、线路名称修改、2-20次谐波含有率实时显示、有效值、总谐波畸变率等。界面大致如下:数据配置线路列表(实时)3.4.4计算方法 (1)第h次谐波电压含有率HRUh: 式中Uh第h次谐波电压(方均根值); U1基波电压(方均根值)。 (2)第h次谐波电流含有率HRIh: 式中Ih第h次谐波电流(方均根值); I1基波电流(方均根值)。 (3)谐波电压含量UH: (4)谐波电流含量Ih: (5)电压总谐波畸变率THDu: (6)电流总谐波畸变率THDi: 谐波的实时数据由前端装置计算,并通过前置通讯管理机间隔一定时间的主动召唤,把谐波数据传送至后台,由本软件实时显示谐波数据的波形。3.5电压波动 《GB/T12326-2008电能质量电压波动和闪变》中定义,电压波动指电压方均根值(有效值)一系列的变动或连续的改变。3.5.1限值 任何一个波动负荷用户在电力系统公共连接点产生的电压变动,其限值和电压变动频度、电压等级有关。对于电压变动频度较低(例如r≤1000次/h)或者规则的周期性电压波动,可通过测量电压均根值曲线U(t)确定其电压变动频度和电压变动值。电压波动限值见下表。r/(次/h)d/%LV、MVHVr≤1431<r≤103*2.5*10<r≤10021.5100<r≤10001.251注1:很少的变动频率(每日少于1次),电压变动限值d还可以放宽,但不在本标准中规定。注2:对于随机性不规则的电压波动,如电弧炉负荷引起的电压波动,表中标有“*”的值为其限值。注3:参照GB/T156-2007,本标准中系统标称电压UN等级按以下划分:低压(LV)UN≤1kV中压(MV)1kV<UN≤35kV高压(HV)35kV<UN≤220kV对于220kV以上超高压(EHV)系统的电压波动限值可参照高压(HV)系统进行。3.5.2功能 详见3.2.2。3.5.3计算方法 电压波动可以通过电压方地匀根值曲线U(t)来描述,电压变动d和电压变动频度r则是衡量电压波动大小和快慢的指标。 电压变动d的定义表达式为:式中:△U电压方均根值曲线上相临两个极值电压之差;UN系统标称电压。 此数值由前端装置计算,并由前置通讯管理机通过主动召唤的方式,把装置计算出的结果传送至后台,后台以5分钟采样的形式把数据保存至数据库中,供本软件展示与导出。 对于电压闪变的限值、计算方法,请参考《GB/T12326-2008电能质量电压波动和闪变》;具体功能与显示方法参考3.5电压波动。3.6暂时过电压与瞬态过电压3.6.1定义 (1)暂态过电压:在给定安装点上持续时间较长的不衰减或弱衰减的(以工频或其一定的倍数、分数)振荡的过电压。 (2)瞬态过电压:持续时间数毫秒或更短,通常带有强阴尼的振荡或非振荡的一种过电压。它可以叠加于暂时过电压上。3.6.2限值与要求 暂时过电压与瞬态过电压的过电压及其要求请参考《GB/518481-2001电能质量暂时过电压和瞬态过电压》中的5.3和5.4,在此不再赘述。3.7展现与输出 本功能主要是对统计出的数据进行展现与输出,主要是以曲线、表格形式显示,并以报表开展输出与打印。3.7.1曲线展示 如下图:3.7.2报表输出3.8数据配置 本功能主要是对需要统计、分析的数据点进行配置,对于配置的数据点,可对其进行增加、删除、修改等操作,如下图所示:3.9越限报警 统计出的频率偏差、电压偏差、电压不平衡度、电压波动与闪变、瞬态/暂态电压值,如超过国标规定的限定值,则在告警对话框中给出报警,以提示用户做出相应的处理。如下图所示: 对于公用电网谐波的越限报警,初步考虑在谐波部分实时更换波形时判断,由本软件与告警客户端软件(AClient.exe)进行通讯,实现实时报警。3.10通讯规约3.10.1前置规约 针对具体的电能质量分析装置,前置(WJQC)需要扩展一个对应于该装置的规约,该规约主要实现的功能是:主动从电能质量分析装置上召唤相关的数据,这些数据主要包括频率偏差、电压偏差、三相电压不平衡度、实时谐波数据、电压波动和闪变、暂时过电压和瞬态过电压等。3.10.2后台规约 针对具有电能质量分析功能的装置或通道,后台需要扩展一个规约,此规约主要把前置召唤上来的相关数据转发至服务器(NtsSrv.exe)程序,并在其中增加谐波分析数据处理的部分,具体请参考“4功能模块详细设计”的相关部分。 4功能模块详细设计4.1频率偏差4.1.1功能描述频率偏差主要包括:频率点的配置、生成报表/曲线等,对曲线可进行打印、另存为bmp图片。模块根据已经配置的频率点,从采样表读取历史数据,对历史数据进行整理、统计、分析,以报表、曲线的形式展现给用户。统计分析包括按厂站、按区域、按电压等级分别进行按日统计、按月统计、自定义时间段统计。4.1.2界面说明 4.1.3设计类说明此模块主要的类设计如下表所示:(1)CMainFrm类类名CMainFrm类主要属性说明CCoolTabCtrl m_wndTabMain;//TAB控件对象 CCoolBar m_wndMyBar1;//控件条1 CCoolBar m_wndMyBar2;//控件条2 CImageList m_TreeImage;//图片链表 CTreeCtrl m_wndTreeMain;//主框架的树控件 AW_CMultiViewSplitter m_missplitter;//视图分割类 int m_nBackgroundView,m_nFrequency,m_nVDeviation;//各视图的标志 int m_nVUnbalance,m_nFluctuate,m_nHarmonic,m_nSettings;//各视图的标志主要方法说明void SetWindowTitle(CStringstr);//设置程序标题BOOLOnBarCheck(UINTnID,BOOLbShow=TRUE);//控制条显示与隐藏voidOnTBFrequency();//频率偏差 afx_msgvoidOnTBVPianCha();//电压偏差 afx_msgvoidOnTBVUnbalance();//三相电压不平衡度 afx_msgvoidOnTBFluctuate();//电压波动 afx_msgvoidOnTBHarmonic();//谐波分析 afx_msgvoidOnTBExit();//退出 afx_msgvoidOnTBSettings();//配置 afx_msgvoidOnUpdateTBFrequency(CCmdUI*pCmdUI);//频率偏差状态更新 afx_msgvoidOnUpdateTBVPianCha(CCmdUI*pCmdUI);//电压偏差状态更新 afx_msgvoidOnUpdateTBVUnbalance(CCmdUI*pCmdUI);//电压不平衡度状态更新 afx_msgvoidOnUpdateTBFluctuate(CCmdUI*pCmdUI);//电压波动状态更新 afx_msgvoidOnUpdateTBHarmonic(CCmdUI*pCmdUI);//谐波分析状态更新 afx_msgvoidOnUpdateTBExit(CCmdUI*pCmdUI);//退出状态更新 afx_msgvoidOnUpdateTBSettings(CCmdUI*pCmdUI);//配置状态更新BOOLGetSampleNoByIndexDef(IndexDefindex,int&nSampleNo);//通过索引结构读取采样号BOOLGetSampleValueBySampleNo(intnSample,float&fValue);//通过采样号从数据库读取采样值voidUpdateGridData(floatfValue);//更新表格数据的值 (2)CChartDlg类类名CChartDlg类主要方法说明 void InitData_Day(); //初始化以天为间隔的数据 void InitData_Month(); //初始化以月为间隔的数据 void RedrawQuXian(); //重画曲线 void OnPrint(CDC*pDC,CPrintInfo*pInfo);//打印预览 void SetWindowTextE(CStringsTitle,CStringsText);//设置窗口标 主要属性说明CMainFrame2*m_PreFrame; //打印预览用的主框架类 CChartWnd* m_pChartWnd; //CHART控件类指针 long m_lCount; //总个数 long m_lCountDay; //总天数 int m_nGraphType; //曲线类型 COLORREF m_clrBkgClr; //曲线背景颜色CTime m_ctStartTime; //开始时间 CTime m_ctEndTime; //结束时间 CString m_sTitleQuxian; //曲线标题 CString m_sTitle; //窗口标题内容4.1.4程序流程 在此以序列图的形式说明系统的实现过程4.1.5涉及的数据库对象 此功能涉及的数据库表主要有:电能质量配置表(TD_POWERQUALITY)、五分钟采样表(TS_M5_000、……)、时采样表(TS_H1_000、……)、日采样表(TS_DAY_000、……)、厂站名(TB_STATION)、设备表(TB_DEVICE)、设备类型表(TC_DEVICEMODE)、设备区域表(TC_DEVAREA)、电压等级表(TC_VLEVEL)等。4.1.6质量要求性能指标功能测试要点 采用黑盒测试的方法即可。 (1)测试开始时间与结束时间是否在1970年1月1日-2038年1月19日之间。 (2)选择不同的单选框或复选框,查看对应的按钮是否处于可用或不可用状态。 (3)查看是否可正确分析并生成曲线。 (4)对生成的曲线可否修改曲线背景、可否保存为bmp图片、可否打印预览(打印)。4.2公用电网谐波4.2.1功能描述实时显示谐波测量点电压和电流的基波和各次谐波含有率、电压和电流的总谐波畸变率、谐波次数等谐波数据;实时展示具有谐波分量的电压或电流在一个周波内的曲线图;用户可添加、删除、修改谐波测量点,并保存至数据库中。4.2.2类设计说明(1)CCurveView类类名CCurveView类主要方法说明 voidUpdateValue();//更新值(实时更新用) virtualvoidInit();//初始化函数afx_msgvoidOnCheckU1();//A相电压复选框单击 afx_msgvoidOnCheckU2();//B相电压复选框单击 afx_msgvoidOnCheckU3();//C相电压复选框单击 主要属性说明CStatic m_StcCurve;//画曲线的文本框 CListCtrl m_listValue;//谐波参数列表 BOOL m_bU1;//是否显示A相电压 BOOL m_bU2;//是否显示B相电压 BOOL m_bU3;//是否显示C相电压(2)CGrIdView类类名CGrIdView类主要方法说明 voidInitGrid();//初始化列表框 voidenableCtrl();//控制控件状态 virtualvoidInit();//初始化 virtualBOOLSelectCombo(intnID,intnValue);//设置下拉框的内容 voidGetIndexData(intnGridRow,intnGirdCol,IndexDefExt*pIndexExt);//通过行、列获取索引数据 voidOnUpdataIndexData(IndexDefExt*pIndexExt);//通过索引更新表格内容 主要属性说明CEdit m_editName;//编辑框名 CGridCtrlm_pGridCtrl;//列表框对象 int m_nCurrentEditRow;//当前编辑行 int m_nCurrentEditCol;//当前编辑列(3)CHarmonicApp类类名CHarmonicApp类主要方法说明 HANDLEGetRealDataPipe();//建立管道 HANDLEReconnectRealDataPipe();//重连管道 voidCloseRealDataPipe();//关闭管道连接 voidCloseAllView();//关闭所有视图 voidOpenFormView(LPCTSTRstrName,CLineData*pLine=NULL);//打开视图 BOOLAlreadyOpenView(LPCTSTRstrName,CLineData*pLine=NULL);//判断视图是否已打开 voidTransString(CString&strInput,CString&strOutput);//转换字符串主要属性说明typedefstruct_LineConfig{ int LINENUM; char LINENAME[31]; BYTE LINETYPE; BYTE LINELEVEL; IndexDef DATASOURCE[66];}LineConfig;//线路配置结构HANDLE m_hRealDataPipe;//管道句柄(4)CIndexDlg类类名CIndexDlg类主要方法说明 voidOnButtonUpdata();//刷新数据值主要属性说明IndexDefm_Index;//索引结构体对象 IndexDefExtm_IndexExt;//扩展索引结构体对象CEdit m_editTable;//表号 CEdit m_editRecord;//记录号 CEdit m_editField;//字段号 CEdit m_editBase;//实时库名(5)CLineData类类名CLineData类主要方法说明 voidSetLineName(CStringstrName); //设置线路名称 voidSetLineId(UINTuId); //设置线路ID voidSetLineType(UINTuType); //设置线路类型 voidSetLineLevel(UINTuLevel); //设置线路电压水平CStringGetLineName(); //获取线路名称 UINTGetLineId(); //获取线路ID UINTGetLineType(); //获取线路类型 UINTGetLineLevel();//获取线路电压水平voidSetYMin(floatfYMin); //设置y轴最小值 voidSetYMax(floatfYMax); //设置y轴最大值 voidSetSampleTime(intnSampleTime);//设置采样时间 voidSetWnd(CWnd*pWnd);//设置类指针 voidSetXGridNum(intnXGridNum); //设置x轴的格子数目 floatGetYMin(); //得到y轴最小值 floatGetYMax(); //得到y轴最大值 intGetSampleTime(); //得到采样频率 CWnd*GetWnd(); //得到窗体 BOOLPtInCur(CPointpt); //点是否在曲线的作图区域 voidClearCurData(); //清空数据 voidRefresh(); //刷新 voidCalculateXOffset();//计算X轴偏移(补偿量) voidDrawCurve(CDC*dc,intxxi,intdot,intnPhase);//画曲线 voidDisplay(CDC*pDC); //显示曲线 voidDrawGrid(boolbShowBackGrid,CDC*pDC,intfactor=1);//画网格和坐标 voidCalculateCurData();//计算当前数据 boolGetRealData(); //采样数据主要属性说明BOOL m_bShowA,m_bShowB,m_bShowC;//是否显示A、B、C电压/电流 float m_fDataA[MAXPOINT]; //A相曲线数据 float m_fDataB[MAXPOINT]; //B相曲线数据 float m_fDataC[MAXPOINT]; //C相曲线数据 float m_fValue[66]; //数据 IndexDef m_dataSource[66]; //数据源 constint m_nOWidth; //坐标轴的宽 constint m_nGridXNum; //x轴网格数目 constint m_nGridYNum; //y轴网格数目 int m_nXOffset; //画曲线在x方向的偏移(用于画标值) int m_nYOffset; //画曲线在y方向的偏移 float m_fFactor; //显示缩放因子 float m_fYMin; //最小值 float m_fYMax; //最大值 int m_nYDotNum; //y轴坐标小数点数 int m_lineWidth; //线条宽度.ctb. int m_nSampleTime; //采样频率 COLORREFm_clrCurA; //曲线的颜色 COLORREFm_clrCurB; //曲线的颜色 COLORREFm_clrCurC; //曲线的颜色 int m_nPtPerPage; //每页的点数 CWnd *m_pWnd; //曲线显示的窗体的指针UINT m_uId; //线路id CStringm_strLineName; //线路名称 UINT m_uType; //线路类型 UINT m_uLevel; //电压等级(6)CMainFrm类类名CMainFrm类主要方法说明 voidAddLineNode(CLineData*pLine,intnSize);//添加线路节点 voidDelLineNode(HTREEITEMhtItem); //删除线路节点 voidUpdateLineTree(); //刷新树节点 voidUpdateConfigTree(); //刷新树节点 voidLoadConfig();//加载配置 BOOLUpdateConfig(LineConfig*pLineConfig,intnType);//更新配置主要属性说明CCoolBar m_wndMyBarLeft;//控制条 CCoolTabCtrl m_TabCtrl;//TAB页类 CLineTree m_wndTreeLine; //线路列表 CConfigTree m_wndTreeConfig; //配置列表 CImageList m_ImageList;//图片链表 CMenu m_menuConfg;//菜单配置std::list<CLineData*>m_LineList; //线路列表(7)CMyView类类名CMyView类主要方法说明 voidSetLine(CLineData*pLine){m_pLine=pLine;}//设置线路指针 CLineData*GetLine(){returnm_pLine;}//获取线路指针主要属性说明virtualvoidInit();//初始化函数CLineData*m_pLine; //线路数据指针(设备)4.2.3程序流程 在此以序列图的形式说明系统的实现过程线路配置数据刷新4.2.4涉及的数据库对象 此功能涉及的数据库表主要有:谐波配置表(TD_HARM)等。4.2.5质量要求性能指标功能测试要点 采用黑盒测试的方法即可。 (1)测试线路是否可正确添加、删除、修改。 (2)是否可与公司现有装置通信,实现谐波分析。 (3)查看曲线可否实时刷新。4.3电压波动4.3.1功能描述任何一个波动负荷用户在电力系统公共连接点产生的电压变动,其限值和电压变动频度、电压等级有关。对于电压变动频度较低(例如r≤1000次/h)或者规则的周期性电压波动,可通过测量电压均根值曲线U(t)确定其电压变动频度和电压变动值。本功能主要是通过电压均根值曲线来确定电压变动频度和电压变动值,以此来描述电压波动情况。4.3.2界面说明电压波动原型4.3.3设计类说明 (1)CFluctuateView类 类名CFluctuateView类主要方法说明voidInitGridHeader(CStringsHeader,intnRowNum,intnColNum);//初始化表格列voidFillGridData(CStringsData,intnRowNum,intnColNum);//初始化表格数据voidOnRadioStation();//厂站单选按钮单击voidOnRadioDevArea();//区域单选按钮单击voidOnRadioVLevel();//电压等级单选按钮单击voidOnRadioDay();//按日统计voidOnRadioMonth();//按月统计voidOnRadioSelDefTime();//自定义时间voidOnGridClick(NMHDR*pNotifyStruct,LRESULT*pResult);//表格控件单击voidOnBtnSelectall();//全选voidOnBtnUnselect();//全不选voidOnBtnReversesel();//反选voidOnBtnAnalyze();//开始分析voidOnBtnGenerateqx();//生成曲线voidOnBtnBkgColor();//背景颜色voidOnBtnPrintPreview();//打印预览voidOnBtnSaveBmp();//另存为图片voidUpdateGridData();//刷新表格中的电压波动数据voidGetDataFromSQL();//从数据库读取采样数据主要属性说明intm_nStaMode;//选择统计方式,主要是以厂站、区域、电压等级来统计CComboBoxm_wndStaMode;//统计方式下拉框intm_nParamInterval;//选择统计时间间隔CTime m_ctDTPEndTime;//结束时间CTime m_ctDTPStartTime;//开始时间CGridCtrl m_GridCtrl;//Grid表格对象GV_ITEM m_gvItem;//表格项结构体对象Typedefstruct_ParamValue{WORDnStationNo;WORDnDeviceNum;FloatfValue;}ParamValue;//保存数据的结构体CList<ParamValue,ParamValue&>m_pParamValue;//保存读出的数据链表4.3.4程序流程在此以序列图的形式说明系统的实现过程。请求电压波动曲线4.3.5涉及的数据库对象 此功能涉及的数据库表主要有:电能质量配置表(TD_POWERQUALITY)、五分钟采样表(TS_M5_000、……)、时采样表(TS_H1_000、……)、日采样表(TS_DAY_000、……)、厂站名(TB_STATION)、设备表(TB_DEVICE)、设备类型表(TC_DEVICEMODE)、设备区域表(TC_DEVAREA)、电压等级表(TC_VLEVEL)等。4.3.6质量要求性能指标 无。功能测试要点 采用黑盒测试的方法即可。 (1)对于查询统计出的历史数据,可正确生成对应点的曲线。 (2)对于查询统计出的历史数据,可正确导出为报表、打印预览等。4.4电压偏差功能及设计类似频率偏差、电压波动,详见4.1、4.3,在此不再赘述。4.5三相电压不平衡度 功能及设计类似频率偏差、电压波动,详见4.1、4.3,在此不再赘述。4.6暂时过电压与瞬态过电压 对于此部分主要考虑两部分,一、考虑到电压的实时性,软件一方面支持电压值与电压曲线实时显示,同时也支持使用历史数据进行过电压的曲线显示与报表导出,其它功能及设计类似频率偏差、电压波动,详见4.1、4.3,在此不再赘述。4.7展现与输出4.7.1功能描述该部分主要是对曲线或表格中的数据以报表形式输出、把曲线以图片形式显示/保存、把表格数据打印或导出,供运行维护人员分析、对比,以便快速作出相关处理。导出:对统计出的表格数据导出为报表。背景颜色:点击按钮“背景颜色”,可对曲线的背景颜色进行修改。另存为:把当前曲线另存为BMP图片。打印预览:对当前曲线进行打印预览、打印操作。4.7.2界面说明曲线(背景颜色)曲线(另存为)4.7.3设计类说明 (1)CChartDlg类类名CChartDlg类主要方法说明 void InitData_Day(); //初始化以天为间隔的数据 void InitData_Month(); //初始化以月为间隔的数据 void RedrawQuXian(); //重画曲线 void OnPrint(CDC*pDC,CPrintInfo*pInfo);//打印预览 void SetWindowTextE(CStringsTitle,CStringsText);//设置窗口标 主要属性说明CMainFrame2*m_PreFrame; //打印预览用的主框架类 CChartWnd* m_pChartWnd; //CHART控件类指针 long m_lCount; //总个数 long m_lCountDay; //总天数 int m_nGraphType; //曲线类型 COLORREF m_clrBkgClr; //曲线背景颜色CTime m_ctStartTime; //开始时间 CTime m_ctEndTime; //结束时间 CString m_sTitleQuxian; //曲线标题 CString m_sTitle; //窗口标题内容 (2)CExportToExcel类 类名CExportToExcel类主要方法说明BOOLInitExcel(); //初始化COM支持库BOOLCreateExcel(); //创建EXCELBOOLSetExcelTemplatePath(CStringsTemplatePath); //设置EXCEL模板路径voidSetSavePath(CStringsFileDir); //MSW100412voidExitExcel(); //退出EXCELvoidSetExcelSheetName(CStringsSheetName,intnSheetNo=1); //设置SHEET名称voidMergeExcelCells(CStringsStartCell,CStringsEndCell); //合并单元格voidMergeExcelCells(LONGlLeft,LONGlTop,LONGlRight,LONGlBottom); //合并单元格voidSetExcelCellText();//设置单元格内容voidSetExcelCellText(CStringsCell,CStringsText); //设置单元格内容voidSetExcelCellText(LONGlx,LONGly,CStringsText); //设置单元格内容voidSetExcelCellText(CStringsStartCell,LONGlRowNum,LONGlColNum,CListCtrl*pListCtrl,BOOLbExportHeader=TRUE); //设置单元格内容(支持CListCtrl)voidSetExcelCellText(LONGlx,LONGly,LONGlRowNum,LONGlColNum,CListCtrl*pListCtrl,BOOLbExportHeader=TRUE); //设置单元格内容(支持CListCtrl)voidSetExcelCellText(CStringsFlag,LISTCELLTEXT&pCellText,BOOLbReplaceAll=TRUE);//设置单元格内容bReplaceAll(TRUE-完全符合才替换,FALSE-部分符合替换)voidSetExcelCellText(CStringsFlag,CStringsText,BOOLbReplaceAll);//设置单元格内容bReplaceAll(TRUE-完全符合才替换,FALSE-部分符合替换)//垂直对齐:默认=2,居中=-4108,左=-4160,右=-4107voidSetExcelVAlignment(longnFlag=-4108); //设置垂直对齐方式//水平对齐:默认=1,居中=-4108,左=-4131,右=-4152voidSetExcelHAlignment(longnFlag=-4108); //设置水平对齐方式voidSetExcelCellAttribute(CStringsStartCell,CStringsEndCell,CStringsFontStyle, intnBold,intnSize,intnFontColor,intnBkgColor);//设置标题属性//nLineStyle-线型,nWeight-线宽,nColorIndex-线颜色(-4105为自动)voidSetExcelCellBorder(CStringsStartCell,CStringsEndCell,intnLineStyle,intnWeight,longnColorIndex=-4105); //设置表格边框//设置单元格自动换行//必须要在填充完单元格内容后调用才会生效voidSetExcelCellAutoNewLine(CStringsCell,BOOLbAutoNewLine=TRUE); //设置单元格自动换行voidSetExcelCellAutoNewLine(LONGlx,LONGly,BOOLbAutoNewLine=TRUE); //设置单元格自动换行voidSetExcelCellAutoNewLine(CStringsStartCell,CStringsEndCell,BOOLbAutoNewLine=TRUE); //设置单元格自动换行voidSetExcelCellAutoNewLine(LONGlLeft,LONGlTop,LONGlRight,LONGlBottom,BOOLbAutoNewLine=TRUE); //设置单元格自动换行voidSetExcelCellAutoNewLine(BOOLbSetAll,BOOLbAutoNewLine=TRUE); //设置单元格自动换行//根据输入的标志符返回单元格坐标BOOLGetExcelCellByInputFlag(CStringsFlag,CString&sCell,BOOLbReplaceAll=TRUE); //根据输入的标志符返回单元格坐标bReplaceAll(TRUE-完全符合,FALSE-部分符合)BOOLGetExcelCellByInputFlag(CStringsFlag,LONG&lx,LONG&ly,BOOLbReplaceAll=TRUE); //根据输入的标志符返回单元格坐标bReplaceAll(TRUE-完全符合,FALSE-部分符合)BOOLCheckFileIsExist(CStringsFilePath); //检查文件是否存在voidGetNoByCellString(CStringsStartCell,CStringsEndCell,LONG&nStartRow, LONG&nEndRow,LONG&nStartCol,LONG&nEndCol); //根据传入的字符串(如A1,D5)获取行、列的个数voidGetNoByCellString(CStringsCell,LONG&nRow,LONG&nCol); //根据传入的字符串(如A1,D5)获取行、列的个数voidGetCellStringByNo(LONGlx,LONGly,CString&sCell); //通过传入的坐标点获取对应的CELL字符串voidSetExcelCellTextListCtrl(LONGlx,LONGly,LONGlRowNum,LONGlColNum,CListCtrl*pListCtrl,BOOLbExportHeader=TRUE); //设置单元格内容(支持CListCtrl)BOOLGetExcelCellByInputFlagPublic(CStringsFlag,LONG&lx,LONG&ly,BOOLbReplaceAll=TRUE); //根据输入的标志符返回单元格坐标bReplaceAll(TRUE-完全符合,FALSE-部分符合)主要属性说明CStringm_sCurItemFlag;//当前项标志CString m_sSaveAsDir;//保存目录的路径Rangem_exlRge;//范围_Applicationm_exlApp;//应用程序Worksheetsm_exlSheets;//工作表组_Worksheetm_exlSheet;//工作表Workbooksm_exlBooks;//工作簿组_Workbookm_exlBook;//工作簿LONGm_lItemFound; //在模板中根据标志找到的CELL的个数4.7.4程序流程在此以序列图的形式说明系统的实现过程。曲线绘制导出为报表4.7.5涉及的数据库对象 此功能主要是对已经产生的数据进行输出,不涉及相关的数据库表。4.7.6质量要求性能指标 无。功能测试要点 采用黑盒测试的方法即可。 (1)对于查询统计出的历史数据,可正确生成对应点的曲线。 (2)对于查询统计出的历史数据,可正确导出为报表或正确打印。4.8电能质量数据点配置4.8.1功能描述该部分主要是对本软件中的所要监视的频率、电压变化、电压波动、三相电压不平衡度所需要的数据点进行配置,以便用户在查看数据、曲线或报表时,可以直接按“厂站-设备”选择;工具栏上有“保存”、“添加数据”、“删除数据”、“取消修改”、“全部取消”、“查看”、“修改”。对数据库中的各种实时数据,允许用户进行添加、删除、修改等操作。当用户点击“电能质量配置”结点时,“查看”、“修改”、“打印”、“导出”按钮才处于可用状态。修改:点击“修改”按钮,弹出密码验证对话框框,输入正确的密码后,才可进行修改操作。查看:使当前修改状态为查看状态,不可修改,如果有已修改且未保存的数据项,则提示是否保存。添加数据:当处于“修改”状态时,可点击“添加数据”增加一条数据。保存数据:当修改某条数据项时,点击“保存数据”保存至实时数据库,由实时数据库同步到磁盘数据库。删除数据:对某条不用的数据进行删除。取消修改:如某条已修改的数据项不正确,可点击“取消修改”进行取消操作,当有多条数据项处于修改状态时,默认只取消最后一步的修改操作。全部取消:对已经修改的一条或多条数据进行取消修改操作。4.8.2界面说明4.8.3设计类说明此模块主要的类设计如下表所示:类名CMainFr

温馨提示

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

评论

0/150

提交评论