NI LabWindows ™/CVI ™에서 DAQ 어시스턴트 사용

업데이트 됨 Jun 21, 2022

환경

소프트웨어

  • LabWindows/CVI
  • Measurement & Automation Explorer (MAX)

드라이버

  • NI-DAQmx

이 문서는 NI-DAQmx 시리즈 시작하기의 일부입니다.

NI 시작하기 NI-DAQmx 시리즈는 NI-DAQmx 프로그래밍 기초를 배우는 데 도움이 됩니다. 비디오 및 텍스트 튜토리얼을 통해 이 시리즈는 NI Measurement & Automation Explorer (MAX)에서 디바이스의 작동을 확인하는 것부터 LabVIEW를 사용하여 데이터 수집 어플리케이션을 프로그래밍 하는 것까지 안내합니다. DAQ 어시스턴트 사용 방법을 배우고 자하는 초보자와 고급 NI-DAQmx 기능을 활용하려는 숙련된 사용자 모두를 위한 것입니다.

이 튜토리얼에서는 DAQ 어시스턴트를 사용하여 LabWindows/CVI에서 데이터 수집 (DAQ) 어플리케이션을 빠르게 개발하고 배포하는 방법을 설명합니다. DAQ 어시스턴트는 측정 태스크 및 채널을 구성하고 프로그래밍 없이 타이밍, 트리거링 및 스케일을 사용자 정의하기 위한 사용하기 쉬운 그래픽 인터페이스입니다. DAQ 어시스턴트를 사용하면 모든 DAQ 어플리케이션에 대한 측정 태스크를 구성한 다음 코드를 생성하여 어플리케이션 프로그램에서 태스크를 구성하고 사용할 수 있습니다. 다음 내용은 DAQ 어시스턴트 도움말 에도 있습니다.

시작하기 전에

이 자료를 사용하려면 시스템에 다음 소프트웨어 및 하드웨어가 설치되어 있어야 합니다.

  • LabWindows/CVI 7.0 이상.
  • NI-DAQ 7.0.1 또는 이후 버전의 NI-DAQmx.
  • NI-DAQmx에서 지원하는 DAQ 디바이스. NI-DAQmx가 지원하는 디바이스 목록은 NI-DAQ 7.x Readme 파일을 참조하십시오.


소프트웨어 및 하드웨어 설치 및 구성에 대한 정보는 DAQ 빠른 시작 가이드 및 디바이스 문서를 참조하십시오.

작업 생성

DAQ 어시스턴트를 사용하여 DAQ 태스크를 빠르게 생성할 수 있습니다. 작업 은 타이밍, 트리거링 및 기타 속성이 있는 하나 이상의 가상 채널 모음입니다. 개념적으로 작업은 수행하려는 측정 또는 세대를 나타냅니다. 작업의 모든 구성 정보를 설정 및 저장하고 응용 프로그램에서 작업을 사용할 수 있습니다.

LabWindows/CVI에서 DAQ 어시스턴트를 시작하려면 도구 ≫ DAQmx 태스크 생성/편집을 선택하십시오. 그림 1과 같은 대화 상자가 나타납니다.


그림 1

LabWindows/CVI 프로젝트에서 사용할 태스크를 생성할 때 두 가지 옵션이 있습니다.

  • MAX 기반 작업은 해당 작업이 생성된 시스템에 지역적이며 동일한 시스템의 다른 프로그램에서 사용할 수 있습니다. MAX 내에서 직접 이러한 유형의 작업을 보고, 편집하고, 테스트할 수 있습니다. LabWindows/CVI에서 생성되지 않은 작업을 포함하여 여러 프로젝트에서 MAX 기반 작업을 사용할 수 있습니다.
  • 프로젝트 기반 작업은 프로젝트에 저장됩니다. 프로젝트에 저장된 작업은 해당 프로젝트에 로컬입니다. 여러 개발자 간에 작업 정의를 공유하거나 소스 코드 제어 시스템에 작업 정의를 저장해야 하는 경우 프로젝트 기반 작업이 더 편리 할 수 있습니다.


