Q&A 게시판

cancel
Showing results for 
Search instead for 
Did you mean: 

NI-Oscilloscope을 통해서 연속적으로 데이터 취득 및 저장을 하고 싶습니다.

Solved!
Go to solution

안녕하세요 NI Digital Oscilloscope를 통하여 2M Sampling rate, 200k record length의 조건으로 연속적으로 신호를 저장하고 싶습니다.

 

현재 NI에서 제공하는 예제파을을 응용하여 데이터를 취득하고 저장하고 있는데 중간중간 데이터를 놓치는 구간이 생기고 있습니다.

 

확인해본 결과 현재 상기 조건으로는 0.1초 데이터를 받고 있으나 한번의 루프를 돌때 소요되는 시간이 0.1초 이상 걸리어 중간에 놓치는 

 

데이터가 생긴다고 판단하고 있습니다. 혹시 애초에 Digital Oscilloscope를 사용하여 연속적인 데이터 취득이나 데이터 저정이 불가능한것인지

 

생각되나 확실치 못하여 조언을 얻고자 질문드립니다.

0 Kudos
Message 1 of 5
(101 Views)
Solution
Accepted by topic author 이상한구조

저도 루프 타임 간격으로 끊기는 현상이 발생하여 NI에 문의해서 답변 받았습니다.

niScope EX Fetch Forever.vi 예제를 참고하시면 끊김없이 받을 수 있습니다.

다만 소프트웨어 타이밍으로 돌아가는거라 시간간격을 맞게 설정해주셔야 합니다.

그리고 데이터 취득하는 루프랑 저장하는 루프는 큐를써서 별개로 하시는게 좋습니다.

안그러면 질문에서 말씀하신거처럼 루프 타임 때문에 중간중간 못받는 현상이 생길수도 있습니다.

0 Kudos
Message 2 of 5
(77 Views)

Scope로 연속적인 데이타를 저장하는 문제같습니다.

 

용량을 계산해 봅시다. 0,1초이기에 2M Sampling 일때의 Scan 용량은

 

2M * 0.1 * 2 (12bit/16bit) = 0.4 MByte의 Raw 값이 읽혀집니다.

 

그런데 Record Length는 200k 라면 벌써 용량이 딸리는 군요.

 

즉 0.1초마다 반만 읽는다는 사실입니다. 0.05초 읽고 0.05초는 사라지는 순간이죠.

 

H/W 성능이 따라 준다고 했을때 또한 S/W에 대해 고찰해 보죠.

 

0.1초마다 0.4MByte 이기에 1초에서의 데이타 용량은 다음과 같습니다.

 

0.4 / 0.1 = 4

 

4MByte * 8 (dbl) = 32 MByte

 

1초마다 32 MByte가 취득되고 이를 처리하려면 어느정도의 성능을 가진 Computer가 필요하겠습니다.

 

만약 dbl로 취득 안하고 Raw 값을 취득하면

4MByte * 2 (12bit/16bit) = 8 MByte

 

H/W 적인 측면 및 S/W 적인 측면을 고려하여 Device 선정 및 Computer의 선정이 필요합니다.

 

0 Kudos
Message 3 of 5
(60 Views)

답변 남겨 주시어 대단히 감사합니다.

 

추천하여 주신 예제를 활용하여 진행 중인데 한가지 문제가 발생하여 혹시 아시는 부분일까하여 죄송스럽게도 추가적인 질문을 드립니다.

 

현재 문제 사항은 신호가 발생한 후 While Loop안에 데이터가 While Loop를 돌때마다 업데이트가 되지 않고

 

첫 신호를 계속 반복적으로 저장되고 있습니다. 

 

현재 함수 발생기와 PXI 디지털 오실로스코프를 연결하여 테스트를 진행해보고 있으나 함수 발생기로 신호를 주다가 신호를 끊거나 신호를 변경하여도 

 

예제에서는 첫번째 신호만을 계속 돌릴뿐 새로운 신호를 취득하지 못하는것 같습니다. 혹시 이부분에 대해서 아시면 답변 부탁드립니다.

0 Kudos
Message 4 of 5
(35 Views)

예제를 그대로 쓰고 계신거면 Plot Data? 가 False 상태인게 아닌가 싶네요

예제에서 다른부분을 수정하신게 있으시면 그부분을 확인해보셔야 할듯 싶습니다.

0 Kudos
Message 5 of 5
(23 Views)