μCOS-II的多任务系统实时性分析与优先级分配

时间:2019-05-15 01:58:27下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《μCOS-II的多任务系统实时性分析与优先级分配》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《μCOS-II的多任务系统实时性分析与优先级分配》。

第一篇:μCOS-II的多任务系统实时性分析与优先级分配

从产品研发的角度,针对小资源系统中使用μC/OS-II的实时性和优先级关系进行了分析。

提出了可删除任务的灵活应用和可变大小任务栈的实现方法,对于并行任务使用共享资源的几种情况给出了实用解决方案。这些措施获得了良好的任务并行性和实时响应,节约了代码存储空间。

引言

μC/OS-II作为一种轻量级的嵌入式实时操作系统,正随着嵌入式微处理器性能的不断提高和外围资源(主要是存储器资源)的不断增加,得到越来越多的应用。例如,原来的51系列单片机,限于6~12 MHz的主频、12个Clock的机器周期以及有限的存储器资源,使用μC/OS-II会大大加重系统负担,使应用程序的运行受到影响,特别在快速A/D转换等实时性较强的场合,无法得到及时的响应,于是才有了更轻量级的Small RTOS等操作系统的出现。

但目前更强劲的51内核版本微处理器的大量出现,从根本上改变了这种情况。40 MHz以上的主频,单周期指令的微处理器,加上64 KB的程序空间和8 KB以上的数据空间,这样的系统已经可以流畅地运行μC/OS-II[1]。μC/OS-II的移植版本很多,选择一个适合系统CPU的版本,然后进行正确的配置和优化是非常重要的。1 系统实时性分析

本系统工作原理是在恒定温度条件下,任意启动4个测试通道来进行多个项目的并行分析,每个测试通道的工作流程完全相同,如图1所示。

C8051F120集成了8路12位高速A/D转换器(ADC0)和8路8位高速A/D转换器(ADC2)。系统要求对4个光学传感器输出进行采样,ADC0可以构成4个差分测试通道以满足需求。系统还要求能对2路温度实现实时控制,用于监控2个外部温度传感器的输出电压: 一个保证测试部分的温度恒定在37±0.2 ℃,通过对加热组件的PWM控制来完成;另一个用于监测机箱温度,在32 ℃以上时启动风扇散热,30 ℃以下关闭风扇。

图1 通道工作流程

从图1中可以看出,完整的流程包括信息输入、样本预温、通道启动、试剂添加、微分测量、结果处理6个阶段。其中前4个属于操作阶段,操作者通过每个通道的进度条、转动条和状态标志块,在LCD界面上获得明确的操作指示,确保每个通道的正确操作。

要求在通道启动后,能精确地每隔0.1 s完成一次采样并处理数据,所以每个通道的最长处理时间不能超过25 ms,且软件微分法需要较高的A/D转换精度和稳定性。C8051F120中的A/D最高采样速率可达100 ksps,约10 μs/次,因此可采用过采样后的高平滑,同时提高精度和稳定性。简单地计算,如果每个通道采样1 024次后平均计算,则4个通道的A/D总速率为:ADMAX=1 024×4×10=40 ksps。

理论上来说,即使把采样次数再加倍,仍然略小于100 ksps,但考虑到每次A/D中断后,中断服务程序都要简单地处理采样数据,然后才能启动下一次A/D转换,所以实际转换速度是不能达到100 ksps的。通过调试,合理的选择为每个采样点取1 024次平滑滤波。实际处理中,把A/D转换精度从12位扩展到了16位,以满足0~2 000 mV范围内0.1 mV的精度和稳定性,这可以简单地通过改变求均值时的右移次数和扩大满量程基数来完成[2]。

除了实时性的要求必须得到严格满足外,有很多因素需要一并考虑。例如每个通道测试过程中的图形动态显示,通道测试过程中的键值交叉处理,独立于测试之外的实时温度控制,耗时较多的测试结果传送和打印等,这些人为操作和功能处理均不能中断,或影响正在测试的通道每0.1 s一次的数据采样。另外,还必须提供一项强制结束功能:在任何测试阶段按Exit键,确认后可退出所有测试。

总体上看,系统在各个通道共用1个键盘、1个串口、1个打印机、1个LCD显示器、1个A/D转换器的条件下,能进行独立控制,互不干扰地进行各自的测试、计算、显示、传送和输出,满足实时性和并行性要求。2 内存分配

μC/OS-II最多有64个任务优先级,根据版本的不同可供用户使用的优先级有56~62个。每个任务优先级不能相同,最大优先级数即用户的最大任务数[1]。

每个任务必须有自己的任务栈,任务栈由系统物理栈拷贝区和模拟栈两部分组成,是μC/OS-II移植的核心内容[3-4],因此任务的多少直接影响数据RAM的需求。在本系统中,物理栈拷贝区为64字节,模拟栈可以安排16~64字节,这种可变大小任务栈稍后分析。

