You are on page 1of 166

Dynamark

Communication Protocol
User Guide

Dynamark Communication Protocol


THIS PAGE INTENTIONALLY LEFT BLANK

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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

Dynamark Communication Protocol


GETVERSION ................................................................................................................................................. 61
GETXML ......................................................................................................................................................... 62
LOADPROJECT .............................................................................................................................................. 63
MARK .............................................................................................................................................................. 64
OBJECTADD .................................................................................................................................................. 65
OBJECTDEL ................................................................................................................................................... 66
QUIT ................................................................................................................................................................ 67
RELOADFONTS ............................................................................................................................................. 68
RESETSYSTEM .............................................................................................................................................. 69
RESTORE ........................................................................................................................................................ 70
ROLLBACKTRANS ....................................................................................................................................... 71
SAVEPROJECT .............................................................................................................................................. 72
SETCO2ONPULSEOFFSET ........................................................................................................................... 73
SETCODINGFILE ........................................................................................................................................... 74
SETCODINGLINE .......................................................................................................................................... 75
SETCOUNT ..................................................................................................................................................... 76
SETCOUNTERVALUE .................................................................................................................................. 77
SETDATA........................................................................................................................................................ 78
SETDATE ........................................................................................................................................................ 79
SETDIGOUT ................................................................................................................................................... 80
SETENCODERDELAY .................................................................................................................................. 81
SETFIELDROTATION ................................................................................................................................... 82
SETGENERICSTATUS .................................................................................................................................. 83
SETMAXCOUNTS ......................................................................................................................................... 84
SETMSG .......................................................................................................................................................... 85
SETPARAM .................................................................................................................................................... 86
SETPOSITIONOFFSET .................................................................................................................................. 88
SETPRINTCOUNTER .................................................................................................................................... 89
SETPRINTERID .............................................................................................................................................. 90
SETSYSTEMCOUNTER ................................................................................................................................ 91
SETTEXT ........................................................................................................................................................ 92
SETVARIABLES ............................................................................................................................................ 93
SETXML .......................................................................................................................................................... 94
SHOWMESSAGE ........................................................................................................................................... 96
TRIGGER ........................................................................................................................................................ 97
UPLOADBINARY .......................................................................................................................................... 98
USERINPUT .................................................................................................................................................... 99
APPENDIX A: ERROR CODES ..................................................................................................................... 100
APPENDIX B: DATA-IDS FOR SETDATA/GETDATA ............................................................................. 101
APPENDIX C: MESSAGE-IDS ...................................................................................................................... 103
APPENDIX D: DYNAMARK 3 AUTHENTICATION PROTOCOL ......................................................... 105
GENERAL ........................................................................................................................................................ 105
COMMAND SYNTAX ........................................................................................................................................ 107
ANSWER SYNTAX............................................................................................................................................ 107
PARAMETER SYNTAX ...................................................................................................................................... 107
ERROR NUMBERS ............................................................................................................................................ 108
COMMANDS .................................................................................................................................................... 109
ADDGROUP ............................................................................................................................................. 109
ADDUSER ................................................................................................................................................. 110
ALTERGROUP .......................................................................................................................................... 112
ALTERUSER ............................................................................................................................................. 113
AUTHUSER ............................................................................................................................................... 115
AUTOLOGIN............................................................................................................................................. 116
AUTOLOGOUT ......................................................................................................................................... 117
CHANGEPW ............................................................................................................................................. 118
CHECKPW ................................................................................................................................................ 120
DELETEGROUP ....................................................................................................................................... 121
DELETEUSER ........................................................................................................................................... 122
GETDEPARTMENTS ................................................................................................................................ 123
4

L027952 Issue 5 July 2014

Dynamark Communication Protocol


GETGROUPS ............................................................................................................................................ 124
GETMUSTCHANGEPW ........................................................................................................................... 125
GETPWPOLICY ........................................................................................................................................ 126
GETSECURITYMODE .............................................................................................................................. 128
GETSETTINGS .......................................................................................................................................... 129
GETUSER .................................................................................................................................................. 130
GETUSERBYINDEX ................................................................................................................................. 132
LOGIN ....................................................................................................................................................... 134
LOGOUT ................................................................................................................................................... 135
QUIT.......................................................................................................................................................... 136
REGISTER ................................................................................................................................................. 137
SETMUSTCHANGEPW ............................................................................................................................ 138
SETPWPOLICY ......................................................................................................................................... 139
SETSETTINGS ........................................................................................................................................... 140
SIGN .......................................................................................................................................................... 141
SIGNALS .......................................................................................................................................................... 142
SIG_USERCHANGED .............................................................................................................................. 142
MESSAGES ...................................................................................................................................................... 143
MSG ........................................................................................................................................................... 143
Authentication message-IDs ...................................................................................................................... 143
APPENDIX E: DYNAMARK 3 LOGGING PROTOCOL ........................................................................... 144
GENERAL ........................................................................................................................................................ 144
COMMAND SYNTAX ........................................................................................................................................ 145
ANSWER SYNTAX............................................................................................................................................ 145
PARAMETER SYNTAX ...................................................................................................................................... 146
ACTION IDS .................................................................................................................................................... 147
ERROR NUMBERS ............................................................................................................................................ 148
COMMANDS .................................................................................................................................................... 149
ACTION ..................................................................................................................................................... 149
GETCOUNTACTION ................................................................................................................................ 151
GETCOUNTSTATUS ................................................................................................................................ 152
GETACTIONKEYS .................................................................................................................................... 153
CMD_GET_ACTIONLOGSUBS ............................................................................................................... 154
GETOLDLOGWARNINGLEVEL .............................................................................................................. 156
GETSTATUS .............................................................................................................................................. 157
QUIT.......................................................................................................................................................... 159
REGISTER ................................................................................................................................................. 160
RMOLDACTION ....................................................................................................................................... 161
RMOLDSTATUS........................................................................................................................................ 162
STATUSACK ............................................................................................................................................. 163
STATUS_ACK_BY_FILTER ...................................................................................................................... 164
STATUSBEGIN.......................................................................................................................................... 165
STATUSEND ............................................................................................................................................. 166

L027952 Issue 5 July 2014


5

Dynamark Communication Protocol


THIS PAGE INTENTIONALLY LEFT BLANK

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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.

Changes compared to Dynamark 2 software


versions
The interface is based on the version that has been used for years in Dynamark 2, however due
to the different system architecture of Dynamark 3 systems a number of commands (and the
corresponding messages) have been removed:
CHANGEINI
LOADINI
OEMSELECT
RESETINSERT
SETDEBUG
SETOCRDATA
SHOWHELP
SYSTEMUPDATE
GETACTIVEPROJECT
Also Authentication Support has been moved towards the remote server authentication
procedure that uses a different communication channel and a different protocol please refer
to appendix D.
Because of this the following commands (and the corresponding messages) are now
unsupported:
ACKNSIGNATURE
AUTHLOGIN
CHANGEPASSWORD
GETLOGOUTUSER
GETUSER
GROUPLOGIN
INVOKELOGIN
SETELECTRSIGN
SETLOGIN
SETLOGOUTTIMER
Finally, the Logging support has been moved towards the remote server logging procedure that
uses a different communication channel and a different protocol please refer appendix E.
Because of this the following commands (and the corresponding messages) are now
unsupported:
CLEANLOG
GETSTATISTICS
LOGACTION
RESETSTATISTICS
L027952 Issue 5 July 2014
7

Dynamark Communication Protocol

Multi Head Integration


In multi head configuration commands will be distributed to the connected controllers. Many
of the commands can be used as without multi head configuration but some commands were
modified.

Interface Configuration
The interface can be configured in the settings area of the Dynamark software.

Follow the topic key


Dynamark 2 Interface.

and navigate to the menu Settings / Communications /

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.

Testing the TCP/IP Interface from a remote PC with MS


Windows
Connect the remote PC to the laser controller using standard 100MBit RJ45 network cabling
(using a network-hub or a simple cross-cable).
Configure the PC for the same logical network as the laser controller. By default the laser
controller is configured to use DHCP on the 2nd network adapter (the first one is reserved for
the panel and by default configured to 192.168.57.2/255.255.255.0). The remote PC will need
to be configured to another address belonging to this logical network.
The way to configure the network addresses of your remote PC is different in the different
versions of MS Windows operating systems; therefore it is only described for the MS Windows
2000 or MS Windows XP systems:
Navigate to the control panel of the remote PC and double-click "Network and Dial-up
Connection", "Local area Connection", "Properties" and "Internet Protocol (TCP/IP)". One
should now see the TCP/IP settings which should be changed according to the explanations
above. Afterwards press "OK" two times to close and apply the TCP/IP settings.

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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).

L027952 Issue 5 July 2014


9

Dynamark Communication Protocol

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.

Testing the RS232 Interface from a Remote PC with MS


Windows
Please connect the remote PC using standard Null-Modem cabling.
A RS232 terminal client like HYPERTERMINAL can be started which again comes with MS
Windows. In the following is described how to set up a RS232 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 the COM-port of your Null-Modem cable in the "Connect Using"
section.
Configure the RS232 communication settings in the next dialog window these have to fit to
the settings configured in the Dynamark setup. By default these settings are the following:
Bits Per Second:
9600
Data Bits:
8
Parity:
None
Stop Bits:
1
Flow Control:
None

10

L027952 Issue 5 July 2014

Dynamark Communication Protocol


After applying these settings please 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

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.

L027952 Issue 5 July 2014


11

Dynamark Communication Protocol

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

L027952 Issue 5 July 2014

Dynamark Communication Protocol


In most applications these two commands should be sufficient; anyway sometimes there is a need
to change the contents of text or MRC objects after loading a message.
Create another message called 5 and insert a text object called "Text 1" and a MRC object called
"Barcode 1" into this message and save it. The following example shows the loading of a message,
the changing of the contents of MRC and text and the enabling of the marking.
LOADPROJECT store:/5 [ENTER]
OK
SETTEXT "Text 1" "New Text" [ENTER]
OK
SETTEXT "Barcode 1" "New Barcode" [ENTER]
OK
MARK START [ENTER]
OK
The text should be printed as "New Text" and the human readable contents of the MRC object
should be "New Barcode".
Text contents or other object attributes can be changed while marking is enabled.
Note that the OK result of a SETTEXT command or other message changing commands only
advises that the attribute has been set properly. There would not be any indication that the
message contained the new data, if a new print were to be triggered straight away.
If such information is required, refer to HOW TO USE MESSAGES.

L027952 Issue 5 July 2014


13

Dynamark Communication Protocol


Transactions
Previous examples showed how to load marking layouts, change text within those layouts and
how to enable marking.
In reality, messages may be much larger than the examples given earlier, with many more text
content changes. More and more SETTEXT or SETDATA commands can be added before
enabling marking, but this practice leads to an unwanted mixture of communications, containing
half of the old and half of the new contents. This problem is overcome by using the Transaction
function.
By using this Transaction function, the next change can be prepared by sending all SETTEXT/
SETDATA commands and setting them "live" at a defined time with the EXECTRANS
command.
As already explained previously this is another command that returns OK after successfully
having set all attributes; it does not advise that the new data has already been compiled and set
ready for printing.
Example:
Load one of the messages from the previous examples and enable marking.
LOADPROJECT store:/5 [ENTER]
OK
MARK START [ENTER]
OK
Start printing and carry out a few test prints, then enter the following commands, triggering
prints whilst entering them:
BEGINTRANS [ENTER]
OK
SETTEXT "Text 1" "Domino AG" [ENTER]
OK
SETTEXT "Barcode 1" "Domino Laser GmbH" [ENTER]
OK
EXECTRANS [ENTER]
OK
Note that the old print commands will be seen even after the SETTEXT command has executed.
The new contents will not be displayed before the EXECTRANS command has been executed.

14

L027952 Issue 5 July 2014

Dynamark Communication Protocol


