XNET 장치를 사용하여 CAN 버스의 비정상을 어떻게 감지합니까?

업데이트 됨 Dec 27, 2019

해당 제품

Hardware

  • NI-9860

Software

  • LabVIEW

Driver

  • NI-XNET

문의사항

NI-XNET API를 사용하는 NI-9860 CAN 디바이스를 사용하고 있습니다. 테스트의 특성상 CAN 버스에서 단락이 발생할 수 있습니다. 하드웨어가 비정상 상태가 되더라도 XNET 세션을 초기화하여 하드웨어를 정상적으로 사용해야 합니다. 그러나 하드웨어를 신속하게 정상으로 되돌리려면 버스에서 언제 문제가 발생했는지 알아야만 합니다. 다른 벤더의 CAN 디바이스에 대해서는 이 상태가 되었을 때 에러 로그가 즉시 나타나지만, NI의 CAN 디바이스는 그렇지 않습니다. 버스의 이상을 어떻게 감지 할 수 있습니까?

해결책

CAN 데이터를 전송하는 장치가 Bus Off 상태가되면 더 이상 데이터를 전송하지 않습니다. 노드가 Bus Off 상태인 경우, 소프트웨어 또는 하드웨어 재설정으로 CAN 장치를 재설정해야합니다. 아래 API를 사용하여이 상태를 알 수 있습니다.

사용중인 XNET 세션을 XNET Read.vi 함수에 연결합니다. 그 후 comm state 를 선택하면 CAN comm 인디케이터를 통해 CAN 통신의 버스 상태를 확인할 수 있습니다.