C8051F120微处理器带有8 KB的RAM,系统没有扩展外部数据存储器。首先分析一下系统数据内存的需求情况:

① 系统显示部分使用了240×128点阵的LCD模块和图形GUI,如果建立完整的显示缓冲区,需要240/8×128=3 840字节,约4 KB的RAM空间;

② Flash除了用作程序存储器外,剩下的部分作为非易失性数据存储器。每个Flash块为1 KB,故需要1 KB的RAM作为Flash的读写缓冲区;

③ GUI自身约占去了1 KB内存;

④ 传感器响应曲线需打印,其点坐标数据(对应打印机384个点行)约占1 KB。

以上共占用7 KB,最终仅剩下1 KB的RAM留给操作系统以及用户函数,这显然不够。可通过优化GUI的驱动,去掉LCD的显示缓冲区,增加4 KB的RAM,以满足系统需要。3 可变任务栈和任务划分

3.1 可变大小任务栈

一般来说,一个嵌入式系统中不会建立60个以上的任务。从简单的角度考虑,应用μC/OS-II时,建立的所有任务均驻留不删除,使用足够大并且同样大小的堆栈。这种处理任务的方法会对内存数量提出较高要求。例如50个任务,每个任务栈均为128字节,则需要6 KB的RAM。

本着这样一个原则来改进任务划分:不需要驻留的任务运行完毕即删除,可以自身删除,也可以在别的任务里删除。这种任务处理不仅可以重用任务优先级,还可以重用任务堆栈,并且减少同时运行的任务数量。

删除任务的办法不仅可获得共享的任务栈资源,而且也是一个方便中止某些应用程序的手段,前面提及的任何测试阶段按Exit键退出所有测试的动作,就可以依靠删除任务来实现。

把任务看作有大小的,这里的“大小”指需要“重入”到任务堆栈的变量的数量。如果每一个任务都使用相同大小的任务栈,对小任务而言显然是在浪费宝贵的RAM,大小可变的任务栈才是经济合理的。

首先,在os_cfg.h头文件中增加大、小两个宏参数,如果需要更多不同的栈大小,还可以继续增加参数。

#define MaxStkSize128//大任务栈

#define MinStkSize80//小任务栈

然后定义任务栈时使用它们:

OS_STK TaskDelStk1[MinStkSize];

OS_STK TaskDelStk2[MaxStkSize];

TaskDelStk1和TaskDelStk2是两个可删除任务所使用的任务栈,一个80字节,另一个128字节。

接下来是关键,要在任务堆栈初始化函数OSTaskStkInit中进行处理:定义一个全局整型变量STK_SIZE,创建任务前给它赋值,任务创建时执行的OSTaskStkInit函数用它来初始化模拟栈的长度。

修改前,OSTaskStkInit中的?C_XBP仿真堆栈指针(即模拟栈指针)的初始化语句如下:

*stk++ =(INT16U)(ptos + MaxStkSize)>> 8;//MaxStkSize是固定的栈长度

*stk++ =(INT16U)(ptos + MaxStkSize)& 0xFF;

注意:ptos是任务栈栈底,模拟栈从任务堆栈的另一头开始。

修改后变为:

*stk++ =(INT16U)(ptos + STK_SIZE)>> 8;//指针高8位

*stk++ =(INT16U)(ptos + STK_SIZE)& 0xFF;//指针低8位

创建任务前要给STK_SIZE赋予堆栈定义匹配的栈长度值,否则,会因为堆栈不能正确初始化导致任务崩溃。不同大小的任务栈结构如图2所示,可以看出区别在于模拟栈不同。

图2 可变大小任务栈结构

利用可变大小任务栈创建一个小堆栈任务,示例如下:

STK_SIZE=MinStkSize;//提供堆栈大小值

/*创建带TimeLimit参数的,分配有任务栈TaskDelStk1,优先级为10的任务OverTime*/

OSTaskCreate(OverTime,(void*)&TimeLimit, &TaskDelStk1[0],10);3.2 系统任务划分

用户任务分为两类: 一类任务是常驻任务,即创建后不用删除的任务;另一类是可删除任务,运行时建立,运行完删除,该任务资源又可用来创建新的任务。任务优先级分配

优先级的合理分配围绕实时性要求进行,因为可用优先级较多,所以任务优先级之间可取较大间隔。这样当有更多的任务加入时,能安排在这些间隔中,不用改变已有任务的优先级。本系统中优先级关系可以按由高到低顺序依次排列: 键盘扫描任务,超时检测任务,A/D扫描转换任务,主任务,各通道测试任务,数据打印和传送任务,温度检测任务,日期时间显示任务,如图3所示。

图3 任务关系示意图

常驻任务一般是固定优先级,而可删除任务每一次创建时却能够对应不同的任务函数和优先级,且使用同一个任务栈。