How to use Messages
Previous chapters described that (while marking is enabled) the OK result of a command like
SETTEXT which changes the marking contents will not advise that this new content is now
ready for marking.
Note that after every change the laser controller software needs to recompile the complete layout
data (e.g. vectorize the text contents) and send them to the real time marking controller within
the laser controller.
It may be useful to know when these new contents are really ready to print. In APPENDIX C
it can be seen that message-id 1 can be used for getting this information.
The laser controller sends data over the open interface connection without a previous request,
so the normal request-answer concept is broken in some way. If a TCP/IP connection is used,
it is recommended to use a second connection for these messages, to prevent client software
confusion when a message comes in whilst another command is being sent. As there are a lot of
messages and just a few of them are normally needed, each message has to be enabled separately
with the SETMSG command.
Returning to the problem described earlier:
In the following example we enable a message, change text contents and want to know when
the controller is ready again with the new data:
SETMSG 1 1 [ENTER]
OK
LOADPROJECT store:/5 [ENTER]
OK
MARK START [ENTER]
OK
BEGINTRANS [ENTER]
OK
SETTEXT "Text 1" "Domino AG" [ENTER]
OK
SETTEXT "Barcode 1" "Domino Laser GmbH" [ENTER]
OK
EXECTRANS [ENTER]
OK
MSG 1
The MSG 1 that is sent from the laser controller advises when new data is active and ready to
print.
In the second example that follows, notification of every print start is required. Enter these commands directly
after having completed the previous example.

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.

L027952 Issue 5 July 2014


15

Dynamark Communication Protocol


Command Reference

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

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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

name of parameter set to be overwritten

source

name of parameter set which values shall be used for


copying

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

Examples

ASSIGNPARAMSET "Slow" "Fast"

assigns all the parameters of the parameter set "Fast" to the parameter set "Slow"
See also:

GETPARAMSETS
Multi Head Extension:
Fault:

ERROR <no> <printer name> <no> <printer


name>

L027952 Issue 5 July 2014


17

Dynamark Communication Protocol


BACKUP
Command

BACKUP <mode> <path>


Description

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

mode=0 (system backup)


sets, system-configuration, fonts
Error will be returned
mode=1 (audit trail export)

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

Path to the destination.

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

Examples

BACKUP 0 \hard disk\data

creates a complete system backup and stores it into the folder \hard disk\data.
See also:

RESTORE
Multi Head:
Not supported

18

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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

Implemented since version

Dynamark 3 Backend 1.0

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:

ERROR <no> <printer name> <no> <printer


name>

L027952 Issue 5 July 2014


19

Dynamark Communication Protocol

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

Implemented since version

Dynamark 3 Backend 1.0

See also:

BUFFERDATA, GETBUFFERSTATUS, BUFFERREVOKE, MSG 27, MSG 31


Multi Head Extension:
Fault:

20

ERROR <no> <printer name> <no> <printer


name>

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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

Unique identifier of the data record.


Set this value to -1 if unique identifier is not
necessary

text

These parameters contain the coding data. Note that


until Dynamark 3.2, the number of texts was limited
to 10.

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

Examples

BUFFERDATA 1 record1 text1 record1 text2


BUFFERDATA 2 record2 text1 record2 text2

This example writes two coding datasets to the Dynamark application.


See also:

BUFFERCLEAR, GETBUFFERSTATUS, BUFFERCONFIG, REVOKEDATA, MSG


25, MSG 27, MSG 31
Multi Head Extension:
Fault:

ERROR <no> <printer name> <no> <printer


name>

L027952 Issue 5 July 2014


21

Dynamark Communication Protocol

BUFFERCONFIG
Command
BUFFERCONFIG <option> <value>
Description
This command configures the remote queue.
Parameter Description
Option

Option to set

Value

Value for the option

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3.2

Options:
maximum_record_age

The maximum time in seconds before a record is


discarded. Set this to empty if you dont want the
records to expire (default).
Note:
This option is only available if the feature key for
the feature Remote Queue Enhancements is
inserted into the laser controller!

Examples:

BUFFERCONFIG maximum_record_age 60

This example causes Dynamark to automatically discard any record older than one minute.
See also:

BUFFERCLEAR, BUFFERCLEAR, GETBUFFERSTATUS, BUFFERCONFIG,


BUFFERREVOKE, MSG 25, MSG 27, MSG 31
Multi Head Extension:
Fault:

22

ERROR <no> <printer name> <no> <printer


name>

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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

This specifies more specifically what to discard, see


table of functions below.

parameters

Function parameters. The exact number and


meaning depends on the used function, see table
below.

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Transaction-Command

No

Implemented since version

Dynamark 3.2

Functions:
record <ID>

Discard a record specified by its ID.

maximum_record_age <age>

Discard all records older than a maximum age in


seconds, similar to the BUFFERCONFIG option.

Examples:

BUFFERREVOKE maximum_record_age 60

This example revokes all records older than sixty seconds.

BUFFERREVOKE record 2

This example revokes the record with the ID 2.

BUFFERCLEAR, BUFFERCLEAR, GETBUFFERSTATUS, BUFFERCONFIG, MSG


25, MSG 27, MSG 31
Multi Head Extension:
Fault:

ERROR <no> <printer name> <no> <printer


name>

L027952 Issue 5 July 2014


23

Dynamark Communication Protocol

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

Full path to the URL of the file to be deleted.

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3.7.0.25

Examples

DELETEFILE \hard disk\domino\filecoding\codes.txt


Removes the file codes.txt in the folder \hard disk\domino\filecoding
See also:

Multi Head Extension:


Not supported

24

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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

Implemented since version

Dynamark 3 Backend 1.0

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).

L027952 Issue 5 July 2014


25

Dynamark Communication Protocol


ENABLESECTION
Command

ENABLESECTION <Section> <enable>


Description

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

Name of the section to be enabled or disabled for


marking; all names of the objects belonging to this
section need to start with this.

enable

enable=0:
marked
enable=1:

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Transaction-Command

yes

Implemented since version

Dynamark 3 Backend 1.0

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:

Multi Head Extension:


Fault:

26

ERROR <no> <printer name> <no> <printer


name>

L027952 Issue 5 July 2014

Dynamark Communication Protocol

EXECTRANS
Command
EXECTRANS
Description

Executes a transaction introduced with the BEGINTRANS command.


Each transaction can only be executed once.
Depending on the configuration of Dynamark, the external print go trigger may be disabled
while executing the transaction (if "Force Recompile between Prints" is enabled manually or
by automatic mode).
Parameter Description
Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

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:

ERROR <no> <printer name> <no> <printer


name>

L027952 Issue 5 July 2014


27

Dynamark Communication Protocol

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:

RESULT GETBUFFERSTATUS <level>

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

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

L027952 Issue 5 July 2014

Dynamark Communication Protocol


GETCO2ONPULSEOFFSET
Command

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:

RESULT GETCO2ONPULSEOFFSET <offset>

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

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

Multi Head Extension:


Success:

RESULT GETCO2ONPULSEOFFSET <offset>


<printer name> <offset> <printer name>

Fault:

ERROR <no> <printer name> <no> <printer


name>
When one controller failed and others are success
than the result starts always with the failed controller.

L027952 Issue 5 July 2014


29

Dynamark Communication Protocol

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:

RESULT GETCODINGFILE <filename>


<codes-per-print>

Fault:

ERROR <no>

Properties:
Transaction-Command

No

Implemented since version

Dynamark 3 Backend 1.0

See also:

SETCODINGFILE
Multi Head Execution:

No differences to the description above (will be sent to the primary controller only).

30

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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:

RESULT GETCODINGLINE <count>

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3.7.0.25

Examples

GETCODINGLINE
RESULT GETCODINGLINE 41
See also:
SETCODINGLINE
Multi Head Execution:

Not supported

L027952 Issue 5 July 2014


31

Dynamark Communication Protocol

GETCOUNT
Command

GETCOUNT <Counter-ID>
Description

Reads the current formatted value of the specified counter.


Parameter Description
Counter-ID

Name of the user defined counter

Result Description:
Success:

RESULT GETCOUNT <Counter-ID> <Value>

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

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

L027952 Issue 5 July 2014

Dynamark Communication Protocol

GETCOUNTERVALUE
Command

GETCOUNTERVALUE <Counter-ID>
Description

Reads the current reference value of the specified counter.


Parameter Description
Counter-ID

Name of the user defined counter

Result Description:
Success:

RESULT GETCOUNTERVALUE
<Counter-ID> <Value>

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

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).

L027952 Issue 5 July 2014


33

Dynamark Communication Protocol

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:

RESULT GETCURRENTPROJECT <URI>

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

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

L027952 Issue 5 July 2014

Dynamark Communication Protocol


GETDATA
Command
GETDATA <Object> <Data-ID>
Description
Reads the specified property attribute from the specified object.
The numeric identifier of each property can be obtained in Appendix B.
Parameter Description
Object

Name of the object

Data-ID

Numeric identifier of the property attribute

Result Description:
Success:

RESULT GETDATA <Object> <Data-ID>


<Text>

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

Examples

GETDATA "Text 1" 10


RESULT GETDATA "Text 1" 10 "14.10"

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).

L027952 Issue 5 July 2014


35

Dynamark Communication Protocol

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:

RESULT GETDATE <hour> <minute>


<second> <year> <month> <day>

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

Examples

GETDATE
RESULT GETDATE 13 45 00 2004 09 02

The system time is the 2nd of September 2004 at 13:45.00 o'clock.


See also:

SETDATE
Multi Head Execution:

No differences to the description above (will be sent to the primary controller only).

36

L027952 Issue 5 July 2014

Dynamark Communication Protocol


GETDIGITALIN
Command
GETDIGITALIN
Description
Determines the current state of the high level digital inputs and returns it as 64-bit hexadecimal value.
Please note that these inputs are used internally by the laser controller and should only be used for other
applications with the explicit permission of the Domino Printing Sciences plc.
Parameter Description
Result Description:
Success:

RESULT GETDIGITALIN <value>

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

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:

RESULT GETDIGITALIN <value> <printer


name> <value> <printer name>

Fault:

ERROR <no> <printer name> <no> <printer


name>
When one controller failed and others are success
than the result starts always with the failed controller.

L027952 Issue 5 July 2014


37

Dynamark Communication Protocol

GETENCODERDELAY
Command
GETENCODERDELAY <global>
Description
Determines the current setting of the encoder delay.
Parameter Description
global

This parameter is optional.


global=0
Returns the encoder delay defined in the message. If
the return value is empty () the encoder delay is
not defined in the message.
global=1 (default)
Returns the global encoder delay.

Result Description:
Success:

RESULT GETENCODERDELAY <delay>

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

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

L027952 Issue 5 July 2014

Dynamark Communication Protocol


Command
GETFIELD
Description
Returns information on the print field dimensions in mm, direction and whether mark on the fly is
enabled or not.
Parameter Description
Result Description:
Success:

RESULT GETFIELD <F-Xmin> <F-Xmax> <FYmin> <F-Ymax> <U-Xmin> <U-Xmax> <UYmin> <U-Ymax> <Fields> <Origin>
With
<F...>:
<U...>:
<Fields>:
<Origin>:

Fault:

Full field dimensions (mm)


Usable field dimensions (mm)
unsupported (always -1)
0 = static marking
1 = from left to right
2 = from right to left
3 = from bottom to top
4 = from top to bottom

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

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:

Multi Head Extension:


Success:

RESULT GETFIELD <F-Xmin> <F-Xmax> <FYmin> <F-Ymax> <U-Xmin> <U-Xmax> <UYmin> <U-Ymax> <Fields> <Origin>
<printer name>

Fault:

ERROR <no> <printer name> <no> <printer


name>
When one controller failed and others are success
than the result starts always with the failed controller.

L027952 Issue 5 July 2014


39

Dynamark Communication Protocol

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:

RESULT GETFIELDROTATION rotate_angle

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 3.4

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

L027952 Issue 5 July 2014

Dynamark Communication Protocol

GETFONTS
Command
GETFONTS
Description
Determines all fonts available on the laser controller formatted as a list of strings.
Parameter Description
Result Description:
Success:

RESULT GETFONTS <Name> <Name> ....

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

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).

L027952 Issue 5 July 2014


41

Dynamark Communication Protocol


GETHPGL
Command
GETHPGL [path]
Description
Returns the content of the current message as HPGL code, i.e. "Hewlett Packard Graphics Language". If
the optional parameter path is not supplied it returns the HPGL source itself (without carriage-return and
linefeed-characters).
With path as parameter the HPGL code is saved to a file given as a full qualified path.
Parameter Description
path

