This simple code snippet shown in the screen capture provides the primary function blocks that can be used to reset the EtherCAT bus and re-initialize any drives that are out there. This may be useful in applications where power is completely removed from the drives for safety reasons (in cases where the drive may not offer STO inputs for that purpose).
IoDrvEtherCAT restarts the EtherCAT bus. (part of the IODrvEtherCAT library) Must be named EtherCAT_Master since that is the name of the EtherCAT bus. Note that it is not instantiated in the variable section, because the 'bus device' is already defined as 'EtherCAT_Master'). Note - this is also used by the PLC when the bus is first started up.
SMC3_ReinitDrive re-initializes the device(s) in question, in this case Axis1. (part of the SM3_Basic library)
MC_Reset isn't required for this example, but will be useful in most applications for clearing other non-bus related faults. Shown here for reference only. (part of the SM3_Basic library)
SMC_CheckAxisCommunication is a useful function block to check the status of the communications to a particular device. (part of the SM3_Basic library)