Data Sheet : KE2700 InfoTag Communications


 

Introduction


This document will describe the Communications Protocol as implemented with the KE2700 InfoTag printer 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.

 

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 is established via an 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 implemented to control flow of information to the marker when the marker is not in a state to accept it. When the marker enters a busy condition (when compiling, printing, etc) it will send an XOFF character to the host. When the marker is no longer busy, it will send an XON character to the host. Note that when batch printing the marker may send multiple XOFF characters but only one XON will be sent at the end of the batch.

 


Standard Message TYPEs

The following is a list of message types which are provided with the KE2700 marking system. Note that the message types are single characters and are shown below in bold. Some message types contain data text fields and some do not. Further, those types that do have data text fields may have a sub type as the first character of the data text field.

 

Text to Print


1 through 8 - The DATA TEXT contains a text string which is a message to be placed into the Operator Text register in the field specified by the data type. Since the message text is stored in the Operator Text register, a corresponding flag must be placed into the Record text to cause this data to be printed. The response message contains no data in the DATA TEXT field.

 

Assign a Buffer

A - The DATA TEXT field contains an ASCII string which represents a number (from 1 to 10) specifying the buffer number to Assign for printing. The response message contains no data in the DATA TEXT field.

				#
			#	- The message buffer to assign.

 

Query for Buffer Assignment

B - This type is used to query the marker to determine which buffer is currently assigned. The response message will contain the currently assigned buffer number in the DATA TEXT field. Use this message to obtain the currently assigned buffer before assigning a new buffer if you will wish to restore the original setting later.

 

Comm Link Check

C - This type is used to check the communications link integrity. No data is required in the message, and no data is returned in the response. An ACK response will indicate that the link is functioning properly.

 

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 two integers, separated by commas, which represent the number of the output module and its desired state as follows:

				#,#

Each number is a decimal integer. A comma separates the two numbers. The numbers represent the following:

			#	- 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.

 

Feed a Tag

H - This type is used to feed a tag through the printer. The message contains no data in the DATA TEXT field. One tag will be fed through the printer.


Image Download Sequence

I - This type is used to download a bit-mapped image to the printer. The message contains commands and/or data in the DATA TEXT field. Sub-types are required to control the download process. These sub-types are described below:

B - This sub-type indicates the Begining of an image download. It must be the first and only character in the DATA TEXT field. Use this sub-type as the first message in an image download sequence.

R - This sub-type is used to index to the next Row in the image array. This sub-type may be embedded within a string of image bytes - it need not be at the beginning of the DATA TEXT field. Note that this sub-type serves as an "end of column" indicator which automatically resets the column pointer to zero and increments the row pointer. Thus, rows are loaded from zero to the maximum row number and columns are loaded from 0 to the maximum column number. The max row number is fixed at 220 rows while the max column number depends on the tag length and stepper motor resolution parameters.

Note: if the "R" is embedded within a sequence of image bytes, it must fall between "bytes" and not between "nibbles".

P - This sub-type is used to print the just downloaded image. It must be the first and only character in the DATA TEXT field. The tag will be printed after acknowleging this message.

All other data in the DATA TEXT field is assumed to be image data encoded in hexadecimal form. The image string must consist of ASCII characters in two character groups. Each two character group represents the hexadecimal value of one byte of the image. For example, to download the image fragment

			0x12  0x33  0xFA  0xFB  0xBC  0xFC 0xFF

the data text field would contain the following string:

			1233FAFBBCFCFF

Note: each hexadecimal value from A to F must be a Upper Case letter. No separator is used between bytes.


A typical image download sequence would consist of: A sub-type 'B' message to begin, multiple data messages with either embedded type 'R' commands or individual sub-type 'R' messages, and finally a sub-type 'P' message to begin printing.

Note: Do not begin the print cycle with a 'G' (go) message as this command will cause the image to be erased and the currently assigned message buffer to be printed.

For a description of the encoding scheme used to represent the image, please contact the factory.

 


Begin Logo Download Sequence

L - This type is used to begin a download of the user programmable logo field. The DATA TEXT field may optionally contain a string of up to 10 characters which is the name of the logo. This name will appear to the operator in the list of available logos. The response message contains no data in the DATA TEXT field.

				SSS
			sss	- The name of the logo (up to 10 characters)


Once this message is received and acknowledged any currently stored user logo will be erased and the system will be ready to receive a new logo. This message should be followed by the Logo Value message type described below.


Logo Download Value

