PRINT_MARK_CONTROL (FB)

The function block 'PRINT_MARK_CONTROL' is a basic block for realising a print mark control. It is not to be used directly but is a subroutine of the following function blocks:

 

The following functionality is covered by this function block:

The function block operates with positive counting direction of the input pulses and sets positive output pulses.

 

The function block is called in the asynchronous program level PLC_PRG.

Setpoints and current values are transferred in a synchronous action. The synchronous action must be called in the synchronous program level FPLC_PRG.

 

Schematic diagram: PRINT_MARK_CONTROL used as register controller

 

Specification of the print mark setpoint position

 

Print mark simulation

If no print mark pulse is detected up to the end of the print mark window, one print mark will be simulated at the setpoint position. The output 'iActPmLost' will be increased by 1.
'iNoPmLost' specifies how many print marks may be simulated until 'boPmLost' = TRUE. The output 'iActPmLost' shows how many print marks are already simulated since the last print mark has been detected.
The output 'boPmLost' has no effect on the control process.

User interface

Input variables of the asynchronous part of the program (PLC_PRG)

Name

Type

Description

boEnable

BOOL

Enable signal: With a positive edge, the initialisation of the block starts.

As long as 'boEnable' = TRUE, the block remains enabled and is processed by the PLC.

In the state 'boEnable' = FALSE the block is no longer enabled and is thus no longer processed.

diFormat

DINT

Format length

Nominal distance between two print marks [increments]

diWndLen

DINT

Window length

Length in front and after the nominal print mark position. In this range, the print mark sensor is activated and will accept a print mark.

iNoPmLost

INT

Number of print marks to be missed in succession, before the output 'boPmLost' is set.

diCorrRange

DINT

Correction range

The print mark control tries to output the correction in the specified range [% diFormatLength]

diPmSetupPos

DINT

The parameter specifies the nominal position of the print mark relatively to the actual master position on a positive edge of 'boStartPmDet'.
The detected print marks are controlled to this position [increments]

diCorrectionLimit

DINT

Maximum correction output per format [increments]

'diCorrectionLimit' = 0: no limitation

'diCorrectionLimit' > 0: maximal value

enPmcMode

ENUM

EN_PMC_MODE

Mode of print mark control:

_enPmcInsetter

control of an insetter

_enPmcRegisterController

control of a register controller
Input variables of the synchronous part of the program (FPLC_PRG)

Name

Type

Description

boResetPmLost

BOOL

Resetting the output 'boPmLost'

boStartPmDet

BOOL

Start of print mark control

'boStartPmDet' = TRUE: print mark control activated

By means of the input 'boSetupPmPos', it is specified which kind of print mark position will be taken into account when starting the print mark control

boCorrEnable

BOOL

Release of the correction output

(Can be controlled with block 'PRINT_MARK_CORROUT_CONTROL' to allow correction of outputs in certain areas only)

boSetupOffset

BOOL

Output start of the specified value of 'diOpOffset'. This value is used as an offset to shift the printing mark set position

boSetupPmPos

BOOL

Mode how to determine the nominal position of the print mark on a positive edge of 'boStartPmDet'

'boPmSetupPos' = FALSE:

The position of the next print mark is set as nominal position. All following print marks are adjusted to this position.

'boPmSetupPos' = TRUE:

The parameter 'diPmSetupPos' specifies the print mark relatively to the actual master position. The following print marks are adjusted to this position

boRefPulse

BOOL

Homing pulse

(See document Software description AmkExMotionBase library, Part no. 207236) BasicSupport DI_TO_COUNT

diCount

DINT

Counter value

Pulses of the controlled unit for determining the print mark deviation

diPmOffset

DINT

Print mark offset of the actual position

(See document Software description AmkExMotionBase library, Part no. 207236) BasicSupport DI_TO_COUNT

diOpOffset

DINT

Operator offset.

Shifts the set position of the print mark.

The shift takes place in the correction range and starts with a 0 → 1 edge at 'boSetupOffset'. It is independent of changes in the value of 'diCount'. The offset is calculated as

diCorrCount

DINT

Impulses of the speed masters (path speed master)

Output variables of the asynchronous part of the program (PLC_PRG)

Name

Type

Description

boEnabAck

BOOL

Acknowledgement: Function block is initialised and enabled

Output variables of the synchronous part of the program (FPLC_PRG)

Name

Type

Description

boPmDetected

BOOL

Print mark detected, control activated

boPmLost

BOOL

Print mark lost

activated when the number of print marks set in 'iNoPmLost' is not detected successively.

boPmWnd

BOOL

Mark window activates the print mark sensor

diPmDeviation

DINT

Deviation between setpoint and actual position of the actual print mark

diOpOffsetOut

DINT

Output value contains the actually output operator offset

diCorrOut

DINT

Correction value

iActPmLost

INT

Number of lost print marks

Usage note in the CoDeSys program
PLC_PRG (asynchronous part of the program) FPLC_PRG (synchronous part of the program)
PRINT_MARK_CONTROL PRINT_MARK_CONTROL.actSync