CANopen 的每一个节点都维护了一个状态机。该状态机的状态决定了该节点当前支持的通讯方式以及节点行为。
节点在不同的状态下支持不同的报文通讯
初始化:bootup报文(lifeguard的一种)
预运行:SDO报文,紧急报文,同步报文,节点守护报文、LSS报文
运行:SDO报文,紧急报文,同步报文,节点守护报文、PDO报文
停止:节点守护报文和LSS报文
CANOpen对节点状态枚举和报文使能情况结构体:
/* 节点状态枚举体 */
enum enum_nodeState
{
Initialisation = 0x00, /* 初始化状态 */