18基于LabVIEW的实时控制与仿真技术应用研究
本文关键词:基于LabVIEW的实时控制与仿真技术应用研究,由笔耕文化传播整理发布。
南京航空航天大学硕士学位论文;第三章基于RTX和LabVIEW的实时控制研究;系统的实时性是指在一个确定的时间里,对外部产生的;Windows系统是一个通用的操作系统,时系统中;不具有实时性,但它拥有大量的熟悉本系统的开发支持;本章通过对Windows环境下实时控制的几种方法;3.1Windows环境下实时控制的几种方法;3.1.1Windows系统实时性的
南京航空航天大学硕士学位论文
第三章 基于RTX和LabVIEW的实时控制研究
系统的实时性是指在一个确定的时间里,对外部产生的事件做出响应,并在确定的时间里完成这种响应及处理。实时系统并非是指“快速”的系统,它与非实时系统的本质区别就在于实
Windows系统是一个通用的操作系统,时系统中的任务都有时间限制,从而使系统具有确定性[37]。
不具有实时性,但它拥有大量的熟悉本系统的开发支持人员和最终用户,并以高性价比被越来越广泛地应用在各种控制系统。LabVIEW是一种基于Windows平台的开发环境,它很好地发挥了Windows的出色的多任务性能和友好的图形化界面的特点。
本章通过对Windows环境下实时控制的几种方法的分析,重点研究基于RTX的实时控制系统的原理,构建一种基于RTX和LabVIEW实时控制系统,它可以利用RTX扩展Windows的实时性,利用LabVIEW开发人机界面,最后用串口通信实例、数据采集实例及PID控制实例对该系统的实时性进行验证。
3.1 Windows环境下实时控制的几种方法
3.1.1 Windows 系统实时性的固有缺陷
计算机技术的飞速发展已使PC机在实时数据采集和控制领域占据了越来越重要的地位。在PC操作系统中,Windows操作系统已成为通用的桌面操作系统,应用范围不仅仅在于个人用户级,同时也广泛地应用在工业、军事等领域。自1995年Microsoft公司推出Windows 95,独立于Dos操作系统以来,就在图形界面、抢先式多任务和多线程、即插即用,简化用户配置硬件操作等方面具有高性能的人性化的特点 [38]。今天的Windows XP在继承了以前版本的优点上,又做了一些细微的修改。集成了防火墙、媒体播放器以及它与网络服务的紧密结合。是目前使用率最高的一个操作系统。鉴于以上优点,Windows系统也正逐渐应用在工业自动化、航空航天控制等高端领域。
Windows XP作为控制系统开发平台,具有如下优点[39-40]:
z 高性价比;
z 可运行多种应用程序;
z 支持多种开发工具;
z 丰富的Win32应用程序接口;
z 大量的熟悉本系统的开发支持人员和最终用户。
25
基于LabVIEW的实时控制与仿真技术应用研究
Win32应用程序运行在Windows用户层级别,而所有硬件管理都在核心层,Win32应用程序不能直接访问硬件,必须通过系统服务调用来获得核心层级别的访问[41]。这就限制了Windows 系统的实时性,也造成了利用其开发实时控制系统的局限性。Windows XP的系统结构如图
3.1
图3.1Windows XP系统体系结构图
WindowsXP系统通过这样的体系很好地屏蔽了底层的操作,对于系统的安全有重要的作用,但这些机制同样也限制了用户应用程序的权限。为了满足服务器和桌面应用的可靠性,Windows XP分两个阶段处理中断:首先,通过非常短的中断服务程序(ISR)进行一些基本的响应,然后由一个DPC(延迟过程)调用剩余的任务。虽然ISR按照优先级,以抢占方式运行,但DPC却是按照排队方式运行,这样使得WindowsXP对异步事件的响应不能满足时间期限。 另外,WindowsXP是一个多任务系统,操作系统是按照一定的时间片大小将CPU处理器的控制权分配给各个线程,而每个线程的优先级决定了时间片的优先分配顺序,但其线程调度存在优先级倒置,即优先级较低的线程能阻止较高的优先级线程的运行,这样违背了实时系统的抢占调度原则。并且WindowsXP的线程优先级太少,这对一个复杂的实时系统来说是不可想象的。
总的来说,WindowsXP系统不能成为一个实时操作系统,主要有以下几点原因:
z 线程优先级太少;
z 不确定的线程调度机制;
z 优先级倒置,尤其体现在中断处理中。
26
南京航空航天大学硕士学位论文
虽然Windows系统在实时性方面有着固有缺陷,但它具有开发控制系统的诸多优势。目前,在Windows平台上,实现实时控制系统的方法主要有三类:
(1)基于多媒体定时器的实时控制系统;
(2)基于智能板卡或专用硬件的实时控制系统;
(2)基于RTX的实时控制系统。
3.1.2 基于多媒体定时器的实时控制系统
实时计算机控制系统和普通计算机系统最大的不同在于实时计算机控制系统必须与外部世界相互作用,外部世界由工作环境、设备硬件和在其中发生的事件表示。系统在响应这些事件时所进行的判断、推理和计算,不仅要保证产生正确的结果,而且要保证在确定的时间产生这些结果[32]。
对于以Dos为平台的控制系统,可以通过对硬件直接操作而得到精确的采样时间。而由于Windows系统是抢占式多任务操作系统,系统掌管了全部的硬件资源,用户无法直接同硬件打交道,所以Windows的定时机制都是基于操作系统提供的API函数来进行的。主要有两种方式:
(1)系统计时器。
这个定时器是IBM PC硬件和ROM BIOS构造的定时器逻辑的一个相当简单的扩展。PC的ROM初始化Intel8259定时器芯片来产生硬件中断08H。这个中断有时称为"定时器滴答"中断。中断08H每隔54.925毫秒产生一次,或大约每秒18.2次。BIOS使用中断08H更新存于BIOS数据区的时间值。因此,这个定时器在Windows中的最大缺点是计时器的最大分辨率是55毫秒。此外,这个计时器消息的优先级太低,只有在所有的消息(除了消息WM_PAINT)被处理后才能被处理。因此函数SetTimer只能用于一般的定时,它远远不能满足实时数据采集的要求[42]。
(2)多媒体定时器(Multimedia Timer)。
它是在Win95之后引入的,它使用单独的线程,来调用回调函数。其优先级很高,每隔一定时间就发送一个消息而不管其它消息是否执行完。
利用多媒体定时器的基本功能,可以通过两种方法实现精确定时:
z 使用timeGetTime()函数,该函数定时精度为ms级,返回从Windows启动开始所经过
的时间。由于使用该函数是通过查询的方式进行定时控制的,所以,应该建立定时循环
来进行定时事件的控制。
z 使用timeSetEvent()函数,该函数原型如下:
MMRESULT timeSetEvent(UINT uDelay,UINT uResolution,LPTIMECALLBACK
lpTimeProc, DWORD dwUser,UINT fuEvent);
该函数的参数说明如下:
27
基于LabVIEW的实时控制与仿真技术应用研究
z uDelay表示延迟时间;
z uResolution表示时间精度,在Windows中缺省值为1ms;
z lpTimeProc表示回调函数,为用户自定义函数,定时调用;
z dwUser表示用户提供的回调数据;
z fuEvent为定时器的事件类型,TIME_ONESHOT表示执行一次;
z TIME_PERIODIC表示周期性执行。具体应用时,可以通过调用timeSetEvent()函数,,
将需要周期性执行的任务定义在lpTimeProc回调函数中(如:定时采样、控制等),从而完成所需处理的事件。需要注意的是:任务处理的时间不能大于周期间隔时间。另外,在定时器使用完毕后,应及时调用timeKillEvent()将之释放。
对于现在的Intel CPU来说,多媒体定时器的最小定时精度通常都可以达到1毫秒[43]。但在工程实践中,5ms以下的精确定时难以保证,只能满足对变化不剧烈的信号的实时数据采集。
Windows的多任务抢占式的运行机制以及多媒体定时器的应用,为Windows下实现一般实时控制系统提供了可能。但由于多媒体定时器的线程仍然运行在Windows用户层,线程较少,定时任务也不能太多,所以对于系统任务比较多或系统的定时周期比较短的实时控制系统,多媒体定时器就无能为力了。
3.1.3 基于智能板卡或专用硬件的实时控制系统
对于比较复杂或实时性要求较高的实时控制系统中,如航空发动机控制系统、飞行控制系统,可采用智能板卡或专用硬件来满足实时性的要求。智能板卡或专用硬件上都带有高性能的单片机或DSP(数字信号处理)芯片作为中央处理器来采集信号或进行高速运算[43-44]。
板卡驱动实现了和Win32的接口,在Windows环境下开发应用程序部分,使用PC机作为上位机来进行数据显示或监控。这类方法的实时性好,但需要编写底层驱动程序,需要了解系统核心层的知识,编写程序复杂,开发周期长,通用性不好。NI公司的RT系列实时板卡都采用这种方式来定制自己的实时系统[45]。
采用DSP等专用硬件的方法来构建实时控制系统,需要根据实际情况定制自己的硬件系统,这类方法通用性同样不强,成本高,硬件及嵌入式软件开发需要专业知识支持,适合于实时性要求特别高的特殊场合。
3.1.4 基于RTX的实时控制系统
由前文对Windows系统实时性固有缺陷的分析,不难发现,Windows平台的许多缺点都是由于其线程模型和调度机制,如果解决了这个问题,那么就可以弥补其实时性比较弱的劣势。 28
南京航空航天大学硕士学位论文
为此,国外在上世纪90年代中后期对Windows实时扩展技术已开始了深入的研究,并在一些重要的期刊上就有关于此方面的文章发表[46]。微软也赞助了关于Windows XP实时性的研究,
但对于Windows XP这种面向广阔并在应用程序事先声明其资源需要方面取得了一些成果 [47]。
市场的操作系统,为了完整其功能而加入实时性系统,导致它使用起来较复杂,是不可行的。这意味着使Windows XP具有实时性的最好方法是通过对原产品的扩展或者由插件实现。美国Venturcom 公司、Ardence公司、Nematron公司以及Radisys公司都在此取得了成果。 其中,Ardence公司的RTX(Real-time-eXtension)是目前Windwos平台的唯一纯软件的硬实时扩展子系统,在国内应用较广。
Windows具有实时性的不足,但它同时也提供了丰富的设备驱动模型,可定制的硬件抽象层(Hardware Abstraction Layer ,HAL)模型,这种开放的、可扩展的环境为其功能上的补充提供了可能。Ardence RTX利用Windows的这个特点,按照微软Windows XP驱动开发工具(Driver Development Kit,DDK)和HAL模型对Windows的实时功能进行了扩展,具体体现在以下几个方面:
z 通过修改WindowsHAL,增加了Real Time HAL Extension,简称rtHAL,它提供了对拦截中断和直接访问硬件的支持。
z 利用DDK,开发了一套完全独立于Windows内核的中断处理、线程调度、事件同步机制。
z RTX的优先级高于Windows的内核。当有硬件中断到来时,rtHAL会首先拦截该中断,交给实时子系统处理,如果实时子系统不处理该中断,中断会被交给Windows内核去处理。可见通过rtHAL、独立的中断处理、线程调度、事件同步机制及优先执行,使得RTX能够真正避开Windows内核,实现实时处理。RTX和Windows的关系如图3.2所示[48-51]:
29
下载地址:18基于LabVIEW的实时控制与仿真技术应用研究.Doc
【】最新搜索
基于LabVIEW的实时控制与仿真技术应用研究
2016澳洲墨尔本大学语言学
指令大全
抗菌药物84 1476
山东省泰安市泰山区2014-2015学年七年级上学期期中学情
行政部2011年度工作计划
村级双联会议记录
张艺谋电影风格及其形成原因分析01
十大土元品牌排行榜 土元哪个牌子好61
16关于美俄海洋战略的认识
本文关键词:基于LabVIEW的实时控制与仿真技术应用研究,由笔耕文化传播整理发布。
本文编号:222447
本文链接:https://www.wllwen.com/kejilunwen/hangkongsky/222447.html