Click or drag to resize

11.1.4 MOTF List Commands and Trigger Modes

MOTF List Commands

There are several list commands specific to MOTF processing:

  • Commands which control the tracking state, such as: AppendStartMotf, AppendStopMotf

  • Commands which pause execution until the conveyor belt has reached a certain position, such as AppendMotfWaitPart and AppendMotfWaitDistance(Double, MotfDistanceMode, Int32, Boolean)

MOTF Tracking State List Commands

Command

Description

AppendStartMotf

Activates MOTF Tracking immediately, without waiting for a particular belt position to be reached.

  • Upon processing this command, the MOTF Reference Position is set to the current belt position.

  • Further belt movements relative to this reference will then be applied as offsets to the user coordinates.

AppendStopMotf

De-activates MOTF Tracking immediately.

  • This also resets the Current MOTF Offset to 0.

Caution note  Caution

This will usually cause a beam movement, since the mirrors will re-positioned to the user coordinates without the accumulated MOTF Offset.

MOTF Position Trigger List Commands

List Command

Description

AppendMotfWaitPart

Trigger on Part at Distance

Execution pauses until the belt has travelled at least the specified additional distance (which can be 0) beyond the position at which the part was sensed.

Whenever a part is sensed, the sum of the current belt position and MotfConfigPartDistance is written into a FIFO (first-in first-out) queue.

  • The function is implemented entirely in hardware, and is carried out regardless of whether or not a list is executing. Consequently, up to 32 parts can be registered in the queue, and their trigger positions will not be lost even if the firmware is busy marking.

When the firmware encounters an AppendMotfWaitPart command, it retrieves the oldest position from the FIFO and writes it to the MOTF Reference Position register.

Motf Wait for Part.svg not found.
MOTF Trigger on Part timing diagram

AppendMotfWaitDistance(Double, MotfDistanceMode, Int32, Boolean)

(mode = RelativeToCurrent)

Trigger at Distance relative to Current Belt Position

Execution pauses until the belt has travelled at least the specified additional distance (which can be 0) relative to the current belt position.

When AppendMotfWaitDistance(distance, RelativeToCurrent) is called, the reference position is set to the sum of the current belt position and the given distance.

Motf Wait for Distance - RelativeToCurrent.svg not found.
MOTF Trigger at Distance relative to Current Belt Position

AppendMotfWaitDistance(Double, MotfDistanceMode, Int32, Boolean)

(mode = RelativeToPrevious)

Trigger at Distance relative to Previous Reference Position

Execution pauses until the belt has travelled at least the specified additional distance (which can be 0) relative to the previous reference position .

When AppendMotfWaitDistance(distance, RelativeToPrevious) is specified, the previous reference position is incremented by the given distance.

  • This mode is ideally suited to banner marking, where each section’s length must be strictly equal.

Motf Wait for Distance - RelativeToPrevious.svg not found.
MOTF Trigger at Distance relative to previous Reference Position

 

MOTF Position Trigger Conditions

In all three trigger modes above:

  • As long as the current belt position remains below the reference position, execution will pause.

  • Once the belt current position is equal to or greater than the reference position, tracking is activated.

  • The Current MOTF Offset is always relative to the reference position.

  • Tracking remains active even if the belt reverses and its position drops below the reference position.

  • Tracking is deactivated when one of the following occurs: