标题摘要内容
基于嵌入式操作系统的微机保护监控系统的研究
来源: | 作者: | 发布时间: 2021-03-04 | 32 次浏览 | 🔊 点击朗读正文 ❚❚ | 分享到:

  0引言

  在我国微机保护经历了20余年的发展,随着数字信号处理器(DSP)和高性能,高集成度的嵌入式微处理器硬件系统的发展,使得保护CPU功能日趋完善、性能更加稳定、所采集和处理的数据量越来越丰富。为了能全面、快速的反映保护DSP的相关信息,处理多处并行通讯,并且给出一个流畅友善的人机环境,传统的监控系统平台与编程技术已经不能满足装置日益发展的需要,成为制约提高系统性能与实现丰富监控管理功能的瓶颈。所以采用更加智能的带实时操作系统的嵌入式系统,并以高性能图形支持嵌入式GUI进行系统开发,将是今后微机保护装置监控系统研制的发展方向。

  1基于实时多任务操作系统的嵌入式系统

  1。1必要性

  嵌入式系统是以应用为中心,主要由嵌入式处理器、相关支撑硬件和嵌入式软件系统组成,它是集软硬件于一体的可独立工作的“器件"。嵌入式操作系统是嵌入式系统的核心部分。

  嵌入式系统在电力系统中的应用有较长的历史,广泛地用于数据采集、自动装置、仪表检测、集散控制等各个领域。目前微机保护装置监控系统普遍采用基于单片机、rabbit与ARM7等微处理器的嵌入式系统,但由于其处理器速度较慢且内存较小而不适合使用占用资源较大的操作系统,导致结构和功能相对单一,处理效率较低,存储容量较小,几乎没有用户接口等缺点。并且,程序结构往往采用线性结构:所有功能线性执行,缺乏灵活性;程序中任何一部分运行异常都可能导致系统锁死,使得装置监控系统必须退出运行重新启动;中文显示处理繁琐,交互信息少,调试运行界面简陋,这些问题往往导致使用上的困难和失误。随着综合自动化水平的提高,越来越多要求装置通过以太网连接到上位机或综自系统控制中心,而在循环控制的嵌入式系统中加入网络协议栈,其程序的复杂度会呈指数级增长。相反,在嵌入式操作系统中增加网络协议模块要方便得多,并且还能方便各种网络应用程序在不同平台之间移植。

  现在对微机保护监控系统在功能、操作、显示等各方面提出了更高要求,使用传统的监控系统开发模式已经显得力不从心。所以装置监控系统平台迫切需要一个基于嵌入式操作系统和Internet为标志的高性能嵌入式系统来支持。

  1。2可行性

  16位、32位频率已达上百MHz的嵌入式微处理器的速度越来越快、性能越来越高,与此同时存储系统容量越来越大,读写操作也更加方便,而它们的价格却愈加低廉。一方面,性能的提高使得系统能够承担的起采用这类嵌入式系统所带来额外的CPU和存储系统的消耗;另一方面,其高性价比也很符合作为微机保护装置开发的需求。而在人机接口方面,如液晶屏的发展也非常迅速,逐渐向大分辨率灰度和彩屏甚至触摸屏发展。这些硬件设施的发展使得我们能够以高性能微处理器及完善的外围设备组成嵌入式系统搭建装置的监控系统平台。

  1。3实时多任务

  传统微机保护监控系统由于管理CPU的速度和存储容量的限制,特别是软件设计方法上的局限造成人机界面、各类通讯等等独立的功能模块并没有从整个监控系统的设计中剥离出来,由此带来程序结构性差、代码复制率低、开发效率低下、调试困难等一系列问题。而在实时操作系统嵌入式系统平台下,我们就可以采取面向任务的程序设计风格,不同于传统顺序结构的程序设计方法,以任务为对象进行资源管理。按优先级进行任务调度,合理分配CPU的时序资源,充分利用硬件资源的优势,有效保证任务执行的实时性。在设计中,从功能上划分模块,将每个功能模块都作为一个独立的线程实现程序并行开发,提高开发效率;并且嵌入式GUI具有软件层次上的封装性,将上层显示与下层驱动分开开发,更加适合多任务的程序开发。

  实时多任务操作系统对保证软件的可靠性和实时性起到了关键性的作用,是产品先进性的重要标志和技术支撑。而且这种设计更加适合微机保护监控系统的开发,有利于实现丰富的管理功能。

  2嵌入式Linux和嵌入式GUI的选择

  2。1嵌入式Linux技术特点

  目前多种形式的嵌入式操作系统形成了百家争鸣的局面,VxWorks、pSOS、Nucleus、PalmOS、WindowsCE等。但上述操作系统都是商业化产品,其高昂的价格使许多低端产品的小公司望而却步。嵌入式Linux则是按照嵌入式操作系统的要求而对Linux系统进行剪裁、设计的一种小型操作系统,以下是选择嵌入式Linux作为这次开发的嵌入式操作系统的主要理由:

  可应用于多种硬件平台。包括X86、A1pha。、Sparc、MIPS、PPC、ARM、NEC、MOTOROLA等现有的大部分芯片,原型可以在标准平台上开发,然后移植到具体的硬件上,加快了开发过程。同时遵从GPL(GNUGeneralPublicLicense),其源代码公开,无需任何费用;而且掌握了源码就是掌握了整个开发的核心。

  Linux的高度模块化使得添加部件非常容易,模块可以动态添加或精简,运行所需资源少,十分适合嵌入式应用。

  与传统的实时操作系统(RTOS),相比,Linux具有优秀的网络功能。微内核直接提供网络支持,而不需要像其它操作系统要外挂’FCP/IP协议包。为装置通过以太网实现对外通讯提供良好的支持,彻底解决微机保护装置难以使用以太网的难题。

  微机保护装置中保护板的存储容量一般是有限的,不可能存储较大量的报文信息,所以只能在管理板上来实现大量的数据存储,这就要求一个稳定的文件管理系统。嵌入式linux2。6内核支持文件系统(NANDFLASH挂载)的实现使我们能够更加方便、快速、高效、有序的管理大量的数据信息。

  Linux本身技术上具有先进性、健壮性和安全性,给监控系统提供了一个稳定的运行环境,进一步保证了微机保护装置的稳定性。

  2。2嵌入式GUI--QT/Embedded

  2。2。1Qt/Embedded符合嵌入式装置的发展需求

  利用嵌入式1inux平台开发的高性能、功能完善的监控系统,就需要高性能图形支持系统嵌入式GUI的支持。嵌入式GUI要求简单、直观、可靠、占用资源小且反应快速,以适应系统硬件资源有限的条件。

  Qt/Embedded是著名的Qt库开发商挪威Trolltech公司面向嵌入式系统应用的嵌入式GUI。Qt/Embedded控件丰富,开发环境支持好;由于其商业化的支持,使得它在功能上有较大优势。Qt/Embedded体积较大,运行环境要求较高,在高性能嵌入式CPU出现之前,这些缺点一直限制了它在嵌入式环境中的应用。但是现在随着嵌入式CPU性能的提升,Flash存储器价格的日益低廉,保护装置提供的开发环境非常适合引用Qt/Embedded。自从Qt/Embedded以GPL条款形势发布以来,就有大量的嵌入式Linux开发商转到Qt/Embedded系统上。

  2。2。2Qt/Embedded提供高性能图形支持

  能够显著提高人机界面的显示效果也是选择Qt/Embedded进行界面开发的理由。Qt/Embedded注重于给用户提供精美的图形用户界面所需要的所有元素。Qt/Embedded直接对帧缓冲(FrameBuffer)进行操作,FrameBuffer是一种独立于硬件的抽象图形设备,其提供显示内存和显示芯片寄存器从物理内存到进程地址空间中的映射。它将显示设备抽象为帧缓冲区,并且将它看成是显示内存的一个映像,这样就可以间接地对显示设备进行读写操作,而提高了程序的运行效率。图l为Qt/Embedded的实现结构。

  图1Qt/Embedded的实现结构(3。jpg)

  2。2。3Qt/Embedded提供良好的软件开发环境

  (1)跨平台

  作为保护装置监控系统软件,需要有良好的移植性,平台能够适应不同的开发环境。Trolltech公司承诺,在所有操作系统下面维护和开发同样的API,这给软件的开发维护和程序移植带来了很多的便利。另外,Qt/Embedded模块化的弹性设计让Qt/Embedded更适合在各种嵌入式环境下生存。

  (2)面向对象

  基于一种面向对象的思想,采用C++编写,用户对其对象的扩展是相当容易的,并且它还支持真正的组件编程。丰富的控件资源可以实现更加友善的人机界面和更多复杂的监控管理功能。

  (3)国际化

  由于保护装置一般是在现场运行,为保证与运行人员的信息交流通畅,所有信息尽量用中文显示,对GUI提出支持中文的要求。Qt为本地化应用提供完全支持,所有用户界面文本都可以基于消息翻译表或者直接由内码转换的方式被译成各种语言,支持中文性能尤其优秀。

  (4)功能强大的开发工具

  Qt提供了丰。富的开发工具集,如qmake、QtDesigner,Linguist等等;通过Trolltech及全世界开发者的共同努力,其参考文档也可说是相当完整而丰富。极大地方便了整个开发过程,提高程序质量的同时加速了开发速度。

  3大型发变组微机保护监控系统实现

  管理监控系统是微机保护装置智能化的关键。近年来,随着芯片技术和LCD显示技术高速发展,在嵌入式系统中利用嵌入式GUI系统开发界面系统的应用越来越多,但是在电力系统微机保护领域这种应用一直没有被真正实现。本节针对700MVA特大型水轮发变组保护装置的监控功能需求,根据以上分析提出了基于高端的32位嵌入式RISC处理器ARM920T的核心板,并在嵌入式Linux2。6操作系统下,采用嵌入式GUI系统QT/Embeddedfree3。3。5开发多任务、高可靠性、灵活性的保护管理监控系统。该系统具有更为完善的监测、管理、录波、分析功能和友善的人机界面,灵活方便的多线程、多任务处理机制。

  3。1硬件设计

  本套微机保护装置监控管理插件的管理CPU选用美国CIRRUSLOGIC公司的ARM9系列处理器EP9315。这套硬件平台拥有密集的计算能力,主频最高可达200MHz,配备MaverickCrunch协处理器;丰富的存储功能,包括64MB的SDRAM、32MB的NORFLASH,512MB的NANDFLASH,还可外挂IDE硬盘、CF卡、外接U盘;完美的通讯功能,两路电气隔离RS232串口,四路电气隔离RS485/422串口,两路光电隔离CAN-BUS接口,两路10/100M以太网接口,都具备RJ45接头,其中一路还具备MII接头。另外还配备DS1286实时时钟、8键矩阵键盘以及6寸分辨率640×480的256K彩色液晶屏等。管理插件在整套装置中的功能结构如图2。

  图2管理插件功能结构图(3。jpg)

  3。2软件设计的几个特点

  3。2。1多线程技术

  该管理软件采用多线程技术实现,打破了以往单线程线性执行的传统做法。主线程运行图形用户界面处理,通信分为三个子线程,包括:一个对保护DSP的通信线程(MODBUS协议,CAN总线),对本地上层调试系统的通信线程(MODBUS协议,以太网),对综自系统通信线程(标准103协议,以太网),其中对综自的通信线程采用基于连接的通信方式,对DSP的通信为常驻线程。这四个线程同时并列执行,互不干扰;当系统遇到强烈干扰导至其中某一线程出现运行错误时,不至于影响其他线程功能的执行,提高装置运行的稳定性。同时使得今后实现其他管理功能变得更加简单,增强了程序的扩展性。

  为实现多个线程并行,可以选择两种方法:

  (1)采用1inux多线程编程技术;

  (2)Qt提供丰富的多线程编程支持。

  为统一程序设计风格,选择使用Qt中的线程类QThread类来实现多线程的功能较为合适。Qt主要从下面三个方面对多线程编程提供支持:

  (1)构造了一些基本的与平台无关的线程类;

  (2)提交用户自定义事件的thread-safe方式;

  (3)多种线程间同步机制,如信号量,全局锁。

  这些都给用户提供了极大的方便。不过,在某些情况下,使用Qt的定时器机制(QTimer类)能够比利用Qt本身的多线程机制更方便地实现所需要的功能,同时也避免了不安全的现象发生。定时器机制将并发的事件串行化,简化了对并发事件的处理,避免了thread-safe方面问题的出现。监控程序设计框架如图3。

  图3监控程序线程框架图(4。jpg)

  3。2。2精美、完善的人机界面

  利用Qt/Embedded在嵌入式Linux下构建中文化的人机环境,不仅可以继承Linux系统出色的稳定性,满足易用性及美观性等诸多要求,而且鉴于它面向对象的思想,真正的组件编程模式,界面开发人员完全可以专注于界面设计,配合高分辨率彩色液晶屏使人们熟知的PC桌面图形系统能够在微机保护装置监控系统中得到再现,给传统的装置人机界面带来革新。对于本次微机保护装置而言,丰富的控件可以方便的实现:

  (1)完全菜单化管理、界面切换以窗口形式实现;

  (2)彩色区分多路电流、电压实时波形滚动显示;

  (3)智能化编辑框实现参数设置;

  (4)图形化显示开入量状态或者保护动作状态;

  (5)装置故障或异常运行、在线监测紧急事件的自动告警信息。

  3。2。3通用性设计

  是否具有良好的移植性和通用性是评价保护装置监控管理系统的重要标准。本次开发所选的嵌入式系统、嵌入式GUI都具有优良的移植性,便于系统维护及产品的升级换代;为实现更好的通用性,在程序设计上也要做充分考虑。而且对任何保护装置而言,其监控管理系统的功能一般都大同小异,保护装置用户的特殊性,具有一个标准化的界面和功能将更有利于运行人员操作,降低误操作的几率,体现出实现监控系统通用性的必要。

  在这套监控系统程序设计之初,就充分考虑了通用性的需求,其关键技术体现在:凡是保护监控时要显示的内容,包括定值、采样值、开入开出量、报文信息等等,其名称与相关属性都保存在一个文本属性的文件中,可以将这类文件称之为配置文件。这种处理方式带来几点好处:

  (1)当监控系统初始化时,即将当前配置文件内容读入内存后直接调用,提高程序运行速度。

  (2)该文件不参与程序编译,可以根据实际需要灵活配置。在开发过程中若需要调整定值等信息个数或名称时,只需修改配置文件,提高开发与调试效率。

  (3)不做任何主程序修改,仅通过使用不同配置文件实现了发电机保护和变压器保护监控系统的通用,并可以适用于本套硬件平台下的任何微机保护系统。

  综合所选嵌入式系统与嵌入式GUI的优良移植性,这次开发的监控系统平台可以适用于绝大部分微机保护,可以节省极大的工作量。

  4总结

  这套大型发变组保护装置已经通过中国电力科学院的型式试验和动模试验,实时多任务的监控管理系统在界面显示、人工操作、数据收集、通讯传输等方面取得很好的效果。目前该套发变组保护装置已经在清江隔河岩水电站300MVA水轮机组试运行,迄今为止装置运行情况良好。

  基于Linux的嵌入式系统,利用嵌入式GUI--Qt/Emjbedded做监控系统开发,不仅能极大丰富人机交换信息,提供高质量显示效果,优化程序结构,具有强大的网络功能;而且由于其开源性,极大节省开发和维护成本。该嵌入式操作系统的开发平台有着极强的移植性和扩展性,能够适用于所有微机保护监控系统或者其他电力自动化设备,将是今后微机保护监控系统开发的主流平台之一。