문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 LabVIEW (문단 편집) === 언어로서 === 앞서 말했듯 그래픽 기반 프로그래밍 툴로 그냥 마우스로 이것저것 삽입해서 연결하기만 해도 알고리즘을 짤 수 있다. 프로그래밍을 처음 해보는 사람이라도 몇 분만 다뤄보면 간단한 프로그램을 만들 수 있을 정도.[* 예를 들어, 배열을 오름차순으로 정리하고 최댓값을 추출할 때, 다중 for으로 코드 몇 줄을 짜야 되지만, LabVIEW는 그냥 '배열 정리'랑 '배열 최대, 최소' 아이콘 단 두 개만 끌어서 연결하기만 하면 된다. 게다가 부족한 기능은 따로 다운 받아서 더 추가할 수 있다. 물론 LabVIEW 내에서도 C언어를 쓸 수 있지만, 굳이 C언어를 쓸 필요 없을 만큼 간단한 프로그래밍이 특징이다.] 텍스트 기반의 프로그래밍 언어처럼 작동시키기 위한 순서에서 자유롭다[* 예를 들어 일반적으로 While 루프를 여러 개 써서 동시에 돌리는 것은 불가능하지만, LabVIEW에서는 여러 프로그램을 동시에 돌리고 싶으면 그냥 While 루프 여러 개 만들면 된다. 한 프로그램에 독립적인 루프를 10개를 넘게 만들어도 알아서 개별적으로 돌아간다. 다만, 이건 동시에 단점이기도 한데, 뭐가 먼저 돌아갈지 알 수 없다는 것. 때문에 필요에 따라서는 플랫 시퀀스라고 하는 순서 결정 구조 함수를 추가해주는 것이 좋다.]는 장점도 있다. 대학에서 LabVIEW를 가르치는 교수가 자신이 가르치지 않아도 그냥 책이나 도움말 보고 며칠 간 따라서 만들어보면 마스터할 수 있다고 할 정도니 말 다했다(...) ~~물론 저 말에 갸우뚱하며 LabVIEW를 어려워하는 학생들도 매우 많다~~ 또한 LabVIEW는 외부 기계장치 제어에 최적화 되어있어서 수많은 기계를 다루는 공장이나 기차 운행을 제어하는 철도역 등 기계 제어와 관련된 현장에서 손쉽고 유용하게 사용할 수 있다. 또한, 각종 실험장비들을 효율적으로 제어해야 하는 실험실에서 사용하는 경우가 많다. National Instruments는 주로 데이터 수집용 하드웨어를 파는 회사인데, 당연하게도 완전 호환되는 라이브러리가 지원되기 때문에 각종 데이터들을 수집한 후 PC에 손쉽게 기록/분석할 수 있다. 프로그램이 작동할 때, 어디에서 어떤 데이터가 어떻게 처리되는지 차례차례 확인할 수 있는 기능이 있다. 블록 다이어그램 탭에 있는 "Highlight Execution"(전구 모양) 버튼을 누르면 확인할 수 있다. [[디버깅]] 시 편리한 부분. 프로그램을 그래픽 형식으로 짜다 보니 당연히 직접 키보드로 입력하는 것보다 프로그램을 섬세하게 짜는 게 어렵다는 단점이 있다. 설령 섬세하게 짠다고 해도 수많은 구조나 함수들을 그래픽으로 입력해야 하기 때문에 편집하기가 더 어려워진다. 이보다 더 큰 문제는 쉽다고 막 짜다 보면 구조적으로 프로그래머가 예측하기 어려운 문제들이 많이 터진다는 점이다. 즉, LabVIEW로 간단한 프로그램을 짜는 건 쉽지만, 약간이라도 깊이 있는 프로그램을 짜려면 어떤 상황에서 이런 구조나 기능이 내부적으로 어떻게 동작하는지를 경험적으로 알고 있어야 한다.[* 이를 위해 LabVIEW에서는 디자인 패턴이라는 개념이 존재한다. 쉽게 말해 코드를 그리는 방법인데, 가장 기본적인 디자인 패턴은 상태머신 디자인 패턴이다. 조금이라도 어려운 프로그램을 짠다면 이 상태머신 구조를 이용하여 프로그램을 짜는 것이 좋다. 애초에 LabVIEW 국제 자격증 테스트에서도 이 상태머신 구조를 사용 안 하면 점수가 확 깎인다. LabVIEW 개발에 있어서 필수적으로 알아야하는 LabVIEW 코딩 기법이지만, 보통 학생들은 이러한 디자인 패턴에 대해서 까지 배우질 못하기 때문에 앞서 말한 섬세하지 못한 프로그램을 제작하는 것에 그치고 만다. 여러모로 아쉬운 상황.] 사용이 쉽다는 특징을 가진 프로그램 언어답게 생산성은 뛰어나지만 그만큼 '''무겁다'''. 때문에 코어 프로그램으로서는 사용을 그다지 권장[* 이는 파이썬과 C++의 관계와 동일하다. 파이썬은 무거워서 코어 프로그램으로서 어울리지않지만 뛰어난 생산성을 가진다. 반면 C++ 어려워서 영 쓰기가 어렵지만 대신 코어 프로그램 구축에 적합하다.]하지 않는다. 단, PC가 아닌 DAQ, RIO 등의 NI 하드웨어의 FPGA와 RT를 이용한 경우에는 코어프로그램으로서도 충분히 활용 가능하다. NI 하드웨어는 애초에 LabVIEW 사용을 전제로 만들어져 있는데다가 연산자체도 NI 하드웨어에서 진행하기 때문. 정말 간단한 UI를 구현하기는 쉽지만 조금만 복잡하게 들어가려면 정말 어렵고 까다롭다. 그래픽 기반의 언어이다 보니, 일반적인 텍스트 기반의 언어 같은 프로그램을 객체지향 및 함수 지향적으로 짜기가 쉽지 않아 모듈화가 쉽지 않다. 물론 모듈화가 불가능하다는 뜻은 아니지만 vi를 일일이 만들어줘야 한다.[* 참고로 하나의 VI로 각각 다른 용도로 사용하고 싶다면 VI 프로퍼티에서 실행 설정을 '복제 재호출 실행'으로 바꿔줘야 한다.] SubVI, FGV, 다형성 VI등 LabVIEW 나름대로의 함수 제작 기법이 있으므로 너무 기존의 텍스트 기반의 언어에 얶매이지 않는 것이 좋다. 또한 UI는 손쉬운 측정 모니터링 프로그램을 만든다는 느낌에 가깝기에 역시 마우스 몇 번 까딱거리는 걸로 쓸만한 걸 간단하게 만들 수 있다 정도지 정말 각 잡고 세련된 UI를 만든다고 하면 기능이 제한적이기에 [[마이크로소프트]]사의 [[Visual Studio]] 같은 전문 IDE 툴이나 UX/UI툴을 함께 쓰는 것이 좋다. 애초에 LabVIEW의 목적을 생각하면 굳이 UI에 공을 들일 없긴 하지만. 다른 언어에 비해서 데이터 베이스가 적은 것도 단점이다. 유료 언어답게 자체적으로 지원하는 예제들이 빵빵하긴 하지만 예제 외의에서 코드를 검색하고자 한다면 깃허브는 커녕 구글링에 들어가도 내가 원하는 코드를 못 찾을 확률이 매우 높다. 엄연한 프로그램 언어답게 많은 것들을 할 수 있는 것은 맞으나 사실상 NI와 연결하여 사용해야만 제대로 쓸 수가 있다. 그나마 LabVIEW 자체적으로 예제를 많이 지원해주기는 하지만, 그것만으로는 충분하지 않다. 많이 사용하지 않는 프로그램 언어이기 때문에 커뮤니티도 제한적이며, 깃허브를 뒤지는 것 같이 남이 짠 코드를 분석하여 자신이 사용해보는 것 같은 보편적인 프로그래밍 실력 키우기 방법으로는 Labview의 숙련도를 키울 수가 없다. 비전, DAQ, 통신, 엑츄에이터 같이 본격적으로 활용적인 실력을 키우기 위해서는 직접 책을 읽거나 공식 강의를 수강하는 방법 밖에는 없다. 지원비를 받거나 어쩌다가 NI 파트너쉽 회사에 취직한 것이 아니라면 랩뷰교육원과 같이 비싸고 질 좋은 오프라인 강의는 꿈도 꾸지 못한다. 어쨌든 책을 읽고 강의를 수강하는 방법은 정석적이지만 부족한 커뮤니티의 한계가 명확하기 때문에 숙련된 LabVIEW 개발자는 되기 어려울 뿐더러, 찾는 것 또한 상당히 어렵다. 계측분야에서 상당히 강력해서 중요한 부분에서 현역인 것은 맞지만, 반대로 계측분야가 아니면 건들일 일도 없기에 수요가 부족한 것도 또한 단점.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기