adi_tmc_coe_interfaces
Custom interfaces for adi_tmc_coe
README
adi_tmc_coe_interfaces |
|---|
Custom interfaces for ROS Driver for Trinamic Motor Controllers (TMC) that uses CANopen-over-etherCAT(CoE) protocol. |
Custom msg
adi_tmc_coe_interfaces/msg/TmcCoeInfo
| Data | Data Type | Description |
|---|---|---|
| interface_name | string | Interface name, commonly starting in "en" or "eth" |
| slave_number | uint8 | Slave number starting with 1 up to 255 |
| motor_number | uint8 | Motor number starting with 0 (for motor 0 or axis 0) |
| mode_of_operation | string | "None", "Profile Position", "Profile Velocity", "Homing Mode", "Cyclic Synchronous Position Mode", "Cyclic Synchronous Velocity Mode", "Cyclic Synchronous Torque Mode" |
| status_word | int32 | Reflects status of the CiA402 state machine |
| velocity | float32 | If wheel_diameter parameter is set to 0, the unit for published velocity is rpm, else m/s |
| position | int32 | If Position Scaler and Encoder steps are not available as device parameter, the unit for published position is steps, else degree angle |
| torque | int32 | Units in mA |
Custom srv
adi_tmc_coe_interfaces/srv/ReadWriteSDO
| Data | Data Type | Description | Input |
|---|---|---|---|
| Request | |||
| slave_number | uint8 | Slave number of the selected device. The count should start with "1" |
1-255 |
| object_name | string | Object Name of the Parameter | Check the autogenerated yaml of the used module and use the obj_name |
| value | string | When reading, not required | - |
| When writing, should be input value | When writing, this is integer in string form. Check the object limits on device's firmware manual. e.g. TMCM-1461 | ||
| Response | |||
| output | int32 | Returns the actual value of the SDO | - |
| result | bool | Returns true if successful, false if an error occurs (wrong input/s, data not received correctly) | - |
adi_tmc_coe_interfaces/srv/ReadWritePDO
Request
| Data | Data Type | Description | Input |
|---|---|---|---|
| Request | |||
| slave_number | uint8 | Slave number of the selected device. The count should start with "1" |
1-255 |
| cmd | string | Commands available in PDO to read | When reading, "modes of operation display", "statusword", "actual velocity", "demand velocity", "actual position", "demand position", "actual torque", "demand torque" |
| Commands available in PDO to write to | When writing, "modes of operation", "controlword", "target velocity", "target position", "target torque" |
||
| value | int32 | When reading, not required | - |
| When writing, should be input value | When writing, this is integer in string form. Check the object limits on device's firmware manual. e.g. TMCM-1461 | ||
| Response | |||
| actual_value | int32 | Returns the actual value of the PDO | - |
| result | bool | Returns true if successful, false if an error occurs (wrong input/s, data not received correctly) | - |
adi_tmc_coe_interfaces/srv/ChangeNMTState
| Data | Data Type | Description | Input |
|---|---|---|---|
| Request | |||
| slave_number | uint8 | Slave number of the selected device. The count should start with "1" |
1-255 |
| request_state | string | Requested state of the device; Check the NMT state diagram for correct sequence. |
"init", "preop", "safeop", "operational" |
| Response | |||
| current_state | string | Returns the current state of the device | - |
| result | bool | Returns true if successful, false if an error occurs (wrong input/s, wrong sequence) | - |
adi_tmc_coe_interfaces/srv/ChangeCia402State
| Data | Data Type | Description | Input |
|---|---|---|---|
| Request | |||
| slave_number | uint8 | Slave number of the selected device. The count should start with "1" |
1-255 |
| request_state | string | Requested CiA402 or DS402 state of the device; Check the DS402 State Diagram for correct sequence. |
"switch on disable", "ready to switch on", "swithed on", "operation enabled", "quick stop active" |
| Response | |||
| current_state | string | Returns the current state of the device | - |
| result | bool | Returns true if successful, false if an error occurs (wrong input/s, wrong sequence) | - |
adi_tmc_coe_interfaces/srv/CyclicSyncMode
| Data | Data Type | Description | Input |
|---|---|---|---|
| Request | |||
| slave_number | uint8 | Slave number of the selected device. The count should start with "1" |
1-255 |
| CS_cmd | string | Cyclic Synchronous Modes | "csp" - Cyclic Synchronous Position, "csv" - Cyclic Synchronous Velocity, "cst" - Cyclic Synchronous Torque |
| interpolation_time_period | uint8 | Sets the delay for every cycle of data sent | 1-255 |
| interpolation_time_index | int8 | Index for interpolation time period where the value increases by the factor of 10 | -3 to 3 |
| value | int32[] | Set of values to be sent to the device | array/vector of int32 |
| Response | |||
| bool | result | Returns true if successful, false if an error occurs (wrong input/s) | - |