NI 660x 시리즈 모듈 사용 중 에러 -200251 발생

업데이트 됨 Apr 24, 2023

해당 제품

하드웨어

  • PCI-6602
  • PCI-6601
  • PXI-6602
  • PXI-6608

소프트웨어

  • LabVIEW

드라이버

  • NI-DAQmx

문의사항

PCI-6602를 사용하여 8개의 카운터 입력 채널로 펄스 폭을 측정하고 있습니다.
3개 채널을 사용하여 펄스 폭을 측정하는 데는 문제가 없지만 4개 이상의 채널을 사용하면 아래 그림과 같이 에러 -200251이 발생합니다.

해결책

DAQmx 카운터 태스크는 DMA(Direct Memory Access) 방식이 가장 빠른 옵션이기 때문에 별도의 지정이 없으면 이를 기본 데이터 전송 방법으로 사용합니다. 각 카드에는 사용할 수 있는 DMA 경로가 정해져 있으며 지정된 개수 이상의 DMA 경로보다 많은 채널과 통신하려고 하면 에러 -200251이 발생하게 됩니다. DMA 경로를 모두 사용한 경우에는 나머지 채널을 DAQmx 채널 프로퍼티 노드를 이용하여 데이터 전송 방법을 인터럽트로 변경해야 합니다.
DAQmx 채널 프로퍼티 노드는 블록 다이어그램을 마우스 오른쪽 버튼으로 클릭하고 측정 I/O » DAQmx-데이터 수집 » 채널 프로퍼티 노드로 이동하여 찾을 수 있습니다. 이 노드를 데이터 전송 방식을 변경할 카운터 태스크 부분에 연결하십시오.

데이터 전송 메커니즘 프로퍼티는 아래 그림과 같이 채널 프로퍼티 항목 선택 부분에서 카운터 입력 » 일반 프로퍼티 » 기타 » 고급 » 데이터 전송과 메모리 » 데이터 전송 메커니즘을 선택하면 설정할 수 있습니다. 프로퍼티를 쓰기로 변경한 뒤 상수를 생성하면 데이터 전송 방법(DMA, 인터럽트, 프로그램 I/O, USB 벌크) 중 하나를 선택할 수 있습니다.



NI 6602 같은 경우에는 최대 3개의 DMA 경로가 있습니다. NI 660x 시리즈 스펙이 궁금하시다면 아래 그림 또는 관련 링크를 참조하십시오.
데이터 전송 메커니즘을 설정하지 않고 DAQmx Timing VI를 사용하게 되면 어플리케이션은 자동으로 데이터 전송 방법을 DMA로 설정합니다. 따라서 전송 방법 상수를 인터럽트로 변경하고 프로그램이 오류 없이 실행되는지 확인하십시오.