使用CANopen设备时,用户往往需要去阅读设备的EDS文件,这样才能知道设备的对象字典。如下,是EDS文件中0x2C09项的部分描述,
红框中是对象字典项的Object type和Data type,都是数字,本文讲解这2种类型的含义。
对象类型
Object type定义如下,
对象字典中每个条目都是一个对象,Object type是表示该对象是一个变量,一个数组还是一个Record等等。
上面例子中[2C09]的Object type是9,表示整个0x2C09是一个Record,注意这里说的是整个,因为0x2C09还包含很多子元素。0x2C09的各个子元素有自己专门的Object type,这里都是7,表示子元素是一个单变量。
PS:Record允许子元素的object type不是相同的,Array则是要求子元素的object type相同
数据类型
Data type定义如下,
Data type是数据类型,比较好理解,上面0x2C09子元素的数据类型有2种:[2C09Sub0]的数据类型是5,即UNSIGNED8;其余子元素的数据类型是4,即INTEGER16