아카데믹 회사 소개 행사 및 세미나 NI Developer Zone 기술 지원 솔루션 제품 및 서비스 문의 MyNI

문서 타입: 튜토리얼
NI 제공: 예
작성일: 2009. 6. 15


피드백


아니오

관련 카테고리

관련 링크 - Developer Zone

관련 링크 - Products and Services

LabWindows™/CVI : 20년간의 효율적이고 생산성있는 테스트 환경 개발

평가 0 건 | 5 중 0.00
언어 선택 | 인쇄 | PDF

개요

내쇼날인스트루먼트의 LabWindows/CVI는 엔지니어 및 과학자들의 생산성을 향상시키는 테스트 및 측정을 위한 입증된 ANSI C 개발 환경입니다. 엔지니어 및 과학자들은 NI LabWindows/CVI를 사용하여 제조 테스트, 군사 및 우주항공, 텔레커뮤니케이션, 설계 검증 및 자동차 업계에서 고성능의 안정적인 어플리케이션을 개발합니다. LabWindows/CVI는 개발자들이 설계시에 함수를 실행하기 위해 사용할 수 있는 하드웨어 구성 어시스턴트, 포괄적인 디버깅 툴, 인터랙티브 실행 기능이 있어 상기와 같은 여러 다양한 분야에서의 개발을 능률화합니다. 내장된 측정 라이브러리를 사용하면 멀티스레드 프로그램 및 ActiveX 서버/클라이언트 프로그램과 같은 복합 어플리케이션을 신속하게 개발할 수 있습니다. LabWindows/CVI의 유연성으로 개발자들은 친숙한 환경에서 레거시 코드를 재사용함으로써 코드 투자를 보호할 수 있고 Windows, Linux® 또는 리얼타임 플랫폼에서 작동하는 분산 테스트 시스템을 긴밀하게 통합할 수 있습니다.

20년에 걸친 신뢰도 및 혁신

그림 1. 지난 20년간, LabWindows/CVI는
테스트 및 측정 어플리케이션을 구축하는 엔지니어들이 최고의 생산성을
구현할 수 있도록 고급 도구를 제공하고 있습니다.

LabWindows/CVI는 다음과 같은 기능을 제공함으로써 지속적인 혁신을 추구합니다.

LabWindows/CVI 의 주요 기능

  • 네트워크 변수 통신 – Windows 또는 리얼타임 분산 어플리케이션간 간편한 통신
  • TDM Streaming File I/O – 고속 스트리밍에 최적화된 포맷으로 문서화된 데이터를 효율적으로 저장
  • 새로운 프로젝트 마법사 – 두 개 또는 그 이상의 어플리케이션에 일관된 스타일 유지 (코드 문서 및 사용자 인터페이스 디자인 포함)
  • 고유 Windows 스타일 컨트롤 – Windows의 테마에 기반한 컨트롤을 사용하여 측정 데이터를 시각화
  • 확장된 사용자 인터페이스 이벤트 – 십 여개의 새로운 사용자 인터페이스 이벤트를 통해 어플리케이션과 사용자간의 더욱 많은 인터랙션을 포착

10개의 새로운 부가 기능
LabWindows/CVI의 새로워진 점에 대해 자세히 살펴보십시오.


 

통합된 환경

LabWindows/CVI 는 LabWindows/CVI 7.0의 완벽하게 통합된 작업공간을 더욱 향상시켰습니다. 즉, 프로젝트 윈도우를 작업 윈도우로 대체함으로써 하나의 환경에서 여러 개의 프로젝트 및 윈도우를 관리할 수 있게 되었습니다. LabWindows/CVI 8.1은 변수, 보기, 메모리 디스플레이 윈도우와 같은 함수 채널 및 디버깅 윈도우를 작업 윈도우에 통합하였습니다.

작업 윈도우는 (1) Project Tree, (2) Library Tree, (3) Window Confinement Region, (4) Output Region, (5) Debugging Region의 다섯 가지의 영역으로 나뉘어집니다.

그림 2. LabWindows/CVI 8.1은 대형 어플리케이션을
신속하게 개발, 디버깅 및 관리할 수 있는
완벽한 작업 공간을 제공합니다.


