CAN 버스를 통한 네트워크 계층 선택


10

산업 자동화 애플리케이션에서 CAN 버스를 사용할 계획이지만 네트워크 계층을 구현하는 방법을 결정하는 데 어려움을 겪고 있습니다. 여기에 누구든지 메시지 ID를 할당하는 방법과 데이터 패킷을 포맷하는 방법에 대한 지침을 제공하는 CAN보다 상위 계층 프로토콜에 대한 권장 사항이 있습니까? 독자적인 네트워크 계층을 개발하거나 CANopen과 같은 기존 표준을 구현해야합니까?

답변:


7

표준 네트워크 계층을 선택하고 싶을 것입니다. 사람들이 자신의 롤링을 한 경우를 보았고 종종 프로토콜이 비효율적이며 결국 시간 낭비입니다. 입증 된 네트워크 계층은 내장 된 장치와의 네트워킹에서 발생할 수있는 대부분의 문제를 해결하는 기본 기능을 제공하므로 결국 귀중한 시간과 비용을 절약 할 수 있습니다.

CANopen에 대해 잘 알고 있으므로 여기에 약간의 설명을 드리겠습니다. 원하는 방식인지 결정하는 데 도움이 될 수 있습니다. 그것이 당신이해야 할 일에 맞지 않으면 다른 것을 볼 것입니다.

CANopen은 매우 데이터 중심적입니다. 모든 CANopen 슬레이브 노드 (센서 또는 모터 드라이버와 같은 마스터 노드에서 제어하는 ​​것)는 작업을 완료하기 위해 읽고 쓰는 데 필요한 모든 구성, 제어 및 데이터 수집 데이터가 포함 된 사전을 제공합니다. 그런 다음 SDO (서비스 데이터 개체) 메커니즘을 통해 이러한 개체를 개별적으로 읽거나 쓸 수 있으며, PDO (생산자 데이터 개체) 메커니즘을 통해 CAN 메시지 전송시 주기적으로 이러한 개체를 읽거나 쓸 수 있습니다. NMT 서비스와 노드 ID 할당 서비스 (사용하려는 경우)에서 시작, 종료 및 재설정 및 하트 비트 / 노드 오작동 탐지가 제공됩니다. 내장 된 CANOpen 라이브러리를 사용하여 장치를 구현하려면 기본적으로 개체 사전을 설정하고 PDO를 설정하여 주기적으로 데이터 업데이트를주고받습니다. 해당 데이터 항목을 기반으로 동작하는 사용자 코드를 작성하십시오. CANopen이 제공하는 다른 것들이 있지만 그 대부분입니다. 자세한 내용은이 책을 읽으십시오.


이 책은 MicroCANopen이라는 CANopen 구현에 대해 이야기합니다. 어떤 CANopen 구현을 사용하십니까?
mjh2007

1
@ mjh2007-다른 프로토콜과 함께 사용해야했기 때문에 자체 롤업했습니다.
J. Polfer

"CANOpen"-> "CANopen"
Peter Mortensen

7

나는 독점적 인 네트워크 계층을 사용하는 GM 자동차의 CAN 버스에 액세스하는 코드를 작성합니다. OpenCAN을 살펴 보셨습니까? CANOpen 또는 OpenCAN과 같은 개방형 표준을 선택합니다. 자동화 환경에서 원하는 제어 수준과 유연성에 따라 달라집니다.


7
CANOpen뿐만 아니라 OpenCAN도 있습니까? 아이 그! 무서운 이름.
Jason S

1
@Jason, 나는 Microsoft를 비난합니다.
Kortuk

5

큰 답변이있었습니다. 어떤 마이크로를 사용하는지 모르지만 다음은 마이크로 칩의 일부 정보에 대한 링크입니다.

J1939 라이브러리

CAN이있는 PIC18 용 DeviceNet ™ 그룹 2 슬레이브 펌웨어

CANopen

각각에는 코드와 기본 데이터 시트가 있으며이를 구현하는 데 필요한 정보를 제공합니다.


1
실제로 Microchip을 사용하므로 매우 유용합니다. 감사!
mjh2007

1
그것들은 모두 pic18입니다. CANopen을 사용하면 다른 사용자의 설정을 수정하는 마스터가있는 것 같습니다. 대부분의 canbus 사용에 포함 된 것은 완벽하게 맞습니다.
Kortuk

CANopen을 구현하기 위해 Microchip 라이브러리를 사용합니까?
mjh2007

1
그것을 구현하는 과정에서 시스템을 변경하기 위해 많은 다른 사람들이 커밋해야하기 때문에 느린 프로세스입니다. 그것이 도움이된다면 그것이 구현 될 때 당신을 업데이트 할 것입니다.
Kortuk

1
@ mjh2007, 나는 프로세서에 대한 작업을 중단하고 많은 학생들이 이전 하드웨어를 사용하지 않고 더 편안한 것을 구매하지 않기로 결정했습니다. 다시 한 번 그 교수 프로젝트에 진전은 없지만, 교수가 무슨 일이 일어나고 있는지 모르고 사람들이 일 년에 한 번만 모든 것을 바꾸게 할 때 발생합니다.
Kortuk
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.