"CANOpen CIA301是CANOpen通信协议的一部分,由CANinAutomation (CiA) 组织制定。这份文档是CiA301协议的草案标准,版本为4.02,发布日期为2002年2月13日。CANOpen是一种在控制器局域网络(CAN)基础上构建的高层通信协议,用于实现设备间的网络通信和应用层功能。"
CANOpen CIA301协议详细阐述了CANOpen网络中应用层和通信配置的规范。以下是协议中的关键知识点:
1. **对象字典(Object Dictionary)**:对象字典是CANOpen的核心组成部分,它定义了网络中各个节点的参数和数据结构。对象字典结构在CiA301中进行了审查,确保了不同设备间的一致性和互操作性。
2. **服务**:CiA301包括了对象服务和网络管理服务(NMT)。对象服务允许节点访问和修改对象字典中的数据,而NMT服务则用于管理网络状态,如启动、停止和复位节点。
3. **数据类型定义**:协议中包含了数据类型的定义,并且相对于之前的版本进行了扩展,以支持更复杂的通信需求。
4. **BootUp消息**:BootUp消息是在节点启动时发送的,通知网络中的其他节点新设备的存在或状态改变。
5. **心跳(Heartbeat)**:心跳是一个可选特性,允许节点定期发送心跳报文来报告其状态,增强了网络监控和故障检测能力。
6. **紧急错误代码(Emergency error codes)**:CiA301定义了额外的紧急错误代码,以更精确地表示网络中的错误情况。
7. **服务数据对象(SDO)放弃错误代码**:协议中增加了SDO放弃错误代码,使得在数据传输过程中出现的问题可以得到更明确的反馈。
8. **定时驱动的PDO传输(Timer-driven PDO transmission)**:PDO(过程数据对象)可以根据预设的时间间隔自动发送,简化了实时数据交换。
9. **PDO通信参数增强**:PDO通信参数被增强,提供了更灵活的配置选项,以适应不同的通信场景。
10. **PDO映射过程**:PDO映射过程在CiA301中得到了澄清,确保了数据正确地从应用层映射到CAN帧。
11. **SDO块传输**:支持SDO的块传输方式,允许大体积数据的快速传输,提高了通信效率。
12. **预定义标识符集(Pre-defined Identifiers set)**:预定义的标识符集被扩展,以支持更多种类的节点和功能。
13. **附录**:文档的附录包含了设备配置、操作系统命令与提示、复用PDO、模块化CANOpen设备以及错误行为等相关信息,为开发者提供了详细的实施指南。
CiA301的更新还包括了错误修正和章节描述的澄清,如2002年2月的修订中包含了一个关于错误行为对象的错误引用的修正。这个协议为CANOpen网络的构建和维护提供了坚实的基础,使得不同制造商的设备能够无缝地协同工作。