랩뷰(LabVIEW) 2013 혹은 2014 는 쉽게 랩뷰(LabVIEW) 웹서비스를 생성 및 디버기와 출판하기 위한 방법을 제공을 목표로 하고 있습니다. 따라서 랩뷰(LabVIEW) 2013 버전 부터는 이전 버전에서 사용하던 웹 서비스 설정 방식을 사용하지 않고 새로운 방식을 채용하여 사용하고 있습니다. 이 글에서는 간략히 웹 서비스를 생성하고, 이를 이용하는 방법에 대해서 알아보도록 하겠습니다. 이전 버전과의 웹서비스와 관련된 차이는 아래와 같습니다.
랩뷰를 이용한 고속 푸리에 변환에 대해서(FFT, Fast Fourier Transform) 고속 푸리에 변환은 이산 푸리에 변환(Discrete Fourier Transform)을 계산할 때 연산에 대한 횟수를 줄이기 위해서 고안된 알고리즘으로, 이 알고리즘은 반복되는 계산되는 과정을 제거함으로써 빠른 연산이 가능합니다. 이 알고리즘은 1960년대 콜리와 튜키에 의해 일반적으로 알려지게 되었는데, 1940년 전쯤부터 몇몇 사람들에 의해 독립적으로 사용되어져 왔습니다. 이 알고리즘은 분할 정복 알고리즘을 사용하여 재귀적으로 n크기의 DFT(Discrete Fourier Transform)을 n = n1 n2가 성립하는 n1, n2 크기의 두 DFT로 나눈 뒤 그 결과를 O(n) 시간에 합치는 방법을 사용..
[LabVIEW] 랩뷰와 PLC와 연동하기 (OPC Server, DSC 모듈) NI LabVIEW 소프트웨어는 다양한 방식으로 다른 프로그래밍 로직 컨트롤러 (PLC)와 통신할 수 있습니다. OPC (OLE for Process Control)은 컨트롤 디바이스와 휴먼 머신 인터페이스 (HMI)간 리얼타임 플랜트 데이터 통신을 위한 표준을 정의합니다. OPC Server는 거의 모든 PLC와 프로그래밍 가능한 자동화 컨트롤러 (PAC)에서 사용이 가능합니다. 이 글에서는 OPC를 사용하여 PLC와 연동하는 방법에 대해서 알아보도록 하겠습니다. PLC와 통신을 위해서는 NI 소프트웨어 입장에서 아래의 소프트웨어들이 필요합니다. NI LabVIEWNI DSC Module(Data Logging and Su..
[LabVIEW] 랩뷰 VI에 대한 메모리 사용에 대한 글 LabVIEW로 프로그래밍을 할 때 데이터를 많이 쓰고 받거나, 큰 파일을 처리할 때 메모리에 대한 문제가 많이 발생을 합니다. 이럴때는 메모리에 대한 최적화가 필요합니다. 이 글에서는 메모리 최적화에 가장 기본이 되는 VI에서 메모리를 어떻게 사용하는지에 대해서 알아보도록 하겠습니다. MemoryTest.vi라는 이름을 가진 For문으로 랜덤 데이터를 생성하여 Waveform Graph에 저장하는 코드를 만들었습니다. For문으로 100000회를 돌리고 이에 대한 결과를 WafveForm Graph라는 이름을 가진 그래프에 데이터를 넣습니다. UI는 아래와 같습니다. Waveform Graph 하나만 Front Panel에 있습니다. 이 vi ..
[LabVIEW] In Place Element Structure에 대해서 - 랩뷰 메모리 관리 방안 LabVIEW는 Text-Based 언어와는 달리 메모리를 Compiler에서 알아서 처리를 해줍니다. 이는 개발자에게는 효율적인 측면을 부여하지만, 리소스 관리 입장에서는 좋지 않은 퍼포먼스를 보여줄 수 있습니다. 데이터 흐름 프로그래밍은 일반적으로 변수를 사용하지 않고 입력데이터를 소비하고 데이터를 출력을 생성하여 제공합니다. 이를 그대로 이용하면 많은 양의 메모리를 사용하고, 성능이 느린 어플리케이션이 됩니다. 모든 함수는 출력이 전달되는 모든 대상에 데이터의 복사본을 생성합니다. 랩뷰는 이를 Inplaceness를 통해서 개선시킬 수 있습니다. 특히 LabVIEW는 특정 데이터(특히 배열) 를 처..