Difference between revisions of "CANopen Protocol"
Line 19: | Line 19: | ||
bus[0].phase = 4 ' put CAN device to OPMODE mode<br> | bus[0].phase = 4 ' put CAN device to OPMODE mode<br> | ||
*''' Configuration of motion objects <br>'''<br> | *''' Configuration of motion objects <br>'''<br> | ||
− | SoftMC requires DS402 | + | SoftMC requires DS402 compliant digital drive that supports following modes of operation and objects<br> |
* Mandatory Cyclic Synchronous Position mode (so-called opmode 8)<br> | * Mandatory Cyclic Synchronous Position mode (so-called opmode 8)<br> | ||
* Optional Cyclic Synchronous Torque mode mode <br> | * Optional Cyclic Synchronous Torque mode mode <br> | ||
Line 30: | Line 30: | ||
* Optional Digital Inputs and Outputs<br> | * Optional Digital Inputs and Outputs<br> | ||
PDO mapping and association between above mentioned objects and internal data structures of softMC is shown in the example [[Program_Examples:CANOpen:DS402_CAN_Drive_Setup]]<br> | PDO mapping and association between above mentioned objects and internal data structures of softMC is shown in the example [[Program_Examples:CANOpen:DS402_CAN_Drive_Setup]]<br> | ||
− | corresponding firmware function are listed in Category:CANOpen:Firmware-Functions [[Category:CANOpen:Firmware-Functions]] | + | corresponding firmware function are listed in Category:CANOpen:Firmware-Functions [[Category:CANOpen:Firmware-Functions]]<br> |
+ | '''Synchronization'''<br> | ||
+ | Each bus cycle softMC broadcasts SYNC message to the devices and then sends to every slave a TX PDO(s) that contains control word, target position and optional digital otputs. MC expects that all the devices will send its TX PDO with the status word and the position feedback before the next SYNC.<br> | ||
+ | Bus cycle is triggered by a hardware timer therefore SYNC messages are sent to the slaves with low jitter that should not exceed 50 usecs.<br> | ||
+ | Devices shall lock their PLLs to the softMC SYNC cycle and tolerate SYNC jitter of up to 50 usecs. |
Revision as of 10:33, 7 July 2014
CANOpen protocol
softMC provides a number of categories of services that allow operation of CANOpen device.
- Upload and Download service objects
Application can read(upload) from or write (download) to device CANopen service data objects using either segmented or expedite SDO upload/download mechanism.
Those functions are implemented in CANOPEN.LIB
- CAN_SDO_READ_STRING - segmented upload of byte array
- CAN_SDO_READ - expedite upload of 32-bit integer
- CAN_SDO_READ_REAL - expedite upload of single precision floating point number
- CAN_SDO_WRITE_STRING - segmented download of byte array
- CAN_SDO_WRITE - expedite download of 32-bit integer
- CAN_SDO_WRITE_REAL - expedite download of single precision floating point number
- Controlling device state machine
bus[0].phase = 0 ' put CAN device to PREOP mode
bus[0].phase = 4 ' put CAN device to OPMODE mode
- Configuration of motion objects
SoftMC requires DS402 compliant digital drive that supports following modes of operation and objects
- Mandatory Cyclic Synchronous Position mode (so-called opmode 8)
- Optional Cyclic Synchronous Torque mode mode
PDO map-able objects
Device shall provide following objects, object numbers may be different from standard.
- Control Word - object 0x6040.0
- Status Word - object 0x6041.0
- 32-bit Target position - object 0x607a.0
- 32-bit Position feedback - object 0x6064.0
- Optional Digital Inputs and Outputs
PDO mapping and association between above mentioned objects and internal data structures of softMC is shown in the example Program_Examples:CANOpen:DS402_CAN_Drive_Setup
corresponding firmware function are listed in Category:CANOpen:Firmware-Functions
Synchronization
Each bus cycle softMC broadcasts SYNC message to the devices and then sends to every slave a TX PDO(s) that contains control word, target position and optional digital otputs. MC expects that all the devices will send its TX PDO with the status word and the position feedback before the next SYNC.
Bus cycle is triggered by a hardware timer therefore SYNC messages are sent to the slaves with low jitter that should not exceed 50 usecs.
Devices shall lock their PLLs to the softMC SYNC cycle and tolerate SYNC jitter of up to 50 usecs.