Domain Objects
The CANopen stack provides a system object type for managing domains. The domain memory must be a consecutive memory area. The recommended way to allocate this memory area is shown in the following example:
...
The domain object holds all necessary information, which are needed for the domain handling. Note: this structure may be placed into ROM, because it holds only constant values.
Code Block | ||
---|---|---|
| ||
const CO_DOMAIN {
DEMO_DOMAIN_SIZE, /* size of domain memory */
&DemoDomainMem[0] /* start address of domain memory */
} DemoDomainObj; |
To enable the usage of this domain to the CAN network side, the domain object must be added to the object directory:
...
The internal behavior of the CANopen stack is shown in section "User Type Objects". The system types are implemented identical to user types. The following diagram shows the behavior in combination with the SDO server.
Panel | ||||
---|---|---|---|---|
| ||||