CANopen Basics - Guarding and Heartbeat
Node Monitoring via Node-Guarding or Heartbeat Messages
| To ensure operability of network nodes, CANopen provides two alternatives: |
With node guarding, one CAN identifier per node is required to request the communication state. Low priority messages identifiers with a value of 1792 + node-ID are reserved for this.
With node monitoring according to the heartbeat principle, a node automatically transmits its communication state at regular intervals as evidence of its communication ability. The interval between two heartbeat messages ("heartbeat interval") of a heartbeat producer is configured via the object directory entry . A value of 0 disables the heartbeat mechanism. The so-called "heartbeat consumer time" of the up to 127 network nodes is given in the OD entry . This time interval describes the maximum time within which the arrival of a heartbeat message is expected by a particular node.
In a guarding or heartbeat message the communication status is transmitted in the form of a one-byte value:
r ..... Reserved (= 0) with heartbeat
The following state values are defined:
0x00 - Bootup; 0x04 - Stopped; 0x05 - Operational; 0x7F - Pre-Operational. The highest value bit is assigned a special role - with guarding it must toggle, with heartbeat it must be constant 0.
The node status message has a special application as a so-called "bootup event". This message ("bootup message") is automatically sent by a network node as soon as it changes from "Initialization" state to "Pre-Operational" state; this notifies all nodes already present in a CANopen network of the presence of a new node. In addition, a configuring node (NMT-master) is informed when it may begin with the configuration of a node. The data byte of the bootup message has the value 0x00.
Дэвид… - всхлипывала. - Дэвид. В этот момент в нескольких метрах под помещением шифровалки Стратмор сошел с лестницы на площадку. Сегодняшний день стал для него днем сплошных фиаско.