티스토리 뷰

LabVIEW Signal Express는 한정적인 함수를 지원하기 때문에 추가적인 알고리즘을 개발해야 하는 경우 LabVIEW와 연동하여 사용해야 합니다.


아래의 그림과 같이 Signal Express는 LabVIEW의 VI를 실행할 수 있습니다.

하지만 VI의 LabVIEW의 각 버전에 따라서 실행을 해야 하는 기능이 다릅니다. 2012버전에서 만든 vi를 다른 버전에서 실행하게 되면 아예 실행이 되지 않습니다. 따라서 반드시 LabVIEW에서 개발된 버전에 맞춰서 설정을 해야 합니다. 그리고 64비트 LabVIEW에서 만든 vi는 실행을 할 수 없으니 참고하시기 바랍니다. 



LabVIEW와 연동하여 사용하기 위해서는 입력받을 데이터가 있어야 합니다. 데이터를 만들기 위해서 DAQ Assistant를 이용하여 데이터를 받아옵니다. 



현재 구현해야 하는 요구사항이 수집에 대한 결과를 FFT하고 FFT의 모든 주파수에 대한 Y의 값을 더하여 평균을 구하는 VI를 구현하는 것입니다. 따라서 FFT를 위한 Power Spectrum 함수를 추가합니다. 



Signal Express와 LabVIEW를 연동하기 위해서는 가장 중요한 것이 Signal Express에서 출력되는 데이터 타입을 LabVIEW로 입력을 정확히 시켜줘야 하는 것입니다. 정확히 전달이 되지 않으면 LabVIEW에서 처리되지 않고 Signal Express가 뻗어 버립니다. 


Signal Express에서 출력되는 값은 웨이브폼 그래프로 출력이 됩니다. 따라서 아래의 코드와 같이 웨이브폼 그래프로 설정을 하고 Connector Pane에 컨트롤과 인디게이터를 설정합니다. 컨트롤과 인디케이터를 설정하지 않으면 Signal Express에서 입력 및 출력값을 지정할 수 없으므로 이에 대한 설정은 반드시 필요합니다.  




LabVIEW와 Signal Express를 연동하기 위해서 지원되는 데이터 타입은 아래와 같습니다.  



또한 LabVIEW의 실행 프로퍼티에서 아래와 같이 설정해야 합니다. 재호출이 아닌 실행으로 설정만 하면 문제가 없습니다. 재호출이 아닌 실행으로 되어 있으면 Signal Express에서 에러를 반환합니다. 



위와 같이 구현을 한 뒤, Signal Express에서 LabVIEW 코드를 설정합니다. 


 

설정을 한 뒤 Signal Express를 실행하면 아래와 같이 Configure VI 탭에서 데이터가 올라오는 것을 확인 할 수 있습니다.



LabVIEW를 통해서 넘어온 값을 이용하여 Signal Express의 Data View에서 사용이 가능합니다. 아래의 그림은 FFT에 대한 결과에 대한 Y의 모든 값의 평균을 LabVIEW에서 계산하여 Signal Express로 전달하였고 이를 Signal Express의 Data View에서 보고 있습니다. 



참고사항 : LabVIEW의 코드에서 LabVIEW의 기본함수가 아닌 다른 Library(Express 함수 및 분석함수 등)를 이용한다면 위와 같은 방식으로 사용할 수 없습니다. 


이에 대한 문제가 발생시에는 아래의 링크를 참조하시기 바랍니다.

http://zone.ni.com/reference/en-XX/help/371268J-01/expresswb/building_userdef_steps_from_vis/



댓글