SMC_SetDynCoordTransformEx (FB)

FUNCTION_BLOCK SMC_SetDynCoordTransformEx

This FB sets a dynamic product coordinate system (PCS). A movement commanded in this dynamic PCS will automatically “track” this coordinate system. Simple examples are PCS that are fixed to a conveyor belt or a rotary table.

This FB may be called with a new rising edge on Execute only after the configured dynamic coordinate system is no longer in use by any movement, otherwise error SMC_AXIS_GROUP_PCS_STILL_IN_USE will be returned. See output InUse.

Note

  • For special cases of a dynamic PCS, the function blocks, MC_SetDynCoordTransform, MC_TrackConveyorBelt and MC_TrackRotaryTable can be used.

  • This FB does not start a movement (administrative FB). The movement is initiated by a command in the defined PCS.

  • The PCS is defined in world coordinates, i.e. dynPCS returns the current pose of the PCS relative to the WCS.

InOut:

Scope

Name

Type

Comment

Inout

AxisGroup

AXIS_GROUP_REF_SM3

Reference to a group of axis

Input

Execute

BOOL

Sets the coordinate transformation on rising edge

dynPCS

SMRB.ICoordinateSystem

The dynamic coordinate transformation. It returns the current pose of the PCS relative to the WCS. The FB that implements SMC_IDynamicCS shall not be changed as long as it is used by active or upcoming movements. (See output InUse.)

CoordSystem

SMC_COORD_SYSTEM

Which PCS is to be set (PCS_1 or PCS_2)

StrInstancePath

STRING

The instance path for error logging (if not set StrInstancePath adopts the instance path of this FB)

Output

Done

BOOL

The transformation has been set successfully

Busy

BOOL

The FB is not finished

InUse

BOOL

Signals that the axis group still needs the referenced dynamic coordinate system. A new rising edge of Execute will lead to the error SMC_AXIS_GROUP_PCS_STILL_IN_USE. For this information to be up-to-date, the function block has to be called continuously (even if already Done). A dynamic coordinate system becomes InUse when a movement to a position in the coordinate system is commanded. It remains InUse until the target position of a movement to a different coordinate system has been reached.

Error

BOOL

Signals that an error has occurred within the function block

ErrorID

SMC_ERROR

Error identification

Methods:

Structure: