Skip to content

SdoAbortCode Enum

The CiA 301 §7.2.4.3.17 Table 22 SDO abort codes this node emits or matches. Values are the exact 32-bit codes carried in an SDO Abort frame's data bytes 4..7 (little-endian).

public enum SdoAbortCode : System.UInt32

Fields

ToggleBitNotAlternated 84082688

Toggle bit not alternated (segmented transfer protocol violation).

SdoProtocolTimedOut 84148224

SDO protocol timed out.

CommandSpecifierInvalid 84148225

Client/server command specifier not valid or unknown.

InvalidBlockSize 84148226

Invalid block size (only used by block transfer).

InvalidSequenceNumber 84148227

Invalid sequence number (block mode only) — CiA 301 Table 22, 0504 0003h. A block segment's seqno must satisfy 0 < seqno < 128 (§7.2.4.3.10 / §7.2.4.3.14) and cannot exceed the blksize in force for the sub-block; a receiver aborts with this code when it does.

CrcError 84148228

CRC error (block transfer only). Set when the CRC-16 carried in the end-of-block frame does not match the CRC computed by the receiver over the reassembled payload.

OutOfMemory 84148229

Out of memory — a segmented SDO transfer declared more bytes than the node is willing to buffer (see CanOpenNodeOptions.MaxSdoTransferBytes).

UnsupportedAccess 100728832

Unsupported access to an object.

AttemptReadWriteOnly 100728833

Attempt to read a write-only object.

AttemptWriteReadOnly 100728834

Attempt to write a read-only object.

ObjectDoesNotExist 100794368

Object does not exist in the object dictionary.

ObjectCannotBeMapped 100925505

Object cannot be mapped to a PDO (CiA 301 §7.5.2.36 / §7.5.2.38): the target is not mappable, or its declared size does not match the mapped bit length.

PdoMappingLengthExceeded 100925506

The number and length of the objects to be mapped would exceed the PDO length (CiA 301 §7.5.2.36 / §7.5.2.38 — more than 8 assembled payload bytes).

GeneralParameterIncompatibility 100925507

General parameter incompatibility reason (CiA 301 Table 22). Emitted for a consumer heartbeat time (1016h) that names a node-id another sub-index already monitors (§7.5.2.19).

DataTypeLengthMismatch 101122064

Data type does not match / length of service parameter does not match (used for PDO mapping entries whose bit length is not a positive multiple of eight, and for wrong widths when writing parameter records).

LengthTooHigh 101122066

Data type does not match — length of service parameter too high.

LengthTooLow 101122067

Data type does not match — length of service parameter too low.

SubIndexDoesNotExist 101253137

Sub-index does not exist.

ValueRangeExceeded 101253168

Value range of parameter exceeded, write access only — CiA 301 Table 22 words it "0609 0030h Invalid value for parameter (download only)"; the member name keeps the older, more widely quoted phrasing. The code the profile text prescribes for a download whose value is outside what the object accepts: an unsupported transmission type (§7.5.2.35 / §7.5.2.37), the 29-bit frame bit on a node that supports base frames only (§7.5.2.5, §7.5.2.17, §7.5.2.33), a reserved bit set in a communication parameter, and a change to the CAN-ID part of a COB-ID while the object exists and is valid.

General 134217728

General error / unspecified.

NoDataAvailable 134217764

No data available (CiA 301 Table 22). Emitted for an upload of an entry of the pre-defined error field 1003h above its count (§7.5.2.4, NOTE).

DataCannotBeTransferred 134217760

Data cannot be transferred or stored to the application (CiA 301 Table 22). Emitted for a wrong signature written to 1010h / 1011h (§7.5.2.13 / §7.5.2.14, "abort code: 0800 002xh").

DataCannotBeTransferredDeviceState 134217762

Data cannot be transferred or stored to the application because of the present device state (CiA 301 Table 22). Emitted for an SDO server session that was open when the node entered NMT state Stopped, where SDO is not available (§7.3.2.2.5 Table 37).

Remarks

Table 22 is a protocol reference, not an implementation order: only the codes for conditions this node actually detects are named here. Unrecognized abort codes coming in from a remote peer are still preserved as raw uint in SdoAbortException so callers see the exact vendor-specified code.