<< 点击显示目录 >> 主页 轴控开发使用手册 > 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.
•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
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 |
UDINT |
Axis reference that is configured as a slave for the axis coupling and to which the registration mark sensor is wired. |
|
IN |
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 |
|
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
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. |
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: |
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). |
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: