NMT
NMT主要用來管理和控制各個節點的狀態,具體協議可以分為以下四類:
- NMT protocol
- Node guard protocol
- Heartbeat protocol
- Bootup protocol
NMT protocol
該協議是CANopen中網路管理的協議,控制和管理節點的狀態,透過傳送相關報文,可以讓目標節點進入特定的工作狀態。工作狀態有以下幾種
- Initialization(初始化): 節點開始時進入初始化狀態。
- Pre-operational(預操作): 節點處於準備狀態,但不參與正常的PDO(Process Data Object)通訊。
- Operational(操作): 節點完全進入操作模式,允許PDO通訊。
- Stopped(停止): 節點停止所有的通訊。
NMT命令通常由網路管理器傳送,命令包括:
命令 | 描述 | cs值 |
---|---|---|
Start Remote Node | 將節點切換到Operational模式 | 0x01 |
Stop Remote Node | 將節點切換到Stopped模式 | 0x02 |
Enter Pre-operational | 將節點切換到Pre-operational模式 | 0x80 |
Reset Node | 重置節點,重新啟動節點 | 0x81 |
Reset Communication | 重置節點的通訊部分 | 0x82 |
其具體值為cs值(一位元組)+nodeid(一位元組)
Note : To command all the nodes, use nodeId = 00
Examples
- To put the node 0x6 in operational mode : 000 01 06
- To put all the nodes in pre-operational mode : 000 80 00
Node Guard protocol
節點監護協議(Node Guard protocol),用於主裝置監控從裝置的狀態。由主裝置定期傳送,如從節點沒在規定時間內回應,則主節點認為該節點出現了故障。(該報文中有翻轉位)
Heartbeat protocol
心跳協議(Heartbeat protocol),是節點監護協議的簡化版本,心跳協議不需要主裝置定期傳送訊息來請求從裝置回應,而是每個節點自主釋出心跳報文。(該報文中沒有翻轉位)
Bootup protocol
Bootup協議是CANopen節點在啟動時,通知主裝置其狀態的協議,在初始化進入預操作狀態時,該節點會傳送Bootup表示節點已經初始化完成,並且可以接收管理指令。