Function BlockMC_MarkRegistPLCopen motion icon

Description

This function block enables Mark-to-Mark registration.

  • It is used on any servo or digitizing axis and with any move type.
  • It is used most frequently in master/slave applications.

Used with ... Effect

Non-slave moves

Resets the axis position when a good mark is captured by the fast inputClosed The inputs are taken into account at each cycle depending on the system periodicity (for example each millisecond). Under certain circumstances this can be insufficient when more accuracy is needed, or if a quick response is required from the system. To fill the gap, a drive may have some Fast Input connections (generally one or two). When an event happens that triggers a Fast Input (e.g. when a sensor sends a rising edge), the detection of a signal occurs faster (which can be 1000 times more accurate than the system periodicity). Then the timestamp associated with this input can be provided to the IPC to take corrective action.

Slave moves

In addition to resetting the axis position, applies a compensation offset to correct for the difference between the target mark-to-mark distance and the measured mark-to-mark distance.

This provides the ability to compensate for product or process inconsistencies, provides a system that remains synchronized with no accumulated error, and maintains repeatable accuracy throughout the process.

  • A positive transition of the En input starts registration.
    • The application may change the registration parameters while registration is active by changing the input values and causing another positive transition of the En input.
    • The function block then reads and applies the new values.
  • The axis number at the Axis input identifies the axis of registration.
    • If Axis is a master axis for another axis’s slave move, Master Registration is activated.
    • Master Registration calculates a compensation that is added to the master offset of its slaves.
      • This offset shifts the position of the master axis as seen by its slaves.
      • The compensation is not applied to the master axis, but to its slaves.
    • If Axis is a slave axis, Slave Registration is activated.
      • Slave Registration calculates a compensation that is added to the slave offset of the axis.
      • This compensation value is applied directly to the slave axis.
  • The Distance, Tolerance, and Ignore inputs are used to determine whether or not the registration mark is good.
    • For a mark to be recognized as good, it must be outside of the Ignore distance and the correct Distance from the previous mark +/- the Tolerance window.
    • A mark is bad if it occurs outside of the “good tolerance band” and is not ignored.
    • Both good marks and bad marks are recognized as marks, ignored marks are not recognized.
    • If all marks are to be recognized as good marks, enter 0 (zero) at both Distance and Tolerance.
  • The Distance value defines the distance between good marks.
    • In Clear Lane and Product registration the Distance input value is typically the same as the Target input value.
    • In Print registration, the Distance is typically not the same as Target.
  • The Tolerance value is the distance, plus and minus, about Distance.
    • Marks detected in this window are good marks and registration occurs.
    • Marks detected outside this window and outside the Ignore band, are bad marks and registration does not occur.
    • This window should be large enough to allow for the worst case error in the distance between the previous mark and the current mark.
  • The Ignore value defines the distance from the previous mark where all marks detected by the fast input are ignored.
    • This is crucial when registering products that do not have Clear Lane registration marks.
  • The Target input is the expected distance between good registration marks.
    • It is used to calculate how much registration compensation is applied when a registration mark is considered good.
    • In many applications, this is equivalent to the product length or the cycle length.
    • When a good mark is detected, the actual distance between the good mark and the previous mark is determined and compared to the Target distance to calculate a correction.
    • The registration correction is only applied with master/slave move types and always affects the slave axis.
  • The Position input is the position value the registration Axis position is reset to when a good registration mark is detected.
  • The Option input defines various modes of operation for registration.
    • The first bit, 0001H, selects Absolute or Resetting.
    • This refers to the way the second mark and all subsequent marks are determined to be good marks.
    • With both registration schemes, the very first detected mark is the starting point.
    • With Resetting registration, when the next mark is detected, the position of that mark becomes the starting point for the next good mark detection calculation and so on.
    • The starting point is reset with each good or bad mark.
      • This allows the product to re-synchronize, if necessary, due to process issues (e.g., product shift) etc.
    • Absolute registration determines all good marks based on the very first mark.
      • The position of the second and each subsequent mark is compared to an integer multiple of Distance from the very first mark.
      • This method insures the product always registers to a known fixed distance.
  •  

Arguments

Input

En

Description

Rising edge of EN enables execution

 

Data type

BOOL

 

Range

0, 1

 

Unit

N/A

 

Default

Axis

Description

Axis to apply registration to
 

Data type

AXIS_REF

 

Range

The range of .AXIS_NUM is [1,256]

 

Unit

N/A

 

Default

N/A

TriggerInput

Description

Structure specifying the fast input.

The structure elements are:

  • InputIDINT
    • 0 = Touch Probe 1 / Capture Engine 0
    • 1 = Touch Probe 2 / Capture Engine 1
    • Range is [0,1]
  • TrigIDINT
    • Axis number of the fast input.
    • Zero indicates this trigger axis is to be the same as the Axis input.
    • Range = [0,256]

  • TrigMode INT (TriggerInput.TrigMode) is not presently supported by this function.
    The TriggerInput.Mode may be supported in a future software version.
 

Data Type

TRIGGER_REF
 

Range

 
 

Unit

 
 

Default

 
Distance

Description

  • This is the expected distance between good marks.
  • Along with Tolerance and Ignore, this value is used to determine if the mark detected by the fast input is a good mark.
 

Data Type

LREAL
 

Range

  • When converted to feedback units, the range is [-251,251-1].
  • This value must have the same sign as Ignore.
 

Unit

User units

 

Default

N/A

Tolerance

Description

This value specifies the distance, plus or minus, about Distance to determine if the mark detected by the fast input is a good mark.

 

Data Type

LREAL
 

Range

When converted to feedback units, the range is [0 ,251-1].

 

Unit

User units

 

Default

N/A

Ignore

Description

This value specifies the distance after the previous good mark in which any detected marks are ignored.

 

Data Type

LREAL
 

Range

  • When converted to feedback units, the range is [-251,251-1].
  • This value must have the same sign as Distance.
 

Unit

User units

 

Default

N/A

Target

Description

  • This is the target distance between good marks.
  • This distance is compared to the actual distance measured by the fast input to determine the amount of registration compensation to apply.
 

Data Type

LREAL
 

Range

  • When converted to feedback units, the range is [-251,251-1].
  • This value must have the same sign as Distance.
 

Unit

User units

 

Default

N/A

Position

Description

  • The position the axis is set to when a good registration mark occurs.
  • If the Inhibit Reference on Good Mark option is specified for the Option argument (see the MC_MachRegist Options Table), then this argument is not used.
    • The position of the axis is not changed when a registration mark is encountered.
 

Data Type

LREAL
 

Range

When converted to feedback units, the range is:

  • [-251,251-1] if PosAxis' rollover value is zero.
  • [0, PosAxis' Rollover Value] if PosAxis' rollover value is non-zero (i.e., ≥ 0 < PosAxis' Rollover Value).
 

Unit

User units

 

Default

N/A

Options

Description

 

Data Type

UINT
 

Range

See the MC_MachRegist Options Table.

 

Unit

N/A

 

Default

N/A

MC_MachRegist Options Table

MC_MachRegist Options Table
Hexadecimal Decimal Option Description
0001 H 1 Absolute/Resetting 0 = Resetting, 1 = Absolute
0002 H 2 Reserved 0
0004 H 4 Time/position based capture 0 = time based capture, 1 = position based capture
0008 H 8 Inhibit Reference on Good Mark

0 = Perform reference, 1 = inhibit reference

When this bit is set, the Position function block argument is unused and the axis position is not changed when a registration mark is encountered.

0010H 16 Inhibit Master Compensation 0 = Perform Master Compensation, 1 = Inhibit Master Compensation
0020H 32 Inhibit Slave Compensation 0 = Perform Slave Compensation, 1 = Inhibit Slave Compensation.

Outputs

RegistOn Description

Indicates registration is activated.

 

Data Type

BOOL

Aborted Description

Indicates registration has been terminated by MC_StopRegist.

 

Data Type

BOOL
Error Description

Indicates an invalid input was specified or registration was terminated due to an error.

 

Data Type

BOOL
ErrorID Description

 

Data Type

INT

Related Functions

Examples

Function Block

Instruction List

Ladder Diagram

Structured Text

Go back to the top of the page[Top]