본문 바로가기
랩뷰(LabVIEW)

제 2강. 랩뷰(LabVIEW)에서 자주 쓰는 구조(Structures) For/While/Sequence Loop

by Lee Suhun 2021. 11. 24.

 For 문은 원하는 횟수 만큼 반복 작업을 할 때 사용하며, While 문은 특정 조건에서 반복 작업을 멈추는 작업에 적합합니다. 마지막으로 Sequence loop는 처리 우선순위가 요구될 때 사용합니다.

 


1. 구조 소개

2. For 문

3. While 문

4. Sequence loop


안녕하세요. 앞의 두 글에서는 랩뷰에 대한 전반적인 이야기를 했습니다. (제 0강. 랩뷰(LabVIEW)란?, 제 1강. LabVIEW(랩뷰)의 기초)이번에는 랩뷰에서 자주 사용하는 For, While, Sequence loop에 대해 알아보려고 합니다.

 

 

1. 구조(Structures) 소개

구조(Structures)
구조(Structures)

블록 다이어그램에서 우클릭을 하면, 위와 같은 UI가 떠요. 랩뷰에서는 사진과 같이 구조, 배열, 크러스터, 상수, 불린 등 다양한 함수를 제공합니다.

 

블록다이어그램_구조
블록 다이어그램에서의 구조

다음으로 Structures(구조)를 누르면 위와 같은 그림이 떠요. For 문, While 문, Timed 구조, 케이스 구조, 플랫 시퀀스 등 다양한 구조를 클릭 하나로 블록 다이어그램에서 구현할 수 있어요.

 

2. For 문

For 문은 명령한 횟수만큼 루프가 작동하는 구조를 말합니다.

For문
For 문

For 루프를 생성하면 위처럼 나오며, 이때 [N]은 루프 카운트, [i]는 루프 반복횟수(interation) 입니다. '루프 카운트는 말 그대로 루프의 실행 횟수를 의미하며, ‘루프 반복횟수루프가 실행될 때마다 0부터 1씩 증가하면서 카운트를 합니다.

 

[참고]

더보기

 이때 반복횟수를 왜 카운트할까?’ 하는 의문이 들텐데, 이는 간단한 예제는 한눈에 알아보기 쉽지만 복잡한 알고리즘이 되는 순간 루프 반복횟수는 그 존재 이유를 확실히 드러내요.

(+ 루프 반복횟수에 아무것도 연결하지 않아도 루프는 정상적으로 작동합니다/확인해주는 역할)

 

[예제]

랩뷰예제_랜덤주사위
예제(랜덤 주사위)
For문_반복
예제 1회 반복

루프 카운트 (명령횟수)를 1회를 입력하면 루프는 1회 작동해 난수 0.9546을 생성하고, 루프 반복횟수는 0 을 출력합니다.

 

For문_반복
예제 10회 반복

다음으로 같은 예제에서 루프 카운트를 10회를 명령하면 루프 반복횟수는 9를 출력하는 것을 확인할 수 있어요.

 

 

3. While 문

While 문은 조건에 참or거짓이 되어 멈추거나 강제로 멈추지 않는 이상 계속 반복하는 구조입니다.

While문
While 문

While 루프를 생성하면 위처럼 나오며, 이때 [i]는 루프 반복횟수(interation)이고, 초록 사각형안에 빨간 원이 있는 부분이 불리언 입니다.

루프 반복횟수는 루프가 실행될 때마다 0부터 1씩 증가하면서 카운트를 하고, 불리언은 참 또는 거짓일 경우 작동하는 시스템입니다.

 

[예제]

랩뷰예제_랜덤주사위
예제(랜덤 주사위)
While문_예제
예제 실행

따로 참, 거짓 조건 을 주지않아, 계속 루프 반복횟수가 올라가는 것을 확인할 수 있어요.

그래서 불리언의 STOP을 눌러 멈출수도 있고, 시작 옆에 있는 빨간원(작동중지) 버튼을 눌러 프로그램을 멈출 수 있어요.

 

불리언_옵션
불리언 옵션

불리언에 ON/OFF 기능을 삽입했지만, 다양한 조건을 통해 참, 거짓을 유도함으로써 루프를 멈추게 해줄 수 있습니다.

(루프를 참일 경우 또는 거짓일 경우를 골라서 멈추게 할 수 있으며, 기본 설정은 참일 경우 멈추는 것을 되어 있음)

 

[참고]

더보기

 

불리언_종류
불리언 종류

프론트 패널에 있는 불리언 모양을 바꾸고 싶을 경우 우클릭을 하면 위 사진과 같은 UI가 뜨며, 원하는 모양으로 교체(replace)가 가능합니다.

