新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 在PC上运行的实时操作系统LabVIEWRT

在PC上运行的实时操作系统LabVIEWRT

作者:时间:2006-05-07来源:网络收藏

实时操作和硬实时操作系统

本文引用地址:http://www.eepw.com.cn/article/241589.htm

电子测试和工业测控都依赖各种PC作为控制器,因为PC的硬件、软件资源丰富,价格实惠,采用开放式工业标准,完全满足作为测试系统的主控机,以及单机的微控制器的各种要求。特别是PC基数据采集系统和虚拟仪器的问世,PC在系统、单台、手提、模块、板卡中同样起着核心作用,反过来,测试产品可从PC中获得最新的计算机和网络成果。PC基的数据采集广泛用来解决信号测控的各种问题,可用比传统仪器和控制器更低的投入,更快的上市时间开发功能强大的测控系统。

表1 RT系列数据采集卡

型号 模拟输入 分辨率 取样率 输入电压 模拟输出 数字I/O
6040E 16SE/8DI 12位 250ks/s ±0.05~±10V 2 8
6303 E16SE/8DI 16位 100ks/s ±0.1~±10V 2 8

当前,大部分PC采用奔腾芯片和Windows操作系统,芯片时钟不断升高,今年将超过1GHz,Windows版本也从95、98、NT升级至2000,PC不但是精巧的控制器,而且也是很好的服务器,性能直迫工作部。然而,由于Windows着重事务处理,虽然具有多任务、多线程、多媒体、网络和通信功能,仍然不适用于对过程时间有严格要求的实时测控系统。

“实时”是工业最广泛使用的术语,但意义不够明确,多数工程为员认为实时是指在可接受的延时内的时间,因为任何过程都不可能在瞬时产生。并且且硬实时间间表示一种对系统反应时间的约束,在限定时间内系统保证作业的无失效执行,并符合实时的要求。我们用一个控制回路来表达实时应用(见图1),传感器在某一时刻测得的物理量,经过过程收集后作出控制决定,再产生控制输出由执行机构去执行。显然,从传感器测量至执行器动作之间需要占有一定时间,这个时间间隔称为控制回路周期时间。如果回路周期时间得到保证,则系统是在确定情况下运行。亦即,如果回路周期时间不确定,则系统是在不稳定状态下运行。

测控系统一般是在PC的Windows下运行。虽然Windows是可靠的操作系统,但是并非可时操作系统,工程为员不敢依靠Windows去执行严格的硬实时应用,因为担心操作系统会“崩溃”。

LabVIEW RT和RT系列硬件

测控使用的PC基插卡中,以数据采集卡最普遍,数据采集卡充分利用计算技术的开放系统、图形用户接口、连续性、网络能力,构建适于快速实时控制的对时间有严格要求的应用。在编程工具中,美国国家仪器公司的LabVIEW已有20年的经验,在PC基仪器编程中,LabVIEW占有最大的份额。国家仪器公司生产的数据采集系统也是性能最好的产品之一。

然而,国家仪器公司的数据采集卡和LabVIEW都是在Windows平台上运行的,Windows并非确定性的实时操作系统,在它的控制算法中,回路周期时间是变动的,不能解决硬实时控制。对于Windows基PC来说,数据采集系统在执行回控制时典型延时或抖动是几百毫秒。对于一般控制系统几百毫秒的回路周期时间是可以接受的,例如温度控制器通常只执行每秒几次的取样和控制温度,几百毫秒的回路抖致力或不确定并不影响系统的稳定。显然,对于需要硬实时控制来说,往往要求控制回路的周期时间稳定在几十毫秒或者几毫秒。Windows操作系统不适合这种高速的控制回路使用。

采用LabVIEW进行处理,周期时间可达到8ms,但不够稳定,每隔几分钟左右周期时间会突然增加到30ms,原因是底层内核或Windows内务处理引起的变化。既然Windows和LabVIEW都不能解决硬实时控制的确定周期时间,用户只能寻求其它解决方案,例如UNIX操作系统的实时软件,使控制系统的总费用达到几万美元,而且编程为员还要重新学习难以掌握的命令集和在工作站上编程。

当然,还有在PC和Windows平台上发展的实时专用硬件和控制器,即有独立的设备也有插卡,总线多种多样,如VME、PCI或CompactPCI。这些控制器只有固定的或很有限的编程能力,编程软件也是专用开发工具。专用控制器和开发工具的售价仍在一万美元以上。由于缺乏公认的标准和缺少灵活性。妨碍这些专用实时产品用于PC基的软实时控制系统中。

