2014-05-21 13 views
1

unsigned32 데이터의 처음 두 바이트 만 PDO에 매핑하여 CANopen PDO 매핑을 수행하려고합니다. 그렇게 할 수 있고 어떻게 할 수 있습니까?데이터의 CANopen PDO 매핑

위의 매핑을 수행 할 때 오류 코드 0604 0041 (PDO를 매핑 할 수 없음을 의미)이 표시됩니다.

답변

1

먼저 매개 변수가 표시 가능한지 확인하십시오. EDS 파일이있는 경우 관심 매개 변수는 PDOMapping=1입니다.

매개 변수가 매핑 가능한 경우 PDO에 대한 매핑 변수 중 하나를 인코딩 된 UNSIGNED32 Idx {16 비트}, Sidx {8 비트}, nbits {8 비트}로 설정할 수 있어야합니다. 예를 들어, 2000,05를 첫 번째 TPDO의 첫 번째 매개 변수로 인코딩하려면 1A00,010x20000510으로 설정하십시오. 당신이 전체의 매개 변수를 매핑 할 수

  1. 위치 :

    내가 물어 잊으 셨나요?
  2. 디바이스가 PDO 매핑을 위해 지원하는 입도 수준이 비트, 바이트 또는 워드 크기인지 확인 했습니까?
  3. 시스템이 작동 모드 일 때 매개 변수를 매핑하려고합니까? 일부 시스템은 완전 동적 매핑을 지원하지 않습니다. 일부는 사전 작동 모드에서 정적 맵핑 또는 맵핑 만 지원합니다. 시스템이 크기가 일치하지 않았기 때문에 PDO 항목을지도하기를 거부하는 경우

, 나는 시스템이 오류를보고 기대 0x06040042 (수/객체의 길이는 PDO 크기를 초과)의 끝에서 서브 인덱스 0을 설정하는 경우 맵핑 프로 시저.

개체 사전 항목의 더 작은 부분을 매핑하는 것이 가능하다고 생각했습니다. 나는 CiA-301을 재확인했고, 길이가 필수라고 말하는 것 이외의 다른 문제에 대해 침묵하는 듯 보인다.

+0

매핑하려는 객체가 unsigned32 인 경우 0x20000520으로 만 코딩 할 수 있습니까? 0x20000510 (처음 2 바이트)과 같은 부분 만 매핑 할 수있는 방법은 없습니다. – user2605241