5 — VEHICLE CONTROL LANGUAGE (VCL)
pg. 95
Curtis Model 1351 – December 2018
function
Check_SDO_Write()
Check if a specific write for SDO data has been fulfilled.
syntax
Check_SDO_Write(Reception_ID)
arguments:
Write _ID
Specify the buffer handle provided by the
SDO_Write
function
returns:
0
=
waiting for the response from the slave device to be received
(i.e., cannot send another write request until the previous
request has been removed the buffer). Needs a check and/or
delay in the VCL main loop to prevent over-requesting.
1 =
SDO Write was successful
2 – 11 =
Abort code (see table)
Error Message
Return
CANopen Code
Description
BAD_SDO_COMMAND
2
0504 0001h
Anytime the SDO command byte is unknown or the
SDO structure is incorrect, including wrong length
(not 8 bytes, as required by the CCIS-V2 device)
CRC_FAILED
3
0504 0004h
The CRC failed on the file.
UNSUPPORTED_ACCESS
4
0601 0000h
Attempt to access an object using an incorrect
access level.
OBJECT_IS_WRITE_ONLY
5
0601 0001h
Try to read a write-only object
OBJECT_IS_READ_ONLY
6
0601 0002h
Try to write a read-only object
UNSUPPORTED_OBJECT
7
0602 0000h
Object is not in the device, or an error occurred
while in a block, or segmented SDO transfer.
PDO_MAPPING_ERROR
8
0604 0041h
Any PDO mapping failure, including a non-map-
able parameter, the device is not in Pre-Operational
mode, the length byte is wrong or there are too
many bytes in the PDO mapping.
VALUE_OUT_OF_RANGE
9
0609 0030h
The value is out-of-range
GENERAL_ERROR
10
0800 0000h
Any other generic reason not listed elsewhere.
INVALID_DEVICE_STATE
11
0800 0022h
Some parameters cannot be changed if the system
is moving or is engaged (interlock off) or if the fault
has not occurred