CANopen Programmer's Manual - Maccon.de
CANopen Programmer's Manual - Maccon.de
CANopen Programmer's Manual - Maccon.de
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
1: Introduction <strong>CANopen</strong> Programmer’s <strong>Manual</strong><br />
Accessing the Object Dictionary<br />
Two Basic Channels<br />
<strong>CANopen</strong> provi<strong>de</strong>s two ways to access a <strong>de</strong>vice’s object dictionary:<br />
The Service Data Object (SDO)<br />
The Process Data Object (PDO)<br />
Each can be <strong>de</strong>scribed as a channel for access to an object dictionary.<br />
SDOs and PDOs<br />
Here are the basic characteristics of PDOs and SDOs.<br />
SDO PDO<br />
The SDO protocol allows any object in the object dictionary<br />
to be accessed, regardless of the object's size. This comes<br />
at the cost of significant protocol overhead.<br />
One PDO message can transfer up to eight bytes of data in<br />
a CAN message. There is no additional protocol overhead<br />
for PDO messages.<br />
Transfer is always confirmed. PDO transfers are unconfirmed.<br />
Has direct, unlimited access to the object dictionary. Requires prior setup, wherein the <strong>CANopen</strong> master<br />
application uses SDOs to map each byte of the PDO<br />
message to one or more objects. Thus, the message itself<br />
does not need to i<strong>de</strong>ntify the objects, leaving more bytes<br />
available for data.<br />
Employs a client/server communication mo<strong>de</strong>l, where the<br />
<strong>CANopen</strong> master is the sole client of the <strong>de</strong>vice object<br />
dictionary being accessed.<br />
An SDO has two CAN message i<strong>de</strong>ntifiers: a transmit<br />
i<strong>de</strong>ntifier for messages from the <strong>de</strong>vice to the <strong>CANopen</strong><br />
master, and a receive i<strong>de</strong>ntifier for messages from the<br />
<strong>CANopen</strong> master.<br />
Employs a peer-to-peer communication mo<strong>de</strong>l. Any<br />
network no<strong>de</strong> can initiate a PDO communication, and<br />
multiple no<strong>de</strong>s can receive it.<br />
Transmit PDOs are used to send data from the <strong>de</strong>vice, and<br />
receive PDOs are used to receive data.<br />
SDOs can be used to access the object dictionary directly. A PDO can be used only after it has been configured using<br />
SDO transfers.<br />
Best suited for <strong>de</strong>vice configuration, PDO mapping, and<br />
other infrequent, low priority communication between the<br />
<strong>CANopen</strong> master and individual <strong>de</strong>vices. Such transfers<br />
tend to involve the setting up of basic no<strong>de</strong> services; thus,<br />
the term service data object.<br />
For more information about SDOs,<br />
see SDOs: Description and Examples, p. 22.<br />
Best suited for high-priority transfer of small amounts of<br />
data, such as <strong>de</strong>livery of set points from the <strong>CANopen</strong><br />
master or broadcast of a <strong>de</strong>vice’s status. Such transfers<br />
tend to relate directly to the application process; thus, the<br />
term process data object.<br />
For more information about PDOs,<br />
see PDOs: Description and Examples, p. 24.<br />
For help <strong>de</strong>ciding whether to use an SDO or a PDO see SDO vs. PDO: Design Consi<strong>de</strong>rations, p. 27.<br />
20 Copley Controls