为解决硬实时的测控问题,国家仪器公司在LabVIEW的基础上开发出LabVIEW RT软件,在普通数据采集卡上开发出RT系列硬件,构成真正实时测控系统,而价位在一万美元以下。

实时操作系统的构成

LabVIEW RT实时图形编程工具要在RT系列数据采集卡上的RT CPU运行,RT CPU是一个AMD486DX5处理器,时钟频率133MHz,PCI总线速度33MHz,用户编程用在DRAM存储容量8MB。RT CPU相当于RT系列数据采集卡上的处理器,执行主机PC的命令,与主机交换信息。RT系列数据采集卡目前有两种,性能如表1所示。

为增加数据采集的I/O数目,RT系列6533型I/O插卡的特点是,I/O数32个,传输率13MB/s(图形)和76MB/S(信号交换),TTL电平。RT系列插卡是双槽PCI板卡,由堆叠在一起的处理器母板和功能子板构成。处理器板实际上是一块PC板,由PC芯片集、BIOS、RAM和RT专用CPU组成,只是没有硬盘、键盘、鼠标、串并口等I/O器件。因此RT系列插卡必须与主机PC一起工作,执行程序开发、调试、数据收集、用户界面等操作。RT系列插卡有PCI、PXI和Compact PCI三种总线选择。RT系列插卡的处理器板方框图如图2所示。

子板就是6430E/6440E数据采集卡,备有16个单端模拟输入或8个差分模拟输入,分辨率是16/12位,取样率是100/250ks/s。可见当前的RT系列硬件主要用于过程控制,在主机PC和Windows平台下运行时RT系列插卡可在750μs内响应一个事件,采用软件定时的最大周期时间抖动为10μs,采用板上定时器的硬件定时的抖动降低到ns量级。实时控制性能显然比LabVIEW好得多,而且不会出现不稳定的周期时间突变,是名副其实的硬实时控制系统。实时LabVIEW RT的编程与标准LabVIEW的编程基本相同。

LabVIEW RT图形编程工具由两部分构成,亦即开发系统和RT引擎。RT开发系统的功能是编制和调试LabVIEW RT代码,然后将程序下载到RT系列插卡上的RT CPU,以及提供用户界面。可见RT实时系统是在主机PC下运行的应用软件,RT引擎是在RT CPU内运行和执行嵌入的LabVIEW RT程序。实时引擎实上是一个32位的内核,但增强了与开发系统通信服务等功能。

RT引擎运行LabVIEW RT的代码,提供确切的实时特性。因为,RT引擎不在主机PC运行,而在RT系列插板上运行,对实时特性调谐,减少瓶颈。RT引擎是在实时操作系统下运行,保证调度程序和其它操作系统服务粘附到实时操作上。RT引擎是多线程的,较高优先级的线程一定比低优先级的线程先执行。使用者无需了解内核的详细运行,实时操作系统管理全部实时细节。这种屏蔽作用保证在实时操作系统更新时,用户不必更改代码。

实时控制与分布式实时控制

有了LabVIEW RT之后,构建实时测控应用变得很容易和方便。对熟悉LabVIEW的使用者来说,先在LabVIEW RT软件开发环境下编写应用程序,然后将代码下载到RT系列数据采集板上的RT处理器内。这样,使用者就备有可靠的独立运行的处理器全力以赴地执行硬实时控制的要求,而其它对时间没有严格要求的用户界面临视,数据收集和有其它功能留给主机PC去处理。因为LabVIEW RT代码在智能的RT系列数据采集卡运行,即使主机PC崩溃,控制回路应用程序仍然工作。对于熟悉LabVIEW编程和传统数据采集插卡的使用者,由于LabVIEW RT和RT系列数据采集卡采用同样的应用程序接口,使用者可利用从前的编程经验而不必深入了解实时技术来构建硬实时应用。

由LabVIEW RT开发实时应用程序可用于大型测控系统的颁结构,在分布结构中主机PC运用标准的LabVIEW主程序和对用户提供界面,对时间要求不严格的控制硬件可接入分布网络中,对时间要求严格的RT系列硬件执行LabVIEW RT程序。标准的LabVIEW主程序软件与嵌入的LabVIEW RT程序相互通信和分享RT系列的板上存储器,在网络上运行TCP/IP协调或调用虚拟仪器(VI)服务器,执行分布式硬实时测控作业。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