V - This type is used to send one or more segments of the logo image to be stored in the user programmable logo field. The logo is stored in a run-length-encoded format and each piece of the image must be sent to the marker for storage. The DATA TEXT field of the message must contain a string of ASCII characters in two character groups. Each two character group represents the hexadecimal value of one byte of the logo image. For example, to download the logo segment

			0x12  0x33  0xFA  0xFB  0xBC  0xFC 0xFF

the data text field would contain the following string:

			1233FAFBBCFCFF

Note: each hexadecimal value from A to F must be a Upper Case letter. Also, since each byte is represented by two characters, the string length must be consist of an even number of characters. No separator is used between bytes.

For a description of the run-length-encoding scheme used to represent the logo, please contact the factory.

 

Place Marker On-line

O - This type is used to force the marker to go On-line. 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 packets, where each packet uses the P message type. The first character of the DATA TEXT field must be a sub-type which identifies the packet type. Following the packet type character is the data for the parameters. The response message contains no data in the DATA TEXT field. The message sub-types are as follows:


F - This sub-type is used to download the field identifiers for the Programable Host Protocol. The DATA TEXT field must contain 16 integers, seperated by commas:

				#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#

The numbers are grouped in eight pairs, where each pair represents

			#	- Field Offset Position
			#	- Field Length

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

 

D - This sub-type is used to instruct the system to store the currently loaded parameters as the default parameters. Once this operation is performed, the current parameters will be used whenever the operator selects "Defaults" in a setup screen. There is no data in the DATA TEXT field of the message or the response.


G - This sub-type is reserved for future use.


H - This sub-type is used to download the protocol and related parameters for host communications. The DATA TEXT field must contain a list of seven integer values seperated by commas:

				#,#,#,#,#,#,#

The data represents the following information:

			#	- Protocol		(0=Extended, 1=Programable)
			#	- Station ID		(0=None)
			#	- Start Character	(0=None)
			#	- No of Fields
			#	- Terminator 1		(Required)
			#	- Terminator 2		(Optional, 0 if not used)
			#	- Character to Ignore	(Optional, 0 if not used)


Note that the Station ID field applies only to Extended Protocol, while the other fields apply only to Programable Protocol. Non-applicable fields must still be supplied in this message.


M - This sub-type indicates that the DATA TEXT field contains the marker configuration parameters. These parameters, separated by commas, must have the following format:

				#.#,#.#,#.#,#.#,#.#,#,#

Each number represented by #.# are floating point values with the decimal point optional. Each number represented by a single # is an integer value. The numbers represent in order the following values:

			#.#	- Tag Width
			#.#	- Tag Length
			#.#	- Stepper Motor Resolution
			#.#	- Mirror Resolution
			#.#	- Heat Intensity
			#	- Half Laser
			#	- Tags per Roll


O - This sub-type indicates that the DATA TEXT field contains the communications parameters. These parameters, separated by commas, must have the following format:

				#,#,#,#,#

Each number is a single digit in length. The numbers represent the following fields:

			#	- Comm Port number (2, 3 or 4)
			#	- Baud Rate (0=19200, 1=9600, 2=4800, 3=2400, 4=1200)
			#	- Data Bits (0=7, 1=8)
			#	- Stop Bits (0=1, 1=2)
			#	- Parity(0=Even, 1=Odd, 2=None)

 

P - This sub-type indicates that the characters in the DATA TEXT field are new password strings. Up to 6 strings, separated by commas, can be included in the message. The first string is the Supervisor password and the second string is the Operator Data Entry password. All other passwords are reserved for future use.

 

U - This sub-type indicates that the Units of measure follow in the message. The character in the DATA TEXT field determines the new setting of the units.

				0	(ASCII zero)	- English Units
				1	(ASCII one)	- Metric Units

 


Query for Record Information Upload

Q - This type is used to request Record information for the currently assigned data buffer. Record data is requested in packets, where each packet uses the Q message type. The first character of the DATA TEXT field must be a sub-type which identifies the packet type. Following the packet type character for some sup-types is the slot number for the request. The response message contains the requested data in the DATA TEXT field. The message sub-types are as follows:


B - This sub-type is used to requestthe bar-code attributes for the currently assigned message buffer. The DATA TEXT field contains the slot number within the buffer. The slot number must be from 0 to 7, corresponding to slots 1 to 8. The response message DATA TEXT field contains the data fields for the slot.

				,#.#,#.#,#.#,#,#,#
			#	- The bar-code symbology number
			#.#	- The X coordinate of the field
			#.#	- The Y coordinate of the field
			#.#	- The character height
			#	- The link to the text fields
			#	- The field rotation in degrees
			#	- The bar-code scale factor

 

