해결책
샘플을 읽기 전에 타임아웃이 발생했기 때문에 에러가 리턴되었습니다. 다음은 이 에러를 피할 수 있는 다양한 방법입니다.
타임아웃 값을 조정하십시오:DAQmx 읽기에 타임아웃 입력이 있습니다. 타임아웃은 샘플을 사용할 수 있게 되기까지 대기하는 시간 (초)을 지정합니다. 시간이 경과하면, VI는 타임아웃이 발생하기 전에 읽은 샘플과 에러를 반환합니다. 입력이 연결되지 않은 경우 기본값인 10 초로 설정됩니다. 타임아웃을 -1로 설정하면 VI는 무기한 대기합니다. 타임아웃을 0으로 설정하면 VI는 요청 된 샘플을 읽으려고 시도하고 불가능한 경우 에러를 반환합니다.
샘플 속도가 낮고 읽을 샘플이 많으면 시간이 경과하여 에러가 발생할 수 있습니다. 이 문제를 해결하려면 속도와 읽을 샘플을 수용하도록 타임아웃을 늘리십시오. 일반적으로 타임아웃 값은 읽을 샘플 수를 샘플 속도로 나눈 값보다 커야합니다.
프로그램에서 나중에 읽으십시오:종종 프로그램이 신호를 생성하는 장비를 제어하고 있다면 샘플을 읽을 수 있을 때까지 지체가 있습니다. 이 경우 DAQmx 읽기를 포함한 태스크는 샘플을 읽을 수 있게 된 후에 시작되어야합니다. 이는 신호를 생성하는 장비를 제어하는 명령 이후에 읽기가 이루어 지도록 에러 와이어를 적절하게 연결하여 수행 할 수 있습니다. 또한 대기 시간 VI를 사용하여 샘플을 사용할 수 있게 되기까지 충분한 시간을 허용 할 수 있습니다.
샘플 속도를 증가하십시오:샘플 속도가 낮으면 장치나 작업에 너무 느릴 수 있습니다. 하드웨어가 원하는 속도를 지원할 수 있는지 확인하십시오. 타임아웃이 기본값으로 설정되어 있고 하나 이상의 샘플을 수집하는 동안 속도가 0.1Hz보다 느린 경우 속도를 증가시켜야합니다. 샘플 속도는 읽을 샘플을 시간 초과로 나눈 값보다 커야합니다.
읽을 샘플 수를 줄이십시오:읽을 샘플 수가 많으면 카운터 입력 작업에 오류가 발생할 수 있습니다. 읽을 샘플의 수는 Read VI가 타임 아웃되기 전에 읽을 수있는 샘플의 수보다 클 수 있습니다. 타임 아웃이 기본값 (10 초)으로 설정되어 있고 관심있는 샘플의 주파수가 1Hz이면 DAQmx 읽기 VI는 반복을 완료하기 전에 최대 100 개의 샘플을 읽을 수 있습니다. 이 경우, 샘플 수가 100보다 크다면 DAQmx 읽기 VI는 존재할 것보다 더 많은 샘플을 읽으므로 -200284의 에러가 발생됩니다.
시작 트리거가 올바르게 구성되었는지 확인하십시오:트리거링에는 두 가지 옵션이 있습니다.
- 첫 번째 옵션은 트리거가 PFI / RTSI / Trig 라인에 오는 곳입니다. 트리거가 작동하는지 확인하고 하드웨어를 통해 신호를 올바르게 보내십시오. 그런 다음 하드웨어가 트리거가 전송되는 경로를 지원하는지 확인하십시오. 마지막으로, 소프트웨어 태스크가 해당 라인에서 해당 트리거를 찾고 있는지 확인하십시오.
- 두 번째 옵션은 트리거가 동일한 보드의 다른 태스크에서 나옵니다. 하드웨어가 이 작업을 지원하는지 확인하십시오. 첫 번째 태스크는 트리거를 제공하고 두 번째 태스크는 첫 번째 태스크의 트리거 소스를 트리거로 설정합니다. 소프트웨어가 올바르게 프로그래밍되었는지 확인하십시오.
외부 타이밍이 올바르게 구성되었는지 확인하십시오:외부 타이밍은 태스크를 참조합니다. 타이밍이 다른 작업 또는 장치에서 오는 경우 외부 타이밍으로 간주됩니다. 외부 타이밍에는 두 가지 옵션이 있습니다.
- 첫 번째 옵션은 PFI / RTSI / Trig 라인에서 클럭이 들어오는 곳입니다. 클럭이 동작 중인지 확인하고 하드웨어를 통해 신호를 제대로 보내십시오. 하드웨어가 클럭이 전송되는 경로를 지원하는지 확인하십시오. 그런 다음 소프트웨어 태스크가 해당 라인에서 해당 클럭을 찾고 있는지 확인하십시오.
- 두 번째 옵션은 클럭이 동일한 보드의 다른 작업에서 나옵니다. 하드웨어가 이 작업을 지원하는지 확인하십시오. 첫 번째 태스크에서는 클럭을 설정하고 두 번째 태스크는 첫 번째 태스크의 클럭을 소스로 사용하도록(예 : 아날로그 샘플 클럭을 사용하는 카운터 작업) 설정합니다. 이 경우 두 클럭이 정확히 동일하게 구성되었는지 소프트웨어에서 확인하십시오.