Skip to content

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 ​

FieldTypeMeaning and applicability
protocol.typeStringApplication protocol type: canopen
canopen.typeStringMessage family, listed below
canopen.nodeIdIntegerMessage node; for NMT, the target node, with 0 addressing all nodes
canopen.canIdIntegerMessage CAN identifier
canopen.indexIntegerSDO/USDO object index when the message carries an object key
canopen.subIndexIntegerSDO/USDO subindex when the key is present
canopen.requestBooleanSDO/USDO request role, when determined
canopen.responseBooleanSDO/USDO response role, when determined
canopen.abortCodeIntegerAbort code; only in SDO/USDO abort messages
canopen.nmtCommandIntegerCommand code; only in NMT messages
canopen.emcyCodeIntegerEmergency code; only in EMCY messages
canopen.dataBytesSDO/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.typeMessages
nmtNetwork state management
syncSynchronization
timeTime
bootupNode startup
heartbeatNode state reports
nodeGuardRecognized Node Guarding traffic
emcyEmergency message
sdoSDO exchange
pdoPDO process data
usdoUSDO 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:

text
canopen.nodeId == 5

Broadcast NMT targets node 0 and is excluded above. Include it with:

text
canopen.nodeId == 5 or (canopen.type == nmt and canopen.nodeId == 0)

Access to object 0x1018:1:

text
canopen.nodeId == 5 and canopen.type == sdo and canopen.index == 0x1018 and canopen.subIndex == 1

Segments without an object key lack these fields. Use a broader filter for the entire transfer:

text
canopen.nodeId == 5 and canopen.type == sdo

SDO/USDO aborts:

text
exists(canopen.abortCode)

Node emergencies:

text
canopen.nodeId == 5 and canopen.type == emcy

PDO with a particular CAN ID:

text
canopen.type == pdo and canopen.canId == 0x185

NMT command 0x01 for node 5 or the whole network:

text
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.

Protohaund is independent software and is not affiliated with, endorsed by, sponsored by, or certified by any third-party organization referenced in the application.Third-party names, trademarks, product names, device names, protocol names, and standards are referenced solely to identify vehicle applicability, supported products, technologies, protocols, formats, or compatibility.All third-party trademarks and other marks are the property of their respective owners. Their use does not imply any affiliation with, endorsement of, certification of, or approval of Protohaund by their respective owners.Compatibility is limited to the features, devices, protocols, standards, and versions explicitly documented by Protohaund.