안녕하세요. 오늘은 글로벌 변수에 대해서 설명 드리겠습니다. 로컬은 행당 VI에만 사용이 가능하다면 글로벌 변수는 서로 다른 VI에서도 정보를 주고 받을수가 있습니다.
그럼 이제 글로벌 변수에 대해서 보도록 하겠습니다.
 |
그림1) 프로젝트에서 VI생성 |
 |
그림2) 컨트롤 생성 |
프로젝트를 생성해서 새로운 VI를 만듭니다. 그리고 숫자형(DBL) 컨트롤을 만듭니다.
 |
그림3) 글로벌변수 선택 |
 |
그림4) 글로벌변수 배치 |
 |
그림5) 글로벌변수 새로 생성 |
이제 블록 다이어그램에서 글로벌 변수를 선택(그림3)하고 배치를 합니다. 현재 글로벌 변수에는 어떻한 변수가 정의되지 않았기 때문에 새로 생성(그림5)을 해야 합니다.
 |
그림6) 글로벌 변수에 인디게이터 생성 |
 |
그림7) 글로벌 벼수 저장 |
글로벌 변수안에 숫자형(DBL) 인디게이터를 생성합니다. 그리고 저장하면 글로벌 변수에 대한 작업은 마무리 된 것입니다.
 |
그림8) 블록다이어그램 코딩 |
숫자 데이터를 보내는 VI는 숫자형 컨트롤에서 글로벌 변수로 전달하게 되어있습니다. 위 그림8 처럼 코딩을 해서 항상 컨트롤의 데이터가 글로벌 변수에 500ms 마다 저장될수 있도록 하여주시기 바랍니다.
 |
그림9) 글로벌 변수 테스트 |
그림9 처럼 테스트를 하게 되면 왼쪽의 VI에서 숫자를 바뀔때 500ms로 글로벌 변수도 같이 변한다는 것을 알수 있습니다. 이는 왼쪽의 데이터가 오른쪽 글로벌 변수로 전달된다는 것을 알수 있습니다.
 |
그림10) 새로운 VI에 인디게이터 생성 |
이제 새로운 VI를 생성해서 글로벌 변수로 부터 데이터를 받아봅시다. 일단 프런트 패널에 숫자형(DBL) 인디게이터를 생성합니다.
 |
그림11) 글로벌변수를 다른 VI에 추가 |
이제 프로젝트에서 글로벌 변수를 드레그 드롭(마우스로 그대로 끌고오기)을 합니다.(그림11 참고)
 |
그림12) 글로벌 변수를 읽기로 변경 |
현재 글로벌 변수는 1개의 인디게이터만 있기 때문에 선택할수 있는 다른 변수가 없습니다. 하지만 필요에 따라 2개 이상의 변수도 글로벌 변수에 넣을수 있습니다. 그러면 프로그래머는 필요에 따라 글로벌 변수를 선택해야 합니다.
그림12 처럼 글로벌 변수가 블록다이어그램에 있으면 읽기로 변경해 줍니다.
 |
그림13) 2번째 VI 코딩 |
이제 2번째 VI또한 그림13 처럼 코딩을 해주시기 바랍니다.
 |
그림14) 2개의 VI와 1개의 글로벌 |
이제 위쪽은 데이터를 글로벌 변수로 보내는 VI, 오른쪽은 글로벌 변수 그리고 아래쪽은 글로벌 변수로 데이터를 받는 VI입니다.
 |
그림15) 데이터 전달 방향 |
실제 테스트 하면 약 0.5초 이내에 글로벌 변수가 전달 되는 것을 알수 있습니다. 당연히 0.5초는 기다림(ms) 을 500ms로 설정했기 때문입니다.
그러면 글로벌 변수의 장단점에 대해서 알려드리겠습니다.
장점
1. 프로그래밍이 편해진다.
2. 여러 VI를 동시에 사용할때 데이터 전달이 빠르다.
3. 글로벌 변수 1개로 여러개의 데이터를 주고 받을수 있다.
단점
1. 많이 사용하면 CPU, 램의 사용량이 증가한다.
2. 로컬 변수와 마찬가지로 많아지면 VI용량이 커진다.
3. 제대로 사용을 안하면 프로그램이 복잡해질수 있다.
일단 오늘 글은 여기서 마무리 하도록 하겠습니다.
예제 다운로드
댓글
댓글 쓰기