External Sequence Control


Draft - ongoing implementation.

When enabled, allows the applicator sequences to be controlled from an external system, either by JSON-RPC, Digital I/O, or Modbus TCP.

A normal use case for External Sequence Control is for e.g. pallet labeling where the print job only contains the labels (pages) needed for that product. The labels are to be ordered in the expected apply sequence. Using External Sequence Control, the printing and applying is controlled entirely by an external system.

Setup Guide

  • Print and Apply -> Labels Per Product -> External Sequence Control. Click the slider to enable.

  • Select number of preconfigured sequences This is done through the Labels Per Product setting E.g. 2 sequences

  • Setup which side each sequence represents.

  • Select if a scanner is to be used. The scanner must first be setup and enabled from the Peripherals menu.

  • On the applicator page, setup the apply position for each sequence / side.

  • If Protocol Emulation data (e.g. ZPL) used, disable Force Unlimited Product Count.


Control using JSON-RPC

JSON-RPC gives full control over the external sequence control.

The active label can be printed with the sequence.print command.
A printed label can be applied using JSON-RPC with the sequence.apply command. The parameter specifies the product face.
Finish Sequence
The sequence can be finished using JSON-RPC with the sequence.finish command. Sending sequence.finish tells the printer that the current products is fully processed and at the same time puts the printer in a state to receive data for the next product.

Control using Digital I/O

When External Sequence Control is activated, the digital inputs are automatically assigned to the following functions:

Input Function
TRIG1 Level activated print trigger.
TRIG2 Level activated apply trigger.
IN2 and IN1 Selects Label Sequence or Finish Sequence command.

IN2 and IN1 encodes the binary value of the apply positions and the Finish Sequence command according to this table:

Optionally, IN3 and IN4 can be used instead of TRIG1 and TRIG2 on printers using CPU3 hardware. This document uses TRIG1 and TRIG2 in its examples, but the functionality is equivalent if IN3 and IN4 are substituted for TRIG1 and TRIG2.

IN2 IN1 Function
0 0 Finish Sequence
0 1 Apply Position 1
1 0 Apply Position 2
1 1 Apply Position 3

Activating TRIG1 prints an active job immediately or a pending print job using best effort.

Example: Trigger printing of an active job on TRIG1

Example: Trigger printing by sending job when TRIG1 is active


Trigger applying on a product face by:

  1. Selecting the associated label sequence using IN2 and IN1.
  2. Activate TRIG2.

Example: Trigger Apply Position 2 when printing is finished

Example: Trigger Apply Position 3 as soon as printing is finished

Finish Sequence

Trigger end of sequence by setting IN2 and IN1 both to inactive, and then activate TRIG2. This tells the system that the complete product sequence is finished.


Control Using Modbus TCP

See Modbus TCP