같은 VI에 대해 여러 비동기화 호출을 시작하면, LabVIEW는 호출을 직렬화하고, 강제로 한 번에 하나씩 실행시키도록 기본 설정되어 있어, 누적 실행 시간이 더 길어집니다. 다음 과정에 따라 호출을 병렬로 실행하여, 어떤 호출도 다른 호출의 실행을 지연하는 일이 없도록 합니다.

사용 객체

다음의 블록다이어그램 객체를 사용하여 다이나믹하게 재호출 VI에 대한 비동기화 호출을 시작한 후 나중에 해당 VI의 출력을 수집합니다:

다음 단계

다음의 블록다이어그램을 생성하여 재호출 VI에 대한 여러 비동기화 호출을 시작한 후 결과를 수집합니다.



위의 블록다이어그램에 대한 중요한 상세 정보가 다음 리스트에 설명되어 있습니다.

노트 LabVIEW 도움말은 [VI 참조 열기] 함수의 모든 옵션 플래그를 16진수 형으로 디스플레이합니다. 그러므로, 항상 16진수로 숫자형 상수 입력의 디스플레이 포맷을 변경하여 올바른 값을 전달하도록 합니다.
노트 비동기화 호출의 결과를 무시하려면, 비동기화 호출 기다림 노드를 생략하고 0x80 옵션 플래그를 0x100 옵션 플래그 대신 포함시킵니다.

유의점 및 권장사항

VI 서버 프로퍼티 및 메소드는 비동기화 VI 호출의 병렬 인스턴스를 수정할 수 없습니다. 0x40 VI 참조에서 VI 서버 프로퍼티나 메소드를 호출하는 경우, 해당 프로퍼티나 메소드는 동기화 호출 시작 노드가 실제로 호출하는 VI 복제를 수정할 수 없습니다. 그 대신 프로퍼티나 메소드는 타겟 VI 원본에 영향을 미칩니다. 비동기화 호출 시작 노드가 실제로 호출하는 VI 복제에 VI 서버 프로퍼티나 메소드를 적용하려면, 프로퍼티나 메소드를 타겟 VI 내에서 호출합니다.

예제

VI의 병렬 인스턴스를 비동기적으로 호출하여 실행 시간을 줄이는 예제는 labview\examples\Application Control\VI Server\Asynchronous Call By Reference 디렉토리에 있는 Asynchronous Call and Collect (Using Option 0x40) VI를 참조하십시오.

동일한 태스크를 해결하기 위한 몇 가지 동기화 및 비동기화 접근 방식의 비교는 labview\examples\Application Control\VI Server\Asynchronous Call By Reference 디렉토리에 있는 Benchmarking Asynchronous Calls VI를 참조하십시오.