仲 伟,李亚锋
(江苏金智科技股份有限公司,江苏 南京 211100)
近年来,国外知名电力自动化厂商如ABB、SIEMENS等公司,相继开发出基于高速高性能微控制器(MCU)/数字信号处理(DSP)硬件平台,并应用通用嵌入式实时操作系统技术,采用模块化设计和保护逻辑组态等可视化、平台化技术,开发高性能的电力自动化嵌入式产品。如最新推出的SIEMENS第四代保护控制单元SIPROTEC 4及ABB公司的IED670系列智能化微机保护和控制装置,代表着国外最新的技术水平。电力自动化嵌入式软硬件开发向模块化、插件化、可视化、平台化的方向发展已成为国外现代电力自动化系统的发展趋势,而国内主要厂家的产品尚未完全掌握该先进技术。文中介绍了一种以双CPU (DSP+随机存取存储器(ARM))为硬件架构的系统硬件平台,并在此硬件平台的基础上实现了支持图形化编程的继电保护软件开发平台,该软件平台基于稳定可靠的嵌入式实时多任务操作系统,并采用模块化、元件化的设计理念,以可视化的逻辑框图替代传统的编程语言[1-4],从而简化继电保护装置的开发过程。
尽管面向中低压系统的保护装置其功能各不相同,应用环境也千差万别,但其输入输出基本一致,不外乎模拟量输入、开关量输入、开关量输出、指示灯、通信接口等;同时其对装置的基本功能要求也是相同的,例如录波功能、设定值存储、看门狗等。而各种不同类型的装置只是其内部继电保护算法不一样,以及对模拟量输入类型与数量、开关量输入和输出的数量、通信接口类型有一定差别。
因此,可以将各种保护装置的硬件平台进行统一,而将各装置需求不同的部分以插件的方式提供,例如模拟量输入插件、开关量输入插件、开关量输出插件和通信插件等。硬件平台统一可以有效简化装置的开发过程,大大降低采购和生产成本以及后期维护成本。
随着嵌入式技术的飞速发展,继电保护软件开发向着模块化、平台化的方向发展已成为不可逆转的趋势。软件平台的统一化可以大大缩短装置的开发周期,降低开发成本。
电力系统的保护装置的软件功能基本固定,微机保护原理经过长时间的发展也已经基本成熟,保护装置的升级换代也主要是硬件系统的升级,因此为了便于以后硬件升级后的尽量复用,提高软件系统的可移植性,需要使该软件系统将硬件无关的部分和硬件有关的部分隔离,从而提高软件系统的生命周期。
采用可视化、图形化编程技术可以极大地提高了软件开发的效率,其透明化设计思想,使用户容易理解和维护,有效降低出错率,提高了软件可靠性。需要给装置应用开发人员提供一套图形化的开发工具,方便在本软硬件平台的基础上进行应用性开发。
随着电力系统的发展,用户对保护功能要求越来越高,保护原理越来越完善,同时为便于事故后分析,报告、故障电量等信息要求越来越详细,以求确切地感知不同阶段保护的响应行为,以及对现场总线通信和以太网通信的要求不断提高。
上述种种原因决定了目前的单CPU结构不能很好地满足实际需求,鉴于此设计了双CPU(DSP+ARM)结构[5-7],系统硬件架构图如图 1所示。
硬件平台系统主要包括两部分:基于ADI公司的Blackfin系列BF536 DSP的保护单元和基于Atmel公司的AD91RM9200 ARM的管理单元。保护单元负责数据采集、数据信号处理、保护计算、故障判断和产生保护信号;管理单元负责人机接口和各种通信功能;2个CPU单元之间以双口RAM进行通信交互。
保护单元主要由 BF536、CPLD、FLASH、RAM、EEPROM、A/D等器件组成。BF536处理器是ADI公司推出的Blackfin系列DSP处理器的成员之一,主频高达400 MHz,它集高性能的数字信号处理器与微控制器于一身,从芯片结构的变革性设计上支持密集的控制代码和快速的DSP代码,芯片内置的100 K静态随机存储器(SRAM)可用于存放代码和数据,内部提供2路UART、1路SPI、8个定时器以及48个通用输入/输出 (GPIO),同时还能支持SDRAM存储器。BF536的诸多特性增加了设计的灵活性,简化了电路设计。
CPLD选用Lattice公司的LC4128V,主要用来扩展DSP的I/O接口和控制A/D定时采样。开入插件采集到的开关量状态通过CPLD提供给DSP进行读取,同时DSP置出的开出状态也通过CPLD控制开出插件上对应的继电器。
A/D转换器件选用ADI公司的AD7656,它在芯片内集成了单芯片内集成了6个16位、快速、低功耗、逐次逼近型应用数据中心(ADC),在本平台中,应用了3片AD7656,这样就可以实现最大18路模拟量通道的同步采样。A/D转换的译码、定时转换启动等功能完全由CPLD来实现,这样既简化了印制版的设计,提高了电路设计的灵活性,又简化了程序软件的逻辑设计。
从而在保证采样高可靠性的同时,节省了DSP的处理时间。
在DSP的外部总线上直接挂载的1 MB Flash用于存储DSP执行代码,2 MB SDRAM用于扩展DSP的外部代码和数据空间。
64 K的EEPROM通过DSP通过集成的SPI总线进行访问,主要用于存储定值、软压板、事件顺序记录系统(SOE)报告等需要掉电保持的数据;同时EEPROM也为DSP提供看门狗功能。
管理单元主要由 AT91RM9200、SDRAM、FLASH、液晶、键盘、指示灯电路、以太网模块、现场总线模块构成。
ATMEL公司的AT91RM9200是本单元的核心部件,它是一款基于ARM920T核的32位微控制器,其主频为180 MHz,处理速度快、功能强、性价比高,能很好满足嵌入式系统应用的需求。
本单元除ARM芯片内置提供的一路以太网外,还通过DM9000以太网芯片外扩了两路以太网,这样装置将可提供三路10/100M自适应的以太网。
以太网除了可以提供RJ45接口,也可以光口的方式提供,从而可以满足绝大多数的应用要求。以太网模块以插件方式提供。
现场总线模块也以插件方式提供,可选择由16C554芯片外扩的两路RS485串口,或两路由SJ1000A芯片扩展的串行通信协议(CAN)接口,又或两路由VPC3+C芯片扩展的Profibus总线接口。装置可根据应用场合对现场总线通信接口的要求提供不同的现场总线插件,提高装置的适用性。
管理单元还通过外部总线挂载了液晶显示模块和按键模块,实现人机界面(HMI)的人机交互功能。此外,外部总线上挂载的2片4 MB Flash分别用来存储ARM侧的执行程序和电力系统暂态数据交换通用格式(COMTRADE)录波文件数据。
基于DSP+ARM的双CPU硬件架构,设计软件平台的架构图如图2所示。
软件系统主要包括以下3个主要组成部分。
(1)运行于通用计算机的集成开发环境。
(2)运行于装置保护单元(DSP部分)的嵌入式核心支撑层。
(3)运行于装置管理单元(ARM部分)的嵌入式辅助系统层。
集成开发环境运行于Windows平台,是本软件平台的核心组成部分。继电保护开发人员通过集成开发环境对保护装置进行建模,配置硬件资源,通过图形化的开发工具绘制保护逻辑图,并生成逻辑功能模块执行程序以及保存装置建模数据的XML文件。
该集成开发环境包括以下4个主要软件模块。
(1)装置信息配置工具:该工具基于面向对象的原则对装置进行数据建模,并配置装置需要用到的各种硬件资源。
(2)电力应用算法元件:将一些经典的继电保护功能或算法进行功能划分,然后将每个划分好的功能或算法封装成一系列独立的元件[8],在装置开发时可以将这些元件任意组合,灵活使用,只要配置好元件对应的输入和输出,即可实现预定的功能。
(3)图形化编程开发工具:该工具将继电保护编程的过程用图形的方式表示出来,也就是说原先用手工编程方式来实现的保护逻辑功能现在用图形来实现[9-11]。用户只需选择合适的电力应用算法元件,通过连接线将这些元件的输入与输出按照一定的逻辑关系连接起来,从而构造出保护控制功能和数据流,即可一台继电保护装置逻辑部分的开发。
(4)逻辑编译器:逻辑编译器是将图形化编程开发工具设计的逻辑图编译转换为逻辑功能模块,同时将信息配置工具保存的装置建模数据转换为XML格式文件的工具。
嵌入式核心支撑层运行于装置的保护单元DSP上,基于μC/OS-II嵌入式实时操作系统(RTOS)开发[12],为集成开发环境开发出来的保护逻辑执行程序提供较底层的核心支持,同时也完成保护装置正常运行所需要的一些基本功能。
嵌入式核心支撑层与逻辑功能模块相对独立,逻辑功能模块是用于实现保护功能的一块独立的可执行代码段,其正常运行需要支撑层的支持。逻辑功能模块运行时的输入数据由支撑层提供,例如各通道采样值、当前开入状态、定值、设置、外部命令等重要信息;同时逻辑功能模块的计算结果也需要通过支撑平台反应到装置,例如跳闸指令、遥测计算结果、开出状态等;并且保护逻辑功能模块的各保护逻辑的运行,都是通过支撑层对其的调用来实现的。
嵌入式辅助层运行于装置的管理单元ARM上,基于VxWorks实时操作系统进行开发[13],主要用于完成HMI人机交互、现场总线通信、以太网通信等任务。
对于不同类型的保护装置,有不同的装置建模数据XML文件,而嵌入式辅助系统层软件都是一样的。XML文件通过特定工具固化到管理单元侧的FLASH中,装置上电,嵌入式辅助系统层软件启动后,首先读取并解析XML文件,获取装置建模数据,并转换为自己可识别的数据结构保存到RAM中,方便以后各功能模块的调用。根据不同的装置建模数据,辅助系统层会重新组织液晶显示界面,以及通信所用的信息点表。液晶显示和通信所用到装置实时数据和历史数据都通过内部通信任务从保护单元读取过来。
该硬件平台已经设计并统一了保护装置大部分的硬件,针对特定的保护应用开发,只需要设计相应的插件即可,包括以下几部分。
(1)模拟量插件:根据保护装置应用的模拟量输入要求,例如各模拟量通道的类型是交流电流、交流电压或者是直流,以及模拟量通道的数量。
(2)开入插件:根据保护应用开关量输入应用要求,例如需要的开入个数以及开入的电压等级。
(3)开出插件:根据保护应用开发量输出应用要求,例如开出的个数和类型。
(4)现场总线插件:根据现场以及用户对装置现场总线通信的选择,例如现场总线的类型(CAN/RS485/Profibus等)和需要提供的通信接口数量。
(5)以太网插件:根据现场以及用户对装置以太网通信要求,例如以太网接口的数量,连接方式(RJ45 或光纤)。
根据需要,设计出以上各插件,即完成了保护装置硬件部分的开发设计工作。
对于不同的保护应用开发,嵌入式核心支撑层和嵌入式辅助系统层的软件都是一样的,由软件平台提供,所不同的就是针对不同的装置硬件插件和保护逻辑利用集成开发环境设计出来的逻辑功能模块以及装置建模数据XML文件。
以35 kV的变压器主保护开发为例,首先在装置信息配置工具中配置设计好的硬件资源(模拟量、开入、开出等),以及保护所用到的定值、软压板、事件等;然后在图形化编程开发工具中利用各种电力应用算法元件搭建差动速断保护、比例差动保护、电流互感器(TA)断线逻辑、差流越限告警逻辑等,从而绘制好变压器保护的保护逻辑图;最后通过逻辑编译器对搭建好的逻辑图进行编译,最终生成变压器主保护对应的逻辑功能模块执行程序和XML装置建模数据文件。将逻辑功能模块执行程序下装到嵌入式核心支撑层,将XML文件下装到嵌入式辅助系统层,重启装置,即完成了变压器主保护的开发。
文中提出了一种新型的面向中低压系统应用的继电保护软硬件平台,并介绍了该软硬件平台的系统架构和设计方案。利用本平台,已经开发出了多种产品,包括系列化的针对35 kV及以下电压等级的继电保护装置,包括线路保护、变压器保护、电动机保护等,均已通过了国家指定实验室的型式试验,并已开始推向市场。
[1]卢 娟,李兆成,陈钢杰,等.保护与测控领域通用可视化平台的设计与实现[J].电力系统自动化,2005,29(4):58-61.
[2]张 云,尹秋帆,胡道徐.继电保护装置开发平台软件系统架构与设计[J].电力系统及其自动化学报,2005,17(4):20-23.
[3]李轶群,吴国旸,张 涛.基于模块的可编程保护装置软件设计新概念[J].电力系统自动化,,2002,26(15):66-69.
[4]易永辉,赵志华,薛玉龙,等.一种新型的继电保护软硬件平台[J].继电器, 2002,30(6):26-39.
[5]杜肖功,毛 鹏,李小滨,等.新型数字式高压保护装置硬件平台设计[J].继电器,2004,32(9):45-47.
[6]李 华.微机型继电保护装置软硬件技术探讨[J].电力建设,2001,22(5):44-57.
[7]潘军军,尹项根,张 哲.关于两种微机保护软硬件配置问题的探讨[J].继电器,2006,34(7):78-82.
[8]黄海悦,缪 欣,权宪军,等.基于元件化和可编程逻辑构建的继电保护平台[J].继电器,2006,34(14):11-14.
[9]IEC 61131-1.Programmable Controllers,Part 1:General Information[S].1992.
[10]IEC 61131-3.Programmable Controllers,Part3∶Programming Languages[S].2003.
[11]IEC 61131-8.Programmable Controllers,Part 8∶Guidelines for the Application and Implementation of Programming Languages[S].2000.
[12]LBROSSE J J.嵌入式实时操作系统μC/OS-II(第2版)[M].邵贝贝译.北京:北京航空航天大学出版社,2003.
[13]刘益青,高伟聪,房同忠.VxWorks在电力系统测控保护装置中应用[J].电力自动化设备,2009,29(2):149-152.