SMC_ReadKinTransformForAxis (FB)ΒΆ

FUNCTION_BLOCK SMC_ReadKinTransformForAxis

This function block returns the kinematic transformation for a given axis.

If a coupled kinematics is used for the axis group, each axis either belongs to the position kinematics, the orientation kinematics, or to no transformation (additional axis).

If no coupled kinematics is used, then each axis that is part of the kinematics (i.e. that is not an additional axis) belongs the the main kinematics.

For example, to test whether a given axis with index i is an orientation or position axis, call the FB with IdentInGroup = i and then test the returned KinTransform:

itfOri : TRAFO.ISMOrientationKinematics;
itfPos : TRAFO.ISMPositionKinematics;
isOriAxis := __QUERYINTERFACE(KinTransform, itfOri);
isPosAxis := __QUERYINTERFACE(KinTransform, itfPos);
InOut:

Scope

Name

Type

Comment

Inout

AxisGroup

AXIS_GROUP_REF_SM3

Reference to a group of axis

Input

Enable

BOOL

Gets the kinematic transformation information of the axis continuously while enabled

IdentInGroup

IDENT_IN_GROUP_REF_SM3

The index of the axis inside the axis group

Output

Valid

BOOL

TRUE if valid outputs are available

Busy

BOOL

The FB is not finished

Error

BOOL

Signals that an error has occurred within the function block

ErrorID

SMC_ERROR

Error identification

KinTransform

TRAFO.MC_KIN_REF_SM3

The kinematic transformation for the axis

identInKinematics

UDINT

The index of the axis inside KinTransform