一个任务函数可用于多个任务,这种“重用”的特性在获得任务并行性的同时,最大限度地节约了代码。本系统只有一个测试函数,却构成了4个并行的通道任务。这些任务都是进入测试菜单后随着各自通道键被按下后在主任务中创建的,复用的4个测试函数接受任务创建时主任务传递过来的参数,为本通道的计算、显示、数据存储等一系列工作服务。5 资源共享的处理

ADC0、LCD、打印机和串口等资源被4个测试任务所共享。资源共享有一些经典的方法(如信号量、全局变量等),需要根据实际需求灵活运用。本系统的处理如下:

① 对于ADC0,在A/D扫描转换任务中每0.1 s轮流扫描4个通道一次,产生4个邮箱消息发往各自通道任务,以读取对应的转换结果。0.1 s的精确定时由定时器中断获得,中断服务发出信号量启动AD任务。一次扫描完成后A/D扫描转换任务挂起,直至下一次信号量到来。

② 对于LCD,情况要复杂一些,每个测试任务都要在LCD的各自区域显示,但是LCD不能实现2个以上位置同时进行显示处理,所以当涉及显示过程时需要禁止任务切换,否则会造成显示混乱。例如,当一个低优先级任务的显示工作还没有完成时,若发生了任务切换,则高优先级任务去进行另一个显示。当重新切换回低优先级任务后就没有办法继续未完的显示,因为显示位置已经被高优先级任务所改变。

③ 对于打印机和串口,也有类似的问题,不允许一个结果尚未打印完成又去打印另一个结果。禁止任务切换的办法不适合这里,因为打印和传送耗时比LCD显示长很多,禁止任务切换会影响到测试的实时性,它们单独建立后台任务的原因也在于此。

数据打印和传送任务循环扫描各个通道的请求服务标志,当标志有效时即为该通道服务,服务完毕清除该标志,因数据打印和传送任务的优先级较低而不会对其他测试任务造成任何影响。被服务的通道测试任务循环检测请求服务标志,检测到标志被清除后才可以继续下次测试,表示此次数据已经输出。其他高优先级测试任务不会影响打印过程,因为先检测到标志的通道独占资源,直至传送和打印完成后,打印任务才去检测下一个标志;高优先级任务的输出请求要等低优先级输出完毕才能得到响应,优先级反转在这里是正确的。6 结论

本文从嵌入式系统的并行程序出发,结合实时性的要求,讨论了μC/OS-II操作系统环境下的任务划分和优先级确定的相关问题,提出了一些在μC/OS-II中用于减少资源耗用和同时运行的任务数量的改进措施。实践证明,这些措施可以充分发挥μC/OS-II小巧精悍的特点,提高程序代码的重用性,节约宝贵的RAM资源。

本系统与采用双通道测试、没有RTOS、采用前后台方式解决并行问题的方法比较[5],后者占用了54 KB代码,在人机界面和并行度上均不及前者。前者在加入了μC/OS-II和GUI,并能进行四通道测试的情况下,仅有59 KB代码;排除更大的汉字库容量后,实际代码大小几乎与原来相同,性能却有了很大的提高。参考文献

[1] Jean J Labrosse.MicroC/OSII The RealTime Kernel Second Edition[M].CMP Books, CMP Media LLC,2002.[2] 李刚,林凌.与8051兼容的高性能高速单片机C8051Fxxx[M].北京:北京航空航天大学出版社,2002.[3] 冉全,曾令美,刘姗.C8051F12X的多bank分区跳转处理[J].单片机与嵌入式系统应用,2006(1): 73-75.[4] 任哲.嵌入式实时操作系统μC/OS-II原理及应用[M].北京:北京航空航天大学出版社,2005.[5] 冉全.单片机中基于多线程机制的实时多任务研究[J].微型机与应用,2003(8): 39-40.

第二篇:改进嵌入式Linux系统实时性新方案

改进嵌入式Linux系统实时性新方案

时间:2009-05-12 23:31来源:Linux Website 作者:尚观 点击: 7

3次

对嵌入式Linux进行实时性改进是嵌入式操作系统领域的一个研究热点。本文在分析了现有嵌入式操作系统实时性不足的基础上,提出了一种新型的改进方案(将RTAI和uClinux相结合),并给出

对嵌入式Linux进行实时性改进是嵌入式操作系统领域的一个研究热点。本文在分析了现有嵌入式操作系统实时性不足的基础上,提出了一种新型的改进方案(将RTAI和uClinux相结合),并给出具体的工控应用实例,进一步对这种系统的功能进行有效验证。

图1:双内核实时系统嵌入式实时Linux架构。嵌入式Linux以代码开放、价格低廉、功能强大又易于移植的特性正在被广泛应用,为嵌入式操作系统提供了一个极具吸引力的选择。但许多实际应用,譬如多媒体通信、生产过程控制、在线事务处理等等都要求对外部事件在限定的时间内做出反应。因而嵌入式系统实时性问题越来越受到关注,对嵌入式Linux进行实时性改进也成为嵌入式操作系统领域的一个研究热点。

本文提出了一种基于uClinux的嵌入式实时操作系统方案。将RTAI和uClinux相结合,既满足了嵌入式应用的需求,同时又保证了系统的硬实时性。此外,还有强大的网络功能、易升级性、易移植性等优点。最后结合基于这一操作系统开发的重大装备远程监控系统的应用案例,进一步从功能和性能上对其进行验证。

现有嵌入式操作系统应用中存在的问题 一个优秀的嵌入式操作系统是嵌入式系统成功的关键。它除了具备一般操作系统最基本的功能,如任务调度、同步机制、中断处理、文件功能等,还需要具有以下特点:1.更好的硬件适应性,也就是良好的移植性;2.占有更少的硬件资源;3.高可靠性;4.提供强大的网络功能,支持TCP/IP协议及其他协议;5.有些应用要求具有实时性能。

现有的嵌入式操作系统大致可分为商用型和免费型两类:商用型操作系统由于功能稳定、可靠,有完善的技术支持和售后服务,在嵌入式市场占有一定的份额。但它同时也存在价格昂贵、需要版权、源代码不公开等一系列问题;免费型操作系统(如Linux)源码公开,有价格方面的优势,但在严格满足嵌入式实时应用需求方面还有欠缺。

图2:实时内核实现机理

RTAI对Linux的实时性改进

现有几种针对Linux的实时系统解决方案,实现方法主要包括两种:1)直接修改Linux内核、增加实时性,如:Montavista;2)在普通Linux内核之上增加实时模块、双内核结构,如:RTLinux或RTAI。

Montavista可以满足用户的软实时要求,RTLinux或RTAI着重增强Linux的硬实时特性。软实时系统的时限是柔性灵活的,它可以容忍偶然的超时错误。失败造成的后果并不严重,仅仅是轻微地降低了系统的吞吐量。硬实时系统有一个刚性的、不可改变的时间限制,它不允许任何超出时限的错误。超时错误会带来损害甚至导致系统失败、或者导致系统不能实现它的预期目标。

RTAI采用双内核方法,不直接使用Linux的任何功能,而是把需要高度时间精度的工作写成一个驱动程序的形式,然后直接用PC时序芯片所产生的中断调用这个驱动程序。RTAI与NMTRT-Linux的最大不同之处在于,它在Linux上定义了一组实时硬件抽象层(RTHAL)。RTHAL将RTAI需要在Linux中修改的部分定义成一组程序界面,RTAI只使用这组界面和Linux沟通。这样做的好处在于,用户可以将直接修改的Linux核心程序代码减至最小,这有可能使得将RTHAL移植到新版Linux的工作量减至最低。但是,RTAI虽然满足了硬实时性要求,却没有被裁减为足够小且适用于嵌入式系统。

RTAI+uClinux的实时方案

uClinux是为嵌入式应用设计的,它本身并没有更多地关注实时问题。uClinux经过小型化改造,形成了一个高度优化、代码紧凑的嵌入式Linux,并保留了Linux大多数的优点。它专门针对无MMU的CPU,去除了普通Linux内核中的虚拟内存管理部分。更重要的是,uClinux提供了完整的TCP/IP协议栈,并支持大量其他的网络协议,为嵌入式系统提供了强大的网络支持。而从前面的分析可以看出,RTAI是基于普通Linux内核,相对于嵌入式应用其内核过于庞大;而uClinux本身并没有更多地关注实时问题。因此,可以将RTAI和uClinux相结合,采用双内核的设计方案,既满足了嵌入式应用的需求,又保证了系统的硬实时性。

1.硬件抽象层

图3:系统中断处理流程图

系统的实现基础是硬件抽象层,通过硬件抽象层进行硬件管理,把基本内核和实时内核结合在一起,其中一个内核的改变,不会影响另一个内核的执行。硬件抽象层定义了本系统同硬件之间的抽象接口,主要用来截取硬件中断,并且依据实时内核调度器的需求,重定向为基本内核任务或是实时任务。RTHAL包含一个关键的组件:中断描述符表(IDT,InterruptDetorTable),它定义了一套指针用来处理中断例程。RTHAL本身定义了一个结构,使得基本内核中断处理函数能够很容易地被实时处理函数所替代。这样,当实时内核通过RTHAL激活后,新的IDT表为合法。在以上控制下,基本内核作为实时系统的任务提供服务。

2.双内核结构

双内核实时系统的总体结构模型如图1所示,主要包含了基本内核、实时内核、硬件抽象层、硬件部分。

其中基本内核(uClinux)和实时内核(RTAI)分别处理非实时和实时任务的调度和执行,而实时任务和非实时任务之间信息的交换要通过管道(FIFO)或共享内存(MBUFF)来实现。当实时任务运行时,基本内核被硬件抽象层屏蔽。即实时内核将基本内核作为优先级最低的一个任务来运行,只有在没有实时任务运行的时候才予以调度。

