안녕하세요. 구스입니다. 이 글에서는 VeriStand에 대한 엔진에 대해서 알아보도록 할텐데요. VeriStand는 HILs를 처리할 수 있게 도와주는 NI의 소프트웨어라고 보시면 됩니다. 그럼 VeriStand 엔진에 대해서 알아보도록 합시다. VeriStand 엔진은 타겟과 호스트 컴퓨터 사이의 전체 시스템 통신 및 타이밍 제어를 위해서 눈에 보이지 않은 실행 매커니즘을 보유하고 있습니다. VeriStand 엔진은 여러 개의 타임드루프로 구성이 되어 있으며, 이 루프 간의 데이터 전달을 위해서 RT(Real-Time)의 FIFO를 사용하고 있습니다. 각 루프는 특정 기능을 수행하는 태스크로 구성이 되어 있으며, 루프 타이밍 설정과 같이 사용자가 기존에 정의된 루프의 설정 값을 변경하여 사용할 수도 ..
안녕하세요. 구스입니다. 오늘도 역시나 깨알같은 랩뷰 강좌를 가지고 왔습니다. 이 글에서 알아볼 내용은 랩뷰에서 만든 실행파일(EXE 파일)을 실행했을 때 프로그래밍된 부분이 바로 실행이 되지 않게하기 위해서는 어떻게 설정을 해야 하는지 알아보도록 하겠습니다. 이 글을 따라하기 위해서는 이미 특정 vi를 이용하여 빌드 어플리케이션에 대한 설정이 빌드스펙에 존재해야 합니다. 랩뷰를 이용하여 EXE 파일을 만드는 방법은 아래의 랩뷰 강좌를 통해서 확인하세요. 2015/01/06 - [National Instruments/LabVIEW] - [LabVIEW] 랩뷰 어플리케이션 빌더 (EXE 만들기) 그럼 EXE 파일 설정을 위한 랩뷰 강좌를 시작하도록 합시다. 빌드 스펙을 만들때나, 빌드스펙 만든 후에 설정을..
안녕하세요. 구스입니다. 이번 글에서는 랩뷰의 테이블(Table) 사용 방법 중 프로그래밍 적으로 값을 변경하는 랩뷰 강의를 하도록 하겠습니다. 랩뷰에서 특정 컨트롤 혹은 인디케이터에 대한 값을 프로그래밍적으로 변경하기 위해서는 프로퍼티 노드나 인보크 노드를 이용해야 합니다. 이번 랩뷰 강의의 목표는 프로퍼티 노드와 인보크 노드에 대해 이해를 하고, 각 노드의 사용법을 아는 것입니다. 프로퍼티 노드는 아래의 그림과 같이 랩뷰의 컨트롤, 인디케이터의 프로퍼티 속성 값을 프로그램 상에서 변경하게 도와주는 역할을 합니다. 인보크 노드는 컨트롤 혹은 인디케이터가 가지는 함수들을 처리할 수 있게 도와주는 역할을 합니다. 아래의 그림은 랩뷰 테이블의 프로퍼티 창을 보여줍니다. 자 그럼 프로그래밍적으로 랩뷰 테이블의..
안녕하세요. 구스입니다. 오랜만에 랩뷰관련 자료를 가지고 왔네요. 오늘은 랩뷰의 가장 기초적인 내용을 알아 볼텐데요. 공유변수를 활용하는 랩뷰 예제를 한번 만들어 보도록 하겠습니다. 공유변수가 무엇인지는 아래의 글에서 확인할 수 있습니다. 2015/01/13 - [National Instruments/LabVIEW] - [LabVIEW] 랩뷰에서 사용 가능한 변수 공유변수를 사용하기 위해서는 라이브러리 기반으로 이루어 져야하기 때문에 LabVIEW를 프로젝트 기반으로 만들어야 합니다. 아래와 같이 프로젝트(lvproj)를 생성하고, 내 컴퓨터에서 오른쪽 마우스를 눌러 라이브러리 하나를 추가한뒤 svLibrary.lvlib와 같이 라이브러리를 저장합니다. 라이브러리에서 오른쪽 마우스 버튼을 눌러 변수를 지..
안녕하세요. 구스입니다. 오늘은 RIO 제품군에서 사용할 수 있는 NI SoftMotion에 대한 간략한 설명을 적을까 합니다. NI SoftMotion은 LabVIEW 프로젝트 상에서 모션 어플리케이션 개발 및 솔리드웍스(SolidWorks)에서 만든 시뮬레이션 조정을 할 수 있게 도와주는 LabVIEW 모듈입니다. LabVIEW 프로젝트에서 모션 제어를 손쉽게 도와주는 툴이라고 보시면 됩니다. 오늘 알아볼 내용은 바로 NI SoftMotion function에서 Stop Mode에 대한 부분입니다.모션을 제어하면서 갑자기 멈춰야 하는 경우가 있을때 Emergency Stop을 사용하거나 소프트웨어적으로 Stop 함수를 전달할 수가 있는데요. Stop 함수를 전달할 때 어떤식으로 처리가 되는지를 나타내..