프로그램적으로 시스템에서 DAQ 디바이스 이름 찾기

업데이트 됨 Jan 24, 2023

환경

소프트웨어

  • LabVIEW

드라이버

  • NI-DAQmx

다른

Multifunction DAQ

로우 레벨 DAQmx VI, 특히 물리 채널 입력이 필요한 채널 생성 VI를 사용하고 있습니다. 동일한 모델의 DAQ 모듈이 있습니다. (예 : USB-6210 두개 사용) 기존의 코드에서 첫 번째 DAQ 모듈을 Dev1으로 인식하여 사용하였습니다. 그런데 두번째 장치를 사용하여 동일한 코드를 실행하면 Dev2로 인식되기 때문에 코드가 깨지는 상황이 발생합니다. 같은 모델의 새 모듈을 기존의 코드에서 사용할 때 깨지지 않도록 하고 싶습니다.
NI-MAX에서 새 장치에 할당된 이름을 프로그램적으로 어떻게 찾을 수 있습니까? 
 

DAQmx 시스템 프로퍼티 노드를 사용하여 장치 이름 목록을 찾을 수 있습니다. DAQmx 디바이스 프로퍼티 노드를 사용하여 제품 유형을 결정할 수 있습니다. 원하는 디바이스 모델 이름을 포함하는 문자열과 비교할 수 있습니다. 조건부 for 루프는 시스템의 모든 장치 이름을 반복하는 데 사용되며 첫 번째 장치 이름이 일치하면 루프는 멈춥니다. 루프가 중지되면 장치 이름이 루프에서 전달되고 채널이 문자열 끝에 추가됩니다. 결과 문자열은 채널 생성 VI의 물리적 채널 입력으로 사용될 수 있습니다.


동일한 모델의 여러 장치가 설치된 경우 유용한 또 다른 방법은 for 루프에서 조건부 인덱싱 터널을 사용하는 것입니다. 이것은 두 번째 스니핏에 표시되며 일치하는 모든 장치의 배열을 반환합니다.

Additional Information

이 스니핏은 NI DAQmx 디바이스에서만 작동합니다. 다른 디바이스를 찾으려면 NI System Configuration API 사용을 고려해야 합니다.