Introduction

This document will describe the Extended Protocol Communications as implemented with the InfoSight I-Dent ® marker 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.

Note that this document is for InfoSight ARM based CPU cards running firmware version 3.x.  If your I-Dent ® marker uses the older 186 CPU with firmware V2.x or lower, please refer to this document.

 

Disclaimer

Note: This document is correct to the best knowledge of InfoSight Corporation. InfoSight Corporation reserves the right to change this document or the system it describes without notice.

Communications can be established using either of two methods:  serial COM port, or Ethernet TCP/IP sockets.

RS232 serial connection with the following parameters:

Baud Rate Selectable 1200 to 19200
Data Bits 7 or 8
Parity ODD, EVEN or NONE
Start Bits 1 or 2
Stop Bits 1
Three Wire RX, TX and GND

XON/XOFF handshaking is not implemented in this marker.

Ethernet TCP/IP communications requires the host to open a socket to the IP address of the marker, which must be configured to listen at a specific TCP port number.

Communications with the marking controller is accomplished via a Peer-to-Peer arrangement where either side can asynchronously send messages to the other.

 

Standard Message TYPEs

The following is a list of message types which are provided with the marking system.


1 through 5 - The DATA TEXT contains a text string which is a message to be placed into the Message Text register in the field specified by the data type for the currently assigned message buffer. Since the string is stored in the Message Text register, a corresponding flag must be placed into the Format text to cause this data to be printed. The response message contains the original text string in the DATA TEXT field if no errors are detected.  If an error is detected, an error message will be in the DATA TEXT field.

0 - The DATA TEXT contains a text string which consists of the message file assignment and all lines of text in a single transmission. Each of these fields, the message file name and up to 5 lines of text are separated by the ASCII TAB character. If the message file field is empty (the text begins with a single TAB character, the marker will use the currently assigned message file. If the DATA TEXT field of the message is entirely empty, the marker interprets this as a request for the current message file assignment and data text fields, which will be returned in the reply.

 

Assign a Message File

A - The DATA TEXT field contains an ASCII string which is the name of the message file to load for printing. This message file becomes the default used for all further print cycles. The response message contains the message file name in the DATA TEXT field if no errors are detected. If an error is detected in the message the response will contain an error message.

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

 

Comm Link Check

C - This type is used to check the communications link integrity. Any text in the DATA TEXT field will be returned in the response. An ACK response will indicate that the link is functioning properly.

 

Clear Message Queue

D - On systems where queueing of downloaded messages is required, this type is used to clear the message queue. Nothing will be returned in the DATA TEXT field of the response. 

 

Enqueue Message

E - On systems where queuing of downloaded messages is required, this type is used to add one item to the message queue. Nothing will be returned in the DATA TEXT field of the response. The format of the message in the DAT TEXT field is the same as message type 0 (zero) except that the message filename is required.

 

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 three integers, separated by TAB characters, which represent 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		(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 On-line. The response message contains no data in the DATA TEXT field.

 

Pulse Jets

J - This message type is used to start and stop pulsing of jets on one or more print heads. The DATA TEXT field must contain three integers, separated by TAB characters, which represent the state, the head number, and the nozzle mask as follows:

				# <tab> # <tab> #

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

			#	- State		(0 = stop or 1 = start)
			#	- Head Number	(1 - 5, or 0 for all heads)
			#	- Mask		(decimal number)

Note that the Mask parameter is sent as a decimal number from 1 through 65535. This number is converted by the marker into a 16-bit binary mask, where each bit represents one nozzle of a print head.

 Nothing will be returned in the DATA TEXT field of the response. 

 


Marker Setup Parameters

P - This type is used to send Parameter setup information to the marker. Parameter data is sent down in packets, where each packet uses the P message type. Each packet consists of one or more groups of parameters separated by CR./LF characters.  Each group consists of TAB delimited fields where the first field is a three character Group Identifier. The individual parameters within the group contain a two-character field identifier followed by the equal sign and then the parameter value. Parameters are optional, meaning that you only need to send the parameters you wish to change.

If a group is empty, meaning that only the group identifier is present, the marker will reply with the settings for that group in the DATA TEXT field of the reply message. The format of the data in the reply is the same as described below when sending to the marker.

The message groups are as follows:

BAR - This group is used to download the barcode parameters. The DATA TEXT field must formatted as follows:

BAR<tab>MW=#<tab>BW=#<tab>CM=#<tab>NC=#<tab>FL=#<cr><lf>

The data represents the following information:

			MW	- Module Width
			BW	- Bar Width
			CM	- Checksum Modulus
			NC	- Number of Characters
			FL	- Flags

 

CLN - This group is used to download the cleanup parameters. The DATA TEXT field must formatted as follows:

CLN<tab>NC=#<tab>IT=#<tab>PT=#<tab>ST=#<tab>BT=#<tab>FL=#<cr><lf>

The data represents the following information:

			NC	- Number of Cycles	(0 - x, 0 = never)
			IT	- Idle Time		(Sec)
			PT	- Pulse Time		(Sec)
			ST	- Solvent Time		(Sec)
			BT	- Blowout Time		(Sec)
			FL	- Flags

 

MKR - This sub-type indicates that the DATA TEXT field contains the marker configuration parameters. The DATA TEXT field must formatted as follows:

MKR<tab>O1=#<tab>O2=#<tab>PD=#<tab>NH=#<tab>NJ=#<tab>ED=#<tab>PC=#<tab>
NA=#<tab>RM=#<tab>DI=#<tab>BD=#<tab>LS=#<tab>CH=#<tab>CW=#<tab>ER=#<tab>JS=#<tab>
PO=#<tab>TP=#<tab>HS=#<tab>EM=#<tab>PL=#<tab>FL=#<cr><lf>

The data represents the following information:

			O1	- Driver On-Time 1		(mS)
			O2	- Driver On-Time 2 - High Temp	(mS)
			PD	- Pulse Delay			(mS)
			NH	- Number of Heads		(1 - 5)
			NJ	- Number of Jets/Head		(7,9,11 or 16)
			ED	- Encoder Divider		(1 -> ...)
			PC	- Pixel Count			(1 - 40)
			NA	- Negative Angle		(0=Off, 1=On)
			RM	- Repeat Method			(0=None, 1=I/O, 2=Count)
			DI	- Direction			(0=Right, 1=Left)
			BD	- Bidirectional			(0=Off, 1=On)
			LS	- Limit Spacing			(0 -> ...)
			FL	- Flags				(reserved, send 0)
			CH	- Character Height		(mm)
			CW	- Character Width		(mm)
			ER	- Encoder Resolution		(p / mm)
			JS	- Jet Spacing			(mm)
			PO	- Print Offset			(mm)
			TP	- Tail End Printing		(0=off, 1=on)
			HS	- Head Sensor Spacing		(mm)
			EM	- Print End Margin		(mm)
			PL	- Product Length		(mm)

 

MSG - This group is used to download the message parameters. The DATA TEXT field must formatted as follows:

MSG<tab>CS=#<tab>NL=#<tab>CL=#<tab>IP=#<tab>SZ=#<tab>JU=#<tab>FO=#<tab>FL=#<cr><lf>

The data represents the following information:

			CS	- Character Spacing	(1, 2 or 3)
			NL	- Number of Lines	(1 - 5)
			CL	- Characters per Line	(1 - 158)
			IP	- Inverse Print		(0=Off, 1=On)
			SZ	- Slash in Zero		(0=No Slash, 1=Slash)
			JU	- Justification		(0=Bottom, 1=Center, 2=Top)
			FO	- Font			(0=5x7, 1=7x9, 2=7x11, 3=11x16)
			FL	- Flags			(reserved, send 0)

 


NET - This sub-type is used to download the protocol and related parameters for network communications. The DATA TEXT field must formatted as follows:

NET<tab>IP=#<tab>SM=#<tab>DR=#<tab>H1=#<tab>H2=#<tab>PL=#<tab>PP=#<tab>FL=#<cr><lf>

The data represents the following information:

			IP	- IP Address
			SM	- Subnet Mask
			DR	- Default Router
			H1	- Host 1 TCP Listen Port
			H2	- Host 2 TCP Listen Port
			PL	- PLC IP Address
			PP	- PLC TCP Listen Port
			FL	- Flags

 

PSW - This sub-type indicates that the characters in the DATA TEXT field are new password string. The DATA TEXT field must formatted as follows:

PSW<tab>PW=#<tab>FL=#<cr><lf>

The data represents the following information:

			PW	- The new password
			FL	- Flags


USR - This sub-type indicates that the DATA TEXT field contains the user table parameters. 

The DATA TEXT field must formatted as follows:

USR<tab>UM=#<tab>UY=#<tab>US=#<tab>S1=#<tab>S2=#<tab>S3<tab>FL=#<cr><lf>

The data represents the following information:

			UM	- User Month Table		(12 characters)
			UY	- User Year Table		(10 characters)
			US	- User Shift Table		(3 characters)
			S1	- Start time of shift 1		(HH:MM)
			S2	- Start time of shift 2		(HH:MM)
			S3	- Start time of shift 3		(HH:MM)
			FL	- Flags				(reserved, send 0)

 

 

 

 

Download Message File

M - This type is used to send a message file. This type allows the transmission of more than just printable text strings.

The DATA TEXT field must formatted as follows:

AS=#<tab>SN=#<tab>SL=#<tab>SU=#<tab>SI=#<tab>RC=#<tab>RP=#<tab>FL=#<tab>Fx=#<tab>Vx=#<cr><lf>

The data represents the following information:

			AS	- The name of the message file
			SN	- Serial Number
			SL	- Lower Limit
			SU	- Upper Limit
			SI	- Increment
			RC	- Repeat Count
			RP	- Repeat Pitch
			Fx	- Format text for line x	(x = 0 to 4)
			Vx	- Variable text for line x	(x = 0 to 4)
			FL	- Flags

Note that the Fx and Vx parameters, the 'x' is actually a number from 0 to 4 representing the corresponding line number. These fields may each be repeated up to 5 times in the same packet as needed (e.g. F0=  F1=  etc.)

Query for Status

S - This type is used to query the marker for its current status. 

There can be an optional character DATA TEXT field for this type. If you include an ASCII '1' character in the field, this will enable the automatic reporting of status information.  The marker will begin sending asynchronous 'S' messages to the host whenever there is a change in the status.  An ASCII '0' character in the field will turn off automatic status updates.  If the field is empty, then the marker will simply send its own 'S' message with the status data. The ACK response message from the marker will contain an empty DATA TEXT field.

After sending the acknowledgment message to your 'S' message, the marker will send its own 'S' message to you.  This message will have a DATA TEXT field that contains eight numbers separated by TAB characters. These numbers represent the following values.

The numbers must be converted into binary, where each bit will represent the state of an input or output point.

				#<tab>#<tab>#<tab>#<tab>#<tab>#<tab>
			MODE	- Marker Mode
			STATE	- Marker State
			#	- The value of the current state of Port 0
			#	- The value of the current state of Port 1
			#	- The value of the current state of Port 2
			#	- The value of the current state of Port 3
			#	- The value of the current state of Port 4
			#	- The value of the current state of Port 5

 


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
			HH:MM		- The current time of day in military 24 hour format
			MM/DD/YY	- The current date.


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 V3.07

 


Conclusion

This concludes the description of the Extended Protocol for communications with the InfoSight Corporation I-Dent ® Marking System Software. Please refer all questions to the factory.

 

Specifications are subject to change without notice.

Download the PDF datasheet.

I-Dent is a registered trademark of InfoSight Corporation.