MC_Jog
This function block enables an axis to be moved via manual keys in different modi.
Syntax
Definition:
FUNCTION_BLOCK MC_Jog
VAR_IN_OUT
Axis : Reference To AXIS_REF;
END_VAR
VAR_INPUT
JogForward : BOOL;
JogBackward : BOOL;
Mode : EJogMode;
Distance : LREAL;
Velocity : LREAL;
Acceleration : LREAL;
Deceleration : LREAL;
Jerk : LREAL;
END_VAR
VAR_OUTPUT
Done : BOOL;
Busy : BOOL;
Active : BOOL;
CommandAborted : BOOL;
Error : BOOL;
ErrorId : UDINT;
END_VAR
Inputs
|
Name |
Type |
Default |
Description |
|---|---|---|---|
|
JogForward |
BOOL |
|
The command is executed with a rising edge, and the axis is moved in positive direction. Depending on the mode, the axis moves as long as the signal remains TRUE, or it stops automatically after a specified distance. |
|
JogBackward |
BOOL |
|
The command is executed with a rising edge, and the axis is moved in negative direction. Depending on the mode, the axis moves as long as the signal remains TRUE, or it stops automatically after a specified distance. |
|
Mode |
StandardSlow |
Determines the operation mode in which the manual function is executed. | |
|
Distance |
LREAL |
#Ignore |
Distance for movements in Mode Inching |
|
Velocity |
LREAL |
#Ignore |
Jog velocity ([PosUnit]/s, positive). Required for Continuous and Inching modes; StandardSlow and StandardFast use axis defaults. |
|
Acceleration |
LREAL |
#Default |
Maximum acceleration ([PosUnit]/s^2, positive) |
|
Deceleration |
LREAL |
#Default |
Maximum deceleration ([PosUnit]/s^2, positive) |
|
Jerk |
LREAL |
#Default |
Maximum jerk ([PosUnit]/s^3, positive) |
Outputs
|
Name |
Type |
Description |
|---|---|---|
|
Done |
BOOL |
Function block has succeeded. |
|
Busy |
BOOL |
Function block is not finished and new output values are to be expected. |
|
Active |
BOOL |
Function block has active control on the axis. |
|
CommandAborted |
BOOL |
Command is aborted by another command. |
|
Error |
BOOL |
Error occurred within function block. |
|
ErrorId |
UDINT |
Error identifier |
Further information
The operating mode of the MC_Jog function block is defined via the input Mode of type E_JogMode:
E_JogMode.StandardSlow
The axis moves as long as the signal at either the JogForward or JogBackward TRUE input is TRUE. The velocity specified by the Jog Velocity Slow axis parameter and the dynamics specified by the Acceleration, Deceleration, and Jerk inputs are used.
The Distance and Velocity function block inputs have no effect in this operating mode.
E_JogMode.StandardFast
The axis moves as long as the signal at either the JogForward or JogBackward TRUE input is TRUE. The velocity specified by the Jog Velocity Fast axis parameter and the dynamics specified by the Acceleration, Deceleration, and Jerk inputs are used.
The Distance and Velocity function block inputs have no effect in this operating mode.
E_JogMode.Continuous
The axis moves as long as the signal at either the JogForward or JogBackward TRUE input is TRUE.
The function block input Distance has no effect in this operating mode.
E_JogMode.Inching
The axis moves by the distance specified at the Distance input of the function block as soon as a rising edge is detected at the JogForward or JogBackward input.
Possible error codes
For this function block, the following values, among others, are possible for the ErrorId output:
Error(Hex) | Error(Dec) | Error type | Description |
|---|---|---|---|
0x8145 | 33093 | Function Block | Mapping of cyclic interface between NC and PLC is missing (e.g., AXIS_REF, AXES_GROUP_REF, ...). A reference used by the function block (e.g., to an axis, group, mover or other motion object) is not linked to the corresponding NC object, or its cyclic mapping is incomplete. |
0x8146 | 33094 | Function Block | Invalid velocity value. The velocity was not set or the entered value is invalid. |
0x8151 | 33105 | State | Command is not allowed in current axis state. If the axis has no controller enable, is in error or has been added to a group, some commands are not permitted. |
0x8196 | 33174 | Initialization | Invalid position or distance. The actual or specified position or distance could not be determined or is invalid. |
0x819a | 33178 | NC Programming | Direction-dependent feed enable is missing. The execution of this command is not possible because of a missing direction-dependent feed enable. |
0x819b | 33179 | NC Programming | Controller enable is missing. The controller enable of the axis was withdrawn during a movement. The dynamics of the setpoint did not correspond to zero dynamics. |
0x81a9 | 33193 | Parameter | Invalid acceleration value. The supplied acceleration value is invalid (e.g. not a finite number, negative or outside the permitted range). |
0x81aa | 33194 | Parameter | Invalid deceleration value. The supplied deceleration value is invalid (e.g. not a finite number, negative or outside the permitted range). |
0x81ab | 33195 | Parameter | Invalid jerk value. The jerk value used for the motion is invalid (e.g., negative, zero, or outside the permitted range of the mover or axis). |
An overview of all NC error codes can be found here:
Version information
- TwinCAT Standard >= v3.1.4026.23.1
- TF5500 MC3 Base >= v4.0.6