path to the destination file (write access grants


needed).

Result Description:
Success:

RESULT GETHPGL <hpgl-sources>


if used without the "path"-parameter, otherwise:
RESULT GETHPGL <path>

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

Examples

GETHPGL \hard disk\DATA\EXAMPLE.PLT


RESULT GETHPGL \hard disk\DATA\EXAMPLE.PLT

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

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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:

RESULT GETLANGUAGE <language-id>

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

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).

L027952 Issue 5 July 2014


43

Dynamark Communication Protocol

GETMARKMODE
Command
GETMARKMODE
Description
Determines the current state of the marking engine on the laser controller.
Parameter Description
Result Description:
Success:

RESULT GETMARKMODE <mode>


mode=0: marking is not enabled
mode=1: marking is enabled

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

Examples

GETMARKMODE
RESULT GETMARKMODE 1

This example tells the remote peer that the marking engine is currently enabled.
See also:

MARK, SETMSG 11, SETMSG 12


Multi Head Execution:

No differences to the description above (will be sent to the primary controller only).

44

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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

Implemented since version

Dynamark 3 Backend 1.0

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:

Multi Head Extension:


Success:

RESULT GETMARKTIMESTATISTICS
<polygons> <vectors> <print-time>
[<current-speed> <max-speed>] <printer name>

Fault:

ERROR <no> <printer name> <no> <printer


name>
When one controller failed and others are success
than the result starts always with the failed controller.

L027952 Issue 5 July 2014


45

Dynamark Communication Protocol


GETOBJECTS
Command
GETOBJECTS [Object-type]
Description
Determines all objects available as a list of strings.
You may optionally add a type-identifier as parameter to filter the output to one object-type only.
Parameter Description
Object-type

Optional filter-string; can be


"CObjBarcode"
for MRCs,
"CObjBitmap"
for Bitmaps,
"CObjDXF"
for DXF-Objects,
"CObjHPGL"
for HPGL-Objects,
"CObjKreis"
for Arcs,
"CObjRect"
for Rectangles,
"CObjText"
for Texts

Result Description:
Success:

RESULT GETOBJECTS "<Name>" "<Name>"


....

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

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

L027952 Issue 5 July 2014

Dynamark Communication Protocol


GETPARAM
Command
GETPARAM <param-id> [additional-param-ids] []
Description

This command is used for getting setup and runtime parameters of the printer
Parameter Description
1) Parameters about serial number
SerialnoController

Serial number of the controller

SerialnoLaser

Serial number of the laser

SerialnoScanner

Serial number of the scanner

2) Parameters about network settings


HostName

Host name

NetworkAddress n

IP, subnet-mask, and gateway of the adapter n

NetworkDNS n

Domain, Dns of the adapter n

MacAddress n

Mac Address of the adapter n

3) Parameter about Laser


LaserCalibration (LC)

LaserCalibration is a positive float value, e.g., 0.857.

Result Description:
Success:

RESULT GETPARAM <param-id> [additionalparam-id] <param-value> [additional-param-values]


[...]

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 3.4

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

Dynamark Communication Protocol


Command
getparam lasercalibration (or getparam lc)
RESULT GETPARAM LASERCALIBRATION 0.9
If the laser power of a parameter set is 80%, then the effective power is 72%.
See also:

SETPARAM
Multi Head Extension:

No differences to the description above (will be sent to the primary controller only)

48

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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:

RESULT GETPARAMSETS "<Name>"


"<Name>" ....

Fault:

ERROR <no>

Properties:
Transaction-Command

No

Implemented since version

Dynamark 3 Backend 1.0

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).

L027952 Issue 5 July 2014


49

Dynamark Communication Protocol

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

Name of the text or MRC object of which


the parsed text shall be obtained

Result Description:
Success:

RESULT GETPARSEDTEXT "<object>"


"<text> "

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

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 "Text 1"


RESULT GETTEXT "Text 1" "<CNT:1><10><CLK_ss:1>"
GETPARSEDTEXT "Text 1"
RESULT GETPARSEDTEXT "Text 1" "0010<10>15"
See also:

GETTEXT, SETTEXT
Multi Head Execution:

No differences to the description above (will be sent to the primary controller only).

50

L027952 Issue 5 July 2014

Dynamark Communication Protocol


GETPOSITIONOFFSET
Command
GETPOSITIONOFFSET
Description
Requests the currently active offsets in mm that are applied to the complete marking contents.
Parameter Description
Result Description:
Success:

RESULT GETPOSITIONOFFSET <x-offset>


<y-offset>

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

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).

L027952 Issue 5 July 2014


51

Dynamark Communication Protocol

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:

RESULT GETPRINTCOUNTER <count>

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

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

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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:

RESULT GETPRINTERID <id>

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 3.2.0.23

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).

L027952 Issue 5 July 2014


53

Dynamark Communication Protocol

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

Optional parameter specifying the message


store name that shall be looked at

Result Description:
Success:

RESULT GETPROJECTS [project1] [project2] ...

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

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

L027952 Issue 5 July 2014

Dynamark Communication Protocol


GETSTATUS
Command
GETSTATUS [all-messages]
Description
Determines the current status of the controller (message with the highest priority) and returns the
translated text, the status-id and the describing text in the selected translation.
Parameter Description

all-messages

optional parameter; if =1 you will get the


information on all active status messages, e.g.

RESULT GETSTATUS <severity1> <status-id1>


"<text1>" <severity2> <status-id2> "<text2>"
Result Description:
Success:

RESULT GETSTATUS <severity> <status-id>


"<text>"
Severity:
0=information
1=warning
2=temporary fault
3=critical fault
4=critical fault (needs to be reset by hardware)
Status-ID:
see operations manual
Text:
The text returned here is the message-text in the
language that is currently selected on the userinterface.

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

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:

The status text starts with <printer name>:


RESULT GETSTATUS <severity> <status-id>
"<<printer name:> text>"

Fault:

ERROR <no> <printer name> <no> <printer


name>

L027952 Issue 5 July 2014


55

Dynamark Communication Protocol


Command
When one controller failed and others are success
than the result starts always with the failed controller.

56

L027952 Issue 5 July 2014

Dynamark Communication Protocol

GETSYSTEMCOUNTER
Command
GETSYSTEMCOUNTER <counter-id>
Description
Returns the current value of the corresponding counter.
Parameter Description

counter-id

Parameter specifying the counter that is being


requested.
1 = runtime of controller in seconds
2 = runtime of laser in seconds
3 = number of prints for currently selected
message
4 = overall number of prints (not resettable)
5 = number of prints since last reset (resettable
to user-defined start value)

Result Description:
Success:

RESULT GETSYSTEMCOUNTER <counterid> <value>

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 3.6

Examples

GETSYSTEMCOUNTER 5
RESULT GETSYSTEMCOUNTER 5 173
See also:

SETSYSTEMCOUNTER
Multi Head Execution:

No.

L027952 Issue 5 July 2014


57

Dynamark Communication Protocol

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

Name of the text or MRC object of which


the unparsed text shall be obtained

Result Description:
Success:

RESULT GETTEXT "<Object>" "<Text>"

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

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 "Text 1"


RESULT GETTEXT "Text 1" "<CNT:1><10><CLK_ss:1>"
GETPARSEDTEXT "Text 1"
RESULT GETPARSEDTEXT "Text 1" "0010<10>15"
See also:

GETPARSEDTEXT, SETTEXT
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).

58

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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

Alphanumeric ID of the variable to be obtained.

Result Description:
Success:

RESULT GETVARIABLES "<contents>"

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

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).

L027952 Issue 5 July 2014


59

Dynamark Communication Protocol

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:

RESULT GETVARLIST "<Variable-ID1>"


"<Variable-ID2>" ... "<Variable-ID3>"

Fault:

ERROR <no>

Properties:
Transaction-Command

No

Implemented since version

Dynamark 3 Backend 1.0

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

L027952 Issue 5 July 2014

Dynamark Communication Protocol


GETVERSION
Command
GETVERSION
Description
This command obtains the version of the laser controller software and the versions of soft- and hardware
of the marking controller within the laser controller and the version of the controller image.
Parameter Description
Result Description:
Success:

RESULT GETVERSION "<software>" "<dsp>"


<image>

Fault:

ERROR <no>

Properties:
Transaction-Command

No

Implemented since version

Dynamark 3 Backend 1.0

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:

Multi Head Extension:


Success:

RESULT GETVERSION "<software>" "<dsp>"


<image> <printer name>

Fault:

ERROR <no> <printer name> <no> <printer


name>
When one controller failed and others are success
than the result starts always with the failed controller.

L027952 Issue 5 July 2014


61

Dynamark Communication Protocol


GETXML
Command
GETXML
Description
This command returns the message data of the currently enabled message as XML stream (containing no
carriage-return and no line-feed as these are the end-identifiers).
Parameter Description
Result Description:
Success:

RESULT GETXML <xml-code>

Fault:

ERROR <no>

Properties:
Transaction-Command

No

Implemented since version

Dynamark 3 Backend 1.0

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

L027952 Issue 5 July 2014

Dynamark Communication Protocol

LOADPROJECT
Command
LOADPROJECT <URI>
Description
Loads the specified message into the marking engine of the laser controller.
Parameter Description
URI

This parameter references the message that shall be


loaded.
This parameter can have four forms
file:<path>, with path being a path and filename
or just a filename (the application then interprets
this as relative to the message store root)
store:<store ID>/<message ID>, specifying a store
and message from where to load the message. If
<store ID> is empty the currently selected
message store is used.
"" (two double-quotes without a blank in
between) for closing the current message
The fourth form is the one that is tried when
neither of the above fit, and that is to interpret
the given argument as a path like the above file:
access method, with the exception that it
automatically appends .dprj as extension if not
already present. This third form is mainly for
compatibility with Dynamark2 and shouldnt be
used.

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Transaction-Command

yes

Implemented since version

Dynamark 3 Backend 1.0

Examples

LOADPROJECT "file:\hard disk\domino\msgs\msgstore1\hobbingen.dprj"

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).

L027952 Issue 5 July 2014


63

Dynamark Communication Protocol


MARK
Command
MARK <action> [LOGOUT]
Description
This command controls (means enables or disables) the marking mode of the laser controller.
Note:
The 2nd parameter is not supported in Dynamark 3 anymore it is just specified here to make the
incompatibility to Dynamark 2 visible.
Also the option TOGGLE_WITH_LOGIN as <action> parameter is now unsupported.
Parameter Description
action

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

Implemented since version

Dynamark 3 Backend 1.0

Examples

MARK START

enables the marking mode


See also:

GETMARKMODE
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).

64

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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

Type of the object to insert; possible values are:


- text
- MRC
- rect
- arc
- dxf
- hpgl
- bitmap

name

Name of the new object (must be unique)

x/y-position

Position in mm of the new object (optional; if not


specified the object will be placed to 0.0/0.0)

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Transaction-Command

yes

Implemented since version

Dynamark 3 Backend 1.0

Examples

OBJECTADD rect Bilbo 10 5


OK

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).

L027952 Issue 5 July 2014


65

Dynamark Communication Protocol

OBJECTDEL
Command
OBJECTDEL <name>
Description
This command removes the specified marking object from the currently activated message.
Parameter Description
name

Name of the object to be deleted

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Transaction-Command

yes

Implemented since version

Dynamark 3 Backend 1.0

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

L027952 Issue 5 July 2014

Dynamark Communication Protocol


QUIT
Command
QUIT <mode>
Description
Quits the laser application and shuts the underlying operating system down or reboots it (depending on
the value of <mode>)
Parameter Description
mode

mode=0:
controller
mode=5:

namark application and shuts down the


computer (unsupported on standard controllers with
MS Windows CE)
mode=6:
computer
mode=21:
down the computer (forcing; unsupported on
standard controllers with MS Windows CE)
mode=22:
the computer (forcing)
Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

Examples

QUIT 5

This example shuts down the system.


See also:
Multi Head Extension:
Fault:

ERROR <no> <printer name> <no> <printer


name>

L027952 Issue 5 July 2014


67

Dynamark Communication Protocol

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

