The Roboteq controller can be configured to send up to 8 TPDOs through CANopen, by using fw 2.1 or later. By default user VAR 1 to user VAR 8 will be sent through TPDOs 1 to TPDO 4 and user VAR 25 to user VAR 32 will be sent through TPDO 5 to TPDO 8.

TPDO send rate

To enable a TPDO, the sent rate must be configured through Roborun+ utility:

By saving the configuration to controller, 1st TPDO should start being transmitted through CANbus with the configured sent rate.

To test it, you can change the value of VAR 1 and VAR 2 and see the new values being transmitted through the bus.

Changing the transmission type 

The transmission type can also be changed by using Roborun+ Utility. If the setting is 255, the TPDOs will be sent periodically with the Send Rate configuration. If the setting is 0, each TPDO will be sent after the SYNC object is being received. 

The table with the transmission types follows: 

Changing the transmitted objects 

As mentioned, by default the user VARs are being transmitted through the TPDOs. The user VARs can be updated through a script with the required parameters. A more prompt way could be to sent directly the required parameters through TPDOs instead of the user VARs. For example instead of user VAR 1, the controller can report the motor current and battery amps, instead of user VAR 2, the motor speed etc. This can be achieve from the PDO mapping configuration.

By using Roborun+, the user can select the CAN object that wants to transmit in every TPDO. This can be achieved by configuring the object index, sub index and length.

The list of the supported objects can be found in the CANbus Networking manual.



Attention must be paid in the objects length. A TPDO has a 8 bytes length, so the total length of objects should not exceed that. In the below example, motor amps (2 bytes), battery amps (2 bytes) and encoder motor speed (4 bytes) of channel 2 will be transmitted. The channel parameter will be passed as the sub-index.