德国CANopen工程师详述:对象字典与通信结构

需积分: 8 2 下载量 80 浏览量 更新于2024-08-05 收藏 1.49MB PDF 举报
CANopen是一种基于现场总线的通信协议,专为工业自动化环境设计,由德国工程师制定,旨在简化设备之间的通信并提供可靠、高效的数据交换。这份备忘录详尽地介绍了CANopen协议的核心组成部分,特别是对象字典(Object Dictionary, OD),它是CANopen架构的基础。 对象字典是CANopen协议中一个关键的概念,它定义了设备上的所有数据对象,包括其功能、索引范围和用途。在OD中,索引范围被划分为不同的区域: 1. **保留区域** (0000h-025Fh, A000h-AFFFh, C000h-FFFFh): 这些区域主要用于预留未来可能的扩展或未使用的标识符。 2. **通讯对象子协议区** (1000h-1FFFh): 这个区域包含了通用通讯对象,如通用变量、错误寄存器、制造商状态寄存器等。通用通信对象是设备间共享的基本信息,例如设备类型、错误检测等。 - **通用通讯对象** (1000h-1BFFh): - **VAR变量** (1000h): 设备的设备类型信息。 - **Error register** (1001h): 记录和报告设备通信中的错误情况。 - **Manufacturer status register** (1002h): 制造商自定义的状态信息,用于设备识别和维护。 3. **制造商特定子协议区** (2000h-5FFFh): 这部分允许制造商根据自身产品特性定义私有对象,确保设备间的兼容性。 4. **标准化设备子协议区** (6000h-9FFFh): 由国际电工委员会(IEC)定义的标准网络变量和对象,用于实现设备间的标准化通信。 5. **网络变量** (A000h-AFFFh): 符合IEC 61131-3标准的变量,支持设备间的数据共享和远程过程调用(RPC)。 6. **系统变量** (B000h-BFFFh): 用于路由网关的系统级管理,比如设备地址设置。 7. **SDO(服务数据对象)相关对象** (1200h-13FFh): SDO参数对象和SDO管理对象,支持高级数据配置和访问。 8. **PDO(周期性数据对象)参数对象** (1400h-1BFFh): PDO是CANopen的快速数据传输机制,用于实时和周期性数据交换。 9. **配置和程序控制对象** (1F20h-1F27h, 1F50h-1F54h, 1F80h-1F89h): 包括配置管理、程序控制以及网络管理主机相关的对象,用于设备的配置、启动/停止控制等。 通过理解CANopen对象字典,工程师可以更有效地集成设备到CANopen网络中,并实现设备间的无缝协作。学习和熟悉OD对于任何CANopen应用来说都是至关重要的,因为它决定了设备如何与网络进行交互和数据交换。