For 문은 원하는 횟수 만큼 반복 작업을 할 때 사용하며, While 문은 특정 조건에서 반복 작업을 멈추는 작업에 적합합니다. 마지막으로 Sequence loop는 처리 우선순위가 요구될 때 사용합니다.
1. 구조 소개
2. For 문
3. While 문
4. Sequence loop
안녕하세요. 앞의 두 글에서는 랩뷰에 대한 전반적인 이야기를 했습니다. (제 0강. 랩뷰(LabVIEW)란?, 제 1강. LabVIEW(랩뷰)의 기초)이번에는 랩뷰에서 자주 사용하는 For, While, Sequence loop에 대해 알아보려고 합니다.
1. 구조(Structures) 소개
블록 다이어그램에서 우클릭을 하면, 위와 같은 UI가 떠요. 랩뷰에서는 사진과 같이 구조, 배열, 크러스터, 상수, 불린 등 다양한 함수를 제공합니다.
다음으로 Structures(구조)를 누르면 위와 같은 그림이 떠요. For 문, While 문, Timed 구조, 케이스 구조, 플랫 시퀀스 등 다양한 구조를 클릭 하나로 블록 다이어그램에서 구현할 수 있어요.
2. For 문
For 문은 명령한 횟수만큼 루프가 작동하는 구조를 말합니다.
For 루프를 생성하면 위처럼 나오며, 이때 [N]은 루프 카운트, [i]는 루프 반복횟수(interation) 입니다. '루프 카운트’는 말 그대로 루프의 실행 횟수를 의미하며, ‘루프 반복횟수’는 루프가 실행될 때마다 0부터 1씩 증가하면서 카운트를 합니다.
[참고]
이때 ‘반복횟수를 왜 카운트할까?’ 하는 의문이 들텐데, 이는 간단한 예제는 한눈에 알아보기 쉽지만 복잡한 알고리즘이 되는 순간 루프 반복횟수는 그 존재 이유를 확실히 드러내요.
(+ 루프 반복횟수에 아무것도 연결하지 않아도 루프는 정상적으로 작동합니다/확인해주는 역할)
[예제]
루프 카운트 (명령횟수)를 1회를 입력하면 루프는 1회 작동해 난수 0.9546을 생성하고, 루프 반복횟수는 0 을 출력합니다.
다음으로 같은 예제에서 루프 카운트를 10회를 명령하면 루프 반복횟수는 9를 출력하는 것을 확인할 수 있어요.
3. While 문
While 문은 조건에 참or거짓이 되어 멈추거나 강제로 멈추지 않는 이상 계속 반복하는 구조입니다.
While 루프를 생성하면 위처럼 나오며, 이때 [i]는 루프 반복횟수(interation)이고, 초록 사각형안에 빨간 원이 있는 부분이 불리언 입니다.
루프 반복횟수’는 루프가 실행될 때마다 0부터 1씩 증가하면서 카운트를 하고, 불리언은 참 또는 거짓일 경우 작동하는 시스템입니다.
[예제]
따로 참, 거짓 조건 을 주지않아, 계속 루프 반복횟수가 올라가는 것을 확인할 수 있어요.
그래서 불리언의 STOP을 눌러 멈출수도 있고, 시작 옆에 있는 빨간원(작동중지) 버튼을 눌러 프로그램을 멈출 수 있어요.
불리언에 ON/OFF 기능을 삽입했지만, 다양한 조건을 통해 참, 거짓을 유도함으로써 루프를 멈추게 해줄 수 있습니다.
(루프를 참일 경우 또는 거짓일 경우를 골라서 멈추게 할 수 있으며, 기본 설정은 참일 경우 멈추는 것을 되어 있음)
[참고]

프론트 패널에 있는 불리언 모양을 바꾸고 싶을 경우 우클릭을 하면 위 사진과 같은 UI가 뜨며, 원하는 모양으로 교체(replace)가 가능합니다.
(불리언 뿐만 아니라 다른 기능들도 모양의 교체가 가능합니다~)
4. Sequence loop
시퀀스 문은 말 그대로 시간 순서대로 함수를 처리하게 해주는 구조입니다. 랩뷰는 순서대로 처리하는 것이 아니기에 순차적으로 처리해야 할 필요가 있다면 시퀀스 구조를 이용해야 합니다.
Sequence loop를 만들면 다음과 같은 모양의 구조가 생성됩니다. 이 구조 안에 프로그래밍을 하면 처리 순서를 정해줄 수 있습니다.
시퀀스 구조의 모서리를 우클릭하면 위와 같은 UI가 생성되고, [Add Frame After]을 클릭하면 뒤에 또 다른 시퀀스 구조가 생성되고, [Add Frame Before]을 클릭하면 앞에 생성됩니다.
[Add Frame After]을 클릭 후 모습
시퀀스 구조가 2개 이상이면, 모서리 우클릭 - [Replace with Stacked Sequence]를 눌러 ‘폴리 시퀀스’를 생성할 수 있습니다.
페이지 형식인 폴리 시퀀스는 복잡한 알고리즘 때 사용해주면 가시성이 좋아집니다.
글을 마치며 이 포스팅을 통해 For문과 While문에 대한 궁금증이 어느 정도 해소되었으면 합니다.
다음 랩뷰 제 3강(제 3강. 랩뷰(LabVIEW)의 상수/문자형/타이밍/클러스터 함수 + 정수형과 실수형 상수의 차이)은 기본적인 함수들과 Cluster함수에 대해 알아보도록 하겠습니다.
감사합니다.
관련글
제 0강. 랩뷰(LabVIEW)란?
1. 소개 2. 장단점 3. 설치 시 주의사항 안녕하세요. 이번 시간부터는 대학 연구실과 기업에서 많이 사용하는 랩뷰(LabVIEW)에 대해 알아보려고 합니다. 먼저 랩뷰에 대한 관심이 커지게 된 배경과
jungwonlab.tistory.com
제 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
'랩뷰(LabVIEW)' 카테고리의 다른 글
제 5강. 랩뷰(LabVIEW)의 파일 I/O(File I/O)를 통한 데이터 저장 (0) | 2022.11.30 |
---|---|
제 4강. 랩뷰(LabVIEW)의 배열(Array) 함수 (0) | 2021.12.29 |
제 3강. 랩뷰(LabVIEW)의 상수/문자형/타이밍/클러스터 함수 + 정수형과 실수형 상수의 차이 (0) | 2021.12.08 |
제 1강. LabVIEW(랩뷰)의 기초 (0) | 2021.09.07 |
제 0강. 랩뷰(LabVIEW)란? (0) | 2021.08.31 |
댓글