CI506-PNIO Communication Interface CANOpen® Slave View¶
The Node flag is an unsigned integer (32 bits) which represents different states of the Slave:
States with green background are normal and expected. All other states have a red background when active indicating that something unexpected has happened or diagnostic data is available.
Node Flag
This variable is organized as a bit field as described in the table below:
Node Diagnostic Flags | Bit Name Description |
---|---|
D31 FLAG_DEACTIVATED | Node is deactivated and not handled by the Master. This bit does not generate an entry in the diagnostic list. |
D30 FLAG_STATE_NOT_HANDLED | At least one state has been omitted during the initialization sequence of the node. This bit does not generate an entry in the diagnostic list. |
D13 .. | Reserved |
D29 .. | Reserved |
D12 FLAG_INVALID_PARAMETER | Parameter set of node is invalid. |
D11 FLAG_UNEXPECTED_BOOTUP | Unexpected Bootup Message from Node received. |
D10 FLAG_BOOTUP | Expected Bootup Message from Node received. |
D9 FLAG_EMCY_BUFF_OVER | Emergency buffer overflow |
D8 FLAG_EMCY_RECEIVED | Emergency telegram received. |
D7 FLAG_UNEXPECTED_STATE | Node is in unexpected NMT state. |
D6 FLAG_HEARTBEAT_ERROR | Error in heartbeat protocol. |
D5 FLAG_CON_LOST | Node guarding has been lost. |
D4 FLAG_GUARD_ERROR | A guarding message has been lost. This bit does not generate an entry in the diagnostic list. |
D3 FLAG_HEARTBEAT_STARTED | Heartbeat protocol started. This bit does not generate an entry in the diagnostic list. |
D2 FLAG_CFG_FAULT | Configuration fault. |
D1 FLAG_SDO_ERROR | Error during SDO transfer. |
D0 FLAG_SDO_TIMEOUT | Timeout during SDO transfer. |
Nmt (network management) State
This variable holds the internal NMT state of the node according to the following table:
NMT State | Value |
---|---|
CANOPEN_MASTER_NODE_NMT_STATE_UNKNOWN | 0x00000000L |
CANOPEN_MASTER_NODE_NMT_STATE_INITIALISING | 0x00000001L |
CANOPEN_MASTER_NODE_NMT_STATE_STOPPED | 0x00000002L |
CANOPEN_MASTER_NODE_NMT_STATE_OPERATIONAL | 0x00000003L |
CANOPEN_MASTER_NODE_NMT_STATE_PRE_OPERATIONAL | 0x00000004L |
CANOPEN_MASTER_NODE_NMT_STATE_RESET_APPLICATION | 0x00000005L |
CANOPEN_MASTER_NODE_NMT_STATE_RESET_COMM | 0x00000006L |
Last Diag Info
In this information the last diagnostic information of this node station is held down.
Device Type Valid
This variable indicates whether the device type in variable DeviceType is valid or not.
DeviceType
These 4 bytes are read out from the node while startup. There are several predefined profile numbers existing, each described in an own specification manual. Here is an extract of these:
decimal | |
---|---|
Device Profile for I/O modules | 401 |
Device Profile for Drives and Motion Control | 402 |
Device Profile for Encode | 406 |
Emergency Data
Each slave can held up to 5 emergency data structures which consists of 8 bytes each.
An Emergency data structure consist of a 2 byte error code, a 1 byte error register and 5 bytes emergency data (which are always manufacturer specific):
Emergency Error Codes (hex) | Error Code Description |
---|---|
00xx | Error Reset or No Error |
10xx | Generic Error |
20xx | Current |
21xx | Current, device input side |
22xx | Current inside the device |
23xx | Current, device output side |
30xx | Voltage |
31xx | Mains Voltage |
32xx | Voltage inside the device |
33xx | Output Voltage |
40xx | Temperature |
41xx | Ambient Temperature |
42xx | Device Temperature |
50xx | Device Hardware |
60xx | Device Software |
61xx | Internal Software |
62xx | User Software |
63xx | Data Set |
70xx | Additional Modules |
80xx | Monitoring |
81xx | Communication |
8120 | CAN in Error Passive Mode |
8130 | Life Guard Error or Heartbeat Error |
8140 | Recovered from bus off |
8150 | Transmit COB-ID collision |
82xx | 82xx |
8210 | PDO not processed due to length error |
8220 | PDO length exceeded |
90xx | External Error |
F0xx | Additional Functions |
FFxx | FFxx Device specific |
The bits of the error register have the following meaning:
Error Code | |
---|---|
CANOPEN_MASTER_ERROR_REGISTER_GENERIC_BIT | 0x01 |
CANOPEN_MASTER_ERROR_REGISTER_CURRENT_BIT | 0x02 |
CANOPEN_MASTER_ERROR_REGISTER_VOLTAGE_BIT | 0x04 |
CANOPEN_MASTER_ERROR_REGISTER_TEMPERATURE_BIT | 0x08 |
CANOPEN_MASTER_ERROR_REGISTER_COMM_ERROR_BIT | 0x10 |
CANOPEN_MASTER_ERROR_REGISTER_DEV_PROFILE_BIT | 0x20 |
CANOPEN_MASTER_ERROR_REGISTER_RESERVED_BIT | 0x40 |
CANOPEN_MASTER_ERROR_REGISTER_MANU_SPEC_BIT | 0x80 |
Note
For some ABB CANopen® Slaves the emergency data is well known and can be displayed in a decoded way.
ABB CANopen® Slaves are signalling the “Alarm Off/Gone” situation by sending a second emergency data with error code “No Error”