MCFB_StepLimitSwitchFastInput
Function Block A function block groups an algorithm and a set of private data. It has inputs and outputs. - Fast homing to a limit switch.
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 |
Structure for specified Axis designated to home. See AXIS_REF Structure for more information. |
Direction |
BOOL |
0, 1 |
N/A |
No default |
Defines the axis homing direction.
|
LimitSwitchMode |
DINT |
0, 1 |
N/A |
No default |
Limit switch state to complete homing.
|
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.
|
FastInputNum |
BOOL |
0, 1 |
N/A |
No default |
|
BufferMode |
SINT |
0, 5 |
N/A |
No default |
Define the homing move start action.
|
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 |
Set when the function block is active. |
||||||||||||||
CommandAborted |
BOOL |
|
N/A |
Indicates the move was aborted. |
||||||||||||||
Error |
BOOL |
|
N/A |
Signals an error has occurred within the function block. |
||||||||||||||
ErrorID |
INT |
|
N/A |
Indicates the error if the Error output is set to TRUE. Error identifier:
|
Remarks
- Performs a homing function by searching for an external physical switch.
- The switch must be connected to one of the two fast inputs The inputs are taken into account at each cycle depending on the system periodicity (for example each millisecond). Under certain circumstances this can be insufficient when more accuracy is needed, or if a quick response is required from the system. To fill the gap, a drive may have some Fast Input connections (generally one or two). When an event happens that triggers a Fast Input (e.g. when a sensor sends a rising edge), the detection of a signal occurs faster (which can be 1000 times more accurate than the system periodicity). Then the timestamp associated with this input can be provided to the IPC to take corrective action on the Axis' AKD drive.
- The Axis moves and, when a fast input is triggered, the triggered axis then performs an absolute move to the latched position.
This image shows the function or function block I/O.
Figure 6-97: MCFB_StepLimitSwitchFastInput
Usage
The homing is commanded in the most likely direction where the sensor can be found.
In this example (-).
FBD Language Example
FFLD Language Example
IL Language Example
Not available.
ST Language Example
Execute_1 :=1;
Inst_MCFB_StepLimitSwitchFastInput( Execute_1, Axis1, 0, 0, 10000.0, 10000.0, 10000.0, 0, 0, 0, 0, 0, 0);
HomeComplete := Inst_MCFB_StepLimitSwitchFastInput.Done;
HomeBusy := Inst_MCFB_StepLimitSwitchFastInput.Busy;
HomeActive := Inst_MCFB_StepLimitSwitchFastInput.Active;
HomeAborted := Inst_MCFB_StepLimitSwitchFastInput.CommandAborted;
HomeError := Inst_MCFB_StepLimitSwitchFastInput.Error;
HomeErrorID := Inst_MCFB_StepLimitSwitchFastInput.ErrorID;
See Also