C - This sub-type is used to request the tag count values. The response message contains the counts, each count separated by a comma as shown:

				#,#,#
			#	- The quantity of tags required to be printed. (0 - 999999)
			#	- The current count of tags produced (0 - 999999)
			#	- The number of tags in the roll (1 - 10000)

 

 

F - This sub-type is used to request the record flags. The response message contains the flags, each one separated by a comma. Currently only one flag is defined:

				#
			#	- 0 = no slash in the zero character, 1 = slash in zero.

 

H - This sub-type is used to request the shift starting time schedule. Note that the shift schedule applies to all message buffers rather than just the current buffer. The response message contains the shift starting times. Each starting time consists of an hour and minute value separated by a colon. Each time is separated by a comma as shown:

				HH:MM,HH:MM,HH:MM
			HH::MM	- The first shift starting time
			HH::MM	- The second shift starting time
			HH::MM	- The third shift starting time

 

L - This sub-type is used to request the data for a specific logo field for the currently assigned buffer. The DATA TEXT field must contain the slot number within the buffer. The slot number must be from 0 to 7, corresponding to slots 1 to 8. The response message DATA TEXT field will contain the logo data as shown:

				#,#.#,#.#,#.#,#.#,#
			#	- The logo id number (0=none, 1 -> #of logos)
			#.#	- The X coordinate of the field
			#.#	- The Y coordinate of the field
			#.#	- The character height
			#.#	- The character width
			#	- The field rotation in degrees.

 


O - This sub-type is used to request the operator setup data for a specific field for the currently assigned buffer. The DATA TEXT field must contain the desired slot number within the buffer. The slot number must be from 0 to 7, corresponding to slot 1 to 8. The response message will contain the text data for the indicated slot:

				SSS,SSS,#,SSS
			sss	- The prompt text for this field (up to 10 characters)
			sss	- The verify text for this field (up to 20 characters)
			#	- The field flags:
					Bit 1 (lsb)	: 1 = Field is active, 0 = Disabled
					     2		: 1 = Auto Clear, 0 = Overstrike
					     3		: 1 = Qty Req field active
					     4		: 1 = S/N field active
					     5		: 1 = S/N Lower field active
					     6		: 1 = S/N Upper field active
			sss	- The prompt for the Serial Number field (up to 10 chars.)


Note that flag bits 3-6 are only required for slot 0. That is, the settings of the Qty and S/N activation fields are obtained from slot 0 of the buffer. Setting or clearing these bits in slots 1-7 will have no effect.

Note that the serial number prompt is global to the buffer and is not specific to any slot.

 


P - This sub-type is used to request the prefix and suffix strings for the currently assigned message buffer. The response message will contain two strings separated by commas:

				SSS,SSS
			sss	- The message prefix
			sss	- The message suffix



S - This sub-type is used to request the serial number and its associated upper and lower range values. The DATA TEXT field of the response message will contain three integer values separated by commas. Each number can be from 1 to 9 digits in length.

				#,#,#
			#	- The serial number
			#	- The lower limit value
			#	- The upper limit value

 

T - This sub-type is used to request the data for a specific text field for the currently assigned buffer. The DATA TEXT field must contain the desired slot number within the buffer. The slot number must be from 0 to 7, corresponding to slot 1 to 8. The response message will contain the text data for the indicated slot:

				SSS,#.#,#.#,#.#,#.#,#.#,#
			sss	- The text for this field (up to 50 characters)
			#.#	- The X coordinate of the field
			#.#	- The Y coordinate of the field
			#.#	- The character height
			#.#	- The character width
			#.#	- The character pitch
			#	- The field rotation in degrees.

 

U - This sub-type is used to request the User Tables. Note that user tables apply to all message buffers rather than just the current buffer. The DATA TEXT field of the response message will contain three strings separated by commas:

				SSS,SSS,SSS

The strings represent the following data fields:

			sss	- User Year Table (up to 10 characters)
			sss	- User Month Table (up to 12 characters)
			sss	- User Shift Table (up to 3 characters)

 

 


Download Record Information

