Code readers
67 questions
What is an industrial code reader?
An industrial image-based code reader captures an image of a code and then tries to locate and decode the symbol.
Modern devices can read:
1D barcodes
DataMatrix
QR
PDF417
DPM codes
among others.
What is a 1D code?
A 1D barcode encodes information mainly through the width and arrangement of bars and spaces.
Examples:
Code 39
Code 128
GS1-128
EAN
UPC
What is a 2D code?
A 2D code encodes data in two spatial directions.
Examples:
DataMatrix
QR
DotCode
This often allows considerably more information to be stored in a small area than in a linear barcode.
What is Code 128?
Code 128 is a high-density linear barcode that can represent the full ASCII character set through different character sets.
It is widely used in industrial and logistics applications.
What is GS1-128?
GS1-128 uses the Code 128 symbology but adds the GS1 data structure with application identifiers.
This allows batch, date or product information to be transmitted in a standardized way.
What is Code 39?
Code 39 is a linear barcode that can represent digits, upper-case letters and selected special characters.
It has traditionally been widespread in many industrial applications.
What are EAN and UPC?
EAN and UPC symbologies are used above all in retail for product identification.
They typically carry GTIN-based product identifiers.
What is PDF417?
PDF417 is a stacked two-dimensional barcode symbology.
Several linear code rows are arranged above one another and combined with error correction.
What is DataMatrix ECC200?
DataMatrix ECC200 is a very widespread 2D matrix symbology.
The symbol has characteristic finder and timing structures and uses error correction.
Square ECC200 symbols range from 10 × 10 to 144 × 144 modules depending on the variant.
What is a QR code?
QR is also a two-dimensional matrix code.
The striking position detection patterns in three corners are typical.
A standard QR code starts at 21 × 21 modules and grows with the version.
What is the difference between QR and DataMatrix?
Both are matrix codes but use different symbol structures.
DataMatrix is used very frequently for industrial marking and small components.
QR is widespread in the consumer, document and logistics fields, among others.
Which symbology is more suitable depends on the applicable standard, the space, the data content and the process.
What is DMRE?
DMRE stands for Data Matrix Rectangular Extension.
It extends DataMatrix with additional rectangular symbol sizes and therefore suits narrow marking areas, for example.
Whether a reader supports DMRE has to be checked explicitly in the datasheet.
What is a module?
A module is the smallest basic unit of a code.
With DataMatrix or QR that is typically a single light or dark cell.
With 1D barcodes the basic module typically corresponds to the width of the narrowest bar or space element. Zebra accordingly describes the module as the smallest divisible unit of a barcode.
What does PPM mean?
PPM means:
pixels per module
The figure describes how many camera pixels the smallest code module is rendered across in the camera image.
How do I calculate PPM?
First:
pixels/mm = camera pixels / field of view [mm]
Then:
PPM = pixels/mm × module size [mm]
Or directly:
PPM = camera pixels × module size / field of view
Example:
1,920 pixels
120 mm field of view
0.25 mm module size
1,920 / 120 = 16 pixels/mm
16 × 0.25 = 4 PPM
The code therefore has roughly 4 pixels per module.
What is the X dimension?
The X dimension is the nominal width of the smallest module of a barcode.
With a DataMatrix symbol this corresponds to the physical size of one cell.
How do I calculate the size of a DataMatrix code?
For the active symbol area:
symbol size = number of modules × X dimension
Example:
32 × 32 modules
X dimension = 0.25 mm
32 × 0.25 = 8 mm
The active code area is therefore roughly 8 × 8 mm.
For the real printed or marked area, the quiet zone required has to be taken into account as well.
How do I calculate the camera resolution needed for a code?
Rearranged from the PPM formula:
camera pixels = desired PPM × field of view / module size
Example:
desired resolution = 4 PPM
FOV = 100 mm
module = 0.2 mm
4 × 100 / 0.2 = 2,000 pixels
At least roughly 2,000 pixels would be required horizontally by calculation.
How do I calculate the maximum field of view?
FOVmax = camera pixels × module size / desired PPM
Example:
2,448 pixels
0.2 mm module
4 PPM
2,448 × 0.2 / 4 = 122.4 mm
How many PPM does a code reader need?
There is no universal figure.
The minimum depends on:
reader
decoder
symbology
code quality
perspective
focus
movement
lighting
One specific Cognex IDMax algorithm, for example, names 4 pixels per element for DataMatrix and QR. Zebra, by contrast, requires at least 10 pixels per module for its ISO-based barcode quality metrics setup.
Those are different tasks: reading is not the same as verifying to a standard.
Are 2 PPM enough?
That can be possible with certain readers and very good codes, but it must not be promised across the board.
What matters is the minimum resolution of the specific reader or decoder.
For a sound design, the manufacturer's datasheet or a test should therefore be used.
Why does code verification need more resolution?
A reader primarily has to decode the content correctly.
A verifier additionally has to measure quality parameters of the individual modules or bars reliably.
That requires a much more precisely defined optical image. Zebra names at least 10 pixels per module for its ISO-compliant quality metrics setup, for example.
What is DPM?
DPM means direct part marking.
The code is applied directly to the workpiece instead of being printed on a label.
What DPM methods are there?
Examples:
laser marking
dot peen marking
engraving
etching
The surface structure can differ greatly as a result.
Why are DPM codes harder to read?
DPM codes often have:
little brightness contrast
directional reflection
irregular module shapes
textured surfaces
That is why the lighting matters particularly.
What lighting suits dot peen codes?
Low-angle or dark-field lighting is often very effective.
The indentations of the dot peen marking scatter the shallow incident light towards the camera.
What lighting suits laser DPM?
That depends heavily on the material and the laser process.
Possible solutions:
coaxial
dome
dark field
diffuse low-angle lighting
A practical lighting trial is strongly recommended with DPM.
What is code verification?
Code verification assesses the quality of a code against defined standards.
It answers not only:
“Can my reader read the code?”
but, for example:
“How robustly and how compliantly was this code produced?”
What is the difference between a reader and a verifier?
A reader is optimized to decode data reliably.
A verifier measures and assesses symbol quality under defined conditions.
A capable reader can therefore read a code that is rated poorly under standards-compliant verification.
What is ISO/IEC 15415?
ISO/IEC 15415 is a central quality standard for two-dimensional printed matrix codes.
Several quality parameters of the symbol are assessed.
What is ISO/IEC 15416?
ISO/IEC 15416 covers the quality assessment of linear barcodes.
What is ISO/IEC 29158?
ISO/IEC 29158 covers the quality assessment of directly marked DPM codes and takes their particular surface and marking properties into account.
What does code grade mean?
During verification, a quality rating is derived from various measured parameters.
Depending on the standard and the presentation, this is given numerically or as a letter grade, for example.
Important: the rating also depends on the standard used and the specified measurement setup.
What is symbol contrast?
Symbol contrast describes the difference in brightness between light and dark areas of a symbol.
Too little contrast makes both reading and verification harder.
What is modulation?
Put simply, modulation assesses how well the local contrast of individual modules is preserved in relation to the overall contrast.
Weak or unclean modules can be rated worse as a result.
What is axial non-uniformity?
This parameter describes geometric deviations of the symbol between the axes.
Unwanted stretching or compression can worsen the rating.
What is grid non-uniformity?
Grid non-uniformity assesses deviations of the actual module positions from the ideal module grid.
What is fixed pattern damage?
Fixed pattern damage assesses damage to structurally defined areas of the code, for example finder or timing structures.
What is unused error correction?
This value describes how much of the available error correction is still unused.
The more the code already relies on error correction, the smaller the remaining reserve.
What does decode mean as a quality parameter?
Decode checks whether the symbol can in principle be decoded correctly with the standard reference decoding procedure.
What is the quiet zone?
The quiet zone is a clear area around the code.
No disruptive lines, characters or structures should lie there.
A quiet zone that is too small or soiled can impair recognition and quality assessment.
What is error correction?
2D codes such as DataMatrix and QR contain error correction data.
Damaged or illegible parts can therefore be reconstructed up to a certain extent.
That does not mean, however, that arbitrarily badly damaged codes stay reliably readable.
What is read rate?
The read rate is the proportion of codes read successfully.
read rate = successful reads / read attempts × 100 %
Example:
9,980 successful reads
10,000 attempts
9,980 / 10,000 × 100 = 99.8 %
What is a good read rate?
There is no generally valid target figure.
Whether 99.8 %, 99.99 % or some other value is sufficient depends on:
production volume
the cost of a no read
traceability requirements
possible rework
In critical traceability processes, even a few no reads can have considerable consequences.
What does no read mean?
No read means the reader could not decode a valid code within the time or settings available.
What causes no reads?
Common causes:
module too small
wrong focus
motion blur
overexposure
underexposure
reflections
damaged code
quiet zone too small
perspective
wrong lighting
too few PPM
trigger fault
Why does a code work at standstill but not on the conveyor?
The commonest cause is motion blur.
Other possibilities:
wrong trigger point
code leaves the depth of field
too little light for a short exposure time
vibration
change in perspective
The motion blur should be checked by calculation.
Why does a code only work at short range?
Possible causes:
focus range
module too small in the image at greater distance
too little illuminance
limited optical resolution
reader outside its specified reading range
Manufacturers usually state reading distances for their readers in combination with specific module sizes. KEYENCE, for example, specifies reading ranges depending on the DataMatrix module size.
Can several codes be read at the same time?
Many current image-based readers support multi-code applications.
How many codes can be read reliably per capture depends on:
reader
resolution
number
code size
decoding time
field of view
How many codes per second can a reader read?
There is no general formula.
The rate depends on:
frame rate
exposure time
decoder
code type
number of codes
image resolution
search area
communication
among other things.
For sound figures, the specific model has to be checked and tested under real conditions.
What is OCR?
OCR means optical character recognition.
A vision system recognizes characters and converts the image into a text string, for example.
Example:
image contains:
LOT 12584
OCR returns:
LOT 12584
What is OCV?
OCV means optical character verification.
The focus here is not primarily on freely recognizing unknown text, but on checking whether the expected characters are present and printed correctly.
What is the difference between OCR and OCV?
OCR: “What does it say?”
OCV: “Does it say what it should say?”
What is the difference between OCR and code reading?
OCR reads visible written characters.
Code reading decodes a defined barcode or matrix code symbology.
Codes are optimized for machine recognition and therefore normally have considerably more structural redundancy than ordinary text.
How many pixels does a character need for OCR?
There is no universal minimum.
The resolution required depends on:
font
character height
contrast
print quality
OCR algorithm
lighting
movement
The minimum character height of the specific vision system or OCR tool should therefore be used.
What is deep learning OCR?
Deep learning OCR uses trained neural networks for character recognition.
That can offer advantages particularly with variable fonts, difficult backgrounds or fluctuating print quality.
PPM
PPM = number of pixels × module size / FOV
Pixel count required for a code
pixels = target PPM × FOV / module size
Maximum FOV for a code
FOVmax = pixels × module size / target PPM
DataMatrix size
active symbol size = number of modules × X dimension
Take the quiet zone into account in addition.
Which code reader do I need?
Important parameters:
code type
printed or DPM
module size
code size
field of view
working distance
speed
number of codes
surface
PLC/network interface
It can then be checked whether the minimum module size and field of view of the specific reader fit.
Which reader suits DPM?
A DPM reader should not only have a capable decoder but also match the type of marking and surface.
Particularly important are:
lighting options
autofocus or suitable optics
module resolution
DPM algorithms
mechanical design
A real sample test is highly recommended for demanding DPM applications.
Which reader suits fast-moving codes?
What matters is:
the shortest exposure time possible
enough light
suitable sensor resolution
trigger performance
decoding time
frame rate
Do not look at the nominal “reads per second” figure alone.
Which reader suits several codes at once?
The reader has to provide enough:
FOV
pixel resolution
decoding performance
process time
at the same time.
Each individual code still needs sufficient pixels per module within the shared field of view.
Rule 3: there is no universal minimum PPM figure.
The reader or decoder and the application determine the value required.
Rule 4: reading and verification are two different tasks.
A readable code does not automatically have a good ISO quality rating.
Rule 5: with DPM the lighting is often decisive.
A stronger decoder cannot fully compensate for a fundamentally unsuitable lighting geometry.
