블록다이어그램에 공유 변수를 나타냅니다. 공유 변수 노드를 활성 프로젝트의 공유 변수에 연결하려면, 블록다이어그램에 공유 변수 노드를 추가한 후 더블 클릭하거나, 노드에서 마우스 오른쪽 버튼을 클릭한 후 바로 가기 메뉴에서 변수 선택>>탐색...을 선택하여 변수 선택 대화 상자를 디스플레이합니다. 또한 프로젝트 탐색기 윈도우로부터 같은 프로젝트의 VI의 블록다이어그램으로 공유 변수를 끌어서 공유 변수 노드를 생성할 수 있습니다.

노트 공유 변수 노드의 동작은 물리적 I/O 채널에 연결되어있을 때 다르게 나타납니다. I/O 변수에 대한 정보는 I/O 변수 사용하기 토픽을 참조하십시오.


icon

입력/출력

  • ?

    변수는 공유 변수 노드에 쓸 값을 지정합니다. 공유 변수 노드가 데이터에 쓰기로 설정될 때 값을 이 입력에 연결해야 합니다. 그렇지 않으면 VI가 깨집니다. 이 출력은 공유 변수 노드가 데이터를 쓰도록 설정된 경우에만 사용 가능합니다.

  • ci32.png ms 타임아웃(0)

    ms 타임아웃은 데이터를 읽도록 설정된 공유 변수 노드의 타임 아웃 기간을 밀리초 단위로 지정합니다. 공유 변수는 지정된 시간만큼 업데이트된 데이터를 기다립니다. 타임 아웃? 인디케이터는 공유 변수가 지정된 시간 내에 업데이트된 데이터를 읽는지 아니면 타임아웃되는지 여부를 반환합니다. 업데이트된 데이터는 새 값을 나타내거나 단순히 활성화된 프로젝트 상의 공유 변수와 유효하게 연결되어 있음을 확인하는 기존 값을 나타낼 수도 있습니다. ms 타임아웃 입력을 공유 변수 노드에 추가하려면 공유 변수 노드에서 마우스 오른쪽 버튼을 클릭하고 바로 가기 메뉴에서 타임아웃 보이기를 선택합니다. 데이터를 읽도록 설정된 변수 노드에서만 타임 아웃 기간을 활성화할 수 있습니다. 로컬로 I/O 변수에 접근하는 노드에서는 타임아웃을 활성화할 수 없습니다.

  • cerrcodeclst.png 에러 입력(에러 없음)

    에러 입력은 이 노드의 실행 전에 발생한 에러 조건을 설명합니다. 이 입력은 표준 에러 입력 기능을 제공합니다.

  • idbl.png ?

    변수는 공유 변수 노드가 나타내는 공유 변수의 현재 값을 지정합니다. 이 출력은 공유 변수 노드가 데이터를 읽도록 설정된 경우에만 사용 가능합니다. 공유 변수가 타임아웃이 될 경우, 변수는 노드가 마지막으로 읽은 값을 반환합니다. 이 노트가 데이터를 읽기 이전에 타임아웃되거나 데이터의 타입이 호환 가능하지 않을 경우, 데이터는 0의 값, 즉 비거나 동등한 값을 반환합니다.

  • ibool.png 타임아웃?

    타임 아웃?은 지정된 타임 아웃 기간 내에 공유 변수 노드가 새로운 데이터를 읽는지 아니면 타임 아웃되는지 여부를 디스플레이합니다. 타임 아웃? 출력을 공유 변수 노드에 추가하려면 공유 변수 노드에서 마우스 오른쪽 버튼을 클릭하고 바로 가기 메뉴에서 타임아웃 보이기를 선택합니다. 데이터를 읽도록 설정된 변수 노드에서만 타임 아웃 기간을 활성화할 수 있습니다. 로컬로 I/O 변수에 접근하는 노드에서는 타임아웃을 활성화할 수 없습니다.

    타임아웃이 만료되면 공유 변수 노드는 변수에 마지막으로 쓴 값을 반환하며 에러를 반환하지 않습니다.
  • iatrn.png 타임스탬프

    타임스탬프는 공유 변수에 대한 타임스탬프 데이터를 디스플레이합니다. 타임스탬프 출력을 단일 프로세스 공유 변수나 I/O 변수에 대한 공유 변수 노드에 추가하려면, 먼저 공유 변수 프로퍼티 대화 상자의 변수 페이지에 있는 타임스탬프 활성화에 확인란에 확인 표시를 한 후, 공유 변수 노드에서 마우스 오른쪽 버튼을 클릭하여 바로 가기 메뉴에서 타임스탬프 보이기를 선택해야 합니다. 이 출력은 데이터를 읽도록 설정한 공유 변수 노드와만 같이 사용할 수 있습니다.

  • ierrcodeclst.png 에러 출력

    에러 출력은 에러 정보를 포함합니다. 이 출력은 표준 에러 출력 기능을 제공합니다.

  • 프로젝트 탐색기 윈도우로부터 공유 변수를 끌어서 블록다이어그램에 놓거나 공유 변수 노드를 블록다이어그램에 놓는 경우, LabVIEW는 데이터를 읽도록 공유 변수 노드를 설정합니다. 데이터를 쓰도록 공유 변수 노드를 설정하려면, 공유 변수 노드를 마우스 오른쪽 버튼으로 클릭한 후 바로 가기 메뉴에서 쓰기로 변경을 선택합니다.

    노트 Windows, RT 타겟, 일부 PDA 타겟에서만 공유 변수를 생성, 설정, 호스트할 수 있습니다. [DataSocket] VI 및 함수를 사용하여 다른 플랫폼의 공유 변수를 읽거나 쓸 수 있습니다.

    공유 변수 노드를 공유 변수에 연결하는 방법을 지정하려면 노드를 절대 또는 타겟 상대로 설정합니다. 절대 공유 변수 노드는 항상 공유 변수를 생성한 타겟의 공유 변수에 연결됩니다. 특정 타겟 공유 변수 노드는 항상 공유 변수 노드를 포함한 VI를 실행하는 타겟의 공유 변수에 연결됩니다. 절대 공유 변수 노드를 특정 타겟으로 변경하려면, 공유 변수 노드에서 마우스 오른쪽 버튼을 클릭한 후 바로 가기 메뉴에서 참조 모드≫특정 타겟으로 변경을 선택합니다. 특정 타겟 공유 변수 노드를 절대적으로 변경하려면, 공유 변수 노드에서 마우스 오른쪽 버튼을 클릭한 후 바로 가기 메뉴에서 참조 모드≫절대를 선택합니다.

    노트

    프로젝트에서 공유 변수 노드가 포함된 VI를 열었으나 공유 변수 노드가 프로젝트 탐색기 윈도우에서 관련된 공유 변수를 찾을 수 없는 경우 공유 변수 노드가 깨집니다. 찾을 수 없는 공유 변수와 관련된 모든 프런트패널 컨트롤도 깨집니다.

    (Windows) 이같은 동작은 Windows에서만 나타나며 프로젝트의 VI를 열 때에만 발생합니다. VI를 주요 어플리케이션 인스턴스에서 열었을 경우, 공유 변수를 찾을 수 없다는 알림을 받지 않습니다.

    VI의 네트워크 공유 변수 노드는 .aliases 파일을 사용하여 공유 변수가 배포된 프로젝트 안에 있는 디바이스의 IP 주소를 구분합니다. LabVIEW 프로젝트에서 VI를 실행하는 경우, VI는 프로젝트의 .aliases 파일을 찾아서 가명을 해석합니다. 프로젝트는 각각의 타겟 디바이스를 .aliases파일에 저장하며, 변경 사항이 있을때, IP 주소를 업데이트 합니다. VI가 기본 애플리케이션 인스턴스에서실행되면 VI는 LabVIEW.exe와 동일한 디렉터리에 있는 LabVIEW.aliases 파일을 사용하여 별칭을 찾습니다. 이 파일은 프로젝트 .aliases파일과 같이 자동으로 업데이트 되지 않습니다. 공유 변수를 사용하는 어플리케이션을 빌드하는 경우, 빌드 스펙에 .aliases 파일이 포함되어 있는지를 확인합니다.

    사용자가 .aliases 파일에 반드시 IP 주소를 추가해야 합니다. VI가 가명을 찾는 데 실패하면, 공유 변수 노드는 마지막으로 사용된 IP 주소를 사용합니다. 공유 변수가 해당 IP 주소에 더 이상 배포되어 있지 않으면, 공유 변수 노드는 에러를 반환합니다.

    8 킬로바이트 미만의 데이터를 가진 공유 변수를 연결하면, LabVIEW가 이 데이터를 네트워크에 전송하는데 최대 10 밀리초까지 소요됩니다. 공유 변수 데이터 비우기 VI를 사용하여 즉시 버퍼를 비우고 이러한 지연을 제거할 수 있습니다.

    노트 공유 변수 노드에서 마우스 오른쪽 버튼을 클릭하고 바로 가기 메뉴에서 프로그램적 접근으로 대체를 선택하여 프로그램적 접근으로 전환할 수 있습니다. 프로그램적 공유 변수 접근을 사용하면 깔끔하고 확장 가능한 블록다이어그램을 생성할 수 있습니다.