Dynamark Interface Communication Protocol User Guide-2015!07!23
-
Upload
yawar-syed -
Category
Documents
-
view
1.047 -
download
207
description
Transcript of Dynamark Interface Communication Protocol User Guide-2015!07!23
Dynamark Communication Protocol
User Guide
Dynamark Communication Protocol
2 L027952 Issue 5 July 2014
THIS PAGE INTENTIONALLY LEFT BLANK
Dynamark Communication Protocol
L027952 Issue 5 July 2014
3
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
Dynamark Communication Protocol
4 L027952 Issue 5 July 2014
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
Dynamark Communication Protocol
L027952 Issue 5 July 2014
5
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
Dynamark Communication Protocol
6 L027952 Issue 5 July 2014
THIS PAGE INTENTIONALLY LEFT BLANK
Dynamark Communication Protocol
L027952 Issue 5 July 2014
7
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
Dynamark Communication Protocol
8 L027952 Issue 5 July 2014
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.
Dynamark Communication Protocol
L027952 Issue 5 July 2014
9
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).
Dynamark Communication Protocol
10 L027952 Issue 5 July 2014
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
Dynamark Communication Protocol
L027952 Issue 5 July 2014
11
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.
Dynamark Communication Protocol
12 L027952 Issue 5 July 2014
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.
Dynamark Communication Protocol
L027952 Issue 5 July 2014
13
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.
Dynamark Communication Protocol
14 L027952 Issue 5 July 2014
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.
Dynamark Communication Protocol
L027952 Issue 5 July 2014
15
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.
Dynamark Communication Protocol
16 L027952 Issue 5 July 2014
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!
Dynamark Communication Protocol
L027952 Issue 5 July 2014
17
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> …
Dynamark Communication Protocol
18 L027952 Issue 5 July 2014
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
Dynamark Communication Protocol
L027952 Issue 5 July 2014
19
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> …
Dynamark Communication Protocol
20 L027952 Issue 5 July 2014
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> …
Dynamark Communication Protocol
L027952 Issue 5 July 2014
21
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> …
Dynamark Communication Protocol
22 L027952 Issue 5 July 2014
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> …
Dynamark Communication Protocol
L027952 Issue 5 July 2014
23
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> …
Dynamark Communication Protocol
24 L027952 Issue 5 July 2014
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
Dynamark Communication Protocol
L027952 Issue 5 July 2014
25
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).
Dynamark Communication Protocol
26 L027952 Issue 5 July 2014
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> …
Dynamark Communication Protocol
L027952 Issue 5 July 2014
27
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> …
Dynamark Communication Protocol
28 L027952 Issue 5 July 2014
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).
Dynamark Communication Protocol
L027952 Issue 5 July 2014
29
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.
Dynamark Communication Protocol
30 L027952 Issue 5 July 2014
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).
Dynamark Communication Protocol
L027952 Issue 5 July 2014
31
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
Dynamark Communication Protocol
32 L027952 Issue 5 July 2014
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).
Dynamark Communication Protocol
L027952 Issue 5 July 2014
33
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).
Dynamark Communication Protocol
34 L027952 Issue 5 July 2014
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).
Dynamark Communication Protocol
L027952 Issue 5 July 2014
35
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).
Dynamark Communication Protocol
36 L027952 Issue 5 July 2014
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).
Dynamark Communication Protocol
L027952 Issue 5 July 2014
37
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.
Dynamark Communication Protocol
38 L027952 Issue 5 July 2014
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
Dynamark Communication Protocol
L027952 Issue 5 July 2014
39
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.
Dynamark Communication Protocol
40 L027952 Issue 5 July 2014
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)
Dynamark Communication Protocol
L027952 Issue 5 July 2014
41
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).
Dynamark Communication Protocol
42 L027952 Issue 5 July 2014
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).
Dynamark Communication Protocol
L027952 Issue 5 July 2014
43
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).
Dynamark Communication Protocol
44 L027952 Issue 5 July 2014
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).
Dynamark Communication Protocol
L027952 Issue 5 July 2014
45
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.
Dynamark Communication Protocol
46 L027952 Issue 5 July 2014
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).
Dynamark Communication Protocol
L027952 Issue 5 July 2014
47
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
Dynamark Communication Protocol
48 L027952 Issue 5 July 2014
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)
Dynamark Communication Protocol
L027952 Issue 5 July 2014
49
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).
Dynamark Communication Protocol
50 L027952 Issue 5 July 2014
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).
Dynamark Communication Protocol
L027952 Issue 5 July 2014
51
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).
Dynamark Communication Protocol
52 L027952 Issue 5 July 2014
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).
Dynamark Communication Protocol
L027952 Issue 5 July 2014
53
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).
Dynamark Communication Protocol
54 L027952 Issue 5 July 2014
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).
Dynamark Communication Protocol
L027952 Issue 5 July 2014
55
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> …
Dynamark Communication Protocol
56 L027952 Issue 5 July 2014
Command
When one controller failed and others are success than the result starts always with the failed controller.
Dynamark Communication Protocol
L027952 Issue 5 July 2014
57
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.
Dynamark Communication Protocol
58 L027952 Issue 5 July 2014
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).
Dynamark Communication Protocol
L027952 Issue 5 July 2014
59
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).
Dynamark Communication Protocol
60 L027952 Issue 5 July 2014
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).
Dynamark Communication Protocol
L027952 Issue 5 July 2014
61
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.
Dynamark Communication Protocol
62 L027952 Issue 5 July 2014
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 type="bool" value="true"/><Offset type="CPoint" value="308019 386662"/><ScaleX type="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><CObjKreis><Arc type="float" value="6.28319"/><ArcWidth type="float" value="0"/><CircleCount 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 type="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></Parameter-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).
Dynamark Communication Protocol
L027952 Issue 5 July 2014
63
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).
Dynamark Communication Protocol
64 L027952 Issue 5 July 2014
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).
Dynamark Communication Protocol
L027952 Issue 5 July 2014
65
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).
Dynamark Communication Protocol
66 L027952 Issue 5 July 2014
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).
Dynamark Communication Protocol
L027952 Issue 5 July 2014
67
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> …
Dynamark Communication Protocol
68 L027952 Issue 5 July 2014
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
Dynamark Communication Protocol
L027952 Issue 5 July 2014
69
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> …
Dynamark Communication Protocol
70 L027952 Issue 5 July 2014
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
Dynamark Communication Protocol
L027952 Issue 5 July 2014
71
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> …
Dynamark Communication Protocol
72 L027952 Issue 5 July 2014
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).
Dynamark Communication Protocol
L027952 Issue 5 July 2014
73
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> …
Dynamark Communication Protocol
74 L027952 Issue 5 July 2014
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).
Dynamark Communication Protocol
L027952 Issue 5 July 2014
75
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
Dynamark Communication Protocol
76 L027952 Issue 5 July 2014
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).
Dynamark Communication Protocol
L027952 Issue 5 July 2014
77
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).
Dynamark Communication Protocol
78 L027952 Issue 5 July 2014
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> …
Dynamark Communication Protocol
L027952 Issue 5 July 2014
79
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> …
Dynamark Communication Protocol
80 L027952 Issue 5 July 2014
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> …
Dynamark Communication Protocol
L027952 Issue 5 July 2014
81
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> …
Dynamark Communication Protocol
82 L027952 Issue 5 July 2014
SETFIELDROTATION
Command
SETFIELDROTATION [+|-] <value>
Description
This command is used for setting the rotation angle of the marking field.
Parameter Description
1) Absolute rotation
Value (degree of absolute rotation angle, -15 ≤ Value ≤ 15)
Field Rotation = Value
2) Relative rotation
+ Value (rotation in clockwise based on the current rotation, 0 ≤ Value ≤ 15)
Field Rotation = Current Value + Value
- Value (rotation in anticlockwise based on the current rotation, 0 ≤ Value ≤ 15)
Field Rotation = Current Value - Value
Result Description:
Success: OK
Fault: ERROR <no>
Properties:
Transaction-Command No
Implemented since version Dynamark 3 Backend 3.4
Examples
Example1: Set the rotation of field by giving the absolute value setfieldrotation -3.7 OK In this example, the fieldrotation is -3.7 Example2: Set the rotation of field by gving the relative value getfieldrotation RESULT GETFIELDROTATION „-3.7” setfieldrotation + 5.3 OK In example 2, the original rotation (-3.7) is achieved by using command “getfieldrotation”. If “+ 5.3” is given, it means field will continue to rotate 5.3 degree in the clockwise direction based on current rotate angle (-3.7). Test how much rotates the field in Example 2 Getfieldrotation RESULT GETFIELDROTATION 1.6 (-3.7+5.3)
See also:
GETFIELDROTATION
Multi Head Extension:
No differences to the description above (will be sent to the primary controller only)
Dynamark Communication Protocol
L027952 Issue 5 July 2014
83
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> …
Dynamark Communication Protocol
84 L027952 Issue 5 July 2014
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).
Dynamark Communication Protocol
L027952 Issue 5 July 2014
85
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> …
Dynamark Communication Protocol
86 L027952 Issue 5 July 2014
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”
Dynamark Communication Protocol
L027952 Issue 5 July 2014
87
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)
Dynamark Communication Protocol
88 L027952 Issue 5 July 2014
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).
Dynamark Communication Protocol
L027952 Issue 5 July 2014
89
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).
Dynamark Communication Protocol
90 L027952 Issue 5 July 2014
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).
Dynamark Communication Protocol
L027952 Issue 5 July 2014
91
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.
Dynamark Communication Protocol
92 L027952 Issue 5 July 2014
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> …
Dynamark Communication Protocol
L027952 Issue 5 July 2014
93
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).
Dynamark Communication Protocol
94 L027952 Issue 5 July 2014
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" value="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" value="0"/></CObjBaseData>\n<CObjKreis>\n<Arc type="float" value="6.28319"/>\n<ArcWidth type="float" value="0"/>\n<CircleCount type="int" value="5"/>\n<Sekanten type="int" value="24"/></CObjKreis></DYNAMARK-Object>\n<Parameter-
Set>\n<CParamDelays>\n<DelayName type="CString">Default</DelayName>\n<StepPeriod type="double" value="10"/>\n<JumpDelay type="double" value="150"/>\n<MarkDelay 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></Parameter-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:
Dynamark Communication Protocol
L027952 Issue 5 July 2014
95
No differences to the description above (will be sent to the primary controller only).
Dynamark Communication Protocol
96 L027952 Issue 5 July 2014
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!
Dynamark Communication Protocol
L027952 Issue 5 July 2014
97
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).
Dynamark Communication Protocol
98 L027952 Issue 5 July 2014
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
Dynamark Communication Protocol
L027952 Issue 5 July 2014
99
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> …
Dynamark Communication Protocol
100 L027952 Issue 5 July 2014
APPENDIX A: Error Codes
Error-Code
Description
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
20
The index specified in the BUFFERDATA command is already in use or – if automatic id generation via id=-1 is used – more than 9999 data records have
been preloaded.
21 Object cannot be added with OBJECTADD as the specified object name 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)
28 Vector compilation failed (e.g. objects out of bounds or wrong encoder direction)
29
Internal Error occurring while logging in the communication interface user –
please contact Domino.
30 Multi Head configuration – The given printer name in a command doesn’t exists.
31
Multi Head configuration – The response of a controller doesn’t match to the
command.
32 Setting or getting network address or DNS is not successful.
33 Current command failed because marking engine is still running. It can only work after the marking engine stops.
Dynamark Communication Protocol
L027952 Issue 5 July 2014
101
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)
Dynamark Communication Protocol
102 L027952 Issue 5 July 2014
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, DXF
Force automatic load of file when file has been changed
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)
Dynamark Communication Protocol
L027952 Issue 5 July 2014
103
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-ID> “<Text>“
Status Change with information on the new state: Severity: 0=information 1=warning
2=temporary fault 3=critical fault 4=critical fault (needs to be reset by hardware; S-series only) Status-ID: id as defined in the status configuration Text: Status text in the selected translation Multi Head configuration - The text starts with “<printer name>: “ MSG 5 <Severity> <Status-ID> "<<printer name:> Text>"
6 MSG 6 <value>
Change on digital input with information on new state (16-digit hexadecimal code as “value”) Multi Head configuration – adds input state of all controllers. MSG 6 <value> <value> … First value is the state of primary controller next values are states of controller as ordered in the url list of connected backends (see multi head configuration)
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> <session-id>
A user with the given user id has logged into the system – in the case 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>
command is a forwarded command that has been sent to DYNAMARK from any other client. Own commands are not looped back.
20 MSG 20 <language_id>
The language of the DYNAMARK user interface has changed to 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-name> <contents>] ...
This message is triggered on every print start providing the contents of all text/MRC objects in the message. The contents are always provided in an object name-content pair.
Dynamark Communication Protocol
104 L027952 Issue 5 July 2014
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
Dynamark Communication Protocol
L027952 Issue 5 July 2014
105
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
Dynamark Communication Protocol
106 L027952 Issue 5 July 2014
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
Dynamark Communication Protocol
L027952 Issue 5 July 2014
107
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\"
Dynamark Communication Protocol
108 L027952 Issue 5 July 2014
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.
Dynamark Communication Protocol
L027952 Issue 5 July 2014
109
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
Dynamark Communication Protocol
110 L027952 Issue 5 July 2014
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
Dynamark Communication Protocol
L027952 Issue 5 July 2014
111
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
Dynamark Communication Protocol
112 L027952 Issue 5 July 2014
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
Dynamark Communication Protocol
L027952 Issue 5 July 2014
113
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.
Dynamark Communication Protocol
114 L027952 Issue 5 July 2014
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
Dynamark Communication Protocol
L027952 Issue 5 July 2014
115
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
Dynamark Communication Protocol
116 L027952 Issue 5 July 2014
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
Dynamark Communication Protocol
L027952 Issue 5 July 2014
117
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
Dynamark Communication Protocol
118 L027952 Issue 5 July 2014
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>
Dynamark Communication Protocol
L027952 Issue 5 July 2014
119
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
Dynamark Communication Protocol
120 L027952 Issue 5 July 2014
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
Dynamark Communication Protocol
L027952 Issue 5 July 2014
121
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
Dynamark Communication Protocol
122 L027952 Issue 5 July 2014
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
Dynamark Communication Protocol
L027952 Issue 5 July 2014
123
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
Dynamark Communication Protocol
124 L027952 Issue 5 July 2014
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
Dynamark Communication Protocol
L027952 Issue 5 July 2014
125
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
Dynamark Communication Protocol
126 L027952 Issue 5 July 2014
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
Dynamark Communication Protocol
L027952 Issue 5 July 2014
127
Examples
GETPWPOLICY RESULT GETPWPOLICY 8,3,3,1,4,5,3,1,3,@*!#
See also:
SETPWPOLICY
Dynamark Communication Protocol
128 L027952 Issue 5 July 2014
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:
Dynamark Communication Protocol
L027952 Issue 5 July 2014
129
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
Dynamark Communication Protocol
130 L027952 Issue 5 July 2014
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)
Dynamark Communication Protocol
L027952 Issue 5 July 2014
131
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
Dynamark Communication Protocol
132 L027952 Issue 5 July 2014
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
Dynamark Communication Protocol
L027952 Issue 5 July 2014
133
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
Dynamark Communication Protocol
134 L027952 Issue 5 July 2014
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
Dynamark Communication Protocol
L027952 Issue 5 July 2014
135
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
Dynamark Communication Protocol
136 L027952 Issue 5 July 2014
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:
Dynamark Communication Protocol
L027952 Issue 5 July 2014
137
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:
Dynamark Communication Protocol
138 L027952 Issue 5 July 2014
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
Dynamark Communication Protocol
L027952 Issue 5 July 2014
139
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:
Dynamark Communication Protocol
140 L027952 Issue 5 July 2014
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
Dynamark Communication Protocol
L027952 Issue 5 July 2014
141
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:
Dynamark Communication Protocol
142 L027952 Issue 5 July 2014
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
Dynamark Communication Protocol
L027952 Issue 5 July 2014
143
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>, <strUserGrants>, <strForename >, <strSurname>,<strDepartment>
Login - Sets the strUserID of the user to be logged
in.
See SIG_USERCHANGED
3 MSG 3,<strLogoutGrants> Logout – Would cause a logout.
Dynamark Communication Protocol
144 L027952 Issue 5 July 2014
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:
Dynamark Communication Protocol
L027952 Issue 5 July 2014
145
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
Key
Log-ID=n Sub
LogID=n
LogLevel=1
LogLink=1
BackLink=0
Parameter
OldValue
NewValue
Sub
LogID=n
LogLevel=2
LogLink=0
BackLink=1
Parameter
OldValue
NewValue
Sub
LogID=n
LogLevel=1
LogLink=0
BackLink=0
Parameter
OldValue
NewValue
Sub
LogID=n+1
LogLevel=1
LogLink=1
BackLink=0
Parameter
OldValue
NewValue
Sub
LogID=n+1
LogLevel=2
LogLink=2
BackLink=1
Parameter
OldValue
NewValue
Sub
LogID=n+1
LogLevel=3
LogLink=0
BackLink=2
Parameter
OldValue
NewValue
Top
Log-ID=n+1
Dynamark Communication Protocol
146 L027952 Issue 5 July 2014
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\"
Dynamark Communication Protocol
L027952 Issue 5 July 2014
147
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
Dynamark Communication Protocol
148 L027952 Issue 5 July 2014
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)
Dynamark Communication Protocol
L027952 Issue 5 July 2014
149
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
Dynamark Communication Protocol
150 L027952 Issue 5 July 2014
Command
Examples
ACTION 1,4,Administrator,,1,4,DSP,,,2,4,strMADFile,Matrix-Adaption/07-200.mad,Matrix-Adaption/10-075.mad
See also:
Dynamark Communication Protocol
L027952 Issue 5 July 2014
151
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:
Dynamark Communication Protocol
152 L027952 Issue 5 July 2014
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:
Dynamark Communication Protocol
L027952 Issue 5 July 2014
153
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:
Dynamark Communication Protocol
154 L027952 Issue 5 July 2014
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
Dynamark Communication Protocol
L027952 Issue 5 July 2014
155
See also:
Dynamark Communication Protocol
156 L027952 Issue 5 July 2014
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:
Dynamark Communication Protocol
L027952 Issue 5 July 2014
157
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.
Dynamark Communication Protocol
158 L027952 Issue 5 July 2014
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:
Dynamark Communication Protocol
L027952 Issue 5 July 2014
159
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:
Dynamark Communication Protocol
160 L027952 Issue 5 July 2014
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:
Dynamark Communication Protocol
L027952 Issue 5 July 2014
161
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:
Dynamark Communication Protocol
162 L027952 Issue 5 July 2014
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:
Dynamark Communication Protocol
L027952 Issue 5 July 2014
163
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
Dynamark Communication Protocol
164 L027952 Issue 5 July 2014
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
Dynamark Communication Protocol
L027952 Issue 5 July 2014
165
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
Dynamark Communication Protocol
166 L027952 Issue 5 July 2014
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