Members Only | Ezine | Links | Legal Notice | Contact us |



East Bldg #134549


Structuring with SFC
do's & don'ts
V1.0 Official Release


PLCopen Safety
Part 1
Version 2.0 now released


Information Model
V1.01.09 RfC


PLCopen starts
new working group
on Industry 4.0










Part 5 - Homing Procedures

A. Homing Procedures

The homing functionality was originally seen as a separate sequence in the start up phase of a machine or axis. The sequence for an axis was: power on, homing, and move ‘something’. The whole homing procedure itself was hidden to the user. However, some users needed more control on the homing functionality itself. For this reason, a set of building blocks have been identified to be able to define dedicated homing procedures. This procedure can be encapsulated in a dedicated homing function block, which can be added to the library and used for this specific procedure. As examples, several possible homing procedures are defined:

·       HomeAbsSwitch - Absolute Switch homing plus limit switches

·       HomeLimitSwitch - Homing against limit switches

·       HomeBlock - Homing against hardware parts blocking movement

·       HomeRefPulse - Homing using encoder reference pulse “Zero Mark”

·       HomeRefPulseSet - Homing using a set of encoder reference pulses “Zero Mark”

·       HomeDirect - Static Homing, forcing a position from a user reference

·       HomeAbsolute - Static Homing, forcing a position from an absolute encoder


B. Homing Step Function Blocks

To make these procedures available to the user, a toolkit is defined with additional Function Blocks, FBs. By using one or more connected function blocks one can create complex homing sequences. With these, a user can create its own homing procedure in more detail, and even create own, user specific, homing procedures. Additionally, these function blocks include advanced homing process error reporting, evaluating time, distance and torque limits.  

The following defined FBs match the homing procedures and are issued in or change the state to the Homing state:

·       MC_StepAbsSwitch - Absolute Switch homing plus limit switches

·       MC_StepLimitSwitch - Homing against limit switches

·       MC_StepBlock  - Homing against hardware parts blocking movement

·       MC_StepRefPulse - Homing using encoder reference Pulse “Zero Mark”

In this way, any combination sequence is possible without the need of predefining hundreds of homing methods. The individual adjustments for torque limit, time limit and distance limit provide control of the sequence error conditions.  

The following FBs lead to a final position and leave the homing state to ‘StandStill’:

·       MC_HomeDirect - Static Homing forcing a position from a user reference

·       MC_HomeAbsolute - Static Homing forcing a position from an absolute encoder

·       MC_FinishHoming - Finishes the homing procedure with the possibility to do a relative move to the operational area.  

In addition, the homing functionality is needed while the machine is operating, i.e. not in the state Homing. This ‘homing-on-the-fly’ is called passive homing. They have no effect on State Diagram, like the administrative FBs, and can be called in any movement state. They consist of:

·          MC_StepReferenceFlyingSwitch

·          MC_StepReferenceFlyingRefPulse

·          MC_AbortPassiveHoming