Implemented since version

Dynamark 3 Backend 1.0

Examples

RELOADFONTS 1
OK
See also:

Multi Head:
Not supported

68

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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

Implemented since version

Dynamark 3 Backend 1.0

Examples

RESETSYSTEM
OK
See also:
Multi Head Extension:
Fault:

ERROR <no> <printer name> <no> <printer


name>

L027952 Issue 5 July 2014


69

Dynamark Communication Protocol


RESTORE
Command
RESTORE <mode> <path>
Description
Recovers system-data from the backup file specified by the path that is given as second parameter.
Parameter Description
Mode

mode=0:
system configuration, fonts
-file must be available as generated
with the BACKUP-command

path

Path to the source directory (read access needed).

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Transaction-Command

No

Implemented since version

Dynamark 3 Backend 1.0

Examples

RESTORE 0 "\hard disk\data\20080202.rbb"

Restores the system configuration from the data available in the folder \hard disk\data.
See also:

BACKUP
Multi Head:
Not supported

70

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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

Implemented since version

Dynamark 3 Backend 1.0

Examples

SETTEXT "Text 1" "Bilbo"


OK
BEGINTRANS
OK
SETTEXT "Text 1" "Frodo"
OK
ROLLBACKTRANS
OK
GETTEXT "Text 1"
RESULT GETTEXT "Text 1" "Bilbo"

This example shows that the transaction has not been executed.
See also:

BEGINTRANS, EXECTRANS
Multi Head Extension:
Fault:

ERROR <no> <printer name> <no> <printer


name>

L027952 Issue 5 July 2014


71

Dynamark Communication Protocol

SAVEPROJECT
Command
SAVEPROJECT <URI>
Description
Saves the current message using the filename specified as parameter.
Parameter Description
URI

The message currently loaded into the marking


engine shall be saved under the specified
name/location:
This parameter can have three forms
file:<path>, with path being a path and filename
or just a filename (the application then interprets
this as relative to the message store root)
store:<store ID>/<message ID>, specifying a store
and message from where to load the message. If
<store ID> is empty the currently selected
message store is used.
The third form is the one that is tried when
neither of the above fit, and that is to interpret
the given argument as a path like the above file:
access method, with the exception that it
automatically appends .dprj as extension if not
already present. This third form is mainly for
compatibility with Dynamark2 and shouldnt be
used.
live: will store the information on the current live
message to the internal storage device so it can be
restored after power cut.

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

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

L027952 Issue 5 July 2014

Dynamark Communication Protocol


SETCO2ONPULSEOFFSET
Command
SETCO2ONPULSEOFFSET [prefix] <offset>
Description

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

Optional Prefix of the parameter sets to be offset

Offset

Offset value for the CO2 laser on pulse.

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Transaction-Command

Yes

Implemented since version

Dynamark 3 Backend 1.0

Examples

SETCO2ONPULSEOFFSET 5

This example sets an offset value of 5 in the laser controller.


See also:

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:

ERROR <no> <printer name> <no> <printer


name>

L027952 Issue 5 July 2014


73

Dynamark Communication Protocol

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

path and file name of the coding file

counts-per-print

number of lines in the text that are read per print


optional parameter (if not specified the current value
remains unchanged)
Special Handling of value 0:
If this parameter is set to 0 then the internal position
markers of this file (or in case a * is specified for
the filename for all coding files) will be deleted.

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Transaction-Command

No

Implemented since version

Dynamark 3 Backend 1.0

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

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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

Line number within the coding file

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3.7.0.25

Examples

SETCODINGLINE 41
OK
See also:
GETCODINGLINE
Multi Head Execution:

Not supported

L027952 Issue 5 July 2014


75

Dynamark Communication Protocol


SETCOUNT
Command
SETCOUNT <Counter-ID> <Value>
Description
Sets the specified counter to the specified value.
Depending on the second parameter this can be done by an absolute or by a relative value.
Parameter Description
Counter-ID

Name of the counter

Value

This parameter references the new value of the


counter.
It can also be used to update the counter-value
relative to its current value - in these cases the first
character of this parameter has to be a "+" or a "-"
character for incrementing or decrementing the
current value.

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Transaction-Command

No

Implemented since version

Dynamark 3 Backend 1.0

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

L027952 Issue 5 July 2014

Dynamark Communication Protocol

SETCOUNTERVALUE
Command
SETCOUNTERVALUE <Counter-ID> <Value>
Description
Sets the internal reference for the specified counter to the specified value.
Parameter Description
Counter-ID

Name of the user defined counter

Value

This parameter references the new reference value of


the counter.

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Transaction-Command

No

Implemented since version

Dynamark 3 Backend 1.0

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).

L027952 Issue 5 July 2014


77

Dynamark Communication Protocol


SETDATA
Command
SETDATA <Object> <Data-ID> <Data>
Description
Sets value of attribute specified by Data-ID.
The numeric identifier of each property can be obtained in Appendix B.
Parameter Description
Object

Name of the object

Data-ID

Numeric identifier of the property attribute

Data

Data that shall be written into the specified


property

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Transaction-Command

Yes

Implemented since version

Dynamark 3 Backend 1.0

Examples

SETDATA "Text 1" 10 14.10


OK

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

ERROR <no> <printer name> <no> <printer


name>

L027952 Issue 5 July 2014

Dynamark Communication Protocol


SETDATE
Command
SETDATE <hour> <minute> <second> [year] [month] [day]
Description
Sets time/date of the system; setting the date is optional and can be left out.
Attention:
This command works without handshake for high-precision-timings, use one of several available
implementations of TIMED (time-daemon) or contact the Domino Printing Sciences plc for assistance.
Parameter Description
Hour

Numeric value for current hours of the daytime


(0..23)

Minute

Numeric value for current minutes of the daytime


(0..59)

Second

Numeric value for current seconds of the daytime


(0..59)

Year

Optional parameter setting the current year

Month

Optional numeric parameter setting the


current month (1..12)

Day

Optional parameter setting the current day


(1..31)

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

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:

ERROR <no> <printer name> <no> <printer


name>

L027952 Issue 5 July 2014


79

Dynamark Communication Protocol

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

Hexadecimal value with high bits for the channels to


be set to high.

reset-mask

Hexadecimal value with high bits for the channels to


be set to low.

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Transaction-Command

No

Implemented since version

Dynamark 3 Backend 1.0

Examples

SETDIGOUT 00000001 00000004


OK

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

ERROR <no> <printer name> <no> <printer


name>

L027952 Issue 5 July 2014

Dynamark Communication Protocol


SETENCODERDELAY
Command
SETENCODERDELAY <value> [global]
Description
This command enables the remote peer to modify the encoder-delay in encoder-pulses. This applies only
to applications with moving objects (Mark on the Fly) where the parameter decides the encoder pulses to
delay the incoming print start trigger signal to really become active.
Attention:
Depending on the optional parameter <global> this command only sets the global or local parameter of
the encoder delay. If e.g. you are using message specific settings and this command will be used with
<global>=1 it will not affect the active delay at all.
Parameter Description
value

Amount of encoder-pulses the print is to be delayed.

<global>

This parameter is optional.


global=0
Sets the encoder delay defined in the message. If
<value> is empty () the encoder delay defined in
the message will be removed.
global=1 (default)
Sets the global encoder delay. An encoder delay
defined in the current loaded message will be
removed.

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

Examples

SETENCODERDELAY 500
OK

This example sets the encoder delay value to 500


See also:

GETENCODERDELAY
Multi Head Extension:
Fault:

ERROR <no> <printer name> <no> <printer


name>

L027952 Issue 5 July 2014


81

Dynamark Communication Protocol


SETFIELDROTATION
Command
SETFIELDROTATION [+|-] <value>
Description

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)

Field Rotation = Value

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)

Field Rotation = Current Value - Value

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Transaction-Command

No

Implemented since version

Dynamark 3 Backend 3.4

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

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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

Name of the status source to be changed currently


this must be GEN (but configurable for future
use).

set-mask

Hexadecimal value specifying the bits of the


generic status source that shall be set to high.

reset-mask

Hexadecimal value specifying the bits of the


generic status source that shall be reset to low.

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

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:

ERROR <no> <printer name> <no> <printer


name>

L027952 Issue 5 July 2014


83

Dynamark Communication Protocol


SETMAXCOUNTS
Command
SETMAXCOUNTS <counts>
Description
Use of this command limits the number of prints after marking has been enabled to a specified amount.
Parameter Description
counts

Number of prints to perform.

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

Examples

SETMAXCOUNTS 20
Limits marking to a number of 20 prints then marking will be disabled.
See also:

Multi Head Execution:


No differences to the description above (will be sent to the primary controller only).

84

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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

Refer to page 103

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

Implemented since version

Dynamark 3 Backend 1.0

Examples
Please refer to the tutorial on page 15
See also:
Multi Head Extension:
Fault:

ERROR <no> <printer name> <no> <printer


name>

L027952 Issue 5 July 2014


85

Dynamark Communication Protocol


SETPARAM
Command
SETPARAM <param-id> [additional-param-ids] <param-value> [additional-param-values] []
Description

This command is used for setting setup and runtime parameters of the printer.
Parameter Description
1) Parameters about serial number
SerialnoController value

Serial number of the controller=value

SerialnoLaser

Serial number of the laser=value

value

SerialnoScanner value

Serial number of the scanner=value

2) Parameters about network settings


HostName value

Host name=value

NetworkAddress n value1 value2 [value3]

Setting the network address of the adapter n:


IP=value1,
Subnet Mask=value2,
[Gateway=value3]

NetworkDNS n [value1] [value2] [value3]

Setting the network Dns of the adapter n:


[Domain=value1],
[Dns1=value2],
[Dns2=value3]

3) Parameter about laser


LaserCalibration (LC) value ( value 0)

Setting the laser power calibration factor =value

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Transaction-Command

No

Implemented since version

Dynamark 3 Backend 3.4

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

L027952 Issue 5 July 2014

Dynamark Communication Protocol


Command
Example3: Set the power calibration factor
setparam lasercalibration 0.9 or setparam lc 0.9
OK
If the laser power of a parameter set is 90%, then the effective laser power will be 81%.
See also:

GETPARAM
Multi Head Extension:

No differences to the description above (will be sent to the primary controller only)

L027952 Issue 5 July 2014


87

Dynamark Communication Protocol

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

Offset parameter in mm for the horizontal


position of the layout

y-Offset

Offset parameter in mm for the vertical position of


the layout

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

Examples

SETPOSITIONOFFSET 2.00 -1.00


OK
GETPOSITIONOFFSET
RESULT GETPOSITIONOFFSET 2.00 -1.00

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

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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

Number of prints to perform.

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

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).

L027952 Issue 5 July 2014


89

Dynamark Communication Protocol

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

Implemented since version

Dynamark 3 Backend 3.2.0.23

Examples

SETPRINTERID My First Printer


OK
See also:
GETPRINTERID
Multi Head Execution:

No differences to the description above (will be sent to the primary controller only).

90

L027952 Issue 5 July 2014

Dynamark Communication Protocol

SETSYSTEMCOUNTER
Command
SETSYSTEMCOUNTER <counter-id> <value>
Description
Sets the value of the corresponding counter.
Parameter Description

counter-id

Parameter specifying the counter that is being


requested.
1 = runtime of controller in seconds
(modification with service dongle only)
2 = runtime of laser in seconds (modification
with service dongle only)
4 = overall number of prints (modification
with service dongle only)
5 = number of prints since last reset

value

Parameter specifying the new value

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 3.6

Examples

SETSYSTEMCOUNTER 5 0
OK
See also:
GETSYSTEMCOUNTER
Multi Head Execution:

No.

L027952 Issue 5 July 2014


91

Dynamark Communication Protocol

SETTEXT
Command
SETTEXT <Object> <Text>
Description
Sets the text attribute of the specified MRC or text object.
Parameter Description
Object

Name of the object

Text

Text to be displayed by the object

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Transaction-Command

yes

Implemented since version

Dynamark 3 Backend 1.0

Examples

SETTEXT "Text 1" "Halmackenreuther"


Sets the content of Text 1 to "Halmackenreuther".
See also:
Multi Head Extension:
Fault:

