티스토리 뷰

안녕하세요.


LabVIEW는 다른 언어와의 연동을 위해서 다양한 방법을 제공하고 있습니다.

랩뷰에서 만든 코드를 다른 언어에서 쓰기 위해서는 언어에 따라 방법이 달라지는데요.


C, C++의 경우 동적 라이브러리 파일을 이용해야 하며, .NET 환경의 경우에는 .Net 어셈블리를 사용해야 합니다. 

자 그럼 LabVIEW에서 C, C++, CVI에서 사용할 수 있는 DLL을 한번 생성해보도록 하겠습니다.


먼저 C언어로 예를 들어보도록 합시다.


C언어에서 함수를 쓰기 위해서는 아래와 같은 함수원형을 지니게 되는데요.

아래의 함수는 bool, double의 두개의 값을 인자로 가지고, 내부 연산 결과에 대한 double 값을 리턴하는 함수입니다. 


Double Test(bool bValue, double dValue)



이 함수를 LabVIEW로 구현하게 되면 어떻게 될까요?


DLL을 생성하기 위해서는 아래와 같이 코드를 구현을 해야합니다.




여기에서 참고해야 할 사항은 DLL을 생성하기 위해서는 함수 인자와 반환값으로 들어가는 Front Panel에서의 컨트롤과 인디게이터는 커넥터팬에 설정이 되어야 합니다. 



위와 같이 코드를 개발하고 프로젝트에서 빌드를 진행합니다.


C언에서 사용하기 위해서는 공유 라이브러리를, .NET 환경이라고 한다면 .NET Interop 어셈블리를 지정하시면 됩니다.




공유 라이브러리를 선택한 경우 아래와 같이 프로퍼티 창이 뜨게되는데요.

소스 파일로 가서 자신이 DLL 내부에 넣은 함수와 관련된 VI을 오른쪽으로 옮기면 됩니다.


VI를 옮길 때 마다 VI 원형 정의가 뜨게 됩니다.

VI 원형정의는 위에서 언급한 함수원형을 어떻게 구성할 건지를 결정하는 부분입니다. 


Double Test2(bool bValue, double dValue) 와 같이 생성을 하고 싶다면 아래의 VI 원형 정의를 참고하시면 됩니다.



여기서 주의해야 할 점은 파라미터 중 반환값을 제외하고는 영문으로 작성을 하시는게 좋습니다.


좀 더 명확하게 가자면 C언어의 Code Convention을 확인하시고 변수 명명법에 맞춰 설정을 하시면 됩니다. 

이 내용은 인터넷에 많으니 찾아보세요.



 


설정이 끝났으면 빌드하셔서 DLL을 생성하면 됩니다. 

이번 글은 LabVIEW에서 C, C++, CVI용 DLL 생성하는 방법에 대해서 알아보았습니다.


그럼 이만 줄이겠습니다.


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


댓글