통합된 작업공간은 대형 프로젝트를 생성하고 관리하기 위한 직관적이며, 편리한 인터페이스를 제공합니다. 각각의 다른 영역을 맞춤화하여 특정한 개발 방식 및 선호에 따라 구성할 수 있습니다.

  • Project Tree에는 작업공간의 각 프로젝트에 대한 파일이 있습니다. Project Tree에 있는 아이템을 마우스 오른쪽 클릭하여 파일 열기, 파일 컴파일, 프로젝트 옵션에서 파일 제거하기 등의 다양한 옵션에 접근할 수 있습니다. Project Tree에서 어떤 파일을 선택하느냐에 따라 마우스 오른쪽 클릭할 수 있는 메뉴 옵션은 달라집니다. 또한, 각 파일에 대한 정보를 볼 수 있고, 프로젝트 및 작업 공간을 맞춤화할 수도 있으며, 프로젝트를 추가 또는 제거, Project Tree에 나타나는 프로젝트의 순서를 지정할 수도 있습니다. Edit Project 대화 상자를 이용하여 프로젝트에서 파일을 추가, 제거 및 대체할 수도 있습니다. 또한 본 대화 상자에서 포함 경로 및 소스 코드 컨트롤 옵션을 지정할 수도 있습니다.
  • Library Tree에서는 모든 LabWindows/CVI 라이브러리 함수, 로드된 계측기 및 인스트루먼트 드라이버에 대한 트리를 볼 수 있습니다. 트리 보기는 함수 검색 및 설명을 위한 직관적인 인터페이스를 제공합니다. 또한 Library Tree를 사용하여 알려진 함수에 접근할 수도 있습니다. 함수를 신속하게 검색하려면 Library Tree를 마우스 오른쪽 클릭한 후 Find를 선택하십시오.
  • Window Confinement Region은 소스 열기, 사용자 인터페이스 편집기, 함수 패널 편집기, 함수 트리 편집기 윈도우 및 함수 패널을 포함합니다. 본 윈도우 중 하나를 열면 선택된 윈도우에 대한 특정 옵션을 반영하기 위해 메뉴 및 툴바가 변경됩니다. 만약 종전의 LabWindows/CVI 작업 공간 스타일을 더욱 선호하는 경우, Window Confinement Region에서 윈도우를 간편하게 해제할 수 있습니다.
  • Output Region에는 탭으로 된 에러, 출력 디버그, 검색 결과 창이 있습니다. LabWindows/CVI가 빌드 오류, 런타임 오류 및 소스 코드 컨트롤 오류를 발견하면 Output Region에 해당 오류를 디스플레이합니다. Output Region에 있는 오류를 더블 클릭하면 코드에서 잘못된 라인이 하이라이트됩니다. Output Region에서 검색 결과를 더블클릭하면 코드에서 발견된 아이템이 하이라이트됩니다.

Debugging Region에는 탭으로 된 변수, 보기, 메모리 디스플레이 윈도우가 포함됩니다. 변수 윈도우는 모든 변수의 목록 (로컬 및 글로벌) 및 현재 영역에서 변수의 해당값을 포함합니다. 변수 윈도우는 또한 스택 상에서의 위치간 뛰어넘기 옵션을 포함합니다. 보기 (Watch) 윈도우는 사용자가 선택한 변수 및 그에 해당하는 값만을 디스플레이합니다. 메모리 디스플레이 (Memory Display) 윈도우는 메모리 주소 및 값 정보를 디스플레이합니다. 소스 (Source), 인터랙티브 실행 (Interactive Execution), 변수 (Variables) 또는 보기 (Watch) 윈도우로부터 변수를 끌어서 메모리 디스플레이 (Memory Display) 윈도우에 가져갈 수 있습니다.

 

최첨단 하드웨어 기능

측정 어플리케이션에 있어 가장 핵심적인 과정은 인스트루먼트에 연결하여 측정을 수행하는 일입니다. LabWindows/CVI는 수집 과정을 능률화하는 두 개의 어시스턴트를 제공하며 또한 멀티스레드 측정 성능을 최고 20배, 단일 포인트 I/O 성능을 10~20배 향상시키는 새로운 데이터 수집 인터페이스를 제공합니다.

새로운 DAQ 아키텍처
LabWindows/CVI는 DAQ 디바이스 컨트롤 및 통신을 위한 함수를 포함하는 NI-DAQmx 라이브러리와 함께 작동합니다. 차세대 드라이버 소프트웨어인 NI-DAQmx는 동시 수행하는 입출력의 경우 종전의 NI-DAQ 보다 최고 40배 빠른 루프 속도를 확보합니다. 또한 NI-DAQmx는 단일 포인트 I/O를 위한 10~20배 향상된 성능을 제공합니다. 이처럼 향상된 성능은 NI-DAQmx가 NI DAQ 디바이스에 최적화된 멀티스레드 드라이버이기 때문에 가능합니다.

DAQ Assistant
통합된 NI-DAQmx 라이브러리에 더해 LabWindows/CVI는 새로운 드라이버 프레임워크로의 인터랙티브 인터페이스인 DAQ Assistant를 제공합니다. DAQ Assistant (그림 3)는 측정 태스크를 인터랙티브하게 정의하고, 지정한 DAQ 디바이스의 측정 기능을 결정하며, 수집 기능을 포함하는 코드 모듈을 생성합니다. 새로운 DAQ 태스크를 생성하면 태스크에 대한 측정 유형 및 태스크에 추가될 채널을 정의하게 됩니다. 새로운 태스크의 경우, 프로젝트 또는 NI Measurement & Automation Explorer에 태스크를 저장할 것인지 여부를 선택하게 됩니다. 프로젝트에 태스크를 저장할 경우, DAQ Assistant는 지정된 태스크를 프로그램적으로 생성할 수 있도록 소스 코드를 생성합니다. 생성된 소스 및 헤더 파일은 태스크를 구성하며 작업 핸들을 반환하는 입력 포인트 함수를 정의합니다. DAQ Assistant는 또한 태스크의 2진 설명을 포함하는 .mxb 파일을 생성합니다. DAQ Assistant에서 태스크를 편집하면, DAQ Assistant는 사용자가 프로젝트 기반 태스크를 생성할 때에 상기 파일을 사용하여 세 개의 모든 파일을 프로젝트에 자동으로 추가합니다. DAQ Assistant는 또한 태스크에 따라 어떻게 사용되는지를 설명하는 문맥을 인식하는 (context-sensitive) 도움말 토픽 기능이 있습니다. DAQ Assistant 및 NI-DAQmx와 LabWindows/CVI의 긴밀한 통합으로 데이터 수집을 수행하는 엔지니어들은 ANSI C 환경에서 가장 효율적이며 생산성있는 측정을 수행하게 됩니다.