92

ERROR <no> <printer name> <no> <printer


name>

L027952 Issue 5 July 2014

Dynamark Communication Protocol


SETVARIABLES
Command
SETVARIABLES <Variable-ID> <Variable-Contents>
Description
Sets the contents of the specified variable.
Text and MRC objects can access variable contents via <VAR:variable-id>.
It is also possible to set more than one variables with one command, e.g.
SETVARIABLES var1 content1 var2 content2 ... varn contentn
There are two options for this command depending on the configuration of Dynamark:
Option 1:
If the variable with this ID does not exist it will be newly created.
Option 2:
If the variable does not exist in the current message, an error (Error-Code 18) will be returned.
Also the scope of this command can be configured in Dynamark on the same setup page:
Option 1:
The variable will be created globally and is accessible from all messages.
Option 2:
The variable will be created in the scope of the currently printed message only and is not
accessible from other messages.
Parameter Description
Variable-ID

ID of the variable which shall be modified

Variable-Contents

New value that shall be written into the variable.

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Transaction-Command

yes

Implemented since version

Dynamark 3 Backend 1.0

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>").

SETVARIABLES "Bilbo" "Beutlin"


OK

Now the text content of the text object should be "Beutlin".


See also:

GETVARIABLES
Multi Head Execution:
No differences to the description above (will be sent to the primary controller only).

L027952 Issue 5 July 2014


93

Dynamark Communication Protocol


SETXML
Command
SETXML <XML code..>
Description
Creates a new message using the XML code given as parameter.
The XML code has to be free of carriage-return/linefeeds. Otherwise, it is automatically the whole
remainder of the line after SETXML, so you are not allowed to use quotes around the argument only
replace \ with \\ and newlines with \n.
Parameter Description
XML code

XML-sources of a message.

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

Examples

SETXML <?xml version="1.0"?>\n<DYNAMARK-Project title="arc.xml"


version="0.1">\n<DYNAMARK-Object type="CObjKreis">\n<CObjBaseData
templateversion="0.1">\n<ObjName type="CString">Arc 1</ObjName>\n<ParamDelaysName
type="CString">Default</ParamDelaysName>\n<Invers type="bool" value="false"/>\n
<Mark type="bool" value="true"/>\n<Offset type="CPoint" value="308019
386662"/>\n<ScaleX type="double"
value="10"/>\n<ScaleY type="double" value="10"/>\n<RadiantX type="double" valu
e="0"/>\n<RadiantY type="double" value="0"/>\n<MirrorX
type="bool" value="true"/>\n<MirrorY type="bool" value="true"/>\n<LaserNr
type="int" value="0"/>\n<MinVectorLength type="double"
value="0"/>\n<XCenterMode type="int" value="0"/>\n<YCenterMode type="int" val
ue="0"/></CObjBaseData>\n<CObjKreis>\n<Arc type="float" value="6.28319"/>\n<
ArcWidth type="float" value="0"/>\n<CircleCount type="int" value="5"/>\n<Sekante
n type="int" value="24"/></CObjKreis></DYNAMARK-Object>\n<ParameterSet>\n<CParamDelays>\n<DelayName type="CString">Default</DelayName>\n<Step
Period type="double" value="10"/>\n<JumpDelay type="double" value="150"/>\n<M
arkDelay type="double" value="150"/>\n<PolygonDelay type="double"
value="50"/>\n<LaserOnDelay type="double"
value="120"/>\n<LaserOffDelay type="double" value="180"/>\n<PulsPeriodTime
type="double" value="98"/>\n<OnPulsTime type="double"
value="0"/>\n<FirstPulsKillerTime type="double" value="0"/>\n<MaxVectorLength
type="double" value="0"/>\n<JumpSpeed type="double"
value="5000"/>\n<MarkSpeed type="double" value="2500"/></CParamDelays></Para
meter-Set>\n<Override></Override></DYNAMARK-Project>
OK
This example sends a message as XML source to the laser controller.
See also:

GETXML
Multi Head Execution:
94

L027952 Issue 5 July 2014

Dynamark Communication Protocol


No differences to the description above (will be sent to the primary controller only).

L027952 Issue 5 July 2014


95

Dynamark Communication Protocol


SHOWMESSAGE
Command
SHOWMESSAGE <message-id> <message-text> [style] [timeout]
Description
Pops up a user-defined translated message box.
The predefined texts/translations are internal definitions if you need to access these please contact the
Domino Printing Sciences plc.
Please note that the ids from Dynamark 2 are not compatible with Dynamark 3!
Please also note that the additional button styles once supported by Dynamark 2 such as message boxes
with feedback buttons (YES/NO, YES/NO/CANCEL, OK/CANCEL) are not supported in Dynamark
3!
Parameter Description
Message-id

This parameter references a predefined translated


message. Setting this parameter to "-1" will not
display any predefined text.

Message-text

User-defined message-text that is appended to the


predefined message that is referenced by the previous
parameter.

Style

The optional style-parameter can be one of the


following:
Style=16:
Error type message box
Style=32:
Warning type message box
Style=64:
Information type message box
You can also set a timeout (time in milliseconds after
which the popup will automatically disappear again)
on popup messages by using the following styles and
the additional timeout parameter:
Style=24:
Error type message box
Style=40:
Warning type message box
Style=72:
Information type message box

Timeout

In case the styles 24, 40 or 72 are used this parameter


specifies the display time in milliseconds.

Result Description:
Success:

RESULT SHOWMESSAGE 0

Fault:

ERROR <no>

Properties:
Transaction-Command

No

Implemented since version

DYNAMARK 3.4.0.22

Examples

SHOWMESSAGE -1 "Please click OK" 64

This example displays an informal message box on the laser controller and asks the operator to click the
OK-button.
Multi Head Execution:

Not supported in multi head mode!

96

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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

Implemented since version

Dynamark 3 Backend 1.0

Examples

TRIGGER
OK
See also:
Multi Head Execution:

No differences to the description above (will be sent to the primary controller only).

L027952 Issue 5 July 2014


97

Dynamark Communication Protocol

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

Name of the file to be created

byte stream

This is a long string of 2 digit hexadecimal byte


values the new file shall contain

append

If this optional parameter is specified with

append then the data is appended to an existing


file.
Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

Examples

UPLOADBINARY \temp\test.txt 41424344


OK

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

L027952 Issue 5 July 2014

Dynamark Communication Protocol


USERINPUT
Command
USERINPUT <input-no> <value>
Description
Use of this command simulates can simulate a value change on a user input.
Several functions like counters, text inserts, laser test mode etc. can be configured to depend on these user
inputs.
Parameter Description
Input-no

This parameter references the user-input:


1 User-Input A
2 User-Input B
3 User-Input C

Value

This parameter references the state the input shall


become:
0 Low state
1 High state

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Transaction-Command

no

Implemented since version

Dynamark 3 Backend 1.0

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:

ERROR <no> <printer name> <no> <printer


name>

L027952 Issue 5 July 2014


99

Dynamark Communication Protocol

APPENDIX A: Error Codes


ErrorCode
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

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.

L027952 Issue 5 July 2014

Dynamark Communication Protocol


APPENDIX B: Data-IDs for SETDATA/GETDATA
Data-ID
2
3
10
11
12
13
14
15
16
17
18
19
20
21
30
31
32
33
34
35
50
51
52
53
55
56
57
58
59
60
61
62
74
75
76
77
78
79
80
82
83
84
90
91
93
94

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)

Alignment (0=left; 1=center;2=right)


Radius for Rotation Mode
Rotation Mode (0=no; 1=clockwise; 2=counterclockwise)
Bitmap, Hpgl,DXF Filename (incl. Path)
Bitmap
Resolution [dpi]
Bitmap
Algorithm (0=horizontal, 1=vertical, 2=outline)
MRC
QR Code Version
MRC
QR Code Format
MRC
QR Code EC Level
MRC
QR Code Mask
MRC
Datamatrix Format
MRC
MRC Check Digit
MRC
Codetype (see Appendix)
MRC
Resolution [dpi]
MRC
x-Quietzone [mm]
MRC
y- Quietzone [mm]
MRC
Datamatrix Start Mode
MRC, Bitmap
Invers (0=no; 1=yes)
MRC
Security Level
MRC
Algorithm (0=lines; 1=circles)

L027952 Issue 5 July 2014


101

Dynamark Communication Protocol


95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
120
124
125
126
127
128
129

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

Diameters per Cell


Secants
RSS Code Start Mode
Datamatrix Square Size
Datamatrix Rectangular Size
Inverse Lineflow (0=no; 1=yes)
Alternating Lineflow (0=no; 1=yes)
OCR-Link
PDF 417 EC-Level
PDF 417 Number of rows
PDF 417 Number of columns
PDF 417 Ratio
QR Code Application Identifier
QR Code Format
QR Code Number of rows
QR Code Number of columns
Force automatic load of file when file has been changed
2D Line flow
Short bar length
Composite Code
Part of the MRC to be marked
Quiet Zone algorithm
Position data for objects bounding frame (left, top, right,
bottom) in mm (read only)

L027952 Issue 5 July 2014

Dynamark Communication Protocol


APPENDIX C: Message-IDs
MsgID
1

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)

Multi Head configuration adds input state of all controllers.


MSG 6 <value> <value>
First value is the state of primary controller next values are states of
controller as ordered in the url list of connected backends (see multi
head configuration)
MSG 11
Ready to print:
The Marking Mode becomes enabled; the laser itself need not be
turned on.
MSG 12
Not ready to print:
The Marking Mode becomes disabled or suspended; this message is not
triggered if the laser itself is turned off while marking is enabled
MSG 14 <user-id>
A user with the given user id has logged into the system in the case
<session-id>
that the user id is an empty string then the previously logged in user has
logged out.
As in Dynamark 3 there can be multiple user sessions at the same time
the corresponding session id is returned as 2nd parameter.
MSG 18 <path>
A message located at the URL path has been loaded for printing.
MSG 19
command is a forwarded command that has been sent to DYNAMARK
<command>
from any other client. Own commands are not looped back.
MSG 20
The language of the DYNAMARK user interface has changed to
<language_id>
language_id. This ID contains the abbreviation of the country as it is
shown on car license plates (e.g. D for Germany, GB for Britain, F for
France etc.)
MSG 24 [<objectThis message is triggered on every print start providing the contents
name> <contents>] of all text/MRC objects in the message. The contents are always
...
provided in an object name-content pair.

L027952 Issue 5 July 2014


103

Dynamark Communication Protocol

25

MSG 25 <ID>

26

MSG 26

27

MSG 27

31

MSG 31 <ID>

104

