MC_Home, MCP_Home –  Homing

Block SymbolsLicensing group: MOTION CONTROL
Qt SVG Document Exported by REXYGEN Studio uAxis Execute Velocity Acceleration TorqueLimit TimeLimit DistanceLimit LagLimit Position Direction HomingMode yAxis Done CommandAborted Busy Active Error ErrorID MC_Home Qt SVG Document Exported by REXYGEN Studio uAxis Execute yAxis Done CommandAborted Busy Active Error ErrorID MCP_Home

Function Description
The MC_Home and MCP_Home blocks offer the same functionality, the only difference is that some of the inputs are available as parameters in the MCP_ version of the block.

The MC_Home block commands the axis to perform the "search home" sequence. The details of this sequence are described in PLCopen and can be set by parameters of the block. The "Position" input is used to set the absolute position when reference signal is detected. This Function Bock completes at "StandStill".

Note 1: Parameter/input BufferMode is not supported. Mode is always Aborting. It is not limitation, because homing is typically done once in initialization sequence before some regular movement is proceeded.

Note 2: Homing procedure requires some of RM_Axis block input connected. Depending on homing mode, ActualPos, ActualTorque, LimP, LimZ, LimN can be required. It is expected that only one method is used. Therefore, there are no separate inputs for zero switch and encoder reference pulse (both must be connected to LimZ).

Note 3: HomingMode=4(Direct) only sets the actual position. Therefore, the MC_SetPosition block is not implemented. HomingMode=5(Absolute) only switches the axis from state Homing to state StandStill.

Note 4: Motion trajectory for homing procedure is implemented in simpler way than for regular motion commands - acceleration and deceleration is same (only one parameter) and jerk is not used. For extremely precise homing (position set), it is recommended to run homing procedure twice. First, homing procedure is run with "high" velocity to move near zero switch, then small movement (out of zero switch) follows and finally second homing procedure with "small" velocity is performed.

Note 5: HomingMode=6(Block) detect home-position when the actual torque reach value in parameter TorqueLimit or position lag reach value in parameter MaxPositionLag in attached RM_Axis block (only if the parameter has positive value).

Inputs

uAxis

Axis reference (only RM_Axis.axisRefuAxis or yAxisuAxis connections are allowed)

Reference

Execute

The block is activated on rising edge

Bool

Velocity

Maximal allowed velocity [unit/s]

Double (F64)

Acceleration

Maximal allowed acceleration [unit/s2]

Double (F64)

TorqueLimit

Maximal allowed torque/force

Double (F64)

TimeLimit

Maximal allowed time for the whole algorithm [s]

Double (F64)

DistanceLimit

Maximal allowed distance for the whole algorithm [unit]

Double (F64)

Position

Requested target position (absolute) [unit]

Double (F64)

Direction

Direction of movement (cyclic axis or special case only)

Long (I32)

1 ....

Positive

2 ....

Shortest

3 ....

Negative

4 ....

Current

HomingMode

Homing mode algorithm

Long (I32)

1 ....

Absolute switch

2 ....

Limit switch

3 ....

Reference pulse

4 ....

Direct (user reference)

5 ....

Absolute encoder

6 ....

Block

Outputs

yAxis

Axis reference (only RM_Axis.axisRefuAxis or yAxisuAxis connections are allowed)

Reference

Done

Algorithm finished

Bool

CommandAborted

Algorithm was aborted

Bool

Busy

Algorithm not finished yet

Bool

Active

The block is controlling the axis

Bool

Error

Error occurred

Bool

ErrorID

Result of the last operation

Error

i ....

REXYGEN general error

2024 © REX Controls s.r.o., www.rexygen.com