SMC_InPosition (FB)

 

FUNCTION_BLOCK SMC_InPosition

This function block monitors the offset between the nominal and actual positions of an axis (drag error). This tests whether the drag error lies within a specified value range for over a defined period of time (position window).

When using logical axes, it is possible with the function block to compare a real and a logical axis. This tests whether the logical axis, which is the mapping of a real axis compensated by communication time, is close to the values of the real axis. Instead of the deviation between the nominal and actual positions, the deviation of the actual position of the logical axis is used as the nominal position of the real axis. The function block SMC_InPosition can be used for this test under the following conditions:

If these conditions are not satisfied, then the compared positions will probably never match and therefore there is no point in using the FB. In this case, an error is not issued.

InOut:

Scope

Name

Type

Comment

Inout

Axis

AXIS_REF_SM3

Input

bEnable

BOOL

TRUE: Starts execution of the function block.

fPosWindow

LREAL

The drive is inside the position window, if fPosWindow >= Distance(actual position, set position) [u].

fPosTime

LREAL

Time that the FB has to stay inside the position window before bInPosition is set [s].

fTimeOut

LREAL

If the time since enabling the FB is larger than this value and bInPosition is not set, bTimeOut is set; this mechanism is deactivated, if fTimeOut = 0.

Output

bInPosition

BOOL

TRUE: Parameter is available.

bBusy

BOOL

TRUE: Execution of the function block is not finished yet.

bTimeOut

BOOL

TRUE: Error has occurred within the function block.