CANopen filter fields
Select CANopen and the Protocol layer. For source identifiers, RTR and the complete CAN frame payload, use the Physical layer and the CAN catalog.
Catalog
| Field | Type | Meaning and applicability |
|---|---|---|
protocol.type | String | Application protocol type: canopen |
canopen.type | String | Message family, listed below |
canopen.nodeId | Integer | Message node; for NMT, the target node, with 0 addressing all nodes |
canopen.canId | Integer | Message CAN identifier |
canopen.index | Integer | SDO/USDO object index when the message carries an object key |
canopen.subIndex | Integer | SDO/USDO subindex when the key is present |
canopen.request | Boolean | SDO/USDO request role, when determined |
canopen.response | Boolean | SDO/USDO response role, when determined |
canopen.abortCode | Integer | Abort code; only in SDO/USDO abort messages |
canopen.nmtCommand | Integer | Command code; only in NMT messages |
canopen.emcyCode | Integer | Emergency code; only in EMCY messages |
canopen.data | Bytes | SDO/USDO transfer data, PDO payload, or message data for other types |
A PDO message does not gain index and subIndex fields even when its values are decoded using a device description. These fields refer to SDO/USDO object keys. The current catalog has no filter for a decoded PDO signal name or physical value. See the filter language reference for comparisons with missing fields.
Message types
protocol.type == canopen selects the protocol; canopen.type distinguishes its message families. The canopen suggestion for protocol.type appears when the trace contains messages. The following canopen.type catalog is independent of the trace contents.
canopen.type | Messages |
|---|---|
nmt | Network state management |
sync | Synchronization |
time | Time |
bootup | Node startup |
heartbeat | Node state reports |
nodeGuard | Recognized Node Guarding traffic |
emcy | Emergency message |
sdo | SDO exchange |
pdo | PDO process data |
usdo | USDO exchange in CANopen FD |
Unclassified messages use unknown. Distinguishing Heartbeat from Node Guarding depends on the observed frame; not every state response can be classified unambiguously without context.
USDO belongs to CANopen FD. See CAN FD settings for adapter and decoding requirements.
Examples
All recognized messages for node 5:
canopen.nodeId == 5Broadcast NMT targets node 0 and is excluded above. Include it with:
canopen.nodeId == 5 or (canopen.type == nmt and canopen.nodeId == 0)Access to object 0x1018:1:
canopen.nodeId == 5 and canopen.type == sdo and canopen.index == 0x1018 and canopen.subIndex == 1Segments without an object key lack these fields. Use a broader filter for the entire transfer:
canopen.nodeId == 5 and canopen.type == sdoSDO/USDO aborts:
exists(canopen.abortCode)Node emergencies:
canopen.nodeId == 5 and canopen.type == emcyPDO with a particular CAN ID:
canopen.type == pdo and canopen.canId == 0x185NMT command 0x01 for node 5 or the whole network:
canopen.type == nmt and canopen.nmtCommand == 0x01 and canopen.nodeId in (0, 5)NMT has no SDO/USDO request role. Do not add canopen.request == true to find NMT commands.
See node state, object access and PDO data for further guidance.