DE19716886C2 - Verfahren und Vorrichtung zum Lesen eines Strichcodes - Google Patents
Verfahren und Vorrichtung zum Lesen eines StrichcodesInfo
- Publication number
- DE19716886C2 DE19716886C2 DE19716886A DE19716886A DE19716886C2 DE 19716886 C2 DE19716886 C2 DE 19716886C2 DE 19716886 A DE19716886 A DE 19716886A DE 19716886 A DE19716886 A DE 19716886A DE 19716886 C2 DE19716886 C2 DE 19716886C2
- Authority
- DE
- Germany
- Prior art keywords
- scanning
- code
- bar code
- determined
- norm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 40
- 230000009897 systematic effect Effects 0.000 claims description 7
- 238000005070 sampling Methods 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims description 5
- 238000006073 displacement reaction Methods 0.000 claims description 4
- 230000035945 sensitivity Effects 0.000 claims description 2
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000008080 stochastic effect Effects 0.000 description 2
- 238000010408 sweeping Methods 0.000 description 2
- 101150107341 RERE gene Proteins 0.000 description 1
- 229910052729 chemical element Inorganic materials 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- NQLVQOSNDJXLKG-UHFFFAOYSA-N prosulfocarb Chemical compound CCCN(CCC)C(=O)SCC1=CC=CC=C1 NQLVQOSNDJXLKG-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mechanical Optical Scanning Systems (AREA)
Description
Die vorliegende Erfindung betrifft ein Verfahren zum Lesen
eines aus einer vorgegebenen Anzahl von Codeelementen beste
henden Strichcodes zur Erzeugung eines binären Signals mit
aufeinanderfolgenden High-Low-Phasen, deren Längen den Brei
ten der aufeinanderfolgenden Codeelemente entsprechen, insbe
sondere bei schräg zu den Codeelementen verlaufender Lese
richtung. Weiterhin ist die Erfindung auf eine Vorrichtung
zur Durchführung dieses Verfahrens gerichtet.
Je nachdem, ob der Abtaststrahl eines verwendeten Strichcode
lesers die Codeelemente des Strichcodes schräg oder in Längs
richtung des Strichcodes überstreicht, sind unterschiedliche
Verfahren zur Decodierung des Strichcodes bekannt. Dabei wird
der Strichcode üblicherweise mehrfach von einem Abtaststrahl
überstrichen, um die Detektionsgenauigkeit zu erhöhen. Be
steht dabei eine Relativbewegung zwischen dem Strichcode und
dem Abtaststrahl, indem der Strichcode beispielsweise an dem
Strichcodeleser vorbeigeführt wird, so wird eine Vielzahl von
Abtastlinien auf den Strichcode projiziert, wohingegen bei
einer fehlenden Relativbewegung der Abtaststrahl mehrfach
entlang der gleichen Abtastlinie über den Strichcode geführt
wird. Als Codeelemente werden generell sowohl die Balken als
auch die zwischen den Balken vorhandenen Lücken des Strich
codes bezeichnet.
Aus der US 5,296,691 A ist eine Vorrichtung zum Lesen eines
Strichcodes bekannt, wobei insbesondere auch eine Dekodierung
des Strichcodes bei schräg zu den Codeelementen verlaufender
Leserichtung möglich ist. Dazu werden jeweils von einem Ab
taststrahl überstrichene Bereiche der Strichcodes erfaßt und
für diese Bereiche repräsentative Signale erzeugt. Mit Hilfe
eines Mikroprozessors werden dann die jeweils ermittelten Si
gnale zu einem vollständigen Strichcode rekonstruiert.
Aus der US 5,126,544 A ist ebenfalls eine Vorrichtung zum Le
sen eines Strichcodes bekannt, mit der auch bei einem schrä
gen Überstreichen des Strichcodes dieser dekodiert werden
kann. Dabei wird der Strichcode in zwei senkrecht zueinander
stehenden Abtastrichtungen abgetastet und auf diese Weise ein
zweidimensionales Abbild des Barcodes erfaßt. Durch Auswer
tung dieses Abbildes kann mit einer speziellen Auswerteschal
tung letztlich der Strichcode dekodiert werden.
Aufgrund von Ungleichmäßigkeiten in dem die Abtaststrahlen
aussendenden Strichcodeleser können beim Abtasten und Deco
dieren eines Strichcodes folgende Probleme auftreten:
- - wird der Abtaststrahl durch ein innerhalb des Strich
codelesers vorgesehenes Spiegelrad über den Strichcode
geführt, so kann durch die in der Ablenkeinheit des
Strichcodelesers vorhandenen Toleranzen eine Aufraste
rung der Abtaststrahlen entstehen, d. h., daß die beim
Überstreichen des Strichcodes durch die Abtaststrahlen
definierten Abtastebenen von Abtastung zu Abtastung
nicht exakt zusammenfallen, sondern unter unterschiedli
chen Winkeln zueinander verkippt sind. Bei einer Rela
tivbewegung zwischen Strichcode und Strichcodeleser sind
somit die auf den Strichcode projizierten Abtastlinien
nicht äquidistant, sondern in unregelmäßigen Abständen
aneinander verteilt.
Durch diese Aufrasterung (im folgenden auch Rasterfehler genannt) entsteht eine Bildverzerrung, die die Erkennung eines Strichcodes bzw. die Decodierung erschwert oder unmöglich macht. - - Durch Drehzahlschwankungen der Ablenkeinheit, die bei spielsweise durch einen ungleichmäßigen Lauf des Spie gelradmotors verursacht sein können, können von Abta stung zu Abtastung oder auch innerhalb einer Abtastung unterschiedliche Abtastgeschwindigkeiten entstehen, die ebenfalls Bildverzerrungen der erfaßten Strichcodes ver ursachen.
- - Weitere Bildverzerrungen können durch unerwünschte Spie geleigenschaften des Spiegelrades oder durch sonstige stochastische Effekte entstehen. Beispielsweise können die verwendeten Spiegel fokussierende bzw. defokussie rende Eigenschaften besitzen, die eine ungleichmäßige Abtastung des Strichcodes verursachen.
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, ein
Verfahren und eine Vorrichtung der eingangs genannten Art so
auszubilden, daß trotz der beschriebenen Bildverzerrungen ei
ne Decodierung eines abgetasteten Strichcodes möglich ist.
Diese Aufgabe wird ausgehend von einem Verfahren der eingangs
genannten Art dadurch gelöst, daß die Codeelemente durch ei
nen Abtaststrahl oder durch mehrere Abtaststrahlen eines
Strichcodelesers entlang im wesentlichen parallel zueinander
verlaufender Abtastlinien abgetastet werden, wobei das Über
streichen des Strichcodes durch einen Abtaststrahl eine Abta
stung und jeder Abtaststrahl beim Überstreichen des Strich
codes eine Abtastebene definiert, daß für im wesentlichen je
de Abtastung der Kippwinkel zwischen der jeweiligen Ab
tastebene und einer vorgegebenen Referenzebene bestimmt wird
und daß beim Dekodieren des Strichcodes die ermittelten Kipp
winkel zur Kompensation von Rasterfehlern, d. h. von un
gleichmäßigen Abständen zwischen benachbarten Abtastlinien,
ausgewertet werden.
Da die Kippwinkel der Abtastebenen einen für den Rasterfehler
repräsentativen Wert darstellen, können die aufgrund des
Rasterfehlers auftretenden Bildverzerrungen bei entsprechen
der Auswertung der Kippwinkel kompensiert werden, so daß eine
Decodierung des erfaßte Strichcodes möglich ist.
Nach einer bevorzugten Ausführungsform der Erfindung bildet
jeder durch eine Abtastlinie abgetastete Bereich eines Code
elements einen Codeelementabschnitt, wobei aus für unter
schiedliche Abtastlinien erfaßten, einander zugeordneten, je
weils dasselbe Codeelement des Strichcodes repräsentierenden
Codeelementabschnitten jeweils ein Referenz-Codeelement er
mittelt wird und jeweils die aufgrund des für eine einer Ab
tastlinie zugeordneten Abtastebene ermittelten Kippwinkels
vorhandene Verschiebung der Codeelementabschnitte in Abta
strichtung ermittelt und beim Bilden der Referenz-Codeele
mente berücksichtigt wird.
Die Codeelemente werden bei der Abtastung durch die die Code
elemente überstreichenden Abtaststrahlen in einzelne Bereiche
aufgeteilt, die im folgenden als Codeelementabschnitte be
zeichnet werden. Durch das erfindungsgemäße Verfahren wird
ein bezüglich der Abtastrichtung um den Tiltwinkel (Winkel
zwischen der Abtastrichtung und der Senkrechten zur Stricho
rientierung des Strichcodes) verkipptes, zweidimensionales
Bild des Strichcodes erzeugt, aus dem für unterschiedliche
Abtastlinien einander zugeordnete, jeweils dasselbe Codeele
ment des abgetasteten Strichcodes repräsentierende Codeele
mentabschnitte extrahiert werden, aus denen jeweils ein Refe
renz-Codeelement gebildet wird. Da aufgrund des Rasterfehlers
die einander zugeordneten Codeelementabschnitte gegeneinander
verschoben sind, wird erfindungsgemäß diese Verschiebung aus
den ermittelten Kippwinkeln der Abtastebenen ermittelt und
beim Bilden der Referenz-Codeelemente berücksichtigt. Auf
diese Weise kann die durch die Rasterfehler verursachte Bild
verzerrung kompensiert werden.
Die über den Strichcode im wesentlichen parallel verlaufenden
Abtastlinien werden durch eine Relativbewegung zwischen dem
Abtaststrahl und dem den Strichcode tragenden Gegenstand er
zeugt. Dabei kann entweder der Gegenstand im wesentlichen
senkrecht zur Abtastrichtung geführt werden oder der Abtast
strahl beispielsweise durch die Schwingbewegung einer Ablen
keinheit quer zur Abtastrichtung hin- und herbewegt werden.
Grundsätzlich ist es auch denkbar, daß der Strichcodeleser
den Strichcode mit mehreren, im wesentlichen parallel zuein
ander verlaufenden Abtastlinien gleichzeitig abtastet, so daß
jeder Abtastlinie oder jeweils einem Teil der Abtastlinien
ein separater Abtaststrahl zugeordnet ist. Auch beliebige
Kombinationen dieser beschriebenen Verfahren sind denkbar.
Bezüglich der Auswertung der Codeelementabschnitte und der
Bildung der Referenz-Codeelemente sowie der Decodierung des
damit erzeugten Referenz-Strichcodes wird auf die am 21. März
1997 eingereichte Patentanmeldung "Verfahren und Vorrichtung
zum Lesen eines Strichcodes" der gleichen Anmelderin
(DE 197 11 873 A) verwiesen.
Nach einer weiteren vorteilhaften Ausführungsform der Erfin
dung werden in einer Lernphase ein vorgegebener Einlern-
Strichcode bzw. ein vorgegebenes Rastermuster in einer schräg
zu den Codeelementen verlaufenden Abtastrichtung mehrfach ab
getastet und die Kippwinkel der unterschiedlichen Abtastebe
nen gespeichert, wobei im Betrieb beim Decodieren des Strich
codes die gespeicherten Kippwinkel zur Kompensation der
Rasterfehler verwendet werden.
Da die Rasterfehler einen systematischen Anteil besitzen kön
nen, der beispielsweise durch eine nicht ganz exakte Justie
rung des Spiegelrades oder der einzelnen Spiegel des Spiegel
rades verursacht werden kann, ist es möglich, diesen systema
tischen Anteil der Rasterfehler vor Inbetriebnahme des
Strichcodelesers einzulernen, indem die auftretenden Kippwin
kel der unterschiedlichen Abtastebenen erfaßt und gespeichert
werden. Im Betrieb des Strichcodelesers können dann die ge
speicherten Kippwinkel zur Kompensation der Rasterfehler ver
wendet werden.
Nach einer weiteren bevorzugten Ausführungsform der Erfindung
werden die Abstände zwischen verschiedenen, insbesondere be
nachbarten Abtastlinien insbesondere durch ein Sensorelement
ermittelt, wobei die Kippwinkel jeweils aus den ermittelten
Abständen sowie aus dem Abtastabstand zwischen dem die Ab
taststrahlen aussendenden Strichcodeleser und dem Strichcode
bestimmt werden. Auf diese Weise ist eine Online-Erkennung
der Rasterfehler im Betrieb möglich, so daß neben den syste
matischen Anteilen auch die stochastischen Anteile der
Rasterfehler erfaßt und kompensiert werden können. Durch eine
Strahlfaltung im Strichcodeleser kann die Empfindlichkeit des
Verfahrens weiter erhöht werden.
Eine weitere Lösung der gestellten Aufgabe wird ausgehend von
einem Verfahren der eingangs genannten Art dadurch erreicht,
daß die Codeelemente durch einen Abtaststrahl oder durch meh
rere Abtaststrahlen eines Strichcodelesers entlang einer Ab
tastlinie bzw. im wesentlichen parallel zueinander verlaufen
de Abtastlinien abgetastet werden, wobei jedes Überstreichen
des Strichcodes durch einen Abtaststrahl eine Abtastung defi
niert, daß für die erfaßten Codeelemente jeweils die Position
innerhalb der Abtastlinie und die Breite in Abtastrichtung
normiert werden und daß zum Decodieren des Strichcodes die
normierten Positionen und Breiten der erfaßten Codeelemente
verwendet werden.
Durch dieses erfindungsgemäße Verfahren können insbesondere
Bildverzerrungen, die durch Drehzahlschwankungen der Ablen
keinheit, durch Spiegeleigenschaften des Spiegelrades oder
durch sonstige stochastische Effekte verursacht werden, kom
pensiert werden.
Durch diese Bildverzerrungen entstehen sowohl in der Positi
ons- als auch in der Breitenbestimmung der Codeelemente des
Strichcodes Ungleichmäßigkeiten, so daß beispielsweise bei
zwei aufeinanderfolgenden Abtastungen des Strichcodes mit un
terschiedlichen Geschwindigkeiten für ein und dasselbe Code
element unterschiedliche Positionen innerhalb der Abtastlini
en und unterschiedliche Elementbreiten in Abtastrichtung er
mittelt werden würden. Diese Ungleichmäßigkeiten können durch
eine Normierung der Positionen und Breiten der Codeelemente
kompensiert werden, so daß eine Decodierung dieses Strich
codes unter Verwendung der normierten Positionen und Breiten
problemlos möglich ist.
Nach einer weiteren vorteilhaften Ausführungsform der Erfin
dung werden jeweils die aktuelle Dauer der aktuellen Abta
stung und die aktuellen Positionen und Breiten der erfaßten
Codeelemente bestimmt, wobei die normierte Position eines er
faßten Codeelements gemäß der Formel
Pnorm = Pakt.Tnom/Takt
ermittelt wird und für Tnom eine vorgegebene nominale Dauer
einer Abtastung verwendet wird.
Durch diese Variante des erfindungsgemäßen Verfahrens können
niederfrequente Drehzahlschwankungen der Ablenkeinheit kom
pensiert werden, deren Frequenz wesentlichen niedriger als
die Abtastfrequenz ist. Ausgehend von einem angenommenen,
konstanten Gleichlauf während einer Abtastung kann gemäß der
angegebenen Formel die normierte Breite der Codeelemente be
stimmt und für die Decodierung des Strichcodes verwendet wer
den.
Bevorzugt wird dabei die normierte Breite eines erfaßten
Codeelements durch die Formel
Bnorm(n - 1) = Pnorm(n) - Pnorm(n - 1)
ermittelt, wobei Pnorm(n) die normierte Position des erfaßten
Codeelements und Pnorm(n - 1) die normierte Position des sich
daran anschließenden Codeelements darstellen.
Nach einer weiteren vorteilhaften Ausführungsform der Erfin
dung wird während einer Abtastung der Abtaststrahl insbeson
dere über einen Strahlteiler, beispielsweise einen halbdurch
lässigen Spiegel, zusätzlich entlang einer Referenzabtastli
nie über einen Referenzraster geführt, die aktuellen Positio
nen eines erfaßten Codeelements sowie des m-1-ten und des m-
ten Elements des Referenzrasters bestimmt, wobei als m-1-tes
Element das unmittelbar vor Erfassen des Codeelements abgeta
stete Element des Referenzrasters und als m-tes Element das
darauffolgende Element des Referenzrasters verwendet werden,
die normierte Position eines erfaßten Codeelements gemäß der
Formel
ermittelt wird und für Bref/nom eine vorgegebene nominale Brei
te der Elemente des Referenzrasters verwendet wird.
Mit diesem Verfahren können insbesondere Drehzahlschwankungen
einer Ablenkeinheit ausgeglichen werden, deren Frequenz höher
ist als die Abtastfrequenz, so daß merkliche Gleichschwankun
gen innerhalb einer Abtastung entstehen. Indem ein Teil der
Energie des Abtaststrahls über einen Strahlteiler ausgekop
pelt wird und simultan zum Nutzkanal über ein präzises, vor
gegebenes Referenzraster geführt wird, ist ein Abgleich zwi
schen dem erfaßten Strichcode und dem erfaßten Referenzraster
möglich, wodurch normierte Positionen und Breiten der Codee
lemente des Strichcodes bestimmt werden können, die nahezu
drehzahlunabhängig sind.
Anstelle der Teilung des Abtaststrahls und Führung über einen
Referenzkanal kann eine solche Normierung auch durch Verwen
dung eines Inkremental-Winkelgebers auf dem Spiegelrad er
zeugt werden.
Die normierte Breite eines erfaßten Codeelements kann dann
wiederum vorteilhaft durch die Formel
Bnorm(n - 1) = Pnorm(n) - Pnorm(n - 1)
ermittelt werden.
Nach einer weiteren bevorzugten Erfindungsform der Erfindung
bildet jeder durch eine Abtastlinie abgetastete Bereich eines
Codeelements einen Codeelementabschnitt, wobei die normierten
Positionen und Breiten der Codeelemente bestimmt werden und
aus für unterschiedliche Abtastlinien erfaßten, einander zu
geordneten, jeweils dasselbe Codeelement des Strichcodes re
präsentierenden Codeelementabschnitten unter Berücksichtigung
ihrer normierten Positionen und Breiten jeweils ein Referenz-
Codeelement ermittelt wird. Durch die Verwendung der normier
ten Positionen und Breiten der einzelnen Codeelementabschnit
te werden die durch die Drehzahlschwankungen verursachten
Bildverzerrungen eliminiert, so daß eine eindeutige Bildung
und Decodierung der Referenz-Codeelemente erfolgen kann.
Die die Vorrichtung betreffende Aufgabe wird erfindungsgemäß
durch die Ansprüche 21 und 27 gelöst.
Weitere vorteilhafte Ausführungsformen der Erfindung sind in
den Unteransprüchen angegeben.
Die Erfindung wird nachfolgend anhand von Ausführungsbeispie
len unter Bezugnahme auf die Zeichnungen näher erläutert; in
diesen zeigen:
Fig. 1 eine schematische Darstellung eines Strichcodele
sers sowie eines von einem Abtaststrahl des Strich
codelesers abgetasteten Gegenstands,
Fig. 2 einen Strichcode mit Abtastlinien, die eine geringe
bzw. keine Aufrasterung besitzen,
Fig. 3 einen Strichcode mit Abtastlinien, die eine erheb
liche Aufrasterung besitzen,
Fig. 4 eine schematische Darstellung eines Ablaufes zur
Erzeugung eines Referenz-Codeelements,
Fig. 5 eine Darstellung gemäß Fig. 4, in der die Abtastli
nien eine erhebliche Aufrasterung besitzen,
Fig. 6 einen weiteren Strichcode mit Abtastlinien,
Fig. 7 einen schematisch dargestellten Zeilensensor zur
Bestimmung der Aufrasterung von Abtastlinien,
Fig. 8 einen erfaßten Strichcode, der innerhalb einer Ab
tastdauer von Tnom abgetastet wurde,
Fig. 9 der Strichcode nach Fig. 8 bei einer Abtastung in
nerhalb einer Abtastdauer Takt ≠ Tnom,
Fig. 10 einen weiteren Strichcode mit einem Referenzraster
und
Fig. 11 den Strichcode und das Referenzraster nach Fig. 10
bei ungleichmäßiger Abtastgeschwindigkeit.
Fig. 1 zeigt einen Strichcodeleser 1, der einen Abtaststrahl
2 in Richtung auf einen Gegenstand 3 aussendet, auf dessen
Oberfläche ein abzutastender Strichcode angeordnet ist. Wie
durch einen Pfeil 4 angedeutet ist, führt der Abtaststrahl 2
eine Schwenkbewegung um einen Winkel β aus, so daß er zwi
schen den in Fig. 1 mit den Bezugszeichen 2' und 2" bezeich
neten Positionen hin- und herwandert. Das Verschwenken des
Abtaststrahls 2 kann dabei beispielsweise durch ein innerhalb
des Strichcodelesers 1 angeordnetes rotierendes Spiegelrad
erfolgen.
Durch das Verschwenken des Abtaststrahls 2 um den Winkel β
wird somit die Oberfläche des Gegenstands 3 entlang einer Ab
tastlinie 5 abgetastet.
Um eine Fläche des Gegenstands 3 mit dem Abtaststrahl 2 über
streichen zu können, wird beispielsweise der Gegenstand 3 ge
mäß dem aus der Zeichnungsfläche herausragenden Pfeil 6 senk
recht zu der Schwenkebene des Abtaststrahls 2 bewegt. Der
Pfeil 6 gibt somit die Förderrichtung des Gegenstands 3 an.
Es ist grundsätzlich jedoch auch möglich, den Abtaststrahl 2
zusätzlich zu der beschriebenen Schwenkbewegung eine Schwenk
bewegung parallel zum Pfeil 6 ausführen zu lassen, so daß
auch bei unbewegtem Gegenstand 3 eine flächige Abtastung ei
nes Bereichs der Oberfläche des Gegenstands 3 erfolgt.
Weiterhin ist es grundsätzlich möglich, daß der Strichcodele
ser 1 eine Vielzahl von Abtaststrahlen 2 aussendet, die bei
spielsweise synchron innerhalb im Idealfall parallel zueinan
der verlaufender Abtastebenen verschwenkt werden.
Fig. 2 zeigt einen Strichcode 7, der eine Vielzahl von aus
Balken und Lücken bestehenden Codeelementen 8 umfaßt und auf
den eine Vielzahl von Abtastlinien 5 projiziert sind, entlang
derer der Strichcode 7 durch Abtaststrahlen abgetastet wird.
Die Abtastlinien 5 verlaufen schräg zur Längsachse 32 des
Strichcodes 7 und schließen mit dieser den sogenannten Tilt
winkel α ein. Weiterhin verlaufen die Abtastlinien 5 im we
sentlichen parallel zueinander und weisen äquidistante Ab
stände zueinander auf.
Die Anordnung der Abtastlinien gemäß Fig. 1 ergibt sich, wenn
die Ablenkeinheit des Codelesers so exakt justiert ist, daß
die von den Abtaststrahlen 2 definierten Abtastebenen in ei
ner einzigen Abtastebene zusammenfallen, so daß bei einer
gleichmäßigen Relativbewegung zwischen dem Strichcode 7 und
dem Strichcodeleser 1 die in Fig. 1 dargestellte, äquidistan
te Anordnung der Abtastlinien 5 erhalten wird.
Aufgrund nicht zu vermeidender Toleranzen in der Ablenkein
heit kann sich in der Praxis jedoch anstelle des in Fig. 1
dargestellten Idealzustandes die in Fig. 2 dargestellte An
ordnung der Abtastlinien mit einer erheblichen Aufrasterung
ergeben, d. h. die Abtastlinien 5 sind in unterschiedlichen
Abständen zueinander angeordnet.
Durch diesen Rasterfehler wird bei der Abtastung des Strich
codes eine Bildverzerrung erzeugt, wie es im folgenden unter
Bezugnahme auf die Fig. 4 und 5 näher beschrieben wird:
In Fig. 4a ist ein Strichcode 8 abgebildet, der entlang drei
er Abtastlinien 5 von einem Abtaststrahl abgetastet wird. Die
entlang der Abtastlinien 5 abgetasteten Bereiche 9 des Code
elements 8 werden als Codeelementabschnitte 10 in einem
Bildspeicher abgelegt, wie es schematisch in Fig. 4b darge
stellt ist. Da die Abtastlinien 5 schräg zum Codeelement 8
verlaufen, sind die Codeelementabschnitte 10 bezüglich einer
Referenzgeraden 11, die senkrecht zur Abtastrichtung steht,
versetzt zueinander angeordnet.
Durch Bestimmung des Tiltwinkels α wird eine Entzerrung der
im Bildspeicher abgelegten Codeelementabschnitte 10 durchge
führt, so daß die in Fig. 4c dargestellte Zuordnung der Code
elementabschnitte 10 möglich ist und aus diesen das Referenz-
Codeelement 12 gemäß Fig. 4d erzeugt wird.
In Fig. 5a besitzen die Abtastlinien 5 ungleichmäßige Abstän
de, wobei die oberen beiden Abtastlinien 5 wesentlich näher
beieinander angeordnet sind als die unteren beiden Abtastli
nien 5.
Bei dieser erheblichen Aufrasterung werden im Bildspeicher
die Codeelementabschnitte 10 gemäß Fig. 5b abgelegt. Dabei
ist ersichtlich, daß der mittlere Codeelementabschnitt 10 ge
genüber dem unteren Codeelementabschnitt 10 im Vergleich zu
Fig. 4b einen Versatz (Verschiebung) x aufweist, der aufgrund
der Aufrasterung der Abtastlinien 5 entsteht. Die Position in
Abtastrichtung des mittleren Codeelementabschnitts 10 ent
spricht dabei der Position des gestrichelt dargestellten
Codeelementabschnitts 10', wie er im Bildspeicher abgelegt
werden würde, wenn die Aufrasterung der Abtastlinien 5 be
kannt wäre und berücksichtigt werden könnte. Da diese Aufra
sterung nicht bekannt ist, wird bei der Abspeicherung der
Codeelementabschnitte 10 im Bildspeicher von einer äquidi
stanten Anordnung der Abtastlinien 5 ausgegangen, so daß das
in Fig. 5b verzerrte Abbild im Bildspeicher abgespeichert
wird. Bei der Berücksichtigung der Verschiebung der Codeele
mentabschnitte 10, die durch den Tiltwinkel α verursacht
wird, entsteht die in Fig. 5c dargestellte Anordnung der
Codeelementabschnitte 10. Aus dieser Anordnung ist keine zu
verlässige Erkennung eines Codeelements möglich, so daß kein
Referenz-Codeelement erzeugt werden kann.
Ist der Rasterfehler, der zu dem Versatz x nach Fig. 5b
führt, systematischer Art, so kann er vor Inbetriebnahme des
Strichcodelesers eingelernt werden. Hierzu wird eine schräg
gestellte Codierung 13 (Fig. 6) oder ein Schwarz-Weiß-Raster
von dem Strichcodeleser, dessen systematischer Rasterfehler
eingelernt werden soll, aus einem möglichst großen Abstand
abgetastet. Dabei ergeben sich die in Fig. 6 dargestellten
Abtastlinien 5, die gemäß dem systematischen Rasterfehler un
terschiedliche Abstände zueinander besitzen.
Die abgetasteten Elementabschnitte werden, entsprechend Fig.
5b, in einem Bildspeicher abgelegt, wobei sich die in Fig. 5b
dargestellte Relativverschiebung der einzelnen Elementab
schnitte zueinander ergibt.
Unter Berücksichtigung des beim Einlernvorgang bekannten
Tiltwinkels sowie des Abtastabstandes kann der Versatz x und
damit der den Rasterfehler verursachende Kippwinkel der Ab
tastebene für jede Abtastung berechnet und abgespeichert wer
den.
Im Betrieb kann dann für jede Abtastung aus dem abgespeicher
ten Kippwinkel sowie dem zu ermittelnden Tiltwinkel und dem
Abtastabstand der jeweilige Versatz x eines Codeelementab
schnittes 10 berechnet und bei der Bildung des Referenzcodee
lements 12 und der Decodierung berücksichtigt werden.
Sind zusätzlich oder anstelle der systematischen Anteile des
Rasterfehlers noch stochastische Anteile vorhanden, kann in
dem Strichcodeleser ein Zeilensensor (Sensorelement) 14 senk
recht zur Abtastrichtung eingebaut werden, wie es in Fig. 7
schematisch dargestellt ist. Mittels des Zeilensensors ist
eine Online-Erkennung sowohl des systematischen als auch des
stochastischen Rasterfehlers möglich, da unmittelbar der Ab
stand zweier benachbarter Abtastlinien 5 und damit der Kipp
winkel bestimmt werden kann, aus dem wiederum der Versatz x
der Codeelementabschnitte 10 ermittelbar ist.
Fig. 8 zeigt Codeelemente 8 eines Strichcodes 7, die in einer
Abtastung mit der nominalen Abtastdauer Tnom abgetastet und
erfaßt worden sind. Dabei ist beispielhaft die Breite des
vorletzten Codeelements 8' mit Bnorm und die Position des
drittletzten Codeelements 8" mit Pnorm bezeichnet.
Fig. 9 zeigt denselben Strichcode 7, der im Vergleich zu Fig.
8 mit einer höheren Abtastgeschwindigkeit und damit innerhalb
einer Zeit Takt < Tnom abgetastet und erfaßt wurde. Man er
kennt, daß die für das Codeelement 8' ermittelte Breite Bakt
kleiner ist als die Breite Bnorm des Codeelements 8' nach Fig.
8 und die Position Pakt des Codeelements 8" von der Position
Pnorm des Codeelements 8" gemäß Fig. 8 abweicht.
Um die Abhängigkeiten von der Abtastgeschwindigkeit, wie sie
durch Drehzahlschwankungen der Ablenkeinheit des Strichcode
lesers erzeugt werden, auszugleichen, werden die erfaßten ak
tuellen Positionen Pakt und die erfaßten aktuellen Breiten Bakt
der Codeelemente 8 gemäß den Formeln
Pnorm = Pakt.Tnom/Takt
Bnorm(n - 1) = Pnorm(n) - Pnorm(n - 1)
auf die in Fig. 8 dargestellten Werten normiert. Dabei werden
durch die Parameter n und n - 1 zwei aufeinanderfolgende Code
elemente spezifiziert und für die nominale Abtastdauer Tnom
eine beliebige, vorgegebene Dauer verwendet.
Somit werden unabhängig von der aktuellen Abtastgeschwindig
keit und damit unabhängig von Drehzahlschwankungen der Ab
lenkeinheit des Strichcodelesers für die Codeelementbreiten
und -positionen gleicher Codeelemente innerhalb unterschied
licher Abtastungen einheitliche, normierte Werte erhalten.
Auf diese Weise wird eine Entzerrung der erfaßten Strichcode
erreicht und damit die Decodierung der erfaßten Strichcode
vereinfacht.
Fig. 10 zeigt einen Strichcode 7, der aus Codeelementen 15
bis 21 besteht. Unterhalb des Codeelements 7 ist ein aus Ele
menten 22 bis 30 bestehendes Referenzraster 31 abgebildet,
wobei die Elemente 22 bis 30 jeweils die gleiche Breite be
sitzen.
Treten bei der Abtastung des Strichcodes 7 höherfrequente
Drehzahlschwankungen der Ablenkeinheit und damit Schwankungen
der Abtastgeschwindigkeit innerhalb einer Abtastung auf, so
werden für die Breiten und Positionen der Codeelemente 15 bis
21 innerhalb einer Abtastung je nach der aktuellen Abtastge
schwindigkeit unterschiedliche Werte erhalten. Die dadurch
entstehenden Bildverzerrungen können nicht durch das zu den
Fig. 8 und 9 beschriebene Verfahren ausgeglichen werden, da
durch dieses Verfahren lediglich niederfrequente Abtast
schwankungen, die sich nicht innerhalb einer Abtastung aus
wirken, kompensiert werden können.
Höherfrequenzte Drehzahlschwankungen der Ablenkeinheit werden
erfindungsgemäß dadurch kompensiert, daß gleichzeitig mit der
Abtastung des Strichcodes 7 eine Abtastung des Referenzra
sters 31 erfolgt. Dazu wird ein Teil der Energie des Abtast
strahls beispielsweise über einen teildurchlässigen Spiegel
ausgekoppelt und simultan zu dem den Strichcode 7 überstrei
chenden Nutzanteil des Abtaststrahls über das Referenzraster
31 geführt.
Gemäß der Formel
kann für jedes der abgetasteten Codeelemente 15 bis 21 abhän
gig von der jeweils ermittelten aktuellen, von der Abtastge
schwindigkeit abhängigen Position des Codeelements eine von
der Abtastgeschwindigkeit unabhängige, normierte Position be
rechnet werden. Weiterhin kann aus der Differenz zweier auf
einanderfolgender normierter Positionen die normierte Ele
mentbreite des dazwischenliegenden Codeelements bestimmt wer
den. Dies wird nachfolgend anhand eines Beispiels unter Be
zugnahme auf Fig. 11 näher erläutert. Dabei wird als Position
eines Codeelements bzw. eines Elements des Referenzrasters
jeweils die Position der ersten bei der Abtastung überstri
chene Kante des jeweiligen Elements, d. h. in Abtastrichtung
gesehen der Anfang des Elements, verwendet. Grundsätzlich
kann zur Referenzierung der Position auch die zweite Kante
des jeweiligen Elements, d. h. das Ende des Elements in Ab
tastrichtung, die Mitte zwischen Anfang und Ende oder eine
sonstige, die Position des jeweiligen Elements eindeutig be
stimmende Größe verwendet werden. Die oben angegebene Formel
muß dann gegebenenfalls an den verwendeten Bezugspunkt ange
paßt werden.
Fig. 11 zeigt den Strichcode 7 und das Referenzraster 31 nach
Fig. 10, wie sie bei einer Abtastung mit schwankender Ab
tastgeschwindigkeit erfaßt wurden.
Während der Abtaststrahl während eines Zeitintervalls T1 mit
der nominalen Geschwindigkeit geführt wurde, so daß die in
nerhalb dieses Zeitintervalls überstrichenen Elemente 22 und
23 des Referenzrasters 31 die in Fig. 10 abgebildete normier
te Breite sowie die normierten Positionen besitzen, wurde der
Abtaststrahl während des Zeitintervalls T2 mit erhöhter Ge
schwindigkeit über den Strichcode 7 und das Referenzraster 31
geführt. Dadurch ergeben sich die in Fig. 11 dargestellten,
reduzierten Breiten des Codeelements 15 sowie des Elements 24
gegenüber den normierten Breiten der entsprechenden Elemente
in Fig. 10.
Während des Zeitintervalls T3 wurde der Abtaststrahl wieder
mit der nominalen Geschwindigkeit über den Strichcode 7 und
über das Referenzraster 31 geführt, wohingegen er während des
Zeitintervalls T4 wiederum mit einer höheren Geschwindigkeit
über den Strichcode 7 und das Referenzraster 31 geführt wur
de. Nachdem im Zeitintervall T5 der Abtaststrahl wieder mit
der nominalen Geschwindigkeit bewegt wurde, wurde er im Zei
tintervall T6 mit verringerter Geschwindigkeit über den
Strichcode 7 und das Referenzraster 31 geführt, um anschlie
ßend während des Zeitintervalls T7 wieder mit der nominalen
Geschwindigkeit bewegt zu werden.
Durch diese unterschiedlichen Geschwindigkeiten des Abtast
strahls ergeben sich die in Fig. 11 dargestellten unter
schiedlichen aktuellen Breiten und Positionen der Codeelemen
te 15 bis 21 sowie der Elemente 22 bis 30 gegenüber den in
Fig. 10 dargestellten normierten Positionen und Breiten.
Betrachtet man beispielsweise das Codeelement 15, so wird
dessen normierte Positionen Pnorm, die in Fig. 10 eingetragen
ist, auf folgende Weise bestimmt:
Zunächst wird die aktuelle Position Pakt des Codeelements 15
sowie die aktuellen Positionen Pref/akt(m - 1) und Pref/akt(m) der
dem Codeelement 15 unmittelbar vorausgehenden und nachfolgen
den Elemente 24 und 25 des Referenzrasters 31 bestimmt. Dabei
ergeben sich folgende Werte:
Pakt = 3,5
Pref/akt(3) = 3 (für m = 4, da es sich bei Element 25 um das
vierte Element des Referenzrasters 31 handelt)
Pref/akt(4) = 3,75
Da gemäß Fig. 10 die normierte Breite der Elemente 22 bis 30
des Referenzrasters 31 Bref/norm = 1,5 ist, ergibt sich somit
die normierte Position Pnorm des Codeelements 15 zu
Dies entspricht der in Fig. 10 dargestellten normierten Posi
tion Pnorm des Codeelements 15.
Auf gleiche Weise kann die normierte Position des Codeele
ments 16 zu vier bestimmt werden, so daß die nominierte Brei
te des Codeelements 15 gemäß der Formel
Bnorm(n - 1) = Pnorm(n) - Pnorm(n - 1) = 4 - 3 = 1
bestimmt wird.
Auf diese Weise kann für jedes der Codeelemente 15 bis 21 des
Strichcodes 7 dessen normierte Position sowie dessen normier
te Breite bestimmt werden, so daß unabhängig von Drehzahl
schwankungen der Ablenkeinheit einheitliche Werte für die Po
sitionen und Breiten der Codeelemente eines Strichcodes er
mittelbar sind. Somit können die durch die Drehzahlschwankun
gen verursachten Bildverzerrungen kompensiert und die Deco
dierung des Strichcodes zuverlässig vorgenommen werden.
Claims (29)
1. Verfahren zum Lesen eines aus einer vorgegebenen Anzahl von
Codeelementen (8) bestehenden Strichcodes (7) zur Erzeugung eines
binären Signals mit aufeinanderfolgenden High-Low-Phasen, deren
Längen den Breiten der aufeinanderfolgenden Codeelemente (8) ent
sprechen, insbesondere bei schräg zu den Codeelementen (8) ver
laufender Leserichtung,
dadurch gekennzeichnet,
daß die Codeelemente (8) durch einen Abtaststrahl (2) oder durch mehrere Abtaststrahlen eines Strichcodelesers (1) entlang im we sentlichen parallel zueinander verlaufender Abtastlinien (5) abgeta stet werden, wobei das Überstreichen des Strichcodes (7) durch ei nen Abtaststrahl (2) eine Abtastung und jeder Abtaststrahl (2) beim Überstreichen des Strichcodes (7) eine Abtastebene definiert,
daß für im wesentlichen jede Abtastung der Kippwinkel zwischen der jeweiligen Abtastebene und einer vorgegebenen Referenzebene bestimmt wird und
daß beim Dekodieren des Strichcodes (7) die ermittelten Kippwinkel zur Kompensation von Rasterfehlern in Form von ungleichmäßigen Abständen zwischen benachbarten Abtastlinien (5) ausgewertet werden.
daß die Codeelemente (8) durch einen Abtaststrahl (2) oder durch mehrere Abtaststrahlen eines Strichcodelesers (1) entlang im we sentlichen parallel zueinander verlaufender Abtastlinien (5) abgeta stet werden, wobei das Überstreichen des Strichcodes (7) durch ei nen Abtaststrahl (2) eine Abtastung und jeder Abtaststrahl (2) beim Überstreichen des Strichcodes (7) eine Abtastebene definiert,
daß für im wesentlichen jede Abtastung der Kippwinkel zwischen der jeweiligen Abtastebene und einer vorgegebenen Referenzebene bestimmt wird und
daß beim Dekodieren des Strichcodes (7) die ermittelten Kippwinkel zur Kompensation von Rasterfehlern in Form von ungleichmäßigen Abständen zwischen benachbarten Abtastlinien (5) ausgewertet werden.
2. Verfahren nach Anspruch 1,
dadurch gekennzeichnet,
daß als Referenzebene die Abtastebene der ersten Abtastung ver
wendet wird.
3. Verfahren nach Anspruch 1 oder 2,
dadurch gekennzeichnet,
daß jeder entlang einer Abtastlinie (5) abgetastete Bereich (9) eines
Codeelements (8) einen Codeelementabschnitt (10) bildet und
daß aus für unterschiedliche Abtastlinien (5) erfaßten, einander zu geordneten, jeweils dasselbe Codeelement (8) des Strichcodes reprä sentierenden Codeelementabschnitten (10) jeweils ein Referenz- Codeelement (12) ermittelt wird, wobei jeweils die aufgrund des für eine einer Abtastlinie (5) zugeordneten Abtastebene ermittelten Kippwinkels vorhandene Verschiebung (x) der Codeelementab schnitte (10) in Abtastrichtung ermittelt und beim Bilden der Refe renz-Codeelemente (12) berücksichtigt wird.
daß aus für unterschiedliche Abtastlinien (5) erfaßten, einander zu geordneten, jeweils dasselbe Codeelement (8) des Strichcodes reprä sentierenden Codeelementabschnitten (10) jeweils ein Referenz- Codeelement (12) ermittelt wird, wobei jeweils die aufgrund des für eine einer Abtastlinie (5) zugeordneten Abtastebene ermittelten Kippwinkels vorhandene Verschiebung (x) der Codeelementab schnitte (10) in Abtastrichtung ermittelt und beim Bilden der Refe renz-Codeelemente (12) berücksichtigt wird.
4. Verfahren nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet,
daß in einer Lernphase ein vorgegebener Einlern-Strichcode (13) oder ein vorgegebenes Rastermuster in einer schräg zu den Codee lementen (8) verlaufenden Abtastrichtung mehrfach abgetastet wird und die Kippwinkel der unterschiedlichen Abtastebenen gespeichert werden und
daß im Betrieb beim Dekodieren des Strichcodes (7) die gespeicher ten Kippwinkel zur Kompensation der Rasterfehler verwendet wer den.
daß in einer Lernphase ein vorgegebener Einlern-Strichcode (13) oder ein vorgegebenes Rastermuster in einer schräg zu den Codee lementen (8) verlaufenden Abtastrichtung mehrfach abgetastet wird und die Kippwinkel der unterschiedlichen Abtastebenen gespeichert werden und
daß im Betrieb beim Dekodieren des Strichcodes (7) die gespeicher ten Kippwinkel zur Kompensation der Rasterfehler verwendet wer den.
5. Verfahren nach einem der Ansprüche 3 oder 4,
dadurch gekennzeichnet,
daß die Kippwinkel jeweils aus der Verschiebung in Abtastrichtung
von benachbart angeordneten, einander zugeordneten Codeelemen
tabschnitten, aus dem Tiltwinkel (α) zwischen der Abtastrichtung
und der Senkrechten zur Strichorientierung des Strichcodes (7) und
aus dem Abtastabstand zwischen dem die Abtaststrahlen (2) aus
sendenden Strichcodeleser (1) und dem Strichcode (7) bestimmt
werden.
6. Verfahren nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet,
daß die Abstände zwischen verschiedenen Abtastlinien (5) ermittelt werden und
daß die Kippwinkel jeweils aus den ermittelten Abständen sowie aus dem Abtastabstand zwischen dem die Abtaststrahlen (2) aussen denden Strichcodeleser (1) und dem Strichcode (7) bestimmt wer den.
daß die Abstände zwischen verschiedenen Abtastlinien (5) ermittelt werden und
daß die Kippwinkel jeweils aus den ermittelten Abständen sowie aus dem Abtastabstand zwischen dem die Abtaststrahlen (2) aussen denden Strichcodeleser (1) und dem Strichcode (7) bestimmt wer den.
7. Verfahren nach Anspruch 6,
dadurch gekennzeichnet,
daß die Abstände zwischen benachbarten Abtastlinien (5) ermittelt
werden.
8. Verfahren nach Anspruch 6 oder 7,
dadurch gekennzeichnet,
daß die Abstände zwischen den Abtastlinien (5) durch ein Sensor
element (14) ermittelt werden.
9. Verfahren nach einem der Ansprüche 6 bis 8,
dadurch gekennzeichnet,
daß als Sensorelement (14) ein senkrecht zur Abtastrichtung ange
ordneter Zeilensensor verwendet wird.
10. Verfahren nach Anspruch 9,
dadurch gekennzeichnet,
daß als Zeilensensor eine CCD-Zeile oder ein posititonsempfindli
cher Detektor verwendet wird.
11. Verfahren nach einem der Ansprüche 6 bis 10,
dadurch gekennzeichnet,
daß zur Kompensation sowohl systematischer als auch stochasti
scher Rasterfehler die Erfassung des Abstandes zwischen den Ab
tastlinien (5) während des laufenden Abtastbetriebs erfolgt.
12. Verfahren nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet,
daß zur Erhöhung der Empfindlichkeit eine Strahlfaltung durchge
führt wird.
13. Verfahren zum Lesen eines aus einer vorgegebenen Anzahl von
Codeelementen (8, 8', 8", 15-21) bestehenden Strichcodes zur Er
zeugung eines binären Signals mit aufeinanderfolgenden High-Low-
Phasen, deren Längen den Breiten der aufeinanderfolgenden Code
elemente (8, 8', 8", 15-21) entsprechen,
dadurch gekennzeichnet,
daß die Codeelemente (8, 8', 8", 15-21) durch einen Abtaststrahl (2) oder durch mehrere Abtaststrahlen eines Strichcodelesers (1) ent lang einer Abtastlinie (5) oder im wesentlichen parallel zueinander verlaufender Abtastlinien (5) abgetastet werden, wobei jedes Über streichen des Strichcodes (7) durch einen Abtaststrahl (2) eine Abta stung definiert,
daß für die erfaßten Codeelemente (8, 8', 8", 15-21) jeweils die Posi tion innerhalb der Abtastlinie (5) und die Breite in Abtastrichtung normiert werden und
daß zum Dekodieren des Strichcodes (7) die normierten Positionen (Pnorm) und Breiten (Bnorm) der erfaßten Codeelemente (8, 8', 8", 15- 21) verwendet werden.
daß die Codeelemente (8, 8', 8", 15-21) durch einen Abtaststrahl (2) oder durch mehrere Abtaststrahlen eines Strichcodelesers (1) ent lang einer Abtastlinie (5) oder im wesentlichen parallel zueinander verlaufender Abtastlinien (5) abgetastet werden, wobei jedes Über streichen des Strichcodes (7) durch einen Abtaststrahl (2) eine Abta stung definiert,
daß für die erfaßten Codeelemente (8, 8', 8", 15-21) jeweils die Posi tion innerhalb der Abtastlinie (5) und die Breite in Abtastrichtung normiert werden und
daß zum Dekodieren des Strichcodes (7) die normierten Positionen (Pnorm) und Breiten (Bnorm) der erfaßten Codeelemente (8, 8', 8", 15- 21) verwendet werden.
14. Verfahren nach Anspruch 13,
dadurch gekennzeichnet,
daß jeweils die aktuelle Dauer (Takt) der aktuellen Abtastung be stimmt wird,
daß jeweils die aktuellen Positionen (Pakt) und die aktuellen Breiten (Bakt) der erfaßten Codeelemente (8, 8', 8") bestimmt werden und
daß die normierte Position (Pnorm) eines erfaßten Codeelements (8, 8', 8") gemäß der Formel
Pnorm = Pakt.Tnom/Takt
ermittelt wird, wobei für Tnom eine vorgegebene nominale Dauer ei ner Abtastung verwendet wird.
daß jeweils die aktuelle Dauer (Takt) der aktuellen Abtastung be stimmt wird,
daß jeweils die aktuellen Positionen (Pakt) und die aktuellen Breiten (Bakt) der erfaßten Codeelemente (8, 8', 8") bestimmt werden und
daß die normierte Position (Pnorm) eines erfaßten Codeelements (8, 8', 8") gemäß der Formel
Pnorm = Pakt.Tnom/Takt
ermittelt wird, wobei für Tnom eine vorgegebene nominale Dauer ei ner Abtastung verwendet wird.
15. Verfahren nach Anspruch 13 oder 14,
dadurch gekennzeichnet,
daß gleichzeitig mit der Abtastung eines Strichcodes (7) der Abtast strahl (2) zusätzlich entlang einer Referenzabtastlinie über ein Refe renzraster (31) geführt wird,
daß die aktuelle Position (Pakt) eines erfaßten Codeelements (15) be stimmt wird,
daß die aktuellen Positionen (Pref/akt(m - 1)) und (Pref/akt(m)) des m - 1- ten Elements (24) und des m-ten Elements (25) des Referenzrasters (31) bestimmt werden, wobei als m - 1-tes Element (24) das unmittel bar vor Erfassen des Codeelements (15) abgetastete Element des Referenzrasters (31) und als m-tes Element (25) das darauffolgende Element des Referenzrasters (31) verwendet werden, und
daß die normierte Position (Pnorm) des erfaßten Codeelements (15) gemäß der Formel
ermittelt wird, wobei für Bref/nom eine vorgegebene nominale Breite der Elemente (22-30) des Referenzrasters (31) verwendet wird.
daß gleichzeitig mit der Abtastung eines Strichcodes (7) der Abtast strahl (2) zusätzlich entlang einer Referenzabtastlinie über ein Refe renzraster (31) geführt wird,
daß die aktuelle Position (Pakt) eines erfaßten Codeelements (15) be stimmt wird,
daß die aktuellen Positionen (Pref/akt(m - 1)) und (Pref/akt(m)) des m - 1- ten Elements (24) und des m-ten Elements (25) des Referenzrasters (31) bestimmt werden, wobei als m - 1-tes Element (24) das unmittel bar vor Erfassen des Codeelements (15) abgetastete Element des Referenzrasters (31) und als m-tes Element (25) das darauffolgende Element des Referenzrasters (31) verwendet werden, und
daß die normierte Position (Pnorm) des erfaßten Codeelements (15) gemäß der Formel
ermittelt wird, wobei für Bref/nom eine vorgegebene nominale Breite der Elemente (22-30) des Referenzrasters (31) verwendet wird.
16. Verfahren nach Anspruch 15,
dadurch gekennzeichnet,
daß der Abtaststrahl (2) über einen Strahlteiler geführt wird.
17. Verfahren nach Anspruch 15 oder 16,
dadurch gekennzeichnet,
daß der Strahlteiler ein halbdurchlässiger Spiegel ist.
18. Verfahren nach einem der Ansprüche 13 bis 17,
dadurch gekennzeichnet,
daß für im wesentlichen jedes erfaßte Codeelement (15-21) des
Strichcodes (7) die normierte Position (Pnorm) ermittelt wird.
19. Verfahren nach einem der Ansprüche 13 bis 18,
dadurch gekennzeichnet,
daß die normierte Breite (Bnorm(n - 1)) eines erfaßten Codeelements (8', 15) gemäß der Formel
Bnorm(n - 1) = Pnorm(n) - Pnorm(n - 1)
ermittelt wird, wobei Pnorm(n - 1) die normierte Position des erfaßten Codeelements (8', 15) und Pnorm(n) die normierte Position des sich daran anschließenden Codeelements (8, 16) darstellen.
daß die normierte Breite (Bnorm(n - 1)) eines erfaßten Codeelements (8', 15) gemäß der Formel
Bnorm(n - 1) = Pnorm(n) - Pnorm(n - 1)
ermittelt wird, wobei Pnorm(n - 1) die normierte Position des erfaßten Codeelements (8', 15) und Pnorm(n) die normierte Position des sich daran anschließenden Codeelements (8, 16) darstellen.
20. Verfahren nach einem der Ansprüche 13 bis 19,
dadurch gekennzeichnet,
daß jeder entlang einer Abtastlinie (5) abgetastete Bereich (9) eines Codeelements (8) einen Codeelementabschnitt (10) bildet,
daß die normierten Positionen (Pnorm) und Breiten (Bnorm) der Codee lementabschnitte (10) bestimmt werden und
daß aus für unterschiedliche Abtastlinien (5) erfaßten, einander zu geordneten, jeweils dasselbe Codeelement (8) des Strichcodes (7) re präsentierenden Codeelementabschnitten (10) unter Berücksichti gung ihrer normierten Positionen (Pnorm) und Breiten (Bnorm) jeweils ein Referenz-Codeelement (12) ermittelt wird.
daß jeder entlang einer Abtastlinie (5) abgetastete Bereich (9) eines Codeelements (8) einen Codeelementabschnitt (10) bildet,
daß die normierten Positionen (Pnorm) und Breiten (Bnorm) der Codee lementabschnitte (10) bestimmt werden und
daß aus für unterschiedliche Abtastlinien (5) erfaßten, einander zu geordneten, jeweils dasselbe Codeelement (8) des Strichcodes (7) re präsentierenden Codeelementabschnitten (10) unter Berücksichti gung ihrer normierten Positionen (Pnorm) und Breiten (Bnorm) jeweils ein Referenz-Codeelement (12) ermittelt wird.
21. Vorrichtung zum Lesen eines aus einer vorgegebenen Anzahl von
Codeelementen (8) bestehenden Strichcodes (7) zur Erzeugung eines
binären Signals mit aufeinanderfolgenden High-Low-Phasen, deren
Längen den Breiten der aufeinanderfolgenden Codeelemente (8) ent
sprechen, insbesondere bei schräg zu den Codeelementen (8) ver
laufender Leserichtung, geeignet zur Durchführung des Verfahrens
nach einem der vorhergehenden Ansprüche,
gekennzeichnet durch,
einen einen Abtaststrahl (2) oder mehrere Abtaststrahlen aussen denden Strichcodeleser (1) zur Abtastung der Codeelemente (8) ent lang im wesentlichen parallel zueinander verlaufender Abtastlinien (5), wobei das Überstreichen des Strichcodes (7) durch einen Abtast strahl (2) eine Abtastung und jeder Abtaststrahl (2) beim Überstrei chen des Strichcodes (7) eine Abtastebene definiert,
eine Einrichtung zur Bestimmung des Kippwinkels zwischen der je weiligen Abtastebene und einer vorgegebenen Referenzebene für im wesentlichen jede Abtastung und
eine Rasterfehler-Kompensationseinrichtung zum Kompensieren von Rasterfehlern in Form von ungleichmäßigen Abständen zwischen benachbarten Abtastlinien (5) beim Dekodieren des Strichcodes (7) unter Berücksichtigung der ermittelten Kippwinkel.
einen einen Abtaststrahl (2) oder mehrere Abtaststrahlen aussen denden Strichcodeleser (1) zur Abtastung der Codeelemente (8) ent lang im wesentlichen parallel zueinander verlaufender Abtastlinien (5), wobei das Überstreichen des Strichcodes (7) durch einen Abtast strahl (2) eine Abtastung und jeder Abtaststrahl (2) beim Überstrei chen des Strichcodes (7) eine Abtastebene definiert,
eine Einrichtung zur Bestimmung des Kippwinkels zwischen der je weiligen Abtastebene und einer vorgegebenen Referenzebene für im wesentlichen jede Abtastung und
eine Rasterfehler-Kompensationseinrichtung zum Kompensieren von Rasterfehlern in Form von ungleichmäßigen Abständen zwischen benachbarten Abtastlinien (5) beim Dekodieren des Strichcodes (7) unter Berücksichtigung der ermittelten Kippwinkel.
22. Vorrichtung nach Anspruch 21,
dadurch gekennzeichnet,
daß ein Sensorelement (14) zur Ermittlung der Abstände zwischen
verschiedenen Abtastlinien (5) vorgesehen ist.
23. Vorrichtung nach Anspruch 22,
dadurch gekennzeichnet,
daß das Sensorelement (14) zur Ermittlung der Abstände zwischen
benachbarten Abtastlinien (5) ausgebildet ist.
24. Vorrichtung nach Anspruch 22 oder 23,
dadurch gekennzeichnet,
daß das Sensorelement (14) als Zeilensensor ausgebildet ist.
25. Vorrichtung nach Anspruch 24,
dadurch gekennzeichnet,
daß der Zeilensensor senkrecht zur Abtastrichtung angeordnet ist.
26. Vorrichtung nach einem der Ansprüche 22 bis 25,
dadurch gekennzeichnet,
daß das Sensorelement (14) als CCD-Zeile oder als positionsemp
findlicher Detektor ausgebildet ist.
27. Vorrichtung zum Lesen eines aus einer vorgegebenen Anzahl von
Codeelementen (8, 8', 8", 15-21) bestehenden Strichcodes (7) zur Er
zeugung eines binären Signals mit aufeinanderfolgenden High-Low-
Phasen, deren Längen den Breiten der aufeinanderfolgenden Code
elemente (8, 8', 8", 15-21) entsprechen, insbesondere bei schräg zu
den Codeelementen (8, 8', 8", 15-21) verlaufender Leserichtung, ge
eignet zur Durchführung des Verfahrens nach einem der Ansprüche
1 bis 20,
gekennzeichnet durch,
einen einen Abtaststrahl (2) oder mehrere Abtaststrahlen aussen denden Strichcodeleser (1) zur Abtastung der Codeelemente (8, 8', 8", 15-21) entlang einer Abtastlinie (5) oder im wesentlichen parallel zueinander verlaufender Abtastlinien, wobei das Überstreichen des Strichcodes durch einen Abtaststrahl (2) eine Abtastung definiert,
eine Normiereinrichtung zur Normierung der erfaßten Codeelemente (8, 8', 8", 15-21) bezüglich ihrer Position innerhalb der Abtastlinie (5) sowie ihrer Breite in Abtastrichtung, und
eine Dekodiereinrichtung zum Dekodieren des Strichcodes (7) an hand der normierten Positionen (Pnorm) und Breiten (Bnorm) der er faßten Codeelemente (8, 8', 8", 15-21).
einen einen Abtaststrahl (2) oder mehrere Abtaststrahlen aussen denden Strichcodeleser (1) zur Abtastung der Codeelemente (8, 8', 8", 15-21) entlang einer Abtastlinie (5) oder im wesentlichen parallel zueinander verlaufender Abtastlinien, wobei das Überstreichen des Strichcodes durch einen Abtaststrahl (2) eine Abtastung definiert,
eine Normiereinrichtung zur Normierung der erfaßten Codeelemente (8, 8', 8", 15-21) bezüglich ihrer Position innerhalb der Abtastlinie (5) sowie ihrer Breite in Abtastrichtung, und
eine Dekodiereinrichtung zum Dekodieren des Strichcodes (7) an hand der normierten Positionen (Pnorm) und Breiten (Bnorm) der er faßten Codeelemente (8, 8', 8", 15-21).
28. Vorrichtung nach Anspruch 27,
dadurch gekennzeichnet,
daß ein Strahlteiler vorgesehen ist, durch den der Abtaststrahl (2)
zusätzlich entlang einer Referenzabtastlinie über ein Referenzraster
(31) führbar ist.
29. Vorrichtung nach Anspruch 28,
dadurch gekennzeichnet,
daß als Strahlteiler ein halbdurchlässiger Spiegel vorgesehen ist.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19716886A DE19716886C2 (de) | 1997-04-22 | 1997-04-22 | Verfahren und Vorrichtung zum Lesen eines Strichcodes |
US09/064,022 US6145745A (en) | 1997-04-22 | 1998-04-21 | Method and apparatus for the reading of a bar code |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19716886A DE19716886C2 (de) | 1997-04-22 | 1997-04-22 | Verfahren und Vorrichtung zum Lesen eines Strichcodes |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19716886A1 DE19716886A1 (de) | 1998-10-29 |
DE19716886C2 true DE19716886C2 (de) | 2001-02-01 |
Family
ID=7827328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19716886A Expired - Lifetime DE19716886C2 (de) | 1997-04-22 | 1997-04-22 | Verfahren und Vorrichtung zum Lesen eines Strichcodes |
Country Status (2)
Country | Link |
---|---|
US (1) | US6145745A (de) |
DE (1) | DE19716886C2 (de) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6454168B1 (en) | 1998-09-14 | 2002-09-24 | Psc Scanning, Inc. | Correlation and stitching techniques in a bar code scanning system |
US6585157B2 (en) | 1998-09-14 | 2003-07-01 | Psc Scanning, Inc. | Symbology determination to aid decoding in a bar code scanning system |
US6494376B1 (en) * | 1998-09-14 | 2002-12-17 | Psc Scanning, Inc. | Compensation for scan line variations in a bar code scanner system |
US6513714B1 (en) | 1998-09-14 | 2003-02-04 | Psc Scanning, Inc. | Character reconstruction and element level processing in bar code scanning system |
US6267293B1 (en) * | 1999-02-22 | 2001-07-31 | Cimatrix | Bar code scanning system and method |
US6672510B2 (en) | 2001-12-20 | 2004-01-06 | Scannabar (3193519 Canada Inc.) | Bar code arrangement for identifying positions along an axis |
JP3516144B1 (ja) * | 2002-06-18 | 2004-04-05 | オムロン株式会社 | 光学情報コードの読取方法および光学情報コード読取装置 |
US20040112963A1 (en) * | 2002-12-16 | 2004-06-17 | Ncr Corporation | Bar code scanner |
US9213875B1 (en) * | 2006-07-18 | 2015-12-15 | Cognex Corporation | System and method for automatically modeling symbology data in a symbology reader |
US8668149B2 (en) * | 2009-09-16 | 2014-03-11 | Metrologic Instruments, Inc. | Bar code reader terminal and methods for operating the same having misread detection apparatus |
US20120223141A1 (en) * | 2011-03-01 | 2012-09-06 | Metrologic Instruments, Inc. | Digital linear imaging system employing pixel processing techniques to composite single-column linear images on a 2d image detection array |
CN113551578B (zh) * | 2021-08-01 | 2023-07-07 | 李里 | 条形位移码、条形位移码尺和位移检测装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5126544A (en) * | 1990-05-02 | 1992-06-30 | Eastman Kodak Company | Bar code reader |
US5296691A (en) * | 1992-09-14 | 1994-03-22 | Lazerdata Corporation | Scanning device for reconstructing a complete code from scanned segments |
US5428211A (en) * | 1994-05-02 | 1995-06-27 | United Parcel Service Of America Inc. | Postnet bar code decoder |
DE19534009A1 (de) * | 1995-09-14 | 1997-03-20 | Commodas Gmbh | Vorrichtung zum Lesen von sehr schnell an der Lesevorrichtung vorbeibewegten Barcodes |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3101827C2 (de) * | 1980-01-21 | 1983-10-20 | Sharp K.K., Osaka | Optisches Strichcode-Lesegerät |
US4308455A (en) * | 1980-06-26 | 1981-12-29 | E. I. Du Pont De Nemours And Company | Method for decoding bar-coded labels |
EP0310921B1 (de) * | 1987-09-28 | 1996-01-10 | Sumitomo Electric Industries Limited | Kombinieren von gelesenen Strichcode-Daten |
US4866893A (en) * | 1988-04-07 | 1989-09-19 | Rapid Deployment Towers, Inc. | Extensible mast |
FR2631476B1 (fr) * | 1988-05-10 | 1992-01-03 | Bertin & Cie | Procede et dispositif de lecture d'un code barres sur un support sensiblement immobile |
US5028772A (en) * | 1988-08-26 | 1991-07-02 | Accu-Sort Systems, Inc. | Scanner to combine partial fragments of a complete code |
US5124538B1 (en) * | 1988-08-26 | 1995-01-31 | Accu Sort Systems Inc | Scanner |
US5319181A (en) * | 1992-03-16 | 1994-06-07 | Symbol Technologies, Inc. | Method and apparatus for decoding two-dimensional bar code using CCD/CMD camera |
US5155343A (en) * | 1990-03-28 | 1992-10-13 | Chandler Donald G | Omnidirectional bar code reader with method and apparatus for detecting and scanning a bar code symbol |
JPH0464187A (ja) * | 1990-07-02 | 1992-02-28 | Sumitomo Electric Ind Ltd | バーコード読取装置 |
US5262625A (en) * | 1991-11-15 | 1993-11-16 | Ncr Corporation | Multiple bar code decoding system and method |
US5329105A (en) * | 1992-08-10 | 1994-07-12 | United Parcel Service Of America, Inc. | Method and apparatus for determining the width of elements of bar code symbols |
US5343028A (en) * | 1992-08-10 | 1994-08-30 | United Parcel Service Of America, Inc. | Method and apparatus for detecting and decoding bar code symbols using two-dimensional digital pixel images |
US5422470A (en) * | 1992-08-31 | 1995-06-06 | Olympus Optical Co., Ltd. | Symbol information reading apparatus |
US5304787A (en) * | 1993-06-01 | 1994-04-19 | Metamedia Corporation | Locating 2-D bar codes |
US5912452A (en) * | 1997-02-06 | 1999-06-15 | Intermec Corporation | Method and apparatus for reading one-and two-dimensional symbols with a linear detector |
-
1997
- 1997-04-22 DE DE19716886A patent/DE19716886C2/de not_active Expired - Lifetime
-
1998
- 1998-04-21 US US09/064,022 patent/US6145745A/en not_active Expired - Lifetime
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5126544A (en) * | 1990-05-02 | 1992-06-30 | Eastman Kodak Company | Bar code reader |
US5296691A (en) * | 1992-09-14 | 1994-03-22 | Lazerdata Corporation | Scanning device for reconstructing a complete code from scanned segments |
US5428211A (en) * | 1994-05-02 | 1995-06-27 | United Parcel Service Of America Inc. | Postnet bar code decoder |
DE19534009A1 (de) * | 1995-09-14 | 1997-03-20 | Commodas Gmbh | Vorrichtung zum Lesen von sehr schnell an der Lesevorrichtung vorbeibewegten Barcodes |
Also Published As
Publication number | Publication date |
---|---|
US6145745A (en) | 2000-11-14 |
DE19716886A1 (de) | 1998-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19716886C2 (de) | Verfahren und Vorrichtung zum Lesen eines Strichcodes | |
EP0896290B1 (de) | Verfahren und Vorrichtung zum Lesen eines aus einer vorgegebenen Anzahl von Codeelementen bestehenden Strichcodes | |
DE2729114C2 (de) | Verfahren und Vorrichtung zur Reproduktion von Bild- und Textmaterial | |
DE69124996T2 (de) | Strichcodeleser mit grosser tiefenschärfe | |
DE4436784B4 (de) | Absolutes Positionsmeßsystem | |
DE2363455A1 (de) | Vorrichtung zur synchronisierung eines optischen abtasters | |
DE3853649T2 (de) | Vorrichtung zum Abtasten mit Lichtstrahlen. | |
DE2439913A1 (de) | Vorrichtung zum lesen kodierter informationen | |
EP0115573B1 (de) | Verfahren und Vorrichtung zur automatischen Erkennung von Fehlern in Geweben und ähnlichen textilen Flächengebilden | |
DE3822143A1 (de) | Verschiebungssensor mit optischer abtastung | |
DE4208082C1 (en) | Reading bar=code on edge of photographic film - ascertaining code start and end and thus length by relative speed between film and sensor arrangement | |
DE2428123A1 (de) | Anordnung zum nachweisen von fehlstellen mittels abtastung durch einen laserstrahl | |
DE3879015T2 (de) | Verfahren und vorrichtung zur ueberfruefung von lochmaskenplatten. | |
DE69306737T2 (de) | Verfahren und Vorrichtung zur Bildausrichtung | |
DE102017002683B4 (de) | Photoelektrische Codiervorrichtung | |
DE2338561A1 (de) | Verfahren und vorrichtung zum identifizieren von objekten | |
DE102016113149A1 (de) | Aufnahme von Entfernungsprofilen | |
DE19711873C2 (de) | Verfahren und Vorrichtung zum Lesen eines Strichcodes | |
DE3328215A1 (de) | Verfahren zur korrektur der bildverzerrung bei bildern, die mittels eines bildwiedergabesystems reproduziert werden | |
DE3306367A1 (de) | Verfahren und anordnung zum bestimmen der fokussierung eines elektronenstrahls | |
EP0121658A1 (de) | Messeinrichtung | |
DE69812490T2 (de) | Korrektur der fehlerhaften Ausrichting eines Abtastkopfes | |
DE10207538A1 (de) | Optoelektronischer Codeleser | |
DE69716393T3 (de) | Vorrichtung zum Abtasten eines sich auf einem bewegenden Artikel befindlichen optischen Kodes und Verfahren zum Abtasten eines solchen optischen Kodes mittels dieser Abtastvorrichtung | |
DE10312535A1 (de) | Verfahren und Vorrichtung zum geometrischen Vermessen eines Materialbandes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OM8 | Search report available as to paragraph 43 lit. 1 sentence 1 patent law | ||
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
R071 | Expiry of right |