Academic Company Events NI Developer Zone Support Solutions Products & Services Contact NI MyNI

基于LabVIEW RT 的实时数据采集/传输网络

  Print

图1 系统网络结构图

Author(s):
太阳 刘 - 洪庆高技术研究中心

Industry:

Products:
Data Acquisition, LabVIEW, PXI/CompactPCI, Real-Time

The Challenge:
实现半实物仿真中数据的实时采集和传输。

The Solution:
采用RT的工作方式,应用反射内存(Reflective Memory)和NI数据采集卡PCI-6036E构建实时数据采集/传输网络。以LabVIEW (RT)编程语言为核心,完成实时数据采集/传输等功能的实现。

""本文利用虚拟仪器简便高效的特点,把图形化编程应用在仿真领域。利用LabVIEW RT组件的工作方式的各种优点,以较低的代价和较高的效率实现了数据传输网络的组建。""

1.  总体介绍

文中所讨论系统为我单位与兵器工业公司某研究所合作开发的高速实时数据传输网络,工作环境为某复杂系统的半实物仿真。根据实际工作方式,对传输网络提出的相应要求包括:1)功能上,要求数据可以在网络中任意节点(NODE)之间流通,包含数据采集(DAQ)功能,且采集后数据能够实时传送至网络中;2)性能上,要求数据延迟指标为传送400个浮点数时,传输延迟不大于0.5毫秒等。

结合系统性能需求,经过调查研究后我们采用了“使用GE公司的反射内存卡VMIPCI- 5565构建主体网络,使用NI公司的数据采集卡PCI-6036E实现数据采集,应用NI公司的LabVIEW Real-Time模块进行系统软件开发”的总体方案。

VMIPCI-5565 VMIC公司生产的基于PCI总线的专用网络通讯技术产品,采用基于高速网络的共享存储器技术实现。另外,由于使用光纤进行数据的传输,不存在电磁辐射,数据的传输不会受到来自无线电的电子/电磁干扰,具有很好的安全性和可靠性。VMIPCI-5565采取了高性能的Hub(网络集线器)结构配置成实时网络,可以实现多达256个节点的计算机内存共享,可以实现高速的实时数据通信。

LabVIEW的实时组件LabVIEW Real-TimeRT)则是为了满足测控领域中日益增多的实时性需求而专门设计的。它采用了宿主计算机与目标计算机相互独立、在目标计算机上运行实时操作系统并可与宿主计算机进行实时通信的运行方式,大大提高了系统的稳定性和实时性。同时宿主机可以具有多目标计算机控制/开发功能,具有较好的灵活适用性。因此,LabVIEW RT系统在开发分布式实时系统中具有很大的优势。

 

2.  系统实现

2.1 硬件组建

系统总体硬件结构如图1所示,整个系统以VMIPCI-5565网络为构架,各节点计算机/模块均安装有一块反射内存卡,节点间通过对应光纤连接以实现实时快速的数据传输。开发/控制计算机功能上处于网络中心位置,通过TCP/IP与对应节点计算机连接,组成LabVIEW RT典型的主-从机结构,同时具有实时监控各节点的运行状态并根据程序发送相应控制指令等功能。

图1 系统网络结构图

文中附录图片请点击文章右上角(图片)链接查看

其中,数据采集(DAQ)节点是由开发控制计算机和安装了数据采集卡PCI-6036E的工控机组成的常见LabVIEW RT主从机形式。如图2所示,宿主机和RT目标机分别运行LabVIEW环境和LabVIEW实时系统,在主机上进行所有程序的开发并结合RT计算机调试,完成后下载到RT目标计算机上运行。根据应用情况不同,宿主机可以实时监控RT目标计算机的数据采集情况,也可以转而进行其它操作和开发。LabVIEW Rt的这种工作方式具有很好的灵活性,为工程提供了较大的方便。

图2 数据采集节点结构图

文中附录图片请点击文章右上角(图片)链接查看

2.2 软件实现

系统软件的开发具有多种方式的选择,主要取决于实际应用的需求。基本开发模式是有开发/控制计算机作为宿主机,各节点计算机/模块作为RT 目标(Target),同时安装相应LabVIEW RT组件,利用LabVIEW RT的开发方式进行软件开发。即在宿主机上进行所有软件程序的编制编译调试,然后下载到各目标节点上运行。此种方式可以充分利用图形化编程语言LabVIEW的高效性,较快地实现工程。

另一种方式是网络内部分节点采取LabVIEW RT方式开发,其余节点采取通用编程语言(CVC++等)开发,即设置专用的外部网络接口节点,这样可以增强网络与外部网络的兼容性。但这种方案需考虑不同节点之间数据通讯协议的制定问题,RT操作系统问题等,实现起来比较复杂。

综合起来,系统软件开发还是以节点的功能配置为基础的。其开发示意如图3所示。

图3 系统软件开发流程

