취소
다음에 대한 결과 표시 
다음에 대한 검색 
다음을 의미합니까? 

NI DAQ관련 질문 (NI9234)

센서-계측기-NI Module-PC 순으로 구성되어 있는 장비입니다.

microsoft VisualStudio C#으로 프로그래밍 하였습니다.

모터가 움직이면서 센서가 웨이퍼를 측정하는 장비인데, 몇가지 문제가 있습니다.

모터가 움직이는 시점에 측정을 시작하는데, 모터는 가속도가 있으므로 속도가 0부터 등속까지 서서히 올라갑니다.

여기서 문제는 센서는 계측기를 통해 계속해서 ni 모듈로 데이터를 전송하고 있습니다.

이 데이터들이 NI 모듈의 버퍼에 저장이 되고 있는것인가요? 아니면 PC의 내부공간에 따로 버퍼가 있어서 그곳에 저장이 되는건가요?

어디에 저장되는 건지 알고 싶고, 저장이 되면 그것을 가져올 때 얼마만큼 가져올지 정하는 게 Sample Rate인지를 알고싶습니다.

한가지 질문이 더 있습니다. 스크린샷 파일을 업로드하였는데, real data 캡쳐본입니다. 

데이터를 보면 시간축이 너무 큽니다. 저는 데이터 한 개당 각 시간을 알고 싶은데, 1Sec 당 Data 몇십개 씩 나오고 있습니다.

예를 들면 1ms 단위로 시간Data도 추출이 된다면 Data 한 개 당 시간을 매칭시킬 수 있을 거라고 생각하고 있습니다.

현재 세팅은 Rate 300[Hz], Sample 100, (NI9234 [Bunddle NI USB 9162])

0 포인트
1/2 메시지
1,079 조회수

(1) NI 모듈의 버퍼에 저장이 되고 있는것인가요? 아니면 PC의 내부공간에 따로 버퍼가 있어서 그곳에 저장이 되는건가요?

>> Sample rate 속도로 전압을 값으로 변환한 후, 1차적으로 NI 모듈 버퍼에 넣습니다.(클럭이 발생하면 1개씩)

NI 모듈 버퍼에 들어간 데이터는 PC의 버퍼영역과 'DMA' 전송 설정이 되어 있으므로, 즉시 PC의 버퍼로 전송됩니다.

따라서, 데이터는 PC의 버퍼에 저장이 되고 있다고 보시면 됩니다.

NI 모듈 버퍼에 데이터가  쌓이게 되는 경우는, PCI(혹은 USB, Ethernet) 버스가 사용 중이어서 DMA 전송이 되지 않을 때 밖에 없습니다. 임시로 데이터가 NI 모듈 버퍼에 쌓이다가 전송이 원활해 지면 바로 PC 버퍼로 전송됩니다.

 

(2) 저장이 되면 그것을 가져올 때 얼마만큼 가져올지 정하는 게 Sample Rate인지를 알고싶습니다.

>> Sample rate 는 버퍼에 쌓이는 속도를 의미하는 것이고,  버퍼에 쌓여있는 데이터를 가지고 오는 개수는 'DAQmx Read' 함수의 왼편에 입력으로 존해하는 '읽을 샘플' 입니다.   예를 들어, Sample rate = 1000 , 읽을 샘플 = 10000 이면  DAQmx Read 함수가 출력으로 나오는 데이터는 '채널 수*10000' 개 이며, 10초에 1번만 읽을 수 있습니다.

NI 홈페이지의 '양동이 이론 bucket theory' 을 참고 하세요.

 

(3) 스크린샷이 존재하지 않습니다.

 

(4) Rate 300[Hz], Sample 100

>> Sample rate =300, 읽을 샘플=100 으로 가정하면, 데이터의 간격은 무조건 1/300 sec 이며, 100개를 읽었으므로 1/3sec 분량의 데이터 입니다.

그래프에 넣었을 때, X 축이 1,2,3,4 와 같이 정수로 표현되는 것은 DAQmx Read 의 다형성 VI 옵션을 '1채널 N 샘플 1d 배열' 혹은 'N채널 N 샘플 2d 배열' 로 설정해서 그렇습니다. '1채널 N 샘플 웨이브폼' 혹은 'N채널 N 샘플 1d 웨이브폼' 으로 설정하면 X 축이 시간으로 바뀝니다.

2/2 메시지
1,068 조회수