그림 3. DAQ Assistant는 측정 태스크를 인터랙티브하게 정의하고,
지정한 DAQ 디바이스의 측정 기능을 결정하며,
수집 기능을 포함하는 코드 모듈을 생성합니다.


M 시리즈
LabWindows/CVI는 차세대 다기능 데이터 수집 디바이스인 M 시리즈 디바이스와 완벽하게 호환합니다. 이같은 혁명적인 DAQ 디바이스는 1.25 MHz의 높은 샘플링 속도, 최고 18 비트의 해상도, 80 MHz 타이밍, 특허받은 다항식 커브 피팅 교정을 I/O 채널당 저가로 제공합니다. M 시리즈는 최대 48개 디지털 I/O 채널, 32개 아날로그 입력, 4개의 아날로그 출력 및 두 개의 카운터를 단일 디바이스에서 제공합니다. M 시리즈에 대한 더욱 자세한 정보는 M 시리즈 홈페이지를 참조하십시오.

Instrument I/O Assistant
테스트 업계의 엔지니어 및 과학자들은 하드웨어 패키지를 선택할 때 서로 다른 벤더에서 제공되는 다양한 계측기에 편리하게 연결할 수 있는지 여부를 매우 중요한 요소로 인식하고 있습니다. LabWindows/CVI는 NI LabVIEW와 더불어 인스트루먼트 컨트롤 및 연결 분야에 있어 업계 선두이며, 이는 180개 이상의 벤더로부터 2,000개 이상의 인스트루먼트 드라이버를 제공하는 인스트루먼트 드라이버 네트워크를 통해 가능합니다. 본 드라이버는 인스트루먼트 컨트롤 어플리케이션을 편리하게 프로그래밍하는 데에 사용됩니다. LabWindows/CVI는 Instrument I/O Assistant (인스트루먼트 드라이버를 사용하지 않고 시리얼, 이더넷, GPIB 인스트루먼트 등의 디바이스와 통신하기 위해 코드를 생성)를 통해 인스트루먼트 컨트롤의 한 차원 높은 생산성을 구현합니다.

그림 4. LabWindows/CVI Instrument I/O Assistant는
인스트루먼트 데이터를 자동 분석하고, 재사용가능한 코드를 생성하며,
기본적인 통신을 인터랙티브하게 정의합니다.

Instrument I/O Assistant는 프로그래밍 없이 신속하게 어플리케이션을 프로토타입하고 인스트루먼트 데이터를 자동 분석할 수 있는 편리한 인터페이스를 제공합니다. 생성되는 코드를 기존의 어플리케이션에 간편하게 반입할 수 있으므로 인스트루먼트 연결, 기본 통신 및 스트링 분석 코드를 번거롭게 작성할 필요가 없습니다. 코드의 두 개 라인을 작성하면, Instrument I/O Assistant가 생성하는 코드의 300개 이상의 라인을 불러들여 더욱 신속하게 측정에 임할 수 있습니다.

또한 다음을 참조하십시오.
DAQ 소프트웨어
M 시리즈 다기능 DAQ 디바이스

 

Real-Time Module로 결정성있는 성능


Microsoft Windows와 같은 범용 OS를 사용하여 고도로 안정적이며 결정성있는 어플리케이션을 실행하는 것은 결코 쉬운 일이 아닙니다. 안정적이며 결정성있는 어플리케이션은 시스템에서 실행되는 모든 작업에 대한 컨트롤을 요구하지만, 범용 OS에서는 이같은 컨트롤을 제공하지 않습니다. 따라서, 테스트 및 컨트롤 엔지니어는 결정성있는 성능 또는 높은 안정성을 요구하는 어플리케이션을 실행하기 위해 리얼타임 OS를 사용합니다.

LabWindows/CVI는 LabWindows/CVI Real-Time Module와 함께 작동하므로 사용자는 전용 리얼타임 하드웨어를 타겟으로 하는 안정적이며 결정성있는 어플리케이션을 구축할 수 있습니다. 다음과 같은 방식으로 리얼타임 어플리케이션의 개발 시간이 단축됩니다.

  • 기존의 ANSI C 코드 및 익숙한 LabWindows/CVI 개발 환경을 재사용
  • 상용 (COTS) 하드웨어 타겟, 특히 PXI 및 PC 타겟 및 I/O
  • 리얼타임 및 Windows 개발을 위한 단일 툴 체인 사용


