From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.



NI-DAQmx是否在LabVIEW NXG中读取原始数据的校准值或换算值?



主要软件: LabVIEW Development Systems>>LabVIEW NXG
主要软件版本: 1.0
主要软件修正版本: N/A
次要软件: Driver Software>>NI-DAQmx
硬件: Multifunction DAQ (MIO)

问题:

当我使用支持LabVIEW NXG的NI-DAQmx时,来自DAQmx读取节点的原始数据是否已校准? 如何将获取的二进制值转换为换算值?

 



解答:

当您将DAQmx读取节点设置为读取原始数据1D数组时,您将获得一个整数数组。 将二进制值转换为缩放值时,请特别注意设备的分辨率和整数关系。 如果您的DAQ设备的分辨率为16位,则应将DAQmx读取节点设置为Raw 1D U16Raw 1D I16模式,否则将丢失有效位。 当U16模式读数大于32767(2 ^ 15-1)时,表示电压为负值,该值为补码。 您可以通过减去65536将其转换为有符号整数。例如,U16中的65534在I16中为-2。 请记住,不同系列的DAQ卡之间的Unscaled Raw Data可能不同。


Figure 1:  Visualizing Conversions Between Unsigned and Signed 16-bit Integers

 

M系列和X系列
对于M系列和X系列设备,所获取的原始数据将不被校准和换算。但是,校准信息和缩放信息由驱动程序组合,可通过任务属性节点的AI.DevScalingCoeff属性来实现。 通过单击属性»模拟输入»常规属性»高级»设备缩放系数选择此属性。 该属性返回的数据是一个数组。 阵列的每个元素是三阶多项式的系数,可用于找到校准和缩放的电压:f(X)= a [0] * X ^ 0 + a [1] * X ^ 1 + a [ 2] * X ^ 2 + a [3] * X ^ 3(其中a [i]是数组元素)。


Figure 2:  Device Scaling Coefficients in Task Properties Node and Panel Indicator

E系列
对于E系列板,所获取的原始数据将在硬件上进行校准,只是没有缩放。缩放信息可通过上述属性节点获得。属性节点只返回一个2个元素的数组。这意味着E系列设备的缩放可以表示为一阶多项式:f(x)= a [0] X ^ 0 + a [1] X ^ 1。

您将注意到E系列设备的a[0]始终为零。这也意味着a[1]是E系列的范围/分辨率。

将二进制数据手动转换为非标度数据
鉴于您的电路板和测量范围的分辨率,下面的公式显示了如何手动将采集的二进制数据转换为非标度数据(伏特单位):


电压读数=(二进制读数/ 2 ^位)*(Vmax-Vmin)


例如:

  1. 如果您的电压范围是双极性(+/- 5V),则对于读取的二进制读数,读数为-32768至32767范围内的带符号(I16)表示。
    (即Vmax = 5V,Vmin = -5V,位= 16,二进制读数= -8192,电压读数= -1.25V)
  2. 如果您的电压范围是单极性(0-10V),那么对于返回的二进制读数,读数是0到65535范围内的无符号(U16)表示。
    (即Vmax = 10V,Vmin = 0V,位= 16,二进制读数= 8192,电压读数= 1.25V)

  3. 将二进制数据手动转换为缩放数据

    使用设备缩放系数属性,您可以使用类似于下面的设置将二进制数据转换为缩放数据。

     


    Figure 3: Example - Converting Raw Data to Scaled Data on an NI DAQ Device


    相关链接:

    附件:


    Converting Raw to Scaled Data.zip - Converting Raw to Scaled Data.zip


    报告日期: 05/29/2017
    最近更新: 08/18/2017
    文档编号: 7LSMNUSZ