Lesson 7_3 Event Structure(이벤트 구조_키보드 이벤트)

안녕하세요. 오늘도 이벤트 구조 사용법에 대해서 말씀드리겠습니다. 프로그램을 사용하다보면 단축키 처럼 키보드를 눌러서 바로 기능을 사용하는 방법이 있습니다. LabVIEW에서도 그 기능이 있는에 사용하는 방법을 알려드리겠습니다.



그림1) 웨이브폼 추가

그림2) 숫자 인디게이터 추가

그림3) 정지버튼 추가

그림4) 문자 인디게이터 추가


그림1~4까지 웨이브폼, 숫자 인디게이터, 정지버튼 그리고 문자열 인디게이터를 생성합니다. 생성위치는 자유롭게 하셔도 되고 그림을 참고해서 만드셔도 됩니다.


그림5) 숫자 인디게이터를 정수로 변경
숫자형 인디게이터는 while loop의 동작횟수를 측정하기 위해서 정수로 변경합니다.

그림6) 정지 이벤트 생성

그림7) 숫자 인디게이터를 반복터미널에 연결

이전과 마찬가지로 정지 이벤트를 생성하고 정지 버튼을 넣어서 while loop의 조건 터미널에 연결합니다.
그림8) 이벤트 추가


그림9) 이 VI를 이벤트 추가

이번에는 이전과 다르게 프로그램으로 짜고 계시는 이 VI에 대해서 이벤트를 생성할려고 합니다. 이 프로그램이 동작하면서 특정한 조건(이 경우 특정 키보드 버튼)이 발생할 경우 동작 합니다.

그림10) 문자열 포멧 추가


그림10) V코드와 문자열 연결

그림10 에서 문자열 포멧을 추가합니다. 이유는 V코드에서 나오는 값을 변환하여 문자로 만들기 위해서 입니다. 변환된 값은 프런트 패널(그림4)에서 만든 문자 인디게이터와 연결합니다.


그림11_0) 테스트1

그림11_1) 테스트2

테스트1,2까지 보면 알겠지만 프로그램이 동작이 됨에 따라 키보드를 누르면 그것에 대해 해당되는 문자가 나타납니다. 위 사진에서는 오른쪽 화살표(Right)와 쉬프트(Shift)를 눌렀습니다. 하지만 키보드에 나오느 Enter를 누르면 Return이라는 값이 나옵니다. 이제 이 Return을 이용해서 프로그램을 짤겁니다.
그림12) 케이스구조 추가

그림13) 리턴 케이스 생성

그림12,13 처럼 V코드와 케이스문을 연결합니다.  "ASCII", 기본 케이스 문이 있고 거짓 케이스 문이 있는데 거짓 케이스는 Return으로 변경합니다.
그림14) 리턴 케이스에 난수 추가
그리고 Return케이스 안에 난수를 넣고 그 난수는 바깥쪽의 웨이브 폼과 연결을 합니다.
그림15)  "ASCII", 기본 에 0 추가

하지만 이것 갖고는 실행이 가능하지 않습니다.  "ASCII", 기본 으로 돌아가서 0을 넣고 같은방법으로 웨이브폼에 연결을 합니다.

그림16) 엔터 누를시 동작
이제 프로그램을 실행하고 엔터를 누를때마다 그래프가 그려지는 것을 알수 있습니다. 하지만 다른 키를 누르면 계속 0이 기록되는 것을 알수 있습니다.


이것으로 단축키를 만드는 방법을 마무리 하도록 하겠습니다. 단일키로 단축키를 만들수 있고 또는 조합을 할수 있습니다.


Discord Community Link

댓글

이 블로그의 인기 게시물

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

DAQ로 전압 측정하기-2

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