LabWindows/CVI에서 다음과 같은 리얼타임 기능을 사용할 수 있습니다.

  • 분석 라이브러리
  • ANSI C
  • 포맷팅 및 I/O
  • TCP 지원 라이브러리
  • 네트워크 변수 라이브러리
  • RS232 라이브러리
  • 유틸리티 라이브러리
  • VXI 라이브러리
  • NI-VISA 라이브러리
  • IVI 라이브러리
  • NI-CAN 라이브러리
  • NI-DAQmx 라이브러리
  • NI-SCOPE, NI-Switch, NI-DMM, NI-FGEN, 및 NI-HSDIO
  • 비동기식 타이머 라이브러리
  • 기존 NI-DAQ 라이브러리


DLL을 리얼타임 타겟에 배포한 후, LabWindows/CVI 디버거의 전 기능을 사용하여 DLL을 원격으로 디버깅할 수 있습니다.

그림 5. LabWindows/CVI Real-Time Module로,
전용 리얼타임 하드웨어에서 실행하고 원격 디버깅할 수 있는
안정적이며 결정성있는 어플리케이션을 생성할 수 있습니다.

또한 다음을 참조하십시오.
LabWindows/CVI Real-Time Module

 

간편해진 플랫폼간 통신

많은 사업체에서 기업 연결을 지향함에 따라 분산 솔루션을 요구하는 어플리케이션이 대두되고 있습니다. 그러나 이러한 추세는 분산 솔루션을 실행하는 프로그래머들에게 과제를 안겨주었습니다. 어플리케이션에 사용되는 하드웨어, 소프트웨어 및 프로토콜에는 여러 다른 유형이 존재하기 때문입니다. 이러한 복잡성 때문에 프로그래머들은 데이터 전송을 위한 여러 다른 프로토콜 사이에서 절충해야 했으며 이로 인해 상당량의 개발 시간과 리소스가 요구되었습니다. LabWindows/CVI 8.1은 이러한 어플리케이션에 필요한 프로그래밍을 단순화하는 데에 있어 큰 성과를 거두었습니다. NI Publish-Subscribe Protocol (NI-PSP)에 기반한 새로운 Network Variable Library는 동일한 시스템 또는 네트워크에서 두 어플리케이션간 라이브 측정 데이터를 공유해야 할 경우 단순화된 API를 제공합니다. 사용자는 또한 본 API를 사용하여 성능에 영향을 주지 않고 리얼타임 시스템간 데이터를 통과시킬 수 있습니다. API는 하위레벨 통신 프로토콜 (TCP/IP 또는 DDE 등)을 추상화하기 위해 고안되었으며 또한 스칼라, 다차원 어레이 및 구조체와 다양한 측정 데이터 유형과 호환할 수 있을 정도로 충부한 유연성을 확보합니다.

LabWindows/CVI Network Variable Library는 다음과 같은 기능을 제공합니다.

  • Subscriber – 네트워크 변수에 출판되는 새로운 데이터를 수신
  • Buffered Subscriber – 버퍼가 비었거나, 오버라이트 또는 stale 상태일 때 버퍼된 데이터를 수신하고 이벤트 발생
  • Writer – 새로운 데이터로 네트워크 변수를 업데이트
  • Buffered Writer – 출판된 데이터를 비동기식으로 업데이트
  • Reader – 네트워크 변수에 저장된 새로운 데이터를 읽기
  • Asynchronous Reader – 독립 스레드에서 새로운 네트워크 변수 데이터를 읽기
  • Data Functions – 네트워크 변수 데이터를 조작
  • Network Variable Browser Popup – 사용가능한 네트워크 변수 자동 검색
  • Browser Functions – 네트워크 변수를 검색하기 위해 맞춤형 인터페이스 생성

그림 6. 네트워크 변수는 네트워크 상에 존재하며
프로그램, 어플리케이션, 원격 컴퓨터 및 하드웨어 간에
통신하는 소프트웨어 항목을 나타냅니다.

네트워크 변수는 맞춤형 UDP 프로토콜을 사용하여 데이터를 공유 변수 엔진이라고 불리는 서버에 보내고 그 후 네트워크 변수를 읽는 네트워크 상의 모든 클라이언트에 데이터를 출판합니다. publish-subscribe 아키텍처가 데이터 전송에 사용되므로 여러 클라이언트는 추가 코드를 작성하지 않고 동일한 변수를 읽거나 쓸 수 있습니다. 또한 공유 변수 엔진은 Windows PC 및 리얼타임 타겟 상에서 호스트가 될 수 있습니다.

LabWindows/CVI Real-Time Module은 네트워크 변수의 기능을 확장합니다. LabWindows/CVI Real-Time이 있으면 데이터 처리시 thread-safe 큐와 함께 네트워크 변수를 구성할 수 있습니다. thread-safe 큐를 사용하면 태스크간 또는 네트워크 상에서 통과하는 데이터가 어플리케이션에 지터를 추가하지 않음을 보장합니다.

다음을 참조하십시오.
네트워크 변수 리소스 페이지

 

고급 데이터 관리 및 고속 파일 I/O

