MCFB_StepBlock
Function Block A function block groups an algorithm and a set of private data. It has inputs and outputs. - Homing The Homing procedure allows, based on a position measurement, to set a position offset to the motor in order to ensure it is physically at the home position to a physical object, mechanically blocking the movement.
Inputs
Input |
Data Type |
Range |
Unit |
Default |
Description |
---|---|---|---|---|---|
Execute |
BOOL |
0, 1 |
N/A |
No default |
Request the homing step procedure at the rising edge A rising edge is the transition of a digital signal from low to high. It is also called positive edge. Outputs are reset when execute input is FALSE. |
AxisID |
AXIS_REF |
1, 256 |
N/A |
No default |
Name of a declared instance of the AXIS_REF library function. See AXIS_REF Structure for more information. |
Direction |
DINT |
0, 1 |
N/A |
No default |
Defines the axis homing direction.
|
Velocity |
LREAL |
No range |
User unit/sec |
No default |
Commanded velocity for the homing move. |
Acceleration |
LREAL |
No range |
User unit/sec2 |
No default |
Commanded acceleration for the homing move. |
Deceleration |
LREAL |
No range |
User unit/sec2 |
No default |
Commanded deceleration for the homing move. |
LREAL |
No range |
User unit/sec3 |
No default |
Commanded jerk In physics, jerk is the rate of change of acceleration; more precisely, the derivative of acceleration with respect to time for the homing move. If 0 (zero), trapezoidal acc/dec is used. |
|
TorqueLimit |
LREAL |
No range |
User units |
No default |
Maximum torque Torque is the tendency of a force to rotate an object about an axis. Just as a force is a push or a pull, a torque can be thought of as a twist applied for the homing move.
|
TimeLimit |
TIME |
No range |
Sec |
No default |
Maximum time for homing move to complete.
|
DistanceLimit |
LREAL |
No range |
User units |
No default |
Maximum distance for homing move to complete.
|
BufferMode |
SINT |
0, 5 |
N/A |
No default |
Switch state to complete homing.
|
Outputs
Output |
Data Type |
Range |
Unit |
Description |
||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Done |
BOOL |
|
N/A |
Indicates the move completed successfully. |
||||||||||||||
Busy |
BOOL |
|
N/A |
High from the moment the Execute input goes high until the time the move is ended. |
||||||||||||||
Active |
BOOL |
|
N/A |
Indicates this move is the Active move. |
||||||||||||||
CommandAborted |
BOOL |
|
N/A |
Indicates the move was aborted. |
||||||||||||||
Error |
BOOL |
|
N/A |
Indicates either:
|
||||||||||||||
ErrorID |
INT |
|
N/A |
Indicates the error if the Error output is set to TRUE. Error identifier:
|
Remarks
- Performs homing against a physical object, mechanically blocking the movement.
- In this mode, there is no limit switch or Reference Pulse When the step gets activated, the action is activated for a single execution, and possibly once again when the step is deactivated.
- Adequate torque limits are required for not damaging mechanics during homing process.
- The StepBlock condition is that we have reached the torque limit and real velocity falls below 5% of demanded.
This image shows the function or function block I/O.
Figure 6-100: MCFB_StepBlock
Usage
Homing against a physical object, mechanically blocking the movement require adequate torque limits for not damaging mechanics during homing process.
- This function block does not modify the actual position.
- Home is commanded by the user in the designated homing direction at the selected or programmed Velocity.
- The Torque Torque is the tendency of a force to rotate an object about an axis. Just as a force is a push or a pull, a torque can be thought of as a twist is limited.
- Time and Distance Limits can cause an error if exceeded.
- Process is finished when Torque is in limit condition and real velocity is below 5% of selected Velocity.
FBD Language Example
FFLD Language Example
IL Language Example
Not available.
ST Language Example
PositiveDirection :=0;
Velocity :=10000.0;
TorqueLimit :=50.0;
TimeLimit :=T#10s;
DistanceLimit :=10000.0;
Inst_MCFB_StepBlock( True, Axis1, PositiveDirection, Velocity, 1000, 1000, 0, TorqueLimit, TimeLimit, DistanceLimit, 0 );
HomeComplete :=Inst_MCFB_StepBlock.Done;
HomeBusy :=Inst_MCFB_StepBlock.Busy;
HomeActive :=Inst_MCFB_StepBlock.Active;
HomeAborted :=Inst_MCFB_StepBlock.CommandAborted;
HomeError :=Inst_MCFB_StepBlock.Error;
HomeErrorID :=Inst_MCFB_StepBlock.ErrorID;
See Also