MC_MarkRegist
Function Block - Enables Mark-to-Mark registration.
Inputs
Input |
Data Type |
Range |
Unit |
Default |
Description |
---|---|---|---|---|---|
En |
BOOL |
0, 1 |
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.
InputID INT Range = 0, 1
TrigIDINT Range = 0, 256.
|
Distance |
LREAL |
When converted to feedback units, the range is [-251, 251-1]. |
User units |
N/A |
|
Tolerance |
LREAL |
When converted to feedback units, |
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 |
|
User units |
N/A |
|
Target |
LREAL |
When converted to feedback units, the range is [-251, 251-1]. |
User units |
N/A |
|
Position |
LREAL |
When converted to feedback units,
|
User units |
N/A |
|
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
-
- This function block starts a motion-related action and stores data for calculations and error checking.
If using a dual-core controller, see Call Function Blocks Multiple Times in the Same Cycle.
-
- Is this the right function block to use?
See Decide which Function Blocks to Use for Registration and Registration Application Guide.
- 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. |
- 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.
- Position Input
- The Position input is the position value the registration Axis position is reset to when a good registration mark is detected.
- Option Inputs
- 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.
- The Option input defines various modes of operation for registration.
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
CAL Inst_MC_MarkRegist( ActivateReg, Axist1, Trig1, 360, 5, 90, 360, 0 0 )
ST Language Example
Inst_MC_MarkRegist( ActivateReg, Axist1, Trig1, 360, 5, 90, 360, 0, 0 );
See Also