LabWindows/CVI는 TDMS (기술 데이터 관리 스트리밍)이라 불리는 새로운 데이터 저장 포맷을 도입하였습니다. 다시 말해, 천억개 이상의 데이터 포인트를 효율적으로 저장할 수 있는 2진 데이터, 그리고 데이터 및 채널을 설명하는 정보를 저장하기 위한 메타데이터를 모두 보유하며, 고속 데이터 스트리밍에 최적화되었습니다. 이와 같이 2진 데이터와 메타데이터의 통합으로 인해 효율적 파일 저장 및 자체 설명된 파일의 혜택을 얻을 수 있습니다. TDMS 파일에 위치한 설명적인 정보 (본 포맷의 주요 장점)는 헤더 구조를 설계할 필요 없이 데이터를 문서화할 수 있는 편리한 방법을 제공합니다. 문서화에 대한 요구가 증대되는 상황에서 사용자는 어플리케이션을 재설계할 필요 없이 TDMS 데이터 모델을 확장하기만 하면 특정 요구를 충족시킬 수 있습니다. TDMS 파일 포맷은 LabWindows/CVI 및 NI DIAdem에서 모두 사용됩니다. DIAdem은 단일 파일에서 천억개 이상의 데이터를 처리하는 능력이 있는 강력한 데이터 관리 도구입니다. 상당량의 데이터를 수집한 후 사용자는 DIAdem을 사용하여 데이터를 인터랙티브하게 관리, 조사, 분석, 리포트 및 자동화할 수 있습니다.


그림 7. 2진 데이터 및 메터데이터를 저장하고
고속 스트리밍에 최적화된 TDM 스트리밍 라이브러리로
천억개 이상의 데이터 포인트를 저장합니다.
다음을 참조하십시오.
LabWindows/CVI TDM 스트리밍 라이브러리 소개

 

과학적인 고급 분석

LabWindows/CVI는 측정 분석 및 신호 프로세싱을 위해 특수 설계된 강력한 알고리즘 및 함수를 제공합니다. 분석을 위한 LabWindows/CVI 함수에는 신호 프로세싱 도구가 포함되어 있어, 사용자는 smoothing 윈도우, 디지털 필터 및 주파수 영역 변환 등을 사용하여 신호를 컨디셔닝하고 변환할 수 있습니다. 수학 함수로, 복소수 연산을 수행할 수 있을 뿐 아니라 1D 및 2D 배열을 편리하게 조작할 수 있습니다. 본 함수를 사용하여 벡터 및 행렬 대수를 위해 다양한 사용자 정의된 공식을 데이터에 적용할 수 있습니다. 본 함수를 사용하면, 원시 데이터를 유용한 정보로 변환하기 위해 알고리즘을 작성할 필요가 없어집니다. 원시 데이터를 유용한 정보로 바꾸기 위해서는 수집된 데이터를 조작, 프로세싱, 분석한 후 정보를 추출해야 합니다. LabWindows/CVI Full Development System에 포함된 LabWindows/CVI 고급 분석 라이브러리로 수행할 수 있는 기능은 다음과 같습니다.

  • 수집된 데이터와 고유 측정으로부터 정보 추출
  • 신호 생성, 변경, 프로세싱 및 분석
  • 어플리케이션에 지능 및 의사 결정 능력 부여
  • 인라인 및 오프라인 분석 수행
  • 일반적인 용도 뿐만 아니라 특수 함수 및 애드온 소프트웨어 사용 가능
  • 교육용 분석 예제

그림 8. LabWindows/CVI에는 데이터 분석을 위한
강력하고 종합적인 함수 세트가 포함되어 있습니다.

다음을 참조하십시오.
LabWindows/CVI 분석 함수 전체 목록

 

개방된 기술 – .NET, 인터넷 및 XML 라이브러리

산업 표준이 .NET 및 XML Web 서비스, 인터넷 활성화된 어플리케이션과 같은 한층 개방된 기술을 지향함에 따라, LabWindows/CVI는 본 기술을 통합하였습니다.

.NET 라이브러리
LabWindows/CVI로, 최신 Microsoft .NET 기술을 활용하여 메소드를 불러오고 .NET 어셈블리로부터 프로퍼티를 얻을 수 있습니다. .NET 어셈블리는 모든 .NET 어플리케이션의 빌딩 블록입니다. 따라서, LabWindows/CVI 프로그래머들은 본 기능을 사용하여 자동 이메일 보내기, 풍부한 데이터베이스 기능에 접근하기, 및 Microsoft Windows API 메소드와 인터랙션 (CPU 사용 및 로깅 에러 등) 등과 같은 웹 서비스를 호출할 수 있습니다.

인터넷 라이브러리
LabWindows/CVI에는 인터넷 라이브러리가 포함되어 있어 이메일, FTP, Telnet, ping을 통해 사용자의 어플리케이션을 웹에 즉시 연결할 수 있습니다. LabWindows/CVI 인터넷 라이브러리는 다음과 같은 기능을 제공합니다.

  • FTP – 사용자 이름 및 비밀번호로 FTP 서버에 연결하고 파일 업로드 및 다운로드
  • Telnet – 원격 머신에 있는 Telnet 서버로부터 읽거나 서버에 쓰기
  • POP3 – 다운로드 및 이메일 전송을 위해 이메일 서버에 연결
  • SendMail – 주소, 서버, 제목, 본문, 첨부 등을 구체적으로 지정하여 이메일 보내기
  • LaunchDefaultWebBrowser – 지정된 URL로 기본 웹 브라우저 시작
  • Ping – ping 기능으로 네트워크 상의 다른 컴퓨터를 신속하게 검색


