FC510x - PCI cards for CANopen

Bus Node Diagnostics

The CANopen fieldbus card FC510x has a comprehensive range of diagnostic options for connected network nodes.

For each CANopen fieldbus node there is a node state input variable, which signals the status of the current slave during the runtime and can be linked, for example with the PLC.

Input variable Node State

Node State (Box-State)

Node State
0 = 0x00
No error
Bus node is operational, communication is running correctly
1 = 0x01
Node deactivated
The node is subject to one or more of the following errors:
guarding/heartbeat error (failure, toggle bit error, node has changed state)
expected TxPDO has not been received
TxPDO length shorter than expected
Node has been stopped, because "Manual restart" following a node failure has been selected.
2 = 0x02
Node not found
Node not found: no answer to SDO read access to object 0x1000 at the expected node address. Check the following at the node: what node address is set, and what baud rate. Check network (terminating resistors, connectors, bus length, crossed wiring etc.)
4 = 0x04
SDO syntax error at StartUp
Error during SDO write access: SDO abort by node. See the "Diag" tab for details.
or: the length of an object read by SDO does not agree with the expected length.
5 = 0x05
SDO data mismatch at StartUp
Expected data do not match the data read via SDO (e.g. Device Profile and/or Add. Info does not match object 0x1000). Can also occur if the value to be written (e.g. PDO COB-ID) is read back due to refusal of write access, and does not agree. See the "Diag" tab for details.
8 = 0x08
Node StartUp in progress
Node was found and has been started.
11 = 0x0B
FC510x Bus-OFF
CAN chip has entered the "Bus-OFF" state: transmit error counter is running
12 = 0x0C
Node has gone pre-operational (on its own account).
13 = 0x0D
Severe bus fault
General firmware error.
14 = 0x0E
Guarding: toggle error
Guarding error: Toggle bit has not changed.
20 = 0x14
TxPDO too short
Received TxPDO shorter than expected.
22 = 0x16
Expected TxPDO is missing
TxPDO has not been received within the expected time interval:
sync interval with synchronous TxPDOs,
event timer with event-driven PDOs.
23 = 0x17
Node is Operational but not all TxPDOs were received
Node has been started, but at least one TxPDO has not yet been received from the node. Possible causes (e.g.):
The node only sends event-driven PDOs after the first event (this is not the intention of the CANopen specification, but is quite usual).
Too many TxPDOs have been configured.
A TxPDO is present at the node, but no process data has been mapped.
The TxPDO has transmission type 1...120 (synchronous), but SYNC has not yet been sent because the associated task has not been started.


Shows whether the box diagnostic information has changed.


Reading the Diagnostic Data via ADS

CANopen emergencies and other diagnostic data can be read out via ADS read (new data present as soon as you see the DiagFlag). You need to enter the FC510x ADS Net-ID. Further ADS parameters:

Port: 200

IndexGroup: Lo-Word = 0xF180, Hi-Word = Node-Number.

IndexOffset: See below

Length: See below

If more than 26 bytes of diagnostic data have been read out the emergency memory is reset. The DiagFlag is reset as soon as at least 108 bytes have been read starting from offset 0. Alternatively, the flag is reset after each read access, if IndexGroup 0xF181 (instead of 0xF180) is used for reading.

The diagnostic data have the following definitions:

Offset 0,1:
Bit 1:
Boot up message not received or incorrect
Bit 2:
Bit 0, Bits 3-15:
Offset 2,3:
Bits 0-14:
TX-PDO (i+1) received
Bit 15:
All TX PDOs 16-n received
Offset 4,5:
Bits 0-4:
Incorrect TX PDO length
Synchronous TX PDO absent
Node signaling PRE-OPERATIONAL
Event timer timed out for one TX PDO
No response during guarding
Toggling missed several times during guarding
Bits 5-15:
Associated COB ID
Offset 6:
Bits 0-7:
Incorrect value during SDO upload
Incorrect length during SDO upload
Abort during SDO up/download
Incorrect date during a boot-up message
Timeout while waiting for a boot-up message
Offset 7:
Bits 0-7:
2: Incorrect SDO command specifier
3: SDO toggle bit has not changed
4: SDO length too great
5: SDO-Abort
6: SDO-Timeout
Offset 8,9
Bits 0-7:
SDO up/download index
Offset 10:
Bits 0-7:
SDO up/download subindex
Offset 11:
Bits 0-7:
Offset 12:
Bits 0-7:
Abort errorClass
Offset 13:
Bits 0-7:
Abort errorCode
Offset 14,15:
Bits 0-15:
Abort additionalCode
Offset 16-19:
Read value (if offset 6 = 1)
Offset 20-23:
Expected value (if offset 6 = 1)
Offset 24-25:
Number of consecutive emergencies
Offset 26 - n:
Emergencies (8 bytes each)