MC_BR_RegMarkCapture002

<< 点击显示目录 >>

主页  轴控开发使用手册 > ACP10/ARNC0帮助信息 > ACP10_MC运动库 > 分类的功能块 > 色标控制 (MC_RegMa-Library) >

MC_BR_RegMarkCapture002

This function block is intended for registration mark detection and correction together with MC_BR_CrossCutterControl.

Requirements for use

This function block can only be used on SG4 target system.

This function block cannot be used with axes on a CAN bus.

The master axis is only permitted to move in the positive direction!

It is not permitted to home the specified axis while the function block is active.

If the "Master" axis is homed again while the function is active, then the function block must be restarted via the "Enable" or "Execute" input! Otherwise, undefined behavior may occur.

The "CutPosition" information must originate from the "Master".

It is important to make sure that the function block is executed in a task class that is called at least 2x per "Configuration.ProductLength".

It is important to make sure that the function block is executed in the same or faster task class than is used to process the cyclic data.

Drive, correction and offset axes required for closed-loop control must be correctly synchronized with each other with respect to their position. Any network-related delay times must be compensated for properly (see Calculating delay times)!

PLCopen axis states in which the function block is permitted to be enabled

Synchronized Motion

Function block

mc_br_regmarkcapture002

Parameter

I/O

Parameter

Data type

Description

IN

Master

UDINT

Master axis reference that is also used with MC_BR_CrossCutterControl, for example. (transport axis, basis of the registration mark position)

Note:

If "0" is specified, then the same axis reference is used as the one for the coupling function block that was just used (e.g. MC_BR_CrossCutterControl).

IN

Axis

UDINT

Axis reference that is configured as a slave for the axis coupling and to which the registration mark sensor is wired.

IN

Enable

BOOL

Configures and starts registration mark detection

IN

SearchRM

BOOL

Starts or re-initiates the search for a registration mark manually

Note:

The "SearchDone" output is set as soon as a registration mark is found.

If "Mode" = mcFIRST_RM, this input does not have to be set to search for the first registration mark.

This input only has an effect if the "AdvancedParameters.WindowXxx" parameter is not equal to "0". Otherwise, all registration marks are accepted.

IN

InitData

BOOL

Initializes input data on a rising edge (online change of function block input data)

IN

CutPosition

DINT

"Frozen" position value where the cut will be performed [axis units of master]

Note:

If this value is changed, it will immediately be used for calculating a correction, even without "InitData" = TRUE.

IN

Configuration

MC_CFG_RM2_REF

Required configuration parameters

IN

AdvancedParameters

MC_ADV_RM2_REF

Structure for using advanced functions

Note:

Values in this structure can be left at "0" if they are not needed.

OUT

Active

BOOL

Measurement active

OUT

Valid

BOOL

The function block's output values can be used.

Note:

This output is only set to TRUE for one task class cycle and can therefore be used as a trigger for subsequent actions.

OUT

Busy

BOOL

The function block is active and must continue to be called.

OUT

Error

BOOL

Error during execution

OUT

ErrorID

UINT

Error numbers

OUT

DataInitialized

BOOL

Initializes input data on a rising edge of "InitData"

OUT

SearchDone

BOOL

Manual registration mark search completed

OUT

ValidRMs

UDINT

Number of valid detected registration marks

OUT

ProductsWithoutRM

UINT

Number of "non-detected" registration marks.

This value is reset when "SearchRM" is set and when a valid registration mark is detected.

Note:

This output is only incremented after one product length without a registration mark has been traversed.

OUT

CorrectionValue

REAL

Specifies the correction needed to adjust the position of the registration mark

Deviation between the desired cut position from the FIFO buffer and the specified "CutPosition"

[PLCopen units of master]

Note:

This value is used for a position correction (within +/- product length / 2 or configuration in "AdvancedParameters")

OUT

AdditionalInfo

MC_ADDINFO_RM2_REF

Other output values and temporary data for use further on in addition to "CorrectionValue"

Table: Parameter MC_BR_RegMarkCapture002

MC_BR_CFG_RM2_REF data type

Parameter

Data type

Description

ProductLength

REAL

Product length setpoint (user setting) from registration mark to registration mark [PLCopen units of master]

Note:

Only values > 0.0 are permitted if the window is configured.

RegMarkPosition

REAL

Position setpoint of the registration mark in the product interval based on the cut position (user setting) [PLCopen units of master]

Note:

A value >0.0, <0.0 and = 0.0 is permitted (0.0 value for RegMarkOffset: cut at registration mark).

The effect of this value is FIFO-delayed and therefore depends on how many products have space within DistanceToSensor.

Recommended configuration range:

-ProductLength/2 < RegMarkPosition < +ProductLength/2

RegMarkOffset

REAL

Immediate position setpoint correction of the registration mark in the product interval based on the cut position (user setting) [PLCopen units of master]

Note:

A value >0.0, <0.0 and = 0.0 is permitted (0.0 value for RegMarkPosition: cut at registration mark).

If this value is changed, it will immediately be used for calculating a correction, even without "InitData" = TRUE.

Recommended configuration range:

-ProductLength/2 < RegMarkOffset < +ProductLength/2

This should only be changed in small steps!

