이러한 더 높은 수준의 CAN 프로토콜의 한 가지 예는 자동차 엔지니어 협회(SAE)에서 J1939로 지정합니다. SAE J1939 프로토콜은 중대형 트럭, 버스, 농업 용 장비 및 건설 장비의 구성 요소 간의 통신에 널리 사용됩니다. NI는 ISO-15765, UDS, KWP2000, ODB 및 CCP/xCP와 같은 다양한 다른 상위 수준의 CAN 프로토콜에 대해 LabVIEW에 여러 도구 키트 및 추가 기능을 제공하지만 SAE J1939에 대한 직접적인 LabVIEW 지원을 제공하지는 않습니다. NI는 NI.com J1939에 대한 몇 가지 부분 적인 응용 사례를 제공합니다. 그러나 이러한 예제는 NI-CAN 프레임 API 위에 빌드됩니다. 예제 코드를 사용하는 동안 프로그래머는 브로드캐스트 CAN 프레임과 엔지니어링 데이터 간에 변환할 수 있는 명백한 이점을 제공하는 채널 API를 사용할 수 없습니다. 작동 중 라이브러리의 간략한 예: CAN 버스에 연결, 메시지 만들기 및 전송: CAN 표준에서 응용 프로그램 계층의 기능을 지정하지 않으므로(예: 흐름, 장치 주소 지정 또는 하나 이상의 데이터 블록 전송) frame) 다양한 사용자 요구를 충족하기 위해 더 높은 계층 응용 프로그램 프로토콜의 많은 구현이 만들어졌습니다. 파이썬 – 파이썬이 실행되는 모든 곳에서 실행 할 수 있습니다. 상업용 CAN이 있는 고성능 컴퓨터에서부터 비글본 또는 라즈베리파이와 같은 리눅스를 실행하는 저전력 장치에 이르기까지 USB 장치에 이르기까지. 다른 프로그래밍 언어로 작성된 타사 J1939 프로토콜 스택은 다양한 공급업체에서 구할 수 있습니다. LabVIEW는 응용 프로그램에 대한 통합을 지원하지만 이 방법은 원활하지 않으며 추가 라이선스 및 관련 복제 비용이 필요합니다. 무료 다운로드를 포함하여 LabVIEW J1939 드라이버에 대한 자세한 내용은.

github에서 프로젝트 버그 추적기를 참조하십시오. 패치 및 당겨 요청은 매우 환영합니다! www.dmcinfo.com • sales@dmcinfo.com • (888) DMC-4400 J1939 표준은 7개의 OSI 계층 중 5개에 해당하는 여러 문서에 정의되어 있습니다. J1939-11은 물리적 계층을 정의하고, J1939-21은 데이터 링크 및 전송 계층을 정의하고, J1939-31은 네트워크 계층을 정의하고, J1939-71/73은 애플리케이션 계층을 정의한다. J1939-81은 네트워크 관리를 설명합니다. J1939 메시지는 CAN 2.0b 위에 구축되며 29비트 CAN 식별자를 사용하는 확장 프레임을 구체적으로 사용합니다. 위의 한계를 염두에 두고 DMC는 NI-CAN 채널 API의 힘과 유연성을 활용하여 J1939 프로토콜 데이터를 읽고 쓰고 요청하기를 원했습니다. 채널 API를 사용하여 더 높은 수준의 J1939 트랜잭션을 수행함으로써 채널 API와 J1939 프로토콜을 동시에 사용할 수 있습니다. 이를 통해 트랜잭션 기반 J1939 패킷과 간단한 브로드캐스트 CAN 프레임을 통해 데이터를 동시에 캡처할 수 있습니다.

또한, LabVIEW와 J1939 CAN 드라이버를 완벽하게 통합하여 신뢰성과 견고성을 높입니다. 파이썬 캔 라이브러리는 파이썬에 대한 컨트롤러 영역 네트워크 지원을 제공하여 다른 하드웨어 장치에 공통 추상화를 제공하고 CAN 버스에서 메시지를 보내고 받는 유틸리티 제품군을 제공합니다. 컨트롤러 영역 네트워크(CAN 또는 CAN-bus)는 마이크로 컨트롤러와 장치가 호스트 컴퓨터 없이 차량 내에서 서로 통신할 수 있도록 설계된 차량 버스 표준입니다.