




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 分布式能源箱变测控装置规约转换模块 项目软件(系统/概要)设计说明书 项目令号: 承担部门: 微网所 编 制: 刘亮 E-mail/Tel: 审 核: 会 审: 批 准: 国电南京自动化股份有限公司软件系统/概要设计文档修改记录日期版本作者修改内容1.0刘亮初始版本。描述PCM嵌入式软件的系统概要设计。注1:每次更改归档文件(指纳入配置基线的文件)时,需填写此表。注2:文件第一次归档时,“更改理由”、“主要更改内容”栏写“无”。摘要本文对分布式能源箱变测控装置规约转换模块(简称规约转换模块,PCM)的嵌入式软件的总体架构设计进行描述。PCM配套的配置工具主要牵涉到数据库设计和界面设计,不包含
2、在本文档的叙述范围内。PCM以数据采集、转发为核心功能,嵌入式软件在架构设计上采用了数据中心模式。为保证数据转发效率,采用共享内存方式的实时数据库设计。为减小系统模块的耦合,给系统扩展留有足够空间,系统采用多进程方式独立实现各子功能。各子功能模块通过进程访问接口(PAI)进行通信,通信方式包括信号量和共享内存两种。为提高软件的兼容性,系统设计了硬件抽象层(HAL)模块和数据库访问接口(DAI)模块,将硬件平台和数据库的操作进行了统一封装。为提高系统的稳定性,设计了守护进程模块。守护进程通过信号量握手来监控实时数据库进程、通信规约进程等其他进程的运行状况,可以在被监视的进程发生异常时对其及时修复
3、。目录第1篇 概述31.1 范围31.2 设计依据31.3 术语、定义和缩略语31.3.1 术语、定义31.3.2 缩略语4第2篇 系统总体设计42.1 体系结构概述42.2 系统体系结构52.3 标准化设计62.3.1 模块标准化设计62.3.2 接口标准化设计62.3.3 界面格式62.3.4 编码约定72.3.5 注释约定72.4 系统版本规划82.5 系统处理流程92.6 子系统说明102.6.1 实时数据库RDB102.6.2 历史数据库HDB102.6.3 通信规约模块112.6.4 辅助模块112.6.5 守护进程模块112.6.6 网关模块122.7 系统数据结构设计122.7
4、.1 逻辑结构设计要点122.7.2 物理结构设计要点122.7.3 数据与子系统关系122.8 开发和运行环境122.8.1 硬件环境122.8.2 软件环境132.8.3 外购件分析132.9 可靠性设计132.10 可测试性设计132.11 安全性设计142.12 出错处理设计142.13 设计依据与需求跟踪14第3篇 系统运行说明153.1 配置说明163.2 系统应用方式163.3 代码目录说明16第4篇 技术方案总结164.1 关键技术问题说明174.2 技术复用说明17第5篇 总体进度计划175.1 项目分解185.2 完成时间18第6篇 参考文献196.1 参考文献19第1篇
5、概述1.1 范围本文件规定了分布式能源箱变测控装置规约转换模块(简称PCM)的软件总体设计及使用的关键技术等,主要围绕PCM的嵌入式软件进行阐述。PCM的配置工具并不在本文档中进行说明。1.2 设计依据GB/T137292002 远动终端通用技术条件DL/T630-1997 交流采样远动终端技术条件DL50022005 地区电网调度自动化设计技术规程DL50032005 电力系统调度自动化设计技术规程DL/T5592007 220kV-500kV 电网继电保护装置运行整定规程DL/T5103-1999 35kV-110kV无人值班变电所设计规程DL/T5149-2001 220-500kV变电
6、所计算机监控系统设计技术规程DL/T872-2004 小接地电流系统单相接地保护装置DL/T860.3-2004 变电站通信网络和系统 第3部分 总体要求DL/T667-1999 远动设备及系统 第5部分-传输规约 第103篇-继电保护设备信息接口配套标准DL/T634.5101-2002 远动设备及系统 第5-101部分:传输规约 基本远动任务配套标准DL/T634.5104-2002 远动设备及系统 第5-104部分:传输规约 采用标准传输协议子集的IEC 60870-5-101网络访问1.3 术语、定义和缩略语1.3.1 术语、定义本文件应用了以下术语和定义:配置数据库存储工程配置的数据
7、库,文件形式,由配置工具产生历史数据库存储历史事件的数据库,文件形式,非易失存储实时数据库存储实时数据的数据库,处于内存中,掉电消失进程OS进行资源分配和调度的基本单位,可理解为动态的程序。共享内存可被多个进程共享的物理内存,进程间共享数据最快的方法前端规约进程PCM和前端装置之间的通信规约进程后端规约进程PCM和后台综自系统之间的通信规约进程守护进程PCM中启动、监视、控制其他进程的进程配置工具主机端运行的App,负责配置数据库相关的操作网关进程PCM上运行的网关进程,负责调试功能相关的用户交互硬件抽象层对PCM底层硬件操作进行封装的库,方便跨平台移植1.3.2 缩略语本文件应用了以下缩略语
8、:PCMProtocol Convert Module规约转换模块HDBHistory Data Base历史数据库CDBConfiguration Data Base配置数据库RDBReal-time Data Base实时数据库HALHardware Abstract Layer硬件抽象层PAIProcess Access Interface进程访问接口DAIDatabase Access Interface数据库访问接口第2篇 系统总体设计2.1 体系结构概述PCM的主要功能是数据采集转发。在嵌入式软件的系统设计中,主要采用数据中心架构,辅助以适配器方式的接口模块。PCM中,数据中心角色
9、由RDB扮演,监视方向和控制方向的信息都需要经过RDB的中转,实现通信规约的转换,继而实现系统内部的通信。HAL、PAI和DAI是PCM功能模块中的公用模块,他们的具体接口见相应的设计文档。他们实际上扮演了针对系统硬件平台、数据库操作、进程间通信的适配器角色。通过这3个模块,可以将系统的其他功能模块实现功能解耦,提高了系统的可维护性。具体的体系结构参见图1.2.2 系统体系结构图1 PCM嵌入式软件系统结构示意图系统具有三个数据库:RDB、HDB和CDB。CDB由配置工具离线产生,以文件形式提供了工程项目中的各相关配置;RDB是内存形式的数据库,存放的是微网系统中的实时SCADA信息;HDB是
10、文件形式的数据库,存放的是符合特定条件的SCADA历史信息。HAL封装了PCM底层硬件的驱动操作,为调用者提供了统一、便捷的硬件访问接口,使得其他功能模块与具体的硬件隔离,提高了软件的可移植性。DAI封装了数据库的驱动操作,使得调用者无需关注具体的SQL、数据库连接等操作,将数据库的表结构与具体应用隔离开来,为开发后期可能出现的数据库移植、表结构更改留下余地。PAI封装了进程间通信接口,它一方面将复杂的进程间通信封装成易调用的库函数,另一方面也提供了类似于面向对象设计中接口适配器的功能,方便应用的开发和调整。前端通信规约模块通过HAL与微网系统中其他装置进行通信,获取系统的SCADA信息,并通
11、过PAI接口将其传入RDB保存。后端通信规约模块通过PAI访问RDB,将系统的SCADA信息以特定规约的数据单元格式进行封装,通过HAL转发至微网系统的后台综自系统。通用网关接口模块由Web服务器调用,为用户提供数据查询、数据修改、装置控制等PCM相关的调试功能。守护进程模块负责监控其他进程的运行状态,在出现异常情况时进行恢复处理,保证PCM系统的正常稳定运行。2.3 标准化设计2.3.1 模块标准化设计由于RDB、HAL、DAI、PAI牵涉到具体的数据库表设计和平台底层硬件操作封装,CGI模块与具体的网页请求绑定,因此上述模块无法进行模块标准化。但是通信规约模块的数据处理部分可以进行标准化,
12、供其他产品项目使用。2.3.2 接口标准化设计本系统将对HAL、DAI、PAI的接口进行标准化,为项目后期的平台移植、数据库调整、功能扩展等情况预留兼容性操作空间,以提高同系列产品的研发质量和效率。2.3.3 界面格式PCM的界面主要有两部分:配置工具和Web页面。配置工具负责产生配置数据库,其界面设计需结合配置数据库的设计进行设定,不在本文档说明范围内。Web页面主要向用户提供PCM的在线调试功能,其主要页面及各页面涉及的功能见下图。图2 Web系统页面功能设计2.3.4 编码约定建议在编程开发时采用应用型匈牙利命名法。2.3.5 注释约定无。2.4 系统版本规划各子模块的版本应采用x.yy
13、形式。x表示大版本号,在设计未做大的调整的情况下应保持x不变,仅在模块的设计发生大的变化、接口进行调整、研发阶段改变(阶段、阶段)时修改,且以步长为1递增;y表示小版本号,在开发者进行bug修正、算法调整等不影响与其他模块接口的情况下,以步长为1递增。x初步定为13,1表明研发阶段,2表明系统测试阶段,3表示发布阶段。2.5 系统处理流程图3 系统处理流程图3描述了PCM从上电到运行的大致过程,基本涵盖了图1中的所有功能模块。由于CGI模块由Web服务器调用,且主要以函数库的形式向Web服务器提供接口,故而未在图中进行描述。CGI模块具体包含的接口不在本文档的说明范围内,请参见其设计文档。2.
14、6 子系统说明2.6.1 实时数据库RDBRDB是PCM中存储实时SCADA信息的功能模块。在监视方向上,前端通信规约进程将采集的SCADA信息存入RDB,由后端通信规约进程取出后,以另一种规约格式进行封装后转发至综自后台;在控制方向上,则进行上述操作的逆操作。由于PCM前端装置和PCM后台系统之间通常采用不同速率的物理通信方式,RDB实际上还起到同步异步时钟域的作用。RDB要同时处理多个通信规约进程的访问,它的关键质量属性是性能,特别是数据存取速度。系统设计方案考虑了以下两点来保证RDB的性能属性:1. PCM系统采用多进程方式的设计,且RDB牵涉大量数据的交互,因此在设计方案中采用进程间通
15、信技术中速度最快、适合大规模数据交互的共享内存技术来作为RDB的实现技术。2. RDB主要保存系统的点表信息,点表信息在确定后基本不会改变,那么在数据存储的组织上,方案建议RDB采用数组方式而不是链表方式来组织信息的存放。这样虽然牺牲了动态增添点表的能力,但是保证了信息存取的速度对RDB中点信息的访问,只要通过特定的算法计算出数组下标即可一步定位到所需数据。2.6.2 历史数据库HDBHDB记录PCM在运行过程中接收到的特定SCADA信息,例如SOE事件、遥控操作等,这些特殊SCADA信息来自于RDB。HDB的关键质量属性是安全性,还要考虑对RDB性能的影响。HDB的安全性主要是指它的内容只能
16、由RDB写入,且一旦写入就不可修改删除。HDB在实现上是以文件形式存在,由HDB管理进程管理。HDB管理进程应仅在需要写入信息时将HDB文件的属性设为可写,其余时间都设为只读。由于HDB以文件形式存在,写操作相对写内存来说是低速的。为避免对RDB的性能影响,方案设计建议HDB管理进程配备写缓冲。在写入历史信息时,RDB将信息推送至写缓冲,由HDB管理进程负责将信息写入文件。配备写缓冲还可以防止突发历史信息的丢失。2.6.3 通信规约模块通信规约模块负责采集、转发系统SCADA信息,分为前端通信规约模块和后端通信规约模块。换句话说,每个通信规约都有client和server两种工作模式。通信规约
17、模块负责PCM上一个特定物理通信端口的数据通信。在PCM系统设计中,通信规约模块应负责各种ASDU数据的分析,并实现为保证通信质量所规定的一系列通信保障措施。工程应用的多样性决定了通信规约模块的关键质量属性是可扩展性。通信规约模块的可扩展性体现在规约参数的可定制方面。由于每个规约实例对应的参数都不一样,且规约参数是通过配置工具在CDB中定制的,那么它不包含在本文说明范围内。具体请参见CDB设计文档和配置工具设计文档。2.6.4 辅助模块辅助模块主要指硬件抽象层HAL、数据库访问接口DAI和进程访问接口PAI。辅助模块的引入主要是为了降低PCM软件与平台硬件、操作系统、数据库系统的耦合,为系统扩
18、展、平台移植预留空间。辅助模块的关键质量属性是可扩展性和可移植性。在可扩展性方面,方案建议辅助模块采用C+的多态技术实现,这样可以方便地扩展已有接口,不影响前期使用已有接口的模块;另外,与具体硬件操作、操作系统函数调用、具体数据库表结构的访问也应封装在辅助模块中,使得辅助模块具有接口适配器的作用,这样在更换底层软件、跨平台移植、修改表结构、功能模块并行开发的时候,只需修改相应的辅助模块即可,不会对其他模块产生影响。2.6.5 守护进程模块守护进程模块负责监视PCM运行中的通信规约进程、RDB管理进程、HDB管理进程等多个进程的运行状态,在异常情况发生时,通过特定处理来保证系统继续正常运行。守护
19、进程模块是系统可靠性的根基,它的关键质量属性是可靠性。方案设计中,为保证守护进程的可靠性做了两方面的工作。一方面,守护进程的功能被压缩到最低,它只负责其他进程的加载、注册和监视,并对异常进程进行统一的killrestart操作,这就使得代码的实现复杂度大为降低,减少了出错的可能;另一方面,方案设计守护进程由主进程进行监视,一旦发生异常,将采用比killrestart更高级别的系统重启方式来彻底消除隐患。2.6.6 通用网关接口模块CGICGI模块主要负责处理PCM的在线调试功能,它和系统中的其它模块相对独立,由PCM中的Web服务器调用。从使用角度来看,CGI模块是给Web服务提供特定功能的函
20、数库。由于PCM的在线调试功能可以修改RDB和CDB中的部分信息,因此CGI模块的关键质量属性是安全性。为保证CGI模块的安全性,方案设计采用基于角色的访问控制机制。任何用户在使用网页登录PCM进行相关操作前,都需要验证其身份。此外,用户的身份信息在CDB中应以密文形式保存。2.7 系统数据结构设计2.7.1 逻辑结构设计要点数据结构的设计与数据库表结构有关。具体请参见项目相关的数据库表设计文档及相关功能模块的设计文档。2.7.2 物理结构设计要点参见项目相关的数据库表设计文档和功能模块设计文档。2.7.3 数据与子系统关系具体请参见相关功能模块的设计文档。2.8 开发和运行环境2.8.1 硬
21、件环境开发本软件系统所需的硬件环境为:Intel i3处理器、2GRAM、80G硬盘。本软件系统对实际运行环境的最低要求为:ARM 9 处理器400MHz、64M ROM、64M RAM或同级别工控机。2.8.2 软件环境l 操作系统:Linux内核2.6.32.2;l 数据库系统:MySql 5.0;l 开发工具:Qt 4.8.2、PHP 5.5、JavaScript ECMA5;l 编译器:gcc/g+ 4.3.3、arm-linux-gcc 4.4.3;l 虚拟机:VMWare Workstation 8.0;l Web服务器:Apache 2.4软件可运行于虚拟机系统上,经过PC机的交
22、叉编译后,运行于ARM9平台。2.8.3 外购件分析暂无。2.9 可靠性设计软件设计在两方面对可靠性进行了保障。首先,软件系统被划分为多个功能模块,每个功能模块以单独进程方式运行,通过进程间通信技术进行信息交互。某个进程在发生异常时,不会影响到其他进程,使得问题能被有效控制隔离。其次,系统设计了守护进程模块,能够对各个运行的进程进行主动监测。一旦异常发生,守护进程会采取终止异常进程、重新加载功能模块的方式进行错误恢复。守护进程本身也被监视,一旦发生异常会采用设备重启的方式来恢复整个PCM系统。2.10 可测试性设计在测试方面建议采用自底向上的方法,这样能够尽可能多地发现设计和实现上的错误。首先
23、,每个功能模块(类/库函数)都需要进行单元测试。单元测试包括库函数使用的子函数、类包含的成员函数,主要关注函数的输入输出、异常处理是否在落在设计范围之内。在子函数、成员函数测试通过的基础上,完成对整个功能模块(类/库函数)功能的测试。其次,在单元测试的基础上,对多个功能模块进行合成测试。合成测试主要测试模块之间接口的正确性和完备性。再次,在合成测试的基础上,对所有功能模块进行整合,进行系统测试。系统测试主要测试软件的功能是否完备,是否满足软件需求的可追踪性。系统测试需要在真实的物理平台上运行软件系统。2.11 安全性设计PCM运行于相对封闭的电力系统网络环境中,其安全性主要体现在加密、安全审计
24、和访问控制上。加密方面,用户信息在CDB中不是以明文形式存放,而是用户信息的密文形式。在需要的时候,用户输入口令,由PCM进程进行验算核对。在访问控制方面,PCM软件采用基于角色的访问控制策略,用户使用浏览器访问PCM时,需要提供身份信息,并且在通过Web页面进行特定操作,例如重启设备、人工置数、修改点表信息时,都会被网关进程进行权限验证。安全审计方面,PCM的HDB模块会有一些关键操作的记录,例如遥控操作、人工置数、设备重启等,且这些记录对用户是只读的,能够在需要的时候提供审计证据。2.12 出错处理设计模块的调试信息输出应受到统一控制。在系统软件运行于调试版本时,对于一般的逻辑错误,模块将
25、出错信息输出至PCM系统控制台(Linux的console),用户通过SSH工具、Telnet工具可以访问这些调试信息。对于严重的进程异常,由守护进程实行killrestart操作完成错误恢复。2.13 设计依据与需求跟踪需求说明书中的4.1.9和4.1.10是配置工具相关,不属于本文档说明范围。需求说明书对应章节需求编号及名称总体设计对应章节4.1.1SR-PCMES-F-0010 PCMES的上电初始化2.5SR-PCMES-F-0020 SCADA信息采集转发4.1.3SR-PCMES-F-0030 日志记录及查看4.1.4SR-PCMES-F-0040 PCM出厂测试4.1.5SR-P
26、CMES-F-0050 基于角色的访问控制机制2.3.3、2.6.6、2.114.1.6SR-PCMES-F-0060 灾难自恢复2.2、2.5、2.6.5、2.9、2.124.1.7SR-PCMES-F-0070 实时数据库访问管理4.1.8SR-PCMES-F-0080 在线调试功能第3篇 系统运行说明3.1 配置说明PCM的配置定制具有高度灵活性,与具体的工程应用有关。PCM在运行前,首先应当由配置工具生成CDB,描述采用的通信规约、系统设备、通道参数等,并由配置工具将CDB及相关的规约库模块下载至PCM。配置工具相关描述不在本文档范围内,请参见相关设计文档。PCM运行后,由守护进程加载
27、各通信规约进程,并按照CDB中的描述进行通信端口初始化、通信规约定制等操作。3.2 系统应用方式PCM可应用到需要进行Modbus、IEC 61850-5-103等电力系统通信规约转换的工程应用项目中。配置工程师需要通过配置工具提供PCM所需的CDB,CDB中应包含系统的装置、通道、点表等工程相关信息。第4篇 技术方案总结4.1 关键技术问题说明系统设计和开发过程中,需要掌握如下关键技术:1) Linux进程间通信技术,包括信号量、Socket和共享内存;2) 网络通信,Socket编程,Linux下的串口、网口驱动;3) 关系数据库设计及访问、XML技术;4) Web服务器相关配置,Java
28、Script、PHP;5) C+、Qt编程;6) 嵌入式Linux的移植、定制。关系数据库的设计是项目的关键所在,需要关注表结构的设计是否涵盖所有系统需求。若开发至后期进行表结构调整,将会对项目质量产生较大影响。在系统设计上,尽管使用DAI模块封装具体的表结构访问操作,可以减小这种风险发生时的影响,还是需要在设计阶段对数据库进行较多关注。Linux进程间通信技术是各功能模块配合运行的关键。RDB模块主要采用共享内存技术,守护进程模块主要采用信号量技术。Qt编程需要了解信号槽机制,并熟悉Qt封装的相关库函数的使用;Web服务器方面需要熟悉Apache的配置,AJAX异步通信技术和JavaScript的页面应用。4.2 技术复用说明无。第5篇 总体进度计划5.1 项目分解1. 数据库表结构设计。先决条件:无2. 配置工具开发测试,先决条件:13. 嵌入式软件开发1) 主程序。先决条件:无2) Modbus通信规约模块。先决条件:1、3-7)、3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《机场接待礼仪》课件
- 感昆医系统解剖学课件-运动器
- 《丰田车辆概述》课件
- 《电力系统自动化教程》课件
- 利用同源重组构建基因表达载体与融合基因、融合蛋白及蛋白质相互作用酵母双杂交系统与免疫共沉淀课件
- 《权力结构与管控策略:课件中的集权分权授权》
- 尊老传统 重阳实践
- 《复合材料课件深度解析》
- 【公开课】影响深远的人文精神+课件-2024-2025学年统编版道德与法治七年级下册
- 《应急预案处理流程》课件
- 《运算的意义》(教学设计)-2023-2024学年六年级下册数学北师大版
- 高效养中蜂关键技术
- 广州小学六年级英语下册知识点归纳和习题(全册)
- (正式版)JTT 1482-2023 道路运输安全监督检查规范
- MH-T 5035-2017民用机场高填方工程技术规范
- MOOC 英国社会与文化-武汉大学 中国大学慕课答案
- MOOC 数据挖掘-国防科技大学 中国大学慕课答案
- 儿科护理行政查房
- 测温仪及测振仪的原理及使用 课件
- 船舶操纵与避碰智慧树知到期末考试答案2024年
- 食品加工肉类行业食品安全培训
评论
0/150
提交评论