LabVIEW에서 MATLAB Script 노드로 에러 1047 발생

업데이트 됨 Sep 26, 2019

해당 제품

소프트웨어

  • LabVIEW Full
  • LabVIEW Base

운영 체제

  • Windows

문의사항

스크립트 노드를 사용하여 LabVIEW에서 MathWorks, Inc. MATLAB® 소프트웨어와 상호 작용할 때 오류 1047 이 발생합니다.

가능한 이유 :


LabVIEW : (Hex 0x417) LabVIEW는 스크립트 서버에 변수를 보내지 못했습니다.(LabVIEW failed to send variable to the script server.)
이전에는 LabVIEW와 MATLAB®을 각각 설치하여 동시에 사용하는데 문제가 없었지만 두 소프트웨어 간 통신은 할 수가 없었습니다.

해결책

ActiveX 스크립트 서버가 제대로 시작되지 않았기 때문에 이 오류가 발생합니다. 가능한 해결 방법은 다음과 같습니다.
  1. MATLAB® 소프트웨어를 설치하고 이전에 적어도 한 번 실행 한 경우 모든 ActiveX 구성 요소를 운영 체제에 등록해야합니다. 스크립트 서버를 사용하려면 모든 프로그램 (MATLAB® 소프트웨어 및 LabVIEW)을 닫으십시오. MATLAB® 소프트웨어를 열고 MATLAB® 소프트웨어가 완전히 로드된 후 LabVIEW를 엽니다. 이제 스크립트 서버가 응답해야 하며 오류가 더 이상 나타나지 않아야 합니다.
  2. ActiveX 구성 요소를 다시 등록하려면 명령 프롬프트를 엽니다 (시작»실행을 클릭하고 열기 필드에 cmd 를 입력한 다음 확인을 클릭). 다음을 수행합니다.
    1. MATLAB\(version)\bin 디렉토리 (예 : MATLAB\R2008b\bin )로 이동합니다.
    2. 프롬프트에서 matlab-regserver 를 입력하고 Enter키를 누릅니다.
    3. 나타나는 MATLAB® 소프트웨어의 인스턴스를 종료하십시오.
    4. 이제 MATLAB 스크립트 노드가 작동해야합니다. (LabVIEW를 다시 시작해야 할 수도 있습니다).
  3. 그래도 작동하지 않으면 MATLAB® 소프트웨어를 로컬로 설치하고 환경 변수 MATLAB_RESERVE_LO = 0을 설정하십시오.
  4. 여전히 동일한 오류가 발생하면 The MathWorks, Inc. MATLAB® 언어 구문으로 작성된 스크립트로 입력정보를 읽는 것이 문제일 수 있습니다. 이 경우 발송 예제 프로그램 Lorenz를 실행하면 스크립트에 입력이 있으므로 동일한 오류가 발생합니다. 그러나 MathScript Fractal 은 출력만 사용하므로 오류없이 실행됩니다. 입력 및 출력의 데이터 유형을 복소수로 ​​변경하면 문제를 쉽게 해결할 수 있습니다. 

추가 정보

MATLAB®은 The MathWorks, Inc.의 등록 상표입니다. 나열된 기타 제품 및 회사 이름은 해당 회사의 상표 및 상호입니다.