하드웨어 타이밍에 의한 동시 업데이트 I/O
- 업데이트 날짜:2025-12-03
- 2분 (읽기 시간)
장점
- 현재 반복의 출력 샘플은 다음 반복의 입력 샘플에 반드시 정렬됩니다.
- DAQmx 다음 샘플 클럭 기다림 함수/VI가 다음 샘플 클럭 에지가 발생하기 전에 시작하지 않는 경우 NI-DAQmx는 에러를 반환합니다.
- I/O 지터는 몇 나노초 단위인 하드웨어 클럭의 지터에 제한을 받습니다.
제약
읽기, 프로세스, 쓰기 작업은 디바이스가 데이터를 수집하기 시작한 순간과 다음 샘플 클럭 에지에 도달한 순간 사이의 시간으로 제한됩니다.
샘플 어플리케이션―하드웨어 타이밍에 따른 동시 업데이트 I/O
이러한 종류의 어플리케이션의 예제는 특정한 아날로그 입력 채널 개수에서 샘플을 읽고, 컨트롤 알고리즘(PID 등)을 사용하여 데이터를 프로세스하고, 새로운 컨트롤 값을 아날로그 출력 채널에 쓰는 아날로그 컨트롤 루프입니다.
LabVIEW 예제―하드웨어 타이밍에 따른 동시 업데이트 I/O
노트 이 예제는 LabVIEW 사용자들을 위해 작성된 것이지만 이 예제의 원리는 LabWindows/CVI와 같은 다른 ADE를 사용하는 경우에도 적용됩니다.
LabVIEW 예제
- [DAQmx 다음 샘플 클럭 기다림] VI를 하드웨어 타이밍에 의한 태스크 중 하나에 연결합니다. 데이터 흐름 연결을 사용하여 [DAQmx 다음 샘플 클럭 기다림] VI가 AO 쓰기 호출 후에 실행되도록 합니다.
- [DAQmx 다음 샘플 클럭 기다림] VI가 다음 샘플 클럭 에지가 발생하기 전에 시작하지 않는 경우, 에러를 반환합니다.
샘플 블록다이어그램

노트
- LabVIEW 루프 내에서는 하나의 [DAQmx 다음 샘플 클럭 기다림] VI만 사용하십시오. 같은 LabVIEW 루프 내에 여러 하드웨어 타이밍에 의한 단일 포인트 I/O 태스크가 있는 경우, [DAQmx 다음 샘플 클럭 기다림] VI를 루프 안에 있는 모든 하드웨어 타이밍에 의한 단일 포인트 태스크에 연결할 수 있습니다.
- 반복적인 오버플로우가 일어날 때 에러가 아닌 경고를 받으려는 경우, DAQmx 리얼 타임≫지연 에러를 경고로 변환 프로퍼티를 참으로 설정합니다.
- [DAQmx 다음 샘플 클럭 기다림] VI에는 폴링과 인터럽트 기다림의 두 가지 작동 모드가 있습니다. 이 값을 변경하려면, DAQmx 리얼타임≫다음 샘플 클럭 기다림 모드 프로퍼티를 사용하십시오. 인터럽트 기다림 모드는 기본이며, 시간 결정적인 루프가 다음 샘플 클럭을 기다리는 동안 우선순위가 낮은 프로세스가 실행되는 것을 허용합니다. 폴링 모드는 샘플링 속도가 더 빠르지만 시간 결정적인 루프가 다음 샘플 클럭을 기다리는 동안 시스템에서 우선순위가 낮은 프로세스가 실행되는 것을 막습니다.
- [DAQmx 읽기]의 아날로그 인스턴스 호출에는 폴링과 인터럽트 기다림의 두 가지 작동 모드가 있습니다. 이 값을 변경하려면, DAQmx 읽기≫고급≫기다림 모드 프로퍼티를 사용하십시오. 인터럽트 기다림 모드는 시간 결정적인 루프가 모든 요청된 샘플이 변환되기를 기다리는 동안 우선순위가 낮은 프로세스가 실행되는 것을 허용합니다. 폴링 모드는 샘플링 속도가 더 빠르지만 시간 결정적인 루프가 변환된 아날로그 샘플을 기다리는 동안 시스템에서 우선순위가 낮은 프로세스가 실행되는 것을 막습니다.
- 이 섹션에서 설명한 특정 어플리케이션은 [DAQ 다음 샘플 클럭 기다림] VI와 [DAQmx 읽기] VI의 아날로그 인스턴스 모두에서 인터럽트 기다림 모드를 사용한다고 가정합니다. 이 값을 변경하려면 DAQmx 읽기≫고급≫기다림 모드 및/또는 DAQmx 리얼타임≫다음 샘플 클럭 기다림 모드 프로퍼티를 사용하십시오.