공유 변수를 사용하여 2대의 컴퓨터 간에 통신하는 방법은 무엇입니까?

업데이트 됨 May 20, 2024

환경

하드웨어

  • CompactRIO Controller

소프트웨어

  • LabVIEW

공유 변수를 사용하여 네트워크에 연결된 두 대의 Windows 컴퓨터 간에 데이터를 주거나 받고 싶습니다. 어떻게 해야 합니까?

하나의 컴퓨터를 선택하여 서버로 동작하게 하고 다른 컴퓨터는 클라이언트가 되어야 합니다. 그러고 나서 아래 단계에 따라 서버 및 클라이언트 시스템을 설정하십시오.

서버 컴퓨터 :
  1. LabVIEW 프로젝트를 만들고 내 컴퓨터를 마우스 오른쪽 버튼으로 클릭하고 새로 만들기 » 변수를 선택하여 변수를 추가하십시오. 변수 타입이 네트워크(Network-Published)로 설정되어 있는지 확인하십시오.
  1. Using the LabVIEW Shared Variable를 참고하여 새 VI를 생성하고 네트워크 공유 변수를 쓰거나 읽습니다.
서버 프로젝트는 이와 유사합니다.

클라이언트 컴퓨터 :
새로운 LabVIEW 프로젝트를 생성하여 새 VI를 추가하고 공유 변수 API의 기능을 사용하여 원격 서버에서 호스트 된 공유 변수와 통신하십시오. 공유 변수 API는 데이터 통신 함수 팔레트에서 찾을 수 있습니다.
  1. 문자열(String) 또는 공유 변수 참조 번호(Shared Variable Refnum) 상수 또는 컨트롤과 함께 변수 연결 열기(Open Variable Connection) 함수를 사용하여 네트워크 공유 변수(Network Published Shared Variable) URL을 ni.var.psp://<machine_name_or_IP_address>/<library>/<variable>로 지정하십시오. 공유 변수 참조 번호 상수 또는 컨트롤은 공유 변수 API 함수들 중에서 공유 변수 참조 번호 입력(Shared Variable Refnum in) 부분에 마우스를 올려놓고 오른쪽 버튼을 누른 뒤 생성(Create) » 상수/컨트롤(Constant/Control)을 선택하여 만들 수 있습니다.
  2. 변수 쓰기 또는 변수 읽기 함수를 사용하여 필요에 따라 변수를 쓰거나 읽습니다.
  3. 네트워크 공유 변수에 대한 참조를 닫으려면 변수 연결 닫기 함수를 사용하십시오.
코드는 다음과 유사하게 작성하면 됩니다.

Additional Information

LabVIEW 2009 이후에 제공되는 공유 변수 API를 이용하여 Windows 시스템 간 통신하는 것을 권장합니다. 하지만 대체 방법으로 네트워크 공유 변수를 프런트 패널 객체에 바인딩하여 바인딩 된 변수에 변경 사항이 있을 경우 컨트롤 또는 인디케이터가 자동으로 업데이트되게 하는 방법이 있습니다. 하지만 데이터 바인딩 방법은 프런트 패널 객체의 기능을 모호하게 하므로 권장하지 않습니다. 컨트롤이나 인디케이터가 와이어에서 값을 가져오지 않기 때문에 코드의 가독성이 떨어지기 때문입니다.

추가 정보는 관련 링크 및 Shared Variable.lvproj 예제의 문서를 참조하십시오. 예제를 찾으려면 LabVIEW를 실행하고 도움말 » 예제 찾기... 를 클릭하여 예제 찾기를 열고 로드되면 탐색을 선택하고(탐색 기준: 태스크) 네트워킹 » 공유 변수를 확장하십시오.