NI-DAQmx LabVIEW 및 LabVIEW NXG에서 원시 데이터 스케일링 읽기 및 교정

업데이트 됨 Jul 18, 2019

해당 제품

Software

  • LabVIEW NXG
  • LabVIEW

Driver

  • NI-DAQmx

문의사항

LabVIEW와 LabVIEW NXG를 지원하는 NI-DAQmx를 사용할 때, DAQmx 읽기 노드의 원시 데이터가 교정됩니까? 획득한 2진 값을 스케일된 값으로 변환하려면 어떻게 해야합니까?

해결책

원시 데이터 1D 배열을 읽도록 DAQmx 읽기 노드를 설정하면 정수 배열을 얻을 수 있습니다. DAQ 디바이스의 해상도가 16 비트인 경우 DAQmx 읽기 노드를 Raw 1D U16 또는 Raw 1D I16 모드로 설정해야 합니다. 그렇지 않으면 유효 비트가 손실됩니다. U16 모드에서 판독 값이 32767 (2^15-1)보다 클 경우 전압이 음수이고이 값은 상호 보완적인 코드임을 의미합니다. 65536을 뺀 값을 부호있는 정수로 변환 할 수 있습니다. 예를 들어, U16에서 65534는 I16에서 -2입니다. 스케일되지 않은 원시 데이터는 여러 DAQ 카드 시리즈 간에 다를 수 있습니다.

M 시리즈 및 X 시리즈 :
M 시리즈 및 X 시리즈 디바이스의 경우 획득한 원시 데이터는 교정되지 않고 스케일이 조정되지 않습니다. 그러나 교정 정보와 스케일링 정보는 드라이버에 의해 결합되며 태스크 프로퍼티 노드의 AI.DevScalingCoeff 속성을 통해 사용할 수 있습니다. 이 프로퍼티는 프로퍼티»아날로그 입력»일반 프로퍼티»고급»디바이스 스케일링 계수를 클릭하여 선택합니다. 이 프로퍼티에서 반환하는 데이터는 배열입니다. 배열의 각 요소는 3차 다항식의 계수로, 교정 및 스케일된 전압을 찾는데 사용할 수 있습니다.

f(X)=a[0]*X^0+a[1]*X^1+a[2]*X^2+a[3] (a[i]는 배열 요소)
 
E 시리즈 :
E 시리즈 보드의 경우, 획득된 원시 데이터는 스케일되지 않은 하드웨어에서 교정됩니다. 스케일링 정보는 위에서 언급한 프로퍼티 노드를 통해 사용할 수 있습니다. 프로퍼티 노드는 2개의 요소의 배열만을 반환합니다. 이것은 E 시리즈 디바이스의 스케일링이 1차 다항식으로 표현될 수 있음을 의미합니다.
f(x)=a[0]X^0+a[1]X^1

E 시리즈 장치의 경우 [0]은 항상 0입니다. 이는 또한 a[1]이 E 시리즈의 범위/해상도임을 의미합니다.

2진 데이터를 스케일되지 않은 데이터로 수동 변환 :
보드 및 측정 범위의 해상도가 주어지면 아래 수식은 획득한 바이너리 데이터를 스케일되지 않은 데이터(볼트 단위)로 수동 변환하는 방법을 보여줍니다.
전압 판독 = (2진 읽기/2^비트)*(Vmax-Vmin)

수동으로 2진 데이터를 스케일 된 데이터로 변환 :
디바이스 스케일링 계수 속성을 사용하면 아래의 것과 유사한 설정을 사용하여 2진 데이터를 스케일된 데이터로 변환할 수 있습니다.
 

추가 정보

2진 데이터를 스케일되지 않은 데이터로 수동 변환하는 예 :
  1. 전압 범위가 양극(+/- 5V)이면 판독 값은 반환되는 바이너리 값에 대해 -32768 ~ 32767 범위의 부호있는 (I16) 표시입니다. (즉, Vmax = 5V, Vmin = -5V, 비트 = 16, 2진 판독 = -8192, 전압 판독 = -1.25V)
  2. 전압 범위가 단극(0-10V)이면 판독 값은 반환되는 바이너리 값에 대해 0 ~ 65535 판독 범위의 부호없는 (U16) 표시입니다. (즉, Vmax = 10V, Vmin = 0V, 비트 = 16, 2진 판독 = 8192, 전압 판독 = 1.25V)

이 글이 도움이 되셨습니까?

도움 안됨