MC_SetPos
Function Block - Changes the present actual position of the axis (as reported by MC_ReadActPos) to the position specified by the Position and Mode inputs.
- See Function Blocks - General Rules about how inputs and outputs work.
- If a motor is associated with the axis, it does not move when MC_SetPos is executed.
- MC_SetPos does not cause any motion.
- It applies an offset to the command and actual positions.
- MC_SetPos sets the accumulated Superimposed distance value for the input axis to 0 (zero).
- See Axis Positions Data.
- This function block replaces MC_SetPosition.
-
-
- This function or function block returns cached data.
- See Program a Multi-Core Controller.
-
-
- This function block starts a motion-related action and stores data for calculations and error checking.
- If using a dual-core controller, see Program a Multi-Core Controller.
Inputs
|
Input |
Data Type See Data Types. |
Range |
Unit |
Default |
Description |
|---|---|---|---|---|---|
|
Execute |
BOOL |
FALSE, TRUE |
N/A |
No default |
On the rising edge, request to queue the change to the axis position. |
|
Axis |
AXIS_REF |
1 to 256 |
N/A |
No default |
Name of a declared instance of the AXIS_REF library function.
|
|
Position |
LREAL |
No range |
N/A |
No default |
|
|
Mode |
BOOL |
FALSE, TRUE |
N/A |
No default |
|
Outputs
|
Output |
Data Type See Data Types. |
Range |
Unit |
Description |
|---|---|---|---|---|
|
Done |
BOOL |
FALSE, TRUE |
N/A |
Indicates the reference move and position adjustment is complete. |
|
Busy |
BOOL |
FALSE, TRUE |
N/A |
Indicates this function block is executing. |
|
Error |
BOOL |
FALSE, TRUE |
N/A |
Indicates either:
|
|
ErrorID |
INT |
-32768 to +32767 |
|
|
FBD Language Example
Not available.
FFLD Language Example
-
-
- This function block finishes immediately.
- Because of this, the Done output does not get set to FALSE in a second call to the same MC_SetPos instance unless there is an error.
- If the application needs to look for a state change to determine if a particular call to MC_SetPos was successful, then use
ANDfor the rising edge of the Execute input, the Done output, and the inverse of the Error output. - This FFLD Language example shows how this can be done.
In the example, the SetPosSuccessful variable is set toTRUEfor one cycle upon a successful call to the MC_SetPos instance.
- This function block finishes immediately.
IL Language Example
Not available.
ST Language Example
(* MC_SetPos ST example *)
Inst_MC_SetPos ( Axis1 , 0, 0 );
//Inst_MC_SetPos is an instance of MC_SetPos function
(* MC_SetPos absolute mode example: Set position value to zero. *)
Inst_MC_SetPos ( Axis1 , 0, 0 );
//Inst_MC_SetPos is an instance of MC_SetPos function
(* MC_SetPos relative mode example: Increase position value by 1000. *)
Inst_MC_SetPos ( Axis1 , 1000, 1 );
//Inst_MC_SetPos is an instance of MC_SetPos function






