Você está na página 1de 166

Dynamark

Communication Protocol

User Guide
Dynamark Communication Protocol

THIS PAGE INTENTIONALLY LEFT BLANK

2 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

6 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 and navigate to the menu Settings / Communications /
Dynamark 2 Interface.

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.

8 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: yes


Append line feeds to incoming line ends: yes
Wrap lines that exceed terminal width: 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: yes


Append line feeds to incoming line ends: yes
Wrap lines that exceed terminal width: 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

„File-I/O-
Error“ will be returned
mode=1 (audit trail export)
– 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: ERROR <no> <printer name> <no> <printer
name> …

20 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 don’t 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: ERROR <no> <printer name> <no> <printer
name> …

22 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: ERROR <no> <printer name> <no> <printer
name> …

26 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 high-
state: 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> <F-
Ymin> <F-Ymax> <U-Xmin> <U-Xmax> <U-
Ymin> <U-Ymax> <Fields> <Origin>

With
<F...>: Full field dimensions (mm)
<U...>: Usable field dimensions (mm)
<Fields>: unsupported (always -1)
<Origin>: 0 = static marking
1 = from left to right
2 = from right to left
3 = from bottom to top
4 = from top to bottom
Fault: 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> <F-
Ymin> <F-Ymax> <U-Xmin> <U-Xmax> <U-
Ymin> <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" "1LS-
PET-NoCross" "1LS-Rom" "1LS-Script" "2LCS-Helvetica" "2LS-Arial" "2LS-Folio" "2LS-
Hebrew" "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> [additional-
param-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 user-
interface.
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 user-
interface.
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 <counter-
id> <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 template-
version="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><Parameter-
Set><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 shouldn’t 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 shouldn’t 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: ERROR <no> <printer name> <no> <printer
name> …

78 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: ERROR <no> <printer name> <no> <printer
name> …

80 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 ≤ Field Rotation = Value
Value ≤ 15)
2) Relative rotation
+ Value (rotation in clockwise based on the current Field Rotation = Current Value + Value
rotation, 0 ≤ Value ≤ 15)
- Value (rotation in anticlockwise based on the Field Rotation = Current Value - Value
current rotation, 0 ≤ Value ≤ 15)
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 value Serial number of the laser=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: ERROR <no> <printer name> <no> <printer
name> …

92 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
template-
version="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<Parameter-
Set>\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 id’s 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


Error- Description
Code
0 No error occured
1 No document loaded
2 Wrong number of parameters
3 Object with specified name not found
4 Command unknown
5 Wrong Object-Type
6 Wrong Parameters
7 Transaction failed
8 Specified Counter not found
9 Error while File-I/O
10 Timeout for a command that required a response
11 No message must be open
12 Source not found
13 The function is not supported in this system configuration
14 Internal fault
15 The XML code that was sent is not valid
16 Transaction is locked
17 No transaction is open
18 The variable does not exist in the current message
19 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
20 been preloaded.
Object cannot be added with OBJECTADD as the specified object name
21 already exists
22 Object creation failed (e.g. the specified object type is not supported)
23 Operation not allowed
24 No connection to DSP card
25 No permissions to perform this action
26 Remote data buffering is not active
27 Cold start procedure failed (laser warm up incomplete)
Vector compilation failed (e.g. objects out of bounds or wrong encoder
28 direction)
Internal Error occurring while logging in the communication interface user –
29 please contact Domino.
Multi Head configuration – The given printer name in a command doesn’t
30 exists.
Multi Head configuration – The response of a controller doesn’t match to the
31 command.
32 Setting or getting network address or DNS is not successful.
Current command failed because marking engine is still running. It can only
33 work after the marking engine stops.

100 L027952 Issue 5 July 2014


Dynamark Communication Protocol

APPENDIX B: Data-IDs for SETDATA/GETDATA

Data-ID Object-Type Description


2 All Parameter set name
3 All Object is marked (0=no; 1=yes; 2=based on digital inputs)
10 All x-Position [mm]
11 All y-Position [mm]
12 All Width [mm]
13 All Height [mm]
14 All Rotation [°]
15 All Tip [°]
16 All x-Center (0=left; 1=center; 2=right; 3=none)
17 All y-Center (0=top; 1=center; 2=bottom; 3=none)
18 All x-Mirror (0=no; 1=yes)
19 All y-Mirror (0=no; 1=yes)
20 All IO Condition Mask
21 Arc IO Condition Value
30 Arc Angle [°]
31 Arc, DXF Secants
32 Arc, Rectangle Border Width
33 Arc, Rectangle Number of borders
34 DXF Join Lines (0=no; 1=yes)
35 DXF Tolerance for Join Lines
50 Text, MRC Text
51 Text Font
52 Text Spatio
53 Text Line Feed
55 Text Italics y [°]
56 Text Proportional (0=no; 1=yes)
57 Text Alignment (0=left; 1=center;2=right)
58 Text Radius for Rotation Mode
59 Text Rotation Mode (0=no; 1=clockwise; 2=counter-
clockwise)
60 Bitmap, Hpgl,DXF Filename (incl. Path)
61 Bitmap Resolution [dpi]
62 Bitmap Algorithm (0=horizontal, 1=vertical, 2=outline)
74 MRC QR Code Version
75 MRC QR Code Format
76 MRC QR Code EC Level
77 MRC QR Code Mask
78 MRC Datamatrix Format
79 MRC MRC Check Digit
80 MRC Codetype (see Appendix)
82 MRC Resolution [dpi]
83 MRC x-Quietzone [mm]
84 MRC y- Quietzone [mm]
90 MRC Datamatrix Start Mode
91 MRC, Bitmap Invers (0=no; 1=yes)
93 MRC Security Level
94 MRC Algorithm (0=lines; 1=circles)
L027952 Issue 5 July 2014
101
Dynamark Communication Protocol

95 MRC Diameters per Cell


96 MRC Secants
97 MRC RSS Code Start Mode
98 MRC Datamatrix Square Size
99 MRC Datamatrix Rectangular Size
100 Text Inverse Lineflow (0=no; 1=yes)
101 Text Alternating Lineflow (0=no; 1=yes)
102 Text OCR-Link
103 MRC PDF 417 EC-Level
104 MRC PDF 417 Number of rows
105 MRC PDF 417 Number of columns
106 MRC PDF 417 Ratio
107 MRC QR Code Application Identifier
108 MRC QR Code Format
109 MRC QR Code Number of rows
110 MRC QR Code Number of columns
120 Bitmap, HPGL, Force automatic load of file when file has been changed
DXF
124 MRC 2D Line flow
125 MRC Short bar length
126 MRC Composite Code
127 MRC Part of the MRC to be marked
128 MRC Quiet Zone algorithm
129 All Position data for object’s bounding frame (left, top, right,
bottom) in mm (read only)

102 L027952 Issue 5 July 2014


Dynamark Communication Protocol

APPENDIX C: Message-IDs

MsgID Message Description of Message


1 MSG 1 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.
2 MSG 2 Start of a print
3 MSG 3 End of a print
4 MSG 4 Not ready to print:
Marking Mode has been disabled or suspended or Laser is turned off
5 MSG 5 <Severity> Status Change with information on the new state:
<Status-ID> Severity:
“<Text>“ 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>"
6 MSG 6 Change on digital input with information on new state (16-digit
<value> 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)
11 MSG 11 Ready to print:
The Marking Mode becomes enabled; the laser itself need not be
turned on.
12 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
14 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.
18 MSG 18 <path> A message located at the URL path has been loaded for printing.
19 MSG 19 command is a forwarded command that has been sent to DYNAMARK
<command> from any other client. Own commands are not looped back.
20 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.)
24 MSG 24 [<object- This 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

Both object name and contents are quoted if needed (using


“<contents>” if spaces are included, using preceding backslash for
characters like “, linefeed, newline, tab.
25 MSG 25 <ID> 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.
26 MSG 26 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.
27 MSG 27 The remote data buffer level has reached the warning level as
configured in the general section of the Interface Setup. See also
BUFFERDATA command.
31 MSG 31 <ID> 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

104 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 Description


nUserIndex: Integer Unique index of this user
strUserID: Text Unique login-name
nStatus: Integer Enumeration of a status . Can be
ACTIVE=0, EXPIRED, DORMANT, DELETED,
LOCKED
strSurname Text
strForename Text
strDepartment Text
strGrantID Text
Hexadecimal encoded bitset, defining the permissions
Groups: set The set of groups to which the user belongs. Each group
has a strGrantID as above.
strPassword Text
expiry: Date Date, when this account will expire (can be not set)
nChangePasswordPeriod Integer
Period in days, after which a password has to be changed
ChangePassword Date
Date, on which the next password change will have to
take place
nTimeout Integer
Time in minutes after which a user will be logged out if
inactive
nLoginattempts Integer
Number of unsuccessful login attempts
bMustchangePassword 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 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 occurrences
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 certain number has to appear in the
password (see nMinSpecChar above)
nPWChangeRemind Number of days to warn the user that the password will
have to be changed
nExpiryRemind Number of days to warn the user that the account will
expire

106 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. Description
1 Permission denied
2 Command not supported
3 Communication failed
4 Invalid session ID
5 Database access failed (in case of an error with a database based backend)
6 The user state should be changed from expired to active, but no valid expiry date
is set (see ALTERUSER)
7 The operation tried to delete a user that is currently logged on (see
DELETEUSER)
8 Unknown command
9 Unknown response
10 Unknown client (see REGISTER)
11 Client has already registered (see REGISTER)
12 The server can not perform audit-trail entries and is instructed to deny requests in
that case
13 Wrong number of parameters
14 A parameter could not be converted (i.e. number expected but alpha characters
received)
15 An operation tries to edit a deleted account
16 An operation tries to add a group which already exists
17 An operation tries to edit a group which doesn't exists
18 An operation tries to add an account which already exists
19 An operation tries to edit an account which doesn't exists
20 File access failed (in case of an error with a file based backend)
21 Dongle not found
22 The password of the special account "service" was attempted to be changed,
which is not possible
23 User ID has once been used and was deleted. It can not be reused due to
CFR21,part 11 restrictions
24 Unknown error
25 Not initialized
26 Not connected
27 The client has not registered
28 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: OK

110 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
executes this command.
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
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: ERROR <no>

118 L027952 Issue 5 July 2014


Dynamark Communication Protocol

Properties:
Implemented since version Dynamark 3 Authentication Client 1.4.0
Examples
CHANGEPW Administrator,geek42,Hällo_WÖRLD
RESULT CHANGEPW 0 0
The user Administrator has changed the password for user geek42 to "Hällo_WÖRLD"
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_id-
1],[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 Dynamark 3 Authentication Client 1.4.0

126 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. user-
levels) 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: 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
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 doesn’t 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 Message Description of Message
1 MSG 1 Logging server has disconnected from the
authentication server.
2 MSG 2,<strUserID>, Login - Sets the strUserID of the user to be logged
<strUserGrants>, in.
<strForename >, See SIG_USERCHANGED
<strSurname>,<strDepartment>
3 MSG 3,<strLogoutGrants> 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 Sub Sub


Log-ID=n LogID=n LogID=n
LogLevel=1 LogLevel=2
LogLink=1 LogLink=0
BackLink=0 BackLink=1

Parameter Parameter
OldValue OldValue
NewValue NewValue

Sub
LogID=n
LogLevel=1
LogLink=0
BackLink=0

Parameter
OldValue
NewValue

Top Sub Sub Sub


Log-ID=n+1 LogID=n+1 LogID=n+1 LogID=n+1
LogLevel=1 LogLevel=2 LogLevel=3
LogLink=1 LogLink=2 LogLink=0
BackLink=0 BackLink=1 BackLink=2

Parameter Parameter Parameter


OldValue OldValue OldValue
NewValue NewValue 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 Description
0 Logged in
1 Logged out
2 Marking started
3 Marking stopped
4 System Settings modified
5 Application started
6 Application terminated
7 Connected to interface
8 Disconnected from interface
9 Electronic Signature %1%
10 Message changed
11 Created user %1%
12 Deleted user %1%
13 Changed user data %1%
14 System Settings restored
15 Backup system data
16 Changed password %1%
17 Login failed
18 Object %1% changed
19 Object %1% added
20 Object %1% deleted
21 Object %1% moved
22 Override %1% changed
23 Override %1% added
24 Override %1% removed
25 Coding changed
26 Coding activated
27 Coding deactivated
28 Counter %1% changed
29 Counter %1% added
30 Counter %1% removed
31 Text insert %1% changed
32 Text insert %1% added
33 Text insert %1% removed
34 Clock setting %1% changed
35 Clock setting %1% added
36 Clock setting %1% removed
37 Text variable %1% changed
38 Text variable %1% added
39 Text variable %1% removed
40 Parameter %1% changed
41 Parameter %1% added
42 Parameter %1% removed
43 Shift setting modified
44 Clockcontrols modified
L027952 Issue 5 July 2014
147
Dynamark Communication Protocol

45 Dynamic text changed


46 Dynamic text added
47 Dynamic text removed
48 Message %2% in store %1% saved
49 Message %2% in store %1% created
50 Added user group %1%
51 Deleted user group %1%
52 Changed user group %1%
53 Changed password policy
54 Auto Login %1%
55 Auto Logout %1%
56 Set Date/Time
57 Nonvolatile storage formatted (Type=%1%)
58 Restore, %1%
59 Update, %1%
60 Removed Action Log entries that are older than %1% days
61 Font %1% added
61 Font %1% removed
63 Setup print field offset
64 Message %2% in store %1% removed
65 Store %1% removed
66 Store %1% created
67 Renamed store %1% to %2%
68 Renamed message %2% to %3% in store %1%
69 Copied message %2% into store %1%
70 Graphic file %1% uploaded
71 Coding file %1% uploaded
72 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/07-
200.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 top-
level 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

Você também pode gostar