Communication Protocol
User Guide
CONTENTS
Page
GENERAL ............................................................................................................................................................. 7
CHANGES COMPARED TO DYNAMARK 2 SOFTWARE VERSIONS ..................................................... 7
MULTI HEAD INTEGRATION ......................................................................................................................... 8
INTERFACE CONFIGURATION ..................................................................................................................... 8
TESTING THE TCP/IP INTERFACE FROM A REMOTE PC WITH MS WINDOWS....................................................... 8
TESTING THE RS232 INTERFACE FROM A REMOTE PC WITH MS WINDOWS ..................................................... 10
TUTORIAL ......................................................................................................................................................... 12
SIMPLE INTERFACE COMMUNICATION .............................................................................................................. 12
TRANSACTIONS ................................................................................................................................................. 14
HOW TO USE MESSAGES.................................................................................................................................... 15
COMMAND REFERENCE ............................................................................................................................... 16
GENERAL .......................................................................................................................................................... 16
ASSIGNPARAMSET ...................................................................................................................................... 17
BACKUP.......................................................................................................................................................... 18
BEGINTRANS ................................................................................................................................................ 19
BUFFERCLEAR .............................................................................................................................................. 20
BUFFERDATA................................................................................................................................................ 21
BUFFERCONFIG ............................................................................................................................................ 22
BUFFERREVOKE........................................................................................................................................... 23
DELETEFILE .................................................................................................................................................. 24
DISABLEFORWARDING .............................................................................................................................. 25
ENABLESECTION ......................................................................................................................................... 26
EXECTRANS .................................................................................................................................................. 27
GETBUFFERSTATUS .................................................................................................................................... 28
GETCO2ONPULSEOFFSET .......................................................................................................................... 29
GETCODINGFILE .......................................................................................................................................... 30
GETCODINGLINE ......................................................................................................................................... 31
GETCOUNT .................................................................................................................................................... 32
GETCOUNTERVALUE .................................................................................................................................. 33
GETCURRENTPROJECT ............................................................................................................................... 34
GETDATA ....................................................................................................................................................... 35
GETDATE ....................................................................................................................................................... 36
GETDIGITALIN .............................................................................................................................................. 37
GETENCODERDELAY .................................................................................................................................. 38
GETFIELD ....................................................................................................................................................... 38
GETFIELDROTATION .................................................................................................................................. 40
GETFONTS ..................................................................................................................................................... 41
GETHPGL........................................................................................................................................................ 42
GETLANGUAGE ............................................................................................................................................ 43
GETMARKMODE .......................................................................................................................................... 44
GETMARKTIMESTATISTICS ...................................................................................................................... 45
GETOBJECTS ................................................................................................................................................. 46
GETPARAM .................................................................................................................................................... 47
GETPARAMSETS........................................................................................................................................... 49
GETPARSEDTEXT......................................................................................................................................... 50
GETPOSITIONOFFSET ................................................................................................................................. 51
GETPRINTCOUNTER .................................................................................................................................... 52
GETPRINTERID ............................................................................................................................................. 53
GETPROJECTS ............................................................................................................................................... 54
GETSTATUS ................................................................................................................................................... 55
GETSYSTEMCOUNTER................................................................................................................................ 57
GETTEXT ........................................................................................................................................................ 58
GETVARIABLES ............................................................................................................................................ 59
GETVARLIST ................................................................................................................................................. 60
L027952 Issue 5 July 2014
3
General
The interface to the Dynamark software is based on TCP/IP via Ethernet. It is also possible to
use the UTF8 based protocol via RS232-connection (null modem).
With separate gateway tools it is possible to use this interface with a different protocol or using
other hardware interfaces (e.g. Databases, PLCs). These tools are background services responsible
for forwarding messages from one interface and protocol to another.
Interface Configuration
The interface can be configured in the settings area of the Dynamark software.
Below that key locate three different sections the general settings, the TCP/IP interface settings
and the RS232 interface settings.
To change one or other interface, check the enable checkbox and apply the change with OK
the changes will be applied immediately.
As the network protocol has been configured a TELNET client can now be started such as
TELNET.EXE or HYPERTERMINAL which again comes with MS WINDOWS. In the
following we describe how to set up a TCP/IP socket-connection to the laser controller using
HYPERTERMINAL:
This application can be found (if installed) in the start menu of MS Windows in "Programs" /
"Accessories" / "Communications". Enter a new connection by giving any name to the
connection and selecting TCP/IP in the "Connect Using" section. As "Host Address" please
enter the IP address of the laser controller and as "Port Number" the number configured in the
laser controller (20000 by default).
After applying these settings navigate to the ASCII Setup (it can be accessed by the Properties
entry of the File-menu and the "Settings" button in this dialog). It has to be configured as follows:
Send line ends with line feeds:
Append line feeds to incoming line ends:
Wrap lines that exceed terminal width:
yes
yes
yes
Now press the CONNECT button of the HYPERTERMINAL toolbar and should be
connected to the laser controller; you can now enter the commands as described in the following
chapters.
10
yes
yes
yes
Press the CONNECT button of the HYPERTERMINAL toolbar and should be connected to
the laser controller. Start entering the commands as described in the following chapters.
Tutorial
Simple Interface Communication
In the previous chapter it was shown how to set up a connection between a remote peer and
the laser controller.
Ensure that the connection is working properly by entering any character which shall reappear
at once as echo from the laser controller (as long as the echo is turned on).
If you press ENTER (which should be configured as carriage-return plus linefeed) without
previously entering a command an error message (ERROR nnnn) will appear.
Now it is time to try some remote control commands.
As a first step, load different previously stored marking layouts into the controller:
Create three different messages and store them in the selected message store using the names 1,
2 and 3.
Now enter in the remote terminal:
LOADPROJECT store:/1 [ENTER]
OK
LOADPROJECT store:/2 [ENTER]
OK
LOADPROJECT store:/3 [ENTER]
OK
t can now be seen that different outputs can be opened from a remote peer. Also check that an
error (ERROR 9) will be returned when trying to load a message that does not exist.
Now try another example:
Create a fourth message called "My Example" and try to load it again:
LOADPROJECT store:/My Example [ENTER]
ERROR 2
This example did not work as expected because we gave one parameter (the filename) as two
(the space character separates commands and parameters). In these cases (or always if wanted),
use the "-character; so the correct way would be:
LOADPROJECT "store:/My Example" [ENTER]
OK
The next step will normally be to enable marking on such a message that has been successfully
loaded into the laser controller here we need to use the MARK-command. Try the following:
LOADPROJECT store:/1 [ENTER]
OK
MARK START [ENTER]
OK
This example loads message 1 from the selected message store and enables marking.
12
14
SETMSG 2 1 [ENTER]
OK
Now after every print start, a notification will be provided. e.g. the following results will be provided after having
triggered three prints::
MSG 2
MSG 2
MSG 2
Refer to Appendix C to obtain further runtime information from the laser controller.
General
The protocol is UTF-8-based. Every command starts with its token which can be of different
length (e.g. SETTEXT), followed by additional parameters (separated from each other using
blanks; if needed, a parameter can be quoted using ) and terminated by a Carriage-Return and
a Linefeed character.
If the echo is turned on (default) the laser software will send back every line it receives, in
addition to any responses it generates itself, even if the content of the line is not understood or
generates an error. If you are sending large amounts of data (e.g. with SETXML), you should
turn off the echo.
Attention: It is important to understand that the interface protocol expects that the client
application waits until the responses to commands are received - this means that it is not
permissible for a client application to send the next command while the laser software is still
sending the response to the previous command!
16
ASSIGNPARAMSET
Command
ASSIGNPARAMSET <destination> <source>
Description
Assigns the settings of the parameter set <source> to the parameter set <destination>.
This can be used if you have a lot of objects within your message for which the laser parameters have to
be modified without reassigning the name of the parameter set to all objects.
Attention: The settings of the destination parameter set will be overwritten!
Parameter Description
destination
source
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
assigns all the parameters of the parameter set "Fast" to the parameter set "Slow"
See also:
GETPARAMSETS
Multi Head Extension:
Fault:
Generates backup containing data as specified in the mode-parameter and stores this data
under the path that is given as second parameter (write access grants needed).
Parameter Description
mode
File-I/O-
please refer to
the remote logging server functionality.
mode=2 (status log export)
please refer to
the remote logging server functionality.
path
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
creates a complete system backup and stores it into the folder \hard disk\data.
See also:
RESTORE
Multi Head:
Not supported
18
BEGINTRANS
Command
BEGINTRANS
Description
Starts a transaction.
All the transaction-commands following will be added to the transaction-list instead of their
immediate execution.
The transaction list will be executed by sending the EXECTRANS-command. If a
ROLLBACKTRANS-command is sent, all commands within the list are removed without any
additional action.
Transactions are normally used for performance-reasons as the marking layout will not be recompiled and
transferred to the marking engine while the commands of the list are executed. This saves compilation
time and prohibits the laser to print half of the old data and half of the new if triggered while the update
takes place.
The result of BEGINTRANS can only be OK if no previously started transaction is still open
(transactions are automatically closed with a ROLLBACKTRANS if the connection gets lost).
Parameter Description
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
BEGINTRANS
LOADPROJECT "BILBO.DPRJ"
SETTEXT "Hometown" "Hobbingen"
MARK START
EXECTRANS
This example loads the message BILBO.DPRJ, sets the contents of a text-object called "Hometown" to
"Hobbingen" and enables marking.
See also:
EXECTRANS, ROLLBACKTRANS
Multi Head Extension:
Fault:
BUFFERCLEAR
Command
BUFFERCLEAR
Description
This command clears all records from the remote queue (filled with the BUFFERDATA command). It
works similarly to BUFFERREVOKE, i.e. it sends out MSG 31 notifications for discarded records.
Parameter Description
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
No
See also:
20
BUFFERDATA
Command
BUFFERDATA <ID> <text 1> ... <text n>
Description
This command inserts a record into the remote queue.
For synchronization purposes, every record can be provided with a unique, numeric ID that will be
returned by the messages 25, 27 and 31. If not needed, the ID can be set to -1 in order to automatically
generate these IDs internally.
If you use the automatic ID generation (ID=-1) there is a limitation of 9999 records that can be
preloaded.
Parameter Description
ID
text
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
BUFFERCONFIG
Command
BUFFERCONFIG <option> <value>
Description
This command configures the remote queue.
Parameter Description
Option
Option to set
Value
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Dynamark 3.2
Options:
maximum_record_age
Examples:
BUFFERCONFIG maximum_record_age 60
This example causes Dynamark to automatically discard any record older than one minute.
See also:
22
BUFFERREVOKE
Command
BUFFERREVOKE <function> <parameters..>
Description
This command deletes an entry from the remote queue. It will then send an according notification that
the record was discarded (MSG 31) or, if that happened earlier, that it was printed (MSG 25).
Note:
This command is only available if the feature key for the feature Remote Queue Enhancements is
inserted into the laser controller!
Parameter Description
function
parameters
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
No
Dynamark 3.2
Functions:
record <ID>
maximum_record_age <age>
Examples:
BUFFERREVOKE maximum_record_age 60
BUFFERREVOKE record 2
DELETEFILE
Command
DELETEFILE <url>
Description
This command deletes a file from the compact flash storage of the laser controller.
The file must be specified with full path, e.g. \hard disk\domino\filecoding\codes.txt
Parameter Description
url
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Dynamark 3.7.0.25
Examples
24
DISABLEFORWARDING
Command
DISABLEFORWARDING <mode>
Description
The interface messaging engine forwards all commands sent to DYNAMARK via RS232 or
TCP/IP to all subscribers of MSG 19.
This command prohibits/re-allows the interface messaging engine to forward commands sent
from this connection (this means that other remote clients will not know what this client
sends)
Parameter Description
Mode
mode=1:
commands that are sent from this client will
not be forwarded to other clients via MSG 19.
mode=0:
forwarded to other clients via MSG 19 (default)
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
DISABLEFORWARDING 1
Ensures that other clients cannot listen to the commands sent from this client via MSG 19
See also:
MSG 19
Multi Head Extension:
No differences to the description above (will be sent to the primary controller only).
This command has been implemented to enable or disable a set of objects (called section) for
marking.
A section is a set of objects whose names all begin with the same character the section
name.
Parameter Description
section
enable
enable=0:
marked
enable=1:
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
yes
Examples
Assumption: A message containing the text objects named S1DLG, S1Domino, Text1,
S2DLG.
ENABLESECTION S1 1
enables marking for all objects which names begin with S1 (e.g. S1DLG, S1Domino; it will not enable
Text1, S2DLG etc.)
See also:
26
EXECTRANS
Command
EXECTRANS
Description
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
BEGINTRANS
LOADPROJECT "store:/BILBO"
SETTEXT "Hometown" "Hobbingen"
MARK START
EXECTRANS
This example loads the message BILBO, sets the contents of a text-object called "Hometown" to
"Hobbingen" and enables mark-mode.
See also:
BEGINTRANS, ROLLBACKTRANS
Multi Head Extension:
Fault:
GETBUFFERSTATUS
Command
GETBUFFERSTATUS
Description
Use of this command obtains the number of data records in memory of the laser controller
still to be printed.
Attention: This feature can only be used if remote data coding is enabled.
Parameter Description
Result Description:
Success:
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
GETBUFFERSTATUS
RESULT GETBUFFERSTATUS 3
The result of this request shows that the laser still has 3 prints in memory to be printed.
See also:
BUFFERDATA, BUFFERCLEAR, MSG 27
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).
28
GETCO2ONPULSEOFFSET
Description
This command requests the current system global offset for the CO2 laser on pulse (absolute
laser power offset).
ATTENTION:
This offset should only be used very carefully for very special applications (for internal use by
the Domino Printing Sciences plc only)
Parameter Description
Result Description:
Success:
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
GETCO2ONPULSEOFFSET
RESULT GETCO2ONPULSEOFFSET -5
The result of this request shows that the laser-on-pulse has been reduced by 5 s.
See also:
SETCO2ONPULSEOFFSET
Fault:
GETCODINGFILE
Command
GETCODINGFILE
Description
This command returns the name of the coding file for the currently selected message and the
number of codes that are used for one print. The file coding feature must already be turned
on.
Remote data coding will return an empty string as parameter.
Parameter Description
Result Description:
Success:
Fault:
ERROR <no>
Properties:
Transaction-Command
No
See also:
SETCODINGFILE
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).
30
GETCODINGLINE
Command
GETCODINGLINE
Description
Use of this command obtains the current line number in the file that is used for file coding.
Result Description:
Success:
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Dynamark 3.7.0.25
Examples
GETCODINGLINE
RESULT GETCODINGLINE 41
See also:
SETCODINGLINE
Multi Head Execution:
Not supported
GETCOUNT
Command
GETCOUNT <Counter-ID>
Description
Result Description:
Success:
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
GETCOUNT 3
RESULT GETCOUNT 3 145
See also:
SETCOUNT
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).
32
GETCOUNTERVALUE
Command
GETCOUNTERVALUE <Counter-ID>
Description
Result Description:
Success:
RESULT GETCOUNTERVALUE
<Counter-ID> <Value>
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
GETCOUNTERVALUE 3
RESULT GETCOUNTERVALUE 3 145
See also:
SETCOUNTERVALUE
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).
GETCURRENTPROJECT
Command
GETCURRENTPROJECT
Description
Determines the URI of the current message active in the marking engine.
The command returns an error if no message has been loaded.
If a new message has been created that is not yet saved or if the message was loaded with SETXML, the
command returns an empty string. The syntax of the returned URI is the same as the one used by
LOADPROJECT and SAVEPROJECT.
Parameter Description
Result Description:
Success:
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
GETCURRENTPROJECT
RESULT GETCURRENTPROJECT "store:MsgStore1/hobbingen"
The result of this example shows that the current message is "hobbingen" located in the message store
MsgStore1.
See also:
LOADPROJECT, SAVEPROJECT
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).
34
Data-ID
Result Description:
Success:
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
The result of this example shows that the DYNAMARK II object "Text 1" within the currently loaded
message is located at x-position 14.10mm.
See also:
SETDATA, Appendix B
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).
GETDATE
Command
GETDATE
Description
Gets time/date of the system
Attention:
This command works without handshake for high-precision-timings, contact the Domino Printing
Sciences plc for assistance.
Parameter Description
Result Description:
Success:
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
GETDATE
RESULT GETDATE 13 45 00 2004 09 02
SETDATE
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).
36
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
GETDIGITALIN
RESULT GETDIGITALIN 000000000000004b
The result of this example shows that the following digital inputs of the laser controller are set to highstate: I00, I01, I03, I06
See also:
SETDIGOUT
Multi Head Extension:
Success:
Fault:
GETENCODERDELAY
Command
GETENCODERDELAY <global>
Description
Determines the current setting of the encoder delay.
Parameter Description
global
Result Description:
Success:
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
GETENCODERDELAY
RESULT GETENCODERDELAY 1000
The result of this example shows that the global encoder-delay is set to 1000.
See also:
SETENCODERDELAY
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).
GETFIELD
38
RESULT GETFIELD <F-Xmin> <F-Xmax> <FYmin> <F-Ymax> <U-Xmin> <U-Xmax> <UYmin> <U-Ymax> <Fields> <Origin>
With
<F...>:
<U...>:
<Fields>:
<Origin>:
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
GETFIELD
RESULT GETFIELD -20.3 20.3 -20.3 20.3 -25 25 -25 25 -1 0
A symmetric square field with a side length of 40.6 mm for the full and 50 mm for the usable field. One
field is set, no mark on the fly (hence static print).
See also:
RESULT GETFIELD <F-Xmin> <F-Xmax> <FYmin> <F-Ymax> <U-Xmin> <U-Xmax> <UYmin> <U-Ymax> <Fields> <Origin>
<printer name>
Fault:
GETFIELDROTATION
Command
GETFIELDROTATION
Description
This command is used for getting the rotation angle of the marking field.
+ (Positive value): rotate clockwise
- (Negative value): rotate anticlockwise
Parameter Description: None
Result Description:
Success:
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
Example1: Get the angle of the field rotation
getfieldrotation
RESULT GETFIELDROTATION 3.5
The above result means the marking field rotates 3.5 in the clockwise direction
See also:
SETFIELDROTATION
Multi Head Extension:
No differences to the description above (will be sent to the primary controller only)
40
GETFONTS
Command
GETFONTS
Description
Determines all fonts available on the laser controller formatted as a list of strings.
Parameter Description
Result Description:
Success:
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
GETFONTS
RESULT GETFONTS "1LS-Arabic" "1LS-Arial-fast" "1LS-Arial-Kap" "1LS-Arial" "1LS-C
yril" "1LS-Greek" "1LS-Japanese-Generic" "1LS-OCR-A" "1LS-OCR-B-10 BT" "1LSPET-NoCross" "1LS-Rom" "1LS-Script" "2LCS-Helvetica" "2LS-Arial" "2LS-Folio" "2LSHebrew" "2LS-Romi" "3LCS-Cyrillic" "3LS-Arial" "3LS-Rom" "3LS-Romi" "3LS-Script"
"5LS-Arial" "7LS-Arial Heavy 775"
The result of this example shows all the names of the fonts installed on the laser controller.
See also:
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).
Result Description:
Success:
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
As result of this example the message contents will be converted into HPGL and written into the file
"example.plt" which is located in the folder \hard disk\data.
See also:
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).
42
GETLANGUAGE
Command
GETLANGUAGE
Description
Obtains the system internal ID for the language used for the user-interface.
Within the user-interface of this can be changed via the localization menu.
The following IDs are currently defined:
D
German
DK
Danish
E
Spanish
F
French
GB
English
H
Hungarian
I
Italian
J
Japanese
NL
Dutch
P
Portuguese
PL
Polish
PRC Simplified Chinese
RC
Traditional Chinese
ROK Korean
RUS Russian
S
Swedish
Parameter Description
Result Description:
Success:
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
GETLANGUAGE
RESULT GETLANGUAGE H
The result of this example shows that the user interface of the laser software is currently configured to
Hungarian language.
See also:
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).
GETMARKMODE
Command
GETMARKMODE
Description
Determines the current state of the marking engine on the laser controller.
Parameter Description
Result Description:
Success:
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
GETMARKMODE
RESULT GETMARKMODE 1
This example tells the remote peer that the marking engine is currently enabled.
See also:
No differences to the description above (will be sent to the primary controller only).
44
GETMARKTIMESTATISTICS
Command
GETMARKTIMESTATISTICS
Description
Determines the precalculated values for the mark time, number of vectors and (if mark on the fly is
enabled) the current and maximum speed values.
ATTENTION:
The values are precalculations and may not reflect 100% reality; also it is very important to know that the
precalculation is only done once while enabling mark so if the marking contents/parameters are changed
while marking is enabled this command will not reflect that change.
Parameter Description
Result Description:
Success:
RESULT GETMARKTIMESTATISTICS
<polygons> <vectors> <print-time>
[<current-speed> <max-speed>]
polygons: number of polygons in the layout
vectors: number of vectors in the layout
print-time: time in ms precalculated for the print
(optimal print in continuous mode)
current-speed: current product speed in m/min
(only if mark-on-the-fly or continuous mark is
enabled)
max-speed: maximum possible product speed in
m/min (only if mark-on-the-fly or continuous mark
is enabled)
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
GETMARKTIMESTATISTICS
RESULT GETMARKTIMESTATISTICS 80 102 510 0.0 18.2
This example tells the remote peer that the message contains 80 polygons, 102 vectors and will take about
510ms ideal mark time.
The current speed of the product is 0m/min and the maximum possible speed is 18.2m/min.
See also:
RESULT GETMARKTIMESTATISTICS
<polygons> <vectors> <print-time>
[<current-speed> <max-speed>] <printer name>
Fault:
Result Description:
Success:
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
For the following two examples we assume to have a message uploaded in the marking engine containing
2 MRCs called "Barcode 1" and "Barcode 2", 2 Texts called "Text 1" and "Text 2" and 1 arc object
called "Arc 1".
In the first example we request the names of all MRC objects within the message:
GETOBJECTS "CObjBarcode"
RESULT GETOBJECTS "Barcode 1" "Barcode 2"
In the second example we request the names of all objects within the message:
GETOBJECTS
RESULT GETOBJECTS "Barcode 1" "Text 1" "Text 2" "Arc 1" "Barcode 2"
See also:
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).
46
This command is used for getting setup and runtime parameters of the printer
Parameter Description
1) Parameters about serial number
SerialnoController
SerialnoLaser
SerialnoScanner
Host name
NetworkAddress n
NetworkDNS n
MacAddress n
Result Description:
Success:
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
Example1: Get serial number of the controller
getparam serialnocontroller
RESULT GETPARAM SERIALNOCONTROLLER Controller1
Example2: Get network address of the adapter 0
getparam networkaddress 0
RESULT GETPARAM NETWORKADDRESS 0 192.168.55.52 255.255.255.0
192.168.55.51
The above result describes the network address of the adapter 0. Its IP address is 192.168.55.52, subnet
mask is 255.255.255.0 and gateway is 192.168.55.51. If there are more than one IP addresses, Masks and
gateways, they will not be listed in the result.
Example3: Get Mac address of the adapter 1
getparam macaddress 1
RESULT GETPARAM MACADDRESS 1 00E04B27DB07
The Mac address of the adapter 1 is 00E04B27DB07. All the mac addresses will be return as 12-digit
numbers.
Example4: Get power calibration factor
L027952 Issue 5 July 2014
47
SETPARAM
Multi Head Extension:
No differences to the description above (will be sent to the primary controller only)
48
GETPARAMSETS
Command
GETPARAMSETS
Description
Determines all parameter sets globally available in the system as a list of strings.
Please note that this command will not return message-local parameter sets.
Parameter Description
Result Description:
Success:
Fault:
ERROR <no>
Properties:
Transaction-Command
No
Examples
GETPARAMSETS
RESULT GETPARAMSETS "Default" "New Delay 1" "New Delay 2"
The result of this example shows that there are 3 global parameter sets called "Default", "New Delay 1"
and "New Delay 2".
See also:
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).
GETPARSEDTEXT
Command
GETPARSEDTEXT <object>
Description
Requests the text contents of the specified text or MRC object.
Dynamic text-contents like counters, clocks, inserts etc. will be parsed and returned as current value. Line
breaks will be substituted with "<10>" as they are usually displayed within the properties-list of the userinterface.
Please note that this command will not return an automatically calculated checksum on MRC objects.
Parameter Description
object
Result Description:
Success:
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
For the following example we assume to have a message loaded with a text object called "Text 1" which
has been configured to use special counter 1 and seconds-display in two lines of text. The first example
shows the unparsed contents of the object's text property, the second example shows the parsed text.
GETTEXT, SETTEXT
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).
50
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
GETPOSITIONOFFSET
RESULT GETPOSITIONOFFSET 2.00 -1.00
This example shows that the current layout is printed with an x-offset of 2 mm's to the right and 1mm to
the top.
ATTENTION: please be aware of the Dynamark coordinates - the lowest y-coordinate is on the top of
the field!
See also:
SETPOSITIONOFFSET
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).
GETPRINTCOUNTER
Command
GETPRINTCOUNTER
Description
Use of this command obtains the number of prints since the last mark enabling or if using file coding in
buffered mode the code pointer within the file.
Result Description:
Success:
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
GETPRINTCOUNTER
RESULT GETPRINTCOUNTER 41
In this example the printer has already issued 41 prints since it has been enabled for marking.
See also:
SETPRINTCOUNTER
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).
52
GETPRINTERID
Command
GETPRINTERID
Description
Use of this command obtains the alphanumeric identifier of the printer that can be used by the customer
for his own purpose (e.g. recognizing a printer unit out of many).
The printer id is stored within the printer but is not displayed anywhere the only way to obtain it is
using this command.
The printer id can be up to 100 characters long.
Result Description:
Success:
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
GETPRINTERID
RESULT GETPRINTERID My First Printer
See also:
SETPRINTERID
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).
GETPROJECTS
Command
GETPROJECTS [store-id]
Description
Returns all messages that are stored in the currently selected message store or if specified in the given
message store.
Parameter Description
Store-id
Result Description:
Success:
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
GETPROJECTS
RESULT GETPROJECTS "test" "myproject"
See also:
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).
54
all-messages
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
GETSTATUS
RESULT GETSTATUS 1 203 "System idle"
The result of this example shows that the system is in "warning" status with message no 203 (English
translation: "System idle").
See also:
MSG 5
Multi Head Extension:
Determines the current status of all controllers (message with the highest priority) and returns the
translated text which starts with the printer name, the status-id and the describing text in the selected
translation.
Success:
Fault:
56
GETSYSTEMCOUNTER
Command
GETSYSTEMCOUNTER <counter-id>
Description
Returns the current value of the corresponding counter.
Parameter Description
counter-id
Result Description:
Success:
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
GETSYSTEMCOUNTER 5
RESULT GETSYSTEMCOUNTER 5 173
See also:
SETSYSTEMCOUNTER
Multi Head Execution:
No.
GETTEXT
Command
GETTEXT <Object>
Description
Requests the text contents of the specified text or MRC object.
Dynamic text contents like counters, clocks, inserts etc. will not be parsed and returned with their token
representation. Line breaks will be substituted with "<10>" as they are usually displayed within the
property list of the user interface.
Parameter Description
object
Result Description:
Success:
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
For the following example we assume to have a message loaded with a text object called "Text 1" which
has been configured to use special counter 1 and seconds display in two lines of text. The first example
shows the unparsed contents of the object's text-property, the second example shows the parsed text.
GETPARSEDTEXT, SETTEXT
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).
58
GETVARIABLES
Command
GETVARIABLES <Variable-ID>
Description
Determines the contents of the specified variable.
If the variable does not exist an empty string will be returned.
Parameter Description
Variable-ID
Result Description:
Success:
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
For the following example we assume to have a message loaded with a text object containing
"<VAR:Article-ID>" as text contents:
GETVARIABLES "Article-ID"
RESULT GETVARIABLES "08/15"
The result of this example shows that the variable "Article-ID" is defined with "08/15".
See also:
SETVARIABLES
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).
GETVARLIST
Command
GETVARLIST
Description
This command returns a list of all variables existing in the message or the system (depending on the system
configuration
Parameter Description
Result Description:
Success:
Fault:
ERROR <no>
Properties:
Transaction-Command
No
Examples
GETVARLIST
RESULT GETVARLIST "Frodo 4" Bilbo Samweis
The result of this example shows that in the defined scope there are three variables called "Frodo 4",
"Bilbo" and "Samweis".
See also:
SETVARIABLES, GETVARIABLES
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).
60
Fault:
ERROR <no>
Properties:
Transaction-Command
No
Examples
GETVERSION
RESULT GETVERSION
"Dynamark 3:
Backend=1.0.0.0
MarkingEngine=1.0.0.0
BarcodeEngine=7.0.0.0
RequestHandler=1.0.0.0
HTTPD=1.0.0.0
InterComm=2.3.0.23584
Authentication=1.0.0.0
Logging=1.0.0.0"
"Ultramark:
SW=0.0.0.120
HW=0.0.0.86
IO=0.0.0.52
Plugin=4.0.0.0"
"Image: 0.0.0.0"
The result of this example shows the exact versions of all software modules running on the laser controller.
See also:
Fault:
Fault:
ERROR <no>
Properties:
Transaction-Command
No
Examples
GETXML
RESULT GETXML <?xml version="1.0"?><DYNAMARK-Project title="arc.xml"
version="
0.1"> <DYNAMARK-Object type="CObjKreis"><CObjBaseData templateversion="0.1"><ObjName type="CString">Arc 1</ObjName><ParamDelaysName type
="CString">Default</ParamDelaysName><Invers type="bool" value="false"/><Mark ty
pe="bool" value="true"/><Offset type="CPoint" value="308019 386662"/><ScaleX ty
pe="double" value="10"/><ScaleY type="double" value="10"/><RadiantX
type="double"
value="0"/><RadiantY type="double" value="0"/><MirrorX type="bool"
value="true"/><MirrorY type="bool" value="true"/><LaserNr
type="int" value="0"/><MinVectorLength type="double" value="0"/><XCenterMode
type="int" value="0"/><YCenterMode type="int" value="0"/></CObjBaseData><CO
bjKreis><Arc type="float" value="6.28319"/><ArcWidth type="float" value="0"/><Ci
rcleCount type="int" value="5"/><Sekanten type="int" value="24"/></CObjKreis></
DYNAMARK-Object><ParameterSet><CParamDelays><DelayName type="CString">Default</DelayName><StepPeriod
type="double" value="10"/><JumpDelay type="double" value="150"/><MarkDelay ty
pe="double" value="150"/><PolygonDelay type="double" value="50"/><LaserOnDelay
type="double" value="120"/><LaserOffDelay type="double"
value="180"/><PulsPeriodTime type="double" value="98"/><OnPulsTime
type="double" value="0"/><FirstPulsKillerTime type="double"
value="0"/><MaxVectorLength type="double" value="0"/><JumpSpeed type="double"
value="5000"/><MarkSpeed type="double" value="2500"/></CParamDelays></Para
meter-Set><Override></Override></DYNAMARK-Project>
See also:
SETXML
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).
62
LOADPROJECT
Command
LOADPROJECT <URI>
Description
Loads the specified message into the marking engine of the laser controller.
Parameter Description
URI
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
yes
Examples
This example loads the message "hobbingen.dprj" from the folder "\hard disk\domino\msgs\msgstore1"
of printer controller.
See also:
SAVEPROJECT, GETCURRENTPROJECT
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).
Action=START:
Enables marking mode (if not already enabled).
Action=STOP:
Disables marking mode (if not already disabled)
Action=TOGGLE:
Enables marking mode if it is not enabled, otherwise
marking mode is disabled.
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
yes
Examples
MARK START
GETMARKMODE
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).
64
OBJECTADD
Command
OBJECTADD <type> <name> [<x-position> <y-position>]
Description
This command adds a marking object with marking property disabled to the current message. The type
and the name and optionally the position can be specified as part of this command whilst the other
parameters need to be specified using the SETDATA command.
Parameter Description
type
name
x/y-position
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
yes
Examples
This example inserts a new rectangle object named Bilbo to the current message and locates it at x=10.0
and y=5.0
See also:
OBJECTDEL, GETOBJECTS
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).
OBJECTDEL
Command
OBJECTDEL <name>
Description
This command removes the specified marking object from the currently activated message.
Parameter Description
name
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
yes
Examples
OBJECTDEL Bilbo
OK
This example removes the object named Bilbo from the current activated message
See also:
OBJECTADD, GETOBJECTS
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).
66
mode=0:
controller
mode=5:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
QUIT 5
RELOADFONTS
Command
RELOADFONTS [cleanup]
Description
This command reloads the fonts from the fonts folder of the Dynamark installation.
Note:
The optional parameter <cleanup> with the only possible value 1 is not needed anymore in Dynamark
3 and will be ignored as the system will always cleanup all installed fonts before reloading.
Parameter Description
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
No
Examples
RELOADFONTS 1
OK
See also:
Multi Head:
Not supported
68
RESETSYSTEM
Command
RESETSYSTEM
Description
If the system is in disabled state then this command re-enables the system if possible (if there is still a
critical fault active then the system will automatically fall back into the disabled state).
This command resets faults that are configured to be latched until manual reset.
Parameter Description
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
No
Examples
RESETSYSTEM
OK
See also:
Multi Head Extension:
Fault:
mode=0:
system configuration, fonts
-file must be available as generated
with the BACKUP-command
path
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
No
Examples
Restores the system configuration from the data available in the folder \hard disk\data.
See also:
BACKUP
Multi Head:
Not supported
70
ROLLBACKTRANS
Command
ROLLBACKTRANS
Description
Removes all commands from a transaction begun with BEGINTRANS without executing them and
deletes the transaction itself.
Parameter Description
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
This example shows that the transaction has not been executed.
See also:
BEGINTRANS, EXECTRANS
Multi Head Extension:
Fault:
SAVEPROJECT
Command
SAVEPROJECT <URI>
Description
Saves the current message using the filename specified as parameter.
Parameter Description
URI
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
SAVEPROJECT "store:/beutlin"
This example will save the current message with the name "beutlin" in the currently selected message
store.
See also:
LOADPROJECT
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).
72
This command sets the system-global offset for the CO2 Laser-On pulse.
In case a prefix is specified then the offset will only be applied to all parameter sets which
names start with this prefix.
ATTENTION:
This offset should be used very carefully and only for very special applications (for internal
use by the Domino Printing Sciences plc only)
Parameter Description
Prefix
Offset
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
Yes
Examples
SETCO2ONPULSEOFFSET 5
GETCO2ONPULSEOFFSET
Multi Head Extension:
SETCO2ONPULSEOFFSET <offset>
System wide offset will be sent to all connected controller
SETCO2ONPULSEOFFSET <printer name1> <offset1> <printer name2> <offset2>
Each specified controller can be set with its specified controller-specific offset
Please note that the prefix option will not be available in multi head mode!
Fault:
SETCODINGFILE
Command
SETCODINGFILE <filename> [counts-per-print]
Description
This command sets the name of the coding file for the currently selected message and
optionally the number of text lines to be read per print. The file coding feature must already
be turned on.
ATTENTION:
The system should not be in marking mode when this command is issued.
Parameter Description
filename
counts-per-print
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
No
Examples
SETCODINGFILE codes.txt 1
This example sets the coding file to codes.txt and the number of lines per print to 1
See also:
GETCODINGFILE
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).
74
SETCODINGLINE
Command
SETCODINGLINE <line>
Description
Use of this command sets the current line number in the file that is used for file coding.
Please note that by using this command the customer needs to take care with not printing parts of a
coding file multiple times!
Parameter Description
line
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Dynamark 3.7.0.25
Examples
SETCODINGLINE 41
OK
See also:
GETCODINGLINE
Multi Head Execution:
Not supported
Value
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
No
Examples
The first command will set the counter 3 to the absolute value 100. The second command will do a
relative update of counter 3 incrementing it by 10 steps.
SETCOUNT 3 100
OK
SETCOUNT 3 +10
OK
GETCOUNT 3
RESULT GETCOUNT 3 110
See also:
GETCOUNT
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).
76
SETCOUNTERVALUE
Command
SETCOUNTERVALUE <Counter-ID> <Value>
Description
Sets the internal reference for the specified counter to the specified value.
Parameter Description
Counter-ID
Value
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
No
Examples
The following command will set the reference of counter 3 to the absolute value 100.
SETCOUNTERVALUE 3 100
OK
GETCOUNTERVALUE 3
RESULT GETCOUNTERVALUE 3 100
See also:
GETCOUNTERVALUE
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).
Data-ID
Data
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
Yes
Examples
This example positions the object "Text 1" of the currently loaded message to x-position 14.10mm.
See also:
GETDATA, APPENDIX B
Multi Head Extension:
Fault:
78
Minute
Second
Year
Month
Day
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
SETDATE 13 45 00 2004 09 02
OK
This example sets the system time to the 2nd of September 2004 at 13:45.00.
See also:
GETDATE
Multi Head Extension:
Fault:
SETDIGOUT
Command
SETDIGOUT <set-value> <reset-value>
Description
Sets or resets one or more channels of the internal digital outputs of the marking controller.
Each value is an eight-character wide binary coded hexadecimal value using high-bits on the positions of
the channel to be set/reset
Parameter Description
set-mask
reset-mask
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
No
Examples
This example resets digital output channel 2 to low and sets digital output channel 0 to high state.
See also:
GETDIGITALIN
Multi Head Extension:
SETDIGOUT <set-value> <reset-value>
Will be sent to the primary controller only
SETDIGOUT <set-value> <reset-value> <set-value> <reset-value>
For each backend is a pair of set/reset defined. First pair is for the primary controller next pairs as
ordered in the url list of connected backends (see multi head configuration)
Fault:
80
<global>
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
SETENCODERDELAY 500
OK
GETENCODERDELAY
Multi Head Extension:
Fault:
This command is used for setting the rotation angle of the marking field.
Parameter Description
1) Absolute rotation
Value (degree of absolute rotation angle, -15
Value 15)
2) Relative rotation
+ Value (rotation in clockwise based on the current Field Rotation = Current Value + Value
rotation, 0 Value 15)
- Value (rotation in anticlockwise based on the
current rotation, 0 Value 15)
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
No
Examples
Example1: Set the rotation of field by giving the absolute value
setfieldrotation -3.7
OK
In this example, the fieldrotation is -3.7
Example2: Set the rotation of field by gving the relative value
getfieldrotation
RESULT GETFIELDROTATION -3.7
setfieldrotation + 5.3
OK
In example 2, the original rotation (-3.7) is achieved by using command getfieldrotation. If + 5.3 is given,
it means field will continue to rotate 5.3 degree in the clockwise direction based on current rotate angle (-3.7).
Test how much rotates the field in Example 2
Getfieldrotation
RESULT GETFIELDROTATION 1.6 (-3.7+5.3)
See also:
GETFIELDROTATION
Multi Head Extension:
No differences to the description above (will be sent to the primary controller only)
82
SETGENERICSTATUS
Command
SETGENERICSTATUS <status-source> <set-mask> <reset-mask>
Description
This command enables the remote peer to set/reset bits of a generic user definable status source.
Currently only one such status source is implemented in the Dynamark software called "GEN".
Parameter Description
status-source
set-mask
reset-mask
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
SETGENERICSTATUS "GEN" 4 2
OK
This example sets bit 2 of the status source "GEN" to high and bit 1 of the same status source to low.
See also:
Multi Head Extension:
Fault:
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
SETMAXCOUNTS 20
Limits marking to a number of 20 prints then marking will be disabled.
See also:
84
SETMSG
Command
SETMSG <MsgID> <Mode>
Description
Use of this command automatically makes the laser controller send messages on several events via this
interface.
Parameter Description
MsgID
Mode
Mode=0 (default)
Disable the sending a message for the given event.
Mode=1
Enable the sending a message for the given event.
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
Please refer to the tutorial on page 15
See also:
Multi Head Extension:
Fault:
This command is used for setting setup and runtime parameters of the printer.
Parameter Description
1) Parameters about serial number
SerialnoController value
SerialnoLaser
value
SerialnoScanner value
Host name=value
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
No
Examples
Example1: Set the serial number of the controller
setparam serialnocontroller C1234
OK
Example2: Set the network address of the adapter 0
setparam networkaddress 0 192.168.55.52 255.255.255.0 192.168.55.51
OK
In the example, the network address of adapter 0 is defined. The IP address is 192.168.55.52, the
subnet mask is 255.255.255.0 and the gateway is 192.168.55.51. If adapter 0 has more than one
IP addresses, only the first one can be defined by using the above command. For this command,
OK will be returned. Because the connection is broken between the former IP and current PC, a
new connection should be built before further commands are executed.
Test if the setparam in Example 2 works properly
Build a new connection between PC and the controller
getparam networkaddress 0
RESULT GETPARAM networkaddress 0 192.168.55.52 255.255.255.0 192.168.55.51
86
GETPARAM
Multi Head Extension:
No differences to the description above (will be sent to the primary controller only)
SETPOSITIONOFFSET
Command
SETPOSITIONOFFSET <x-offset> <y-offset>
Description
Sets the offsets in mm that are applied to the complete marking contents.
ATTENTION:
Please be aware of the Dynamark coordinates - the lowest y-coordinate is on the top of the field.
Parameter Description
x-Offset
y-Offset
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
This example will print the current layout with an x-offset of 2 mm to the right and 1mm to the top.
See also:
GETPOSITIONOFFSET
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).
88
SETPRINTCOUNTER
Command
SETPRINTCOUNTER <counts>
Description
Use of this command sets the number of prints since the last mark enabling.
If using file coding in buffered mode, this can be used to relocate the code pointer within the file (while
marking is not enabled).
Parameter Description
counts
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
SETPRINTCOUNTER 20
Sets the number of prints applied to 20.
See also:
GETPRINTCOUNTER
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).
SETPRINTERID
Command
SETPRINTERID <id>
Description
Use of this command sets the alphanumeric identifier of the printer that can be used by the customer for
his own purpose (e.g. recognizing a printer unit out of many).
The printer id is stored within the printer but is not displayed anywhere the only way to obtain it is
using the GETPRINTERID command.
The printer id can be up to 100 characters long.
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
No differences to the description above (will be sent to the primary controller only).
90
SETSYSTEMCOUNTER
Command
SETSYSTEMCOUNTER <counter-id> <value>
Description
Sets the value of the corresponding counter.
Parameter Description
counter-id
value
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
SETSYSTEMCOUNTER 5 0
OK
See also:
GETSYSTEMCOUNTER
Multi Head Execution:
No.
SETTEXT
Command
SETTEXT <Object> <Text>
Description
Sets the text attribute of the specified MRC or text object.
Parameter Description
Object
Text
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
yes
Examples
92
Variable-Contents
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
yes
Examples
In the following example assume to have a message opened with a text-object containing a variable called
"Bilbo" (this can be done with the text-content "<VAR:Bilbo>").
GETVARIABLES
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).
XML-sources of a message.
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
GETXML
Multi Head Execution:
94
Message-text
Style
Timeout
Result Description:
Success:
RESULT SHOWMESSAGE 0
Fault:
ERROR <no>
Properties:
Transaction-Command
No
DYNAMARK 3.4.0.22
Examples
This example displays an informal message box on the laser controller and asks the operator to click the
OK-button.
Multi Head Execution:
96
TRIGGER
Command
TRIGGER
Description
WARNING: To prevent remote peers from enabling the laser and possibly causing injury to
maintenance staff, this command must be used with utmost care and attention.
For performance reasons we also strongly recommend to use the digital hardware print go input instead.
Parameter Description
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
TRIGGER
OK
See also:
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).
UPLOADBINARY
Command
UPLOADBINARY <filename> <byte stream> [append]
Description
Use of this command creates a file on the laser controller system without using the MS Windows file
sharing feature (SMB/CIFS) which is very insecure and complicated.
Parameter Description
filename
byte stream
append
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
This command creates a file test.txt in the folder c:\temp of the laser controller. The text file will
contain 4 characters ABCD.
See also:
Multi Head:
Not supported
98
Value
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Transaction-Command
no
Examples
USERINPUT 2 1
OK
This command sets the user input B to high state. Depending on the laser controller configuration this
may cause another action.
See also:
Multi Head Extension:
USERINPUT <input-no> <value>
Will be sent to all connected controller
USERINPUT <printer name1> <input-no> <value> <printer name2> <input-no> <value>
Will be sent to the given controller
Fault:
100
Description
No error occured
No document loaded
Wrong number of parameters
Object with specified name not found
Command unknown
Wrong Object-Type
Wrong Parameters
Transaction failed
Specified Counter not found
Error while File-I/O
Timeout for a command that required a response
No message must be open
Source not found
The function is not supported in this system configuration
Internal fault
The XML code that was sent is not valid
Transaction is locked
No transaction is open
The variable does not exist in the current message
Command parse error
The index specified in the BUFFERDATA command is already in use or if
automatic id generation via id=-1 is used more than 9999 data records have
been preloaded.
Object cannot be added with OBJECTADD as the specified object name
already exists
Object creation failed (e.g. the specified object type is not supported)
Operation not allowed
No connection to DSP card
No permissions to perform this action
Remote data buffering is not active
Cold start procedure failed (laser warm up incomplete)
Vector compilation failed (e.g. objects out of bounds or wrong encoder
direction)
Internal Error occurring while logging in the communication interface user
please contact Domino.
Multi Head configuration The given printer name in a command doesnt
exists.
Multi Head configuration The response of a controller doesnt match to the
command.
Setting or getting network address or DNS is not successful.
Current command failed because marking engine is still running. It can only
work after the marking engine stops.
Object-Type
All
All
All
All
All
All
All
All
All
All
All
All
All
Arc
Arc
Arc, DXF
Arc, Rectangle
Arc, Rectangle
DXF
DXF
Text, MRC
Text
Text
Text
Text
Text
Text
Text
Text
Description
Parameter set name
Object is marked (0=no; 1=yes; 2=based on digital inputs)
x-Position [mm]
y-Position [mm]
Width [mm]
Height [mm]
Rotation []
Tip []
x-Center (0=left; 1=center; 2=right; 3=none)
y-Center (0=top; 1=center; 2=bottom; 3=none)
x-Mirror (0=no; 1=yes)
y-Mirror (0=no; 1=yes)
IO Condition Mask
IO Condition Value
Angle []
Secants
Border Width
Number of borders
Join Lines (0=no; 1=yes)
Tolerance for Join Lines
Text
Font
Spatio
Line Feed
Italics y []
Proportional (0=no; 1=yes)
102
MRC
MRC
MRC
MRC
MRC
Text
Text
Text
MRC
MRC
MRC
MRC
MRC
MRC
MRC
MRC
Bitmap, HPGL,
DXF
MRC
MRC
MRC
MRC
MRC
All
Message
MSG 1
2
3
4
MSG 2
MSG 3
MSG 4
MSG 5 <Severity>
<Status-ID>
<Text>
11
12
14
18
19
20
24
MSG 6
<value>
Description of Message
Ready to print:
Laser is turned on and marking is enabled.
This message is also sent if new data has been compiled and set active
because of external changes (e.g. SETTEXT); however this only works
if the system is configured to lock printing while external data is
changed.
Start of a print
End of a print
Not ready to print:
Marking Mode has been disabled or suspended or Laser is turned off
Status Change with information on the new state:
Severity:
0=information
1=warning
2=temporary fault
3=critical fault
4=critical fault (needs to be reset by hardware; S-series only)
Status-ID:
id as defined in the status configuration
Text:
Status text in the selected translation
Multi Head configuration - The text starts with <printer name>:
MSG 5 <Severity> <Status-ID> "<<printer name:> Text>"
Change on digital input with information on new state (16-digit
hexadecimal code as value)
25
MSG 25 <ID>
26
MSG 26
27
MSG 27
31
MSG 31 <ID>
104
Description
Unique index of this user
Unique login-name
Enumeration of a status . Can be
ACTIVE=0, EXPIRED, DORMANT, DELETED,
LOCKED
Text
Text
Text
Text
Hexadecimal encoded bitset, defining the permissions
The set of groups to which the user belongs. Each group
has a strGrantID as above.
Text
Date, when this account will expire (can be not set)
Integer
Period in days, after which a password has to be changed
Date
Date, on which the next password change will have to
take place
Integer
Time in minutes after which a user will be logged out if
inactive
Integer
Number of unsuccessful login attempts
Boolean
Flag that the user has to change the password. Can be set
e.g. by the admin if stolen passwords are assumed, or at
first login of the user with a preset password
Description
nMinLength
nMinUpperChar
nMinLowerChar
nMinNumericChar
nMaxMultipleChar
nMaxPartOfUserID
nMinReusePassword
nMinSpecChar
nMaxLoginAttempts
strSpecChar
nPWChangeRemind
nExpiryRemind
106
Command Syntax
The client connection to an authentication is based on TCP/IP via Ethernet.
The protocol is UTF-8-based. Every command starts with its token which can be of different
length (e.g. GETUSER), followed by additional parameters which are comma separated (see 0)
and terminated by a carriage-return and a linefeed character (0x0d, 0x0a).
Answer Syntax
The returned answer is one of
OK
RESULT <COMMAND> [parameters...]
where <COMMAND> is the same token as the sent command
ERROR <number>
(see 0)
Parameter Syntax
The parameters are comma separated as follows:
no additional blanks other than those belonging to the parameter before/after the
comma must be inserted
a comma as a character of the parameter is enclosed in double quotes (, becomes ",")
a double quote is escaped by a backslash (" becomes \")
a backslash is escaped by another backslash (\ becomes \\)
Examples:
Parameter 1
Parameter 2
Result
Hello
World
Hello,World
Well, what's up?
Well"," what's up?
Well, what's up
dude?
Well"," what's up,dude?
Here comes
a backslash\
Here comes,a backslash\\
"Quoted"
\"Quoted\"
Error numbers
The following enumeration is used to send an ERROR as answer:
No.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Description
Permission denied
Command not supported
Communication failed
Invalid session ID
Database access failed (in case of an error with a database based backend)
The user state should be changed from expired to active, but no valid expiry date
is set (see ALTERUSER)
The operation tried to delete a user that is currently logged on (see
DELETEUSER)
Unknown command
Unknown response
Unknown client (see REGISTER)
Client has already registered (see REGISTER)
The server can not perform audit-trail entries and is instructed to deny requests in
that case
Wrong number of parameters
A parameter could not be converted (i.e. number expected but alpha characters
received)
An operation tries to edit a deleted account
An operation tries to add a group which already exists
An operation tries to edit a group which doesn't exists
An operation tries to add an account which already exists
An operation tries to edit an account which doesn't exists
File access failed (in case of an error with a file based backend)
Dongle not found
The password of the special account "service" was attempted to be changed,
which is not possible
User ID has once been used and was deleted. It can not be reused due to
CFR21,part 11 restrictions
Unknown error
Not initialized
Not connected
The client has not registered
Command not supported in remote mode
Error 4,21,26 and 27 occur on client side rather than on server side.
108
Commands
Mandatory parameters are enclosed in angular brackets <>, optional parameters in square
brackets [].
The parameter names are prefixed to reflect their data type:
n:
Number
str:
String
b:
Boolean as 0=false, 1=true
ADDGROUP
Command
ADDGROUP <strExecutingUserID>, <strGroupID>, <strGrants>
Description
Adds a group with a set of granted permissions to the list of groups
Parameter Description
strExecutingUserID
strGroupID
strGrants
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
ADDGROUP Administrator,dogs,0
The user Administrator adds the group "dogs" to the list of groups. Dogs do not have any permission
granted though (0).
See also:
ADDUSER
Command
ADDUSER <strExecutingUserID>, <strUserID>, <strPassword>, <strUserGrant>, <strForename>,
<strSurname>, <strDepartment>, <nStatus>, <nExpireDate>, <void>, <nPWChangePeriod>, <void>,
<nInactivityTimeout>, <bExpireDate>, <bInactivityTimeout>
Description
Creates a new user account
Parameter Description
strExecutingUserID
strUserID
strPassword
Password as cleartext
strUserGrants
strForename
strSurname
strDepartment
nStatus
nExpireDate
void
not used
nPWChangePeriod
void
not used
nInactivityTimeout
bExpireDate
bInactivityTimeout
Result Description:
Success:
110
OK
L027952 Issue 5 July 2014
ERROR <no>
Properties:
Implemented since version
Examples
The user Administrator adds the User "Johann von Neumann" from the Mathematics department. His
login-name is geek42, his password is N0t_4U. The account is valid until February 2, 1957. Johann has to
change his password every 180 days.
See also:
ALTERGROUP
Command
ALTERGROUP <strExecutingUserID>, <strGroup>, <strGrants>
Description
Alters the permissions that have been granted for a group
Parameter Description
strExecutingUserID
strGroupID
strGrants
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
ALTERGROUP Administrator,cats,ffffeff
The user Administrator alters the group cats. and assign the permissions ffffeff
See also:
ADDGROUP, GETGROUPS
112
ALTERUSER
Command
ALTERUSER <strExecutingUserID>, <strUserID>, <void>, <strUserGrant>, <strForename>,
<strSurname>, <strDepartment>, <nStatus>, <nExpireDate>, <void>, <nPWChangePeriod>, <void>,
<nInactivityTimeout>, <bExpireDate>, <bInactivityTimeout>
Description
Alters the data of an existing user. The password can not be altered using this command; due to the
special treatment of password policy, use CHANGEPW instead.
Parameter Description
strExecutingUserID
strUserID
void
Not used
strUserGrants
strForename
strSurname
strDepartment
nStatus
nExpireDate
void
not used
nPWChangePeriod
void
not used
nInactivityTimeout
bExpireDate
bInactivityTimeout
OK
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
The user Administrator alters the forname of user geek42 from "Johann" to "John".
See also:
114
AUTHUSER
Command
AUTHUSER <strUserID>, <strPassword>
Description
Authenticates a user by his login-ID and password.
Parameter Description
strUserID
strPassword
Result Description:
Success:
0: OK
1: Unknown User-ID
2: Wrong password
Optional:
If [Message] is set and login process fails,
then the reason is given in the message. In this
case nStatus is set to 256.
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
AUTHUSER geek42,f362256d0413d368d36c19af64e91609
RESULT AUTHUSER 0
The user geek42, whose password's MD5 hash is f362256d0413d368d36c19af64e91609, is to
be authenticated. The login-ID/password is valid.
AUTHUSER nOVICE,72713bf88d84eb28ad93e94ae8be1f84
ERROR 1
The user nOVICE, whose password's MD5 hash is 72713bf88d84eb28ad93e94ae8be1f84, is
to be authenticated. The login-ID is wrong; perhaps user Novice hit Caps-Lock?
See also:
GETUSER, LOGIN
AUTOLOGIN
Command
AUTOLOGIN <strUserID>
Description
Informs the server that a user should be logged in automatically (needed to have a complete audit-trail)
Parameter Description
strUserID
Result Description:
Success:
0x00=0: OK
0x01=1: Unknown User
0x02=2: Wrong password
0x04=4: 0x08=8: Account expired
0x10=16: Account locked
0x20=32: Password expired
0x40=64: Remind when account will
expire
0x80=128: Remind when password will
expire
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
AUTOLOGIN Anneliese
RESULT AUTOLOGIN 40
The user Anneliese should be automatically logged in. However, both the account and the password are
expired, so the client should not login this user.
See also:
AUTOLOGOUT
116
AUTOLOGOUT
Command
AUTOLOGOUT <strUserID>
Description
Informs the server that a user should be logged out automatically (needed to have a complete audit-trail).
Returns the granted permissions for the logout state.
Parameter Description
strUserID
Result Description:
Success:
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
AUTOLOGOUT Anneliese
RESULT AUTOLOGOUT 0a
The user Anneliese will be automatically logged out by the client. The client may grant permissions 0a in
the logout state afterwards.
See also:
AUTOLOGIN
CHANGEPW
Command
CHANGEPW <strExecutingUserID>, <strUserID>, <strPassword>
Description
Changes the password of a user.
Parameter Description
strExecutingUserID
strUserID
strPassword
Cleartext password
Result Description:
Success:
RESULT CHANGEPW
<nStatus>,<nTaintedPasswordPolicy>
nStatus:
1: OK
2: Unknown User-ID
4: Password policy has been tainted, password has
not been changed!
nTaintedPasswordPolicy: OR combined bitset as a
decimal number:
0x00=0: OK
0x01=1: Too short
0x02=2: Not enough upper case
characters
0x04=4: Not enough lower case
characters
0x08=8: Not enough numeric
characters
0x10=16: Too many multiple characters
0x20=32: Too many consecutive
characters that also appear in the User-ID
0x40=64: Not enough "special"
characters
0x80=128:
Password appears in the list of
the formerly used N passwords and may not
(yet) be reused.
Fault:
118
ERROR <no>
Examples
CHANGEPW Administrator,geek42,Hllo_WRLD
RESULT CHANGEPW 0 0
The user Administrator has changed the password for user geek42 to "Hllo_WRLD"
CHANGEPW geek42,geek42,pwgeek
RESULT CHANGEPW 4 34
The user geek42 did not suceed changing his password: it contains too many consecutive
characters of his User-ID and too less upper space characters
See also:
CHECKPW
Command
CHECKPW <strUserID>, <strPassword>
Description
Checks if a password matches or taints the password policy
Parameter Description
strUserID
strPassword
Cleartext password
Result Description:
Success:
0x00=0: OK
0x01=1: Too short
0x02=2: Not enough upper case
characters
0x04=4: Not enough lower case
characters
0x08=8: Not enough numeric
characters
0x10=16: Too many multiple characters
0x20=32: Too many consecutive
characters that also appear in the User-ID
0x40=64: Not enough "special"
characters
0x80=128:
Password appears in the list of
the formerly used N passwords and may not
(yet) be reused.
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
120
DELETEGROUP
Command
DELETEGROUP <strExecutingUserID>, <strGroupID>
Description
Deletes a group
Parameter Description
strExecutingUserID
strGroupID
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
DELETEGROUP cats
Deletes the group "cats"
See also:
DELETEUSER
Command
DELETEUSER <strExecutingUserID>, <strUserID>
Description
Deletes the user
Parameter Description
strExecutingUserID
strUserID
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
DELETEUSER geek42
See also:
122
GETDEPARTMENTS
Command
GETDEPARTMENTS
Description
Returns all departments that have been assigned yet to users
Parameter Description
-
Result Description:
Success:
RESULT GETDEPARTMENTS
[dep1],[dep2],[...]
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
GETDEPARTMENTS
RESULT GETDEPARTMENTS Mathematics,Astrophysics,Computer Science
See also:
ADDUSER, ALTERUSER
GETGROUPS
Command
GETGROUPS
Description
Parameter Description
Result Description:
Success:
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
GETGROUPS
RESULT GETGROUPS cats,f6ae82d,dogs,0d0a
See also:
124
GETMUSTCHANGEPW
Command
GETMUSTCHANGEPW <strUserID>
Description
Returns if the user has to change the password (e.g. at first login after account creation). In that case the
client should initiate a password change before a login can succeed.
Parameter Description
strUserID
Result Description:
Success:
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
GETMUSTCHANGEPW geek42
RESULT GETMUSTCHANGEPW 1
SETMUSTCHANGEPW
GETPWPOLICY
Command
GETPWPOLICY
Description
Return the password policy that is applied to new created passwords
Parameter Description
-
Result Description:
Success:
Fault:
ERROR <no>
Properties:
Implemented since version
126
GETSECURITYMODE
Command
GETSECURITYMODE
Description
Returns if the security mode is a simple scheme with a password mapped to a userlevel, or a CFR21, part
11 compliant mode with discrete users
Parameter Description
-
Result Description:
Success:
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
GETSECURITYMODE
RESULT GETSECURITYMODE 1
See also:
128
GETSETTINGS
Command
GETSETTINGS
Description
Returns the numbers of days to remind before account expiration/forced password change
Parameter Description
-
Result Description:
Success:
RESULT GETSETTINGS
<nExpiryPeriodRemind>,
<nPWChangePeriodRemind>
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
GETSETTINGS
RESULT GETSETTINGS 30,30
See also:
SETSETTINGS
GETUSER
Command
GETUSER <strUserID>,[strPassword]
Description
Returns information about this user.
Parameter Description
strUserID
strPassword
Result Description:
Success:
130
nPWChangeDate
bExpireNotify
Flag (0/1) if the user should be informed when the
account will expire
bPWChangeNotify
Flag (0/1) if the user should be informed when the
password needs to be changed
nLoginAttempts
Number of unsuccessful login attempts
bExpireDate
bInactivityTimeout
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
GETUSER geek42
RESULT GETUSER 0, 11, geek42, f7fde7efaa2f, f7fde7efaa21, f7fde7efaa2f, John, von
Neumann, Mathematics, 0, 20120123, 2345, 180, 20090125, 92, 5, 0, 0, 0, 1, 1
See also:
GETUSERBYINDEX
Command
GETUSERBYINDEX nIndex
Description
Convenience command: Does the same as GETUSER, but uses the previously acquired index of the user
Parameter Description
nIndex
Result Description:
Success:
nExpireCountdown
Days until the account expires
132
nPWChangeDate
nPWChangeCountdown
Days until the password has to be changed
nInactivityTimeout
bExpireNotify
Flag (0/1) if the user should be informed when the
account will expire
bPWChangeNotify
Flag (0/1) if the user should be informed when the
password needs to be changed
nLoginAttempts
Number of unsuccessful login attempts
bExpireDate
bInactivityTimeout
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
GETUSERBYINDEX 11
RESULT GETUSERBYINDEX 0, 11, geek42, f7fde7efaa2f, f7fde7efaa21, f7fde7efaa2f,
John, von Neumann, Mathematics, 0, 20120123, 2345, 180, 20090125, 92, 5, 0, 0, 0, 1, 1
See also:
LOGIN
Command
LOGIN <strUserID>,strPassword
Description
Parameter Description
strUserID
strPassword
Result Description:
Success:
0x00=0:
0x01=1:
0x02=2:
0x04=4:
0x08=8:
0x10=16:
0x20=32:
0x40=64:
expire
0x80=128:
expire
OK
Unknown User
Wrong password
Account expired
Account locked
Password expired
Remind when account will
Remind when password will
Optional:
If [Message] is set and login process fails,
then the reason is given in the message. In this
case nStatus is set to 256.
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
AUTOLOGIN
134
LOGOUT
Command
LOGOUT
Description
Parameter Description
strUserID
Result Description:
Success:
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
LOGOUT Anneliese
RESULT LOGOUT 0a
The user Anneliese will be logged out by the client. The client may grant permissions 0a in the logout
state afterwards.
See also:
AUTOLOGOUT
QUIT
Command
QUIT
Description
Asks the server process to terminate gracefully
Parameter Description
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
QUIT
OK
See also:
136
REGISTER
Command
REGISTER <nTypeID>, <strIdentifier>
Description
Registers a client. The nTypeID and strIdentifier should be used to generate client-specific audit-trail
entries, where a coherent set of devices has the same nTypeID, and the strIdentifier is unique for each
device of this type.
Parameter Description
nTypeID
strIdentifier
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
REGISTER 0,Mars
OK
See also:
SETMUSTCHANGEPW
Command
SETMUSTCHANGEPW <strExecutingUserID>, <strUserID>, <bChange>
Description
Sets/resets the flag that the user has to change the password before a login may succeed.
Parameter Description
strExecutingUserID
strUserID
bChange
0/1
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
SETMUSTCHANGEPW Administrator,geek42,1
OK
See also:
GETMUSTCHANGEPW
138
SETPWPOLICY
Command
SETPWPOLICY <strExecutingUser>, <nMinLength>, <nMinUpperChar>, <nMinLowerChar>,
<nMinNumericChar>, <nMaxMultipleChar>, <nMaxPartOfUserID>, <nMinReusePassword>,
<nMinSpecChar>, <nMaxLoginAttempts>, <strSpecChar>
Description
Sets the passwordpolica that should be applied if new passwords are set
Parameter Description
strExecutingUser
nMinLength
nMinUpperChar
nMinLowerChar
nMinNumericChar
nMaxMultipleChar
nMaxPartOfUserID
nMinReusePassword
nMinSpecChar
nMaxLoginAttempts
strSpecChar
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
SETPWPOLICY Administrator,8,3,3,1,4,5,3,1,3,@*!#foo
OK
See also:
SETSETTINGS
Command
SETSETTINGS <nExpiryPeriodRemind>, <nPWChangePeriodRemind>
Description
Sets the numbers of days to remind about account expiration/forced password change
Parameter Description
nExpiryPeriodRemind
nPWChangePeriodRemind
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
SETSETTINGS 30,30
OK
See also:
GETSETTINGS
140
SIGN
Command
SIGN <strUserID>,<SignId>
Description
User wants to sign electronically the action given by the SignId.
Parameter Description
strUserID
strSignId
Actions to sign:
0: Send To Printer
1: Save Message
2: Delete Message
3: Rename Message
4: Create Message Store
5: Delete Message Store
6: System Setup
7: Initial Setup Wizard
8: Restore
9: Remove File
10: Load File
11: Setup User
12: Setup Groups
13: Password Policy
14: Dynamic Text Setup
15: Print field offset
16: Laser Parameters
17: Delete User Action Log
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
SIGN geek42,0
OK
See also:
Signals
Signals will be sent by the client. The server doesnt response on signals.
SIG_USERCHANGED
Notification
SIG_USERCHANGED
Description
This is a notification message and not a command. It will be sent if login/logout is activated with MSG
1 or MSG 2 and the operation was successful.
Parameter Description
strUserID
strUserGrants
strForename
strSurname
strDepartment
Result Description:
Success:
Fault:
Properties:
Implemented since version
Examples
MSG 1, MSG 2
142
Messages
Messages will be sent by the server.
MSG
Message
MSG <MessageId>
Description
Send by the server.
Parameter Description
MessageId
Result Description:
Success:
Fault:
Properties:
Implemented since version
Examples
MSG 1
See also:
Authentication message-IDs
MsgID
1
Message
MSG 1
MSG 2,<strUserID>,
<strUserGrants>,
<strForename >,
<strSurname>,<strDepartment>
MSG 3,<strLogoutGrants>
Description of Message
Logging server has disconnected from the
authentication server.
Login - Sets the strUserID of the user to be logged
in.
See SIG_USERCHANGED
Logout Would cause a logout.
144
Key
Log-ID=n
Sub
LogID=n
LogLevel=1
LogLink=1
BackLink=0
Sub
LogID=n
LogLevel=2
LogLink=0
BackLink=1
Parameter
OldValue
NewValue
Parameter
OldValue
NewValue
Sub
LogID=n
LogLevel=1
LogLink=0
BackLink=0
Parameter
OldValue
NewValue
Top
Log-ID=n+1
Sub
LogID=n+1
LogLevel=1
LogLink=1
BackLink=0
Sub
LogID=n+1
LogLevel=2
LogLink=2
BackLink=1
Sub
LogID=n+1
LogLevel=3
LogLink=0
BackLink=2
Parameter
OldValue
NewValue
Parameter
OldValue
NewValue
Parameter
OldValue
NewValue
Command Syntax
The client connection to an authentication is based on TCP/IP via Ethernet.
The protocol is UTF-8-based. Every command starts with its token which can be of different
length, followed by additional parameters which are comma separated (see 0) and terminated by
a carriage-return and a linefeed character (0x0d, 0x0a).
Answer Syntax
The returned answer is one of
L027952 Issue 5 July 2014
145
OK
RESULT <COMMAND> [parameters...]
where <COMMAND> is the same token as the sent command
ERROR <number>
(see 0)
Parameter Syntax
The parameters are comma separated as follows:
no additional blanks other than those belonging to the parameter before/after the
comma must be inserted
a comma as a character of the parameter is enclosed in double quotes (, becomes ",")
a double quote is escaped by a backslash (" becomes \")
a backslash is escaped by another backslash (\ becomes \\)
Examples:
Parameter 1
Parameter 2
Result
Hello
World
Hello,World
Well, what's up?
Well"," what's up?
Well, what's up
dude?
Well"," what's up,dude?
Here comes
a backslash\
Here comes,a backslash\\
"Quoted"
\"Quoted\"
146
Action IDs
The actions that are logged are enumerated as follows. The descriptive text is an excerpt from
the English translation used to generate the parameter of a subentry.
ID
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Description
Logged in
Logged out
Marking started
Marking stopped
System Settings modified
Application started
Application terminated
Connected to interface
Disconnected from interface
Electronic Signature %1%
Message changed
Created user %1%
Deleted user %1%
Changed user data %1%
System Settings restored
Backup system data
Changed password %1%
Login failed
Object %1% changed
Object %1% added
Object %1% deleted
Object %1% moved
Override %1% changed
Override %1% added
Override %1% removed
Coding changed
Coding activated
Coding deactivated
Counter %1% changed
Counter %1% added
Counter %1% removed
Text insert %1% changed
Text insert %1% added
Text insert %1% removed
Clock setting %1% changed
Clock setting %1% added
Clock setting %1% removed
Text variable %1% changed
Text variable %1% added
Text variable %1% removed
Parameter %1% changed
Parameter %1% added
Parameter %1% removed
Shift setting modified
Clockcontrols modified
Error numbers
The following enumeration is used to send an ERROR as answer:
1: Unknown error
2: Unknown command
3: Wrong number of parameters
4: Client has already registered (see REGISTER)
148
Commands
Mandatory parameters are enclosed in angular brackets <>, optional parameters in square
brackets [ ].
The parameter names are prefixed to reflect their data type:
n:
Number
str:
String
b:
Boolean as 0=false, 1=true
ACTION
Command
ACTION <nTypeID>, <nActionID>, <strUserID>, <strTime>, [
[<nLogLevel_0=1>,<nActionId_0>,<strParam_0>,<strOldVal_0>,<strNewVal_0>],
[...],[<nLogLevel_n>,<nActionId2_n>,<strParam2_n>,<strOldVal2_n>,<strNewVal2_n>]]
Description
Sends an audit trail entry for the device with the specified nTypeID
Parameter Description
Top-level entry:
nTypeID
nActionID
see 0
strUserID
strTime
Sub-entries:
nLogLevel
nActionID
see 0
strParam
strOldVal
strNewVal
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Implemented since version
ACTION 1,4,Administrator,,1,4,DSP,,,2,4,strMADFile,Matrix-Adaption/07200.mad,Matrix-Adaption/10-075.mad
See also:
150
GETCOUNTACTION
Command
GETCOUNTACTION <nTypeID>, <strIdentifier>, <strIPAddress>, <strTimeFrom>,
nTypeID
strIdentifier
strIPAddress
strTimeFrom
strTimeTo
nActionID
see 0
strUserID
strParam
strOldVal
strNewVal
Result Description:
Success:
RESULT GETCOUNTACTION
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
See also:
GETCOUNTSTATUS
Command
nTypeID
strIdentifier
strIPAddress
strTimeFrom
strTimeTo
nStatusID
bActive
bAcknowledged
Result Description:
Success:
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
See also:
152
GETACTIONKEYS
Command
GETACTIONKEYS <nTypeID>, <strIdentifier>, <strIPAddress>, <strTimeFrom>, <strTimeTo>,
<nActionID>, <strUserID>, <strParam>, <strOldVal>, <strNewVal>, <nBlock>
Description
Returns the top-level log entries that match the given parameters.
Empty parameters are not compared to match the query.
Parameter Description
nTypeID
strIdentifier
strIPAddress
strTimeFrom
strTimeTo
nActionID
see 0
strUserID
strParam
strOldVal
strNewVal
nBlock
Result Description:
Success:
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
See also:
CMD_GET_ACTIONLOGSUBS
Command
nLogID
nLogLevel
nLogLink
ID that links to this entry. 0 if coming from a toplevel entry, otherwise the return parameter
nLogLink of this command that was sent before.
Result Description:
Success:
strNewVal
New value of a change
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
154
See also:
GETOLDLOGWARNINGLEVEL
Command
GETOLDLOGWARNINGLEVEL
Description
In case the server database capacity is limited, the user should be informed that the data must stored rather
than deleting old entries. A warning just informs the user, an error will disable the client until the server
data has been stored.
Parameter Description
-
Result Description:
Success:
RESULT
GETOLDLOGWARNINGLEVEL<nLevel>
nLevel:
0: None
1: Warning
2: Error
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
See also:
156
GETSTATUS
Command
nTypeID
strIdentifier
strIPAddress
strTimeFrom
strTimeTo
nStatusID
bActive
bAcknowledged
nBlock
Result Description:
Success:
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
See also:
158
QUIT
Command
QUIT
Description
Asks the server process to terminate gracefully
Parameter Description
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
QUIT
OK
See also:
REGISTER
Command
REGISTER <nTypeID>, <strIdentifier>
Description
Registers a client. The nTypeID and strIdentifier should be used to generate client-specific audit-trail
entries, where a coherent set of devices has the same nTypeID, and the strIdentifier is unique for each
device of this type.
Parameter Description
nTypeID
strIdentifier
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
REGISTER 0,Mars
OK
See also:
160
RMOLDACTION
Command
RMOLDACTION <nDays>, <nTypeID>, <strIdentifier>, <strIPAddress>, <strTimeFrom>,
<strTimeTo>, <nActionID>, <strUserID>, <strParam>, <strOldVal>, <strNewVal>, <nBlock>
Description
Remove the entries that are older than nDays and match the given parameters.
Empty parameters are not compared to match the query.
Parameter Description
nDays
nTypeID
strIdentifier
strIPAddress
strTimeFrom
strTimeTo
nActionID
see 0
strUserID
strParam
strOldVal
strNewVal
nBlock
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
See also:
RMOLDSTATUS
Command
nDays
nTypeID
strIdentifier
strIPAddress
strTimeFrom
strTimeTo
nStatusID
bActive
bAcknowledged
nBlock
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
See also:
162
STATUSACK
Command
STATUSACK <nStatusID>, <nLogID>
Description
Marks the status as acknowledged
Parameter Description
nStatusID
Status ID
nlogID
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
See also:
GETSTATUS
STATUS_ACK_BY_FILTER
Command
nTypeID
strIdentifier
strIPAddress
strTimeFrom
strTimeTo
nStatusID
bActive
bAcknowledged
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
See also:
GETSTATUS
164
STATUSBEGIN
Command
STATUSBEGIN <nStatusID>, <nMessageID>, <nSeverity>
Description
States the beginning of an occurence of a status
Parameter Description
nStatusID
Status ID
nMessageID
Message ID
nSeverity
Severity
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
See also:
GETSTATUS
STATUSEND
Command
STATUSEND<nStatusID>
Description
Marks the most recent status entry having this status as ended
Parameter Description
nStatusID
Status ID
Result Description:
Success:
OK
Fault:
ERROR <no>
Properties:
Implemented since version
Examples
See also:
GETSTATUS
166