안녕하세요. 구스입니다. 오늘은 랩뷰에서 만든 .NET 프레임워크 어셈블리를 Visual Studio에서 사용하기 위한 설정 방법에 대해서 알아볼까 합니다. LabVIEW의 Application Builder를 이용하면 아래와 같이 InteropAssembly 파일을 생성할 수 있습니다. 자신이 생성한 InteropAssembly 파일을 Visual Studio에서 살펴보면 LabVIEWExports 클래스와 추가적으로 자신이 사용한 VI내의 값에 맞게 클러스터등이 클래스로 변환이 됩니다. 이를 Visual Studio에서 사용하기 위해서 생성한 어셈블리 파일을 읽어오면 아래와 같이 LVBaseRefnum, ErrorCluster와 같은 클래스를 Visual Studio에서 찾지 못하는 경우가 발생을 합..
안녕하세요. 구스입니다. 오늘은 랩뷰 강의를 통해서 랩뷰에서 만든 코드를 .NET 환경에서 사용하기 위해서 .NET Framework 기반의 어셈블리(Assembly) 파일을 만드는 방법에 대해서 알아볼까 합니다. 이번 랩뷰 강의의 목적은 LabVIEW 코드의 대부분은 Assembly는 방법을 이해하는 것이죠. 어셈블리로 만들기 위해서는 프로젝트 기반으로 VI는 구성이 되어야 하며, VI에 사용된 내부 VI들을 함수로 호출하기 위해서는 모든 함수들의 SubVI로 만들어져야 합니다. 아래의 테스트 코드를 한번 봅시다. 아래와 같이 XNET 코드를 .NET 환경에서 사용할 수 있게 만들고자 하면 각 코드에 대한 부분을 모두 SubVI로 모듈화 해야합니다. 위의 코드 중에서 모듈화 할 수 있는 코드를 확인하여..
안녕하세요. 구스입니다. 다른 언어에서 랩뷰 코드를 제어하기 위해서는 어떠한 방식이 필요할까 라는 의문을 가지고 있다가 관련된 내용을 한번 찾아보았습니다. 역시나 LabVIEW의 ActiveX를 이용하여 제어하는 방법이 가장 첫번째로 떠올랐는데요. ActiveX는 COM 혹은 OLE 기반으로 만들어진 기술을 이용하여 만들어진 함수 혹은 컴포넌트를 재사용하는데 이점을 가지고 있는 기술입니다. 액티브X(ActiveX)는 마이크로소프트사가 개발한 재사용 가능한 객체지향적인 소프트웨어 구성 요소 개발에 사용되는 기술이다. 액티브X는 컴포넌트 오브젝트 모델과 객체 연결 삽입 (OLE)을 적용해 WWW으로부터 다운로드받은 컨텐츠들을 이용하는 데 이용된다. 액티브X는 전반적인 기술 혹은 기술을 구현하는데 필요한 구성..
안녕하세요. 구스입니다. 랩뷰는 VAS(Vision Assistant Software) 혹은 VDM(Vision Development Module)을 통해서 영상 수집 및 영상 처리가 가능하도록 도와줍니다. 특히 VAS는 Vision Assistant를 지원하여 사용자가 조금더 쉽게 비전 관련 프로그래밍이 가능하도록 Express 함수 기반으로 제공하고 있습니다. 이 글에서는 LabVIEW에서 수집된 영상의 일부분을 잘라내고, 잘라낸 이미지를 저장하는 방법에 대해서 알아보도록 하겠습니다. 1. 랩뷰에서 이미지 잘라내기 랩뷰에서 이미지를 잘라낼 때 사용하는 함수는 IMAQ Extract 함수입니다. 이 함수를 통해서 사용자는 카메라 혹은 파일에서 불러온 이미지의 소스 중 일부분을 잘라낼 수 있습니다. 이미..
안녕하세요. 구스입니다. 랩뷰는 다른 장비와의 통신을 사용할 때 사용하는 통신 프로토콜을 대부분 지원하고 있습니다. 대표적인 통신프로토콜에는 TCP/IP, UDP와 같이 이더넷 기반의 통신과 RS232, RS485와 같은 시리얼통신으로 구분할 수 있습니다. LabVIEW는 이러한 통신에 데이터를 송수신할 때 문자열로 보내고 받습니다. 하지만 C, C#, 파이썬등에서는 Byte 배열 기반으로 데이터를 송수신하게 되죠. 따라서 랩뷰와 다른 언어와의 통신에서는 데이터를 맞춰줘야 하는 작업이 필요합니다. 바이트 배열이라함은 아스키코드 기반으로 데이터를 전달하는 것을 의미합니다. 아래의 아스키코드의 Dec의 값이 실질적으로 바이트 배열의 값입니다. 랩뷰에서 1이라는 문자열을 보내면 다른 언어에서는 Char 값이 ..