(불리언 뿐만 아니라 다른 기능들도 모양의 교체가 가능합니다~)

 

 

4. Sequence loop

시퀀스 문은 말 그대로 시간 순서대로 함수를 처리하게 해주는 구조입니다. 랩뷰는 순서대로 처리하는 것이 아니기에 순차적으로 처리해야 할 필요가 있다면 시퀀스 구조를 이용해야 합니다.

시퀀스(Sequence)
Sequence loop

Sequence loop를 만들면 다음과 같은 모양의 구조가 생성됩니다. 이 구조 안에 프로그래밍을 하면 처리 순서를 정해줄 수 있습니다.

 

시퀀스_옵션
시퀀스 옵션

시퀀스 구조의 모서리를 우클릭하면 위와 같은 UI가 생성되고, [Add Frame After]을 클릭하면 뒤에 또 다른 시퀀스 구조가 생성되고, [Add Frame Before]을 클릭하면 앞에 생성됩니다.

 

Add Frame After
[Add Frame After] 클릭

[Add Frame After]을 클릭 후 모습

 

시퀀스_옵션
시퀀스 옵션

시퀀스 구조가 2개 이상이면, 모서리 우클릭 - [Replace with Stacked Sequence]를 눌러 폴리 시퀀스를 생성할 수 있습니다.

 

폴리시퀀스
폴리 시퀀스

페이지 형식인 폴리 시퀀스는 복잡한 알고리즘 때 사용해주면 가시성이 좋아집니다.

 

 

 

글을 마치며 포스팅을 통해 For문과 While문에 대한 궁금증이 어느 정도 해소되었으면 합니다.

다음 랩뷰 3강(제 3강. 랩뷰(LabVIEW)의 상수/문자형/타이밍/클러스터 함수 + 정수형과 실수형 상수의 차이)은 기본적인 함수들과 Cluster함수에 대해 알아보도록 하겠습니다.

 

감사합니다.

 

 


관련글

제 0강. 랩뷰(LabVIEW)란?

 

제 0강. 랩뷰(LabVIEW)란?

1. 소개 2. 장단점 3. 설치 시 주의사항 안녕하세요. 이번 시간부터는 대학 연구실과 기업에서 많이 사용하는 랩뷰(LabVIEW)에 대해 알아보려고 합니다. 먼저 랩뷰에 대한 관심이 커지게 된 배경과

jungwonlab.tistory.com

제 1강. LabVIEW(랩뷰)의 기초

 

제 1강. LabVIEW(랩뷰)의 기초

1. 랩뷰 실행 방법 2. 프론트 패널과 블록 다이어그램 2. 랩뷰 환경 설정 3. 랩뷰에서 유용한 단축기 모음 안녕하세요. 이전글 (제 0강. 랩뷰(LabVIEW)란?) 에서는 랩뷰에 대한 기본적인 내용을 알아 봤

jungwonlab.tistory.com

제 2강. 랩뷰(LabVIEW)에서 자주 쓰는 구조(Structures) For/While/Sequence Loop

 

제 2강. 랩뷰(LabVIEW)에서 자주 쓰는 구조(Structures) For/While/Sequence Loop

For 문은 원하는 횟수 만큼 반복 작업을 할 때 사용하며, While 문은 특정 조건에서 반복 작업을 멈추는 작업에 적합합니다. 마지막으로 Sequence loop는 처리 우선순위가 요구될 때 사용합니다. 1. 구

jungwonlab.tistory.com

제 3강. 랩뷰(LabVIEW)의 상수/문자형/타이밍/클러스터 함수 + 정수형과 실수형 상수의 차이

 

제 3강. 랩뷰(LabVIEW)의 상수/문자형/타이밍/클러스터 함수 + 정수형과 실수형 상수의 차이

상수(Numeric) 함수는 숫자를 넣을 때, 문자형(String) 함수는 문자를 넣을 때 사용하는 랩뷰의 기능입니다. Delay time 을 넣고 싶다면 타이밍(Timing) 함수를, 성격이 다른 함수들을 묶을 때는 클러스터(C

jungwonlab.tistory.com

제 4강. 랩뷰(LabVIEW)의 배열(Array) 함수

 

제 4강. 랩뷰(LabVIEW)의 배열(Array) 함수

배열(array)은 동일한 데이터 타입을 묶어 놓은 데이터 집합입니다. 배열은 원소들로 이루어져 있으며, 그들의 위치를 인덱스(index) 라고 합니다. 보통 행과 열로 표현하는 2차원 배열을 자주 사용

jungwonlab.tistory.com

 

Jungwon-Lab-카카오-채널
Jungwon Lab 카카오 채널

댓글