3.实时内核动态加载

嵌入式实时Linux的实时内核是动态加载的。实时任务被激活前,实时内核并没有启动,基本内核通过RTHAL透明访问硬件,就像RTHAL不存在一样。当实时任务被激活时,RTHAL结构发生变化,基本内核被实时内核接管,图2表明了实时内核启动前后,系统发生的变化。

4.调度处理

当中断到来时,实时内核判断它是基本内核中断还是属于实时中断,分别进行处理。若是基本内核中断,如果当前有实时任务正在运行,则只是设置一下中断标志位,悬挂此中断,如果没有实时任务运行,则调用基本内核的中断处理程序;如果此中断是实时中断,就直接调用相对应的实时中断处理程序。注意,实时中断可以抢先基本内核任务的执行。系统的中断处理流程如图3所示。

应用案例

工业控制是嵌入式实时操作系统的传统应用领域,需要严格的实时处理功能、高可靠性和良好的开放性,对开发环境、可操作性、成本等也有特别的要求。因此本项研究以重大装备的远程监控系统作为其应用之一。

1.嵌入式远程监控系统结构

应用针对工业生产中使用的大型设备在连续运转状态下的远程监控问题,研究用于重大装备远程监控的嵌入式装置。系统主要包括输入/输出模块(NetIO)和输入/输出上位模块(NetWeb),前者用于实现现场数据的采集(输入),或用于现场装置的控制(输出),后者集成了Web功能,使得用户可以通过互联网对输入/输出模块进行访问。两类模块通过网络相连接,在本系统中为通过串行485总线。嵌入式远程监控系统结构如图4所示。

2.NetWeb对嵌入式Linux的功能验证

图4:嵌入式远程监控体系结构

NetWeb的开发基于前面介绍的嵌入式实时Linux操作系统。特殊的双内核操作系统结构决定了应用开发的特殊性。

1)任务管理功能

系统中的任务可以分为实时性任务和非实时性任务,实时任务包括实时数据采集、处理等方面,这部分的功能要在实时内核RTAI之上进行实现;另外,非实时任务主要包括数据存储、远程通讯的实现,这部分功能要在基本内核uClinux之上实现。

嵌入式实时Linux将实时任务与非实时任务分开管理,实施不同的调度策略和任务间通信方式,至于实时任务与非实时任务之间的通信可以通过实时的FIFO或共享内存实现。这样的功能使应用的编写简洁清晰、功能明确、调度灵活,方便了用户。

2)网络功能

嵌入式实时Linux实现了嵌入式互联网技术,将Web服务器引入到现场测试和控制设备中,在相应的硬件平台和软件系统的支持下,使传统的测试和控制设备转变为具备了以TCP/IP为底层通信协议,Web技术为核心的基于互联网的网络测试和控制设备。

嵌入式Web与传统Web应用相比,简化了系统结构,将信息采集和信息发布都集成到现场的测控设备中。由于有了标准的接口形式和通信协议,内嵌于设备的Web服务器可以向任何接入它所在网络的合法用户提供统一的基于浏览器方式的操作和控制界面,浏览器成了设备的前端控制板。

3)实时性

嵌入式实时Linux是硬实时的嵌入式操作系统。当中断到来时,若是基本内核中断,如果当前有实时任务正在运行,则只是设置一下中断标志位,悬挂此中断;如果此中断是实时中断,就直接调用相对应的实时中断处理程序。这样的调度机制可以保证远程监控系统中实时任务在确定的时间限度内完成,为系统故障的实时预报、诊断、控制提供了强有力的支持。

此外,系统还从时间管理、内存管理、中断管理、同步、互斥管理以及设备管理等方面对这一操作系统的功能进行评估验证。

本文小结

尽管将Linux进行嵌入式实时性改进的方案很多,但是采用RTAI+uClinux的还未见到成型的产品。这一方案既符合嵌入式系统的需求,又达到硬实时性标准,同时还有强大的网络功能、易升级性、易移植性等优点。同时,在其上进行应用编程时实时任务(基于RTAI)和非实时任务(基于uClinux)是分开编写的,清晰简洁,但由于用户需要直接在内核空间编程,从系统的安全性角度存在很大隐患。希望可以通过进一步讨论研究使其更加完善。

第三篇:油田联合站注水系统实时监测与控制

油田联合站注水系统实时监测与控制

作者:北京理工大学化工与材料学院(100081)陈祥光 来源:《电子技术应用》

