SMC_GetCamSlaveSetPosition (FB)

 

FUNCTION_BLOCK SMC_GetCamSlaveSetPosition

This function block calculates the current target position of an axis (slave) in the case the axis is coupled via a cam to the motion of another axis (Master). The slave is not moved or otherwise affected.

The module can be used to determine the start position, velocity, and acceleration of a slave that is coupled to a master axis via a cam table.

Due to the fact that the corresponding value is calculated within one cycle, the output Done is not necessary.

Note

This FB can only be called once to determine the start conditions that the slave must have in order to avoid ramping in. It cannot be used cyclically to read the current slave values.

InOut:

Scope

Name

Type

Initial

Comment

Inout

Master

AXIS_REF_SM3

Reference to master axis

Slave

AXIS_REF_SM3

Reference to slave axis

Input

Enable

BOOL

TRUE: Starts the execution of the function block.

MasterOffset

LREAL

Offset of master table

SlaveOffset

LREAL

Offset of slave table

MasterScaling

LREAL

1

Scaling factor for master profile

SlaveScaling

LREAL

1

Scaling factor for slave profile

CamTableID

MC_CAM_ID

Identifier of cam table, output of MC_CamTableSelect

Output

fStartPosition

LREAL

Slave position according to cam and current master position.

fStartVelocity

LREAL

Slave velocity according to cam and current master position.

fStartAcceleration

LREAL

Slave acceleration according to cam and current master position.

Busy

BOOL

TRUE: Execution of function block has not been finished yet.

Error

BOOL

TRUE: Error has occurred within the function block.

ErrorID

SMC_ERROR

Error identification