You are here

LabVIEW 라이브러리

스코프 무한 측정(Fetch Forever)

 

예제 설명

 

이 예제는 무한 레코드의 데이터(또는 정지 버튼을 누르기 전까지)를 연속적으로 수집 하는데 사용됩니다. 트리거가 일어나지 않는 수집을 설정하고 시작합니다. 이 예제는 소프트웨어 트리거를 설정하고 소프트웨어 트리거를 보내어 수행되지 않습니다. 그러므로 Digitizer는 중지하거나 닫기가 호출 되기 전 까지는 온보드 메모리로 연속적으로 데이터를 수집합니다.

컴퓨터 메모리 안의 온보드 메모리로 부터 연속적인 데이터 불러오기 루프는 DMA 전송을 사용합니다. 만약 샘플링 속도가 늦다면, 컴퓨터는 Digitizer로 부터 모든 데이터를 불러올 수 있어서 데이터는 덮어 씌여지지 않습니다. 그러나, 빠른 샘플링 속도에서는 컴퓨터는 새로운 데이터에 의해 덮어 씌이기 이전에 데이터를 불러오지 못 할 것입니다. 그 결과가 "Data Overwritten" 에러입니다.

Fetch VI에 입력 값은 가져올 최대 웨이브폼 사이즈를 포함합니다. 타임아웃이 0으로 설정되어 Digitizer는 요구된 샘플 개수를 기다리기 보다 현재 사용가능한 데이터를 리턴합니다. Fetch VI는 실제 가져온 포인트의 갯수만큼 웨이브폼을 반환 합니다.

"Fetch Relative To" 프로퍼티는 메모리로부터 가져올 샘플을 결정합니다. 이 예제에서는, 측정의 시작점에서 시작하고 각각 가져울 동안 포인트의 실제적인 수에 의해 증가되는 Read Pointer로 설정 됩니다. 

이 예제는 Binary Fetch VI를 사용함을 주의 하십시오. Binary Fetching는 스케일된 전압 데이터 Fetching 보다 빠릅니다(상당히 작은 메모리를 사용). 8-bit Fetch 함수는 8-bit 데이터로 반환하는 NI 5112에 대해서 적합합니다. 그러나, 이 예제는 NI 5620과 NI 5122 디바이스가 높은 해상도의 데이터를 반환 하므로 NI 5620과 NI 5122에 대해서 16-bit Fetch로 사용해야 합니다. 만약 NI 5620 또는 NI 5122로 부터 8-bit 데이터를 가져오면 NI-SCOPE는 실제 해상도를 버리게 됩니다.

 

다운로드 안내

  • LabVIEW > 예제 찾기 > 하드웨어 입력과 출력 > 모듈러 인스트루먼트 > NI-SCOPE(고속 디지타이저) > 연속적인 수집 > niScope EX Fetch Forever.vi
  • 파일 다운로드 하기
  • 직접 다운로드 예제는 LabVIEW 8.6 (한글판) 이상의 버전에서 열립니다. 이전 버전의 사용자 분들은 상단에 표기된 예제 찾기를 이용하시면 LabVIEW에서 실행하실 수 있습니다. (단, LabVIEW 8.5 이상에서 추가된 새로운 기능은 LabVIEW 평가판 다운로드를 통해 확인)

 

    프런트 패널

     


                                그림 1. niScope EX Fetch Forever 프런트 패널


     
    1. 본 프런트 패널에 대하여는 각 컨트롤의 입력 값을 참조해 주십시오.
    2. 추천 입력 신호 : 10Hz, 1.8 Vpp, 사인파
    3. 지원 디바이스 : NI 예제 탐색기 참조(8 bit 해상도이상의 디바이스에 대하여 16 또는 32bit fetch 함수를 사용 하십시오)

     

     

    블록다이어그램

     


                      그림 2. niScope EX Fetch Forever 블록다이어그램


     

    1. 디지타이저 세션을 오픈합니다.
    2. Input range, Offset과 Coupling 같은 세로축 값들을 설정합니다.
    3. Sampling rate and number of samples to acquire 와 같은 가로축 값을 설정합니다.
    4. 트리거를 설정합니다. 그러나 이 예제는 트리거를 받지 않습니다. 데이터 수집은 정지될 때까지 계속됩니다.
    5. 수집을 초기화 합니다. 디지타이저는 이 때부터 데이터 수집을 시작합니다.
    6. Fetch Relative Position to Read Pointer 를 설정합니다.
    7. 8bit binary 포맷으로 데이터를 Fetch 합니다. 가장 빠른 방법입니다.
    8. 데이터를 플랏해야한다면, 다음 그림과 같이 스케일 정보(gain, offset)을 받아 데이터를 플랏 해야합니다.
    9. 에러를 체크하고 발생시 프로그램을 멈춥니다. Stop 버튼을 눌러도 정지합니다.
    10. 세션을 닫고 다른 에러가 발생하면 에러메시지를 반환합니다.