摘要:为了提高油田联合站的自动化管理水平,确保注水系统的安全性和可靠性 采用PC-工业控制计算机和ADAM 4000系列及ADAM 5000系列智能模块,对油田联合站注水系统进行自动化控制,对污水罐液位、注水泵和电机的温度、输出水压力和流量以及润滑油压力和流量进行实时检测与控制。检测与控制信号通过RS485总线与工控主机连接,研制完成的多功能管理软件已成功地应用在注水过程的自动控制系统中。关键词:注水系统 过程控制 智能模块 ADAM系列 PC-工控机 油田注水是采油生产中最重要的工作之一,但它是油田耗电大户,一般占油田生产耗电的30~40%。在油田联合站的注水系统中,注水泵机组是采油生产过程中的主要设备,是保证原油高产、稳产的关键设备。目前的一些联合站注水泵机组均无监控系统,致使水泵抽空、电机和泵轴承以及轴瓦过热烧损、泵体振动过大等事故时有发生,影响了正常生产。因此研制注水过程自动控制系统、推广应用注水系统的自动监控技术对于提高注水效率、保证安全生产具有十分重要的意义。

1 注水系统工艺流程及监测点的确定

某油田联合站注水系统工艺流程图(总控图)如图1所示。

其工艺流程为:来自新、老联合站的污水,经过沉降过滤处理后,用泵打入污水储罐,依据生产指标要求,来水经高压注水泵增压后,通过干线输至配水间,再经控制、计量后分配至各注水井。系统主菜单如下所示: 系统设置 储水罐监测 注水泵电机控制 报表输出 数据管理 数据通讯 系统帮助 退出系统 根据现场运行的实际情况,以及生产过程中可能出现的问题,选取以下各参数进行实时监测与控制:

(1)污水储罐

①1号储罐液位实时监测及上、下限报警; ②2号储罐液位实时监测及上、下限报警; ③3号储罐液位实时监测及上、下限报警。(2)注水电机

①电机前后轴承温度; ②电机定子(机身)温度。(3)注水泵

①注水泵前后轴承温度; ②注水泵进出口压力。(4)公共参数 ①汇管压力、流量; ②润滑油压力、流量。

2 储水罐液位自动监测系统

储水罐的工艺指标是水位高度保持在5~8米之间,当液位高于8.5米时,发出上限报警信号;当液位低于4.5米时,发出下限报警信号。储水罐液位自动监测系统如图2所示。

3 注水泵、电机自动监控系统

注水泵、电机自动监控系统是通过实时检测泵进出口压力,泵和电机的轴承、轴瓦温度,以及润滑油的压力、流量来控制电机的正常运行,对温度、压力及流量均设有报警信号。注水泵、电机自动监控系统如图3所示。

4 自动控制系统硬件设计 本自动控制系统硬件采用ADAM 4000 系列和ADAM 5000系列智能模块,主机选用研华PC-工业控制机。该系统连接框图如图4所示。

模块定义如下:(1)“4080”计数器输入模块共3块,每块具有两个独立的32位计数器,分别检测1~5台污水进口流量计脉冲信号和1台润滑流量计脉冲信号。

(2)“5017”8通道A/D转换模块共6块,分别检测3个储水罐的上下限检测信号、每台注水泵的输入/输出压力信号、注水泵和电机的温度检测信号以及润滑油的压力信号等。

(3)“5068”8通道继电器输出模块共1块,分别控制5个注水电机的启停。(4)“5051”16通道数字量输出模块共1块,1~8通道输入“4048”模块的报警输出信号,9~16通道分别输入注水泵、电机等的开启状态。

(5)“5000”可编程控制器共2块,第1块包含3块“5017”、1块“5068”;第2块包含3块“5017”、1块“5051”。其主要功能是将“5017”、“5051”、“5068”的检测信号通过RS485总线传送至工控主机。

5 自动控制系统软件设计

注水过程自动监控系统软件由主控图、储水罐控制图、注水泵和电机控制图、系统设置、报表输出、数据通讯、系统帮助、退出系统等8大部分组成,大小画面共几十幅,系统软件结构图如图5所示。系统画面功能大致可归纳为以下几点:

(1)主控图

主控图画面包括3个储水罐、5套注水泵和电机以及相应管网、阀门等,实时计量各储罐进水流量数值;实时检测各注水泵进出口压力、泵和电机各点温度、以及润滑油的压力和流量等;实时显示各注水泵、电机的的启停状态。在画面上通过鼠标单击有关按钮可对各注水泵、电机进行开关控制。

(2)系统设置

系统设置画面的主要功能是:操作员登录、配置用户及密码修改,并可对各注水泵、电机的优先启停进行设置,同时还可以设置工艺过程的有关参数。

(3)储水罐监测

在储水罐控制画面上可实时显示储水罐的液位状态,对1、2、3号储水罐的液位上、下限设有报警功能。当某储水罐液位越限时,工控主机将发出报警信号,画面上相应位置有报警灯闪烁,以及时提示操作人员采取相应措施。

(4)注水泵、电机控制

注水泵、电机控制画面显示5个编号按钮,单击其中某一按钮,即进入到相应的注水泵、电机画面三级画面,该画面显示注水泵、电机的运行状态。正常工况下,注水泵、电机日夜不停地运转。当温度信号越限时,工控主机发出报警信号,如果温度继续上升,直至超过上上限时,主机将输出信号切断电机电源。当测到润滑油流量不足或无流量信号时,主机也发出相应报警信号,以提示操作人员及时处理。

