LabVIEW 클래스는 객체와 관련된 데이터 뿐만 아니라 데이터를 실행할 수 있는 메소드를 정의합니다. 다른 객체지향 프로그래밍 언어와 동일하게 캡슐화와 상속을 통해서 코드에 대한 모듈화도 가능합니다. 하지만 LabVIEW OOP와 타 OOP언어와의 차이도 있습니다. 바로 데이터를 처리하는 프로퍼티의 공개 범위인데요. 프로퍼티의 경우 Private의 타입으로만 사용을 할 수 있습니다. 따라서 컨트롤에 포함이 되는 프로퍼티의 값을 설정 및 가져오기 위해서는 Set/Get 함수를 VI를 통해서 개발해야 합니다. LabVIEW 클래스의 확장자는 .lvclass 입니다. LabVIEW 클래스를 만들기 이전에 캡슐화에 대해서 이야기를 해볼까 합니다. LabVIEW OOP의 캡슐화 LabVIEW의 클래스는 데이터와..
안녕하세요. 구스입니다. 요즘 LabVIEW 객체지향 프로그래밍(LVOOP)에 대해서 공부를 하고 있는데요. 관련 내용 지속적으로 올릴려구요. LabVIEW 객체지향 프로그래밍은 기존의 C++, JAVA와는 조금 다른 개념으로 객체 지향 프로그래밍 개념을 사용하고 있습니다. 하지만 유지보수 및 확장성이 높은 코드에 대한 OOP의 목적은 동일합니다. 이 글에서는 클래스와 객체에 대한 이해를 해보고, 다른 언어와 LabVIEW 객체지향 언어에서의 클래스와 객체에 대한 차이점을 알아보도록 하겠습니다. 그럼 먼저 클래스와 객체가 무엇인지 살펴봅시다. 클래스란? 실 세상에서의 있는 오브젝트(객체)의 설계도이라고 볼 수 있습니다. 차를 예로 든다면 차의 공통적인 특성과 기능을 설계할 수 있는데 이를 Car 클래스라..
안녕하세요. 구스입니다. 이 글에서는 높은 유연성과 유지보수성을 가진 LabVIEW 코드를 개발하는 효율적인 방법론에 대해서 이야기해볼까 합니다. 일반적인 LabVIEW 코드는 프로그래밍 방법론 중 절차지향적 프로그래밍 방법론을 사용하게 됩니다. DAQmx는 물론, Serial 통신, MI 제품군의 예제코드 모두 절차지향적으로 만들어져 있으며, LabVIEW와 G언어의 특성상 왼쪽에서 오른쪽으로 프로세스가 진행이 되도록 구현이 되어 있습니다. 이러한 방법론은 개발속도가 빠르다는 장점을 가지고 있지만, 유지보수에 대한 부분이 취약하다는 약점을 가지고 있습니다. 자 그림을 하나 봅시다. 일반적인 LabVIEW 프로그래머 혹은 텍스트언어 프로그래머들은 초록색 라인과 같은 프로세스을 이용하여 개발을 하게 됩니다..
안녕하세요. 구스입니다. 제가 LVOOP를 공부해보자 관련 자료를 모아보았는데요. 이 글은 LabVIEW OOP(LabVIEW 객체지향 프로그래밍)에 대한 자료를 모아놓은 것입니다. 웹 상에는 LVOOP에 대한 자료가 많습니다. 그 자료중에 쓸만한 자료를 모아보았습니다. 사용자는 랩뷰를 활용한 개발 실력을 향상시킬 수 있는 자료를 확인할 수 있습니다. National Instruments Instructor Led Courses 랩뷰에서의 객체지향 디자인과 프로그래밍 : OO 디자인은 코드의 결과와 코드 사이의 인터페이스를 구체화하게 만들어주기 때문에 큰 프로젝트에서의 디버깅과 유지보수가 쉽다는 이점을 가지고 있습니다. 객체지향 프로그래밍은 객체지향 디자인 원리를 이용하여 프로그래밍하는 방법을 이야기합니..