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.



DAQmx ANSI C 예제의 모든 기본 설정이 M시리즈 보드에서 동작을 하지 않는 이유는 무엇인가요?



하드웨어: Multifunction DAQ (MIO)

문제점: M 시리즈 보드를 이용하여 DAQmx ANSI C 기본 예제를 실행하였습니다. 몇몇의 예제는 문제가 없이 잘 실행이 되지만, 런타임시 에러가 발생하는 예제도 있습니다. M 시리즈 보드에서 DAQmx ANSI C 예제의 기본 설정이 동작하지 않는 이유는 무엇입니까?

솔루션:

DAQmx ANSI C 기본 예제는 대다수의 NI DAQ보드와 호환성을 가지게끔 디자인되어있고 가능한 기본 설정에 대한 부분을 변경하지 않으셔도 됩니다. 이는 E 시리즈와 M 시리즈를 포함합니다.

하지만 E와 M 시리즈의 차이점으로 인해 실행을 위해서 몇몇 매개변수의 변경이 필요한 템플릿으로 사용되는 예제가 있습니다. 예를 들어 National Instruments\NI-DAQ\Examples\DAQmx ANSI C\Analog In\Measure Voltage 폴더에 있는 Cont Acq-Int Clk-Anlg Start.c 예제를 살펴보겠습니다.

기본적으로 이 예제는 Analog Slop Start Trigger를 위해서 PFI0을 사용하고 있는데, 이는 E 시리즈 보드에서 완벽히 동작을 합니다. M 시리즈 보드의 경우 아래와 같은 에러가 발생을 합니다.

아날로그 트리거에 대한 값을 PFI0을 APFI0으로 바꾸면 문제를 해결할 수 있습니다. E 시리즈에서 정상적으로 동작하는 기본 설정 코드는 아래와 같습니다.

DAQmxErrChk (Configure_ContAcqIntClkAnlgStart("Dev1/ai1",-10.0,10.0,1000,10000.0, "PFI0",DAQmx_Val_Rising,0.0,NULL,&taskHandle));

 M 시리즈 보드를 위해서는 아래와 같이 변경이 되어야 합니다.

DAQmxErrChk (Configure_ContAcqIntClkAnlgStart("Dev1/ai1",-10.0,10.0,1000,10000.0, "APFI0",DAQmx_Val_Rising,0.0,NULL,&taskHandle));

이러한 코드 변경은 M 시리즈 보드가 트리거링을 위해서 PFI가 아닌 APFI를 사용하기 때문에 필요합니다.

참고: 이 예제는 기본 설정 상태에서 E 시리즈 보드를 이용하여 정상적으로 돌아가는 유일한 예제입니다. 약간의 수정을 통해서 M 시리즈 보드에서 작동을 시킬 수 있습니다. 다른 예제들 또한 비슷한 매개변수의 변경을 요구할 것입니다.



관련 링크:

KnowledgeBase 3E78PKHS: Major Differences Between E Series and M Series
KnowledgeBase 3V09OJNY: Location of ANSI C NI-DAQmx Shipping Examples and DAQmx Library File for Windows



첨부:


APFI Error.bmp - APFI Error.bmp



리포트 날짜: 12/31/2004
마지막 업데이트: 02/10/2015
문서 번호: 3GU9NBFQ