《CANOpen基础对象字典》是一本详细介绍CANOpen通信协议中对象字典定义与应用的书籍,适用于自动化和工业控制领域的工程师和技术人员阅读参考。
### CANOpen基本对象字典详解
#### 一、概述
CANOpen是一种广泛应用于工业自动化领域的现场总线协议,《DS-301》标准定义了其核心规范之一,即对象字典(Object Dictionary)。该字典是CANOpen设备进行数据交换的基础框架,通过一系列的索引(Index)和子索引(Sub-index)来组织和访问数据,每个索引代表一个特定的数据对象,而子索引则用于进一步细化或扩展该数据对象的信息。
#### 二、关键对象字典条目解析
##### 1. 设备类型描述 (Index 1000h)
- **功能**: 描述设备的类型和协议兼容性。
- **结构**: 32位数据,其中低16位表示设备协议代码(例如,IO模块为401),高16位提供附加信息,如0表示不符合特定子协议,FFFFh表示复合设备,具体信息可在67FFh+x*800h处找到(x=0至7)。
##### 2. 错误寄存器 (Index 1001h)
- **功能**: 存储设备当前的错误状态。
- **访问模式**: 只读。
- **内容**: 8位数据,定义设备的错误状态。
##### 3. 制造商状态寄存器 (Index 1002h)
- **功能**: 显示制造商定义的状态信息。
- **访问模式**: 只读,可选。
##### 4. 错误集 (Index 1003h)
- **功能**: 记录设备出现的错误,并通过ENCY发送出去。
- **结构**: 包括错误总数和最近几次的错误记录。
- **访问模式**: 错误总数可读写,用以清除历史数据;错误记录只读,数量由制造商决定。
##### 5. COB-ID SYNC (Index 1005h)
- **功能**: 控制SYNC信号的产生。
- **结构**: 32位数据,其中Bit30决定是否产生SYNC,Bit29确定ID的位数(12或11位),其余位为ID的具体值。
- **访问模式**: 读写。
##### 6. SYNC通信间隔时间 (Index 1006h)
- **功能**: 定义SYNC信号的发送间隔。
- **结构**: 32位数据,单位为微秒(μs)。
- **访问模式**: 读写。
##### 7. 同步窗口长度 (Index 1007h)
- **功能**: 定义PDO的同步时间窗口。
- **结构**: 32位数据,单位为微秒(μs)。
- **访问模式**: 读写,可选。
##### 8. 制造商设备名称硬件版本软件版本 (Index 1008h, 1009h, 1009h)
- **功能**: 提供设备的识别信息。
- **格式**: 可见字符串(VisibleString),常量。
- **访问模式**: 只读,可选。
##### 9. Guardtime与守卫时间乘数因子 (Index 100Ch, 100Dh)
- **功能**: 支持从站检测主站状态。
- **结构**: 分别为16位数据,表示守卫时间(mS)及其乘数因子。
- **访问模式**: 读写或只读(若不支持节点守卫)。
##### 10. Storeparameters (Index 1010h)
- **功能**: 允许存储参数。
- **结构**: 包括参数总数、存储所有参数、通信参数、应用参数等子索引。
- **访问模式**: 参数存储时写入save,读取时返回是否执行存储操作。
##### 11. Restoreparameters (Index 1011h)
- **功能**: 恢复默认参数。
- **结构**: 类似于存储参数,但用于恢复操作。
- **访问模式**: 写入load进行恢复,读取时确认设备是否支持恢复操作。
##### 12. COB-ID TimeStamp (Index 1012h)
- **功能**: 管理时间戳相关的COB-ID配置。
#### 三、结论
CANOpen的基本对象字典是实现CANOpen设备间通信的关键组成部分,它不仅提供了设备自我描述的能力,还确保了数据传输的一致性和可靠性。通过理解这些关键对象字典条目的功能和访问模式,开发人员可以更好地设计和集成CANOpen系统,确保其在复杂工业环境中的高效运行。