MAX 기반 작업 만들기

  1. DAQmx 태스크 생성/편집 대화 상자에서 MAX에서 새 태스크 생성을 선택합니다.
  2. 확인을 클릭하여 DAQ 어시스턴트를 시작하십시오.
  3. 다음 대화 상자에서 작업에 대한 측정 유형을 선택하고 다음을 클릭합니다.
  4. 가상 채널을 선택하고 다음을 클릭합니다.
  5. 작업 이름을 입력하고 마침을 클릭합니다. DAQ 어시스턴트가 태스크를 생성합니다.
  6. 그림 2에 표시된 DAQ 어시스턴트 패널이 나타납니다. 이 패널에서 스케일링, 입력 제한 및 터미널 구성과 같은 채널 별 설정을 구성할 수 있습니다. 타이밍 및 트리거와 같은 작업 별 설정을 구성할 수도 있습니다.

그림 2
  1. 다양한 설정을 지정할 때 작업을 테스트할 수 있습니다. 테스트 버튼을 클릭하여 작업이 제대로 작동하는지 확인합니다.
  2. 완료되면 확인을 클릭합니다. DAQ Assistant는 태스크를 MAX에 저장합니다.
DAQ 어시스턴트로 태스크를 구성하는 방법에 대한 더 자세한 정보는 NI-DAQmx와 함께 설치된 DAQ 어시스턴트 도움말을 참조하십시오.

프로젝트 기반 작업 만들기

  1. DAQmx 태스크 생성/편집 대화 상자에서 프로젝트에 새 태스크 생성을 선택합니다.
  2. 확인을 클릭하여 DAQ 어시스턴트를 시작하십시오.
  3. 다음 대화 상자에서 작업에 대한 측정 유형을 선택하고 다음을 클릭합니다.
  4. 가상 채널을 선택하고 다음을 클릭합니다.
  5. 태스크를 생성하면 그림 3과 같은 DAQ 어시스턴트 패널이 나타납니다. 이 패널에서 스케일링, 입력 제한 및 터미널 구성과 같은 채널 별 설정을 구성할 수 있습니다. 타이밍 및 트리거와 같은 작업 별 설정을 구성할 수도 있습니다.
  6. 다양한 설정을 지정할 때 작업을 테스트할 수 있습니다. 테스트 버튼을 클릭하여 작업이 제대로 작동하는지 확인합니다.
  7. 작업 이름을 지정하고 작업 기능을 만들고 대상 디렉터리를 만듭니다. 그림 3에 표시된 DAQ 어시스턴트 패널 영역에 이 정보를 입력하십시오.
  • 작업 이름 -작업과 연결하는 이름 및 생성 될 .c, .h 및 .mxb 파일의 접두사입니다. 예를 들어, DAQTaskInProject를 태스크 이름으로 사용하십시오.
  • 작업 함수 만들기 -프로그래밍 방식으로 작업을 만들고 구성하기 위해 호출할 함수의 이름입니다. 예를 들어, CreateDAQTaskInProject를 작업 생성 함수로 사용하십시오.
  • 대상 디렉터리 -생성된 세 개의 파일이 저장될 디렉터리입니다.

그림 3
  1. 확인을 클릭하여 작업을 생성합니다.
DAQ 어시스턴트는 LabWindows/CVI에서 태스크를 설명하기 위해 소스 ( .c ), 헤더 ( .h ) 및 태스크 설명의 세 파일을 생성합니다.
( .mxb ) 파일. LabWindows / CVI는 이러한 파일을 프로젝트에 자동으로 추가합니다. 생성된 소스 및 헤더 파일은 지정된 작업을 프로그래밍 방식으로 만들고 구성하는 데 필요한 코드를 포함하는 작업 생성 기능을 정의합니다. 생성 된 태스크 설명 파일 ( .mxb )에는 DAQ 어시스턴트에서 태스크를 편집 할 때 사용되는 태스크의 바이너리 설명이 포함되어 있습니다. .mxb 파일을 열면 해당 태스크에 대한 DAQ 어시스턴트가 열립니다. 이 파일은 모두 태스크에 링크되어 있으므로 DAQ 어시스턴트에서 태스크를 변경하면 생성된 코드에 자동으로 반영됩니다.

