Lesson 11_1 로컬,글로벌 변수

안녕하세요. 알렉스 입니다. 이번 글은 로컬 변수와 글로벌 변수에 대해서 설명하도록 하겠습니다. 프로젝트를 진행하면서 많이 쓰이는 변수중에 하나 입니다. 이 로컬 변수는 사용하는 VI외에는 다른곳에 쓸수가 없습니다. 그럼 그림과 함께 예를 들도록 하겠습니다.


그림1) 프런트패널 디자인

그림2) 간단한 While Loop


그림1,2와 같이 간단하게 프로그램을 만들어 줍니다. 위 프로그램은 LED가 0.5초마다 계속 반복하며 점멸하는 프로그램 입니다. 만약 사용자가 Stop버튼을 누르면 멈춥니다.


그림3) 아래쪽 While Loop 에러
그림3에서는 동일한 While Loop를 만드는데 단지 Stop버튼이 없습니다. 로컬변수 없이 만들경우 또다른 Stop버튼을 만들면 되지만 로컬변수를 이용하면 1개의 Stop버튼으로 2개의 While Loop를 제어할수 있습니다.


그림4) 로컬변수 생성
블록다이어그램에서 Stop버튼을 우클릭후 그림4와 같이 로컬변수를 생성합니다.



그림5) 생성한 로컬변수를 읽기로 변경

이후 2번째 While Loop에다가 Stop 로컬변수를 넣고 읽기로 변경합니다.


그림6) 프로그램 완성



이후 그림6과 같이 프로그램이 완성된 것을 알수 있습니다.

그림7) 로컬변수에 에러발생

하지만 실행시 에러가 발생하고 확인하면 래치기능때문에 발생한 일입니다. 래치란 사용자가 버튼을 누르고 띌때 값이 유지하는 것이 아닌 오직 누를때만 유지하고 다시 땔떼는 원상태로 돌아가는 상태를 래치라고 합니다.

그림8) Stop버튼 프로퍼티 확인

마찬가지로 Stop버튼의 우클릭으로 들어가 프로퍼티로 들어가면 Stop버튼의 속성에 대해서 알수 있습니다.

그림9) 스위치가 래치상태

그림10) 스위치를 누를 때 스위치로 변경


로컬 변수를 사용할때는 래치를 쓸수 없기 때문에 '누를때 스위치'로 사용하면 간단하게 해결이 됩니다.


프로그램을 작성하다 보면 로컬변수를 쓰는 경우가 있는데 간단하게 장단점에 대해서 알려드리겠습니다.

장점
1. 필요한 요소에 생성해서 사용할수 있다.
2. 사용하기가 편리하다
3. 로컬변수 생성에는 제한(메모리 용량에따라)이 없다.

단점
1. 로컬변수를 많이 사용하면 프로그램이 복잡해 질수 있다.
2. 프로그램의 용량이 커진다
3. 로컬변수를 쓰면쓸수록 잡아먹는 램이 커진다.
4. 구동이 느려진다.


개인적으로 장점보다는 단점이 많다고 생각합니다. 하지만 정말로 써야한다면 1개의 변수당 약 1 ~ 5개 이내로 추천드립니다.

그럼 다음 글을 쓸때는 글로벌 변수에 대해서 사용하겠습니다.




링크 : 참고예제








댓글

이 블로그의 인기 게시물

Lesson 12_1 프로퍼티 노드(Property Node)

DAQ로 전압 측정하기-2

Lesson 12_2 참조를 이용한 프로퍼티노드(Property Node)