引言
在现代工业自动化系统中,可靠高效的设备间通信是核心。CAN总线以其高可靠性和实时性,在汽车和工业控制领域得到了广泛应用。而基于CAN总线的CANopen协议,则进一步为工业设备提供了一套标准化的通信框架。本文将聚焦于如何使用汇川H5U系列PLC,一步步配置为CANopen主站,并实现与汇川IS620N系列伺服驱动器的通信。如果你正在为如何搭建一个稳定的CANopen控制网络而寻找实操指南,这篇文章或许能为你提供清晰的思路。更多工业控制与网络协议的深入探讨,欢迎访问云栈社区。
CANopen 基础概念
CANopen 是一种基于CAN总线的应用层网络协议,它定义了设备间的通信规则、对象字典以及各种服务,旨在实现不同制造商设备之间的互操作性。其核心特点包括开放式标准、高可靠性、灵活的实时数据交换以及便于系统集成。
理解CANopen,首先要熟悉几个关键术语:
- NMT(网络管理):负责整个网络的启动、停止和状态监控,遵循严格的主从模式。
- SDO(服务数据对象):用于主站对从站进行参数配置、读写对象字典,是一种需要确认的请求-响应式通信。
- PDO(过程数据对象):用于传输实时过程数据(如控制字、状态字、位置指令等),传输效率高,数据长度限制在1-8字节。
- SYNC(同步对象):由主站周期性广播,用于协调网络上所有从站的PDO数据同步发送与接收。
- COB-ID(通信对象标识符):
CANopen帧在CAN总线上的唯一标识符,决定了帧的优先级和用途。
汇川H5U系列PLC支持CANopen标准协议DS301。
状态指示灯解读
在进行配置前或故障排查时,观察CANopen模块的指示灯是判断其工作状态最直接的方式。

主站配置步骤详解
以下配置均以汇川AutoShop编程软件为例。CANopen主站配置与CANLink类似,只有作为主站时才需要进行CANopen配置。
1. 新建项目并启用CANopen主站
在工程管理器的“配置”目录下,双击“CAN”项。

在弹出的“CAN口设置”窗口中:
- 协议类型选择“CANopen”。
- 设置端口号(通常为1)。
- 设置主站站号(例如63),注意:只有此站号与PLC硬件拨码开关或软件设置的站号一致时,PLC才会被初始化为
CANopen主站。
- 设置与从站设备匹配的波特率(例如500Kbps)。
- 点击“确定”。
2. 添加CANopen网络配置
在项目树的“配置”->“CAN(CANopen)”上右键,选择“添加CAN配置”。

3. 添加从站设备
双击新生成的“CANopen配置”打开组态界面。从右侧的“CANopen设备列表”中,找到并拖拽或双击目标从站设备(例如“IS620_V056”)到左侧网络拓扑图中。

4. 导入非标设备EDS文件
如果目标从站设备不在预置列表中,可以通过导入其EDS(电子数据表)文件来添加。在右侧“CANopen设备列表”空白处右键,选择“导入EDS”。

5. 配置主站参数
在网络组态界面中,双击主站图标(通常标有站号,如63)打开“主站信息”配置窗口。这里是整个CANopen网络的核心参数设置区。

5.1 网络管理
- 节点ID:即主站站号,需与步骤1.3中设置的一致。
- 波特率:需确保网络上所有设备波特率设置相同。
- 程序运行过程中禁止SDO,NMT访问:勾选后,在PLC运行时将无法通过软件在线修改从站参数,适用于需要保证运行稳定性的场合。
- 所有SDO错误继续配置:勾选后,即使对某个从站的SDO配置出错,主站也会继续尝试配置其他从站。
5.2 同步(SYNC)设置

- 使能同步生产:勾选后,主站将作为SYNC生产者,按设定周期发送同步帧。一个网络中只能有一个SYNC生产者。
- COB-ID:同步帧的标识符,通常固定为0x80,不可修改。
- 同步周期:发送SYNC帧的时间间隔,单位为毫秒(ms),例如200ms。此周期会影响同步型PDO的更新速率。
5.3 心跳(Heartbeat)设置

- 使能心跳生产:勾选后,主站将按“生产时间”周期发送自身的心跳帧,告知从站自己的状态。
5.4 SDO超时时间

- 超时时间:主站发送SDO配置指令后,等待从站回复的最长时间。默认500ms。若超时且重试3次失败,主站将判定该从站配置失败。
5.5 节点状态监控
- 使能站点监控:勾选后,主站会监控所有从站的在线状态。
- 监控结果将存储在系统变量数组
_CANOpen.NodeState[64] 中。
_CANOpen.NodeState[0] 表示本机(主站)状态。
_CANOpen.NodeState[站号] 表示对应从站的状态。
- 状态值含义:
- 0: 初始化
- 4: 停止
- 5: 运行
- 127: 预运行
- 255: 掉线
5.6 自动分配PDO映射寄存器

这是简化配置的关键功能,类似于EtherCAT中的设置。
- 自动分配:强烈建议勾选。勾选后,软件会自动为所有从站的PDO数据分配PLC内部的映射寄存器地址,无需手动计算,极大减少出错概率。
- 从站接收/发送映射寄存器起始地址:当勾选“自动分配”时,这里设置的是自动分配地址空间的起始点(例如接收起始地址D7000,发送起始地址D7400)。主站发给从站的数据(如控制指令)写入“接收映射区”,从站发给主站的数据(如状态反馈)从“发送映射区”读取。
6. 网络状态监控与诊断
完成配置并下载程序后,可以在“主站信息”窗口的“网络状态”页进行实时监控。

- 启动监控:点击后开始实时刷新网络状态。
- 网络负载:显示当前
CAN总线的通信负荷率。
- 网络状态表:直观显示主站和所有从站的实时状态(对应
_CANOpen.NodeState 的值)。
- 紧急错误信息:显示网络上设备报告的紧急错误。PLC本体通常只缓存最新一条,而编程软件后台可缓存更多。
- SDO配置错误查询:如果配置过程中出现SDO错误,可以在此处输入站号和错误步号,查询具体的错误码,对照
CANopen标准进行排查。
至此,汇川H5U PLC作为CANopen主站的网络搭建与基本配置已完成。关于从站(如IS620N伺服驱动器)内部的PDO映射、对象字典参数设置等详细内容,我们将在后续文章中继续探讨。
|