이러한 추가 기능으로, 사용자는 이메일 또는 텍스트 메시지를 보내 특정 이벤트의 운영자에게 머신 과열 등을 알릴 수 있습니다. 또한 수집된 데이터를 FTP 서버에 로깅할 수 있습니다. 기존의 TCP 지원 라이브러리는 또한 RegisterTCPServer 및 ClientTCPRead 등의 종합적인 통신 함수를 제공합니다.

XML API
LabWindows/CVI 7.0은 또한 XML 함수 라이브러리를 포함합니다. cvixml.fp 인스트루먼트 드라이버에는 XML 문서를 생성하고 변경할 수 있는 함수가 포함되어 있습니다. XML 문서는 상/하위 관계가 있는 트리와 유사하게 데이터의 계층을 나타냅니다. 데이터는 태그 이름 및 값으로 구성된 요소로 나타납니다. 요소는 또한 속성을 포함합니다. cvixml.fp에는 다음의 클래스가 포함됩니다.

  • Document Functions – 변경을 위해 XML 문서를 열고 새로운 XML 문서를 생성하여 변경된 XML 문서를 저장하고 포맷팅
  • Element Functions – 새로운 요소를 생성, 기존 요소 변경, 요소 복사, 태그별로 요소 검색, 요소 삭제
  • Child Element Functions – 요소의 하위 요소의 숫자 확인, 요소의 하위 요소 가져오기, 요소의 상위 요소 가져오기
  • Attribute Functions - 요소의 속성 갯수 확인, 요소의 속성 가져오기, 새로운 속성 생성하기, 속성 삭제하기
  • Error Processing Functions – 오류 처리
  • Low-Level Functions – 문서의 ActiveX 핸들 가져오기, 요소의 ActiveX 핸들 가져오기, 속성의 ActiveX 핸들 가져오기

Saving Function Panels in XML Format
XML API 뿐만 아니라, LabWindows/CVI는 또한 XML 포맷으로 함수 패널 파일을 저장하며 XML 포맷으로부터 함수 패널 파일을 로드하는 옵션을 제공합니다. Function Panel Editor에 있는 옵션 >> XML 포맷으로 저장을 선택하여 함수 패널을 XML 문서로 변환합니다. XML 편집기, 텍스트 편집기 또는 Microsoft Internet Explorer 중 어디서나 .fpx 파일 결과를 열 수 있습니다.

 

테스트 및 측정 데이터 시각화

LabWindows/CVI의 각 버전은 추가의 사용자 인터페이스 컨트롤 및 기능을 제공하므로 사용자는 테스트 및 측정 어플리케이션을 위한 전문적인 프론트 엔드 (front-ends)를 생성할 수 있습니다.

고유 Windows 스타일 컨트롤
LabWindows/CVI에서 사용자는 계측 특정 컨트롤에서 테스트 및 측정 데이터를 시각화할 수 있습니다. LabWindows/CVI 8.1에서 이제 Windows 스타일 컨트롤의 업데이트된 사용자 인터페이스를 활용할 수 있습니다. 사용자는 각자의 로컬 Windows 시스템 테마에 기반하여 탭, 스위치, 링, 버튼 등의 컨트롤 디스플레이할 수 있습니다.

그림 9. 업데이트된 테마 기반의 컨트롤로
현대적인 사용자 인터페이스를 생성할 수 있습니다.

인터랙티브한 그래프 축
수집된 측정 데이터의 시각적인 조사를 더욱 효율적으로 진행하고자 하는 경우, LabWindows/CVI 그래프는 인터랙티브한 범례를 통해 외관 변경과 같은 런타임에서 풍부한 인터랙션을 제공합니다. 또한, 그래프 컨트롤을 위해 축 가장자리 라벨을 클릭하여 런타임 중에 축 범위를 인터랙티브한 방식으로 편집하고 축을 반전시킬 수 있습니다.

확장된 사용자 인터페이스 이벤트
또한, 사용자의 어플리케이션과의 더 많은 인터랙션을 포착할 수 있게 됩니다. 하위레벨 프로그래밍을 사용하지 않고도 탭 또는 리스트 컨트롤에서 스크롤 감지, 패널 움직임, 동작 크기 조정 감지 등 추가적인 마우스 인터랙션을 편리하게 포착할 수 있습니다. 예를 들어, 사용자 인터페이스 크기 조정 또는 이동과 같은 사용자의 사용에 대한 컨트롤을 하려는 경우, 동작을 감지하고 관계된 이벤트를 프로그램적으로 처리하며 적절한 함수를 호출할 수 있습니다.

 

생산성있는 개발 도구

LabWindows/CVI는 또한 사용자가 효율적으로 end-to-end 솔루션을 생성할 수 있도록 생산성을 향상시키는 주요 기능을 제공합니다. 일부 추가의 생산성 도구는 일관적인 프로그래밍 스타일을 편리하게 실행하기 위한 새로운 프로젝트 및 파일 템플릿을 제공하는 동시에 여러 어플리케이션에 반복적으로 발생하는 태스크의 양을 줄여줍니다.

새로운 프로젝트 마법사
팀으로 업무를 진행하는 개발자들은 새로운 프로젝트를 시작할 때 일관된 코드 또는 사용자 인터페이스 템플릿을 사용하는 것이 보편적입니다. 새로운 프로젝트를 시작할 때 소스 코드 컨트롤 또는 빌드 옵션 등의 일반적인 셋팅은 개발이 다른 머신에서 수행될 경우, 프로젝트마다 재설정되어야 합니다. 새로운 프로젝트 마법사가 있으면, 기존의 템플릿을 기반으로 하여 새로운 프로젝트 또는 소스 파일을 생성할 수 있습니다. 모든 사용자 인터페이스의 좌측 아래 코너에 회사 로고를 넣고 모든 소스 파일에 저작권 정보를 삽입하고 싶으면 LabWindows/CVI 8.1에서 내장된 템플릿을 사용하거나 맞춤형 템플릿을 생성하여 일관성을 유지할 수 있습니다. 본 템플릿은 파일의 이름 규약, 코드 문서, 빌드 및 타겟 옵션, 사용자 인터페이스 디자인 등에 적용될 수 있습니다.

그림 10. 새로운 프로젝트 마법사는 파일 및 프로젝트 템플릿을
기반으로 하여 새로운 어플리케이션을 생성 및 구성하기 위한
중앙집중된 방식을 제공하므로 개발시간이 절약됩니다.

Function Panel HTML Documentation
새로운 프로젝트를 신속하게 시작하기 위한 새로운 도구 이외에도 LabWindows/CVI 8.1은 프로젝트 완성 시에 문서를 신속하게 배포할 수 있는 기능을 제공합니다. LabWindows/CVI는 보통 인스트루먼트 드라이버를 개발하는 데에 사용됩니다. (인스트루먼트 드라이버는 함수 패널로 저장됩니다.) 새로운 함수 패널 HTML 생성 기능으로, 인스트루먼트 드라이버 또는 LabWindows/CVI에서 사용가능한 오픈 소스 인스트루먼트 드라이버에 이미 포함된 문서를 택하거나 또는 편리하게 배포 및 검색되는 웹에서 사용가능한 (Web-ready) 문서를 생성할 수 있습니다. HTML 문서를 생성한 후에 인스트루먼트 드라이버에 대한 상위레벨 문서를 디스플레이하는 최상위레벨 HTML 페이지를 볼 수 있습니다. (포함된 각 함수를 문서화하는 각 페이지 포함) HTML 문서에 포함된 검색 링크를 이용할 수 있어 알파벳 순서로 검색하거나 특정 함수 문서 및 예제 코드에 대한 함수 계층을 통해 함수를 검색할 수 있습니다.

Set Next Statement
LabWindows/CVI는 Set Next Statement 명령을 제공하여 실패를 유발하는 코드를 건너뛸 수 있으며 실행 시에 실패한 코드를 조사할 수도 있습니다. 본 명령은 디버깅하는 동안 실행할 다음 문장을 변경합니다. 실행하고자 하는 명령으로 커서를 움직여 Run>>Set Next Statement를 선택하기만 하면 됩니다.

Source Code Name Completion
어플리케이션의 신속한 개발을 위해, LabWindows/CVI는 Source 윈도우에 이름 완성 옵션을 제공합니다. <Ctrl-Space>를 눌러 함수, 변수 또는 마크로 이름을 입력하는 동안 가능한 검색어의 전체 목록을 살펴볼 수 있습니다.


그림 11. 소스 코드 이름 완성 기능으로,
LabWindows/CVI는 입력하는 동안에 가능한
함수, 변수 및 마크로 이름의 전체 목록을 디스플레이합니다.

Source Code Variable Declaration
소스 코드에 새로운 변수 이름을 입력한 후에 <Ctrl-D>를 입력하면 Source 윈도우로부터 본 변수를 선언할 수 있습니다. 본 명령어는 현재 위치가 포함된 코드의 블록 시작시에 적절한 변수 타입 및 이름을 자동적으로 선언합니다. 입력하는 변수가 배열일 경우, LabWindows/CVI는 배열에서 원소에 대한 숫자를 요청합니다.

Function Prototype Help
Source 윈도우 내에 있는 LabWindows/CVI 함수 프로토타입 디스플레이는 리얼타임 개발 도움을 제공합니다. Editor Preferences 대화 상자에 있는 Show function prototypes and struct/union fields while typing 옵션을 활성화하게 되면 LabWindows/CVI는 함수 이름 뒤에 괄호를 열었을 때 함수의 프로토타입을 보여줍니다. 파라미터 값을 입력하면 LabWindows/CVI는 함수 프로토타입 디스플레이에서 현재 파라미터를 하이라이트합니다. 함수 프로토타입의 왼쪽에 나타나는 물음표 버튼을 클릭하거나 <F1>을 클릭하면 현재 함수 또는 파라미터에 대한 도움말을 볼 수 있습니다.