DistanceToSensor

REAL

Distance between cut position and registration mark sensor. [PLCopen units of master]

Note:

Used to calculate the first registration mark position when "Mode" = mcACT_CFG and to calculate the values in the internal FIFO buffer.

Only values >0.0 are permitted.

MC_BR_ADV_RM2_REF data type

Parameter

Data type

Description

Mode

UINT

This operating mode can be used to define how the first registration mark is detected:

mcFIRST_RM … 0

mcACT_CFG … 1

EventSourceParID

UINT

ACOPOS ParID as an event source (e.g. ACP10PAR_STAT_TRIGGER2 if registration mark sensor is connected to the drive's trigger 2 input)

Note:

A valid ACOPOS ParID must be specified here.

If 0 is specified, then ACP10PAR_STAT_TRIGGER1 is used.

Edge

USINT

Edge selection for the registration mark signal from the sensor:

mcP_EDGE ... 0 (rising edge)

mcN_EDGE ... 1 (falling edge)

mcMIDDLE ... 5 (middle position between rising and falling edge)

Note:

mcMIDDLE is only possible if width monitoring is enabled (".MaxWidth" > 0).

MinWidth

REAL

Minimum width of a valid registration mark [PLCopen units of master]

Note:

Only values in the range 0.0 x < ".MaxWidth" are permitted.

MaxWidth

REAL

Maximum width of a valid registration mark [PLCopen units of master]

Note:

Only values 0.0 are permitted. 0.0 … Disables width monitoring

WindowNeg

REAL

Window before the expected position [PLCopen units of master]

Note:

Only values 0.0 are permitted.

If a value = 0.0 is also used for ".WindowPos", then all registration marks will be accepted.

This value together with ".WindowPos" cannot be greater than "ProductLength".

A registration mark is only valid if detected between ".WindowNeg" and ".WindowPos" (if signal evaluation is not active, only the corresponding edge needs to be within the window for a valid signal).

WindowPos

REAL

Window after the expected position [PLCopen units of master]

Note:

Only values 0.0 are permitted.

If a value = 0.0 is also used for ".WindowNeg", then all registration marks will be accepted.

This value together with ".WindowNeg" cannot be greater than ".ProductLength".

A registration mark is only valid if detected between ".WindowNeg" and ".WindowPos".

SensorDelay

DINT

Registration mark sensor delay [µs]

If the sensor's delay time is known, then the drive is able to correct the resulting position deviation.

A negative value results in interpolation; a positive value results in extrapolation.

0 … Registration mark sensor delay not taken into account

Note:

The delay time can be taken from the manufacturer's data sheet and is usually specified as a negative value.

CorrectCurrentCycle

BOOL

Applies the correction in the current movement cycle (e.g. via MC_Phasing and notMC_BR_CrossCutterControl)

Note:

See Additional information

CorrectionValueLimitNeg

REAL

Negative limit down to which the "CorrectionValue" is permitted to be modified [PLCopen units of master]

Note:

Only values 0.0 are permitted.

If a value = 0.0 is also used for ".CorrectionValueLimitPos", then limiting is disabled.

Together with "CorrectionValueLimitPos", these parameters are not permitted to exceed the product length "Configuration.ProductLength".

CorrectionValueLimitPos

REAL

Positive limit up to which "CorrectionValue" is permitted to be modified [PLCopen units of master]

Note:

Only values 0.0 are permitted.

If a value = 0.0 is also used for ".CorrectionValueLimitNeg", then limiting is disabled.

Together with "CorrectionValueLimitNeg", these parameters are not permitted to exceed the product length "Configuration.ProductLength".

DisableWidthEvaluationAtStart

BOOL

Ignore width monitoring if the function block is enabled on the high level of the trigger signal

0 ... Perform width monitoring

1 ... Do not perform width monitoring (reject trigger)

Note:

Only applies if width monitoring is active (MinWidth > 0).

MC_BR_ADDINFO_RM2_REF data type

Parameter

Data type

Description

ActLength

REAL

Currently measured length (product length) from registration mark to registration mark at sensor [PLCopen units of master]

AverageProductLength

REAL

Average value of the last 50 measured product lengths [PLCopen units of master]

Note:

This is reset when the function block is restarted.

CutLength

REAL

Currently measured length (cut length) from the actual cutting point ("CutPosition") to the previous cutting point [PLCopen units of master]

QueueElements

UINT

Current number of stored FIFO elements

LimitNegActive

BOOL

Sets a negative limit for "CorrectionValue", value would be less than that actually output

LimitPosActive

BOOL

Sets a positive limit for "CorrectionValue", value would be greater than that actually output

ActualCorrectionValue

REAL

Current value of the "CorrectionValue" output without limitation {PLCopen units of master]

Note:

This value is output regardless of whether a limit is configured with ".CorrectionValueLimitXxx".

Topics in this section:

Function description

"Enable", "InitData" inputs

"SearchRM" input and "SearchDone", ProductsWithoutRM" outputs

Operating mode ("Mode")

Calculating the "CorrectionValue"

Parameters for detecting the registration mark

Timingdiagramm InitData

Timing diagram for "ProductWithoutRM"

Required resources

Additional information

Error numbers