Introduction

This document will describe the Extended Protocol Communications as implemented with the ITM8400 marking system software. Extended Protocol is intended to provide secure communications with an intelligent host device. This document assumes familiarity with the ASCII character code as well as fundamental computer programming skills.

The features described in this document are relevant only to software version 7.0 and higher, which is only available on the ARM-based CPU card ITM32137. If you are unsure if your system uses this card, please contact the factory at 740-642-3600 for assistance.

 

Disclaimer

Note: the capabilities described in this document apply only to ITM8400 software versions 7.X. InfoSight reserves the right to change this document or the system it describes without prior notification.

Note: This document is complete and correct to the best knowledge of InfoSight Corporation. InfoSight makes no warranties as to the accuracy of this document.

 

Connection

Communications is established via an Ethernet network connection using TCP/IP sockets. The marker will accept connections on the following TCP port numbers:

Primary Port 5001
Secondary Port 5002

Note that up to two external devices can connect to the system simultaneously, one on each of the ports listed above.

The marker will act as a server, accepting connections on the above socket ports. The external device will assume the role of client and actively connect to the marker on these ports. Once a connection is established, data transfers will take place as needed in both directions using Extended Protocol.

Note that in this implementation the Extended Protocol is used in a peer-to-peer manner rather than master-slave. That is, either side can initiate an asynchronous message to its peer, which will respond to the message with an acknowledgment message. This differs from the standard Extended Protocol's master-slave requirement.

Also note that with this implementation of Extended Protocol, the NAK message returned from the marker upon an error condition may contain explanatory text in the message body.

 

Standard Message TYPEs

Messages from the External Device to the Marker

The following is a list of standard message types which the external device can send to the marker.

Prior versions of the software used the comma character to separate data fields within the download. The comma character introduced difficulties such as how to handle the comma within a printed text string.  Version 7 and above replaces the comma character with the ASCII TAB character.  In this document the use of  <tab> denotes a single ASCII TAB character (0x09).

 

Download Text Line

1 through 6 - The DATA TEXT contains a text string which is a message to be printed on the line specified by the data type. The message text is stored in the currently assigned message file. If the message is processed successfully, the response ACK message will contain an echo of the downloaded message in the DATA TEXT field.  If an error occurs a NAK message will be returned with an error message in the DATA TEXT field.

 

Download Text for All Lines

0 - The DATA TEXT contains a TAB delimited list consisting of the message filename assignment, and six text strings, which are messages to be printed on each of the 6 possible message lines. If no data is to be printed on a given line, then that field can be left blank (the separating TAB is still required.) The message text is stored in the specified message file. The response message contains the original downloaded message in the DATA TEXT field if the message is accepted. Note that the first field, the message filename, can optionally be empty, in which case the currently assigned message file is used.

e.g. Stamp.msg <tab> AAAA <tab> <tab> BBBB <tab> <tab> CCCC <tab>

This example will assign message file "Stamp.msg" and download three strings to lines 1,3 and 5 respectively. Lines 2,4 and 6 will be cleared.

If the DATA TEXT field is empty (no message filename and no text lines) the marker will interpret this as a request for the current message assignment and text strings. The ACK message will contain the message filename and all six text strings separated by TAB characters.

 

Assign a Buffer

A - This message type is used to either request the current message file assignment, or to set the assignment to a new file.

If the DATA TEXT field is empty, the marker will reply with an ACK message containing the name of the currently assigned message file.

If the DATA TEXT field is not empty, it must contain the name of the message file to Assign for printing. If the assignment is changed successfully, the response ACK message will contain the newly assigned message filename  in the DATA TEXT field. If there is an error assigning the message file, the response NAK message will contain an error message.

Note that the message filename is not case sensitive, and the extension of .MSG is optional. Any other file extension will be converted to .MSG before the assignment is made.

 

Request List of Message Files

B - This type is used to request the list of message files that are currently configured on the printer.  The DATA TEXT field of the reply will contain a TAB delimited list of the message file names.

 

Comm Link Check

C - This type is used to check the communications link integrity. No data is required in the message, but if there is data in the DATA TEXT field, it is returned in the ACK response message. An ACK response will indicate that the link is functioning properly.

 

Clear Message Queue

D - The marker's print-message queue can be cleared with this message type. No data is required in the DATA TEXT field, nor is any returned in the ACK message.

 

Enqueue Message

E - You may send data to be enqueued in the marker's print-message queue using this message type. The DATA TEXT field must contain a TAB delimited list of fields, beginning with the message filename assignment and followed by the individual text fields. Note that the format of this message is identical to message type '0' described previously.

Note that the marker's message queue is limited to 50 items. Any messages sent when the queue is full will be lost and no feedback will be provided.

 

Force Outputs

F - This type is used to have the marker force one of its output bits into the specified state. The DATA TEXT field must contain the I/O bank, the number of the output module, and its desired state as follows:

# <tab> # <tab> #

Each number is a decimal integer. A TAB separates the three numbers. The numbers represent the following:

  • Bank of I/O (0 or 1)
  • Module Number (0 - 23)
  • State (0=Off, 1=On)

Note: When forcing an output, it may only stay in its forced state until the next scan of the control program. Unlike forcing an output in a PLC, this does not override the scanning logic.

CAUTION: Use of this message can cause damage to the equipment or injury to personnel.

 

Begin Marking Print Cycle (Go)

G - This type is used to cause the marker to begin printing. The print cycle will only begin if the marker is in Auto mode and is Online. The response message contains no data in the DATA TEXT field.

 

Seek Home

H - This type is used to cause the marker to seek its home reference position. The response message contains no data in the DATA TEXT field.

 

Park the Marker

K - This type is used to force the marker to park itself at its programmed park location. The operation will only be executed if the marker is Online. The response message contains no data in the DATA TEXT field.

 

Download Message File

M - This type is used to send a message file. The fields within the message each begin with a three-character identifier that includes a two character name followed by an equal sign. Each field is optional, so you must only send the fields that change.

  • AS= File name assignment. Optional, but when used it must be the first field
  • F0= through F5= Format string for the indicated line
  • V0= through V5= Variable (operator entered) text for the indicated line
  • SN= Serial number
  • SL= Serial number lower limit
  • SU= Serial number upper limit
  • SI= Serial number increment
  • X0= X position for print group 1
  • X1= X position for print group 2
  • Y0= Y position for print group 1
  • Y1= Y position for print group 2
  • CH= Character Height
  • CW= Character Width
  • CP= Character Pitch
  • CS= Character Height Selection (0-3, 4=User Defined)
  • FO= Font Selection (0=5x7, 1=7x9 and 2=11x16)
  • PM= Print Method (0=Raster, 1=Matrix and 2=Continuous,3=Step Arc, 4=True Arc,5=InfoWARP)
  • PD= Pixel density
  • IP= Inverse Print (0=Off, 1=On)
  • IS= Image shift
  • AT= Arc Type (0=concave, 1=convex)
  • CT= Character Step value used for Step Arc method
  • CX= Center X coordinate for True Arc method
  • CY= Center Y coordinate for True Arc method
  • RA= Radius for True Arc method
  • AN= Start Angle for True Arc method
  • Flags - Reserved flags, not used at this time

 

Place Marker Online

O - This type is used to force the marker to go Online. The response message contains no data in the DATA TEXT field.

 

Marker Setup Parameters

P - This type is used to send Parameter setup information to the marker. Parameter data is sent down in groups, and a single download message can contain one or more groups. Multiple groups within a message are separated with carriage return and line feed characters (CR/LF.)

Within each group, individual fields are separated by TAB characters. Each group begins with a field that identifies the group name. Group names are all three characters long, and with the TAB separator occupy four bytes of memory, making it easier for a PLC to assemble the message.

Within each group parameters are identified by a three character identifier. The first two characters are the name of the field and the third parameter is always an equal sign. Using this field naming scheme, the remote device only has to send down the parameters that have changed.

If the only field present in the dowmloaded message is the group name, the marker will interpret this as a request for that groups current settings and will supply those settings in the ACK reply message.

 

Parameter Groups

MKR - This group name indicates that the group contains the marker parameters. These parameters, separated by TAB characters, must have the following format:

  • O1= Driver On Time for 25 pin
  • O2= Driver On Time for 101 pin
  • O3= Driver On Time for 25C pin
  • O4= Driver On Time for 150 pin
  • O5= Driver On Time for 150s pin
  • PD= Pulsing Delay time in mS
  • VD= Vector Delay
  • PR= Number of rows of marking Pins
  • PP= Number of marking pins per row
  • PT= Currently selected pin type (0=25,1=101,2=25C,3=150,4=150s)
  • PS= Pin Spacing
  • ST= Pin stroke
  • FL= Flags - Reserved flags, not used at this time.

 

MSG - This group name indicates that the DATA TEXT field contains the message parameters. These parameters, separated by TAB characters, must have the following format:

  • NL= Max number of text lines to print (1 - 6)
  • RP= Reverse Print (0=off, 1=on)
  • CL= Characters per Line
  • AW= Auto Center Field Width
  • FL= Flags
    Unsigned integer whose bit pattern represents:
    Bit 0 : 1= New message required each print.
    Bit 1 : 1= Erase message after print.
    Bit 2 : 1= Auto center message.
    Bit 3 : 1= No slash in zero character.

 

PSW - This group name indicates that the DATA TEXT field contains password settings.

  • PW= New password
  • FL= Flags - Reserved flags, not used at this time

 

AXX - This group indicates that the DATA TEXT field contains the X Axis speed parameters. These parameters, separated by TAB characters, must have the following format:

  • RT= Reversing Take-up
  • PI= Prefire Index
  • FM= Minimum motor frequency in Hz
  • FX= Maximum motor frequency in Hz
  • MT= Maximum motor travel range in millimeters
  • RS= Motor resolution in millimeters per pulse
  • PK= Motor park position in millimeters
  • FL= Flags - Reserved flags, not used at this time.
  • ND= Number of stepper motor dividers.
  • 00= through 39=  40 numbers representing the dividers for the stepper motor.

AXY - This sub-type indicates that the DATA TEXT field contains the Y Axis speed parameters. These parameters are formatted exactly as shown above for the X axis.

NET - This group indicates that the DATA TEXT field contains the network parameters. These parameters, separated by TAB characters, must have the following format:

  • IP= Marker's IP address
  • SM= Subnet mask
  • DR= Default Router IP address
  • H1= Host port 1
  • H2= Host port 2
  • PL= PLC IP address
  • PP= PLC port number
  • FL= Flags - Reserved flags, not used at this time

 

USR - This group indicates that the DATA TEXT field contains the user parameters. These parameters, separated by TAB characters, must have the following format:

  • UM= User Month table
  • UY= User Year table
  • US= User Shift table
  • S1= Shift 1 start time
  • S2= Shift 2 start time
  • S3= Shift 3 start time
  • FL= Flags - Reserved flags, not used at this time

 

BAR - This group indicates that the DATA TEXT field contains the barcode parameters. These parameters, separated by TAB characters, must have the following format:

  • MW= Module width
  • BW= Bar width
  • CM= Checksum modulus
  • NC= Num characters
  • FL= Flags - Reserved flags, not used at this time

 

LGO - This group indicates that the DATA TEXT field contains the logo parameters. These parameters, separated by TAB characters, must have the following format:

The first field is a number identifying the logo ID.  This number can range from 0 to 25, indicating one of the 26 user defined logo characters.

Following the logo ID is a TAB character and then a list of up to 64 numbers, each separated by a TAB character. Each number is a decimal equivalent of a single column in the logo image.

 

Query for the Marker’s Mode and Status

S - This type is used to query the marker for its current mode and status.  The marker's will respond with an acknowledge message that contains no information in the DATA TEXT field.

After responding to your 'S' message, the marker will send its own 'S' message to you.  This message contains the marker’s mode and status information in the DATA TEXT field as shown.

# <tab> # <tab> # <tab> # <tab> # <tab> # <tab> # <tab> # <tab> 

  • The first number is the marker’s mode.
    0 Manual
    1 Auto
  • The next number is the marker’s state.
    0 Idle
    1 Compiled
    2 Printing
    3 Printing
    4 Aborted
  • The last six numbers are the state of the primary and secondary I/O banks converted to integer values.

Note that if the query message's DATA TEXT field is not empty, it may contain either a single zero character '0' or a single one character '1'.  The '1' will enable the automatic reporting of the marker's status and the '0' will disable automatic status reports.

When automatic reporting is turned on, the marker will send an 'S' message to the external device with the same message format as described above, whenever there is a change in mode, state or I/O state.

 

Set Time and Date

T - This type is used to set the time and date of the marker’s built-in clock/calendar. The DATA TEXT field for this message must contain the time and date separated by a TAB character in the following format:

HH:MM <tab> MM/DD/YY

There is no data in the DATA TEXT field of the response message.

 

Enable Upload of Marked Text

U - This type is used to enable the upload of the marked text strings as a marking cycle is completed. 

There must be a character in the DATA TEXT field for this type to enable/disable the feature. If you include an ASCII '1' character in the field, this will enable the automatic reporting of marked text strings.  The marker will begin sending asynchronous 'U' messages to the host whenever a marking cycle completes. The marked text consists of one or more strings separated by the TAB character.  An ASCII '0' character in the field will turn off automatic marked text updates.

This feature was added to the firmware in V7.21

 

Program Version Request

V - This type is used to the marker's program version information. The DATA TEXT field for this message is not used. The ACK reply message will contain the program version information in the following format:

InfoDent® 8400 <tab> 7.00 <tab> 2013-04-10

 The first field identifies the InfoSight product and model, the second field is the version number and the final field is the firmware release date.

 

Conclusion

This concludes the description of the Extended Protocol for communications with the InfoSight Corporation ITM8400 Software.

 

Specifications are subject to change without notice.

Download the PDF datasheet.

InfoDent is a registered trademark of InfoSight Corporation