DAQ 어시스턴트로 태스크를 구성하는 방법에 대한 더 자세한 정보는 NI-DAQmx와 함께 설치된 DAQ 어시스턴트 도움말을 참조하십시오.
 

LabWindows/CVI 프로젝트에서 태스크 사용

태스크를 생성한 후 LabWindows/CVI 프로젝트에서 사용할 수 있습니다.

MAX 기반 작업

MAX 기반 작업을 사용하려면, 그림 4와 같이 DAQmxLoadTask이 DAQmxLoadTask하는 기능을 패널 컴퓨터의 모든 MAX 기반 DAQmx 태스크의 목록을 포함 호출합니다. 작업 목록을 보려면, 이 기능 패널의 작업 이름 컨트롤에서 <Enter>를 누르십시오.

#include <NIDAQmx.h>
#include <cvirte.h>

static int32 samplesPerChan;
static float64 data[1000];
static TaskHandle daqTask;


int main (int argc, char * argv [])
{
     if (InitCVIRTE (0, argv, 0) == 0)
        return -1;    /* out of memory */
 
     /* Function Call to Load a MAX-based Task */
     DAQmxLoadTask ("MyVoltageTask", & daqTask);
     DAQmxReadAnalogF64 (daqTask, DAQmx_Val_Auto, 10.0,
     DAQmx_Val_GroupByChannel, data, 1000, & samplesPerChan, 0);
     DAQmxClearTask (daqTask);
     return 0;
}

그림 4
 
프로젝트 기반 태스크 프로젝트 기반 태스크를 사용하려면 생성된 헤더 파일에 선언된 태스크 생성 함수 (이 예에서는 CreateDAQTaskInProject)를 호출하십시오. 또한 헤더 파일을 기본 프로젝트 파일에 포함해야 합니다. 예는 그림 5를 참조하십시오.

#include <NIDAQmx.h>
#include <cvirte.h>
/* Include Generated Header File */
#include "DAQTaskInProject.h"


static int32 samplesPerChan;
static float64 data[1000];
static TaskHandle daqTask;


int main (int argc, char *argv[])
{
      if (InitCVIRTE (0, argv, 0) == 0)
         return -1;    /* out of memory */
 
      /* Function Call to Create Project Based Task */
      CreateDAQTaskInProject(&daqTask); 
      DAQmxReadAnalogF64 (daqTask, DAQmx_Val_Auto, 10.0,
         DAQmx_Val_GroupByChannel, data, 1000, &samplesPerChan, 0);
      DAQmxClearTask (daqTask);
      return 0;
}

그림 5
프로젝트 및 MAX 기반 작업

DAQmxLoadTask 또는 태스크 생성 함수를 호출한 후 필요한 작업을 수행하는 데 필요한 다른 함수를 추가하십시오. 예를 들어, 아날로그 입력 채널에서 데이터를 읽는 경우 DAQmxReadAnalogF64 함수를 사용할 수 있습니다.

작업을 마치면 DAQmxClearTask를 호출하십시오. 이 기능은 작업을 중지하고 메모리에서 작업을 지웁니다.

예제 코드 생성

또한 DAQ 어시스턴트를 사용하여 태스크를 실행하는 데 필요한 코드를 생성할 수 있습니다.

  • MAX 기반 태스크에 대한 예제 코드 생성- 소스 창에서 DAQmxLoadTask에 대한 호출을 마우스 오른쪽 버튼으로 클릭하고 DAQ 예제 코드 생성을 선택합니다.
  • 프로젝트 기반 태스크에 대한 예제 코드 생성- 소스 창에서 태스크 생성 함수 (예 : CreateDAQTaskInProject)에 대한 호출을 마우스 오른쪽 버튼으로 클릭하고 DAQ 예제 코드 생성을 선택합니다.


프로젝트 또는 MAX 기반 태스크에 대해 DAQ 예제 코드 생성을 선택하면 그림 6과 같은 DAQ 예제 코드 생성 대화 상자가 나타납니다.


그림 6

