![Curtis Acuity 1030 Скачать руководство пользователя страница 20](http://html1.mh-extra.com/html/curtis/acuity-1030/acuity-1030_manual_2699898020.webp)
Curtis 1030 Acuity Manual,
Rev. C
17
6 — SDO COMMUNICATIONS
6
SDO COMMUNICATIONS
CANopen uses Service Data Objects (SDOs) to change and view all internal
parameters, or “objects.” The SDO is an 8-byte packet that contains the address
and sub-address of the parameter in question, whether to read or write that
parameter, and the parameter data (if it is a write command). SDOs are sent
infrequently and have a low priority on the CANbus.
SDOs are designed for sporadic and occasional use during normal run-
time operation. There are two types of SDOs: expedited and block transfer.
The Acuity does not support large file uploads or downloads (using the block
transfer), so all SDOs in this specification are expedited SDOs.
The SDOs in the Acuity are used to set up and input battery-specific
parameters. They are also used to retrieve basic information (such as version
or battery-specific data).
SDO Master Request (SDO-MOSI)
An SDO transfer always starts with a request message from the master. Each
SDO request message consists of one control byte, a two-byte CAN Object
index, a one-byte CAN Object sub-index, and up to 4 bytes of valid data. This
format is CANopen compliant.
SDO-MOSI
(received from the system master)
Byte 1
Byte 2
Byte 3
Byte 4
Byte 5
Byte 6
Byte 7
Byte 8
Control CAN
Object Sub-index
Data Data Data Data
Index
The first data byte contains R/W message control information.
Action
Byte 1
Value
Read
42h
Write
22h
The next two data bytes hold the CAN Object index. The least significant byte
of the index appears first, in byte 2, and the most significant byte appears in byte 3.
For example, if the index is 3021h, byte 2 holds the 21h and byte 3 holds the 30h.
Data byte 4 holds the CAN Object sub-index. When there is only one instance
of a parameter or value type, this value is 0. If there are several related parameters
or values, the sub-index is used.
The last four data bytes hold the data that is to be transferred. In the case of a
single-byte transfer, the data is placed into data byte 5, with bytes 6 through 8 being
undefined (set to 0). In the case of a 16-bit transfer, the lower 8 bits appear in data
byte 5 and the upper 8 bits appear in data byte 6; bytes 7 and 8 are undefined (set
to 0). The case of a 32-bit transfer follows the same strategy, with the least signifi-
cant byte placed in data byte 5 and the most significant byte placed in data byte 8.