해결책
원시 데이터 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진 데이터를 스케일된 데이터로 변환할 수 있습니다.