본문으로 바로가기

배열에 대해 알아보자.

category Programming/LabVIEW 2024. 5. 17. 22:16
반응형

어떤 언어로 프로그램을 작성하든지 간에,
언어에서 기본으로 제공하는 데이터 타입만으로도 프로그램은 작성할 수 있습니다. 
다만, 프로그램을 통해 처리되어야 하는 작업량이 지나치게 많다거나,
방대하고 복잡하게 얽힌 데이터들을 처리해야 하는 경우에는
기본으로 제공하는 데이터 타입만 가지고는 한계가 있지요.
다시 말해, 현재 주어진 문제에 특화되어 있는 데이터 타입이 필요하다는 말이고,
여러 프로그래밍 언어에서는 사용자가 직접 최적화된 데이터 타입을 설계할 수 있는 기능들을 제공하고 있습니다.
그리고 이렇게 설계된 데이터 타입을 사용자 정의형 데이터 타입이라고 많이들 부르지요. 

사용자가 직접 사용자 정의형 데이터 타입을 설계할 때,
대부분의 프로그래밍 언어에서 빠지지 않고 등장하는 것이 배열입니다.
다른 언어에 뒤쳐지지 않도록, 랩뷰에서도 배열을 지원하고 있는데요.
배열 자체를 처음 들어보는 분들을 위해 배열을 간단히 설명드리자면,
같은 타입의 데이터 여러 개가 그룹으로 묶여 있은 형태의 데이터 타입을 생각하시면 됩니다.

위 그림에서 정수형 타입의 단일 오브젝트와 배열 오브젝트에 대해 비교해서 보여드리고 있는데요. 
상단의 오브젝트들은 오브젝트마다 정수형 타입의 데이터를 하나씩만 처리할 수 있지만,
하단의 오브젝트에는 정수형 타입 데이터를 처리할 수 있는 오브젝트 자체가
하나의 그룹으로 묶여 있는 것을 볼 수 있습니다. 
다시 말해, 상단의 오브젝트들이 일반적인 정수형 타입의 오브젝트라면,
하단의 오브젝트들이 배열을 의미하는 것이구요. 
블록 다이어그램에도 모두 파란색으로 표현되고 있지만,
단일 오브젝트와 배열 오브젝트의 생긴 형태가 다르다는 것을 알 수 있습니다. 
그런데 여기서 가장 눈에 띄는 차이점은 와이어의 굵기인데요. 
단일 컨트롤 오브젝트와 인디케이터 오브젝트를 연결하는 와이어의 경우,
상대적으로 얇은 굵기의 와이어로 표현되는 반면에,
배열 컨트롤 오브젝트와 배열 인디케이터 오브젝트의 경우 상대적으로 굵은 와이어가 연결되는 것을 볼 수 있습니다. 
배열에서는 여러 개의 데이터가 동시에 전달되는 라인이기 때문에 굵은 와이어로 표현한 것이 아닐까 추측되구요. 
배열의 차원이 높아지면 높아질수록 와이어도 점점 더 굵어집니다.

C나 Java, 혹은 IEC의 표준을 따라가고 있는 PLC 컨트롤러의 개발 환경에서도 배열을 사용하는데요. 
이들 언어에서는 배열을 사용하기 위해 선언하는 단계를 거칩니다. 
정확히는 배열뿐만 아니라, 컨트롤러의 메모리를 고정적으로 점유하는 모든 개체들은
선언이라는 과정을 먼저 거쳐야지만 프로그램에서 활용될 수 있는데요. 
프런트 패널에 추가되는 인터페이스용 오브젝트를 실질적인 하나의 변수처럼 취급하는 랩뷰에서는
크게 2가지 방법으로 배열을 만들 수 있습니다.

첫 번째 방법은 프런트 패널에서 배열 오브젝트를 추가하는 방법이구요. 
두 번째 방법은 블록 다이어그램 안에서 배열 데이터를 생성하는 방법입니다. 
배열과 관련된 함수를 사용할 수도 있고, 나중에 다룰 루프 구조를 이용하는 방법도 있는데요. 
이 부분에 대해서는 다른 글에서 자세히 다루기로 하고, 여기서는 첫 번째 방법에 대해서만 알아보겠습니다.

위 영상은 프런트 패널에서 배열 오브젝트를 추가하는 방법입니다. 
워낙 간단한 내용이라 영상 속의 내용을 같이 따라 해 보시면 금방 이해하실 수 있을 텐데요. 
정리하자면, 컨트롤 팔레트에서 일반 → 데이터 컨테이너 → 배열을 선택해서 적당한 위치에 추가하고,
생성하려는 배열 내부의 원소들과 같은 데이터 타입의 오브젝트를 선택해서 배열 내부에 드롭하시면 됩니다. 
영상에서는 컨트롤 오브젝트를 배열에 추가했기 때문에, 배열도 마찬가지로 컨트롤 오브젝트의 특성을 가지지만,
인디케이터 오브젝트를 배열에 추가하면 인디케이터 특성의 배열을 만들 수 있습니다.

반응형