XDD_ExampleThe 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 http://www.humanwebmarketing.com/
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?"/>