Q&A 게시판

cancel
Showing results for 
Search instead for 
Did you mean: 

데이터 형식 변경에 따른 SubVI에 속한 알림자 참조 번호 업데이트

LV의 샘플 예제로 작업중입니다.

 

작업중에 알림자/큐 구조에서 데이터 클러스터를 변경하였습니다. 이때 SubVI로 묶인 부분의 알림자와 큐의 참조 번호가 변경되므로 연결이 되지 않습니다.

 

제가 사용한 방법은 SubVI를 풀어서 알림자/큐 생성에 연결했다가 다시 SubVI로 묶는 방법이었습니다.

그런데 이 방법은 제대로된 방법이 아닌듯 합니다.

 

SubVI에 있는 참조 번호의 테이터 타입을 변경해서 적용할 수 있는 방법은 없는지요?

0 Kudos
Message 1 of 4
(2,017 Views)

NI Example Finder 중 아래 예제 참조하세요.

 

Queued Message Handler Fundamentals.vi

 

중요한 것은 Type Define 입니다.

블록 다이어그램에서  Constant 를 보면 좌측 상단에 검은 세모꼴이 보입니다. 이것이 Type Define으로 되어 있다는 의미입니다.

 

 

하나의 Typedefine 으로 묶어 놓으면 Sub-VI 던 VI 내부던 동시에 변경됩니다.

 

Message 2 of 4
(1,973 Views)

감사합니다. 

그렇게 해도 되고 그냥 참조를 해당 알림자 연결선에서 새로 생성해서 복사해 주어도 되더군요..

괜히 복잡하게 생각했습니다.. 

0 Kudos
Message 3 of 4
(1,961 Views)

Notification 의 참조를 그냥 SubVI 에 연결해서, SubVI 를 끌어다 다른 곳에서 쓴다라고 하시는 것 같네요.

 

Notification 이나 Queue 의 Reference 를 코드 동작 중 바꾸는 것은 새로 선언하는 것이나 마찬가지 입니다.

 

즉, 기존의 Notification 과 Queue 를 닫고, 다시 데이터 형을 선언한 Notification 과 Queue 를 생성해야 하는 것이죠.

 

이때 바로 Buffer 가 삭제되지 않으므로, 일정 Delay 를 준 후 생성해야 합니다.

 

그럴 바에는 처음부터 예상되는 데이터 형 별 Notification 이나 Queue 를 생성해서, 서로 데이터를 주고 받는 코드를 만드는게 맞겠죠.

0 Kudos
Message 4 of 4
(1,951 Views)