R - This type is used to send Record information for the currently assigned data buffer. This type allows the transmission of more than just printable text strings.
Record data is sent down in packets, where each packet uses the R message type. The first character of the DATA TEXT field must be a sub-type which identifies the packet type. Following the packet type character is the data for the record. The response message contains no data in the DATA TEXT file. The message sub-types are as follows:


B - This sub-type is used to send the bar-code attributes for the currently assigned message buffer. The first item in the DATA TEXT field is the slot number within the buffer. The slot number must be from 0 to 7, corresponding to slots 1 to 8. Following the slot number are the rest of the data fields for the slot.

				#,#,#.#,#.#,#.#,#,#,#
			#	- The slot number
			#	- The bar-code symbology number
			#.#	- The X coordinate of the field
			#.#	- The Y coordinate of the field
			#.#	- The character height
			#	- The link to the text fields
			#	- The field rotation in degrees
			#	- The bar-code scale factor

 

C - This sub-type is used to send the tag count values. Each count is separated by a comma as shown:

				#,#,#
			#	- The quantity of tags required to be printed. (0 - 999999)
			#	- The current count of tags produced (0 - 999999)
			#	- The number of tags in the roll (1 - 10000)

 

 

F - This sub-type is used to send the record flags. Each flag is separated by a comma. Currently only one flag is defined:

				#
			#	- 0 = no slash in the zero character, 1 = slash in zero.

 

H - This sub-type is used to send the shift starting time schedule. Note that the shift schedule applies to all message buffers rather than just the current buffer. Each starting time consists of an hour and minute value separated by a colon. Each time is separated by a comma as shown:

				HH:MM,HH:MM,HH:MM
			HH::MM	- The first shift starting time
			HH::MM	- The second shift starting time
			HH::MM	- The third shift starting time

 

L - This sub-type is used to send the data for a specific logo field for the currently assigned buffer. The first item in the DATA TEXT field must be the slot number within the buffer. The slot number must be from 0 to 7, corresponding to slots 1 to 8. Following the slot number are the rest of the data fields for the slot.

				#,#,#.#,#.#,#.#,#.#,#
			#	- The slot number (0 to 7)
			#	- The logo id number (0=none, 1 -> #of logos)
			#.#	- The X coordinate of the field
			#.#	- The Y coordinate of the field
			#.#	- The character height
			#.#	- The character width
			#	- The field rotation in degrees.

 

O - This sub-type is used to send the operator setup data for a specific field for the currently assigned buffer. The DATA TEXT field must contain the desired slot number within the buffer as well as the data.

				#,SSS,SSS,#,SSS
			#	- The slot number (0 - 7)
			sss	- The prompt text for this field (up to 10 characters)
			sss	- The verify text for this field (up to 20 characters)
			#	- The field flags:
					Bit 1 (lsb)	: 1 = Field is active, 0 = Disabled
					     2		: 1 = Auto Clear, 0 = Overstrike
					     3		: 1 = Qty Req field active
					     4		: 1 = S/N field active
					     5		: 1 = S/N Lower field active
					     6		: 1 = S/N Upper field active
			sss	- The prompt for the Serial Number field (up to 10 chars.)


Note that the serial number prompt is global to the buffer and is not specific to any slot.


P - This sub-type is used to send the prefix and suffix strings for the currently assigned message buffer. Each string must be limited to 3 characters and must be separated by commas:

				SSS,SSS
			sss	- The message prefix
			sss	- The message suffix



S - This sub-type is used to send the serial number and its associated upper and lower range values. The DATA TEXT field must contain three integer values separated by commas. Each number can be from 1 to 9 digits in length.

				#,#,#
			#	- The serial number
			#	- The lower limit value
			#	- The upper limit value

 

T - This sub-type is used to send the data for a specific text field for the currently assigned buffer. The first item in the DATA TEXT field must be the slot number within the buffer. The slot number must be from 0 to 7, corresponding to slot 1 to 8. Following the slot number are the rest of the data fields for the slot.

				#,SSS,#.#,#.#,#.#,#.#,#.#,#
			#	- The slot number (0 to 7)
			sss	- The text for this field (up to 50 characters)
			#.#	- The X coordinate of the field
			#.#	- The Y coordinate of the field
			#.#	- The character height
			#.#	- The character width
			#.#	- The character pitch
			#	- The field rotation in degrees.

 

U - This sub-type is used to send the User Tables. Note that user tables apply to all message buffers rather than just the current buffer. The DATA TEXT field must contain three strings separated by commas:

				SSS,SSS,SSS

