ConnectionWatchdog#

For safety reasons, your application may start a communication watchdog with a timeout. The application must send another ConnectionWatchdog command before the defined timeout otherwise the robot will automatically stop moving and report a safety stop with the message [3086][1]. The goal is to make sure that the robot quickly stops moving if communication with the TCP application is interrupted for any reason (including network failure or bug/freeze/dead-lock of the controlling application).

Syntax#

ConnectionWatchdog(t)

Arguments#

  • t: desired timeout period, in seconds, ranging from 0.001 to (2³² − 2)/1000. If the argument is zero, the connection watchdog is canceled.

Default values#

By default, the robot will supervise the TCP connection but only when the robot is moving, and as soon as it detects a connection loss, it will stop moving and return the message [3086][1]. However, the delay between the connection loss and the detection may vary from a few milliseconds to several seconds, depending on your network activity.

Responses#

  • [2177][1]

  • [2177][0]

The first response is sent when the connection watchdog is activated for the first time. The second response is sent when the connection watchdog is deactivated with ConnectionWatchdog(0).

Usage restrictions#

This command can be executed in any robot state.

Cyclic protocols#

This command is not available in cyclic protocols. However, each of these protocols has its own mechanism for managing communication timeouts. For example, in EtherCAT, the master can detect a communication issue if a slave fails to respond within the expected cycle time, triggering a watchdog timeout or setting an error status in the process image.