一种基于RTEMS操作系统的嵌入式微机保护方法
技术领域
本发明属于电力设备微机保护技术领域,尤其涉及一种基于RTEMS操作系统的嵌入式微机保护方法。
背景技术
目前,电力测控保护装置正朝着智能化应用飞速发展,即要求电力测控保护装置具备完成电力参数计算、快速逻辑判断、高速工业网络通讯、故障数据的文件存储和复杂人机界面显示等多项复杂功能;然而传统的没有操作系统的采用前后台方式运行的电力测控保护装置已经不能适应当前的技术发展,必须采用嵌入式实时操作系统,才能实现前述功能。因此,市场上出现了很多商业嵌入式实时操作系统,对于终端产品开发人员来讲,这些商业嵌入式实时操作系统有以下这些问题:
1、核心代码不公开—商业嵌入式实时操作系统是一个通用解决方案,但是对于每个嵌入式设备来讲,各种外部器件差异很大,需要重点突出的各性能指标和应用功能也千差万别,由于没有掌握操作系统的核心,难以对系统进行优化,无法定制开发出性能突出、功能完善的嵌入式保护系统。
2、收费昂贵—从而增加采用该商业嵌入式实时操作系统的终端产品的成本,使产品失去在竞争激烈的市场上的成本优势。
发明内容
为解决现有技术中存在的上述问题,本发明提供了一种通过合理的设置任务的优先级别和采用高效的任务调度,使系统有良好的智能电力微机保护性能;并可通过优化和扩展RTEMS,定制出符合电力和工控行业特点的高性价比系统,性能优异,造价低廉,功能完善,市场竞争力高,经济效益好的基于RTEMS操作系统的嵌入式微机保护方法。
为解决上述技术问题,本发明采用如下技术方案:
一种基于RTEMS操作系统的嵌入式微机保护方法,具体包括有以下步骤:
a.创建包括自上而下互相连接并交互通讯的应用层、中间层、RTEMS多任务调度内核和硬件驱动程序的系统架构;
b.系统初始化,即初始化函数完成系统要求的各种初始化任务,同时准备全局数据交换区,为多任务的运行提供环境,同时创建多个并发运行的任务,并给每个任务编写对应的任务号,且各任务的任务号为执行的优先级别;
c.RTEMS多任务调度内核按照任务号依次执行任务,以完成微机保护,并且执行所有任务都通过全局数据交换区进行交换数据,同时该全局数据交换区采用互斥锁控制,保证多任务对同一数据的操作不产生冲突。
进一步地,所述“创建多个并发运行的任务,并给每个任务编写对应的任务号”,具体为:创建以下6个并发运行的任务及其任务号;
任务1:电力保护FFT运算与逻辑判断,根据运算和判断的结果,调用IO驱动程序以控制IO端口输出,同时将结果写入全局数据交换区;
任务2:设备各状态自检,同时调用IO驱动程序以响应外部IO端口输入,同时将结果写入全局数据交换区;
任务3:人机界面控制任务,响应外部各种按键输入,读取全局数据交换区,写入显示缓冲区,提供友好的人机界面;
任务4:调用TCP/IP协议,实现电力通讯规约,将各电力运算数据传送给后台,同时接收后台控制命令;
任务5:录波文件读写任务,录波文件写入外部FLASH存储芯片;
任务6:系统参数与保护定值读写任务,系统参数与保护定值写入外部EEPROM存储芯片。
进一步地,所述RTEMS多任务调度内核在按照任务号依次执行任务1至任务6过程中,任务1、任务2和任务3采用消息队列的方式发送请求给任务5,任务5接受请求后,RTEMS多任务调度内核调用FLASH驱动程序完成故障录波文件的存储;同时任务1、任务2和任务3采用邮箱的方式发送请求给任务6,任务6接受请求后,RTEMS多任务调度内核调用EEPROM驱动程序完成系统参数与保护定值的存储。
进一步地,所述应用层为智能电力微机保护应用的具体实现;所述中间层为文件系统、多任务应用接口和TCP/IP网络,分别给应用层文件读写、多任务运行和网络通信的编程接口,应用层通过中间层提供的标准接口完成各种各样的具体应用;所述RTEMS多任务调度内核是整个系统的核心;所述硬件驱动程序是作为整个系统的支撑,包括SPI总线驱动、I2C总线驱动、以太网驱动、PCI总线驱动、显示液晶驱动、AD采样驱动、FLASH存储器件和EEPROM器件驱动。
本发明的有益效果是:
本发明通过上述技术方案,通过合理的设置任务的优先级别和采用高效的任务调度,即可保证系统及时响应外部输入变化,迅速计算各变化物理量,并做出决策,使系统有良好的智能电力微机保护性能;同时也能合理响应人机界面请求,快速完成外部网络通讯、参数的读写和故障录波文件的存储,具有完善的功能;而且采用RTEMS开源系统,无版税,免费使用,所有源代码公开,通过优化和扩展RTEMS,定制出符合电力和工控行业特点的高性价比系统,性能优异,造价低廉,功能完善,产品市场竞争力高,投放市场后,取得了良好的经济效益。
附图说明
图1是本发明所述一种基于RTEMS操作系统的嵌入式微机保护方法的流程示意图;
图2是本发明所述一种基于RTEMS操作系统的嵌入式微机保护方法中整个系统的架构示意图;
图3是本发明所述一种基于RTEMS操作系统的嵌入式微机保护方法中系统初始化的实施例示意图;
图4是本发明所述一种基于RTEMS操作系统的嵌入式微机保护方法中多任务调度执行的实施例示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如图1至图4中所示:
本发明实施例提供了一种基于RTEMS操作系统的嵌入式微机保护方法,具体包括有以下步骤:
步骤A1.创建包括自上而下互相连接并交互通讯的应用层、中间层、RTEMS多任务调度内核和硬件驱动程序的系统架构;具体可以为:所述应用层为智能电力微机保护应用的具体实现;所述中间层为文件系统、多任务应用接口和TCP/IP网络,分别给应用层文件读写、多任务运行和网络通信的编程接口,应用层通过中间层提供的标准接口完成各种各样的具体应用;所述RTEMS多任务调度内核是整个系统的核心;所述硬件驱动程序是作为整个系统的支撑,包括SPI总线驱动、I2C总线驱动、以太网驱动、PCI总线驱动、显示液晶驱动、AD采样驱动、FLASH存储器件和EEPROM器件驱动。
步骤A2.系统初始化,即初始化函数完成系统要求的各种初始化任务,同时准备全局数据交换区(堆栈区),为多任务的运行提供环境,同时创建多个并发运行的任务,并给每个任务编写对应的任务号,且各任务的任务号为执行的优先级别。
步骤A3.RTEMS多任务调度内核按照任务号依次执行任务,以完成微机保护,并且执行所有任务都通过全局数据交换区进行交换数据,同时该全局数据交换区采用互斥锁控制,保证多任务对同一数据的操作不产生冲突。
其中,所述“创建多个并发运行的任务,并给每个任务编写对应的任务号”,具体可以为:创建以下6个并发运行的任务及其任务号;
任务1:电力保护FFT运算与逻辑判断,根据运算和判断的结果,调用IO驱动程序以控制IO端口输出,同时将结果写入全局数据交换区;
任务2:设备各状态自检,同时调用IO驱动程序以响应外部IO端口输入,同时将结果写入全局数据交换区;
任务3:人机界面控制任务,响应外部各种按键输入,读取全局数据交换区,写入显示缓冲区,提供友好的人机界面;
任务4:调用TCP/IP协议,实现电力通讯规约(包括IEC104、IEC61850等),将各电力运算数据传送给后台,同时接收后台控制命令;
任务5:录波文件读写任务,录波文件写入外部FLASH存储芯片;
任务6:系统参数与保护定值读写任务,系统参数与保护定值写入外部EEPROM存储芯片。
而且,所述RTEMS多任务调度内核在按照任务号依次执行任务1至任务6过程中,任务1、任务2和任务3采用消息队列的方式发送请求给任务5,任务5接受请求后,RTEMS多任务调度内核调用FLASH驱动程序完成故障录波文件的存储;同时任务1、任务2和任务3采用邮箱的方式发送请求给任务6,任务6接受请求后,RTEMS多任务调度内核调用EEPROM驱动程序完成系统参数与保护定值的存储。
这样,本发明所述的系统和方法通过合理的设置任务的优先级别和采用高效的任务调度(RTEMS多任务调度内核),即可保证系统及时响应外部输入变化,迅速计算各变化物理量,并做出决策,使系统有良好的智能电力微机保护性能;同时也能合理响应人机界面请求,快速完成外部网络通讯、参数的读写和故障录波文件的存储,具有完善的功能;而且采用RTEMS开源系统,无版税,免费使用,所有源代码公开,通过优化和扩展RTEMS,定制出符合电力和工控行业特点的高性价比系统,性能优异,造价低廉,功能完善,产品市场竞争力高,投放市场后,取得了良好的经济效益。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。