내 Main VI와 병렬로 다른 VI를 동적으로 로드하고 실행

업데이트 됨 Nov 6, 2023

해당 제품

소프트웨어

  • LabVIEW Base
  • LabVIEW Full
  • LabVIEW Professional

문의사항

참조에 의한 호출 노드를 사용하여 메인 VI에서 팝업 VI를 동적으로 로드하고 실행합니다. 팝업 VI가 실행 중일 때, 메인 VI는 병렬로 실행되지 않고 참조에 의한 호출 노드에 의존하는 것처럼 보이기 때문에 멈춥니다. 실행을 막지 않고 메인 VI와 병렬로 다른 VI를 동적으로 로드하고 실행할 수 있습니까?

해결책

참조에 의한 호출 노드를 사용하여 VI를 실행하면, 자체 실행 중일 때에 VI는 실행되지 않습니다. 메인 VI는 호출 기준 노드에 의존하며 병렬로 실행되지 않습니다.

LabVIEW 2011 및 이후 버전 :
LabVIEW 2011에서는 비동기화 호출 시작 및 비동기화 호출 기다림 노드를 사용하여 메인 VI와 병렬로 SubVI를 쉽게 실행할 수 있습니다. 추가적인 세부 사항과 예제는 비동기적으로 VI 호출하기 를 참조하십시오.

LabVIEW 2010 및 이전 버전 :
LabVIEW 2010 및 이전 버전에서 두 번째 VI를 메인 VI와 병렬로 동적으로 로드하고 실행하려면 인보크 노드의 Run VI 메소드를 사용하여 VI를 호출해야합니다. 아래에 링크된 커뮤니티 예제에 나와있는 것처럼 이 VI의 데이터 종속성을 없애려면 Wait until done 옵션을 FALSE 로 설정해야 합니다. 호출된 VI의 프런트패널을 표시하려면 프런트패널>>열기 인보크 노드를 사용해야합니다. 이렇게 하면 팝업 VI가 실행 된 후에도 메인 VI가 병렬로 계속 실행됩니다.

컨트롤 값>>설정 과 컨트롤 값>>얻기 메소드를 사용하여 메인 VI와 팝업 VI간에 데이터를 주고 받을 수 있습니다.

관련 링크 섹션의 커뮤니티 예제에서는 인보크 노드, 메소드 및 프로퍼티 노드를 사용하여 SubVI를 병렬로 호출하고 실행하는 방법을 보여줍니다.