
CANopen的节点监控有两种模式:
当倍福作为主站时,默认心跳检测(heartbeat)是勾选的,即默认使用的是心跳保护模式。当需要使用节点保护模式时,则需要取消勾选。如下图所示:

再介绍一下上图中的一些重要参数:
保护时间是周期性的发送报文到从站,主站发送的是空报文,报文的COBID是0x701(1号节点,其他节点按下图推)

当从站返回报文时,这个701地址就有了从站的状态,如下:

如果超过寿命因子时间(保护时间*寿命因子),主站还没有接收到从站的应答信号,则认为从站出错。
相对于主站来说,从站不需要知道主站这么多的状态,它只需要监控主站在保护时间内的701心跳报文,如果收不到经过寿命因子时间后,从站就自我保护。
上文介绍的是节点保护模式,如果启用心跳保护模式,需要勾选Use Heartbeat,之后会优先使用心跳检测模式。
心跳保护的工作原理:从站在保护时间周期性的发送报文到主站,如果主站在超过保护时间*寿命因子的时间还没有收到从站的下一个心跳报文则认为从站出错。
正常的从站报文含了如下信息:

可以发现,在心跳保护模式下,主站是不给从站发送心跳报文的,所以最好采用节点保护模式。但是节点保护模式会增加网络的带宽占用,使用时需要综合评估。
2025.12.1 杨靖华 供稿