CANopen CiA 协议介绍

CANopen CiA 协议介绍 CANopen CiA 协议全景重点规范、核心内容与组合关系文章目录CANopen CiA 协议全景重点规范、核心内容与组合关系1. 结论2. CANopen 协议族总体结构3. CiA 320Sleep / Wake-up 处理3.1 定位3.2 大概内容3.3 核心与重点3.4 组合关系4. CiA 710Generic CANopen Bootloader4.1 定位4.2 大概内容4.3 核心与重点4.4 组合关系5. CiA 401Generic I/O Device Profile5.1 定位5.2 大概内容5.3 核心与重点5.4 组合关系6. CiA 402Drives and Motion Control6.1 定位6.2 大概内容6.3 核心与重点6.4 组合关系7. CiA 445RFID Device Profile7.1 定位7.2 大概内容7.3 核心与重点7.4 组合关系8. CiA 406Encoder Profile8.1 定位8.2 大概内容8.3 核心与重点8.4 组合关系9. CiA 461Weighing Devices9.1 定位9.2 大概内容9.3 核心与重点9.4 组合关系10. CiA 434Laboratory Automation Systems10.1 定位10.2 大概内容10.3 核心与重点10.4 组合关系11. 8 个重点规范的组合矩阵12. 设备 Profile 设计关注点13. 组合建议总结14. 资料来源本文面向 CANopen 工程学习、设备选型、对象字典设计和协议组合判断。本版按你的要求移除了原文末尾的项目建议和评审清单类章节。图片均为 PNG不包含 SVG交付格式为 Markdown images 目录。1. 结论CANopen 的协议体系可以按三层理解通信基础层以 CiA 301 / CiA 1301 为核心定义对象字典、通信服务和网络管理。横向功能层例如 CiA 320 处理 sleep/wake-upCiA 710 处理 bootloaderCiA 305 处理 LSSCiA 306 处理 EDS/DCF。设备与应用 Profile 层例如 CiA 401、402、406、445、461、434 等为某类设备定义应用对象、过程数据、配置参数、诊断信息和默认 PDO 思路。本版重点单独展开 8 个规范CiA 320、CiA 710、CiA 401、CiA 402、CiA 445、CiA 406、CiA 461、CiA 434。2. CANopen 协议族总体结构CANopen 不是单个协议文件而是一组围绕对象字典和通信对象构建的规范族。CiA 301 定义 CANopen Classic 的应用层和通信 Profile包括数据类型、编码规则、对象字典对象、通信服务、网络管理服务以及 Emergency、Time-stamp、Sync 等通信对象内容。CiA 1301 则定义 CANopen FD 的应用层和通信 Profile覆盖 CAN FD 数据链路层映射和 CAN 物理介质附加选项。工程上可以按下面方式划分层级典型规范作用主要风险基础通信CiA 301 / CiA 1301NMT、SDO/USDO、PDO、SYNC、TIME、EMCY、Heartbeat、对象字典CAN-ID、PDO 映射、NMT 状态、错误控制配置与描述CiA 305 / 306 / 1305 / 1311LSS、EDS/DCF、XDD、设备配置工具文件与固件对象字典不一致横向功能CiA 320 / 710低功耗、休眠唤醒、固件升级休眠与升级冲突、升级失败不可恢复设备 ProfileCiA 401 / 402 / 406 / 445 / 461 等某类设备的应用对象、PDO、参数、诊断对象区间、默认 PDO、设备行为冲突应用 ProfileCiA 417 / 422 / 434 等系统级虚拟设备和交互关系虚拟设备、广播 PDO、错误处理策略冲突3. CiA 320Sleep / Wake-up 处理3.1 定位CiA 320 定义 CANopen 设备的 sleep 和 wake-up 处理服务与协议。它面向支持低功耗模式或 selective wake-up 能力的 CAN 收发器也适用于轻型电动车、特种车辆附加设备、服务机器人、AGV、电池供电模块等能源受限系统。3.2 大概内容CiA 320 通过 power managerPM管理网络中的 power management devicePM device。PM 通常位于当前有效的 CANopen NMT commander 中用于控制本地 Sleep FSA 以及网络中 PM device 的远程 Sleep FSA。公开资料显示PM 使用 CAN-ID691h的 CAN 数据帧向 PM device 发送命令PM device 使用 CAN-ID690h的 CAN 数据帧以及 CiA 301 中定义的 EMCY write protocol 向 PM 发送请求。3.3 核心与重点核心对象不是运动或 I/O而是电源状态管理。需要定义哪些节点可以睡眠、哪些节点必须保持在线。Sleep / wake-up 要和 NMT、Heartbeat、EMCY、LSS、Bootloader 规则统一。若节点睡眠后 Heartbeat 消失主站不能简单把它当作故障掉线必须区分“计划睡眠”和“异常离线”。若节点在执行固件下载或关键动作必须禁止进入睡眠。3.4 组合关系组合对象结论说明CiA 320 CiA 301可结合CiA 320 是 CANopen 服务扩展仍需要基础通信服务。CiA 320 CiA 401/402/406/445/461/434可结合但需约束低功耗会改变节点在线状态影响 PDO、Heartbeat 和诊断。CiA 320 CiA 710高风险组合固件升级期间进入睡眠可能导致下载中断或校验失败。CiA 320 Safety高约束安全相关节点是否允许睡眠要经过系统安全设计。4. CiA 710Generic CANopen Bootloader4.1 定位CiA 710 是通用 CANopen bootloader 规范用于统一 CANopen CC 和 CANopen FD 设备的软件更新行为。CiA 技术文档页面显示CiA 710 version 1.0.0 的 scope 是定义 CANopen 设备的 bootloader mode以及 bootloader mode 与 application mode 之间的切换。4.2 大概内容CiA 710 关注固件升级流程而不是普通过程数据控制。它要解决的问题包括设备如何从 application mode 切换到 bootloader mode设备如何保持 bootloader 可访问固件如何下载、校验、写入下载中断或固件不完整时如何恢复固件完整性和有效性校验通过后如何重新启动应用。4.3 核心与重点升级模式必须和正常应用模式隔离。进入 bootloader 后正常 PDO 控制不应继续驱动设备动作。必须考虑掉电、通信中断、下载不完整、校验失败。应用有效性检查是关键。设备不应启动无效固件。恢复能力比下载速度更重要。工业设备升级失败后仍应能重新进入 bootloader。权限与安全策略需要产品级补充。CiA 710 提供通用框架但实际项目还要考虑认证、版本回滚、加密签名、升级窗口等。4.4 组合关系组合对象结论说明CiA 710 CiA 301 / 1301可结合Bootloader 可面向 Classic 与 FD 设备。CiA 710 任意设备 Profile可结合固件升级是横向功能不改变设备 Profile 的应用语义。CiA 710 CiA 320需谨慎升级过程中通常应禁止自动睡眠。CiA 710 CiA 309 Gateway可结合但要限权远程升级要增加权限、日志、超时、恢复策略。5. CiA 401Generic I/O Device Profile5.1 定位CiA 401 是通用 I/O 设备 Profile定义带数字输入、数字输出、模拟输入、模拟输出的模块化 CANopen 设备接口。CiA 官方页面说明最新版本拆为 CiA 401-B功能行为与参数、CiA 401-C映射到 CANopen CC、CiA 401-F映射到 CANopen FD。5.2 大概内容CiA 401 关注 I/O 模块的标准化表达。它通常包括数字输入和数字输出对象模拟输入和模拟输出对象默认 TPDO / RPDO输入触发条件输出在故障情况下的行为可选的 bit、word、double-word 访问不同模拟分辨率和厂商自定义分辨率。公开资料指出CiA 401 的第一个默认 TPDO/RPDO 支持最多 64 路数字输入/输出并且后续默认 PDO 可传输或接收最多 12 路 16-bit 分辨率的模拟输入/输出。5.3 核心与重点重点不是“GPIO 编号”而是 I/O 语义标准化。输入侧要关注变化触发、滤波、极性、故障值、PDO 触发条件。输出侧要关注默认值、掉线行为、故障行为、安全状态。对模块化设备要处理模块槽位、对象实例和设备描述文件一致性。I/O 和驱动器、RFID、称重、实验室单元结合时I/O 常作为触发、互锁、状态灯、按钮、工位信号使用。5.4 组合关系组合对象结论风险CiA 401 CiA 402可组合驱动器带本地 I/O 时容易出现 PDO 和 Device type 表达不清。CiA 401 CiA 445可组合I/O 可触发 RFID 读写但要防止重复触发和边沿误判。CiA 401 CiA 461可组合I/O 可承载称重设备状态灯、按钮、报警输出。CiA 401 CiA 434可组合实验室单元可使用 I/O 作为工位、夹具、传感器、执行器接口。6. CiA 402Drives and Motion Control6.1 定位CiA 402 是驱动器与运动控制设备 Profile。CiA 官方说明该系列规范标准化伺服驱动器、变频器和步进电机控制器的功能行为并引入多个 operation mode 及对应配置参数。规范描述中包含 finite state automatonFSA用于定义驱动器各状态下的内部与外部行为。6.2 大概内容CiA 402 的典型内容包括Power Drive System FSAControlword和Statuswordoperation mode 和 mode displayprofile position、profile velocity、homing、cyclic synchronous position/velocity/torque 等模式目标位置、实际位置、目标速度、实际速度、目标转矩、实际转矩默认 RPDO/TPDOfault、quick stop、enable operation 等状态转换运动相关安全参数和 SRDO 参数扩展。CiA 官方资料说明host-controller 通过 control-word 改变状态当前状态通过 status-word 指示control-word 和命令值可映射到默认 RPDOstatus-word 和实际值可映射到 TPDO。6.3 核心与重点核心是状态机 控制字/状态字 操作模式。运动控制不是只写目标位置。必须满足 FSA 的状态转换顺序。PDO 映射要服务控制周期控制字、目标值、模式、状态字、实际值、错误状态要放在合适的 PDO 中。402 和 406 编码器组合时要关注同步、采样时刻、位置数据新鲜度。402 和 320 组合时驱动器不可在带功率或执行运动过程中随意休眠。402 和 710 组合时进入 bootloader 前必须让驱动进入安全、非使能、非运动状态。6.4 组合关系组合对象结论风险CiA 402 CiA 406常见组合编码器数据延迟或不同步会影响位置闭环或诊断。CiA 402 CiA 401可组合本地 I/O 可用于限位、抱闸、使能但安全功能不能只靠普通 I/O/PDO。CiA 402 CiA 320高约束带功率状态和睡眠状态需要明确边界。CiA 402 CiA 710可组合但需停机升级前应停止运动、关断功率级或进入安全状态。7. CiA 445RFID Device Profile7.1 定位CiA 445 定义简单和智能 RFID 设备的 CANopen 接口这类设备用于读取或写入 RFID transponder也就是 RFID tag。7.2 大概内容CiA 445 包含 RFID 设备的物理层、数据链路层、应用层接口以及过程数据、配置参数和诊断信息。公开资料中提到该 Profile 定义了四类 RFID 设备从单 transponder、单频率的 reader到支持多个 transponder 和多个频率的 reader/writer。RFID 控制通常涉及select command确定目标 tag 组inventory command识别某个 tag 组中的单个 tagaccess command读取/写入 tag 存储区或执行 lock、kill 等 tag 操作外部触发命令tag 进入/离开读取区域事件读取区域内 transponder 数量最近一次读写错误。7.3 核心与重点核心是识别对象和读写命令的标准化。要区分“读到 tag”“读写成功”“tag 离开区域”“读写错误”这几类事件。外部触发与自动 inventory 需要明确策略避免重复读取、漏读或读写竞争。与 I/O 结合时I/O 通常负责到位、夹紧、门开关、触发信号RFID 负责身份确认。与实验室自动化或物流设备结合时RFID 可用于样本、耗材、工装、载具、托盘识别。7.4 组合关系组合对象结论风险CiA 445 CiA 401可组合I/O 触发 RFID 时要处理边沿、去抖、重复读写。CiA 445 CiA 434可组合可用于样本/耗材识别但要定义 tag 与任务的绑定关系。CiA 445 CiA 320可组合但需约束休眠后 reader 不在线可能影响工位识别流程。CiA 445 CiA 710可组合升级期间应禁止正常读写任务。8. CiA 406Encoder Profile8.1 定位CiA 406 是编码器 Profile面向绝对旋转编码器和线性编码器。CiA 官方页面说明最新版本包含 CiA 406-B功能行为与参数、CiA 406-C映射到 CANopen CC、CiA 406-F映射到 CANopen FD、CiA 406-J映射到 J1939。8.2 大概内容CiA 406 定义编码器设备的应用接口通常包括位置值速度值加速度值jerk 值方向、分辨率、量程、预置值诊断信息CANopen CC / CANopen FD / J1939 映射。8.3 核心与重点核心是“位置测量设备”的标准化而不是驱动器控制。与 CiA 402 不同406 本身不定义驱动状态机不负责使能功率级。编码器数据通常通过 TPDO 周期或同步发送主站或驱动器使用这些数据进行位置反馈、状态监测或同步控制。需要重点关注采样周期、SYNC、PDO 触发类型、数据新鲜度、分辨率和单位。多圈编码器、线性编码器和高分辨率位置值要注意数据长度、溢出和标定。8.4 组合关系组合对象结论风险CiA 406 CiA 402常见组合位置反馈若不同步会影响运动控制质量。CiA 406 CiA 401可组合I/O 可提供 reference、limit、home、trigger 信号。CiA 406 CiA 320可组合但需约束睡眠导致反馈中断必须让控制器知道数据不可用。CiA 406 CiA 710可组合升级期间不要把编码器数据当作有效过程数据。9. CiA 461Weighing Devices9.1 定位CiA 461 是称重设备 Profile。CiA 的通用设备 Profile 列表中仍列出 CiA 461 series 作为 weighing devices Profile但 CiA 技术文档页面中可见 CiA 461-1/2/3/4 version 2.0.0 条目显示为 withdrawn。因此工程项目中使用 CiA 461 时应先向 CiA 或设备厂商确认当前正式状态、可用版本和兼容性要求。9.2 大概内容公开技术文档列表显示 CiA 461 被分为多个部分部分内容CiA 461-1general definitions and PDOsCiA 461-2load cellsCiA 461-3scalesCiA 461-4human machine interface and indicators根据这些 scope可推断其关注点包括称重设备的 CANopen interface functionalitygeneral communication parametersProcess Data Objectslower-layer requirementsload cell、scale、HMI、indicator 的过程数据和配置参数PDO communication and mapping parameters。9.3 核心与重点核心是称重过程值、稳定状态、标定、诊断和显示/指示器的标准化。称重值不是普通模拟输入值还需要考虑稳定时间、去皮、零点、量程、过载、故障状态。与 HMI/indicator 结合时要区分“测量值”“显示值”“报警/状态输出”。与 I/O 结合时I/O 可用于去皮按钮、清零按钮、报警灯、夹具状态等。与实验室自动化结合时称重过程可能成为一条工作计划中的关键步骤。9.4 组合关系组合对象结论风险CiA 461 CiA 401可组合按钮、状态灯、报警输出可走 I/O但称重过程值应保持清晰语义。CiA 461 CiA 434可组合实验室称重单元可纳入 LAC/LAU 流程但要处理稳定等待、错误恢复。CiA 461 CiA 320可组合但需约束休眠前后需重新确认标定、稳定性和过程值有效性。CiA 461 CiA 710可组合升级后应考虑标定参数保留和版本兼容。10. CiA 434Laboratory Automation Systems10.1 定位CiA 434 是实验室自动化系统的 CANopen device profile 集合定义 laboratory automation controllerLAC与多个 laboratory automation unitsLAUs之间的通信。10.2 大概内容CiA 434 包含通用定义和多个设备子类。公开资料中列出的内容包括CiA 434-1general definitionsCiA 434-2dilutors、dispensers、pump unitsCiA 434-3heating、cooling、shaking units其他部分还可包括 pipette control units、multi axis control units、drive units、washing units、centrifuge units、stacker units、detection units。CiA 434 定义 LAU 在 LAC 视角下的 FSA。状态转换可由内部设备事件触发例如设备错误或本地输入也可由 LAC 发出的 FSA command 触发。无错误设备可能处于 idle、configuration、interrupted 或 command processor active 等状态。10.3 核心与重点核心是 LAC/LAU 主从模型与实验室单元状态机。单元不是只暴露简单 I/O而是具备任务执行、批处理、配置和中断恢复能力。CiA 434 支持单个 operating command也支持预配置 work plan 这类 quasi-autonomous 操作。实验室系统常涉及泵、移液、加热、冷却、振荡、检测、堆栈、离心、多轴运动等多种单元。与 402/406/401/445/461 组合时需要明确各自状态机层级LAU 的任务状态机不能直接等同于驱动器 FSA 或 RFID 命令状态。10.4 组合关系组合对象结论风险CiA 434 CiA 301必然依赖CiA 434 设备使用 CiA 301 通信技术。CiA 434 CiA 302可结合复杂配置、程序/工作计划管理可使用附加应用层功能。CiA 434 CiA 402可组合多轴、泵或驱动单元可能需要运动控制但状态机要分层。CiA 434 CiA 445可组合RFID 可做样本、耗材、托盘、工位识别。CiA 434 CiA 461可组合称重单元可作为实验流程中的测量步骤。11. 8 个重点规范的组合矩阵12. 设备 Profile 设计关注点设备 Profile 之间能否组合主要不是看编号而是看以下资源是否冲突冲突资源典型问题处理方式Node-ID两个节点或逻辑设备使用相同 Node-ID统一分配 Node-ID必要时使用 LSSCOB-ID / CAN-ID默认 PDO、EMCY、Heartbeat 或自定义 CAN-ID 冲突重新规划 COB-ID 和 PDO 参数对象字典 index多个 Profile 或厂商对象使用同一 index按正式 Profile 选择对象厂商对象放入合适区间PDO 映射控制周期、数据长度、同步方式不一致明确 TPDO/RPDO 的角色、周期、触发类型和映射对象状态机402 FSA、434 LAU FSA、bootloader mode、sleep FSA 互相混淆分层定义状态机不把横向功能当设备动作状态安全边界用普通 PDO 实现安全停机或安全互锁安全功能必须按安全通信和认证要求处理电源状态睡眠导致 Heartbeat 消失、过程数据无效区分计划睡眠和异常掉线定义 PM 策略固件升级升级中断、升级后参数不兼容Bootloader 具备恢复机制保留/迁移关键参数13. 组合建议总结场景推荐组合注意事项通用 I/O 模块CiA 301 CiA 401关注数字/模拟 I/O 默认 PDO 和故障输出行为伺服/步进/变频器CiA 301 CiA 402关注 FSA、Controlword/Statusword、操作模式和 PDO 周期外部编码器反馈CiA 301 CiA 406关注同步、数据新鲜度、分辨率和预置值RFID 工位识别CiA 301 CiA 445 可选 CiA 401I/O 触发与 RFID 读写事件要去抖和去重称重/计量CiA 301 CiA 461先确认规范当前状态关注标定、稳定值、HMI/indicator实验室自动化CiA 301 CiA 434 可选 402/445/461LAC/LAU 状态机与底层设备状态机要分层低功耗系统CiA 301 CiA 320 设备 Profile睡眠/唤醒要与 NMT、Heartbeat、EMCY 一致可升级设备CiA 301/1301 CiA 710 设备 Profile升级期间禁止危险动作和睡眠保证中断恢复14. 资料来源CAN in Automation, CANopen CC overview: https://www.can-cia.org/can-knowledge/canopenCAN in Automation, CiA 401: Generic I/O device profile: https://www.can-cia.org/can-knowledge/cia-401-series-i/o-device-profileCAN in Automation, CiA 402: Drives and motion control: https://www.can-cia.org/can-knowledge/cia-402-series-canopen-device-profile-for-drives-and-motion-controlCAN in Automation, CiA 406: Encoder profile: https://www.can-cia.org/can-knowledge/cia-406-encoder-profileCAN in Automation, CiA 445: RFID device profile: https://www.can-cia.org/can-knowledge/cia-445-canopen-device-profile-for-rfid-devicesCAN in Automation, CiA 434: Laboratory automation systems: https://www.can-cia.org/can-knowledge/cia-434-canopen-device-profile-for-laboratory-automation-systemsCAN in Automation, CiA 320: Sleep and wake-up handling: https://www.can-cia.org/can-knowledge/cia-320-canopen-services-and-protocols-for-sleep-and-wake-up-handlingCAN in Automation, Technical documents: https://www.can-cia.org/cia-groups/technical-documentsCAN in Automation, Generic device profiles: https://www.can-cia.org/can-knowledge/generic-device-profiles