ID Systems, 10(10), November 1990.
Auto ID in the DOS Environment
It's almost impossible not to find a personal computer of some kind in virtually every business. Dataquest, a industry research firm, estimates that by 1990 there will be over 100 million personal computers installed world wide. Of those, the majority are PC-DOS/MS-DOS based, most of the balance are Apples. Not bad, considering IBM projected five year sales totaling less than 250,000 when they introduced the IBM PC in 1981.
Another article in this issue will cover Apple Macintosh bar coding options, the focus of this article will be the vast number of PC-DOS/MS-DOS computers.
Since there are literally thousands of brand names for computers in this class, anyone with a screwdriver can be a "manufacturer", what common characteristics do they all share? They all incorporate some basic design features of the original IBM PC, and thus are generally referred to as PCs.
One of those basic design features is the use of an Intel microprocessor of the 80X86 family which most commonly include the 8088, 8086, 80286, 80386 and, most recently, the 80486. The second required feature is the use of the PC-DOS, or Microsoft's equivalent MS-DOS, operating system. Many PCs have the IBM label, others don't have any brand name and are often called clones.
Beyond those two very important common features, PCs come in a wide variety of configuration possibilities--ranging from a simple, stand-alone PC with floppy disks to networks of PCs with hundreds of workstations and gigabytes (billions of bytes) of disk storage.
PCs' low cost make them attractive for dedicated data collection applications. A hard disk PC clone with a printer can be bought for about $1,000. Add to that $300-500 for a wedge reader and $100-500 for bar code generation software, and for less than $2,000 you have a complete, usable bar code system. Minimal dedicated printing or reading workstations can be configured for under $1,000.
These low costs are typically less than many dedicated bar code system. As a result PCs are increasing popular with small businesses and for pilot and/or "one-shot" applications.
One example of a one-shot use of bar codes is EagleDirect, a direct mail services company. They had a client with a prospect list of about 17,000 names. Each branch manager was to review a printout of his/her segment of that list, marking any deletions. Those changes were to be incorporated the main list. At first glance it looked like a data entry nightmare.
The solution was to print the list with a bar code next to each prospect name on a laser printer. The manager simply marked out the names to be deleted and returned the printout. When returned, the deletions' bar codes were scanned and the corresponding record deleted. The entire project was completed in less than two weeks.
Costs were negligible since the bar code printing software and wedge reader were "borrowed" from another project. An estimated 2-4 hours of programming time were needed, about the same as would have been required for a manual solution. Data entry time was reduced an estimated 60% and accuracy was near 100%, significantly better than expected for the manual approach.
The PC's low cost and great flexibility make them ideal for a wide variety of applications not previously feasible with other options. Many projects can be prototyped without any "programming" using appropriate menu-driven printing software and wedge readers coupled to spreadsheets like Lotus 1-2-3.
PC Based Bar Code Printing Options
Interestingly, not all bar code applications involve reading bar codes. Increasingly, manufacturers are being required to include bar codes on their products, even if they don't use them internally.
For instance, in the plumbing and heating industry, bar coding on packaging is really taking off. Two years ago it was a "chicken and egg" problem. Wholesalers were waiting for manufacturers to bar code their packages, manufacturers were waiting for wholesalers to implement bar code systems.
Then the IBCA, Industry Bar Code Alliance, was formed. It successfully promoted bar coding and standardized the product numbers used within the industry bar codes. As a result most manufacturers are now committed to bar coding their packaging.
One of the manufacturers we represent has recently opted for a PC bar code printing system linked to their IBM System/36 rather than use existing, out of date bar code generation software. They have no current plans to implement any type of bar code reading.
One potential problem these manufacturers face is the possibility of generating unreadable bar codes. At least one other manufacturer we represent produces bar codes that are marginal at best, limiting their use to very forgiving readers.
On-Demand or Pre-Defined?
Bar code production requirements can be divided into two groups, those applications where the bar code can be fixed well ahead of time, and those applications where it isn't possible to anticipate what information must be recorded in the bar code. The first group can use pre-defined bar codes that are either printed right on the product or on pre-printed labels. Incorporating the bar code onto the packaging via offset printing and the use of third party supplied pre-printed labels are the two most common pre-defined bar code sources. They are appropriate when the demand can be predicted in advance. The second group requires "on-demand" printing, the capability to produce bar codes with information only available when they are printed.
There are four interesting ways (for microcomputer users) to produce on-demand bar-codes: Dot-matrix, Ink-Jet, Laser printers, and specialized Thermal printers.
Dot matrix printing offers the least expensive entry into bar code printing. Anyone with a $200 dot matrix printer and $5 worth of software can be in the bar code producing business. Interestingly, a lot of bar codes are produced on dot matrix printers. Not the inexpensive ones, but on Printronix "line-printers"--and at relatively high speed.
The primary disadvantage of dot matrix production of bar codes is the limited resolution of the printer limits the ultimate density of the bar codes produced. Thus you can't get extremely high resolution bar codes out of most dot matrix printers. Another potential problem with dot matrix printers is they aren't compatible with some infrared scanners because there isn't enough carbon in normal dot matrix printer ink. You can get special ribbons, but in general you are better off not mixing dot matrix bar codes and infrared readers.
An interesting cousin of dot matrix bar code printing is the use of ink-jet printers. In those cases, the speed of application to apply bar codes, along with the flexibility of application surfaces and lack of contact, more than make up for the limited resolution. In fact, spraying very low density bar codes onto cardboard cartons is very common in distribution applications. And, of course, if you look at most first class letters they have ink jet applied bar codes on the bottom the postal service adds for their sorting machines.
A recent introduction into on demand production of bar codes is the use of low cost laser printers to produce on-demand labels. Producing several labels per minute at reasonably high resolution (300 dot per inch), laser printers appear to be destined to become the on-demand printer of the masses. Now that the street price of laser printers is approaching $1,000, they are the printer of choice for most on-demand bar code applications.
The primary disadvantage to laser printing is you have to produce a full page, several labels, at once. In addition, some software packages produce bar codes using the printer's graphics mode which limits the output speed (due to the amount of information that must be transferred) and limits the amount of the page that can contain bar codes (many laser printers cannot print a full page of graphics at their highest resolution).
However, laser printers produce bar codes of more than sufficient resolution to support all but the most esoteric high resolution formats. Plus their output is compatible with most infrared bar code readers since their toner has a high carbon content. Finally, you can get laser printers with built-in, or downloadable, fonts that produce bar codes at the rated speed of the laser printer.
One last option is a number of specialized thermal printers designed specifically for on-demand bar code label printing. They are fast, quiet, and produce high quality bar code labels. Primary disadvantages of thermal bar code labels is they deteriorate in higher temperatures (and in some cases when exposed to sunlight). Plus, because of the materials used, they are incompatible with infrared readers unless care is take to select specially designed thermal label stock.
Software Options for PC Bar Code Printing
There are three basic options for printing bar codes using a PC: stand alone label printing programs, memory resident programs, and downloadable laser fonts. The first option involves no programming, just parameter configuration, but require an extra step integrating into existing applications. The other two options can seamlessly integrate and require minimum changes to the existing system.
Stand Alone Label Printing
By far the easiest solution for producing bar codes is to utilize one of the many stand alone bar code printing programs. They usually don't require any programming per se. But like spreadsheets, they are very "configurable".
One such program is Worthington Data Solution's LabelRIGHT. It offers either a graphical WYSIWYG (what you see is what you get) interface or a textual "spreadsheet" label design tools. Of course LabelRIGHT has a rich set of features that can be ignored for simplicity or utilized for virtually unlimited results.
LabelRIGHT offers broad printer support, ranging from the HP LaserJet family (using downloadable fonts) to Epson/IBM & compatible dot matrix printers. In addition LabelRIGHT supports the Okidata, OTC 850XL, and Printronix P6000 printers and the Canon BubbleJet BJ130 ink jet printer.
LabelRIGHT's features are too numerous to enumerate here, they are summarized in figure 1. It offers ASCII file data import ties to other software and systems and is powerful enough to fulfill almost any need.
One example in the manual struck by fancy. It was a bar coded catalog, that offered impressive graphics, imported pictures for ease of identifying products and bar codes for automatic data entry. Given that in many environments it isn't feasible to bar code all products, the use of a bar code data entry catalog is very common. This examples sets a new standard for those catalogs.
In addition, LabelRIGHT offers two add-on products, sold as a single package. They are SymbolGen, which is largely been replaced by LabelRIGHT's .PCX picture import feature, and LabelBASE, which allows the user to manage a large number of different labels using advanced database features.
Of course there are a large number of other stand-alone label printing programs. These range from the public domain programs costing $5.00 or less to systems costing many thousands of dollars. Certainly there is no lack of vendors.
Memory Resident Bar Code Printing
A easy way to let almost any application print bar codes is to use one of least two memory resident (TSR--terminate and stay resident) programs that will crawl into the memory of your PC and generate bar codes for you. Their authors already have solved the necessary problems of driving your printer in graphics mode--if it is and EPSON/IBM compatible dot matrix, or it is a HP Laserjet compatible laser printer.
The two programs I have used, BarRes and Print Bar II, work by looking at the characters you send to a printer for a specific escape sequence that is unlikely to occur in normal printed applications. When they see that escape sequence, they interpret everything until a corresponding ending sequence as information you want printed in bar code format.
The advantage of this approach is you will need to make few, if any, changes to your applications software in order to support bar code production. They use very little memory, as little as 7K, so they rarely pose a memory problem. Probably their biggest disadvantage is the care necessary to mix text and bar codes on the same line. It's possible, but requires at least an understanding of how they produce the bar code using the graphics mode of the printer, and how that graphics mode affects operation of the printer. A list of supported bar code symbologies is included in figure 2.
For Laser Printers Owners Only
Of course the two memory resident programs I have just discussed support HP LaserJet compatible printers utilizing their graphics mode, there is a better way for Laserjets. That way is to utilize downloadable fonts. They are more precise, and significantly faster. Plus they reduce printer memory overhead, which can limit the number of bar codes produced by the graphics mode programs.
I have used FontTools with a QMS printer in Laserjet mode. It is actually the top of the line combination of three separately available packages. Those three packages are FastFont, a downloading program, BarFont, the fonts themselves, and BigFont, which produces letters up to 2 inches high. BarFont and BigFont also include a BarRes style controlling programs. BarFont is a collection of 46 HP compatible fonts for either landscape or portrait printing of Interleaved 2 of 5, Codabar, Code 39 and UPC bar codes. BigFont and BarFont are compatible with each other, allowing the production of labels that contain both big text for ease of reading and bar codes for data collection.
Bear Rock also has a set of HP Laserjet compatible downloadable fonts that I have not had an opportunity to look at. If they are as well constructed as their Macintosh Postscript counterparts, they should be precise, although it doesn't appear they have a memory resident "driver" like BarFont.
With Postscript printing becoming more popular, Postscript fonts for PC's should soon be available, if they aren't already. In one application last year, we used a Bear Rock Postscript font downloaded from a Macintosh in a PC application by switching from Mac to PC printing after downloading the font.
Reading Bar Codes with PCs
Before we look at the easy to utilize wedge bar code readers, I think its appropriate to review the two primary modes of bar code data usage: off-line and on-line data collection.
Off-line data collection consists of a bar code scanner and some device that stores the bar code data scanned by the user. Off-line data collection has many uses in applications such as inventory, labor job costing, and records tracking where there isn't a requirement to immediately make use of the data or where it is inappropriate to have the computer close to where the bar code data is being scanned. There are many vendors of a wide variety of off-line data collection devices, I would suggest looking in ID Systems' 1991 Buyers Guide under Portable Data Collection Terminals for many vendors.
On-line data collection is simply the bar code data is immediately made available to the processing computer without any form of storage capability. This mode of operation is very important in applications such a supermarket check-out counters and video tape rental where the bar code data is immediately used to look-up, or update, additional information. The primary disadvantage of on-line data collection is the host computer must be available to receive the data as it is scanned. Typical on-line devices for PCs are the wedge reader and a number of dedicated data collection devices that are often tied to the PC via RS-232.
This article will focus on the wedge reader because of their low cost and ultimate simplicity of integration. Of course, many projects would be better suited by off-line or other approaches.
The wedge readers I have used required no more installation than removing them from their boxes, unplugging your keyboard, plugging the wedge reader into your computer and plugging your keyboard into the wedge reader. From that time on, any bar code data scanned by the wedge reader literally looks like keystrokes typed on the keyboard. A diagram of what the connections look like is shown in figure 3.
I have personally used four different PC wedge readers ranging from $399 to $695 in cost. I found the American Microsystems Model 200 an inexpensive, no frills unit. The Percon EX-REader was an intermediate unit, both in cost and function. The Compsee Quick reader was the most configurable and most expensive. the Worthington WDP reader was relatively inexpensive, very configurable, and could be mounted inside the PC while still acting as a wedge reader.
All four wedge readers I tried worked exactly as they came out of the box with no adjustments on my part. All, however, did have switches or some other way to set various configuration options to optimize their performance.
Configuration options included enabling/disabling recognition of particular bar code symbologies, whether or not to automatically insert a carriage return after each bar code scanned, enabling an audio beep on good scans, keyboard type (PC or AT), and intercharacter delays (the amount of time between each character sent to the computer).
In general all the readers I used had no problems reading any bar code I tried, even poor quality ones. One vendor, whose reader I didn't try, suggested that the ability to read marginal bar codes was the ultimate difference, but I couldn't find a bar code these four readers couldn't read.
There are also wedge readers with much lower cost than the ones I have worked with, but I have not had the opportunity to work with any of them.
Alternate Interfaces
In addition to working with standard IBM PC/XT/AT and compatible microcomputers, there are wedge readers for the new IBM PS/2 and other MS-DOS microcomputers with different keyboard interfaces. And for other computer users there are wedge readers for many of the popular ASCII terminals commonly used on those systems. All work the same way, they are plugged in between the keyboard and the computer or terminal and appear to the computer or terminal as key strokes from the keyboard. There are also RS-232 "wedges" which plug into the RS-232 line and can also accept an additional RS-232 input. They can act as a wedge or include additional RS-232 data sources such as electronic scales. In addition both Percon and Worthington make software that makes data from the COM port look like keyboard data on PCs.
Discriminating Reading
All the units I looked at had a nice feature called autodiscrimination. Autodiscrimination means the units were capable of reading several different bar code symbologies at the same time without being told which one is currently being scanned. After the bar code is scanned, algorithms inside the units are able to determine which bar code symbology has just been scanned and decode the bar code appropriately.
Autodiscrimination makes integrating the wedge type bar code readers even easier because the integrator doesn't need to worry what bar code symbology is being used as long as it is one of the supported ones. Thus I was able to scan video tapes, film cans, and even Keno tickets successfully without knowing what symbology they were printed in.
Autodiscrimination is particularly handy where multiple bar code symbologies are being used in a single application. For example, one application I am working with uses a combination of UPC and interleave 2 of 5 coding on items pre-bar coded by our factories combined with code 39 bar coding we produce locally.
All of the units I have used can read several different bar code symbologies. A summary of which reader can read which symbologies is outlined in figure 4.
Reading Options
While the least expensive, and most common, wedge reader scanning device is the hand held contact scanning wand, you are not limited to that one device. Most of the wedge readers offer a choice of the hand held wand, a slot reader that you can slide ID cards through, a hand held laser scanner, or even a fixed "grocery store" style scanner.
Most of the hand held contact scanning wands are visible light, meaning they will work with a wide variety of bar code printing techniques, including bar codes printed with dot matrix printers. You can, however, get infrared scanning wands as options. Remember that infrared scanners only react to bar codes with high carbon content, making them incompatible with many bar code printing techniques. However those same limitations can become an advantage if you need security since you can overprint your bar code with a non-carbon ink to conceal it from human observation. I would suggest staying with visible light wand scanners unless you are absolutely certain about your bar code sources.
A bulkier, and considerably more expensive, scanning option is the hand held laser scanners. These scanners, which look sort of like a distorted gun, do not have to touch the bar code in order to read it. Non-contact scanners such as the laser scanners are useful where the same bar codes are read many times. If you use a contact type scanner many times on the same bar code, you will quickly wear out the bar code causing an unacceptable number of bad reads. Fortunately the built-in error checking of the common bar symbologies allow detection of the bad reads, but it is still extremely frustrating to the user to have to scan a bar code several times. When the first read rate drops below 85%, many users will simply stop using the bar code reader rather than risk having to rescan the bar code. In addition, the laser scanners can read bar codes on curved or irregular surfaces, making them particularly appropriate in retail store situations. One caution, make sure the laser scanner and your wedge reader are compatible, not all lasers will work with all readers.
Integration Issues
How hard it will be to integrate bar code reading into your application is difficult to say. This article describes devices that potentially eliminate the need to modify your application to add bar code printing or reading. At least they eliminate any need for the addition of communications capabilities.
But whether your application will still need higher level modifications will depend in part on if you can control the generation of the bar codes themselves.
If you have control over the bar code generation, you can tailor the information contained in the bar code to be read later so it is completely compatible with your existing application. Modifications to your application won't be necessary.
However, if you can't control the bar code generation, such as an application using the UPC codes on almost every consumer product on the market today, then you may need to modify your application to translate the information read when the bar code is scanned into corresponding information needed by your application. For example, you might need to look for a specific data prefix and translate the UPC code 326285 found on a tube of plumbers caulk into the corresponding factory part number of 25-605.
Even if you end up modifying your application to better integrate bar code reading, the use of wedge readers like these eliminate much of the low level integration necessary with other readers. And in the end, you gain the data entry and accuracy improvements that are encouraging more and more industries to implement bar code labeling and usage.
Long Live PC-Based Bar Coding
The low cost and flexibility of PCs are making them increasingly favored for many bar code applications. For small businesses, they bring bar code technology within affordable reach. For pilot projects, they reduce the costs and risks. And a growing use of PC based bar coding are one-shot projects that are quickly implemented, utilized, and disbanded.
As the trend toward PC networks increases, more and more production bar code applications will be implemented using these, and other, PC based bar coding tools. Current issues such as data security on networks will be resolved, making them extremely cost effective solutions.
I would like to end this article by emphasizing that there are a large number of vendors producing products for PCs. If it appears that I have favored a few vendors, it is simply because I have had the opportunity to use their products and have found them reliable and well supported. I am sure that many of the other products available are equally usable.
Gregg Marshall, CPMR, is president of Rep Connection Inc., a consulting company that works to help maximize the effectiveness of manufacturers and their professional outsourced field sales forces (reps), especially in the areas of electronic commerce and partner results optimization. He is also a frequent speaker and author. Gregg is a past president of the Association of Independent Manufacturers' Representatives (AIM/R), the plumbing and heating rep association, and has served on the Manufacturers Representative Education Research Foundation (MRERF) and Institute for Professional Advancement executive committees. Gregg is currently executive director of the United Sales Agents. He can be reached by e-mail at gmarshall@repconnection.com, by phone at (303) 475-6634, by fax at (509) 479-5254, or by mail at 1641 S. Lansing St. Aurora, CO 80012.