DataMan Control Commands Overview
DataMan Control Commands (DMCC) are a method of configuring and controlling a DataMan reader from a COM port, either directly or programatically through a custom application. Depending on the DataMan reader you are using, the COM port connection be either RS232, USB, or the Telnet protocol in the case of Ethernet capable readers. By default, Ethernet capable readers are configured to communicate over TCP port number 23, but you can use the Setup Tool to assign a different port number as necessary.
Cognex recommends using HyperTerminal, a built-in Windows communications application, to test your ability to connect to an available reader.
Command Syntax
All DMCC commands are formed of a stream of ASCII printable characters with the following syntax:
command-headercommand[arguments]footer
For example:
||>trigger on\CR\LF
Command Header Syntax
All options are colon separated ASCII text. A header without the header-option block will use header defaults.
||checksum:command-id>
- checksum
0: no checksum (default) 1: last byte before footer is XOR of bytes
- command-id
- User-provided sequence identifier that will be reported in acknowledgement.
Examples
| Example | Description |
|---|---|
| ||> | Default Header. |
| ||0:123> | Header indicating no-checksum and ID of 123. |
| ||1> | Header indicating checksum after command and data. |
Command
The command is an ASCII typable string possibly followed by data. All command names and public parameters data are case insensitive. Only a single command may be issued within a header-footer block. Commands, parameters and arguments are separated by a space character.
- Commands
- Short names specifying an action.
- A commonly used command is GET or SET followed by a Parameter and Value.
- Parameters
- Short names specifying a device setting.
- Parameter names are organized with a group of similar commands with one level of structural organization separated by a period ('.').
- Arguments
- Boolean:ON or OFF
- Integer:123456
- String: ASCII text string enclosed by quotes (“).The string content is passed to a function to translate the string to the final format. The following characters must be backslash escaped: quote (\”), backslash (\\), pipe (\|), tab (\t), CR(\r), LF (\n).
Footer
The footer is a carriage return and linefeed (noted as \CR\LF or \r\n).
Reader Response
The reader will have one of several response formats. The choice of response format is configured using the SET COM.DMCC-RESPONSE command. Note that while the reader can process a stream of DMCC commands, it is typically more robust to either wait for a response, or insert a delay between consecutive commands.
Silent: (Default) No response will be sent from the reader. Invalid commands are ignored without feedback. Command responses are sent in space delimited ASCII text without a header or footer.
Extended: The reader responds with a header data footer block similar to the command format.
- checksum
- The response uses the same checksum format as the command sent to the reader.
- 0: no checksum
- 1: last byte before footer is XOR of bytes
- command-id
- The command-id sent to the reader is returned in the response header.
- status
- An integer in ASCII text format.
- 0: no error
- 1: reader initiated read-string
- 100: unidentified error
- 101: command invalid
- 102: parameter invalid or missing feature
- 103: checksum incorrect
- 104: parameter rejected/altered due to reader state
- 105: assigned wireless reader is not accessible for the base station
Examples
| Command | Silent Response | Extended Response | Description |
|---|---|---|---|
| ||>GET SYMBOL.DATAMATRIX\r\n | ON | ||[0]ON\r\n | Is the DataMatrix symbology enabled? |
| ||>SET SYMBOL.DATAMATRIX ON\r\n | no response | ||[0]\r\n | Enable the DataMatrix symbology. |
| ||>TRIGGER ON\r\n | decoded data or no-read response | ||[0]\r\n ||[1]decoded data or no-read response in base64\r\n | Trigger Command |