LabWindows/CVI가 입력 선택 대화 상자 또는 현재 파라미터에 대한 상수값의 목록을 제공하면, LabWindows/CVI는 함수 프로토타입 디스플레이에 있는 파라미터 옆에 타원형 버튼을 디스플레이합니다. 입력 선택 대화 상자에는 현재 파라미터와 관련된 상수값, 파일 선택, 채널 이름 등의 목록이 포함되어 있습니다. 타원형 버튼을 클릭하여 대화 상자 또는 상수값의 목록을 보고 또한 코드에 값을 삽입하십시오.


[+] 크게 보기
그림 12. LabWindows/CVI는
디자인-시간 소스 코드 완성 옵션 및 도움말을 제공합니다.

Editable Data Tooltips

LabWindows/CVI의 최신 버전은 또한 혁신적인 편집가능한 데이터 툴팁 (tooltip)을 제공합니다. 어플리케이션을 디버그하면 Source 창에서 변수의 이름을 둘러볼 수 있고 툴팁 (tooltip)에서 변수의 값을 볼 수 있습니다. 툴팁에 있는 값이 굵은체로 되어 있으면 그 값을 더블클릭하여 편집할 수 있습니다.

추가의 향상된 기능
LabWindows/CVI는 __int64 및 unsigned __int64 데이터 타입을 통해 64 비트 정수를 처리합니다. LabWindows/CVI를 사용하면 또한 사용자 인터페이스 리소스 (.uir) 파일을 실행파일 또는 DLL에 간편하게 임베드할 수 있으므로 파일을 배포할 필요가 없어집니다.
 

 

LabWindows/CVI를 위한 추가의 NI 소프트웨어 기능

NI TestStand 통합

NI TestStand는 자동화 테스트 시스템을 더욱 신속하게 효율성있게 개발하기 위해 최신의 테스트 관리 소프트웨어 기술을 도입하였습니다. NI TestStand에는 LabWindows/CVI 유연성있는 모듈 어댑터 및 LabWindows/CVI용 TestStand 사용자 인터페이스 (UI) 컨트롤과 같은 LabWindows/CVI 테스트 시스템을 신속하게 개발하기 위해 특수 설계된 기능이 있습니다.

LabWindows/CVI의 유연성있는 모듈 어댑터는 코드 재사용성을 증대함으로써 소프트웨어 개발 투자에 대한 최대의 수익을 보장합니다. 사용자는 함수 프로토타입에 상관없이 모든 LabWindows/CVI .c, .obj, .lib, or .dll 파일 내에서 함수를 호출할 수 있습니다. LabWindows/CVI 어댑터는 또한 NI TestStand에서 모듈을 구성할 때 파라미터 시각화를 향상하기 위해 업데이트됩니다. 이러한 향상으로 인해 개발 시간을 현격하게 줄어들며 불필요한 프로그래밍의 필요성이 없어집니다.

 

그림 13. 새로운 유연성있는 LabWindows/CVI 어댑터로,
함수 프로토타입에 상관없이 모든 LabWindows/CVI 파일내에서
함수를 호출할 수 있습니다.


LabWindows/CVI용 NI TestStand 사용자 인터페이스 컨트롤

NI TestStand UI 컨트롤은 NI TestStand Operator Interface 개발과 관련된 복잡성을 90 퍼센트 이상 줄여줍니다. 이러한 새로운 컨트롤은 NI TestStand와 운영자 인터페이스간에 필요한 모든 통신을 갖추고 있습니다. 또한 새로운 컨트롤은 NI TestStand의 최신 버전에 자동 설치됩니다. NI TestStand 3.0에서 제공된 LabWindows/CVI 운영자 인터페이스로 반드시 작성해야 하는 코드의 양을 무려 11,000 라인이나 줄일 수 있습니다.

 

그림 14. NI TestStand UI 컨트롤로,
LabWindows/CVI 및 NI TestStand와 긴밀하게 통신하여
코드를 90퍼센트 이상이나 줄일 수 있습니다.

다음을 참조하십시오.
NI TestStand 홈페이지

 

결론

입증된 LabWindows/CVI 개발 환경은 통합된 작업 환경 및 개발 도구 향상, 더욱 견고한 하드웨어 기능, 리얼타임 연결 기능, 향상된 데이터 관리 도구 및 긴밀한 테스트 관리 통합 등으로 ANSI C 어플리케이션 개발을 더욱 생산성있게 합니다.

 

평가 0 건 | 5 중 0.00
언어 선택 | 인쇄 | PDF

법적 정보
"이 튜토리얼 (이 ""튜토리얼"")은 내쇼날인스트루먼트 (""NI"")가 개발한 것 입니다. 이 튜토리얼에 대한 내쇼날인스트루먼트의 기술 지원이 가능하더라도, 이 튜토리얼의 내용은 완전하게 테스트 및 검증되지 않을 수 있으며, NI는 어떠한 방식으로도 품질 또는 관련 제품 및 드라이버의 새로운 버전에 따른 컨텐츠의 지속적인 지원을 보장하지 않습니다. 이 튜토리얼은 어떠한 종류의 보증 및 NI.COM의 이용 약관에 명시된 특정한 제약 규정에 대한 전제 없이 있는 그대로 제공됩니다. (http://ni.com/legal/termsofuse/unitedstates/us/)