티스토리 뷰

이 글에서는 NI 제품군(DAQmx, VISA, 488.2, RFmx, FGEN, DMM, HSDIO, DCPower, Scope, Switch, NI-IMAQ와 IMAQdx)를 사용할 때 .NET 개발 환경에서 어플리케이션 개발의 가능성에 대해서 설명을 드리고자 합니다. 



1. Measurement Studio에 대해서


National Instruments(이하 NI)는 데이터 수집, PXI 장비, 시리얼, USB, GPIB등을 사용하는 Third Party 장비에 대한 .NET 드라이버 API를 지원하고 있습니다.


.NET 개발자들을 위해서 NI는 NI Measurement Studio를 통해서 Native .NET API를 제공하고 있습니다. NI Measurement Studio는 .NET 개발 툴의 툴킷과 같은 형태로 제공이 되며, 이를 이용하여 개발자는 데이터 수집, 분석, 데이터 표현등을 가능합니다.


이러한 기능을 위해서 Measurement Studio는 데이터처리, WPF 커스터마이징, 윈도우 폼, ASP.NET 사용자 인터페이스에 대한 컴포넌트의 라이브러리를 제공하고 있습니다. 또한 Measurement Studio는 바로 사용이 가능한 예제와 템플릿, 코드 생성을 도와주는 어시스턴트를 제공하고 있습니다. 


이러한 기능은 MS Visual Studio에서 바로 사용을 할 수가 있습니다. 


Measurement Studio를 사용하지 않고도 .NET API를 사용할 수가 있습니다. Native .NET API와 Wrapper .NET API 사용을 통해서 문제를 해결할 수가 있는데, 이는 아래에 정리를 하도록 하겠습니다. 


2. Native .NET API와 랩퍼(Wrapper) .NET API의 사용


NI는 .NET 개발환경에서 사용할 수 있는 2가지 방식을 제공하고 있습니다. 바로 Native .NET API와 Wrapper 클래스 기반의 예제인데요. NI는 이 둘중 Native .NET API 사용을 권장하고 있습니다. Native .NET API는 사용자가 사용하고 더욱 더 쉽고, 문서화도 잘되어 있으며, 더 나은 예제를 제공하고 있기 때문입니다.


이에 NI는 Wrapper .NET API 사용은 .NET Native API 지원이 되지 않을때만 사용할 것을 이야기 하고 있습니다. NI는 지속적으로 Native .NET API를 지원할 예정이고, Wrapper .NET API에 대한 지원을 점차 줄여갈 예정입니다. 따라서 Native .NET API를 사용할 것을 권장합니다. 


3. Native .NET API와 랩퍼(Wrapper) .NET API 비교


Native .NET API와 Wrapper .NET API의 가장 큰 차이는 .NET Assembly 기반이냐 C로 만들어진 DLL 기반이냐 입니다. Native .NET API는 기존의 .NET 외부 어셈블리와 같은 방식으로 구현이 되어 있고, Wrapper .NET API는 C언어로 만들어진 DLL을 기반으로 하기 때문에 C형태로 많이 사용됩니다.


이 두가지 요소의 차이점은 아래의 테이블에 나와있으니 참고하시기 바랍니다. 



Wrapper .NET API에 비교하여 Native .NET API가 가지는 이점은 아래와 같습니다.


  • 버전화 되어 있는 컴파일 어셈블리
  • Garbage Collection(가비지 콜렉션)에 대한 완벽히 Managed된 데이터 타입
  • NI 소프트웨어와의 높은 호환성
  • 객체지향 기반의 디자인
  • 시스템의 오랜 실행을 위한 비동기적 함수
  • 예외 처리 핸들링
  • InteliSense 기반의 도움말
  • 예제


이러한 Native .NET API는 사용하는 하드웨어에 따라 설치 방법이 다릅니다. DAQmx, VISA, 488.2, RFmx 드라이버의 경우 최초 드라이버 설치시에 Native .NET API가 제공이 되고 있습니다. 


하지만 FGEN, DMM, HSDIO, DCPower, Scope, Switch, NI-IMAQ와 IMAQdx에 대한 부분은 드라이버 설치 이후 .NET Resource를 추가적으로 다운로드 받아 설치를 해야 합니다. 



참고 : NI-IMAQ와 IMAQdx는 2014 버전을 포함한 그 이전 버전에서만 지원이 됩니다.


그럼 이만 줄이겠습니다.


이 글이 도움이 되셨으면 아래의 하트를 눌러주세요.



댓글