2014-11-25 30 views
1

기본적으로 CANopen 네트워크에서 PDO 매핑 개념을 이해합니다. 작은 헤더로 실시간 데이터를 방송 할 수 있습니다.PDO 매핑을 설정하는 방법은 무엇입니까?

어떻게 만들어 졌습니까? PDO를 보내거나받는 방법을 알기 위해 장치를 설정하려면 어떻게해야합니까? 나는 그것을 위해 어떤 종류의 소프트웨어가 필요합니까?

답변

4

많은 질문이 사용중인 특정 장치에 의존하지만, 일반적으로 ...

내가 그 소프트웨어의 어떤 종류가 필요하십니까?

CANopen 장치를 구성하는 데 특별한 소프트웨어가 필요하지 않습니다. SDO를 사용하여 CANbus를 통해 구성 할 수 있습니다. 수동으로 SDO를 구성하더라도 지루한 USB CANbus 동글은 충분합니다. CANopen 디바이스를 구성하기 위해 소프트웨어를 제공하는 회사가 존재합니다. Vector. 종종 공급 업체는 장치를 구성하는 특수 GUI를 제공합니다. AMC's DriveWare. 사용 가능한 경우 아마 그것을 사용해야합니다.

어떻게 만들어 졌습니까?

SDO (서비스 데이터 객체)와 달리 PDO (서비스 데이터 객체)는 메시지 내용에 대한 메타 데이터를 포함하지 않으며 TPDO는 마스터의 특정 요청없이 전송 될 수 있습니다. 이를 통해 PDO는 버스를보다 효율적으로 사용할 수 있습니다. 그 트릭은 PDO 메시지의 내용이 미리 합의되어야한다는 것입니다. 이 계약은 장치 개체 사전의 PDO 통신 매개 변수 및 PDO 매핑 매개 변수 항목을 사용하여 지정됩니다. 구성 방법이나 장치 구성 방법은 장치에 따라 다릅니다. 가장 일반적으로 PDO는 SDO를 통해 사전 작동 모드에서 런타임에 구성 할 수 있습니다. 장치에 의해 제공되는 기본값이 충분하다면이 작업은 불필요 할 수도 있지만 불필요 할 수도 있습니다.

PDO의 내용은 장치 개체 사전의 해당 "매핑 매개 변수"를 통해 구성됩니다. TPDO 맵핑 매개 변수는 인덱스 0x1A00에서 시작합니다. TPDO0은 0x1A00, TPDO1 ~ 0x1A01 등에 해당합니다. 매핑은 하위 인덱스에 저장되며 32 비트 부호없는 정수로 인코딩됩니다. 형식은 먼저 16 비트 색인 다음에 8 비트 부속 색인이고 마지막으로 사용할 매개 변수의 비트 수입니다. 크기의 단위는 장치에 따라 다릅니다. 일부는 바이트 수준의 세밀도 만 제공 할 수 있습니다. 예 : 0x2000,0x02에있는 객체 사전에 REAL32 변수가있는 경우 TPDO0의 유일한 매개 변수로 보내려면 0x1A00,0x01을 0x20000220으로 설정해야합니다. RPDO는 0x1600에서 시작하는 색인과 동일한 방식으로 구성됩니다.

퍼즐의 다음 부분은 통신 매개 변수입니다. RPDO는 일반적으로 이러한 방식으로 구성 할 필요가 없습니다. TPDO는 구성이 필요합니다. 인덱스는 0x1800에서 시작하고 매핑 매개 변수 인덱스와 동일한 방식으로 TPDO에 해당합니다.

COBID  (0x01) UNSIGNED32 Arbitration/COB-ID PDO will use. 
XMIT_TYPE (0x02) UNSIGNED8 When PDO is transmitted 
INHIBIT_TIME (0x03) UNSIGNED16 Minimum time between PDO messages (useconds) 
EVENT_TIME (0x05) UNSIGNED16 Timeout for sending (mseconds) 

PDO 메시지 레이아웃 중재 ID에 대한 관련 TPDOnCOMPARAM, COBID 소요 TPDOnMAPPARAMS로부터 각 파라미터 매핑을 추가한다. TPDO의 경우 이는 장치 내부에서 수행되어 전송됩니다. RPDO의 경우 마스터가이를 수행하고 PDO를 전송하며 장치는 각 매개 변수를 작성하는 메시지를 오브젝트 사전에 디코드합니다.

어떻게 장치를 설정하여 PDO의 송수신 방법을 알 수 있습니까?

기본 연결 세트에는 4 개의 TPDO (노드에서 전송)와 4 개의 RPDO (노드에서 수신)가 포함됩니다. 장치에 따라 more (최대 512 개)를 지정할 수 있습니다.

PDO는 CANopen 노드가 "작동 모드"로 전환 될 때만 송수신됩니다. 이렇게하려면 NMT (Network ManagemenT) 시작 명령 (코드 지정자 = 1)을 보내야합니다. 노드 ID에 0을 사용하면 모든 노드가 응답 할 브로드 캐스트 메시지를 나타냅니다. NMT 메시지 : 0 2 바이트의 페이로드를 가지고의 는 COB-ID를 가지고

NMT Message Format (CAN-bus payload): 
+--------------------------+ 
| Code Specifier | Node ID | 
+----------------+---------+ 
|  ff  | ff | 
+----------------+---------+ 
관련 문제