MoonNote

반응형
     

 

 

 

 이번 시간에는 LabVIEW 배열(Array) 타입에 대해 알아보도록 하겠습니다.
LabVIEW 기본 데이터 타입 3가지(숫자, 문자, 불리언)에 대해 모르시는 분들께서는 이전 포스팅(Tutorial 03-05)을 먼저 참고해주시고 본문을 읽는 것을 추천 드립니다.

 

 

배열(Array)

 배열(Array)이란 동일한 원소들을 하나로 묶은 데이터 타입을 말하며 번호(인덱스)와 이에 대응하는 데이터들로 이루어져 있습니다. LabVIEW에서의 배열 상수로 배열의 구성을 살펴보면 각 칸마다 데이터 값이 들어가 있으며 제일 좌측 상단에 숫자 0으로 시작하는 위치 정보를 나타내는 인덱스(Index) 정보가 포함되어 있습니다.

배열 구성 예시 : 불리언 배열 상수

 

 배열에서 데이터 원소의 위치 정보를 나타내는데 필요한 인덱스(Index) 개수에 따라 1차원(n번째), 2차원(x, y), 3차원(x, y, z)의 형태로 크기를 가지기에 LabVIEW에서는 인덱스 넘버의 개수가 몇개인지를 가지고 1차원 배열, 2차원 배열, 3차원 배열로 구분짓습니다.

 

다차원 배열의 형태(1차원, 2차원, 3차원)

 

 본문에서는 불리언 배열을 예시로 설명 드렸지만 LabVIEW 기본 데이터 타입 3가지(숫자, 문자, 불리언) 뿐만 아니라 웨이브폼, 클러스터, 베리언트, 클래스 등의 동일한 데이터 타입은 모두 배열로 묶을 수 있습니다. 코드를 작성할 때 배열 컨트롤 또는 인디케이터의 경우 프런트 패널에서 인덱스 넘버의 개수가 나타나기에 차원에 대한 정보가 헷갈리시는 분들도 계실 수 있는데요. LabVIEW를 사용하면서 익숙해지시면 와이어의 굵기 만으로도 해당 배열의 차원을 바로 알아볼 수 있습니다. 즉, 배열 데이터 타입은 차원에 따라 와이어 굵기가 다릅니다.

 

배열 차원에 따른 와이어 굵기 비교

 

배열 생성 방법

그럼 배열을 생성하는 방법을 알아보도록 하겠습니다. 생성 방법은 프런트 패널 또는 블록 다이어그램 모두 동일하기에 팔레트 설명만 드리고 프런트 패널 기준에서 배열을 만들어 보겠습니다. 먼저 컨트롤 팔레트 >> 배열, 행렬, 클러스터 >> 배열을 선택합니다. 블록 다이어그램의 경우 함수 팔레트 >> 배열 >> 배열 상수를 선택하시면 됩니다.

 

컨트롤 또는 함수 팔레트에서의 배열 쉘 위치

 

1. 패널에서 원하는 위치에 클릭하여 놓습니다.

배열 쉘 생성

 

이렇게 배열 쉘을 생성하였을 때 아직 안쪽의 데이터 타입을 지정하지 않았습니다. 이 때 블록다이어그램에서의 배열 컨트롤의 색상이 검정색으로 표시되는 것을 확인할 수 있습니다. 검정색은 데이터 타입이 지정되지 않았을 때를 말합니다.

 

데이터 타입 지정 전 배열

 

2. 원하는 데이터 타입 컨트롤을 배열 쉘 안쪽에 놓습니다.

숫자형 배열 컨트롤 생성

 

이렇게하면 원하는 데이터 타입의 배열 컨트롤을 생성하게 되고 블록다이어그램에서는 배열 원소 타입에 따라 색상이 나타나는 것을 확인하실 수 있습니다.

숫자형 배열 컨트롤

 

TIP
 
 

최신 버전 LabVIEW에서는 마우스 우클릭 아이템 메뉴에서 원소를 배열로 바꾸는 옵션을 제공하고 있습니다. (원소 >> 우클릭 >> 배열로 변경 또는 배열 >> 우클릭 >> 원소로 변경)



원소 배열로 변경하는 아이템 메뉴

 

배열 함수

배열 데이터를 다루기 위해 LabVIEW에서는 배열과 관련된 다양한 함수들을 제공하고 있는데요. 함수 위치는 블록 다이어그램  함수 팔레트 >> 배열입니다. 

 

배열 팔레트

 

배열 크기(Array Size)

배열에서의 원소 개수에 따른 크기 정보를 반환하는 함수입니다. 원소가 작을 경우 직접 눈으로 보고 셀 수 있지만 100개, 1000개처럼 많을 경우 배열 크기 함수를 사용하면 쉽게 크기 정보를 알 수 있습니다.

배열 크기(Array size)

배열 인덱스(Index Array)

배열 안에 들어있는 원소 중 원하고자하는 n번째 원소만 확인할 때 사용되는  함수입니다. 입력 배열과 원소의 위치정보인 인덱스 넘버를 입력하여 해당 데이터만 가지고올 수 있습니다. 인덱스 넘버는 0부터 시작하기에 사람이 생각할 때 '3번째 원소'라고 한다면 '인덱스 넘버 2'를 지정해주셔야지 됩니다.

배열 인덱스(Index Array)

 

배열 만들기(Build Array)

단일(스칼라) 값, 1차원 배열, 2차원 배열 등 배열을 만들고자할 경우 사용하는 함수이다. 원하는 입력 개수만큼 함수 경계에서 드래그하여 입력 터미널 개수를 늘릴 수 있고 아래 이미지처럼 와이어링하여 사용합니다.

배열 만들기(Build Array)

 

[배열 만들기] 함수는 두 데이터를 이어 붙일 때 또는 새로운 차원으로 데이터를 만들 때 사용하는데 이 함수는 입력 연결(Concatenate Inputs)이라고하는 옵션을 제공하고 있습니다(우클릭 메뉴로 선택 가능). [배열 만들기] 함수에서 같은 차원의 데이터를 연결할 경우 기본 입력 연결을 체크하지 않으면 입력보다 한 차원 높은 배열 타입으로 출력이 생성됩니다. 예시로 1차원 배열 두개를 가지고 [배열 만들기] 함수를 사용하면 2차원 배열이 생성되는 코드를 생각하시면 됩니다.

 

예) '1D 배열과 1D 배열'을 연결할 경우

[배열 만들기] 입력 연결 선택하지 않았을 경우

 

 

다음으로 입력 연결 옵션을 선택할 경우 같은 차원으로 출력 값이 생성되고 [배열 만들기] 안쪽 이미지도 조금 다른 것을 확인할 수있습니다.

[배열 만들기] 입력 연결 선택시 출력 값 비교

 

 

나머지 배열 함수들도 많이 있지만 대부분 LabVIEW 도움말에 자세히 설명이 나와 있으므로 궁금하신 분들은 LabVIEW 도움말(Ctrl+H)을 통해 나머지 함수를 살펴보시면 되겠습니다. 이상으로 LabVIEW 배열 데이터 타입에 대하여 알아보았습니다.

 

 

 

 

 

 

※ 이 글이 도움이 되었다면 "🤍공감" 버튼을 클릭해주세요. 클릭 한번이 글 쓰는데 큰 힘이 됩니다.

 

공유하기

facebook twitter kakaoTalk kakaostory naver band