《电力监控系统报文监视程序概要设计说明书-V1.00.docx》由会员分享,可在线阅读,更多相关《电力监控系统报文监视程序概要设计说明书-V1.00.docx(10页珍藏版)》请在优知文库上搜索。
1、报表程序优化需求分析说明书文件编号生效日期受控编号保密级别M版本号修改状态总页数正文附录编制审核批准1.1 编写目的41.2 背景41.3 定义41.4参考资料4立体设计S2.1 需求规定51 .1.1主角52 .1.2系统边界52.2 运行环境62.2.1 蔑件坏境62.2.2 软件环境62.3 概要设计决策62.3.1 设it原则62.3.2 设计决策72.4 开发环境825结构设计83Kiftia83.1 MositorScckei.D1.1.83.2 XtoM1.OR.EXE9i,1.I一I一一一一I一I一一一一I一I一一一一I一I一II、质115.1 卷fit要求I1.5.2 性能要
2、求I1.1引言1.1 编写目的本文档是报据报文赛视软件开发需求分析说明书,针对报文监视软件的各项需求诳行的分析和初步设计,旨在为该功能模块的设计、建设提供资料和依据,通过本极娈设计报告,可以了斛到有关本功能模块的背景、隹设要求、设计原则、总体设计及接口说明等.本文档面向的读者是:报文监视软件的开发人员、报文监视软件的测试人员以及其他想要了解报文监视软件设计思路的相关人员。1.2 背景软件名称:报文监视软件。本软件的开发需求由研发部SCADA平价软件组提出,由软件组实现开发,由开发部软件组和开发部测试组共同完成测试任务.1.3 定义下发列出本报告中专门术语的定义、英文缩写诃的原词组和意义、项目组
3、内达成一致意见的专用词汇,同时缚承全部的先前过程中定义过的词汇.询汇名称询汇含义务注1.4 参考资料资科名称说明1报文监视软件开发需求分析说明书2总体设计2.1 需求规定2.1.1 主角(1)报文监觇软件开发人处软件的升级、维护和开发人员,主要业务功能包括软件的开发/维护、功能扩充等。(2) HI文监视软件测试人员报文监视软件测试人员,主要业务根据另报丈监视软件开发衢求分析说明书和-900D配电综合自动化系统安装配置手册3对软件进行全面的测试.2.1.2 系统边界900D配电综合自动化系统是由多个软件模块组成的,各个模块之间通过通讯实现数据的交互,各模块之间迪讯有命名管道、UDp以及TCP等多
4、种通讯方式,整个SCADA系统中所有信息的交互都是通过这些不同的通讯方式实现的,为了方便的监视SCADA系统中各个模块的实时运行状态,需要实时显.示出这些模块之间的通讯报文.另外,在系统故障运行时.为了梢助技术人员判断故障的原因,系统会人为给出一些对应的错误信息,这些信息也需要有地方展示出来.原有系统,在Srv.exe程序中实现了一个池讯监视的功能.但该功能只姑实现了Srv.exe程序和前汽机之间通讯报文的实时监视,对于SCADA系统中各个模块之间的通讯报文都没有进行实时监视,因此需要重新开发一个软件.以实现后台系统各个子模块之间的遹讯报文和运行时信息的实时监视.通讯监觇程序主要应具备以卜功能
5、:(1)在程序界面打印显示出后台程序各模块之间的遹讯报文.(2)在程序界面打印显示出后台程序和前置程序之间以及以后可能涉及到的网络上各个设;的通讯报文.(3)提供一系列方便解析、筛选查看的功能.支持16进制数和RSCU码两种显示方式,方便用户杳看通讯机文和衣石系统输出的系统运行信息.(5界面友好,方便操作,界面风格与整个-90OD配电综合自动化系统统一.(6)能够分辨出后台的各个功能模块。2.2 运行环境2.2.1 硬件环境件件环境类别要求需注CPUIGIIz以上CPU内存最少512MB主机硬盘域少IOGBM卡最低IOMbZs以太网112个2.2.2 软件环境软件环境类别要求备注操作系统Bin
6、doWS2000或WindOWSXP数据库SQ1.SERVER2000应用软件MSEXCE1.20032.3 概要设计决策2.3.1 设计原则(1)软件需要有一个良好的设计框架。为了软件能适应未来几年的现场辐要,软件应该根据实际衢要保持定的可扩展,这就要求系统升级时对己于该系统实施的系统施容,软件设计必须有良好的设计框架。其中包括:第一、多采用复用技术.笫二、底层业务模块相对独立,低楮合度.第三、保持业务模型稳定,表现出来就是InterfaCe稳定.第三、良好的人机交互界面.(2)软件需要具有持续开发,功能完善能力,具有良好的向前赧容性,考虑到目M该软件模块使用对象的实际操作水平以及需求,软件
7、开发不可能一步到位,但是必须考虑到未来的需求,目前系统必须为以后的功能完善,犷展留有充分的接口,系统具有良好的向前兼容性,(3)系统的使用要考虑变电站运行维护人员的易用性本软件的最终用户为变电站运行维护人员,在设计软件时要考虑人员的使用习惯和方便使用,简单易用的系统可以提高现场工程实施人员的效率,降低出错的几率。2.3.2 设计决策本节记录时概要设计具有说要影响的软件痴求和约束,描述相关的曲要决策和决策的原W-这些决策一般对设计有很大影响,它们的改变很难通过设计技巧来解做,例如所选用的开发语古,所选用的平台、组件和框架,对关耀业芬类和方法的处理等.决策1X报文监视的模式报文族视的模式|标识号A
8、DO1.向JK描述采用统一的推文需视。假设条件可选方案1、越个进程流视各自的报文.2、使用一个陶用软件监视所有模块的通讯状况使用含仃源码的GRID控件CGridQr1.理由K在每个进程中开启一个1;DP通讯鞋路,通过一个专门的进程,将要监视的报文发给报文监视程序,这样不需要打榴侬的修改每个应用程序.2,统一的报文浏览方便用户杳看时相关决策决策2:子模块数据发送的方式ftt-M子模块需监视报文的发送方式I标识号ADO1.W愚描述子模块如何发送要赛观的报文假设条件可选方案1、在本程序中添加发送的代码。2、设计一个公用DI1.供各个模块调用设计一个公用D1.1.供各个模块调用理由k公用DU.模块独立
9、,各个模块只需要在初始化时隔用该D1.1.在DI.I.里实现SOCKET的建立和报文发送现程的启动.影响相关决策2.4 开发环境开发用机湍类别要求得注CPU1.8CHz以上CPU内存域少1O21MB主机硬盘最少80GB网卡1.010(Wbs操作系统InndOWS2000开发软件MicrosoftVisua1.C+6.02.5 结构设计本软件通过两个模块实现。通过报文发送模块MonitorSocket.D1.1.和通讯股视程序Monitor.EXE这两个模块实现报文监视功能.后台中每个要进行报文监视的模块加载MonitorSocket.P1.1.将要监视的报文通过UDP方式发送出去,Monito
10、r.EXE接收到后将该报文分类打卬出来,3模块设计3.1 MonitorSocket.D1.1.该模块中包括一个发送蜿程、一个通讯SoCKET利一个发送报文队列,应用程序加靓该模块,调用TraCCTUMUniIOr函数将要监视的报文内容打包加入到发送报文队列中并通知发送线程.发送线程接到通知后检连发送报文认列,通过通讯SOCKET将报文发出去.该D1.1.有三个导出函数(1) BOO1.BINAPIIniIMonitor(JffiXDhUnd);应用程序初始化时调用InitMOnitor函数.启动发送线程、建立通讯SOCKET、初始化发送队列,参SthWnd为应用程序iS理的句柄,用于解析进程
11、的PID。(2) voidB1.NAP1.ExitMonitorO;应用程序退出时时两用EXitNCnitor函数,关闭通讯SOCKET、清空发送队列、关闭发送线程.(3) voidWINAPITraceToMonitor(constcharFAR*IpData,intn1.ength,int11Type);应用程序在需要监视的地方调用该函数,参数IpData为要施觇的报文地址,梦数n1.ength为报文长度,参数nType为报文类型.在动态钺接用.主要由一个战程CSockerThread实时发送报文:CSoCketThrCadDWORDm_dwPID;- DWORDm.dwPo11No;-
12、CRITICA1.SECTIONm.csSendMsg;- BOO1.m_bExi1.F1ag:HAND1.Em_hEvcnt;- CPir1.istm_1.istSendMsg;CNIonSockei*m_PSOCket;+BOO1.CrcateScndSockct();+voidSendSOCketMSg(BYTE*pMsg.DWORDdw1.en);+BOO1.SendMsgToMonitorO;+voidC1.carSendMsgO;+VOidAddMoni1.OrMSg(BYTEPMSg.DWoRD.ininType):3.2 Monitor.EXE报文监觇软件接收各个应用程序的Mo
13、nitorSockc1.D1.1.模块发送过来的报文,分类打卬显示,并提供相关监视和筛选的功能.该模块中包括一个接收规程、一个通讯SoeKET和一个接收报文队列,通讯SOeKET接收到需要监视的消息后,打包加入到接受报文队列中并通知接收线程,接收现场检查接收队列并分类解析显示.其主要功能包括(1)进程列表:列出接收到的报文的发出的进程名。(2)报文视图:报文刷新的界面,视图中以十六进制数和ASCI1.码两种方式分别打印出当前进程所属的所仃报文的显示.(3) “苦停”功能:哲停当前视图的报文刷新,(4) “清除按钮:清除当前视图中的所有报文显示.(5)“关谖字”筛选:添加某些关雄字,在视图中让与
14、关键字凸显出来,方便报文的查询和分析,关键字是以十六进制的字节作为最小单位的,设词多个字节关键字时,字节之间需用空格隔开.“类型”筛选:筛选视图中显示报文的种类.该模块中设计CA4odu1.a作为一个进程的类,用于存储进程的信息,及其发送的报文列表.CMOdU1.a:PubIiCCobjCC1.- CStringm-szNane;- intm_nM(.x1.u1.a;- intm-nrdcr;- C1.isKCDataObj*.CDataObj*m_1.iSIDa1.a:B(X)1.m_bPause:-imm_nToia1.Byies;+voidSeIName(CStringszNane);+voidSctMc1.u1.a(intnModu1.a);+voidSetOrdcrtintnrdcr);+CStringGetName():+intGetModu1.aO;+iniGc1.OrdcrO:+voidPausc(BOO1.bPausc);+BOO1.ISPaUSed0:+BOO1.AddData(char*PDaa,intn1.ngth,UINTnType);+VOidRCmoVCDa1.a(intnTn1.a1.);