대화 상자에서 작업을 실행할 함수 이름과 생성된 예제 코드를 포함할 파일을 지정한 다음 확인을 클릭합니다. 생성된 코드에는 실행 태스크 기능을 정의하는 소스 및 헤더 파일이 포함됩니다. LabWindows/CVI는 이러한 파일을 프로젝트에 자동으로 추가하고 실행 태스크 함수를 호출하도록 현재 소스 파일을 수정합니다. 호출되면 작업 실행 함수는 작업을 시작하고 데이터를 표시할 수 있는 사용자 인터페이스를 프로그래밍 방식으로 만듭니다.

다음 그림은 프로젝트 기반 태스크에 대해 DAQ 예제 코드 생성을 선택한 후의 예제 소스 파일을 보여줍니다.

#include <NIDAQmx.h>
#include <cvirte.h>
#include "DAQTaskInProject.h"
/* Header File for Example Code */ 
#include "DAQTaskInProjectExampleCode.h"

static int32 samplesPerChan;
static float64 data[1000];
static TaskHandle daqTask;

int main (int argc, char *argv[])
{
      if (InitCVIRTE (0, argv, 0) == 0)
         return -1;    /* out of memory */
 
      CreateDAQTaskInProject(&daqTask); 
      /* Function Call to Run the Task */  
      RunDAQTaskInProject (daqTask);
      return 0;
}

그림 7
 

기존 작업 편집

태스크를 생성한 후 태스크를 편집하기 위해 DAQ 어시스턴트를 실행할 수 있는 몇 가지 방법이 있습니다. 도구 ≫DAQmx 태스크 생성/편집을 선택하여 모든 유형의 태스크를 편집할 수 있습니다. 이 명령은 편집 할 태스크를 선택할 수 있는 DAQmx 태스크 생성/편집 대화 상자를 시작합니다.

My System»Data Neighborhood»를 선택하여 MAX에서 직접 MAX 기반 작업을 편집할 수 있습니다.
NI-DAQmx 태스크.

LabWindows/CVI의 프로젝트 트리에서 .mxb 파일을 더블 클릭하여 프로젝트 기반 작업을 편집 할 수 있습니다.

작업 편집을 마치면 LabWindows/CVI는 MAX 작업 또는 프로젝트의 구성 파일을 변경 사항과 함께 적절하게 업데이트합니다. 그러나 생성한 예제 코드는 자동으로 업데이트 되지 않습니다. 예제 코드는 작업에 직접 연결되어 있지 않기 때문에 작업을 수정한 경우 변경 사항을 반영하도록 작업에 대한 예제 코드를 다시 생성해야 합니다.

MAX 태스크를 프로젝트에 복사
MAX 기반 작업의 복사 본인 새 프로젝트 기반 작업을 생성할 수 있습니다. 소스 창에서 DAQmxLoadTask 호출을 마우스 오른쪽 버튼으로 클릭하고 프로젝트에 DAQ 태스크 복사를 선택합니다. 나타나는 대화 상자에서 프로젝트 기반 태스크를 위해 DAQ 어시스턴트에서 지정한 것처럼 태스크 이름, 태스크 생성 함수 및 대상 디렉토리를 지정해야 합니다. 확인을 클릭하면 LabWindows/CVI는 소스 ( .c ), 헤더 ( .h ) 및 작업 설명 파일 ( .mxb )을 생성하고 이러한 파일을 프로젝트에 추가합니다. DAQmxLoadTask에 대한 호출을 새 태스크 생성 함수에 대한 호출로 대체합니다. 생성된 헤더 파일에 대한 include 문을 추가합니다.

MAX 작업과 사용자가 만든 새 프로젝트 작업 사이에는 링크가 없습니다. MAX 작업에 대한 변경 사항은 새 프로젝트 작업에 자동으로 반영되지 않습니다.

추가 문서

NI-DAQmx에 대한 자세한 정보와 DAQ 어시스턴트로 태스크를 구성하는 방법에 대한 자세한 정보는 다음 파일을 참조하십시오.

DAQ 빠른 시작 가이드 , 시작»...»National Instruments»NI-DAQ
시작»...»National Instruments»NI-DAQ에 위치한 NI-DAQmx 도움말
DAQ 어시스턴트의 오른쪽 창에서 액세스 할 수있는 DAQ 어시스턴트 도움말
시작»...»National Instruments»LabWindows / CVI 에있는 LabWindows / CVI 도움말