네트워크 공유 변수 사용 시 발생하는 문제 해결

업데이트 됨 Jan 7, 2019

해당 제품

Hardware

  • FP-2000
  • FP-2010
  • FP-2015

Software

  • LabVIEW Real-Time Module
  • LabVIEW

Driver

  • NI-RIO

문의사항

  • 네트워크를 통해 공유 된 네트워크-공개 공유 변수와 통신하는 데 문제가 있습니다. 공유 변수가 개발 환경에서는 작동하지만 실행 파일에 포함된 경우에는 작동하지 않습니다.
  • 네트워크 공유 변수가 예상대로 작동하지 않습니다. 변수에 쓰여지는 값과 읽혀지는 값이 불일치 합니다. 
  • 코드에서 공유 변수에 액세스 하려고 하면 오류가 발생합니다. 에러 -1950679034: 공유 변수가 값을 가지고 있지 않습니다.

해결책

네트워크 공개 공유 변수가 다른 네트워크 시스템에서 업데이트 되지 않는 이유가 몇가지 있습니다.     

일반적인 문제 해결
  • 공유 변수가 네트워크 공개 활성화(Network-Published)로 설정되었는지 확인하십시오. 이 변수를 마우스 오른쪽 단추로 클릭하고 프로퍼티를 선택하십시오.
  • 공유 변수를 포함하는 라이브러리가 배포 되었는지 확인하십시오. 이를 확인하려면 공유 변수를 호스팅하는 라이브러리를 마우스 오른쪽 단추로 클릭하고 배포 옵션 중 하나를 선택하십시오. 배포된 시스템 관리자를 사용하여 도구»배포된 시스템 관리자로 이동하여 변수가 배포되었는지 확인할 수 있습니다. LabVIEW 8.5 또는 이전 버전을 사용하는 경우 도구»공유 변수»변수 관리자 를 선택하여 액세스 할 수있는 변수 관리자를 사용할 수 있습니다.
    • 배포된 시스템 관리자에서 공유 변수의 상태를 확인할 수 있습니다. 또한 시간 타임스탬프를 점검하여 변수가 올바른 시간에 기록되는지 여부를 판별 할 수 있습니다. 이것은 쓰기가 실패했는지 또는 예상보다 자주 쓰여지는지 여부를 판별하는 데 도움이 됩니다.
  • NI-PSP 패킷을 차단할 수있는 컴퓨터에 방화벽이 설정되어 있지 않은지 확인하십시오. 제어판의 관리 센터 로 이동하여 방화벽의 상태를 확인할 수 있습니다. 잠재적인 방화벽 문제에 대한 자세한 내용은 Configuring Software and Hardware Firewalls to Support National Instruments Products을 참조하십시오. 방화벽 문제로 인해 에러 -1950679034: 공유 변수가 값을 가지고 있지 않습니다.가 발생 합니다. 
  • 바이러스 백신 소프트웨어에 방화벽이 있는 경우 방화벽을 해제 하거나 예외를 포함시켜야합니다.
  • 동일한 IP 서브넷에 있는 컴퓨터에서 공유 변수가 호스팅되는지 확인하십시오. 그렇지 않은 경우 도구»공유 변수»컴퓨터 등록 ... 으로 이동하여 원격 컴퓨터를 등록 할 수 있습니다 .
  • PC에 공유 변수에 액세스하려는 네트워크 카드가 여러 개인 경우 사용하지 않는 네트워크 카드를 비활성화하십시오. 또한 How do I Connect to Ethernet Targets with Multiple Network Cards in the Host? 을 참조하여 적절한 네트워크 카드가 기본 네트워크로 설정되어 있는지 확인하십시오 .
  • 공유 변수 엔진이 실행 중인지 확인하십시오. Windows Services로 이동하여 NI Variable Engine 프로세스가 존재하고 실행 중인지 확인하십시오. 존재하지 않으면, LabVIEW Run-Time을 설치하십시오. 설치가 되어 있으나 실행 중이 아니면 프로세스를 마우스 오른쪽 단추로 클릭하고 시작하십시오. 서비스가 자동으로 시작 되도록 하려면, 서비스의 등록 정보를 입력하고 시작 유형자동 으로 설정되어 있는지 확인하십시오. 공유 변수 엔진을 시작하지 못하면 서비스 등록 정보의 복구 탭에서 변수 엔진이 첫째, 둘째 및 후속 시도에서 다시 시도하도록 설정할 수 있습니다.
  • NI 서비스를 다시 시작하십시오.

실시간 (RT) 시스템 문제 해결
  1. 딥 스위치가 실시간 타겟에 올바르게 설정되어 있는지 확인하십시오. 개발 환경에서 실행할 때 공유 변수가 작동하지만 시작 실행 파일을 설정할 때 공유 변수가 작동하지 않으면 시작 프로그램 없음에 대한 딥 스위치가 꺼져 있는지 확인하십시오.
  2. RT 대상에서 DNS IP를 확인하십시오. 이 IP가 유효한 DNS 서버가 아닌 것으로 설정되면 공유 변수는 발생하는 DNS 시간 초과 때문에 느리게 업데이트 됩니다. 이 항목을 0.0.0.0으로 변경하면 공유 변수가 적절한 비율로 업데이트됩니다.
  3. 타이밍을 조정하거나 공유 변수에 쓰는 Timed 루프에 대기를 추가하십시오. Timed 루프가 높은 빈도로 실행되어 다른 프로세스를 멈추게하면 변수가 매우 느리게 업데이트 되거나 전혀 업데이트 되지 않는 것처럼 보입니다.
  4. Real_Time 실행 파일과 공유 변수를 사용하는 경우 프런트 패널 객체가 공유 변수에 바인드되지 않았는지 확인하십시오. 프런트 패널 객체는 실시간 실행 파일을 빌드 할 때 제거되어 공유 변수가 업데이트 되지 않습니다. 응용 프로그램을 실행 파일로 배포하려는 경우 블록 다이어그램에서 공유 변수 노드를 사용하십시오.
  5. 실시간으로 대상에서 공유 변수를 읽으려는 경우 대상에 Variable Client Support가 설치되어 있는지 확인하십시오. 이는 Measurement & Automation Explorer에서 원격 시스템 아래의 실시간 타겟 옆에있는 [+]를 확장하고 소프트웨어 옆에있는 [+]를 확장하여 확인할 수 있습니다. 공유 변수가 실시간 타겟에 의해 호스팅되는 경우 동일한 방법을 사용하여 Network Variable Engine이 설치되었는지 확인하십시오. Network Variable Engine은 FieldPoint 2000, 2010 및 2015 컨트롤러에서 충분한 메모리가 없기 때문에 올바르게 작동하지 않습니다.

이 글이 도움이 되셨습니까?

도움 안됨