文中附录图片请点击文章右上角(图片)链接查看

3.  两个关键问题

作为一个实时网络,网络结构和数据通讯协议是影响网络实时性能的两个关键因素。为尽力提升本网络的实时性能,系统开发时对这两方面进行了深入研究,这主要体现在对反射内存Hub的内部结构对节点功能配置的影响和优化利用,反射内存在LabVIEW RT下的驱动等问题的研究。

3.1  VMIACC-5595的内部结构及对系统节点功能配置的影响

VMIACC-5595是系统所选用的反射内存VMIPCI-5565标配的8口集线器,通过其组建的反射内存网络的外部连接方式为星形。然而通过研究其内部原理图发现,其实际是个数据单向流通的双环形的连接方式。如图4所示,可以发现数据在不同节点之间以及不同方向的传输路径长度并不相等,因而会对传输时延产生影响。

图4 简化的VMIACC-5595内部结构

文中附录图片请点击文章右上角(图片)链接查看

可见,在设计网络时需要着重考虑节点3和节点0、节点7和节点4的内在关系。应根据节点对数据的要求来配置节点的位置,若节点以发送数据为主则应配置在37节点,这样可以有较多的节点能以最短路径接收到数据;而以接收处理为主要任务的节点则应配置在40节点,可以在最短时间内接受更多节点的数据。而且,当网络中存在向其它网络转接数据或集中数据处理节点时,这点的考虑就会更加重要。

下文在系统性能测试时对此论断进行了相应检验。实验证明,不同配置的网络在节点间传输10032位精度数据时耗时差异在10微秒级,而随着数据量的增加时间差异会更加显著。

3.2  LabVIEW Rt下反射内存驱动函数的应用

对于反射内存卡VMIPCI-5565NI提供了其在LabVIEW RT)环境下的驱动函数。与普通LabVIEW环境下的驱动函数无异,其直接基于基层VISA寄存器操作函数编制而成。在利用其进行数据处理尤其是数据转发时,需要事先对数据进行处理。因为其读写函数均是以无符号数作为默认操作数据,而无法直接发送浮点数据。

一般情况下,解决此问题采取的方法是字符字节转换法,即是利用data flattern.vi函数把数据预先转化为字符型数据串(Unsigned 8)再发出(此时又分两种情况,有适用于连续数据的单点转换方式和适用于定量序列的向量转换方式),接收端再通过相反的方法转换回原始数据。而在系统开始中同时也提出了另一种附带标示位的发送方式,即把浮点数据判断正负后设置代表负数的标志位,再通过一个固定的数学变换全部转换成整形数据,把转换后的数据和对应标志位数据一同发送,接收后再结合标志位进行数据反变换即可还原数据。两种转换方法分别如图56所示。可见第一种方法把一个32位浮点数变成了48位整型数来发送,而第二种方式增加了一倍的数据量,但完成一个数据发送却用单点读写方式发送两次。于是可根据具体应用情况对转换方法加以选择应用。

图5 字符字节转换方法

图6 附加标示位法

文中附录图片请点击文章右上角(图片)链接查看

此外,在系统各个模块的软件开发中都注意到了尽力提高软件运行效率的问题。无论是在主从-机通讯协议和节点间、网络间数据通讯协议的制定,还是以具实际应用对具体数据采集(DAQ)函数的改良优化,以及相应数据转接方式的选择都尽力实现了软件性能优化和界面人性化的结合。进而从各方面都促进了整个系统的实时性能提升。

4.  系统工作方式

本系统主要实现实时/半实物仿真中的实时数据通讯,其工作方式也根据实际应用有所不同。基本工作模式是由开发/控制计算机作为主控台,控制数据采集节点采集数据并向网络指定节点发送。而根据需要也可以把网络中某一下载了主控程序的节点计算机作为主控台,空出开发/控制计算机于用其它工作。由于在软件中所有状态及控制参数均通过反射内存传输,网络中任意节点均可按照通讯协议实现对其它可控制节点的控制,所以整个系统具有较大的灵活性。

另外,作为对系统的附加要求,本通讯网络设置了相应的外网接口节点。即通过一定的通讯协议设置,可以实现不同通讯网络之间的数据传输。此时,又使得网络具有较好的兼容性。经测试,网络之间的数据传输时延合乎用方要求。

 

5.  结论

本系统经过检验测试,现已在具体应用中发挥作用。而在整个工程的开发过程中,通过引入虚拟仪器理念,我们充分体会到了利用图形化编程进行开发的高效性和低成本的优点。整个网络工作稳定,性能良好,达到了用方要求。且系统结构明了,机制清晰,可维护性好,具备良好的扩展性。对比以前工程经验,此次在很短的时间内取得了很好的效果,为以后的工程提供了相当有益的参考。

Author Information:
For more information on this Case Study, contact:
太阳 刘
洪庆高技术研究中心

Browse All Case Studies »

  Print