취소
다음에 대한 결과 표시 
다음에 대한 검색 
다음을 의미합니까? 

VISA 오버런 에러

해결 완료!
솔루션으로 이동

strike119_0-1688537979583.png

VISA: (Hex 0xBFFF006C) 전송 중에 오버런 에러가 발생했습니다. 다음 문자가 도달하기 전에 하드웨어에서 문자를 읽어오지 못했습니다. 
이 에러가 계속 뜨는데 어떻게 해야할까요?

strike119_1-1688538012949.png

작성코드 부분입니다. 입력문자열, 시리얼번호, 대기시간을 받아 통신하는 적재하는 구조입니다.

원래 문자열을 시프트레지스터로 받다가 피드백노드로 바꿔서 적재해서 그런가 의문이 듭니다. 

0 포인트
1/13 메시지
3,564 조회수
0 포인트
2/13 메시지
3,558 조회수

보내신 커맨드로부터 오는 응답이 63bytes를 넘는거 같아요.

 

64, 65 이런식으로 받아보시고, 앞에서 63개만 잘라서 쓰시거나

 

해당 에러를 무시하고  VISA 버퍼 비우기를 사용해서 나머지를 지우시는게 어떨까요

0 포인트
3/13 메시지
3,529 조회수

63개 이하의 바이트수를 보내는 것 같습니다. 

64바이트를 하는 순간부터 타임아웃이 발생합니다...

0 포인트
4/13 메시지
3,521 조회수

프로토콜 메뉴얼이 있으면 올려주시는게 확인하는데 도움이 될 듯 합니다

0 포인트
5/13 메시지
3,502 조회수

p38 ~ 40 에 있는 request를 보내고 response를 받습니다. 

response의 길이가 63바이트로 지정되어 있습니다. 

테스트를 해보았을 때 63개 이하의 개수를 찍히되 64개 이상의 개수로는 찍히지 않습니다.

 

전체 메뉴얼은 첨부했습니다.

0 포인트
6/13 메시지
3,495 조회수

응답이 63바이트로 되어 있는 것으로 나와 있습니다.

 

통신 설정은 어떻게 하셨나요?

 

115200 bps 던데...;;

 

시리얼 통신이고.. 통신 설정이 제대로 되어 있는 상태에서 같은 문제가 계속 발생 한다면 배선 확인을 한번 해 보셔야 할 거 같습니다.

 

길이라던지, 노이즈 탈 만한 문제가 있는지 등을 고려 하심이 좋겠습니다.

0 포인트
7/13 메시지
3,484 조회수

추가적으로 말씀 드리자면, 프로퍼티 노드를 이용해 Number of bytes at serial port 를 불러와 쓰시는게 좋습니다.

 

63 바이트가 들어오기까지 Delay 를 조정해서 데이터를 확인하시는 방법을 추천 드립니다.

 

아니면 1바이트씩 읽어 쉬프트레지스터에 모이는 데이터를 63바이트씩 잘라주셔도 됩니다만, 데이터 확인을 잘 하셔야 합니다.

0 포인트
8/13 메시지
3,479 조회수

strike119_0-1689138768638.png

 

설정부분에 메뉴얼에 나와있는 것처럼 시리얼포트 설정하였습니다. 

프로퍼티노드를 말씀하셨는데  VISA Read부분에 상수로 63개 해놓는거와는 다른건가요?

한다면 어떻게 하는지 여쭤봐도 될까요

0 포인트
9/13 메시지
3,469 조회수

이런 식입니다.

 

_0-1689144239564.png

 

 

63바이트를 고정으로 해 두면, 주어진 시간 내에 63바이트를 읽지 못할 경우 에러가 뜹니다.

 

이미지 같이 만들면 읽은 바이트까지 디스플레이 해 줍니다.

0 포인트
10/13 메시지
3,464 조회수