新闻中心

EEPW首页>测试测量>设计应用> 基于LabVIEWRT的数据实时传输系统

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

作者: 时间:2017-01-09 来源:网络 收藏

( 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位精度整形 ) 数据 (此时又分两种情况, 有适用于连续数据的单点转化和适用于定量序列的向量转 ) , 发出后再通过相反的方法转换回原始数据; 二则是把浮点数据判断正负后设置代表负数的标志位, 再通过一个固定的数学变换全部转换成整形数据, 把转换后的数据和对应标志位数据一同发送, 接收后再结合标志位进行数据反变换即可。

可见, 第一种方法把一个 32位浮点数变成了 4个 8位整形数来发送, 而第二种方式增加了一倍的数据量, 但完成一个数据发送却只发送两次。于是, 如若是少量的数据序列, 则推荐采取第一种方式来发送; 而若是大批量数据发送, 则可以在预先分配标志位内存区的情况下采用第二种方法。而随后的实验则证明, 这样的选择在实际上是正确的。

3 系统测试及结果分析

系统搭建完毕后, 对其的功能和性能进行了测试。测试方案为:

( 1) 数据采集计算机上在 LabVIEW RT环境下直接产生定量数据, 通过写入反射内存发送, 计算出平均耗时, 以得到软件的性能指标;

( 2) 数据采集计算机上在 LabVIEW RT环境下产生模拟数据, 经自我采回后再写入反射内存发送, 计算出平均耗时;

( 3) 利用 /银河 - SI M 仿真工作站0 产生数据, 由数据采集计算机节点采集数据并向数据接收计算机节点发送, 比较仿真工作站的模拟波形和接收计算机的数据波形, 以验证系统功能。

测试结果表明:

( 1) 软件发送 10000个 32位浮点数时, 通过第一种处理方式耗时 7 m s , 第二种处理方式耗时5m s , 性能达到了预期要求, 且耗时上的差异与理论上的推断相符。

( 2) 软件完全可以在同时输出 2路模拟信号的情况下,实现可控制的任意多路 ( 1~ 7)、任意通道 ( 0~ 8) 同一采样率下的数据采集与传送, 且准确性较高、可靠性好。

( 3) 整个系统可以实现数据较好的实时传输, 完成数据的实时处理。

4 结束语

本文实现的系统是实验室开发的 / 智能集成仿真网络接口系统0 的一部分, 整体系统可以实现反射内存网络和广播内存网络的实时数据通讯 [9- 10]。而本子系统除能完成总体的任务外, 由于具有网络结构开放、工作模式简洁高效的特点,更具有较大的发展空间和拓展应用前景。在系统投入应用后,在某制导武器的仿真试验中工作良好, 在武器的开发定型中发挥了积极的作用。


上一页 1 2 下一页

评论


技术专区

关闭