Bar Code Tutorial: 2-D Barcodes
Those who want to know the technical details of the two-dimensional bar codes, can read
the next few paragraphs. Others may want to skip down to
"What It Means to You".
The new two-dimensional bar codes allow a large amount of data to be contained in one
bar code. You might be able to put a part number, a purchase order, a vendor, and other data
all into one bar code. The problem is, of course, how to do this in a way that is easily
understood, and stands a chance of being compatible with the data systems for other companies.
Some standards are developing that allow the user to imbed fields
into a 2-D bar code in an organized way. Typically, these standards will have some header
information that alerts the scanner that the bar code follows a given specification.
Following the header are a number of fields, each containing data and separated from
each other in some manner. Finally, a trailer indicates that you are at the end of the
bar code.
Data Technologies is committed to support all commonly used standards, but the one
that we have implemented now is the GM 1724 standard. Although the following discussion
draws heavily on our GM 1724 experience, it should hold true for most
2-D bar codes.
The GM 1724 standard adheres
to the "Proposed ANSI MH10.8.3 Transfer Data Syntax for High Capacity ADC Media" (which
can't be called a standard yet, because it is only a proposal) and the ISO 15434
"Transfer Syntax for High Capacity ADC Media" (which we think can be called a standard.)
Without going through all 32 pages of the two standards, here they are in a nutshell:
Header
In this standard, the bar code must start with the characters :
[)><RS>06<GS>
where <RS> stands for the non-printable ascii character $1E, and <GS> stands
for the non-printable ascii character $1D. The [)><RS> indicates that this bar code
is in compliance with the standard. The standard has many possible formats, which
are numbered 00 through 99. The formats 00 through 11 are currently defined, and
12 through 99 reserved for later use.
The 06 in the header, indicates the format used for this bar code is format 06,
which uses a special character to separate the data fields from each other. This
character must immediately follow the 06. In the GM 1724 standard, the character
<GS> is used to separate the fields.
The Data
Each field then follows in the bar code separated from each other by the special
character (in this case <GS>.) Each field starts out with identifier characters
that tell you what the data means. For example, if the field starts out with a "P", then it
is a "GM Part Number", if it starts out with a "Q", it is a "Quantity".
The Trailer
The bar code ends with the characters :
<RS><EOT>
where <RS> stands for the non-printable ascii character $1E, and <EOT> stands
for the non-printable ascii character $04.
Example
Suppose that you wanted to make a bar code for a box that held 100 parts with GM part number
"ABCD". You could make a bar code containing:
[)><RS>06<GS>Q100<GS>PABCD<RS><EOT>
You could also reverse the fields, or put other fields into the bar code.
Applications that needed the part number and quantity can extract them from this
bar code no matter where they are.
What it Means to You
The two-dimensional bar code can contain a number of pieces of bar code data (part number,
quantity, etc.) contained in one bar code. When you scan the bar code, Keyport will extract
the data, and place it into the keyboard buffer only when you desire. Data can be placed out
of order, held until you are ready, or some data in the bar code can be ignored altogether.
For an example of how to use Keyport with GM 1724 labels, go here.
|