The strings represent the following data fields:

			sss	- User Year Table (up to 10 characters)
			sss	- User Month Table (up to 12 characters)
			sss	- User Shift Table (up to 3 characters)

        

 


Query for Status

S - This type is used to query the marker for its current status. There is no DATA TEXT field for this type. The ACK response message from the marker will contain a DATA TEXT field. This field will contain three numbers separated by commas. These numbers represent the states of the three I/O ports of the marker. The numbers must be converted into binary, where each bit will represent the state of an input or output point.

				#,#,#
			#	- The value of the current state of the Output port
			#	- The value of the current state of Input port 1
			#	- The value of the current state of Input port 2

 

	Field 1	- Output Port
		Bit	0 (lsb)	-	BUSY
			1	-	ON-LINE
			2	-	FAULT
			3	-	SONALERT
			4	-
			5	-
			6	-
			7	-
	Field 2	- Input Port
		Bit	0 (lsb)	-	START PRINT
			1	-	ABORT PRINT
			2	-	ESTOP
			3	-	ON-LINE
			4	-	TAG FEED
			5	-	SAFETY OK
			6	-	spare
			7	-	spare
	Field 3	- Input Port
		Bit	0 (lsb)	- 	spare
			1	- 	spare
			2	- 	spare
			3	- 	spare
			4	- 	spare
			5	- 	spare
			6	- 	spare
			7	- 	spare


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 commas in the following format:

				HH:MM,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.

 

Upload Marker Setup Parameters

U - This type is used to upload Parameter setup information from the marker. Parameter data is uploaded in packets, where each packet uses the U message type. The first character of the DATA TEXT field must be a sub-type which identifies the packet type. The response message contains the requested data in the DATA TEXT field. The message sub-types are as follows:


F - This sub-type is used to query the marker to upload the field identifiers for the Programable Host Protocol. The DATA TEXT field of the response message will contain 16 integers, seperated by commas:

				#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#

The numbers are grouped in eight pairs, where each pair represents

			#	- Field Offset Position
			#	- Field Length

 

G - This sub-type is reserved for future use.


H - This sub-type is used to query the marker to upload the protocol and related parameters for host communications. The DATA TEXT field of the response message will contain a list of seven integer values seperated by commas:

				#,#,#,#,#,#,#

The data represents the following information:

			#	- Protocol		(0=Extended, 1=Programable)
			#	- Station ID		(0=None)
			#	- Start Character	(0=None)
			#	- No of Fields
			#	- Terminator 1		(Required)
			#	- Terminator 2		(Optional, 0 if not used)
			#	- Character to Ignore	(Optional, 0 if not used)


Note that the Station ID field applies only to Extended Protocol, while the other fields apply only to Programable Protocol. Non-applicable fields will still be supplied in this message.

 

M - This sub-type requests the marker configuration parameters. The response message DATA TEXT field contains the marker configuration parameters. These parameters, separated by commas, have the following format:

				#.#,#.#,#.#,#.#,#.#,#,#

Each number represented by #.# are floating point values with the decimal point optional. Each number represented by a single # is an integer value. The numbers represent in order the following values:

			#.#	- Tag Width
			#.#	- Tag Length
			#.#	- Stepper Motor Resolution
			#.#	- Mirror Resolution
			#.#	- Heat Intensity
			#	- Half Laser
			#	- Tags per Roll


O - This sub-type requests the communications parameters. Following the sub type 'O' must be a single character '2' through '4' indicating the desired comm port number. The response message DATA TEXT field contains the communications parameters. These parameters, separated by commas, have the following format:

				#,#,#,#

Each number is a single digit in length. The numbers represent the following fields:

			#	- Baud Rate (0=19200, 1=9600, 2=4800, 3=2400, 4=1200)
			#	- Data Bits (0=7, 1=8)
			#	- Stop Bits (0=1, 1=2)
			#	- Parity(0=Even, 1=Odd, 2=None)

 

P - This sub-type requests the current password list. The response message DATA TEXT field will contain the current password strings. The password list consists of 6 strings, separated by commas. The first string is the Supervisor password and the second string is the Operator Data Entry password. All other passwords are reserved for future use but are included in the response message.

 

U - This sub-type requests the current units of measure. The response message DATA TEXT field will contain a single character '0' or '1'.

				0	(ASCII zero)	- English Units
				1	(ASCII one)	- Metric Units

 


Conclusion

This concludes the description of the communications format for the InfoSight Corporation KE2700 InfoTag Software. Please refer all questions to the factory.