(5)报表输出

报表输出画面可供选择的报表打印按钮有:打印即时数据报表、打印历史数据报表、打印单日注水量清单、打印单月注水量清单等。用户可根据需要单击相应的按钮。

(6)数据通讯

用户通过选择数据通讯画面上的相应按钮,可将实时数据文件或历史数据文件传至信息中心或上层计算机管理系统。

(7)系统帮助 系统帮助包括一级画面、二级画面及三级画面的操作说明,以及紧急停机和事故处理操作说明,其目的是帮助用户尽快掌握和应用该系统软件的全部操作功能。

(8)退出系统

若用户要求退出监控系统,可进入到退出系统画面,在单击退出系统按钮时,系统将检查操作员的权限,只有达到退出系统的权限时,才能正确退出系统。

本文在分析研究油田联合站注水系统生产工艺的基础上,采用ADAM系列智能模块、PC-工控机以及美国DE公司生产的射频导纳物位计等仪表,设计完成了注水过程自动控制系统,并将其应用于油田联合站。该系统的主要特点是:操作画面友好、系统功能强、运行稳定可靠,实时监控软件包括有多级操作画面,可实时动态地显示各工艺参数和综合信息,并采用VB5.0编制打印报表软件,克服了当前工控系统打印输出报表功能单调、不能满足用户要求的缺点。该系统具有实际推广

第四篇:SCADA实时报警信息综合分析系统实现技术探讨

【摘 要】电力网络规模大,接入设备和数量多,电力网络运行过程容易产生故障,需要专业人员时刻监控一次、二次设备和系统的运行情况,及时捕捉各类故障的报警信息。由于监控信息量大、监控人员有限,所以电网监控工作量非常大。为了提高电网运行故障报警信息分析实时性、和智能化程度,采用先进的etl数据抽取技术和电网各逻辑关系,自动分析各类故障的关联关系,去繁就简,删除冗余,确定电网故障的最根本原因,提高了故障报警信息分析的准确度,方便监控值班人员快速故障定位,为电网安全稳定运行提供决策支撑。

【关键词】scada 报警信号 告警信息 b/s架构

引言

随着国家电网的快速发展,电网拓扑结构复杂,接入设备种类和数量均数以万计,因此需要构建专业的监控值班团队全天候、全区域进行实时远程综合监控。由于每个值班人员每天需要监控数十个甚至上百个变电站的几千条甚至上万条的各类信息,工作量非常之大,给工作人员带来了巨大的工作压力。为了降低监控人员的工作压力,提高故障信息判定的准确性和实效性,因此需要采用计算机技术构建scada实时报警信息综合分析系统,该系统可以对监控信号根据各设备之间的逻辑关系进行有效的分析,为监控人员提供一个智能的分析工具,有力的支撑值班人员的判断和决策。

scada实时报警系统功能

scada系统采用计算机技术作为基础,实现了数据提取、真伪信息自动判定、重复冗余信息自动处理、故障信息综合判定功能,可以对电力运行的各类设备故障信息进行综合监视[1]。目前,scada系统可以迅速的定位系统故障状态,加快决策管理功能,提高对电网的运行的可靠性、安全性和经济性,降低电力系统的调度,实现电力自动化调度的信息化,提高系统调度的效率和智能化水平,具有不可替代的作用[2]。scada可以有效的处理模型数据,获取更加电力设备运行实时数据,具有以下三个方面的数据分析功能:

(1)数据模型抽取。数据模型抽取可以将电力运行数据存储到数据库中,这些数据都包括变压器、发电机、交流线和场站等等,并且根据电网拓扑结构能够模拟电网运行情况,电网模型是一直不断的变化和新增的特点,引进了差异化的etl数据抽取模式,并且通过croba实时运行数据库获取,模拟中间数据库进行转换[3]。

(2)设备实测数据抽取。电力设备实测数据包括遥信数据和遥测数据,电网遥信数据特点的变化量较小,但是数据量非常大,遥测数据和变化比较频繁,数据量相对较小,因此scada可以统一存储和管理相关的数据,生成可以调用的接口代码,抽取跟设备相关的一一对应的实测数据,按照系统的需求存储到系统的后台数据库中。

(3)告警信息抽取。电力运行网络的告警信息存储在历史数据库中,由于电力运行网络的数据变化快,更新频次快,实时性高,并且由于数据冗余量非常大,重复的数据多,因此非常容易造成调度人员耗费大量的时间筛选数据信息,scada实时告警系统可以根据定制的各电网模型之间的逻辑关系,自动筛选、综合判定,并将数以千计的故障信息凝结提炼成一条或多条最真的故障信息,实时展现给监控值班人员,及时通知相关人员紧急处理。

scada实时报警系统实现关键技术

