MC_MarkRegist

PLCopen motion icon

 Function Block - Enables Mark-to-Mark registration.

Inputs

Input

Data Type

Range

Unit

Default

Description

En

BOOL

FALSE, TRUE

N/A

No default

On the rising edge, request to enable registration.

Axis

AXIS_REF

The range of .AXIS_NUM is [1, 256]

N/A

N/A

Axis to apply registration to.

TriggerInput

TRIGGER_REF

No range

N/A

No default

Structure specifying the fast input.

The structure elements are:

DirectionINT

Range = 1, 5.

  • 1 = Rising edge.
  • 2 = Falling edge.
  • 3 = N/A
  • 4 = Toggle between both, falling edge first.
  • 5 = Toggle between both, rising edge first.

InputID INT

Range = 0 to 1

  • 0 = Touch Probe 1 / Capture Engine 0
  • 1 = Touch Probe 2 / Capture Engine 1

TrigIDINT

Range = 0 to 256.

  • The axis number of the fast input.
  • 0 (zero) indicates this trigger axis is to be the same as the Axis input.

  • TrigMode INT (TriggerInput.TrigMode) is not presently supported by this function.

Distance

LREAL

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

User units

N/A

  • This value must have the same sign as Ignore.
  • 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.

Tolerance

LREAL

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

User units

N/A

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

Ignore

LREAL

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

User units

N/A

  • This value must have the same sign as Distance.
  • This value specifies the distance after the previous good mark in which any detected marks are ignored.

Target

LREAL

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

User units

N/A

  • This value must have the same sign as Distance.
  • 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.

Position

LREAL

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).

User units

N/A

  • 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, this argument is not used.
    • The position of the axis is not changed when a registration mark is encountered.

Options

UINT

See the MC_MachRegist Options Table.

N/A

N/A

  • Each bit enables / disables an option.
  • The MC_MachRegist Options Table defines the bits.
  • Any bits not defined are reserved.
  • The third bit, 0004H, must be 0 (zero).

Outputs

Output

Data Type

Range

Unit

Description

RegistOn

BOOL

FALSE, TRUE

N/A

Indicates registration is activated.

Aborted

BOOL

FALSE, TRUE

N/A

Indicates registration has been terminated by MC_StopRegist.

Error

BOOL

FALSE, TRUE

N/A

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

ErrorID

INT

No range

N/A

Remarks

  • 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 input.

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.

Figure 1: MC_MarkRegist

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.


  • To use Capture Engine 1, modify the input PDOs that are used and add the Latch Position 1 parameter.

FBD Language Example

FFLD Language Example

IL Language Example

Not available.

ST Language Example

Inst_MC_MarkRegist( ActivateReg, Axist1, Trig1, 360, 5, 90, 360, 0, 0 );

See Also