네트워크 공유 변수는 공유 변수 엔진(SVE)이라고 하는 소프트웨어 구성요소를 통해 네트워크로 데이터를 공개합니다. 공유 변수 엔진은 LabVIEW를 설치할 때 사용자 컴퓨터에 서비스로 설치되며, NI Publish-Subscribe Protocol (NI-PSP)이라고 하는 독점 기술을 사용하여 공유 변수 업데이트를 관리합니다. publish-subscribe라는 용어는 발신자(writer 또는 publisher)가 특정 수신자(reader 또는 subscriber)에게 데이터를 전송하지 않는 통신 모델을 나타냅니다. 오히려 발신자(publisher)는 서버에 업데이트를 전송하고, 이경우 공유 변수 엔진, 즉 수신자(subscriber)는 해당 업데이트를 서버에서 받습니다.

노트 네트워크 공유 변수를 방화벽이나 라우터를 통해 전송하려면, 방화벽과 네트워크 주소 전송(NAT) 라우터를 설정해야 합니다.

다음 그림은 공유 변수 노드를 사용하여 공유 변수 엔진이 어떻게 NI-PSP로 공유 변수 업데이트를 관리하는지 보여줍니다.

노트 공유 변수 노드공유 변수의 읽고 쓰기에 사용할 수 있는 여러 프로그래밍 도구 중 하나입니다.

다음과 같은 이벤트가 위의 그림에서 발생합니다:

  1. 어플리케이션 A에서, [난수 (0-1)] 함수는 변수 1에 대응하는 공유 변수 노드에 난수를 씁니다.
    노트 네트워크를 통해 공유 변수를 읽고 쓰려면, 우선 네트워크에서 해당 공유 변수의 이용이 가능하도록 해야 합니다.
  2. 어플리케이션 A의 공유 변수 노드는 공유 변수 엔진에 요청을 보내 변수 1의 값을 업데이트합니다.
  3. 공유 변수 엔진은 어플리케이션 B와 C의 변수 1에 대응하는 공유 변수 노드에 새로운 값을 승인하여 보냅니다.

이전 그림에서 컴퓨터 1이 어플리케이션 A에 있는 변수 1의 발신자와 어플리케이션 B에 있는 변수 1의 수신자를 호스트하지만, 어플리케이션 A는 어플리케이션 B에 직접 새로운 값을 쓸 수 없습니다. 그 대신, 어플리케이션 A가 컴퓨터 2의 공유 변수 엔진(SVE)에 요청을 보내야만 변수 1을 읽는 모든 어플리케이션을 업데이트할 수 있습니다. 따라서, 이러한 업데이트 관련 지연 때문에 최근값만을 공개할 경우 공유 변수가 이상적입니다. 연속적으로 데이터를 스트리밍하려면 네트워크 스트림을 사용합니다.

네트워크에서 공유 변수의 이용 가능하게 하기

공유 변수 엔진(SVE)에 공유 변수를 배포해야만 네트워크를 통해 해당 공유 변수를 읽고 쓸 수 있습니다. 공유 변수를 배포할 때 LabVIEW는 프로젝트 라이브러리에 있는 모든 다른 공유 변수를 포함하여, 해당 공유 변수를 포함하는 프로젝트 라이브러리를 공유 변수 엔진(SVE)에 배포합니다. 그리고 나서 공유 변수 엔진은 각 공유 변수에 대한 메모리 공간을 포함하는, 해당 프로젝트 라이브러리에 대한 메모리 공간을 생성합니다.

NI-PSP 데이터 아이템

NI-PSP를 사용하여 네트워크를 통해 LabVIEW가 공개하는 모든 데이터는 NI-PSP 데이터 아이템입니다. 일반적인 NI-PSP 데이터 아이템은 다음을 포함합니다:

  • 네트워크 공유 변수
  • 네트워크 공개가 활성화된 I/O 변수
  • OPC 서버의 데이터 아이템
  • FieldPoint 모듈의 데이터 아이템

LabVIEW는 네트워크 경로로 NI-PSP 데이터 아이템을 식별하는데, 네트워크 경로는 데이터 아이템이 위치한 컴퓨터의 이름, 데이터 아이템이 있는 프로세스의 이름, 데이터 아이템의 이름으로 구성됩니다. 예를 들어, 네트워크 경로 \\computer1\mylib\myvariablecomputer1로 명명된 컴퓨터의 mylib 프로젝트 라이브러리에서 myvariable라는 이름의 공유 변수를 식별합니다. 공유 변수가 mysublib라는 이름의 서브프로젝트 라이브러리에 존재하는 경우, \\computer1\mylib\mysublib\myvariable와 같이 공유 변수 경로는 서브프로젝트 라이브러리를 포함합니다.

기존 데이터 소스 또는 컨트롤과 인디케이터로 공유 변수를 읽고 쓸 때 NI-PSP 데이터 아이템의 네트워크 경로를 지정하거나 NI-PSP 데이터 아이템을 탐색합니다.

공유 변수 엔진 에러

공유 변수 엔진은 서버 상태 업데이트 및 유효하지 않은 프로세스 설정과 같은 심각한 에러를 리포트합니다. Windows 이벤트 뷰어에서 이러한 에러를 볼 수 있습니다. Windows 제어판에서 관리 도구 디렉토리의 이벤트 뷰어를 탐색합니다. 관리 도구 디렉토리의 정확한 위치는 사용하는 Windows 버전에 따라 다릅니다.

데이터 통신 방법