Professional Documents
Culture Documents
Simple Communications
Protocol Reference Manual
Simple Communications Protcocol
Reference Manual
Linx Simple Communications Protocol (SCP)
Copyright notice
No part of this publication may be reproduced, transmitted, transcribed, stored in a
retrieval system, or translated into any human or computer language by any means or in
any form, without the express prior written permission of Linx Printing Technologies Ltd.
Neither whole nor part of the product described in this manual may be adapted or
reproduced in any material form without the express prior written permission of Linx
Printing Technologies Ltd.
Contravention of copyright may also reduce the ability of Linx Printing Technologies Ltd to
provide effective support for its equipment.
This Second edition published 2015
© Linx Printing Technologies Ltd 2014, 2015
LINX is a registered trademark of Linx Printing Technologies Ltd.
Manual content
The content of this manual is provided for information only. Nothing in the content of this
manual represents, or should be construed as, any contractual or other commitment on the
part of Linx Printing Technologies Ltd.
Linx products are subject to continual development and improvement, and updates to the
content of this manual will be made accordingly in subsequent editions.
Linx reserves the right to make changes without notice to both this publication and to the
products described herein.
All possible care has been taken in the preparation of this manual, and information of a
technical nature and particulars of the product and its use are given by Linx in good faith.
However, Linx makes no guarantees regarding the accuracy or completeness of this
publication.
Confidentiality statement
The information contained in this manual is confidential to Linx and its distributors, and to
Original Equipment Manufacturers (OEMs) who are integrating Linx products into a larger
system, and who have signed a confidentiality agreement with Linx.
Safety recommendation
Before attempting to use either a Linx printer or its accessories, you should read the
information contained in the Safety section of the relevant printer manual. It is essential that
you follow safe operating procedures at all times, and that the equipment is maintained
according to the directions contained therein and as recommended by Linx or its
authorized Distributors.
Contents
Copyright notice................................................................................................. 1
Manual content .................................................................................................. 1
Confidentiality statement ................................................................................... 1
Safety recommendation..................................................................................... 1
About this manual .............................................................................................. 2
Contents ............................................................................................................ 3
1. INTRODUCTION ............................................................................. 7
1.1 The Linx Simple Communications Protocol................................................. 7
1.2 Connect the printer ...................................................................................... 7
1.2.1 RS-232 ............................................................................................... 7
1.2.2 Ethernet .............................................................................................. 7
1.3 Overview...................................................................................................... 7
1.4 Syntax.......................................................................................................... 8
1.5 Commands .................................................................................................. 8
1.6 Keywords..................................................................................................... 9
1.7 Security...................................................................................................... 10
1.7.1 Session and user access level ......................................................... 10
1.7.2 Command security............................................................................ 11
1.8 Parameters ................................................................................................ 12
1.8.1 General parameter properties .......................................................... 13
1.9 Errors......................................................................................................... 20
CHAPTER 1: INTRODUCTION
1.1 The Linx Simple Communications Protocol
The Linx Simple Communications Protocol (SCP) allows you to control printer functions
from a remote host through the RS-232 port and/or the Ethernet port, rather than the local
display. The printer acts as a 'slave' that receives commands from the remote host and sends
back status information and data as requested.
The serial hardware connection to Linx printers is based on the RS-232C standard.
Although this manual refers to the RS-232 standard, and the software refers to RS-232, this
does equate to the EIA-232 standard.
1.2.1 RS-232
The RS-232 standard is an Electronic Industries Association (EIA) approved standard for
connecting serial devices. It provides point-to-point communications.
1.2.2 Ethernet
The Ethernet hardware connection on this printer is based on the IEEE 802.3u 100BASE-T/
10BASE-T standard. The Ethernet port in use is 29044.
For more information about how to configure Linx printers to use SCP, see ‘Printer
Communications Setup’ on page 140.
1.3 Overview
This section describes the various commands used with SCP. The structure of the
information passed over the protocol is based on the YAML™ data serialisation standard.
YAML™ is a human-readable, cross-language, Unicode-based serialization language used
to describe each command. This means that human-readable text is sent to, and received
from, the printer.
The YAML™ syntax lists documents as members of a stream. For SCP, the word ‘document’
is replaced by ‘command’. For each command, the keys used to enumerate the command
and its parameters are the same as the keys that are used in the command itself.
The YAML™ syntax used to describe each command closely matches the data exchanged
with the printer. The description of a command includes all the possible parameters. Each
parameter provides sufficient information to both validate and implement the command.
NOTE: For this release of SCP, only UTF-8 encoding is supported.
The YAML™ format consists of a key in the form of a key-pair value and sequence data in a
hierarchical format. For example:
Sequence
Parent :
- Child 1
- Child 2
- Child 3
In the above example, ‘Child 1’, ‘Child 2’, and ‘Child 3’ are sequences of data that are
children of a ‘Parent’ node.
Map (key-pair value)
Parent :
- Child 1: 0
- Child 2: 1
- Child 3: 2
In the above example ‘Child 1: 0’, ‘Child 2: 1, and ‘Child 3: 2’ are sequences of map (key-
pair value) data that are children of a ‘Parent’ node.
1.4 Syntax
The following YAML™ elements are used within SCP.
1.5 Commands
Each command has a unique description. If different parameters are required for printer
operations, these parameters are represented by different, but clearly related commands.
The one exception is where a simplified version of a command exists, where a single
parameter is attached to the command. See ‘Simple Protocol Command descriptions’ on
page 54 for details of all commands and their variations.
The first line in the data transfer is the command separator, with a carriage return character
‘<CR>’, followed by the command name. For example, for the Count command (where the
command key is ‘Count’), the command is as follows:
---
Count:
Parameters for the commands are supplied as values to command keys. The command keys
are specific to particular commands and are preceded by two space characters. For example,
the Count command can take as a parameter the command key ‘Message’ (to set or query
the message print count):
---
Count:
Message: 0
…
The above command sets the message count to zero. Note the indentation that denotes the
structure of the command. Also, note the use of the colon and space combination to
separate the key value from the key 'Message'. Tab characters are not allowed.
For some commands there is only a single parameter. In these cases, the parameter
description can be provided for the command itself. For example, the command
PowerDown requires a single parameter, so its description is as follows:
---
PowerDown:
Description: "Powers down the printer."
...
1.6 Keywords
Some special keywords can be applied to commands or parameters. These keywords are
shown in the table below.
SCP KEYWORDS
Keyword Description
QY Query. Used to query the value of a parameter on the
printer. When applied to a command, it implies that the
values of ALL associated parameters are returned.
EQY Used to query the possible values for an enumerated
parameter or the detailed query of a complex object.
DS Requests a description of the command or parameter.
OK Indicates successful execution of a command.
NO Indicates failure of a command.
1.7 Security
1.7.1 Session and user access level
An individual connection or session established between a SCP client and the printer has a
user access level associated with it. The access levels are as follows:
• NoAccess
• Basic
• Advanced
• Service
When a connection to the printer is made, SCP uses the UserLevel command to establish a
user access level. You can enter a valid username and PIN code to assign the access level
associated with that user to the session. The username is one of the users listed on the Select
User screen accessed from the User Login option on the Main Menu screen (including the
default OPERATOR and SUPERVISOR usernames). The PIN code is the same PIN code
used on the printer user interface.
The access level for a session is the level associated with the last UserLevel command
executed. When a SCP session is started (that is, when either a TCP/IP connection is
established, or the serial port is first used after printer powerup), the user access level
associated with the session is NoAccess.
You can set the access level for a user on the printer from the User Management screen
(Main Menu > Printer Setup > User Management > Edit User). Select the Communications
Access option on the Printer Functions screen. You can assign NoAccess, or Basic, or
Advanced user access levels to a user.
NOTE: You cannot modify the rights for OPERATOR and SUPERVISOR via the printer
user interface. Security access rights for these users for communications options are
set to Basic and Advanced, respectively.
SECURITY PROPERTIES
Type Description
NO_ACCESS Attempts to query or modify a value associated with
this command fail.
READ Values that can be successfully queried using the
command can be returned. An attempt to modify a
value fails.
WRITE Values that can be modified by the command can be
successfully modified. Values cannot be queried.
READ_WRITE Values that can be modified by the command can be
successfully modified, and values can be queried.
For example, the Count command can have the following settings:
Count:
NoAccess: NO_ACCESS
Basic: READ
Advanced: READ_WRITE
Service: READ_WRITE
A session with NoAccess access that executes the Count command is rejected. A session
with Basic access can query count parameter values, but not set them. A session with any of
the other access levels can both query and set count parameter values.
The access rights of a particular field within a command can override the value set by the
command itself. For example:
Count:
Printer:
No level set: NO_ACCESS
Basic: READ
Advanced: READ
Service: READ
NOTE: The UserLevel command must have READ_WRITE privileges for all access levels
to allow access for all users.
1.8 Parameters
This section describes the parameter types. Each parameter starts with a key value
associated with that parameter. For example, the Count command has a parameter with the
key, Message. The command description uses the key value Message as a heading for the
description of its properties. Therefore, the command description might be as follows:
---
Count:
Message:
Description: "The number of times the message has been printed."
Min: 0
A command sent to the printer from a client might be as follows:
---
Count:
Message: QY
…
To which the reply might be as follows:
---
Count:
Message: 52
…
This reply indicates that the message has been printed 52 times.
The next section lists the properties that apply to all parameter types. Subsequent sections
list the properties that apply to specific parameter types.
TYPE VALUES
Type Description
Int A signed integer.
Float A floating point value.
String A string of UTF-8 characters.
Enum A fixed set of values that are listed in the description.
Bool A Boolean value (TRUE or FALSE).
Binary Binary data.
Date A date value.
Time A time value.
DateTime A combined date and time value.
Each type can have the qualifier 'List' associated with it. This means that the command or
response contains a sequence of the specified type. For example, ‘String List’ means that the
command and response contains a sequence of string values.
Example
---
Count:
Message:
Type: Int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Description: "The number of times the message has been
printed."
Min: 0
Max: MAX_INT
Units: None
…
NOTE: The above example does not have a Default entry because the parameter can be
optional. If the Default entry is omitted from the command, it means that the
parameter should not be used. The use of MAX_INT or MIN_INT values means
that you can provide a parameter that has limits imposed only by the software
architecture.
Example
---
LineSpeed:
Description: “Set the line speed if mode is fixed.”
Type: Float
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Min: 0.001
Max: 1.390
Units: m/s
…
NOTE: The maximum and minimum lengths are calculated from the length of the Unicode
strings that result from the receipt of the UTF-8 characters in the command.
Example
---
Message:
Name:
Type: String
Readable: TRUE
Writeable: TRUE
Optional: FALSE
Description: "The message name."
Default: "Message_1"
Maxlen: 32
Minlen: 1
…
The above example shows the Name parameter associated with downloading a message to
the printer. This parameter can be omitted, but if it is omitted, the Default is used (that is,
a message called ‘Message_1’ is created). Because the command creates an entry on the
printer, rather than accessing an existing one, the parameter is both readable and writeable.
Once created it can be read or modified.
Example
---
SerialSettings:
Parity:
Type: Enum
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Description: "The parity settings on the serial port."
Values:
-ODD
Description: "Odd parity."
-EVEN
Description: "Even parity."
…
The parameter, Parity, can have two possible values. It is both readable and writeable
(you can either set the parity to use, or read the current setting). You can send the command
SerialSettings and not include the Parity parameter (that is, optional is set TRUE).
There is no default value because if you omit the parameter in the command, that part of the
command is ignored.
Example
---
Orientation:
HFlip:
Type: Bool
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Description: "Whether the printed message is horizontally
flipped."
…
NOTE: The maximum and minimum values are the limits on the number of binary
characters that the Base64-encoded string represents.
Example
---
Bitmap:
Minlen: 1
Maxlen: 1024
…
1.9 Errors
Errors are reported to the client as a YAML™ document in the form of the original
command with values modified to indicate the reasons for the failure. The failed command
or parameter has the value NO attached, followed by an explanation of the error. For
example, the command:
---
Count:
Message: -1
…
Receives the reply:
---
Count:
Message: NO - Invalid value
…
A key that is not recognized is ignored.
The table below shows the types of error that can occur and the associated explanation
given in the returned document.
ERROR TYPES
Error type Explanation string
Unknown command The command name was not
recognized.
Value out of range (Min %s, The numerical value was outside the
Max %s) range of possible values.
Invalid value The wrong type of parameter was
supplied (for example, a string when
a number should be given, or an
unrecognized enumerated type).
Invalid data The data supplied is invalid.
Unsupported value The value supplied is currently
unsupported.
Parameter required The parameter is not optional and no
default is available for that parameter.
Invalid parameter The parameter supplied is invalid.
Failed to execute command Execution of the command failed,
possibly due to the printer being in an
invalid state.
Unsupported command The printer does not support that
command.
Failed to execute command The execution of the command failed
due to syntax error(s).
Start, End, and Current String lengths are inconsistent in
string lengths are sequential number.
inconsistent
Message not selected In order for the command to work a
message must be selected.
Execution failed for one or The execution of the command failed
more items for multiple reasons.
Not in printing state In order for the command to work the
printer needs to be in the printing
state.
ERROR TYPES
Error type Explanation string
Printing in progress The printer is currently busy.
Message/Image printing Message/Image cannot be deleted if
it is selected for printing and the
printer is in the printing state.
Duplicate name A duplicate name has been supplied
in the command
Unknown field type A field supplied is of unknown origin.
Field beyond message boundary A message field supplied is beyond
message boundary.
Invalid field Field supplied is invalid.
Node not found Supplied node has not been found.
Incomplete node Supplied node is incomplete.
Invalid trigger mode Trigger mode supplied is invalid.
Duplicate command ignored A duplicate command has been
queries received.
Unknown message style Message style supplied is unknown.
<Name> does not exist <Name> does not exist.
If you need to find out more information about the command (for example, the units used
for the values or an exact description of each subcommand), you can use the DS query for
the required command. For example, for the Count command, you can enter the following:
---
Count: DS
…
To which an example reply might be:
---
Count:
- Message:
- Description:
- Unsigned int
- Read-Write
- Min 0, Max UINT MAX
- ""
- Message count. Optional subcommand
- Printer:
- Description:
- Unsigned int
- Read-Write
- Min 0, Max UINT MAX
- ""
- Print count. Optional subcommand
- Batch:
- Description:
- Unsigned int
- Read-Write
- Min 0, Max UINT MAX
- ""
- Batch count. Optional subcommand
...
…
This means that the message with the name ‘Message_3’ is deleted from the printer.
An example command to delete multiple messages is as follows:
---
Delete:
Message:
"Message_3"
"My message"
…
This deletes messages with the names ‘Message_3’ and ‘My message’ from the printer.
To delete a specific message and logo, you can use the following command:
---
Delete:
Message: ABC
Image: DEF
…
This means that a message with the name ‘ABC’ and an image with the name ‘DEF’ are
deleted from the printer.
To delete all messages on the printer, you can use the following command:
---
Delete:
Message: ALL
…
To delete all images on the printer, you can use the following command:
---
Delete:
Image: ALL
…
To delete all messages and images on the printer, you can use the following command:
---
Delete: ALL
…
NOTE: If a message or image is being printed, it cannot be deleted from the printer.
Type: Date
Current Value: "%DD%-%MM%"
…
The command creates a message with two fields adjacent to each other. The first field is
always positioned at the top left of the message. The message looks similar to that in
Figure 1.
AS394
An example command to set the spaces between lines and fields is as follows:
---
Message:
Name: Test
Line:
Field:
Type: Text
Current Value: ABC
HGap: 5
Field:
Type: Time
Current Value: "%HH%:%MM%"
VGap: 2
Line:
Field:
Type: Date
Current Value: "%DD%-%MM%"
…
In the above example, the space between two lines is 2 units (in mm, pixels, or points), and
the space between two messages is 5 units (in mm, pixels, or points). You can change these
values to adjust the position of fields within the message.
For information about how to delete a message, see ‘Delete command’ on page 29.
For information about how to select a message for printing, see ‘PrintMessage command’
on page 35.
For information about how to print a message, see ‘Print command’ on page 45.
Parameters:
Barcode Type: Code 39
Source Fields:
Field 2
Field:
Name: Field 2
Type: Text
Parameters:
Text: BARCODE1
…
Format: "%DD%\%MM%\%YY%"
…
---
PrintMessage: QY
…
To which the reply is as follows:
---
PrintMessage: "Message_3"
…
This means that the message with the name ‘Message_3’’ is the message selected for
printing.
2.17 RF command
2.17.1 Check for remote fields in a message
The remote field command supports the QY and EQY query keywords. An example QY
query to check whether there are any remote fields in a message is as follows:
---
RF: QY
…
To which the reply might be as follows:
---
RF:
RemoteField1: ABCD
RemoteField2: EFGH
RemoteField3: No Remote field does not exist
Option 1
---
RF: ABCDEFGHI
…
If this command is used, the remote data is distributed according to the size of the remote
fields in the message.
Option 2
---
RF:
RemoteField1: ABCD
RemoteField2: EDGHI
…
This command can be used if the remote fields in the message are already known.
Option 3
---
RF:
1: ABCD
2: EDGHI
…
This command can be used if the order of the remote fields is known (remote field 1 is
populated with the data ‘ABCD’ and remote field 2 is populated with the data ‘EDGHI’).
NOTE: If you use the remote field name to set remote field data, the reply ‘No Remote field
does not exist’ means that the remote field to be updated is not in the current
selected message. The reply ‘No Unknown command’ means that the remote field
to be updated is not available on the printer.
…
The format of the returned strings is shown in Table 17:
*
Comms: OK
^
The command to query the details of a particular connection (‘CON1’) is as follows:
---
Comms: CON1
…
To which an example reply is as follows:
---
Comms:
Connection:
Name: CON1
Header: "---\n"
Footer: "\n…"
Timeout: 0
Active: true
Security: 2
AsyncEvents:
PDElay: true
PGo: false
Pend: false
…
---
PrintImage:
Data: !!binary "SGVsbG8sIFdvcmxkIQ=="
…
The events are returned in chronological order, with the most recent first. An example of a
reply is as follows:
---
Events:
Current:
-3.03 Ink Low 2014-02-28T13:23:00
-3.04 Solvent Low 2014-02-28T13:23:00
…
You can use a range to request specific items in the history. For example, the following
command requests the first five items in the event history:
---
Events:
History: 1-5
…
If the PrintEnd option is selected, for each print made by the printer, the following
AsynchEvents command is received:
---
AsyncEvents: PrintEnd
…
The following command issues a manual trigger command to the printer for a single print:
---
Print: True
…
You can also use the Print command to query if the printer is currently printing:
---
Print: QY
…
If the printer is printing, the reply is as follows:
---
Print: Printing in progress
…
If the printer is not printing, the reply is as follows:
---
Print: False
…
CHAPTER 3: SIMPLE
COMMUNICATIONS PROTOCOL
COMMANDS
The table below provides a summary of the Simple Communications Protocol commands
and their parameters. For a detailed description of each command, refer to ‘Simple Protocol
Command descriptions’ on page 54..
ProdLine SensorToHead
PrintPosition
StoS (Start of
message to start of
next message
distance)
EtoS (End of
message to start of
next message
distance)
LtoR (Line direction
- left to right)
Count Message
Printer
Batch
Speed Mode
LineSpeed
EncoderPitch
Trigger TriggerMode
Orientation Rotation
HFlip
VFlip
Date Time
Date
UTCOffset
DST
Start No parameters
Stop No parameters
Status State
Fault
Warning
Diagnostics RefTOF
TOF
Phase
Pressure
RefMod
Mod
SolventAdd
HeadTemp
Delete Message
Image
Message Overwrite
Name
Style
Units
Scaling
PrintDelay
Count
BoundaryCheck
VGap
HGap
Orientation Rotation
HFlip
VFlip
Printer Type
Pitch Horizontal
Vertical
HorizontalAdj
VerticalAdj
PromptOrder
Line HGap
Field Name
Type
Visible
Font Name
Size
Units
Rotation
Negative
Locale
Boldness X
Y
Image Overwrite
Name
Data
Format
PrintMessage Repeat
Reset
PrintAll
Message Name
Index
Repeat
RF (Using one RF
string)
PrintImage Xoff
Yoff
Width
Height
Data
PowerDown
Connection CommsReset
Events Current
History
UserLevel User
PIN
AsyncEvents PDelay
PGo
PEnd
Summary
Print
The table below shows the field parameters for SCP commands
FIELD PARAMETERS
Field type Parameter level 1 Parameter level 2 Parameter level 3
Text Text
Time Offset
Rounding Type
Hour
Time
Change
Image Name
Data
Remote Name
Length
FIELD PARAMETERS
Field type Parameter level 1 Parameter level 2 Parameter level 3
Counter Start
End
Step
Repeat
Range
3.1.1 Pitch
Command Type: Set
Request
This command is used on printers to set or request the pitch on the printer. On a CIJ printer
the vertical pitch cannot be set (or read) as its absolute value depends on the head to
substrate separation.
The pitch setting is specific to the current message and applies to that message until the
value is changed. If there is no message selected for printing, the command fails.
The command and its parameters are as follows:
---
Pitch:
Horizontal:
Description: “Horizontal Drop to Drop pitch.”
Type: Int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Min: 200
Max: 500
Units: Microns
Vertical:
Description: “Vertical Drop to Drop pitch (not CIJ).”
Type: Int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Min: 0
Max: MAX_INT
Units: Microns
HorizontalAdj:
Description: “Percentage horizontal adjustment from default.”
Type: Int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Min: -45
Max: 37
Units: Percent
VerticalAdj:
Description: “Percentage vertical adjustment from default.”
Type: Int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Min: -5
Max: 10
Units: Percent
...
3.1.2 ProdLine
Command Type: Set
Request
The command is used to set and request the production line parameters. Its parameters are
as follows:
---
ProdLine:
SensorToHead:
Description: “Product sensor to print head distance.”
Type: Unsigned int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Min: 0
Max: 1000000
Units: 100ths of mm
PrintPosition:
Description: “Print offset from trigger point on substrate.”
Type: Unsigned int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Min: 0
Max: 1000000
Units: 100ths of mm
StoS:
Description: “Start of message to start of next message
distance. Cannot be specified if EtoS is used.”
Type: Unsigned int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Min: 3010
Max: 1000000
Units: 100ths of mm
EtoS:
Description: “End of message to start of next message
distance. Cannot be specified if StoS is used.”
Type: Unsigned int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Min: 3010
Max: 1000000
Units: 100ths of mm
LtoR:
Description: “Line direction left to right.”
Type: Bool
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: TRUE
...
3.1.3 Count
Command Type: Set
Request
The command is used to set and request the message, printer, and batch counts.
The command and its parameters are as follows:
---
Count:
Message:
Description: “Currently selected print message count.”
Type: Int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Min: 0
Max: MAX_INT
Printer:
Description: “The total printer count.”
Type: Int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Min: 0
Max: MAX_INT
Batch:
Description: “The batch counter.”
Type: Int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Min: 0
Max: MAX_INT
...
3.1.4 Speed
Command Type: Set
Request
This command is used to set and request the printer speed mode, line speed, and encoder
pitch. The parameters are:
---
Speed:
Mode:
Description: “Set the Speed Mode.”
Type: Enum
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: Fixed Speed
Values -
Fixed Speed
Description: “Fixed speed.”
Shaft Encoder
Description: “Shaft encoder.”
LineSpeed:
Description: “Set the line speed if mode is fixed.”
Type: Float
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Min: 0.001
Max: 1.390
Units: m/s
EncoderPitch:
Description: “Set the encoder pitch if shaft encoder
selected.”
Type: Float
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Min: 1.0
Max: 333.3
Units: Pulses per millimetre (PPM)
...
3.1.5 Trigger
Command Type: Set
Request
This command is used to set and request the trigger setting parameters on the printer.
The command and its parameters are as follows:
---
Trigger:
TriggerMode:
Description: “Sets the trigger mode.”
Type: Enum
Readable: TRUE
Writeable: TRUE
Optional: FALSE
Default: Leading Edge Primary
Values -
LEPrimary
Description: “Primary, leading edge triggered.”
TEPrimary
Description: “Primary, trailing edge triggered.”
APrimary
Description: “Active primary level triggered.”
IPrimary
Description: “Inactive primary level triggered.”
Continuous
Description: “Continuously triggered.”
Manual
Description: “Manually triggered.”
...
3.1.6 Alarm
Command Type: Set
Request
Printer alarms have a common setup, but not every alarm supports all functionality. For
example, the Volt-free Contact (VFC) alarm only supports three alarm conditions and only
expects the On (CO) or Off (NO) states.
The command and its parameters are as follows:
---
Alarm:
24V:
Printer Failure:
Description: “Printer Failure operation for 24V Alarm.”
Type: Enum
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Values -
CO
Description: “Continuous.”
PC
Description: “Pulsed Continuous.”
PU
Description: “Pulsed.”
NO
Description: “None.”
Stop Printing:
Description: “Stop Printing operation for 24V Alarm.”
Type: Enum
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Values -
CO
Description: “Continuous.”
PC
Description: “Pulsed Continuous.”
PU
Description: “Pulsed.”
NO
Description: “None.”
ScheduledMaintenance:
Description:“Scheduled Maintenance 24V Alarm.”
Type: Enum
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Values -
CO
Description: “Continuous.”
PC
Description: “Pulsed Continuous.”
PU
Description: “Pulsed.”
NO
Description: “None.”
Printing:
Description: “Printing 24V Alarm.”
Type: Enum
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Values -
CO
Description: “Continuous.”
PC
Description: “Pulsed Continuous.”
PU
Description: “Pulsed.”
NO
Description: “None.”
ConsumableWarning:
Description: “Consumable Warning 24V Alarm.”
Type: Enum
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Values -
CO
Description: “Continuous.”
PC
Description: “Pulsed Continuous.”
PU
Description: “Pulsed.”
NO
Description: “None.”PrintWarning:
Description: “Print Warning 24V Alarm.”
Type: Enum
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Values -
CO
Description: “Continuous.”
PC
Description: “Pulsed Continuous.”
PU
Description: “Pulsed.”
NO
Description: “None.”
Powerup:
Description: “Powerup 24V Alarm.”
Type: Enum
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Values -
CO
Description: “Continuous.”
PC
Description: “Pulsed Continuous.”
PU
Description: “Pulsed.”
NO
Description: “None.”
VFC:
PrinterFailure:
Description: “Printer Failure VFC Alarm.”
Type: Enum
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Values -
CO
Description: “Continuous.”
NO
Description: “None.
StopPrinting:
Description: Stop Printing VFC Alarm.”
Type: Enum
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Values -
CO
Description: “Continuous.”
NO
Description: “None.”
Warnings:
Description: “Consumable Warning VFC Alarm.”
Type: Enum
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Values -
CO
Description: “Continuous.”
NO
Description: “None.”
...
3.1.7 Orientation
Command Type: Set
Request
This command is used to set or request the orientation of the printed image on the
substrate.
The command and its parameters are as follows:
---
Orientation:
Rotation:
Description: “Rotation in degrees.”
Type: Int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Min: 0
Max: 359
Units: degrees
HFlip:
Description: “Horizontal Flip.”
Type: Bool
Readable: TRUE
Writeable: TRUE
Optional: TRUE
VFlip:
Description: “Vertical Flip.”
Type: Bool
Readable: TRUE
Writeable: TRUE
Optional: TRUE
...
3.1.8 Date
Command Type: Set
Request
This is a combined command to set and request the date and time.
Default: 00:00
DST:
Description: “Daylight saving (+1hr) is active.”
Type: Bool
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: FALSE
...
3.1.9 Start
Command Type: Set only
The command is used to either start printing or prepare the printer for printing. In normal
operation the printer can be in one of three states, or in transition between these states.
These states are as follows:
• Idle—The printer is not ready for printing and will not print.
• Running—The printer is ready to print, but does not print if it receives a trigger signal.
• Printing—The printer is ready to print and prints if it receives a trigger signal.
The Start command initiates a change of printer state so that its final state is either
‘Running’ or ‘Printing’.
The command and its parameters are as follows:
---
Start:
Description: “The required new state for the printer.”
Type: Enum
Readable: FALSE
Writeable: TRUE
Optional: FALSE
Values -
Print
Description: “Start up the printer and enter the print
ready mode.”
Running
Description: “Start the jet running.”
...
3.1.10 Stop
Command Type: Set only
This command is used to either stop the printer printing or running.
The command and its parameters are as follows:
---
Stop:
Description: “The way the printer should be stopped.”
Type: Enum
Readable: FALSE
Writeable: TRUE
Optional: FALSE
Values -
Print
Description: “Take the printer into Running mode after the
current print has completed (pausing print).”
Abort
Description: “Stop the print immediately and enter Running
mode (abort print).”
Running
Description: “Take the printer from Print mode to idle
(stop print).”
...
3.1.11 Status
Command Type: Request only
The command is used to request the current state of the printer.
The command and its parameters are as follows:
---
Status:
State:
Description: “The current printing state of the printer.”
Type: Enum
Readable: TRUE
Writeable: FALSE
Optional: TRUE
Values -
IDLE
Description: “The printer is idle.”
STARTING
Description: “The printer is starting.”
STOPPING
Description: “The printer is stopping.”
RUNNING
Description: “The printer is running.”
READY
Description: “The printer is ready to print.”
FAULT
Description: “The printer has a fault.”
Fault:
Description: “The number of current faults on the printer.”
Type: Int
Readable: TRUE
Writeable: FALSE
Optional: TRUE
Min: 0
Max: 1024
Warning:
Description: “The number of current warnings on the printer.”
Type: Int
Readable: TRUE
Writeable: FALSE
Optional: TRUE
Min: 0
Max: 1024
...
3.1.12 Diagnostics
Command Type: Request only
The command is used to query diagnostic information specific to the printer type.
The command and its parameters for a CIJ printer are as follows:
---
Diagnostics:
RefTOF:
Description: “The Reference Time of Flight (TOF) on the
printer (Service user only).”
Type: Int
Readable: TRUE
Writeable: FALSE
Optional: TRUE
Min: 1800
Max: 2500
TOF:
Description: “The Actual TOF value on the printer (Service
user only).”
Type: Int
Readable: TRUE
Writeable: FALSE
Optional: TRUE
Min: 1800
Max: 2500
Phase:
Description: “The Actual Phase value on the printer (Service
user only).”
Type: Int
Readable: TRUE
Writeable: FALSE
Optional: TRUE
Min: 0
Max: 15
Pressure:
Description: “The Actual Pressure value on the printer
(Service user only).”
Type: Int
Readable: TRUE
Writeable: FALSE
Optional: TRUE
Min: 0
Max: 255
RefMod:
Description: “The Reference Modulation on the printer (Service
user only).”
Type: Int
Readable: TRUE
Writeable: FALSE
Optional: TRUE
Min: 0
Max: 255
Mod:
Description: “The Actual Modulation value on the printer
(Service user only).”
Type: Int
Readable: TRUE
Writeable: FALSE
Optional: TRUE
Min: 0
Max: 255
SolventAdd:
Description: “The number of solvent adds on the printer
(Service user only).”
Type: Int
Readable: TRUE
Writeable: FALSE
Optional: TRUE
Min: 0
Max: 1000
HeadTemp:
Description: “Head temperature (Service user only).”
Type: Int
Readable: TRUE
Writeable: FALSE
Optional: TRUE
Min: 0
Max: 150
Units: Degrees C
...
NOTE: The above parameters are only returned when the User Level is set to ‘Service’.
3.1.13 Resources
Command Type: Request only
This command is used to retrieve information about resources on the printer.
---
Resources: QY
Simple query
This command returns all the resources available on the printer.
The command and its parameters are as follows:
---
Resources:
Message:
Description: “The message name.”
Type: String
Readable: TRUE
Writeable: FALSE
Image:
Description: “The logo name.”
Type: String
Readable: TRUE
Writeable: FALSE
DateTimeElements:
Description: “The date format.”
Type: String
Readable: TRUE
Writeable: FALSE
Font:
Description: “The font name.”
Type: String
Readable: TRUE
Writeable: FALSE
MessageStyle:
Description: “The message style name.”
Type: String
Readable: TRUE
Writeable: FALSE
...
Query by type
This command can be used to request specific data types. One or more data types can be
queried in a single command.
---
Resources:
Message: QY
Image: QY
DateTimeElements: QY
Font: QY
MessageStyle: QY
…
The response is similar to the simplified query, except only the queried data types are
returned.
Readable: TRUE
Writeable: FALSE
Optional: TRUE
DateTimeElements
Description: “List of date formats with respective
description.”
Type: String List
Readable: TRUE
Writeable: FALSE
Font
Description: “List of font names with respective size.”
Type: String List
Readable: TRUE
Writeable: FALSE
MessageStyle
Description: “List of message style names.”
Type: String List
Readable: TRUE
Writeable: FALSE
...
NOTE: There is no detailed information associated with a message style.
3.1.14 Delete
Command Type: Set only
This command is used to delete one or more resources on the printer.
Delete all
This command deletes all resources of a specified type (for example, messages or logos).
The command and its parameters are as follows:
---
Delete:
Message: ALL
Description: “Delete all messages.”
Type: String
Readable: FALSE
Writeable: TRUE
Optional: TRUE
Image: ALL
Description: “Delete all images.”
Type: String
Readable: FALSE
Writeable: TRUE
Optional: TRUE
...
Delete:
Message:
Description: “A list of message names.”
Type: String List
Readable: FALSE
Writeable: TRUE
Optional: TRUE
Minlen: 1
Maxlen: 32
Image:
Description: “A list of image names.”
Type: String List
Readable: FALSE
Writeable: TRUE
Optional: TRUE
Minlen: 1
Maxlen: 32
...
3.1.15 Message
Command Type: Set
Request
This command is used to manage messages on the printer. As a message can contain one or
more fields of various types, parameters for the different field types are explained in
‘Message field parameters’ on page 39.
The command and its parameters are as follows:
---
Message:
Overwrite:
Description: “Used to overwrite the existing message.”
Type: Bool
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: FALSE
Name:
Description: “The message name.”
Type:String
Readable: TRUE
Writeable:TRUE
Optional: FALSE
Minlen: 1
Maxlen: 32
Style:
Description: “The message style.”
Type: String
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: Depends on default style setting on the printer.
Units:
Description: “Units used in positional values.”
Type: Enum
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: Drops
Values -
Drops
Millimetres
Points
Scaling:
Description: “Factor used with positional values.”
Type: Unsigned int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: 1
Min: 1
Max: UINT_MAX
PrintDelay:
Description: “Message print delay.”
Type: Unsigned int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: 0
Min: 0
Max: 10000
Units: mm
Count:
Description: “Message print count.”
Type: Unsigned int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: 0
Min: 0
Max: UNIT Max
BoundaryCheck:
Description: “Used to check if the given field is within the
boundaries of the message. Validates the height
of the message.”
Type: Bool
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: TRUE
VGap:
Description: “Default drop gap between the lines.”
Type: Unsigned int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: 0
Min: 0
Max: 17 (Maximum of 34 drops, divided by 2)
HGap:
Description: “Default drop gap between the fields.”
Type: Unsigned int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: 0
Min: 0
Max: 33465 (drops equivalent to 1m length at 72 DPI)
Orientation:
Rotation:
Description: “Message rotation.”
Type: Unsigned int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: 0
Values -
0
90
180
270
HFlip:
Description: “Horizontal flip for message.”
Type: Boolean
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: False
VFlip:
Description: “Vertical flip for message.”
Type: Boolean
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: False
Printer:
Type:
Description: “Printer type.”
Type: String
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: CIJ
Pitch:
Horizontal
Description: “Horizontal pitch value for message.”
Type: Unsigned int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: 365
Vertical
Description: “Vertical pitch adjustment value for
message.”
Type: Unsigned int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: 365
HorizontalAdj
Description: “Horizontal pitch adjustment value for
message.”
Type: Unsigned int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: 0
VerticalAdj
Description: “Vertical pitch adjustment value for
message.”
Type: Unsigned int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: 0
PromptOrder:
Description: “List of prompt field names.”
Type: String list
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: If not defined, order is as defined in the message.
...
NOTE: The Style subcommand requires a valid message style description, either in the
current locale for the printer or in English. If a description is not found, the
command fails.
When a specific message is queried, the style returned is displayed, either:
• As it appeared in the Message command at creation (if the message was not
edited on the printer).
• In the current locale (if the message was edited on the printer).
Line definition
The order of the line sequence is significant. The first entry is assumed to be the top (first)
line. Additional entries are added below the first entry. The structure of each line
component is as follows:
Line:
HGap:
Description: “Gap between field or the starting of line to
field based on the location. It overrides the
default horizontal gap.”
Type: Unsigned int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: 0
Field: See ‘Field definition’ below
The fields under a line are placed adjacent to each other, from left to right in the order in
which they are added to the line. Lines can be considered as a way in which to arrange the
fields in rows. Multiple lines add fields in multiple rows starting from the top left. If fields
are added without Line nodes, each field is added to a new line until a Line node is seen.
Field definition
A field consists of a generic component (shown below) and a parameters component, which
is dependent on field type (see ‘Message field parameters’ on page 89).
Field:
Name:
Description: “The field name. Only required for barcode source
fields or to set prompt order.”
Type: String
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Minlen: 1
Maxlen: 32
Type:
Description: “The field type.”
Type: Enum
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: TEXT
Values -
Text
Date
Image
Counter
Time
Shift
Remote
Barcode
Visible:
Description: “Field visibility - currently used for
barcodes.”
Type: Bool
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: TRUE
Font:
Name:
Description: “The font name.”
Type: String
Readable: TRUE
Writeable: TRUE
Optional: FALSE
Default: Universal
Size:
Description: “The font size.”
Type: Int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: # Depends on the selected style
Min: 1
Max: TBA
Default: Depends on the Units parameter
Units:
Description: “The units used for size and coordinate
values.”
Type: Enum
Readable: TRUE
Writeable: TRUE
Optional: FALSE (required when size or position are
set)
Default: drops
Values -
mm
drops
point
Rotation:
Description: “Character rotation.”
Type: Unsigned int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: 0
Values -
0
90
180
270
Negative:
Description: “Produces a negative image.”
Type: Bool
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: FALSE
Locale:
Description: “Field locale.”
Type: String
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: en_GB
Values -
See ‘Appendix B: Locales’
Boldness:
X:
Max: MAX_INT
Current Value:
Description: “Current value for the field.”
Type: String
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: User set value
The current value for a field depends on the field type.
Text parameters
The following parameters are used in a Text field:
Text:
Description: “The text to be printed.”
Type: String
Readable: TRUE
Writeable: TRUE
Optional: FALSE
Maxlen: 255 / 32 (CIJ/TIJ)
Minlen: 3
This node can be used to set the default value for a Prompted field and a Shift Code field (it
is optional for a Shift code field). If used in a Shift Code field, the value is not validated. You
can also use the node in a Sequential Number field to set the current value.
PromptWidth:
Description: “The text placed in the text entry box
initially.”
Type: Enum
Readable: TRUE
Writeable: TRUE
Optional: FALSE
Default: -Default
Values:
-Default
Description: “User entry is primed with the DefaultText
string.”
-Current
Description: “User entry is primed with the current field
contents.”
-None
Description: “User entry is primed with nothing.”
List:
Description: “An item in the prompt list.”
Type: String list
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Minlen: 1
Maxlen: 255
…
Date parameters
The following parameters can be used in a Date field:
Format:
Description: “The date format.”
Type: String
Readable: TRUE
Writeable: TRUE
Optional: FALSE
Min: 3
You can create any Date/Time format with the supported Date/Time elements. Custom
created formats are not displayed in the list of supported formats. When you edit a Date/
Time field with a custom format, the ‘Format’ value in the user interface is empty.
NOTE: If the message is saved in YAML™ format, when the message is returned the extra
characters '!<!>' are added before the format of the date or time.
Offset: (if missing, assume zero offset)
Time:
Description: "The offset time +/- 23:59."
Type: Time
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: 00:00
Min: -23:59
Max: 23:59
Days:
Description: “The number of days offset from the current date.
Mutually exclusive to Months.”
Type: Int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: 0
Min: -7305
Max: 7305
Months:
Description: “The number of months offset from the current
date. Mutually exclusive to Days.”
Type: Int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: 0
Min: -240
Max: 240
Day:
Description: “Day of the week (1-7, Mon=1) or day of the
month.”
Type: Int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: 1
Min: 1:
Max: 31
The offset applies a positive or negative modification to the current date.
Time parameters
The following parameters can be used in a Time field:
Format:
Description: “The time format.”
Type: String
Readable: TRUE
Writeable: TRUE
Optional: FALSE
Minlen: 1
Maxlen: 12
Offset:
Description: “The offset time.”
Type: Time
Readable: TRUE
Writeable: TRUE
Optional: FALSE
Default: 00:00:00
Rounding: (if missing assume no rounding)
Type:
Description: “Round up, down or to the nearest value.”
Type: Enum
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: Up
Values:
-Up
-Down
-Nearest
Hour:
Description: “The minute in the hour to which to round. Mutually
exclusive to Time.”
Type: Int
Readable: TRUE
Writeable: TRUE
Optional: FALSE
Default: 00
Min: 00
Max: 59
Time:
Description: “Time of day to which to round. Mutually exclusive
to Hour.”
Type: Int
Readable: TRUE
Writeable: TRUE
Optional: FALSE
Default: 00:00
Min: 00:00
Max: 23:59
Change:
Description: “Change the time at the time or after a minute.”
Type: Enum
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: After
Values:
-On
-After
Image parameters
The following Image field type parameters are used:
Image:
Description: “The image to print.”
Type: String
Readable: TRUE
Writeable: TRUE
Optional: FALSE
Minlen: 1
Maxlen: TBA
Default: 1
Min: 0
Max: 999999999
CurrentRepeat:
Description: “The current repeat value.”
Type: Int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: 1
Min: 0
Max: 999999999
Range:
Type: Enum
Description: “The characters to use.”
-LATIN
-ARABIC
-HINDI
Pattern:
Duration:
Description: “Duration of pattern in days.”
Type: Int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: 7
Min: 1
Max: 100
Start:
Description: “The absolute start date of the pattern (in
the format ‘YYYY-MM-DD’.”
Type: Date
Readable: TRUE
Writeable: TRUE
Optional: FALSE
Cycle:
Shift:
Time:
Description: “The cycle time.”
Type: Time
Readable: TRUE
Writeable: TRUE
Optional: FALSE
Default: 00:00
Text:
Description: “The Shift Code text.”
Type: String
Readable: TRUE
Writeable: TRUE
Optional: FALSE
Minlen: 1
Maxlen: 255/32 (CIJ/TIJ)
Barcode parameters
The following Barcode field parameters are used:
Barcode type:
Description: “Barcode type.”
Type: Enum
Readable: TRUE
Writeable: TRUE
Optional: FALSE
Default: Code 39
Values: ITF 2o5, Code 39, code 128, EAN-8, EAN-13,UPCA, Pharma
Code, DM ECC200, QR Code
SourceFields:
Description: “A list of field names.”
Type: String list
Readable: TRUE
Writeable: TRUE
Optional: FALSE
Minlen: 1
Maxlen: 32
Units:
Description: “Units for height measurement.”
Type: Enum
Readable: TRUE
Writeable: TRUE
Optional: FALSE
Default: drops
Values:
-mm
-drops
-point
Height:
Description: “Height of barcode in units specified.”
Type: Float
Readable: TRUE
Writeable: TRUE
Optional: FALSE
Min: 5
Max: 34
Units: #as defined by the Units parameter
Checksum:
Description: “Checksum (only applicable to ITF2o5 and Code 39
barcodes).”
Type: Bool
Readable: TRUE
Writeable: TRUE
Optional: TRUE
BarWidth:
Description: “The bar width value in units specified.”
Type: Int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: 6
Min: 1
Max: 12
Units: #as defined by the Units parameter
AspectRatio:
Description: “The Aspect Ratio (Wide:Narrow). Only applicable
to ITF2o5 and Code 39 barcodes.”
Type: String
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: 2:1
HumanReadableText:
Description: “Only applicable to EAN8, EAN13, and UPCA
barcodes.”
Type: Bool
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Size / Version:
Description: “Data Matrix Size or QR Code Version.”
Type: Enum
Readable: TRUE
Writeable: TRUE
Optional: FALSE
Default: 21 x 21 (QR) / 22 x 22 (DM ECC200)
ModuleSize:
Description: “The Module Size in multiples of drop size. Only
applicable to QR codes and DMECC200 barcodes.”
Type: Int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: 1
Min: 1
Max: 12
Version:
Description: “The QR Code Version. Only applicable to QR
codes.”
Type: Int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: 1
Min: 1
Max: 8
ErrorCorrection:
Description: “The QR Error Correction. Only applicable to QR
codes.”
Type: Enum
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: L
Values -
L
Description: Low - 7%
M
Description: Medium - 15%
Q
Description: Q - 25%
H
Description: High - 30%
Logo parameters
The following Logo field parameters are used:
Name:
Description: “The name of the logo.”
Type: String
Readable: TRUE
Writeable: TRUE
Optional: FALSE
Data:
Description: “The contents of the logo.”
Type: Base64 data encoded
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Refer to http://en.wikipedia.org/wiki/Base64 for information about Base64 encoded data.
If only a logo name is provided, then that logo must exist on the printer. If both name and
data are provided, a new logo is created on the printer. If a logo with the same name exists
on the printer, it is only overwritten if the ‘Overwrite’ tag in the message header is set.
3.1.17 Image
This command can be used to set or retrieve a bitmap image on the printer.
The command and its parameters are as follows:
---
Image:
Overwrite:
Description: “Used to overwrite the name of the existing
image.”
Type: Bool
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Name:
Description: “The name of the logo.”
Type: String
Readable: TRUE
Writeable: TRUE
Optional: FALSE
Data:
Description: “The content of the image.”
Type: Base64 data
Readable: TRUE
Writeable: TRUE
Optional: FALSE
Format:
Description: “The image format to be used (currently only .bmp
files are supported).”
Type: String
Readable: TRUE
Writeable: TRUE
Optional: TRUE
...
Simple version
The simple version takes a parameter with the command to either request the current print
message name or select a message for printing.
The command and its parameters are as follows:
---
PrintMessage:
Description: “Message Name to be selected for printing.”
Type: String
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: Message_1
Minlen: 1
Maxlen: 32
...
Detailed version
The detailed version of the command and its parameters is as follows:
---
PrintMessage:
Repeat:
Description: “Number of times to repeat the cycle (zero means
print indefinitely).”
Type: Int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Min: 0
Max: MAX_INT
Units: None
Reset:
Description: “Reset source. When triggered, restarts the
sequence.”
Type: String
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Minlen: 1
Maxlen: 32
PrintAll:
Description: “If TRUE, print all messages loaded with their
repeats from one trigger.”
Type: Bool
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Message:
Name:
Description: “Message name to be printed.”
Type: String
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: Message_1
Minlen: 1
Maxlen: 32
Index:
Description: “Message index.”
Type: Int
Readable: TRUE
Writeable: TRUE
Optional: FALSE
Min: 1
Max: TBA
Repeat:
Description: “Repeat print message count.”
Type: Int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: 1 (one print only)
Min: 0
Max: MAX_INT
...
3.1.19 RF
Command Type: Set
Request
This command is used to populate Remote fields in the current message.
NOTE: Remote data downloaded in a single command appears in the print message at the
same time. The same remote data is printed until new data is available.
There are three mutually exclusive formats for the RF command (see below).
Remote fields must not be used at the same time over RCI and SCP.
Users can only add a maximum of ten remote fields to the printer.
3.1.20 Info
Command Type: Request
The command and its parameters are as follows.
Simple query
The command to query for all information is as follows:
---
Info: QY
...
Type query
The command uses the QY keyword to query information by type is as follows. The
response data is shown in the command description.
---
Info:
Printer:
Description: “Printer type.”
Type: String
Readable: TRUE
Writeable: FALSE
Optional: TRUE
Minlen: 1
Maxlen: 255
Build:
Description: “The software build revision.”
Type: String
Readable: TRUE
Writeable: FALSE
Optional: TRUE
Minlen: 1
Maxlen: 255
Firmware:
Description: “The firmware build version.”
Type: String
Readable: TRUE
Writeable: FALSE
Optional: TRUE
Minlen: 1
Maxlen: 255
ID:
Description: “The identity of the printer.”
Type: String
Readable: TRUE
Writeable: FALSE
Optional: TRUE
Minlen: 1
Maxlen: 255
SerialNo:
Description: “The printer serial number.”
Type: String
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Minlen: 1
Maxlen: 255
Configuration:
Description: “The configuration code.”
Type: String
Readable: TRUE
Writeable: FALSE
Optional: TRUE
Minlen: 1
Maxlen: 255
Network:
Description: “The printer IP Address.”
Type: String
Readable: TRUE
Writeable: FALSE
Optional: TRUE
Minlen: 1
Maxlen: 255
Resources:
Description: “The memory resources on the printer.”
Type: String
Readable: TRUE
Writeable: FALSE
Optional: TRUE
Minlen: 1
Maxlen: 255
Maintenance:
Description: “Running times and service due data.”
Type: Int
Readable: TRUE
Writeable: FALSE
Optional: TRUE
Minlen: 0
Maxlen: 255
...
3.1.21 Comms
Command Type: Set
Request
This command is used to set up or retrieve SCP settings.
SCP settings are stored as an array of connections, each of which has a unique, identifying
name. The special name ‘COM’ is given to the connection associated with the serial port
and is automatically assigned to the serial connection at power up. For systems that have
fixed IP addresses, use of a name in standard decimal dot format (for example,
192.168.1.255) automatically associates that named connection with the incoming client
connection if the IP address of the client matches. Similarly, if the client has a host name that
is available via a lookup on the name server of the network, then an identically named
connection is used for the settings of the incoming client. It is also possible to use the
Connection command to explicitly assign the named connection to the incoming client.
The command and its parameters are as follows:
---
Comms:
Connection:
Name:
Description: “The unique name for the connection.”
Type: String
Readable: TRUE
Writeable: TRUE
Optional: FALSE
Minlen: 1
Header:
Description: “The characters used to start a command
document.”
Type: String
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: "---\n"
Minlen: 1
Maxlen: 3
Footer:
Description: “The characters used to end a command
document.”
Type: String
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: "\n…"
Minlen: 1
Maxlen: 3
Active:
Description: “Shows whether the connection is currently
being used.”
Type: Bool
Readable: TRUE
Writeable: FALSE
Optional: TRUE
Timeout:
Description: “The idle timeout value after which period the
connection is closed.”
Type: Integer
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Minlen: MIN_INT
Maxlen: 0 (No timeout is applied)
Security:
Description: “The security level associated with the
connection.”
Type: Enum
Readable: TRUE
Writeable: FALSE
Values -
NoAccess
Basic
Advanced
Service
AsyncEvents:
PDelay:
Description: “Enable or disable the Print Delay event.”
Type: Bool
Readable: TRUE
Writeable: TRUE
Optional: TRUE
PGo:
Description: “Enable or disable the Print Go event.”
Type: Bool
Readable: TRUE
Writeable: TRUE
Optional: TRUE
PEnd
Description: “Enable or disable the Print End event.”
Type: Bool
Readable: TRUE
Writeable: TRUE
Optional: TRUE
...
NOTE: It is not possible to set a security level that is different from the level for the current
session. This prevents users creating a session with higher privileges, and then
switching to that session.
The response to a command that sets the header or footer strings uses the new set values. If
the command is successful, subsequent commands and responses use the new values.
3.1.22 PrintImage
Command Type: Request
The command requests a bitmap image of the current message being printed.
The command and its parameters are as follows:
---
PrintImage:
Xoff:
Description: “X Start position of snapshot.”
Type: Int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: 0
Min: 0
Max: MAX_INT
Yoff:
Description: “Y Start position of snapshot.”
Type: Int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: 0
Min: 0
Max: MAX_INT
Width:
Description: “Snapshot width.”
Type: Int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: # Message width
Min: 0
Max: MAX_INT
Height:
Description: “Snapshot height.”
Type: Int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: # Message height
Min: 0
Max: MAX_INT
Data:
Description: “Image data.”
Type: Binary
Readable: TRUE
Writeable: FALSE
Optional: TRUE
...
3.1.23 PowerDown
Command Type: Set
This command is used to power down the printer. If the PowerDown command parameter
is set to FALSE,the command is acknowledged. If the printer cannot execute the command
because it does not support a software powerdown, the response to a TRUE parameter value
is ‘Unsupported command’.
The command and its parameters are as follows:
---
PowerDown:
Description: “Power down now”
Type: Boolean
Readable: TRUE
Writeable: TRUE
Optional: FALSE
...
3.1.24 Connection
Command Type: Set
The command and its parameters are as follows:
---
CommsReset:
Description: “Assign the named connection parameters to this
connection.”
Type: String
Readable: TRUE
Writeable: FALSE
Optional: FALSE
...
3.1.25 Consumables
Command Type: Request
This command is used to read or reset the consumables history data on the printer.
The command and its parameters are as follows:
---
Consumables:
Ink:
Bottles:
Description: “Number of ink bottles used.”
Type: Int
Readable: TRUE
Writeable: FALSE
Optional: TRUE
Min: 0
Max: MAX_INT
RecentBottles:
Description: “Ink bottles used per month.”
Type: Float
Readable: TRUE
Writeable: FALSE
Optional: TRUE
Min: 0
Max: MAX_FLOAT
Units: Bottles per month
UsageRate:
Description: “Ink usage rate.”
Type: Float
Readable: TRUE
Writeable: FALSE
Optional: TRUE
Min: 0
Max: MAX_FLOAT
Units: Millilitres per hour
Solvent:
Bottles:
Description: “Number of solvent bottles used.”
Type: Int
Readable: TRUE
Writeable: FALSE
Optional: TRUE
Min: 0
Max: MAX_INT
Recent:
Description: “Solvent bottles used per month.”
Type: Float
Readable: TRUE
Writeable: FALSE
Optional: TRUE
Min: 0
Max: MAX_FLOAT
Units: Bottles per month
Usage:
Description: “Solvent usage rate.”
Type: Float
Readable: TRUE
Writeable: FALSE
Optional: TRUE
Min: 0
Max: MAX_FLOAT
Units: Millilitres per hour
Reset:
Description: “Used to reset the consumables calculation.”
Type: Boolean
Readable: FALSE
Writeable: TRUE
Optional: FALSE
ServiceModule:
Remaining:
Description: “Percentage remaining for the service module.”
Type: Float
Readable: TRUE
Writeable: FALSE
Optional: TRUE
Min: 0
Max: MAX_FLOAT
Units: None
...
3.1.26 Events
Command Type: Request
This command is used to return the current events and/or the event history of the printer.
The command and its parameters are as follows:
---
Events:
Current:
Description: “List of current events.”
Type: String List
Readable: TRUE
Writeable: FALSE
Optional: TRUE
History:
Description: “Event history.”
3.1.27 Setup
This command is used to configure installation parameters on the printer.
The command and its parameters are as follows:
---
Setup:
ConfigCode:
Description: “The configuration code.”
Type: String
Readable: TRUE
Writeable: TRUE
Optional: TRUE
PowerSave:
OnShutdown:
Description: “Powerdown occurs immediately after the jet is
shut down.”
Type: Bool
Readable: TRUE
Writeable: TRUE
Optional: TRUE
DelayOnIdle:
Description: “Powerdown if printer is idle for more than
this delay. Zero means ignore.”
Type: Int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Values -
Default: 0
Min: 0
Max: MAX_INT
Units: minutes
DelayOnPrinting:
Description: “Powerdown if printer is in running mode for
more than this delay. Zero means ignore.”
Type: Int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Values -
Default: 0
Min: 0
Max: MAX_INT
Units: minutes
PrinterName:
Description: “The name of the printer.”
Type: String
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Ink:
Description: “The ink to be selected.”
Type: String
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Solvent:
Description: “The solvent to be selected.”
Type: String
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Keyboard:
Primary:
Description: “The primary keyboard type.”
Type: Enum
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Secondary:
Description: “The secondary keyboard type.”
Type: Enum
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Locale:
Description: “The user interface locale of the printer.”
Type: Enum
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Hardware:
Photocell:
PCellType:
Description: “The type of photocell being used.”
Type: Enum
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Values -
NPN
PNP
DeadTime:
Description: “The photocell deadtime.”
Type: Int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Min: 0
Max: 5
Units: ms
EncoderVoltage:
Description: “The shaft encoder voltage.”
Type: Enum
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Values -
5V
24V
PrintheadHeight:
Description: “The printhead height.”
Type: Int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Min: -1000
Max: 1000
Units: mm
RemoteField:
Order:
Description: “The ordered list of remote fields.”
Type: String List
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Mode:
Description: “Print Mode.”
Type: String List
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: Continuous
Values -
Single
Continuous
Buffers:
Description: “Number of buffered fields per remote field.”
Type: Int
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: 0
Min: 0
Max: 10
ClearBuffers:
Description: “Clear all remote buffers, including message
on stop print.”
Type: Bool
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: False
OnFailure:
Description: “Action to take when no remote data is
available to print.”
Type: Enum
Readable: TRUE
Writeable: TRUE
Optional: TRUE
Default: WarnAndIgnore
Values -
WarnAndIgnore
WarnAndPausePrint
...
3.1.28 UserLevel
Command Type: Set
This command sets up the access level or user for a SCP session.
The possible user values are those names listed on the Select User screen accessed from the
User Login option on the Main Menu screen (these include the OPERATOR and
SUPERVISOR users, plus any other users that have been created on the printer). User PIN
codes for SCP are the same as the PIN codes for the specific printer user.
When the UserLevel command is executed with valid User and PIN parameters, a SCP
session uses the access level associated with that user.
The command and its parameters are as follows:
---
UserLevel:
User:
Description: “The user.”
Type: String
Readable: FALSE
Writeable: TRUE
Optional: FALSE
PIN:
Description: “The PIN code of the user.”
Type: String
Readable: FALSE
Writeable: TRUE
Optional: FALSE
...
Readable: TRUE
Writeable: TRUE
Optional: TRUE
PGo:
Description: “Enable or disable the Print Go event.”
Type: Bool
Readable: TRUE
Writeable: TRUE
Optional: TRUE
PEnd:
Description: “Enable or disable the Print End event.”
Type: Bool
Readable: TRUE
Writeable: TRUE
Optional: TRUE
...
3.1.30 Summary
Command Type: Request
This command is used to return a list of the currently available commands.
The command and its parameters are as follows:
---
Summary:
Description: “Returns a list of the currently available SCP
commands.”
Type: String list
Readable: TRUE
Writeable: FALSE
Optional: FALSE
...
3.1.31 Print
Command Type: Set only
This command is used to trigger a print. The command is only accepted only if the printer is
in the ‘Printing’ state and the trigger option is set to ‘Manual’.
The command and its parameters are as follows:
---
Print:
Description: “Used to trigger a print.”
Type: Bool
Readable: TRUE
Writeable: TRUE
Optional: FALSE
...
Mode:
LineSpeed:
EncoderPitch:
...
Mod:
SolventAdd:
HeadTemp:
...
Orientation:
Rotation:
HFlip:
VFlip:
Printer:
Type:
Pitch:
Horizontal
Vertical
HorizontalAdj
VerticalAdj
PromptOrder:
Gap
Line:
Field:
Name:
Type:
Visible:
Negative:
Locale:
Bold:
X:
Y:
Position:
X:
Y:
Font:
Name:
Size:
Units:
Rotation:
Parameters: See ‘Message field parameters’ on page 89.
...
A.18 RF command
---
RF:
RemoteName:
...
Resources:
Maintenance:
...
User:
PIN:
...
SUPPORTED LOCALES
Language Locale String
English en_GB
Arabic (Egypt) ar_EG
Arabic (Lebanon) ar_LB
Bulgarian bg_BR
Croatian hr_HR
Czech cs_CZ
German de_DE
Danish da_DK
Greek el_GR
Spanish es_ES
Farsi (Persian) fa_IR
Finnish fi_FI
French fr_FR
Hebrew he_IL
Hindi hi_IN
Hungarian hu_HU
Italian it_IT
Japanese ja_JP
Korean ko_KR
Norwegian nb_NO
Dutch nl_NL
Polish pl_PL
Portuguese bt_BR
Romanian ro_RO
Russian ru_RU
Slovenian sl_SI
Swedish sv_SE
Thai th_TH
SUPPORTED LOCALES
Language Locale String
Turkish tr_TR
Vietnamese vi_VN
Chinese zh_CN
Traditional Chinese zh_TW
All of the above locales are supported by the printer and are applicable to the date and time
fields in a SCPMessage.
NOTE: For sequential number fields, only the English, Arabic (Egypt), Arabic (Lebanon),
and Hindi locales are supported.
APPENDIX C: PRINTER
COMMUNICATIONS SETUP
This appendix describes how to configure compatible Linx printers for SCP remote
communications.
C.1.1 RS-232
Use a 9-pin crossover cable to connect your remote device to the printer.
The default R-232 hardware configuration is as follows:
• Baud rate: 115200
• Data bits: 8
• Parity: None
• Stop Bits: 1
• Flow Control: None
C.1.2 Ethernet
Use an Ethernet cable (RJ-45) to connect your remote device to the printer. You can use a
Telnet client or custom application to connect to port 29044 to establish a SCP connection.
NOTE: The SCP option on the Communications screen is only enabled if you have
Advanced printer security access rights for the Communications printer functions
(see ‘Security’ on page 10).
Select the SCP option to display the SCP Connections screen. A list of connection session
names is displayed. There are initially two connection sessions on the printer—RS232, the
default RS-232 SCP connection, and Any Ethernet, the default Ethernet SCP connection. If
Ethernet is not configured on the printer, only the RS232 connection session is displayed.
40396
To add an Any Ethernet SCP connection, touch the Add button. The Add SCP Connection
screen is displayed.
40397
• Hardware Setup—This option is only visible if you edit the RS-232 connection session.
Select this option to display the Hardware Setup screen.
40398
Message rw rw rw rw rw rw X X rw rw
Image rw rw rw rw rw rw X X rw rw
PrintMessage rw rw rw rw rw rw X rw rw rw
RF rw rw rw rw rw rw X rw rw rw
Info ro ro ro ro ro ro X X ro ro
Comms rw rw rw ro rw rw X X rw rw
PrintImage ro ro ro ro ro ro X X ro ro
PowerDown wo X X X X wo X X wo wo
Consumables rw ro ro ro ro ro X X rw rw
Events ro ro ro ro ro ro X X ro ro
Setup rw ro ro ro ro ro X X rw rw
Key:
ro—Read Only
wo—Write Only
wr—Read/Write
x—No Access
NOTE: Both printer state and security level must be set for a read or read/write operation.
For example, both must be Read for a read operation to be valid and both must be
Write for a write operation to be valid.