MC_MachRegist

PLCopen motion icon

 Function BlockClosed A function block groups an algorithm and a set of private data. It has inputs and outputs. - EnablesClosed Enable signal for the drive, Hardware-Enable with 24V signal to X8, Software-Enable command by setup Software, fieldbus or permanently set. Both are required for enabling the drive. Mark-to-Machine registration.

Inputs

Input

Data Type

Range

Unit

Default

Description

En

BOOL

0, 1

N/A

No default

On the rising edgeClosed The transition of a digital signal from low to high. AKA: positive edge., request to enable registration.

Axis

AXIS_REF

The range of .AXIS_NUM is [1, 256]

N/A

N/A

Axis whose positionClosed Position means a point in space which is described by different coordinates. Depending on the used system and transformation it can consist of a maximum of six dimensions (coordinates).This means three Cartesian coordinates in space and coordinates for the orientation. In ACS there can be even more than six coordinates. If the same position is described in different coordinate systems the values of the coordinates are different. is used to determine a good mark.

TriggerInput

TRIGGER_REF

No range

N/A

No default

Structure specifying the fast inputClosed The inputs are taken into account at each cycle depending on the system periodicity (i.e., 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. This can be 1000 times more accurate than the system periodicity. The timestamp associated with this input can be provided to the IPC to take corrective action..

The structure elements are:

DirectionClosed The orientation components of a vector in space.INT

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, 1

TrigIDINT

Range = 0, 256.

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

Distance

LREAL

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

User units

N/A

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

User units

N/A

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] 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

  • This is the target position.
  • This position is compared to the actual position captured 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.

PosAxis

AXIS_REF

The range of .AXIS_NUM is [1, 256]

N/A

N/A

The position of this axis at the time the fast input occurs is compared to the Target position.

This comparison determines the amount of registration compensation to apply.

CompAxis

AXIS_REF

The range of .AXIS_NUM is [1, 256]

N/A

N/A

The calculated registration compensation is applied to this axis.

PosTolerance

LREAL

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

User units

N/A

This value specifies the distance, plus or minus, about the Target position to determine if the position is accepted and the compensation value is calculated and applied.

RatioNumerator

DINT

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

User units

N/A

  • This value is typically the number of User Units of CompAxis motion for one product cycle.
  • This value is used with RatioDenominator to create a conversion factor for calculating the compensation value when PosAxis and CompAxis are different axes.

RatioDenominator

DINT

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

User units

N/A

  • This value is typically the number of User Units of PosAxis motion for one product cycle.
  • This value is used with RatioNumerator to create a conversion factor for calculating the compensation value when PosAxis and CompAxis are different axes.

Options

UINT

See the MC_MachRegist Options Table.

N/A

N/A

Outputs

Output

Data Type

Range

Unit

Description

RegistOn

BOOL

No range

N/A

Indicates registration is activated.

Aborted

BOOL

No range

N/A

Indicates registration has been terminated by MC_StopRegist.

Error

BOOL

No range

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

ResetsClosed New start of the microprocessor. the axis position when a good mark is captured by the fast input.

Slave moves

Applies a compensation offset to correct for the difference between the target position and the measured position.

This provides the ability to compensate for product or process inconsistencies, provides a system that remains synchronizedClosed Combines an axis or axes group (as slave) with an axis as master. The slave executes its path with synchronization to the progress of the master. This is linked to a one dimension source for synchronization. with no accumulated error, and maintains repeatable accuracyClosed Accuracy is the distance between the actual position of a mechanical system and the expected position. It is typically specified in microns or arcsec per given travel for a deviation of ±3 (sigma). throughout the process.

Transition and Registration

  • 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 indicates the axis whose position, at the fast input, is used to determine if the mark is a good mark.

Distance, Tolerance, Ignore, Target Inputs

Position and Option Inputs

Figure 1: MC_MachRegist

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.

FBD Language Example

FFLD Language Example

IL Language Example

CAL Inst_MC_MachRegist( ActivateReg, Axist2, Trig1, 360, 5, 90, 180, 0, Axis2, Axis2, 5, 1, 1, 0 )

ST Language Example

Inst_MC_MachRegist( ActivateReg, Axist2, Trig1, 360, 5, 90, 180, 0, Axis2, Axis2, 10, 1, 1, 0 );

See Also