티스토리 뷰
랩뷰 초급 강의 - 랩뷰(LabVIEW)에서 반복구문의 결과를 얻기
For, While문을 통한 반복문에 대한 설명은 이전 포스팅을 통해서 설명 드렸습니다.
반복문에 대한 내용을 확인하실려면 아래의 링크를 참조하세요.
반복문에 대한 결과값 처리부분은 LabVIEW에서 2가지로 구분할 수 있습니다.
인덱싱 활성화를 통해서 각 반복에서 처리된 결과값을 배열로 전달하기
인덱싱 비활성활를 통해서 반복의 마지막 처리되는 부분의 값을 전달하기
그러면 인덱싱 활성화와 비활성화는 어떻게 하는걸까요? For 문과 While안의 특정의 값 혹은 라인을 For문과 While문 오른쪽으로 이으시면 아래와 같은 화면이 구성이 됩니다.
빨간 네모 박스는 인덱싱이 설정이 되어 있는 화면입니다. LabVIEW는 기본적으로 인덱싱 기능을 처리하게끔 합니다.
여기에서 인덱싱 비활성화를 누르실려면 아래와 같은 방식대로 처리를 하면 됩니다.
먼저 인덱싱 부분을 선택하신뒤 마우스 오른쪽 버튼을 누릅니다.(LabVIEW 2013기준입니다. 이전 버전은 선택하는 과정이 조금 다를 수는 있으나, 방법은 같습니다.)
오른쪽 마우스 버튼을 누르시면 팝업 메뉴가 뜨게 되고, 터널 모드 >> 마지막 값 혹은 인덱스 하기를 선택을 하시면 됩니다. 마지막 값이 인덱싱 비활성화를 인덱스하기가 인덱싱 활성화를 나타냅니다. 인덱스 비활성화에 대해서 좀더 자세히 알아볼까요?
1) 인덱싱 비활성화
인덱싱을 비활성화를 하면 조건문의 오른쪽 끝부분이 네모모양으로 색이 칠해지게 됩니다. 이는 반복문이 종료될때 반복문 내의 연산에 대한 가장 마지막 값을 출력하는것을 의미합니다. 위의 코드를 실행하여 결과를 확인하면 아래와 같습니다.
For문의 대한 i의 값은 0부터 시작하기 때문에 0,1,2,3,4....,8,9로 진행하여 마지막에 9로 출력이 되는 것입니다.
2) 인덱싱 활성화
인덱싱 활성화를 하게 되면 반복문이 실행되는 매번의 결과쪽으로 들어오는 값들을 전체적으로 출력을 하게 됩니다. 인덱싱을 활성화하면 조건문의 오른쪽 끝부분이 []의 모양으로 변하게 됩니다. 즉 배열로 출력을 한다는 말이지요.
위의 코드에서 인덱싱 활성화를 해보았습니다. []의 출력값과 숫자형 인디케이터의 타입이 달라 에러가 발생하는것 볼수 있습니다. []는 정수형 배열을 숫자형 인디게이터는 정수를 입력받기 때문입니다. 숫자형 인디게이터는 하나의 값만 보여줄 수 있는 인디게이터 입니다.
입력되는 값이 배열이기 때문에 선을 연결할 경우 에러가 발생합니다.
숫자형 인디케이터를 삭제하고, 배열을 연결해 보았습니다. (배열을 만드실줄은 다들 아시죠? ㅠㅠ)
그리고 실행도 해보았습니다.
배열에는 For문의 반복이 10회 되는 동안 i의 값을 순차적으로 배열에 저장하여 출력하는 걸 확인할 수 있습니다.
추가 팁 : 짝수만 출력을 원하는 경우
이러한 경우에는 조건적에 대한 기능도 추가로 설명드리겠습니다. 터널 모드를 설정할 때 조건적이라는 걸 선택을 하시면 어떠한 조건이 맞을때만 배열 혹은 마지막값이 출력이 됩니다.
짝수일 때만 출력을 하려면 i의 값을 2로 나누어 나머지가 0인 경우에만 출력을 하면 됩니다. 조건적으로 설정을 하시면 출력 노드 아래에 불리언 값을 전달받는 작은 노드가 하나더 생깁니다. 그 작은노드에 나머지가 0일때만 참을 넣게 되면 아래와 같이 코드가 구성이 됩니다.
결과를 보실까요? 짝수만 출력이 됩니다. ^-^
이글이 도움이 되셨나요?
그렇다면 아래의 그림을 클릭해주세요.
'National Instruments > LabVIEW' 카테고리의 다른 글
랩뷰 초급 강의 - 조건문(case)에 대해서 알아봅시다. (0) | 2014.09.06 |
---|---|
랩뷰 초급 강의 - LabVIEW의 기다림 함수에 대해 알아보자. (1) | 2014.09.06 |
랩뷰 초급강의 - 시프트 레지스터(Shift Register) (0) | 2014.08.27 |
랩뷰 초급강의 - 반복문(While문과 For문) (1) | 2014.08.24 |
랩뷰 초급강의 - 랩뷰( LabVIEW)란 무엇인가? (0) | 2014.08.22 |