scada实时报警系统设计与实现过程中采用多种软件工程技术,其中关键技术分别是b/s架构、标准化数据建模与分析、etl数据差别抽取存储四种,可以提高scada系统操作的便捷性,利于系统推广和使用。

(3)etl数据差别抽取技术。etl是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。对于电网模型数据,数据信息非常庞大,但是其新增或修改的内容相对较少,所以,运用etl抽取技术,系统可以自动扑捉电网模型的实时变化情况,并自动及时更新最新数据,保持电网模型和实测数据统一。

结语

随着国家电网的快速建设,电网中接入的设备种类和数量急剧上升,因此电网运行需要构建一个设备运行故障信息综合判定系统,以便能够实时监控电网运行状态。scada实时报警信息综合分析系统能够利用标准化数据建模技术抽取电网中的报警信息,使用b/s架构和友好的界面交互技术,提高了系统操作便捷性,能够更好地获取报警信息并且进行分析,为电网运行提供决策。

第五篇:系统动态性与环境适应性

系统的动态性与环境适应性

根据教材,的确分清什么是系统的动态性,什么是系统的环境适应性,有些老师干脆把系统的动态性默认为系统的环境适应性,这就完全错了。

系统的属性,很多,只要你说出来,有道理,都是系统的属性:如层次性、非加和性、多样性、秩序性等等。不同的属性,从不同角度解释系统,针对性有所不同。

动态性,主要是说系统随时间变化的一种属性,有些书把它称“时变性”,一个意思。把电风扇看成一个系统,一方面,这个系统随时与所处的环境存在物质与交换,电风扇的微观结构、组织结构发生变化,如塑料构件的老化、铁质构件的老化,都是动态性的表现;另一方面,系统是有一定功能的,存在一定的输入与输出,电流输入,产生风、热量,在这个过程中,零件之间由于相对运动而产生磨损,与原先的系统,略有变化,这也是动态性。系统的环境适应性,主要是指系统保持和恢复原有特性能力,泛指一个系统在环境中的生存的能力。有些系统,其环境适应能力强,当然有些差。还是电风扇为例,如果制造商使用劣质塑料、劣质钢材,那么这个电风扇的保持原有特性的能力差。

根据上述特点,我们在生产生活中,就有了针对性。如铁质护栏,相对而言,它是稳定的,能够保持原有的特性,在一定的时间内能起到应有的作用,这是它的适应性。但由于铁质护栏长期与空气中的氧、雨水接触,产生微观化学变化,这是动态性,随时间而变。根据这种现象,人们产生一种行为,给铁质护栏上漆。人的行为,不是系统的特性,而在系统思想指导下的行为。

下载μCOS-II的多任务系统实时性分析与优先级分配word格式文档
下载μCOS-II的多任务系统实时性分析与优先级分配.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    全高清实时视频显示嵌入式系统设计与调试

    实验名称全高清实时视频显示嵌入式系统设计与调试课程名称姓名学号年级专业 嵌入式系统设计彭嘉乔 3130104084 大三电子信息工程所在学院电气工程学院 全高清实时视频显示......

    实时双向交互式远程教学系统的设计与实现论文

    摘要:远程教学是网络教育的重要组成部分,实时双向交互式远程教学系统能为远程教育提供一个符合信息化教育规律的真正高效的现代化教学手段。文章阐述了系统设计的理论依据,对该......

    OA系统可实施性分析报告1

    OA系统可实施性分析报告 什么是OA呢?OA就是办公自动化系统是处理公司内部的事务,辅助管理,提高办公效率和管理手段的系统。 一、OA系统的功能模块: 公共信息  公司信息:为员工提......

    《概论先验性、分析性与必然性》读后感

    《概论先验性、分析性与必然性》读后感从昨天看完程亮先生转贴的文章,我的头就肿得象粽子,单说文章里提到的哲学和科学方面的名人名字,要想理清他们的思想和看“一部分”他们的......

    《概论先验性、分析性与必然性》读后感

    从昨天看完程亮先生转贴的文章,我的头就肿得象粽子,单说文章里提到的哲学和科学方面的名人名字,要想理清他们的思想和看“一部分”他们的著作,我这辈子就没可能再做别的什么事了......

    电子商务系统的分析与设计

    电子商务系统的分析与设计—以浙江长生鸟药业电子商务系统为例摘要本文运用笔者在上海交通大学计算机科学与技术所学的知识,在详细了解中国电子商务现状的基础上,完成了对浙江......

    图书馆管理系统需求与分析

    图书馆管理系统需求与分析报告 第一章 引言 1.1 编写目的 按照关系型数据库的基本原理,综合运用所学的知识,以小组为单位,设计开发一个小型的图书管理系统。通过对一个实际问题......

    浅谈供配电系统设计与分析

    网络高等教育 本 科 生 毕 业 论 文(设 计)需要完整版请联系右上“文档贡献者” 题目: 浅谈供配电系统设计与分析 浅谈供配电系统设计与分析 内容摘要 随着经济的发展和现代工......