4K 해상도 모니터에서 랩뷰 2020 커뮤니티 에디션의 실행 화면입니다. (LG 27UL550 모델, 150%배율 사용) 시작 화면은 큰 문제가 없습니다. 사실 여기서부터 메뉴 글씨들이 약간 blur되어 있는 느낌입니다. 시작화면과 마찬가지로 메뉴 등의 글씨가 약간 뭉개져 있는 것 외에는 크게 문제될 만한 것은 없습니다. 고해상도에서 발생하는 아이콘이나 글씨가 엄청나게 작아지는 문제가 있지는 않은 것 같습니다. 프론트패널 및 블록 다이어그램에 코드를 추가해 보아도 괜찮아 보입니다. 하지만 NI MAX에서는 확실히 문제가 있어 보입니다. 왼쪽 디바이스 트리는 아주 작게 표시되고, 오른쪽 정보란은 글씨가 크게 표시되는 것을 볼 수 있습니다. 그래도 글씨가 작아서 UI가 깨져서 못쓰게 되는 정도는 아닙니다. ..
안녕하세요. 지지비입니다. 회사에서 자동화할 때 자주 사용하게 되는 바코드 리더기를 활용하는 방법에 대해서 알아보도록 하겠습니다. 1. 바코드 리더기 종료 문자 먼저 바코드 리더기에 대해서 알아보도록 하겠습니다. 대부분의 바코드 리더기는 종료 문자를 설정할 수 있도록 되어 있습니다. 예를 들어 '0353147' 라는 숫자형 문자열 바코드를 바코드 리더기로 찍었을 때, 맨 마지막에 엔터를 추가한다던가, 탭을 추가한다든가 하는 것입니다. '0353147(엔터)' 가 최종적으로 입력되는 것이지요. 엑셀에서 여러 개의 바코드를 연속으로 찍을 때에도 맨 마지막에 엔터가 들어가면 바로 밑의 셀에 연속해서 입력할 수 있으므로 유용한 기능입니다. 바코드 리더기의 종료 문자는 사용하고 있는 바코드 리더기의 메뉴얼을 보면..
이전 XY 그래프 만들기 글에서 아래와 같이 시프트 레지스터를 이용하여 데이터를 메모리에 저장하여 그래프를 그리는 방법을 소개했습니다. 이렇게 루프를 사용하여 측정을 하면서 XY 그래프를 그려야 하는 상황이 올 경우 for 루프나 while 루프 안에서 시프트 레지스터와 배열 인덱스, 클러스터 묶기 등으로 자리를 차지하는 경우 이것을 간단하게 상태 머신 SubVI를 통해서 간소화할 수 있습니다. 이렇게 상태머신을 활용한 SubVI를 제작하여 데이터를 메모리에 저장하고 그래프로 출력할 수 있습니다. 제가 사용한 SubVI의 내부 코드를 보면 아래와 같습니다. Write State Read State Init State
안녕하세요. 지지비입니다. 이번 포스팅에서는 그래프를 그릴 때 현재 시간을 X축에 나타내고, 엑셀 시간 포맷으로 저장하여 엑셀에서 저장한 데이터를 불러왔을 때 바로 시간 형식으로 변경되는 것을 해 보겠습니다. 1. 현재 시간 얻기 현재 시간은 날짜/시간을 초로 얻기(Get Date/Time in Seconds)함수를 사용하여 윈도우 상의 시간을 타임스탬프 데이터형으로 얻을 수 있습니다. 타임스탬프 데이터형은 말 그대로 시간형 데이터 구조이고, XY 그래프의 X축으로도 사용할 수 있습니다. 2. 현재 시간을 x축의 그래프로 표현하기 이전에 루프와 함께 XY 그래프를 그리는 방법 [LabVIEW 랩뷰/Labview 랩뷰 강의] - 루프와 함께 XY 그래프 그리기에서 사용했던 방법처럼은 할 수 없습니다. 왜냐..
안녕하세요. 지지비입니다. 이번 포스팅에서는 XY 그래프를 확대 및 축소하는 방법, x축이나 y축의 오토 스케일과 커서에 대해서 알아보도록 하겠습니다. 1. XY 그래프를 확대/축소하는 방법 XY그래프를 확대나 축소하기 위해서는 먼저 XY그래프의 그래프 팔레트를 보이도록 설정해야 합니다. XY그래프를 오른쪽 클릭하여 Visible Items - Graph Palette 를 클릭합니다. 여기서 돋보기 버튼을 누르면 6가지 버튼이 나옵니다. 이 버튼을 통해서 확대/축소가 가능합니다. ① 드래그한 부분을 확대합니다. ② 드래그한 부분을 x축만 확대합니다. ③ 드래그한 부분을 y축만 확대합니다. ④ 전체 화면으로 돌아갑니다. (xy 오토스케일) ⑤ 클릭하고 있으면 확대됩니다. ⑥ 클릭하고 있으면 축소됩니다. 2..
안녕하세요. 지지비입니다. 이번 포스팅에서는 루프와 함께 XY 그래프를 그리는 방법에 대해서 알아보도록 하겠습니다. 루프와 함께 XY 그래프를 그리는 것은 반복적으로 측정을 하고 데이터를 얻어 XY 그래프로 볼 수 있도록 하기 위함입니다. 여기서 두 가지 방법이 있는데, 측정이 모두 끝나고 나서 XY그래프를 그리는 방법이 있고 측정하면서 XY그래프를 그리는 방법이 있습니다. 먼저 측정이 모두 끝나고 나서 XY그래프를 그리는 방법에 대해서 알아보도록 하겠습니다. 1. 측정 완료 후 XY 그래프 플롯 간단하게 만들 수 있는 방법이지만 제가 선호하지 않는 방식이기도 합니다. 왜냐하면 측정을 하면서 바로바로 디스플레이가 되지 않으면 제대로 측정이 되는지 되지 않는지 확인할 수 없기 때문입니다. 특히 자동화를 고..
안녕하세요. 지지비입니다. 이번 포스팅에서는 랩뷰를 이용한 GPIB 통신을 하는 방법에 대해서 알아보도록 하겠습니다. 학부생 때, 대학원 때 랩뷰를 잘 쓸 수 있었으면 눌러 놓고 딴짓을 해도 됐을 텐데 라는 생각을 종종 합니다. 사실 랩뷰도 상관없고 파이썬도 상관없지만 계측기를 자동화해서 다룰 수 있었다면 참 좋았을 것입니다(더 게을러질 수 있었을 테니까). 지금이야 능숙하게 관련 드라이버도 잘 알고 사용하고 있지만 그때에는 잘 몰랐고 알려주는 데도 별로 없었습니다. 랩뷰 강의를 들어 봐야 DAQ 가지고 전압 재는 것이나 하고 있으니.. 저한테 필요한 건 오실로스코프에서 전압 가져오는 것, 스펙트럼 분석기에서 파장 읽어오는 것이면 됐는데 말입니다. 여기서는 내셔널 인스트루먼트(NI)에서 나온 GPIB t..
안녕하세요. 지지비입니다. 이번 포스팅에서는 여러 열 리스트박스를 이용하여 양불 판정을 색깔로 나타내는 방법에 대해서 알아보도록 하겠습니다. 결론적으로, 아래와 같은 프로그램을 만들게 됩니다. 목차 1. 프로그램 설명 먼저, 프로그램은 기준값(최대,최소)을 가지고 측정 결과를 Pass 또는 Fail로 판단하도록 하였습니다. 그 결과는 여러 열 리스트박스에 들어가도록 하였고, 양불 판정의 결과를 색깔과 문자열로 나타내도록 했습니다. 여기서 여러 열 리스트박스를 사용하는 이유는 특정한 셀의 속성(색깔)을 변경하기 위해서입니다. 배열은 원소가 모두 같은 속성을 갖게 되기 때문에, 특정 원소만 배경색을 변경할 수 없습니다. 측정 결과는 아래와 같이 여러 열 리스트박스로 들어가게 되며, 여러 열 리스트박스에 들어..
안녕하세요. 지지비입니다. 이번 시간에는 프로퍼티 노드에 대해서 알아보도록 하겠습니다. 프로퍼티 노드를 통해 컨트롤이나 인디케이터의 속성을 변경할 수 있습니다. 여기서 속성이란 컨트롤의 값, 배경색, 글자색, 글자의 굵기 등을 말합니다. 랩뷰를 사용하다 보면 반드시 사용해야 할 일이 생기게 되므로 잘 알아두시는 게 좋습니다. 1. '프로그래밍적으로' 변경한다 프로퍼티 노드를 사용하기 위해 검색하면 '프로그래밍적으로' 변경한다는 이야기가 있습니다. '프로그래밍적으로'라는 말은 무엇일까요? 말 그대로 '프로그램이 변경한다' 라는 이야기입니다. 아래 예제에서는 확인 버튼을 누르면 입력이 5보다 큰 지 확인하여 참/거짓 불리언에 출력하도록 만든 프로그램입니다. 이 프로그램에서 참/거짓 불리언은 입력에 따라 녹색..
안녕하세요. 지지비입니다. 이번 포스팅에서는 랩뷰의 기다림(ms) 함수(Wait (ms))와 다음 ms배수까지 기다림 함수(Wait Until Next ms Multiple)에 대해서 알아보고 비교하는 방법을 알아보겠습니다. 포스팅 밑에는 제가 기다림 함수를 사용하는 팁에 대해서 나와 있으니 끝까지 봐 주세요! 1. 함수의 위치 기다림(ms)함수와 다음 ms배수까지 기다림 함수는 블록 다이어그램의 함수 팔레트 - Timing 에 위치하고 있습니다. 또는 블록 다이어그램 퀵드롭(Ctrl+Spacebar)메뉴에서 Wait 이라고 치면 두 함수를 선택해서 넣을 수 있습니다. 2. 기다림 vs 다음 ms배수까지 기다림 - 기다림 함수 기다림 함수는 이 함수가 실행하는 순간 입력한 ms(밀리세컨드)까지 아무것도 ..
안녕하세요. 지지비입니다. 이번 포스팅에서는 생산자/소비자 디자인 패턴의 구조를 사용하는 방법에 대해서 알아보도록 하겠습니다. 생산자 소비자 패턴은 말이 어렵지 실제로 보면 어렵지 않은 구조입니다. 글을 읽어 보시면 이해되실거라 생각합니다. 1. 생산자/소비자 디자인 패턴 만들기 생산자/소비자 디자인 패턴은 랩뷰에서 이미 제공하고 있는 탬플릿을 사용하여 쉽게 만들 수 있습니다. 먼저 File-New...를 클릭하여 아래와 같이 생산자/소비자 디자인 패턴(이벤트)을 찾아 클릭하여 탬플릿을 엽니다. 2. 생산자/소비자 디자인 패턴 이해하기 먼저 생산자와 소비자가 무엇을 의미하는지 알아보겠습니다. 생산자 : 작업를 생성하는 주체 소비자 : 작업을 수행하는 주체 생산자 구조는 사용자가 입력하는 특정 이벤트를 감..
안녕하세요. 지지비입니다. 이번 포스팅에는 랩뷰의 프로젝트를 사용하는 법에 대해서 알아보도록 하겠습니다. 1. 프로젝트란 무엇인가? 프로그램을 만들다 보면 프로그램에 사용하는 subVI, 설정 파일, 텍스트 파일, 기타 여러가지 파일들을 윈도우 폴더 안에 넣어 관리할 수 있습니다. 프로젝트는 프로그램에서 사용하는 파일, 문서나 subVI를 연결해 주는 역할을 합니다. 프로젝트로 관리하면 subVI를 추가할 때 프로젝트 내에서 관리하고 있으면 바로바로 추가하기도 쉽고, 오류가 있는 파일도 찾기 쉽습니다. 2. 프로젝트 만들기 기존에 만들어 둔 프로그램이 아래와 같다고 생각하겠습니다. 메인 프로그램인 Main.vi와 SubVI폴더에 사용하고 있는 SubVI를 저장해 둔 상태입니다. 랩뷰 메뉴에서 File -..