Both object name and contents are quoted if needed (using


<contents> if spaces are included, using preceding backslash for
characters like , linefeed, newline, tab.
This message is returned in case remote data coding is active and a
print has been triggered and printed completely. The message will
not be send if the print is interrupted, e.g. by opening an interlock
door. The ID that is returned is the ID (used with the
BUFFERDATA command) of the record that just has been printed.
This message is returned after the message data has been changed in
the editor or via communications interface and this change has been
compiled and is now ready for printing.
The remote data buffer level has reached the warning level as
configured in the general section of the Interface Setup. See also
BUFFERDATA command.
This message is emitted when remote data coding is active and a
record has been discarded. The ID that is returned is the ID (used
with the BUFFERDATA command) of the record that just has
been revoked. Discarding can happen manually
(BUFFERREVOKE, BUFFERCLEAR) or automatically (if the
queue is configured with the BUFFERCONFIG command to
discard records automatically).
This message is implemented since Dynamark version 3.2

L027952 Issue 5 July 2014

Dynamark Communication Protocol

Appendix D: Dynamark 3 Authentication


Protocol
General
In order to authenticate from a remote server to the laser controller an implemented TCP/IP
server is needed on the remote peer.
Please contact Domino to receive details about configuring the remote access.
There are several commands for the authentication process regarding user login and password
policy.
The authentication server must provide and manage the following information.
For each user:
Name of Variable
nUserIndex: Integer
strUserID: Text
nStatus: Integer
strSurname
strForename
strDepartment
strGrantID
Groups: set
strPassword
expiry: Date
nChangePasswordPeriod
ChangePassword
nTimeout
nLoginattempts
bMustchangePassword

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

L027952 Issue 5 July 2014


105

Dynamark Communication Protocol


Globally for Password Policy:
Name of Variable

Description

nMinLength
nMinUpperChar
nMinLowerChar
nMinNumericChar
nMaxMultipleChar
nMaxPartOfUserID
nMinReusePassword

Minimum length of password


Minimum number of upper case characters
Minimum number of lower case characters
Minimum number of numeric characters
Maximum number of multiple character occurrences
Maximum number of consecutive characters of the user-ID
Minimum number of password changes until a password may be
reused again
Minimum number of special characters (see strSpecChar below)
Maximum number of unsuccessful login attempts until the
account is locked
Characters of which a certain number has to appear in the
password (see nMinSpecChar above)

nMinSpecChar
nMaxLoginAttempts
strSpecChar

nPWChangeRemind
nExpiryRemind

106

Number of days to warn the user that the password will


have to be changed
Number of days to warn the user that the account will
expire

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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\"

L027952 Issue 5 July 2014


107

Dynamark Communication Protocol

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

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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

ID of the user who executes this command

strGroupID

Name of the new group

strGrants

Hexadecimal string representing the bitset of granted


permissions

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Implemented since version

Dynamark 3 Authentication Client 1.4.0

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:

DELETEGROUP, GETGROUPS, ALTERGROUP

L027952 Issue 5 July 2014


109

Dynamark Communication Protocol

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

ID of the user who executes this command

strUserID

User-ID (i.e. login-name)

strPassword

Password as cleartext

strUserGrants

Hexadecimal encoded string representing the


granted permissions (see
Bit2HexGrantConverter)

strForename

Forename of the user

strSurname

Surname of the user

strDepartment

Department of the user

nStatus

Status of this account. Can be


0: Active
1: Expired (see nExpireDate,
bExpireDate)
2: Dormant (i.e. temporarily disabled)
3: Deleted (the account has been deleted,
but is still present as reference due to
CFR21, part 11 compliance)
4: Locked due to too many unsuccessful
login attempts

nExpireDate

The date when the account will be expired in


format YYYYMMDD

void

not used

nPWChangePeriod

Timespan in days after which the password


has to be changed periodically.
0:
No change forced
>0:
Number of days

void

not used

nInactivityTimeout

Time in minutes until a user should be logged


out automatically if no mouse/keyboard
activity is notified.

bExpireDate

(0/1) Enable/Disable account expiration

bInactivityTimeout

(0/1) Enables/disables automatic logout after a


given time.

Result Description:
Success:
110

OK
L027952 Issue 5 July 2014

Dynamark Communication Protocol


Fault:

ERROR <no>

Properties:
Implemented since version

Dynamark 3 Authentication Client 1.4.0

Examples

ADDUSER Administrator,geek42,N0t_4U,f56a38de,Johann,von Neumann,


Mathematics,0,19570208,0,180,0,5,1,1

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:

DELETEUSER, ALTERUSER, GETUSER, GETUSERS

L027952 Issue 5 July 2014


111

Dynamark Communication Protocol

ALTERGROUP
Command
ALTERGROUP <strExecutingUserID>, <strGroup>, <strGrants>
Description
Alters the permissions that have been granted for a group
Parameter Description

strExecutingUserID

ID of the user who executes this command

strGroupID

Name of the group to be altered

strGrants

Hexadecimal encoded string representing the


granted permissions (see
Bit2HexGrantConverter)

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Implemented since version

Dynamark 3 Authentication Client 1.4.0

Examples

ALTERGROUP Administrator,cats,ffffeff

The user Administrator alters the group cats. and assign the permissions ffffeff
See also:

ADDGROUP, GETGROUPS

112

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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

ID of the user who executes this command

strUserID

User ID (i.e. login-ID). The user must exist,


hence the login-ID can not be altered.

void

Not used

strUserGrants

Hexadecimal encoded string representing the


granted permissions (see
Bit2HexGrantConverter)

strForename

Forename of the user

strSurname

Surname of the user

strDepartment

Department of the user

nStatus

Status of this account. Can be


0: Active
1: Expired (see nExpireDate,
bExpireDate)
2: Dormant (i.e. temporarily disabled)
3: Deleted (the account has been deleted,
but is still present as reference due to
CFR21, part 11 compliance)
4: Locked due to too many unsuccessful
login attempts

nExpireDate

The date when the account will be expired in


format YYYYMMDD

void

not used

nPWChangePeriod

Timespan in days after which the password


has to be changed periodically.
0:
No change forced
>0:
Number of days

void

not used

nInactivityTimeout

Time in minutes until a user should be logged


out automatically if no mouse/keyboard
activity is notified.

bExpireDate

(0/1) Enable/Disable account expiration

bInactivityTimeout

(0/1) Enables/disables automatic logout after a


given time.

L027952 Issue 5 July 2014


113

Dynamark Communication Protocol


Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Implemented since version

Dynamark 3 Authentication Client 1.4.0

Examples

ALTERUSER Administrator,geek42,0,f56a38de,John,von Neumann,


Mathematics,0,19570208,0,180,0,5,1,1

The user Administrator alters the forname of user geek42 from "Johann" to "John".
See also:

DELETEUSER, ADDUSER, GETUSER, GETUSERS

114

L027952 Issue 5 July 2014

Dynamark Communication Protocol

AUTHUSER
Command
AUTHUSER <strUserID>, <strPassword>
Description
Authenticates a user by his login-ID and password.
Parameter Description
strUserID

User-ID (i.e. login-name)

strPassword

There are two options for this command


depending on the configuration of Dynamark
1. Default as hexadecimal encoded MD5 hash
(see RFC 1321)
2. Configurable not encoded and transfer as
plaintext

Result Description:
Success:

RESULT AUTHUSER <nStatus>,[Message]

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

Dynamark 3 Authentication Client 1.4.0

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

L027952 Issue 5 July 2014


115

Dynamark Communication Protocol

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

User-ID (i.e. login-name)

Result Description:
Success:

RESULT AUTOLOGIN <nStatus>


nStatus: OR combined bitset as a decimal number:

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

Dynamark 3 Authentication Client 1.4.0

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

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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

User-ID (i.e. login-name)

Result Description:
Success:

RESULT AUTOLOGOUT <strGrantID>

Fault:

ERROR <no>

Properties:
Implemented since version

Dynamark 3 Authentication Client 1.4.0

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

L027952 Issue 5 July 2014


117

Dynamark Communication Protocol

CHANGEPW
Command
CHANGEPW <strExecutingUserID>, <strUserID>, <strPassword>
Description
Changes the password of a user.
Parameter Description

strExecutingUserID

User-ID (i.e. login-name) of the user who

strUserID

ID (i.e. login-name) of the user whose


password should be changed. Can be the same
as the executing user.

strPassword

Cleartext password

executes this command.

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>

L027952 Issue 5 July 2014

Dynamark Communication Protocol


Properties:
Implemented since version

Dynamark 3 Authentication Client 1.4.0

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, SETPWPOLICY, GETPWPOLICY

L027952 Issue 5 July 2014


119

Dynamark Communication Protocol

CHECKPW
Command
CHECKPW <strUserID>, <strPassword>
Description
Checks if a password matches or taints the password policy
Parameter Description
strUserID

ID (i.e. login-name) of the user whose


password should be checked.

strPassword

Cleartext password

Result Description:
Success:

RESULT CHECKPW <nTaintedPasswordPolicy>


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:

ERROR <no>

Properties:
Implemented since version

Dynamark 3 Authentication Client 1.4.0

Examples

CHECKPW geek42 UPPERlower123Spec!@|


RESULT CHECKPW 0
This password for user geek42 matches the password policy
See also:

CHANGEPW, SETPWPOLICY, GETPWPOLICY

120

L027952 Issue 5 July 2014

Dynamark Communication Protocol

DELETEGROUP
Command
DELETEGROUP <strExecutingUserID>, <strGroupID>
Description
Deletes a group
Parameter Description

strExecutingUserID

ID of the user who executes this command.

strGroupID

ID of the group to be deleted.

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Implemented since version

Dynamark 3 Authentication Client 1.4.0

Examples

DELETEGROUP cats
Deletes the group "cats"
See also:

ADDGROUP, ALTERGROUP, GETGROUPS

L027952 Issue 5 July 2014


121

Dynamark Communication Protocol

DELETEUSER
Command
DELETEUSER <strExecutingUserID>, <strUserID>
Description
Deletes the user
Parameter Description

strExecutingUserID

ID of the user who executes this command.

strUserID

User-ID (i.e. login-name) of the user to be


deleted.

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Implemented since version

Dynamark 3 Authentication Client 1.4.0

Examples

DELETEUSER geek42
See also:

ADDUSER, ALTERUSER, GETUSERS

122

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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

Dynamark 3 Authentication Client 1.4.0

Examples

GETDEPARTMENTS
RESULT GETDEPARTMENTS Mathematics,Astrophysics,Computer Science
See also:

ADDUSER, ALTERUSER

L027952 Issue 5 July 2014


123

Dynamark Communication Protocol

GETGROUPS
Command
GETGROUPS
Description
Parameter Description
Result Description:
Success:

RESULT GETGROUPS [group_id-1],[grant_id1],[group_id-2],[grant_id-2] ...

Fault:

ERROR <no>

Properties:
Implemented since version

Dynamark 3 Authentication Client 1.4.0

Examples

GETGROUPS
RESULT GETGROUPS cats,f6ae82d,dogs,0d0a
See also:

ADDGROUP. DELETEGROUP, ALTERGROUP

124

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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

User-ID (i.e. login-name) of the user whose


flag is to be acquired.

Result Description:
Success:

RESULT GETMUSTCHANGEPW bFlag


bFlag:
0:
No password change forced
1:
Password change forced

Fault:

ERROR <no>

Properties:
Implemented since version

Dynamark 3 Authentication Client 1.4.0

Examples

GETMUSTCHANGEPW geek42
RESULT GETMUSTCHANGEPW 1

User geek42 must should change the password.


See also:

SETMUSTCHANGEPW

L027952 Issue 5 July 2014


125

Dynamark Communication Protocol

GETPWPOLICY
Command
GETPWPOLICY
Description
Return the password policy that is applied to new created passwords
Parameter Description
-

Result Description:
Success:

RESULT GETPWPOLICY <nMinLength>,


<nMinUpperChar>, <nMinLowerChar>,
<nMinNumericChar>, <nMaxMultipleChar>,
<nMaxPartOfUserID>, <nMinReusePassword>,
<nMinSpecChar>, <nMaxLoginAttempts>,
<strSpecChar>
nMinLength
Minimum length of password
nMinUpperChar
Minimum number of upper case characters
nMinLowerChar
Minimum number of lower case characters
nMinNumericChar
Minimum number of numeric characters
nMaxMultipleChar
Maximum number of multiple character
occurences
nMaxPartOfUserID
Maximum number of consecutive characters of
the user-ID
nMinReusePassword
Minimum number of password changes until a
password may be reused again
nMinSpecChar
Minimum number of special characters (see
strSpecChar below)
nMaxLoginAttempts
Maximum number of unsuccessful login
attempts until the account is locked
strSpecChar
Characters of which a cetain number has to
appear in the password (see nMinSpecChar
above)

Fault:

ERROR <no>

Properties:
Implemented since version

126

Dynamark 3 Authentication Client 1.4.0

L027952 Issue 5 July 2014

Dynamark Communication Protocol


Examples
GETPWPOLICY
RESULT GETPWPOLICY 8,3,3,1,4,5,3,1,3,@*!#
See also:
SETPWPOLICY

L027952 Issue 5 July 2014


127

Dynamark Communication Protocol

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:

RESULT GETSECURITYMODE <nMode>


nMode=1
There is no user/password scheme, but only a
password mapped to a user-level
nMode=2
Discrete users with user-id/password are defined.
Login/Logout with commands LOGIN and
LOGOUT
nMode=3
Discrete users with user-id/password are defined.
The LOGIN/LOGOUT commands will be
completed by the server with messages MSG 1
and MSG 2

Fault:

ERROR <no>

Properties:
Implemented since version

Dynamark 3 Authentication Client 1.4.0

Examples

GETSECURITYMODE
RESULT GETSECURITYMODE 1
See also:

128

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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

Dynamark 3 Authentication Client 1.4.0

Examples

GETSETTINGS
RESULT GETSETTINGS 30,30
See also:

SETSETTINGS

L027952 Issue 5 July 2014


129

Dynamark Communication Protocol

GETUSER
Command
GETUSER <strUserID>,[strPassword]
Description
Returns information about this user.
Parameter Description
strUserID

User-ID (i.e. login-name) of the user whose


data is to be acquired

strPassword

Optional, is only sent in securitymode 0,


where no distinct users exist. The first
parameter is omitted, as all users (i.e. userlevels) share a password.

Result Description:
Success:

RESULT GETUSER <nStatus>, <nIndex>,


<strUserID>, <strGrant>, <strUserGrant>,
<strGroupsGrant>, <strForename>, <strSurname>,
<strDepartment>, <nStatus>, <nExpireDate>,
<nExpireCountdown>, <nPWChangePeriod>,
<nPWChangeDate>, <nPWChangeCountdown>,
<nInactivityTimeout>, <bExpireNotify>,
<bPWChangeNotify>, <nLoginAttempts>,
<bExpireDate>, <bInactivityTimeout>
nReturnStatus
0:
OK
1:
Unknown User-ID
nIndex
Internal representation of the user as a numerical
index
strUserID
User-ID (same as input parameter, or User-Level
name in security mode 0)
strGrant
Granted permissions as a combination of the
individually and per-group granted permissions
strUserGrant
Individual granted permissions
strGroupsGrant
Permissions granted by the groups the user belongs
to
strForename
Forename
strSurname
Surename
strDepartment
Department
nStatus
0:
Active
1:
Expired
2:
Dormant (i.e. temporarily disabled)

130

L027952 Issue 5 July 2014

Dynamark Communication Protocol


3:
Deleted
4:
Locked
nExpireDate

The date when the account will be expired


in format YYYYMMDD
nExpireCountdown
Days until the account expires
nPWChangePeriod

Timespan in days after which the password


has to be changed periodically.
0:
No change forced
>0:
Number of days

nPWChangeDate

The date when the password has to be


changed in format YYYYMMDD
nPWChangeCountdown
Days until the password has to be changed
nInactivityTimeout

Time in minutes until a user should be


logged out automatically if no
mouse/keyboard activity is notified.

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

(0/1) account expiration disabled/enabled

bInactivityTimeout

(0/1) inactivity timeout disabled/enabled

Fault:

ERROR <no>

Properties:
Implemented since version

Dynamark 3 Authentication Client 1.4.0

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, ADDUSER, GETUSERS, ALTERUSER

L027952 Issue 5 July 2014


131

Dynamark Communication Protocol

GETUSERBYINDEX
Command
GETUSERBYINDEX nIndex
Description
Convenience command: Does the same as GETUSER, but uses the previously acquired index of the user
Parameter Description
nIndex

Index, previously acquired by a GETUSER

Result Description:
Success:

RESULT GETUSER <nStatus>, <nIndex>,


<strUserID>, <strGrant>, <strUserGrant>,
<strGroupsGrant>, <strForename>, <strSurname>,
<strDepartment>, <nStatus>, <nExpireDate>,
<nExpireCountdown>, <nPWChangePeriod>,
<nPWChangeDate>, <nPWChangeCountdown>,
<nInactivityTimeout>, <bExpireNotify>,
<bPWChangeNotify>, <nLoginAttempts>,
<bExpireDate>, <bInactivityTimeout>
nReturnStatus
0:
OK
1:
Unknown User-ID
nIndex
Internal representation of the user as a numerical
index
strUserID
User-ID (same as input parameter, or User-Level
name in security mode 0)
strGrant
Granted permissions as a combination of the
individually and per-group granted permissions
strUserGrant
Individual granted permissions
strGroupsGrant
Permissions granted by the groups the user belongs
to
strForename
Forename
strSurname
Surename
strDepartment
Department
nStatus
0:
Active
1:
Expired
2:
Dormant (i.e. temporarily disabled)
3:
Deleted
4:
Locked
nExpireDate

The date when the account will be expired


in format YYYYMMDD

nExpireCountdown
Days until the account expires
132

L027952 Issue 5 July 2014

Dynamark Communication Protocol


nPWChangePeriod

Timespan in days after which the password


has to be changed periodically.
0:
No change forced
>0:
Number of days

nPWChangeDate

The date when the password has to be


changed in format YYYYMMDD

nPWChangeCountdown
Days until the password has to be changed
nInactivityTimeout

Time in minutes until a user should be


logged out automatically if no
mouse/keyboard activity is notified.

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

(0/1) account expiration disabled/enabled

bInactivityTimeout

(0/1) inactivity timeout disabled/enabled

Fault:

ERROR <no>

Properties:
Implemented since version

Dynamark 3 Authentication Client 1.4.0

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:

GETUSER, ADDUSER, GETUSERS, ALTERUSER

L027952 Issue 5 July 2014


133

Dynamark Communication Protocol

LOGIN
Command
LOGIN <strUserID>,strPassword
Description
Parameter Description
strUserID

User-ID (i.e. login-name) of the user whose


data is to be acquired

strPassword

There are two options for this command


depending on the configuration of Dynamark
1. Default as hexadecimal encoded MD5 hash
(see RFC 1321)
2. Configurable not encoded and transfer as
plaintext

Result Description:
Success:

RESULT LOGIN <nStatus>,[Message]


<nStatus>
nStatus: OR combined bitset as a decimal number:

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

Dynamark 3 Authentication Client 1.4.0

Examples

LOGIN geek42 f362256d0413d368d36c19af64e91609


RESULT LOGIN 0
See also:

AUTOLOGIN

134

L027952 Issue 5 July 2014

Dynamark Communication Protocol

LOGOUT
Command
LOGOUT
Description
Parameter Description
strUserID

User-ID (i.e. login-name)

Result Description:
Success:

RESULT LOGOUT <strGrantID>

Fault:

ERROR <no>

Properties:
Implemented since version

Dynamark 3 Authentication Client 1.4.0

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

L027952 Issue 5 July 2014


135

Dynamark Communication Protocol

QUIT
Command
QUIT
Description
Asks the server process to terminate gracefully
Parameter Description
Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Implemented since version

Dynamark 3 Authentication Client 1.4.0

Examples

QUIT
OK
See also:

136

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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

Numerical identifier for a coherent group of devices


(i.e. D-Series Laserprinter)

strIdentifier

Unique identifier for this client

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Implemented since version

Dynamark 3 Authentication Client 1.4.0

Examples

REGISTER 0,Mars
OK

See also:

L027952 Issue 5 July 2014


137

Dynamark Communication Protocol

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

ID of the user who executes this command

strUserID

User-ID (i.e. login-name)

bChange

0/1

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Implemented since version

Dynamark 3 Authentication Client 1.4.0

Examples

SETMUSTCHANGEPW Administrator,geek42,1
OK
See also:

GETMUSTCHANGEPW

138

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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

ID of the user who executes this command

nMinLength

Minimum length of password

nMinUpperChar

Minimum number of upper case characters

nMinLowerChar

Minimum number of lower case characters

nMinNumericChar

Minimum number of numeric characters

nMaxMultipleChar

Maximum number of multiple character occurences

nMaxPartOfUserID

Maximum number of consecutive characters of the


user-ID

nMinReusePassword

Minimum number of password changes until a


password may be reused again

nMinSpecChar

Minimum number of special characters (see


strSpecChar below)

nMaxLoginAttempts

Maximum number of unsuccessful login attempts


until the account is locked

strSpecChar

Characters of which a cetain number has to appear


in the password (see nMinSpecChar above)

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Implemented since version

Dynamark 3 Authentication Client 1.4.0

Examples

SETPWPOLICY Administrator,8,3,3,1,4,5,3,1,3,@*!#foo
OK
See also:

L027952 Issue 5 July 2014


139

Dynamark Communication Protocol

SETSETTINGS
Command
SETSETTINGS <nExpiryPeriodRemind>, <nPWChangePeriodRemind>
Description
Sets the numbers of days to remind about account expiration/forced password change
Parameter Description

nExpiryPeriodRemind

Numbers of days to remind before account


expiration

nPWChangePeriodRemind

Numbers of days to remind befor a forced password


change

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Implemented since version

Dynamark 3 Authentication Client 1.4.0

Examples

SETSETTINGS 30,30
OK
See also:

GETSETTINGS

140

L027952 Issue 5 July 2014

Dynamark Communication Protocol

SIGN
Command
SIGN <strUserID>,<SignId>
Description
User wants to sign electronically the action given by the SignId.
Parameter Description
strUserID

User-ID (i.e. login-name) of the user

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

Dynamark 3 Authentication Client 1.5.0

Examples

SIGN geek42,0
OK
See also:

L027952 Issue 5 July 2014


141

Dynamark Communication Protocol

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

User-ID (i.e. login-name)

strUserGrants

Hexadecimal encoded string representing the


granted permissions (see
Bit2HexGrantConverter)

strForename

Forename of the user

strSurname

Surname of the user

strDepartment

Department of the user

Result Description:
Success:
Fault:
Properties:
Implemented since version

Dynamark 3 Authentication Client 1.5.0

Examples

SIG_USERCHANGED geek42,13ffe,John,von Neumann,Production


See also:

MSG 1, MSG 2

142

L027952 Issue 5 July 2014

Dynamark Communication Protocol

Messages
Messages will be sent by the server.

MSG
Message
MSG <MessageId>
Description
Send by the server.
Parameter Description
MessageId

See Authentication message-ids

Result Description:
Success:
Fault:
Properties:
Implemented since version

Dynamark 3 Authentication Client 1.5.0

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.

L027952 Issue 5 July 2014


143

Dynamark Communication Protocol

Appendix E: Dynamark 3 Logging Protocol


General
In order to log data from the laser controller to a remote server an implemented TCP/IP server
is needed on the remote peer.
Please contact Domino to receive details about configuring the remote access.
Two types of messages are sent to the logging server:
- User actions, i.e. actions that can be assigned to a logged in user
These actions have an numerical ID (see 0), and if need is further desciptions about the
action that was performed. Each time such an action is performed, the client sends the
ACTION command (see 0).
- Status, i.e. conditions of the device (i.e. power supply error)
If such a condition occurs, it is sent to the server with the command STATUSBEGIN
(see 0) that marks this condition as "active". As long as this contition is not marked as
either ended (command STATUSEND, see 0) or acknowledged (command
STATUSACK, see 0), subsequent commands STATUSBEGIN on this status are
ignored by the server (i.e. do not cause another entry).
The following illustrations show the layout of the data and the relation between a top-level
entry and sub-entries of a user action:

144

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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

Dynamark Communication Protocol

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

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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

L027952 Issue 5 July 2014


147

Dynamark Communication Protocol


45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
61
63
64
65
66
67
68
69
70
71
72

Dynamic text changed


Dynamic text added
Dynamic text removed
Message %2% in store %1% saved
Message %2% in store %1% created
Added user group %1%
Deleted user group %1%
Changed user group %1%
Changed password policy
Auto Login %1%
Auto Logout %1%
Set Date/Time
Nonvolatile storage formatted (Type=%1%)
Restore, %1%
Update, %1%
Removed Action Log entries that are older than %1% days
Font %1% added
Font %1% removed
Setup print field offset
Message %2% in store %1% removed
Store %1% removed
Store %1% created
Renamed store %1% to %2%
Renamed message %2% to %3% in store %1%
Copied message %2% into store %1%
Graphic file %1% uploaded
Coding file %1% uploaded
Coding file %1% removed

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

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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:

These four mandatory parameters define a simple action


and are sufficient for actions that do not need additional
information like old/new value

nTypeID

ID of the type of device (in case another device type


is embedded into the client)

nActionID

see 0

strUserID

ID (i.e. login name) of the user who is logged in and


performs this action

strTime

This parameter is empty or should be discarded if


not: Clients that use directly a local database send the
timestamp, but a server process should use the
server-time.

Sub-entries:

In case the top-level entry needs additional information in


order to be complete, optional sub-entries can be stated here.

nLogLevel

Parent-level to which this log entry belongs or


parent-level + 1 in case a sub-entry descends again
into sub-entries. Hence the first log level is 1, as it
belongs to the top-level entry. Sub-entries may have
the same log-level, if a parent entry needs more than
just one further sub-entry.

nActionID

see 0

strParam

Descriptive text, see 0

strOldVal

Old value of a change that has been performed due


to the action. Mandatory, but may be empty.

strNewVal

New value of a change that has been performed due


to the action. Mandatory, but may be empty.

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Implemented since version

Dynamark 3 Logging Client 1.2

L027952 Issue 5 July 2014


149

Dynamark Communication Protocol


Command
Examples

ACTION 1,4,Administrator,,1,4,DSP,,,2,4,strMADFile,Matrix-Adaption/07200.mad,Matrix-Adaption/10-075.mad
See also:

150

L027952 Issue 5 July 2014

Dynamark Communication Protocol

GETCOUNTACTION
Command
GETCOUNTACTION <nTypeID>, <strIdentifier>, <strIPAddress>, <strTimeFrom>,

<strTimeTo>, <nActionID>, <strUserID>, <strParam>, <strOldVal>, <strNewVal>


Description
Returns the number of log entries that match the given parameters.
Empty parameters are not compared to match the query.
Parameter Description

nTypeID

ID of the type of device

strIdentifier

Identifier string of the device

strIPAddress

IP address of the device as nnn.nnn.nnn.nnn

strTimeFrom

Time range of the entries in yyyy-mm-dd


HH:MM:SS notation

strTimeTo
nActionID

see 0

strUserID

ID (i.e. login name) of the user who performed this


action

strParam

Descriptive text, see 0

strOldVal

Old value of a change

strNewVal

New value of a change

Result Description:
Success:

RESULT GETCOUNTACTION

Fault:

ERROR <no>

Properties:
Implemented since version

Dynamark 3 Logging Client 1.2

Examples
See also:

L027952 Issue 5 July 2014


151

Dynamark Communication Protocol

GETCOUNTSTATUS
Command

GETCOUNTSTATUS <nTypeID>, <strIdentifier>, <strIPAddress>, <strTimeFrom>,


<strTimeTo>, <nActionID>, <strUserID>, <strParam>, <strOldVal>, <strNewVal>
Description
Returns the number of log entries that match the given parameters.
Empty parameters are not compared to match the query.
Parameter Description

nTypeID

ID of the type of device

strIdentifier

Identifier string of the device

strIPAddress

IP address of the device as nnn.nnn.nnn.nnn

strTimeFrom

Time range of the entries in yyyy-mm-dd


HH:MM:SS notation

strTimeTo
nStatusID

Unique ID of this status

bActive

(0/1) Status not marked as reset, i.e. still active

bAcknowledged

(0/1) Marked as acknowledged

Result Description:
Success:

RESULT GETCOUNTSTAUS <nNumber>

Fault:

ERROR <no>

Properties:
Implemented since version

Dynamark 3 Logging Client 1.2

Examples
See also:

152

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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

ID of the type of device

strIdentifier

Identifier string of the device

strIPAddress

IP address of the device as nnn.nnn.nnn.nnn

strTimeFrom

Time range of the entries in yyyy-mm-dd


HH:MM:SS notation

strTimeTo
nActionID

see 0

strUserID

ID (i.e. login name) of the user who performed this


action

strParam

Descriptive text, see 0

strOldVal

Old value of a change

strNewVal

New value of a change

nBlock

Instead of sending all entries, the server should send


only a block of nBlockSize entries (amount is to be
defined in the server), beginning at
nBlock*nBlockSize.

Result Description:
Success:

RESULT GETACTIONKEYS [<nLogID0>,


<nTypeID0>, <strIdentifier0>, <strIPAddress0>,
<strTime0>, <nActionID0>, <strUserID0>],
[<nLogID1>, <nTypeID1>, <strIdentifier1>,
<strIPAddress1>, <strTime1>, <nActionID1>,
<strUserID1>]
nLogID: Unique numerical identifier of this entry
All other parameter descriptions match those of the
input parameters

Fault:

ERROR <no>

Properties:
Implemented since version

Dynamark 3 Logging Client 1.2

Examples
See also:

L027952 Issue 5 July 2014


153

Dynamark Communication Protocol

CMD_GET_ACTIONLOGSUBS
Command

CMD_GET_ACTIONLOGSUBS <nLogID>,<nLogLevel >,<nLogLink>


Description
Returns sub-entries that belong to a top-level.
Parameter Description

nLogID

Log ID as acquired before with


GETACTIONKEYS

nLogLevel

Level, i.e. depth of subentries

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:

RESULT GETACTION [<nLogId0>,


<nLogLevel0>, <nLogLink0>,
<nLogBackLink0>, <nActionID0>,
<strParam0>, <strOldVal0>,
<strNewVal0>],
[<nLogId1>, <nLogLevel1>, <nLogLink1>,
<nLogBackLink1>, <nActionID1>,
<strParam1>, <strOldVal1>]
nLogId
Same as input parameter
nLogLevel
Same as input parameter
nLogLink
0: Indicates that no sub-entries to this
entry follow
>0: ID that links to the sub-entries of this
entry with a subsequent command
nLogBackLink
ID that links to the preceeding element. If
0, this will be the top-level entry acquired
by GETACTION
nActionID
see 0
strParam
Descriptive text, see 0
strOldVal
Old value of a change

strNewVal
New value of a change
Fault:

ERROR <no>

Properties:
Implemented since version

Dynamark 3 Logging Client 1.2

Examples
154

L027952 Issue 5 July 2014

Dynamark Communication Protocol

See also:

L027952 Issue 5 July 2014


155

Dynamark Communication Protocol

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

Dynamark 3 Logging Client 1.2

Examples
See also:

156

L027952 Issue 5 July 2014

Dynamark Communication Protocol

GETSTATUS
Command

GETSTATUS <nTypeID>, <strIdentifier>, <strIPAddress>, <strTimeFrom>,


<strTimeTo>, <nStatusID>,<bActive>, <bAcknowledged>, <nBlock>
Description
Returns the number of log entries that match the given parameters.
Empty parameters are not compared to match the query.
Parameter Description

nTypeID

ID of the type of device

strIdentifier

Identifier string of the device

strIPAddress

IP address of the device as nnn.nnn.nnn.nnn

strTimeFrom

Time range of the entries in yyyy-mm-dd


HH:MM:SS notation

strTimeTo
nStatusID

Unique ID of this status

bActive

(0/1) Status not marked as reset, i.e. still active

bAcknowledged

(0/1) Marked as acknowledged

nBlock

Instead of sending all entries, the server should send


only a block of nBlockSize entries (amount is to be
defined in the server), beginning at
nBlock*nBlockSize.

L027952 Issue 5 July 2014


157

Dynamark Communication Protocol

Result Description:
Success:

RESULT GETSTATUS [<nLogID0>,


<nTypeID0>, <strIdentifier0>, <strIPAddress0>,
<nStatusID0>, <nMessageID0>, <nSeverity0>,
<strTimeBegin0>, <strTimeEnd0>,
<strTimeAcknowledge0>],[<nLogID1>,
<nTypeID1>, <strIdentifier1>, <strIPAddress1>,
<nStatusID1>, <nMessageID1>, <nSeverity1>,
<strTimeBegin1>, <strTimeEnd1>,
<strTimeAcknowledge1>]
nLogID:
Unique numerical identifier of this entry
nSeverity:
See STATUSBEGIN
nMessageID
See STATUSBEGIN
strTimeBegin:
Time in yyyy-mm-dd HH:MM:SS notation
when this status began.
strTimeEnd:
Time in yyyy-mm-dd HH:MM:SS notation
when this status ended (empty if still active)
strTimeAcknowledged:
Time in yyyy-mm-dd HH:MM:SS notation
when this status has been acknowledged.
All other parameter descriptions match those of the
input parameters

Fault:

ERROR <no>

Properties:
Implemented since version

Dynamark 3 Logging Client 1.2

Examples
See also:

158

L027952 Issue 5 July 2014

Dynamark Communication Protocol

QUIT
Command
QUIT
Description
Asks the server process to terminate gracefully
Parameter Description
Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Implemented since version

Dynamark 3 Logging Client 1.2

Examples

QUIT
OK
See also:

L027952 Issue 5 July 2014


159

Dynamark Communication Protocol

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

Numerical identifier for a coherent group of devices


(i.e. D-Series Laserprinter)

strIdentifier

Unique identifier for this client

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Implemented since version

Dynamark 3 Logging Client 1.2

Examples

REGISTER 0,Mars
OK

See also:

160

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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

Number of days before the current date upon entries


should be deleted

nTypeID

ID of the type of device

strIdentifier

Identifier string of the device

strIPAddress

IP address of the device as nnn.nnn.nnn.nnn

strTimeFrom

Time range of the entries in yyyy-mm-dd


HH:MM:SS notation

strTimeTo
nActionID

see 0

strUserID

ID (i.e. login name) of the user who performed this


action

strParam

Descriptive text, see 0

strOldVal

Old value of a change

strNewVal

New value of a change

nBlock

Instead of sending all entries, the server should send


only a block of nBlockSize entries (amount is to be
defined in the server), beginning at
nBlock*nBlockSize.

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Implemented since version

Dynamark 3 Logging Client 1.2

Examples
See also:

L027952 Issue 5 July 2014


161

Dynamark Communication Protocol

RMOLDSTATUS
Command

RMOLDSTATUS <nDays>, <nTypeID>, <strIdentifier>, <strIPAddress>,


<strTimeFrom>, <strTimeTo>, <nStatusID>,<bActive>, <bAcknowledged>, <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

Number of days before the current date upon entries


should be deleted

nTypeID

ID of the type of device

strIdentifier

Identifier string of the device

strIPAddress

IP address of the device as nnn.nnn.nnn.nnn

strTimeFrom

Time range of the entries in yyyy-mm-dd


HH:MM:SS notation

strTimeTo
nStatusID

Unique ID of this status

bActive

(0/1) Status not marked as reset, i.e. still active

bAcknowledged

(0/1) Marked as acknowledged

nBlock

Instead of sending all entries, the server should send


only a block of nBlockSize entries (amount is to be
defined in the server), beginning at
nBlock*nBlockSize.

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Implemented since version

Dynamark 3 Logging Client 1.2

Examples
See also:

162

L027952 Issue 5 July 2014

Dynamark Communication Protocol

STATUSACK
Command
STATUSACK <nStatusID>, <nLogID>
Description
Marks the status as acknowledged
Parameter Description

nStatusID

Status ID

nlogID

ID previously acquired with GETSTATUS

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Implemented since version

Dynamark 3 Logging Client 1.2

Examples
See also:

GETSTATUS

L027952 Issue 5 July 2014


163

Dynamark Communication Protocol

STATUS_ACK_BY_FILTER
Command

STATUS_ACK_BY_FILTER <nTypeID>, <strIdentifier>, <strIPAddress>,


<strTimeFrom>, <strTimeTo>, <nStatusID>,<bActive>, <bAcknowledged>, <nBlock>
Description
Marks the status as acknowledged that matches the given parameters.
Empty parameters are not compared to match the query.
Parameter Description

nTypeID

ID of the type of device

strIdentifier

Identifier string of the device

strIPAddress

IP address of the device as nnn.nnn.nnn.nnn

strTimeFrom

Time range of the entries in yyyy-mm-dd


HH:MM:SS notation

strTimeTo
nStatusID

Unique ID of this status

bActive

(0/1) Status not marked as reset, i.e. still active

bAcknowledged

(0/1) Marked as acknowledged

Result Description:
Success:

OK

Fault:

ERROR <no>

Properties:
Implemented since version

Dynamark 3 Logging Client 1.2

Examples
See also:

GETSTATUS

164

L027952 Issue 5 July 2014

Dynamark Communication Protocol

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

Dynamark 3 Logging Client 1.2

Examples
See also:

GETSTATUS

L027952 Issue 5 July 2014


165

Dynamark Communication Protocol

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

Dynamark 3 Logging Client 1.2

Examples
See also:

GETSTATUS

166

L027952 Issue 5 July 2014