MC_Halt Overview
| Element Name | Element Type | Description |
|---|---|---|
| Execute | Input | Edge detected request to execute the function block. |
| Axis | Input/Output | Axis reference variable. This can not be a constant. |
| Deceleration | Input | Specify the deceleration of the stop move. |
| Jerk | Input | Specify the change in rate of deceleration (unit/second3). |
| BufferMode | Input | Specify the sequential operation setting of the function block. See BufferMode Table. |
| Done | Output | Indicates the operation of the function block is finished. |
| Busy | Output | Indicates the function block is currently being executed. |
| Active | Output | Indicates the function block is controlling the selected axis. |
| CommandAborted | Output | Indicates the function block execution was aborted. |
| Error | Output | Indicates whether an error occurs or not. |
| ErrorID | Output | Error Identification number. |
Sections 6.1.4 and 8.2.10 of the XMC user manual provide more information about buffer modes.
| Value | Buffer Mode | Description |
|---|---|---|
| 0 | Aborting | Abort previous command and execute the command immediately. |
| 1 | Buffered | Execute the command after previous command is completed. |
| 2 | BlendingLow | The new command is blended into a previously executed command using the lower velocity value when comparing the previous command and new command. |
| 3 | BlendingPrevious | The new command is blended into a previous command using the velocity of the previous command. |
| 4 | BlendingNext | The new command is blended into a previous command using the velocity from the new command. |
| 5 | BlendingHigh | The new command is blended into a previous command using the higher velocity value when comparing the previous command and new command. |
Before MC_Halt Execute = TRUE
After MC_Halt Execute = TRUE
//Set reference for axis
Axis1 := 1;
//check that axes are ready
IF (_AX01_RDY) AND (_AX01_SV_ON) THEN
//Example of MC_Halt fb
INST_MC_HALT(Execute:=Execute_MCHalt, Axis:=Axis1, Deceleration:=50000.0,
Jerk:=1000.0, BufferMode:=0,ErrorID=>INST_MC_HALT.ErrorID);
END_IF;
LM503-2