From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

취소
다음에 대한 결과 표시 
다음에 대한 검색 
다음을 의미합니까? 

[질문]프로그램적으로 불리언을 추가할 수 있나요?

해결 완료!
솔루션으로 이동

불리언이나, 인디케이터, 컨트롤 등의 개체를 프로그램적으로 추가하고, 삭제할 수 있나요?

'불리언 추가' 불리언을 클릭시 새로운 불리언이 추가되게 프로그램이 가능할까요?

예제가 있으면 더욱 감사하겠습니다.

감사합니다.

0 포인트
1/9 메시지
1,132 조회수

계속 찾아 봤지만 그런 기능은  Labview에는 없는 것으로 보입니다.

Front Panel 과 Block Diagram의 1:1 Matching을 위해 새로운 Component의 생성이 안되는 것으로 알고 있습니다.

 

그러나 그런 기능을 하듯이 할 수는 있습니다.

 

미리 불리언들을 생성시켜 놓은 다음 안보이는 곳에다 위치 한 후 새로운 불리언을 생성하는 것 처럼 위치를 보이는 곳으로 옮기는 방법입니다.

하나씩 하나씩 가져다가 새로운 것처럼 보이면 되겠죠.

없애는 것은 안보이는 곳으로 옮기거나 Visible 프로퍼티를 사용합니다.

 

위치 옮기는 것은 프로퍼티 노드의 Position을 사용합니다.

크기는 프로퍼티 노드의 Bounds를 사용합니다.

 

미리 크기와 색상을 입혀 놓으면 편하겠죠.

 

 

 

0 포인트
2/9 메시지
1,114 조회수

아뇨. 기능 자체는 있습니다.

예전 마이랩뷰 시절에  오픈소스로 올라와 있었습니다.

저도 다운 받아놨었는데, 도저히 어디있는지 찾지를 못하겠습니다.

 

그 예제는 실행하면 아무것도 없는 상태에서 컨트롤 인디케이터 가져다 놓고, while 루프 넣고 크기 위치 조절까지 다 되는 그런 예제였습니다.

 

혹시 찾으면 올리겠습니다.

0 포인트
3/9 메시지
1,092 조회수

불리언이 100개가 넘어서 힘들것 같습니다.

0 포인트
4/9 메시지
1,088 조회수

https://zone.ni.com/reference/en-XX/help/371361P-01/lvhowto/scripting_creating_new_vi_objects/

 

위의 링크를 참고해 주세요.

 

VI 스크립팅이라고 하네요.

 

랩뷰 예제 탐색기에서   script 로 검색해서 나오는 것들 중에, add object 라는 예제 참고하시면 됩니다.

 

그런데, 스크립팅은 실행중인 VI에는 사용할 수가 없네요. 

main VI가  새 VI를 생성해서, 실행 전에  거기에 컨트롤을 만들고,

프로그램적으로 실행을 시켜서 마치 팝업창 처럼 활용해야 할듯 합니다.

 

 

https://www.bytelabs.it/how-add-button-programmatically-in-radiobutton/

이 링크는 구글링 하다가 찾은 것입니다.

 

-----

다른 방법으로 VI 를 호출하여, child 로 종속하게 만드는 것도 있네요.

https://forums.ni.com/t5/UI-Interest-Group-Discussions/Control-indicator-creation-at-run-time-dynami...

 

5/9 메시지
1,068 조회수

제가 원하는 건 새로운 vi 에 불리언을 생성하는게 아니라, 현재 vi의 프런트 패널에 불리언을 추가하는 방법입니다.

하지만 좋은 정보 감사합니다.

그냥 불리언을 150개 추가해 놓고 숨기기, 보이기로 프로그램해야 할것 같네요.

머리가 나쁘니까 몸으로 고생해야 겠네요.ㅠㅠ

 

0 포인트
6/9 메시지
1,056 조회수
솔루션
주제 작성자 RingRoller이(가) 승인함

위의 링크 중에, child로 만드는 예제는 실행중에 추가되는 예제입니다.

링크따라 가시면 응답들 중에 예제가 2개가 첨부되어 있는데,

그중에 첫번째 입니다.

0 포인트
7/9 메시지
1,049 조회수

그 예제는 다른 VI의 프런트 판넬을 메인 프런트 판넬에 종속시키는 것으로 실제적으로 Component를 추가하는 것이 아닙니다.

Runtime시에는 추가가 안되는 것으로 보입니다.

 

0 포인트
8/9 메시지
1,040 조회수

감사합니다.

0 포인트
9/9 메시지
1,038 조회수