MLAxisWritePos
Function A function calculates a result according to the current value of its inputs. A function has no internal data and is not linked to declared instances. - Sets a new value to an axis’ current location.
Inputs
Input |
Data Type |
Range |
Unit |
Default |
Description |
---|---|---|---|---|---|
ID |
DINT |
No range |
N/A |
No default |
ID Name of the Axis block. |
Position |
LREAL |
No range |
User units |
No default |
The new value for the axis’ current location. |
Outputs
Output |
Data Type |
Range |
Unit |
Description |
---|---|---|---|---|
Default (.Q) |
BOOL |
No range |
N/A |
Returns TRUE when the function successfully executes. See Pipe Network - General Rules for more information. |
Remarks
- Previous function name: MLAxisSetZero
- After this function is called, the axis’ current location has a value equal to the Position argument.
This data are illustrated here:
-
-
All positions are in user units with modulo applied if active, unless specified.
Position / Offset | Description |
---|---|
This is the actual position of the underlying axis as reported by the drive.
ActualPos := FeedbackPos + ZeroOffset |
|
This is the current position the drive reports for an axis, scaled to user units. It does not take into account the value of the Zero Offset or axis modulo. |
|
This is the summation of all previous commands (i.e., calls to functions which perform motion such as MLAxisAbs, MLAxisMoveVel, and MLAxisRel) to the Axis internal motion generator.
|
|
This is the output of the convertor block is written into the Pipe Position value whenever the Convertor block is connected to the axis and the pipe is active. |
|
This is the commanded axis position sent to the drive. It is the summation of Pipe Position and Generator Position. ReferencePosition = Pipe Position + Generator Position |
|
This adjusts the coordinate system so the Actual Position reports correct values after homing or using MLAxisWritePos. |
FBD Language Example
FFLD Language Example
IL Language Example
Not available.
ST Language Example
MLAxisWritePos(PipeNetwork.Axis1, 0) ;