LabVIEW의 VISA Serial Read에서 발생하는 Error 1073807253

업데이트 됨 Aug 3, 2023

해당 제품

소프트웨어

  • Measurement and Automation Explorer (MAX)
  • LabVIEW

드라이버

  • NI-VISA
  • NI-Serial

문의사항

타사 장치에서 일정 간격으로 문자 시퀀스를 출력하고 VISA Read VI를 사용하여 읽었습니다. 하지만, 읽을 때 Error -1073807253가 발생합니다. 표시 됩니다.

Error -1073807253 occurred at an unidentified location
Possible reason(s):
VISA: A framing error occurred during transfer.
   

해결책

Error -1073807253 은 Framing 에러입니다. Serial 데이터는 한 번에 1 바이트 씩 전송됩니다. 각 바이트는 start bit, data bits, parity, 그리고 stop bit 가있는 특정 형식을 갖습니다. 데이터의 바이트가 수신되었지만 예상 된 형식이 아닌 경우 Framing 오류가 발생합니다. 이러한 종류의 오류는 다음과 같은 이유로 발생할 수 있습니다.
    

  • 첫 번째 문자가 해당 포트에서 수신 될 때까지 포트의 구성이 완전히 완료되지 않았을 수 있습니다. VISA Configure Serial Port VI 다음에 지연 (대략 10-100ms)을 둠 으로써 직렬 포트가 스스로를 구성하는데 충분한 시간을 갖도록 할 수 있습니다. 그런 다음, VISA Flush I / O 버퍼 VI를 사용하여 버퍼의 유효하지 않은 데이터를 지웁니다. 이 순서 후에 읽기 기능은 올바르게 작동할 것 입니다. 블록 다이어그램은 아래와 같이 나타납니다:



  
  

  • 읽기 / 쓰기 작업이 완료되기 전에 VISA 자료를 닫을 수 있습니다.
 

 

  • Serial 포트와 장치가 서로 다른 설정을 사용하도록 구성되었을 수 있습니다. 이 문제를 해결하려면 NI MAX (Measurement & Automation Explorer)를 열고 장치 및 인터페이스에서 Serial 포트를 선택하십시오. VISA 리소스 이름 , 전송 속도 , 데이터 비트 , 패리티 및 정지 비트가 모두 포트 설정 탭에서 장치의 설정과 일치 하는지 확인 하십시오.

참고 : 위의 예제 또는 아래 예제와 같이 NI-MAX에서와 같이 런타임 중에 프로그래밍 방식으로 이러한 설정을 변경할 수 있습니다.

 

  • 케이블 연결이 느슨한 경우일 수도 있습니다. 케이블이 제대로 연결되어 있는지 확인하십시오.

 

  • Serial 케이블이 잘못되었거나 잘못된 종류의 Serial 케이블이있을 수 있습니다. 다른 Serial 케이블을 사용해보십시오. 장치 설명서를 참조하여 null 모뎀이나 케이블을 직접 연결해야하는지 확인하십시오. 기사를 참조하십시오: Should I Use Null Modem or Straight Through Serial Cables?

 

  • 시리얼 라인에 Noise가 잡힐 수 있습니다. 전원 케이블, 모니터 또는 기타 잠재적 인 Noise로 부터 Serial 케이블을 분리하십시오.

 

  • 드라이버 설치가 손상되었을 수도 있습니다. 이것은 거의 발생하지 않지만 직렬 디바이스를 사용하려면 컴퓨터에 LabVIEW, NI-Serial 및 NI-VISA가 필요합니다. 위의 모든 단계를 시도한 뒤에도 오류가 계속 될 경우, 이러한 드라이버 설치를 점검해봐야 할 수도 있습니다. Fix Corrupt or Non-Working NI Software with Force Reinstall 를 참고 해보십시오.

추가 정보

VISA Configure Serial Port VI 를 사용한 "Simple Serial"의 예제를 참조하십시오 . 예제는 예제 찾기의 하드웨어 입력 및 출력 -> 직렬 ( LabVIEW 예제 찾기 - NI 예제 탐색기  )에서 확인 할 수 있습니다.