예제 파일 LabVIEW 2018 or 이후 버전 개요 강도 그래프(Intensity Graph) 데이터 Smoothing 처리해주는 예제 실행 순서 Bilinear Interplation.vi 실행 블록다이어그램 2D 배열 크기 4*4 확인 램프 함수에 샘플 입력 설정 40(x10 Bilinear) 확인 결과 그래프 비교 ※ 이 글이 도움이 되었다면 "🤍공감" 버튼을 클릭해주세요. 클릭 한번이 글 쓰는데 큰 힘이 됩니다.
Why does this code cause a broken Run button? 1. The False case has an unwired output terminal. 2. The VI is not broken. 3. The Case structure lacks a default case. 4. The Replace Array Subset function has an unwired input terminal. 정답 보기는 아래 더보기 클릭 더보기 정답 : 1. The False case has an unwired output terminal. 문제에서 보여주는 이미지처럼 코드가 작성되어있을 때 VI가 깨진 상태가 되는 이유를 물어보는 문제이다. "참" 케이스 안에 있는 [Delete From Arra..
In the following code, the Init Values VI sets the value of the Additional Action global variable to TRUE. But when you run this VI, the Additional Action VI does not execute. Why? 1. The Case structure has been constant folded. 2. The Init Values VI is reentrant and addressing a different instance of the global variable. 3. The global VI is broken. 4. There is no data dependency between when th..
Which VI is used to ignore a specific error? 1. Simple Error Handler 2. Error Cluster From Error Code 3. General Error Handler 4. Clear Errors 정답 보기는 아래 더보기 클릭 더보기 정답 : 4. Clear Errors 특정 에러를 무시할 때 사용하는 VI를 물어보는 문제이다. LabVIEW에서 Error Handling 경험이 있다면 크게 어렵지 않은 문제로 보기를 하나씩 살펴보면 다음과 같다. 1. Simple Error Handler (단순 에러 핸들러) : 에러가 발생했는지의 여부를 나타낸다. 에러가 발생한 경우, 이 VI는 에러의 설명을 반환하고 선택적으로 대화 상자를 디스플레이한다. ..
If SubVI Process.vi generates an error, your VI should clear the error and retry the SubVI two more times to give it a chance to succeed. Which of the following VIs best meets these requirements? 1. 2. 3. 4. 정답 보기는 아래 더보기 클릭 더보기 정답 : 3. (문제 이미지 참조) Process.vi 이름의 SubVI에서 에러가 발생하였을 경우 2번 더 SubVI를 실행하여 에러없이 실행되도록 하는 코드를 찾는 문제이다. 일단 조건을 정리해보면 에러가 발생하였을 경우이므로 반대로 에러가 없다면 SubVI는 1회만 실행되어야한다. 이를 가능토록 ..
지금까지 다루었던 반복문, 분기문, 시프트 레지스터, 타이밍 함수 등을 이용하여 스톱 워치와 알람 기능을 만들어보도록 하겠습니다. 혹시라도 해당 포스팅을 처음 보시거나 랩뷰를 처음 사용하시는 분들이 계시다면 앞에서 다루었던 Tutorial 10 ~ 15까지는 한번 정독 후 본문을 읽어주시기 바랍니다. 그럼 한 Step씩 랩뷰 실습을 해보도록 하겠습니다. 기본 UI 제공 파일 UI가 만들어져 있는 파일은 아래에 첨부한 vi를 다운로드하시거나 직접 버튼 3개, 숫자형 인디케이터 1개를 생성하셔도 무방합니다. 순서도(Flow chart) 보통 코드를 작성할 때 우리는 순서도, 알고리즘 또는 로직이라고 일컫는 블록도를 한번 설계해보고나서 그걸 참고하여 코드를 작성하는데요. 이번 실습에서 만들어볼 스탑워치에 대한..
이번 시간에는 타이밍(Timing) 함수에 대해 알아보도록 하겠습니다. 이전 시간에 반복문(For, While 문) 구조와 연속적인 실행에서 데이터를 넘기기 위한(Shift Register)에 대해 알아보았는데요. 여기에서 '루프 실행을 내가 원하는 주기마다 어떻게 실행하지?'라는 궁금증이 하나 생길 겁니다. 바로 랩뷰(LabVIEW) 타이밍 함수와 관련된 내용인데요. 이전 시간에 잠깐씩 언급은 되었지만 이번 시간에 한번 자세히 살펴보도록 하겠습니다. 타이밍 팔레트 (Timing Palette) 타이밍 팔레트의 위치는 함수 팔레트 >> 프로그래밍 >> 타이밍에 위치해 있습니다. 본문에서 다룰 함수는 랩뷰에서 대표적으로 많이 쓰이는 함수인 [Tick 카운트(ms)], [기다림(ms)], [다음 ms배수까지..
오토 인덱싱(Auto Indexing) 이번 시간에는 랩뷰 오토 인덱싱(Auto Indexing)에 대해서 한번 알아보도록 하겠습니다. 오토 인덱싱(Auto Indexing)이란 "Auto + Indexing"의 의미 그대로 자동적으로 인덱스 처리를 수행해주는 기능을 말합니다. 인덱스는 배열의 구성 요소 중 하나로 'n번째'라는 위치 정보를 나타내는 용어인데요. 이 위치 정보를 자동으로 처리하기 위해 ¹반복문(For문, While문)을 이용한 ²배열 데이터를 다룬다고 보시면 되겠습니다. 오토 인덱싱은 기본적으로 활성화 되어있기 때문에 반복문(For문 or While문) 경계에 터널이 생성되면 오토인덱싱이 활성화 되어있습니다. 아래의 이미지는 오토인덱싱이 활성화되어 있는 예시 이미지입니다. 여기서 LabV..
프로그래밍에 필요한 조건문(CASE 구조), 반복문(For문, While문 등)까지 살펴보셨다면 반복 실행되는 코드에서 랩뷰는 어떻게 데이터 전달을 하는지 알아보도록 하겠습니다. Loop 사용에 대해 익숙하지 않으신 분들은 앞서 포스팅하였던 내용을 한번정도 리뷰 후 본문을 읽어주시길 바랍니다. LabVIEW 조건문 - CASE 구조 랩뷰(LabVIEW) Tutorial 10 | 조건문, CASE 구조 이번 시간에는 분기문 또는 조건문에 대해서 알아보겠습니다. 프로그래밍 언어란 결국에는 사람의 생각하는 방법을 모방하여 문법을 형성한 것인데요. 프로그래밍이 아니더라도 우리는 항상 moonnote.tistory.com LabVIEW 반복문01 - For 루프 랩뷰(LabVIEW) Tutorial 11 | 반복..
이번 시간에는 While문에 대해서 알아보도록 하겠습니다. While문의 경우 이전 포스팅에서 설명드렸던 For문과 마찬가지로 반복문입니다. While 루프(While Loop) 랩뷰에서 While 루프는 함수 팔레트 >> 프로그래밍 >> 구조 >> While 루프를 선택하시면 생성할 수 있습니다. 마찬가지로 블록다이어그램에서 원하는 크기만큼 드래그하여 루프를 생성하면 되고 While 루프의 경우 아래의 이미지처럼 다음 2가지로 구성되어 있습니다. ① 조건 터미널 : While 루프의 실행 여부를 판별하기 위한 불리언(참, 거짓) 값을 입력받는 터미널입니다. ② 반복 횟수 : 현재 반복하고 있는 횟수 정보를 반환하는 인디케이터 터널입니다.(시작 넘버가 0부터 시작) 반복문이기 때문에 For문과 마찬가지로..
이번 시간에는 반복문에 대해서 알아보겠습니다. 반복문이란 프로그래밍 언어에서 루프(Loop)라고 부르기도 하며 지정한 횟수만큼 또는 특정 정지 조건을 만족할 때까지 코드를 계속 반복 실행하는 구조를 말합니다. 대표적으로 For 루프와 While 루프가 있는데 이번 포스팅에서는 For 루프에 대해서 먼저 알아보도록 하겠습니다. For 루프(For Loop) 랩뷰에서 For 루프는 함수 팔레트 >> 프로그래밍 >> 구조 >> For 루프를 선택하시면 생성할 수 있습니다. 케이스 구조와 마찬가지로 For 루프를 선택하고 블록다이어그램에서 원하는 크기만큼 드래그하면 아래의 이미지처럼 생성이 됩니다. For 루프의 기본 구성은 총 2가지로(카운트 설정, 반복 횟수) 되어 있으며 아래의 이미지와 같이 생성됩니다. ..
예제 파일 LabVIEW 2012 or 이후 버전 개요 LV 8.6 이후에 출시된 [센서 맵핑] 함수를 사용하여 3D 설계 파일(*.stl) 이미지를 불러와서 LabVIEW 3D Image로 디스플레이해주는 예제 실행 순서 Sensor Mapping Example.vi 실행 Data Input LED 클릭 유무에 따른 Modeling 데이터 변화 확인 Data Input 클릭시, User-Generated 클러스터 내의 슬라이더로 센서 값 조절 ※ 이 글이 도움이 되었다면 "🤍공감" 버튼을 클릭해주세요. 클릭 한번이 글 쓰는데 큰 힘이 됩니다.
이번 시간에는 분기문 또는 조건문에 대해서 알아보겠습니다. 프로그래밍 언어란 결국에는 사람의 생각하는 방법을 모방하여 문법을 형성한 것인데요. 프로그래밍이 아니더라도 우리는 항상 매번 선택을 해야하는 순간들이 있죠..이 선택 한번에 의해 결과는 달라지게 되는데, 이러한 특성을 가지고 있는 것이 바로 조건문(분기문)입니다. 프로그래밍을 접해보신 분들이라면 우리가 익히 알고 있는 If문, Switch/Case문 등이 바로 이런 문법이라고 할 수 있겠네요. LabVIEW에서는 CASE 구조 하나로 조건에 따른 서로 다른 기능을 구현할 수 있습니다. 케이스 구조(CASE Structure) 케이스 구조는 함수 팔레트 >> 프로그래밍 >> 구조 >> 케이스 구조를 선택하시면 생성하실 수 있습니다. 케이스 구조를 ..
웨이브폼(Waveform)이란, 웨이브폼(Waveform)이란 '파형'이란 의미로 파동과 같은 신호의 모양과 형태를 말합니다. LabVIEW에서도 웨이브폼(Waveform) 데이터 타입을 지원하고 있는데 주기적인 신호 측정을 표시하고 저장하는 목적으로 사용됩니다. 주기적인 신호라는 말처럼 웨이브폼은 데이터의 크기 정보 외에 시간 정보를 같이 포함하고 있는데요. 기본적인 LabVIEW 웨이브폼의 구성 요소는 ¹시작 시간(t0), ²시간 간격(dt), ³데이터 배열(Y[]) 3가지로 구성됩니다. 위의 이미지는 LabVIEW 웨이브폼 상수인데요. 웨이브폼도 결국 클러스터 타입으로 구성되어있는 것을 보실 수 있습니다. 다만 Wire 색상을 Pink가 아닌 Brown으로 구분 짓고 있습니다. (숫자형으로 이루어진..
What is a LabVIEW file type extension? Select all that apply. 1. *.vi 2. *.lvx 3. *.ctl 4. *.lvlib 정답 보기는 아래 더보기 클릭 더보기 정답 : 1. *.vi, 3. *.ctl, 4. *.lvlib LabVIEW 파일 타입인 것을 고르는 문제이다. 가장 많이 사용하는 LabVIEW 코드 파일의 경우 저장할 때 파일 포맷이 *.vi로 Virtual Instrument라는 의미이다. 따라서 1번은 정답이고, 타입 정의 또는 사용자에 의해 디자인된 컨트롤/인디케이터는 *.ctl이라는 확장자로 저장됩니다. CTL은 컨트롤 파일이라는 의미로 CTL 파일에는따로 코드 작성과 관련된 블록다이어그램은 없습니다. 마지막으로 LabVIEW에서도..
CompactRIO란, "Compact" + "RIO"를 합친 말입니다. Compact는 이전에 CompactDAQ를 소개할 때 언급하였던 것처럼 ¹소형의, ²(공간이) 작은이라는 의미로 보통 단순하고 가벼운 제품을 표현할 때 「컴팩트」라고 표현합니다. RIO는 Reconfigurable I/O라는 의미로 섀시쪽에 Built-in 되어있는 FPGA 칩을 통해 슬롯에 연결된 I/O 모듈을 FPGA 레벨에서 재구성 가능하다는 의미입니다. 흔히들 줄여서 cRIO, 씨리오, 컴팩 리오 등으로 부르며 CompactRIO는 NI에서 제공하는 대표적인 Real-Time 기반 임베디드(Embedded) 하드웨어 플랫폼입니다. CompactRIO 시스템의 요소 CompactRIO 시스템은 섀시 또는 컨트롤러, 모듈, 소..
예제 파일 LabVIEW 2014 or 이후 버전 개요 윈도우 웨이브폼 오디오 파일(*.wav)을 랩뷰에서 불러와서 연속적으로 재생하는 예제 실행 순서 1. 압축풀고 LabVIEW Project 파일 실행 2. Equalizer.vi 열기 3. Path에 웨이브폼 오디오 파일(*.wav) 지정 4. LabVIEW 실행 후 Equalizer로 음원 조절 요구 사양 ▪ Intel® Core™ i3-2310M Processor or 그 이상 ▪ 3M Cache, 2.10 GHz ▪ Memory 6GB 이상 ※ 이 글이 도움이 되었다면 "🤍공감" 버튼을 클릭해주세요. 클릭 한번이 글 쓰는데 큰 힘이 됩니다.
What does the red border in the While Loop signify? 1. It is a cosmetic feature that helps color-code loops. 2. The subVI in the While Loop is broken. 3. The loop boundary has a breakpoint. 4. The code within the border is ignored. 정답 보기는 아래 더보기 클릭 더보기 정답 : 3. The loop boundary has a breakpoint. While Loop 안에서 빨간 테두리는 무엇을 나타내는지 물어보는 문제이다. LabVIEW 사용 경험이 있다면 바로 breakpoint 설정이라고 알고 있어야하는 문제이다. 정답은..
시스템 개요 ▪ OHT(OVERHEAD HOIST TRANSPORT)의 휠 데이터를 분석하여 바퀴 마모의 Trend 및 경고, 위험 레벨을 찾아내기 위한 프로그램 ▪ 24시간 서버에 저장되는 데이터를 사람이 일일이 분석할 수 없어 트랜드를 보기 쉽게 하기 위해 자체 분석용 S/W 개발 프로그램 ▪ Embedded Controller에서 처리한 이미지와 휠 사이즈 정보를 서버 PC로 받아서 데이터 저장(Excel 파일 포맷) ▪ 작업자가 Manual로 측정한 각 휠별 Master 사이즈 정보 Reference로 사용 ▪ Query 기능을 통해 원하는 OHT에 대한 바퀴 트랜드 및 위험 레벨 식별
You are learning about arrays in LabVIEW and want to know more about the Decimate 1D Array function. Which action will NOT find LabVIEW Help for this function? 1. Search for the function in the Functions palette and select Help 2. Click the yellow Context Help Window button at the top-right corner of the LabVIEW window and hover over the function 3. Right-click the function and select Help from ..