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) | - |