SMC_GroupEnableResumeAfterError (FB)

FUNCTION_BLOCK SMC_GroupEnableResumeAfterError

This function block allows resuming the programmed movement after an error of the axis group. The continueData passed to the function block is used to store the necessary information.

To resume after an error, the axis group error first needs to be reset with MC_GroupReset. Then, the axis group needs to be moved to the continue position, which can be queried from the continue data using SMC_GroupGetContinuePosition. Finally, the movement that has been interrupted by the error can be resumed using MC_GroupContinue.

Note

  • If an axis group error occurs, the function block instance of the active movement will show the error (Outputs Active and Busy go to FALSE, output Error goes to TRUE). The function block instances of buffered or blending movements that have not yet become active will also show an error. After resume, all these function block instances will become Busy/Active again and their Error/CommandAborted outputs will be reset.

  • If a falling edge of the input “Enable” is commanded while the continue data is being written (output “Active” = TRUE), then the continue data will not be valid. A falling edge of “Enable” can only be safely commanded once the output “Active” changes to FALSE. This happens once the continue data has been completely written.

InOut:

Scope

Name

Type

Comment

Inout

AxisGroup

AXIS_GROUP_REF_SM3

Reference to a group of axis

continueData

SMC_AXIS_GROUP_CONTINUE_DATA

Written when getting Done

Input

Enable

BOOL

Enables the feature.

Output

Busy

BOOL

The FB is not finished

Active

BOOL

The continue data is being written