Welcome to the CAN-bus Wiki project

This is an old revision of the document!


The XML Device Description Files (XDD) are the next generation of the CANopen EDS files.

The following example shows a way to a value structure description for a UNSIGNED32 value:

At first we have to define a PDO_COB_TYPE data type in dataTypeList.

 <dataTypeList>
    <!-- Define a 29bit type, as there is no 29 bit data type. Maybe we should define one. -->
    <array uniqueID="EXTTYPE" name="29 bit type">
      <subrange upperLimit="28" lowerLimit="0"></subrange>
      <BOOL></BOOL>
    </array>
    <!-- Definition of the data type PDO_COB_TYPE -->
    <struct uniqueID="PDOCOBTYPE" name="PDO_COB_TYPE">
      <varDeclaration uniqueID="PDOTYPE_UID1" name="PDO Exists">
        <BOOL></BOOL>
      </varDeclaration>
      <varDeclaration uniqueID="PDOTYPE_UID2" name="RTR"> 
        <BOOL></BOOL>
      </varDeclaration>
      <varDeclaration uniqueID="PDOTYPE_UID3" name="Extended Messages">
        <BOOL></BOOL>
      </varDeclaration>
      <!-- here the 29bit array is used, maybe there's a better solution -->
      <varDeclaration uniqueID="PDOTYPE_UID4" name="COB-ID">
        <dataTypeIDRef uniqueIDRef="EXTTYPE" />
      </varDeclaration>
    </struct>
 </dataTypeList>

Then we need a parameter of that data type.

 <parameterList>
    <parameter uniqueID="UID_1">
      <label lang="en-us">COB-ID</label>
      <dataTypeIDRef uniqueIDRef="PDOCOBTYPE" />
    </parameter>
 </parameterList>

At the end a CANopen Object can be assigned to that parameter.

 <CANopenSubObject subIndex="01" name="COB-ID" objectType="7" dataType="07"
     accessType="rw" PDOmapping="false" 
     uniqueIDRef="UID_1"/>

QR Code
QR Code can_higher_layer_protocols:xdd_example (generated for current page)