해결책
이 에러는 지정된 모든 DAQmx 태스크 또는 경로에 참조 클럭을 라우팅 할 수 없기 때문에 발생합니다.
DAQmx Connect Terminals (VI)를 사용하는 경우 프로그램의 다른 DAQmx 태스크 또는 섹션에서 동일한 하드웨어 리소스에 액세스할 때 이 오류를 방지하려면 연결된 터미널에 대해
DAQmx Disconnect Terminals (VI)를 사용해야 합니다. NI MAX에서 디바이스를 리셋하여 모든 경로의 연결을 수동으로 해제할 수도 있습니다.
이 에러는 별도의 태스크가 공유 리소스에 액세스해야 할 때마다 발생할 수 있습니다. 따라서 VI를 실행 또는 디버깅하는 동안 예기치 않은 LabVIEW 또는 DAQmx 태스크를 실행하지 않도록 확인하는 것이 중요합니다.
AI, AO, DIO 또는 카운터와 같은 여러 하위 시스템을 동시에 사용하려는 경우 NI-DAQmx 타이밍 프로퍼티인
참조 클럭 속도(Reference Clock Rate) 및
참조 클럭 소스(Reference Clock Source)를 사용하여 다른 채널 구성(예: 트리거 및 타이밍)보다 먼저 설정해야 하는 모든 작업에 대해 동일한 참조 클럭을 설정해야 합니다.
이러한 프로퍼티를 설정하려면 개발 환경에 따라 적절한 API를 호출해야 합니다.
- 채널 생성 후 DAQmx Timing Property Node (VI) 추가합니다.
- 프로퍼티 노드를 마우스 오른쪽 버튼으로 클릭하고 원소 추가(Add element)를 선택합니다.
- 아래 그림과 같이 More:Reference Clock:Rate Property 및 More:Reference Clock:Source Property를 선택하십시오. (아래 그림 참고)
- RefClk.Src(More:Reference Clock:Source Property) 입력을 오류 메시지에 표시된 소스 터미널 값으로 설정(예: PXIe_Clk100) 하십시오. (위 경우는 RefClk Rate 입력을 100MHz로 설정해야 합니다.)
- LabWindows ™/CVI에서 프로그래밍하는 경우:
채널 생성 후 태스크 타이밍을 구성하기 전에 코드에 다음 기능을 추가합니다.
DAQmxErrChk(DAQmxSetTimingAttribute(TaskHandle,DAQmx_RefClk_Src,"PXIe_Clk100"));
DAQmxErrChk(DAQmxSetTimingAttribute(TaskHandle,DAQmx_RefClk_Rate,100000000.0));