微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 基于LabVIEWRT的数据实时传输系统

基于LabVIEWRT的数据实时传输系统

时间:01-09 来源:互联网 点击:

卡, 也可以是通用的计算机, 但目标机上运行的却是一个专门下载 (预先安装 ) 的实时系统。比如文中系统所采取的 LabVIEW RT 810版本, 其目标机上运行的是 N I基于实时系统 Pharap改造开发的实时系统。由于目标机运行的与本身操作系统无关, RT工作模式就具有较好的适用性[3]

应用 LabV IEW RT环境编程时, 必须的步骤如下:

( 1) 配置目标计算机 [4]。包括设置第一启动盘 (根据下一步的启动方式决定是硬盘还是软盘 ), 屏蔽无关的操作、中断如 USB功能等, 以使目标机启动在实时状态下及尽量增强目标机的实时性能。

( 2) 连接启动宿主机与目标计算机, 并使目标机运行在实时状态下。宿主机与目标机的连接可以是普通的网络连接。使目标计算机运行在实时状态下则有从硬盘启动和从软盘启动两种方式, 启动软盘及硬盘的设置均在 NI产品随带的硬件操作环境 MAX下设置, 具体步骤可见文献 [ 4]。本文所设置的目标机是一个数据采集计算机, 由研华工控机和 N I公司的基于 PC I总线的数据采集卡 PC I6036E组成。目标机启动模式采取了制作启动软盘的方式。

( 3) 在宿主机上进入 LabVIEW RT编程模式, 选定将要运行程序的目标机, 编制宿主机和目标机要运行的程序。 LabVIEW RT的不同版本在这一部分的环境可能有差别, 本文用的 8 1 0版本是目前最新的版本, 它直接应用了一个 RT工程管理窗口, 使得对子程序模块 ( VI) 的管理十分方便、直观。

( 4) 完成程序的编制以及相应的设置后, 直接把程序下载到目标机上即可以运行。应用 LabV I EW RT编制的程序只要下载到目标机上就可以自己独立运行, 而只要没有特殊的设置, 纵使宿主机崩溃关机了, 其运行依然不受影响。而且, 通过设置可以把目标机上的程序设置成开机即自动运行状态, 这样宿主机就可以不需控制目标机而进行其它目标机的开发。这在很多自动测试、控制网络等系统中有着极大的优点, 可以极大地提高系统开发效率并节省很多的资源。另外, 文中系统开发所应用的 LabVIEW RT的 810版本还增加了一个 /共享变量 0 的新功能。它采用了一个 / 先进先出0 的内存栈列机制, 通过应用共享变量可以方便、可靠的实现控制计算机与目标机计算机之间的数据传送以及逻辑控制。比起以前版本为实现网络通讯所必须采取的 DataSocket技术等, 共享变量的逻辑以及代码极其简单。也正因为此, 共享变量的出现也大大提升了 LabVIEW 以前并不受赞扬的网络通

讯性能 [5]

2 12 软件组成与实时性控制

2 1211 软件组成及流程

一般情况下, 非 N I公司的产品, 即第三方硬件产品, 并不能直接应用在 LabV IEW RT环境之下。而此时就必须自行开发板卡在 LabV IEW RT环境下的驱动, 其包括很多的过程 [ 6]。

然而 NI公司恰好开发出了 VM IPCI- 5565的驱动, 作为例程发布在 N I主页上供开发者学习。实验证明, 在对目标机进行一定设置后, 此驱动可以应用在 LabV IEW 的 RT环境下。系统软件的组成分为宿主机控制程序和目标机采集程序两部分, 功能可以实现由控制界面控制采样时间限、采样模式及点数、采样率等参数设置的任意通道的数据采集和直接发送。软件的流程如图 3所示。

2 1212 软件中的实时性考虑

图 3 系统软件流程图

为尽量提升软件运行的效率和数据处理的实时性, 软件从总体方案和具体函数的选择应用上都进行了优化考虑。具体表现在: 在总体方案上, 程序尽量在开始采集命令下达之前实现所有的硬件参数配置以及控制变量的复位, 而在数据采集开始后使目标机上运行的代码尽量少。而在具体函数的应用上, 也以运行代码的简洁高效为原则。这包括了对数据采集函数的改进组合和对数据发送时函数的选择。数据采集函数在运行时,通过判断采集模式 (是连续还是定点 ) 选择在 DAQm x函数模

块基础上改进的采集子 VI[ 7- 8]。另外需要注意的是, 在数据发送时必须根据反射内存卡函数的运行特点和发送数据的模式, 合适选择编制的数据发送子V I 。由于反射内存卡的驱动函数是由 LabVIEW 中的 V ISA底层函数综合应用而成的[ 6], 尤其是数据读写函数, 全部由 VISA中寄存器读写函数组成。所以一般的浮点型采集数据无法直接写进寄存器, 而必须开发合适的数据转换函数。此时有两种方法: 一即把所有数据通过 LabV IEW 的 datafl a ttern子 VI转化成字符型 ( 8位精度整形 ) 数据 (此时又分两种情况, 有适用于连续数据的单点转化和适用于定量序列的向量转 ) , 发出后再通过相反的方法转换回原始数据; 二则是把浮点数据判断正负后设置代表负数的标志位, 再通过一个固定的数

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top