웹 서버에서 프런트패널을 원격으로 보고 컨트롤하기
- 업데이트 날짜:2025-08-27
- 4분 (읽기 시간)
LabVIEW나 웹 브라우저로 LabVIEW에 내장된 웹 서버에 연결하여, VI의 프런트패널을 원격으로 볼 수 있습니다. 또한 LabVIEW 내에서 VI 프런트패널을 원격으로 컨트롤할 수도 있습니다.
원격의 클라이언트에서 프런트패널을 열게 될 경우, 웹 서버는 클라이언트에게 프런트패널은 보내지만 블록다이어그램이나 모든 SubVI는 서버 컴퓨터에 남습니다. VI 프런트패널을 원격으로 컨트롤할 때 블록다이어그램이 서버에서 실행된다는 점을 제외하면 VI가 클라이언트에서 실행되는 것과 같은 방식으로 프런트패널과 상호작용할 수 있습니다. 전체 프런트패널을 공개하거나 원격 어플리케이션을 안전하고 쉽고 빠르게 컨트롤하기 위해 이러한 기능을 사용하십시오.
클라이언트를 위하여 서버를 설정하기
클라이언트가 프런트패널을 원격으로 보거나 컨트롤하기 위해서는 먼저 서버 컴퓨터에 있는 사용자가 서버를 설정해야 합니다. 도구≫옵션을 선택하고 항목 리스트에서 웹 서버 페이지를 선택하여 웹 서버를 설정합니다. 이 페이지를 사용하여 서버에 접근할 수 있는 브라우저를 컨트롤하고 원격에서 볼 수 있는 프런트패널이 어떤 것인지 지정합니다. 또한 여러 클라이언트가 VI를 컨트롤하려고 차례를 기다리는 경우 한 원격 클라이언트가 얼마간 컨트롤할 수 있는지에 대한 시간 제한을 이 페이지에서 설정할 수 있습니다.
웹 서버는 여러 클라이언트가 동시에 같은 프런트패널에 연결하도록 할 수 있도록 하지만, 한 번에 하나의 클라이언트만 프런트패널을 컨트롤하도록 합니다. 서버 컴퓨터의 사용자는 언제든지 VI의 제어권을 다시 가져올 수 있습니다. 제어권자가 프런트패널의 값을 바꾸게 되면, 모든 클라이언트의 프런트패널에도 그 내용이 전달됩니다. 하지만, 클라이언트의 프런트패널은 모든 변화를 반영하지는 않습니다. 일반적으로, 클라이언트의 프런트패널은 프런트패널 객체의 디스플레이의 변화에 영향을 받지 않고, 프런트패널 객체의 실제 값에만 영향을 받습니다. 예를 들어, 만약 제어권자가 맵핑 모드나 차트 스케일의 간격을 표시한 마커를 변경하거나, 차트의 스크롤 막대를 보이거나 숨기면, 이 모든 변화에 대해 제어권자의 프런트패널만 영향을 받습니다.
LabVIEW나 웹 브라우저로 프런트패널을 보고 컨트롤하기
클라이언트는 웹 브라우저에서만 원격으로 프런트패널을 볼 수 있습니다. 그러나 클라이언트는 LabVIEW 를 사용하여 원격으로 프런트패널을 보고 컨트롤할 수 있습니다.
LabVIEW 에서 프런트패널을 원격으로 컨트롤하려면 클라이언트 컴퓨터와 서버 컴퓨터가 동일한 버전의 LabVIEW 를 실행해야 합니다. 리모트 프런트패널을 보고 컨트롤하기 위해서 브라우저를 사용하는 경우, 서버 컴퓨터의 LabVIEW 버전과 호환되는 LabVIEW 런타임 엔진 버전을 사용해야 합니다. 또한, 서버 관리자와 연락하여 HTML 문서가 LabVIEW 런타임 엔진의 정확한 버전을 지정하는지를 확인하도록 합니다.
웹 브라우저에서 프런트패널 보기
LabVIEW가 설치되지 않은 클라이언트가 프런트패널을 원격으로 볼 수 있도록 하려면 웹 브라우저를 사용하면 됩니다.
- 웹 서버에서 웹 공개 도구를 사용하여 VI를 공개합니다.
- 생성된 웹 주소를 클라이언트에 제공합니다.
LabVIEW에서 프런트패널 보기와 컨트롤하기
LabVIEW를 클라이언트로 사용하여 리모트 프런트패널을 보려면, 수행≫리모트 패널에 연결을 선택하여 리모트 패널에 연결 대화 상자를 디스플레이합니다. 이 대화 상자를 사용하여 서버의 인터넷 주소 및 보려고 하는 VI를 지정합니다. 기본적으로 리모트 VI 프런트패널은 관찰자 모드로 초기화되어 있습니다. VI를 요청할 때 리모트 패널에 연결 대화 상자의 컨트롤 요청 확인란에 확인 표시를 하여 컨트롤을 요청할 수 있습니다. VI가 사용자 컴퓨터에 나타나면, 프런트패널에서 마우스 오른쪽 버튼을 클릭하고 바로 가기 메뉴에서 컨트롤 요청을 선택합니다. 또는 프런트패널 윈도우의 아래쪽에 위치한 상태 표시를 클릭하여 이 메뉴에 접근할 수 있습니다. 현재 다른 클라이언트가 컨트롤 권한을 행사하고 있지 않을 경우, 현재 사용자에게 프런트패널의 컨트롤 권한이 부여됩니다. 현재 다른 클라이언트가 VI를 컨트롤하고 있는 경우, 서버는 다른 클라이언트가 컨트롤을 해제하거나 컨트롤 시간 제한이 타임아웃될 때까지 요청을 큐합니다. 서버 컴퓨터의 사용자만 도구≫리모트 패널 연결 관리자를 선택하여 클라이언트 큐 리스트를 볼 수 있습니다. 원격 컴퓨터에서 실행되는 VI로 생성된 데이터를 저장하려는 경우, 리모트 프런트패널 대신 TCP를 사용하십시오.
클라이언트에서 관찰하거나 컨트롤하려고 하는 모든 VI는 서버 컴퓨터에서 메모리 상에 존재해야 합니다. 요청한 VI가 메모리에 상주할 경우, 서버는 요청한 클라이언트에게 이 VI의 프런트패널 데이터를 전송합니다. 요청한 VI가 메모리에 상주하지 않을 경우, 리모트 패널에 연결 대화 상자의 연결 상태 섹션이 에러 메시지를 디스플레이합니다.
| 노트 (Linux) NI는 Linux에서 리모트 프런트패널을 지원하지 않습니다. |
리모트 프런트패널을 동시에 컨트롤하는 여러 클라이언트
여러 클라이언트가 동시에 원격으로 VI를 컨트롤할 수 있습니다. VI의 동시 컨트롤을 허용하려면 VI가 재호출이어야 합니다. VI를 재호출로 만드려면, 파일≫VI 프로퍼티를 선택하고 항목 리스트에서 실행을 선택한 후 공유 복제 재호출 실행 또는 미리 할당된 복제 재호출 실행 중 하나를 선택합니다. LabVIEW는 리모트 프런트패널의 각 클라이언트 요청에 대한 재호출 VI의 복제를 엽니다. 웹 서버:VI 접근 리스트 프로퍼티를 사용하여 프로그램적으로 리모트 프런트패널 연결시 이미 메모리에 있는 복제본에 대한 접근을 제한할 수 있습니다.
리모트 프런트패널 보기와 컨트롤에서 지원되지 않는 기능
다음 리스트에서는 리모트 프런트패널을 확인하고 컨트롤할 때 지원되지 않는 기능과 권장사항에 대해 설명합니다.
- 기다림 함수가 없는 While 루프가 포함된 VI의 사용은 삼가해 주십시오. 이러한 VI는 우선 순위가 낮은 태스크가 일정한 시간동안 수행하는 것을 방해하여 원격에서 프런트패널을 보고 컨트롤할 때 프런트패널이 반응을 하지 않을 수 있습니다.
- 특정 VI는 원격 컴퓨터에서 실행할 때와 로컬 컴퓨터에서 실행할 때 동일하게 수행되지 않을 수도 있습니다. 임베디드 .NET과 ActiveX 컨트롤은 LabVIEW에 상관없이 거의 독립적으로 그림을 그리거나 수행되므로 리모트 클라이언트에서는 나타나지 않습니다. VI가 표준 파일 대화 상자를 사용할 경우, 원격에서 파일 시스템을 탐색할 수 없으므로 컨트롤러는 에러를 받게 됩니다. 또한, 경로 컨트롤의 탐색 버튼은 리모트 패널에서 비활성화됩니다.
- 클라이언트가 원격에서 프런트패널을 볼 때, 이 프런트패널이 생성된 어플리케이션과 연결이 되어 있는지 아닌지에 따라서 다른 작동을 합니다. 특히, 생성된 어플리케이션의 프런트패널인 경우, 클라이언트가 이 프런트패널에 접속하기 전에 프로그램적으로 변경된 부분은 클라이언트의 컴퓨터에 적용되지 않습니다. 예를 들어, 클라이언트가 프런트패널에 접속하기 전에 프로퍼티 노드로 컨트롤의 캡션을 변경할 경우, 클라이언트는 변경된 캡션이 아닌 원래의 캡션을 보게 됩니다.
- VI 서버를 이용하여 다이나믹하게 열고 실행된 VI의 프런트패널 또는 호출될 때 프런트패널을 디스플레이하도록 설정된 subVI의 프런트패널을 컨트롤러만이 원격으로 볼 수 있습니다. VI를 컨트롤할 권한이 없는 클라이언트는 그 프런트패널을 볼 수 없습니다.
- 프런트패널 컨트롤의 프로퍼티를 폴링하여 사용자 인터페이스의 효과를 얻는 블록다이어그램은 원격 컴퓨터에서 VI를 컨트롤할 때 성능이 저하될 수 있습니다. 이러한 VI의 성능은 [프런트패널 작업 기다림] 함수를 사용하여 향상시킬 수 있습니다.
- LabVIEW는 원격에서 보기 또는 컨트롤하려는 VI의 패널 닫기 이벤트를 생성할 수 없습니다. VI를 원격에서 보거나 컨트롤하는 경우, LabVIEW는 어플리케이션 또는 VI 클래스가 아닌 컨트롤 클래스에서만 이벤트를 생성할 수 있습니다.
- SubVI 호출 시 SubVI의 프런트패널을 디스플레이하는 VI를 원격으로 보거나 컨트롤하는 경우, 수동으로 SubVI의 프런트패널을 닫지 마십시오. 그렇지 않으면, 클라이언트 컴퓨터와 서버 컴퓨터에 있는 VI의 컨트롤을 잃을 수도 있습니다. 호출된 SubVI의 프런트패널을 확인해야 하는 경우에는, LabVIEW가 SubVI의 실행 후 이를 닫도록 설정하십시오.