-
HINTERGRUND
DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft einen Strichkodeleser gemäß dem Oberbegriff
von Anspruch 1 und insbesondere einen Strichkodedatenfolgesynthese-Strichkodeleser
zum Lesen eines Strichkodes durch Synthetisieren von Fragmentpulsbreite-Datenfolgen,
die durch fragmentarisches Scannen des Strichkodes erhalten werden.
-
In
einem Strichkodedatenfolgensynthese-Strichkodeleser des Standes
der Technik werden eine Fragmentpulsbreite-Datenfolge, die durch
einmaliges Strichkodescannen erhalten wird, und eine, die durch
das nächste
Scannen erhalten wird, d.h. zwei aufeinanderfolgende Fragmentpulsbreite-Datenfolgen
miteinander verglichen, und ein Zustand, in dem die beiden Datenfolgen
am ehesten identisch sind, d.h. ein Zustand des maximalen Identitätsgrades,
wird durch Verschieben der Datenfolgen relativ zueinander für jedes
Scannen bestimmt. Dieser Zustand wird als Synthesezustand verwendet,
in dem die beiden Datenfolgen kombiniert werden. Mit folgenden Scanzeiten
wird die sich ergebende Datenfolge fortlaufend erweitert, und schließlich wird
eine vollständige
Strichkodedatenfolge erhalten, die den gesamten Strichkode enthält.
-
Solche
Strichkodeleser sind zum Beispiel in der japanischen Patentveröffentlichung
Nr. 59-9946 B (JP
53-58727 A), der offengelegten japanischen Patentveröffentlichung
Nr. 64-86283, der offengelegten japanischen Patentveröffentlichung
Nr. 64-86284, der offengelegten japanischen Patentveröffentlichung
Nr. 2-170290 und der offenlegten japanischen Patentveröffentlichung
4-15774 offenbart.
-
In
dem in 4 gezeigten Strichkodedatenfolgesynthese-Strichkodeleser
des Standes der Technik wird eine Fragmentpulsbreite-Datenfolge, die
als Ergebnis eines einmaligen Strichkodescannens erhalten wird,
und eine, die als Ergebnis des nächsten
Scannens erhalten wird, in einem Datenverschieber 43 gespeichert.
Eine Vergleichseinrichtung 44 führt durch Vergleichen dieser
Fragmentpulsbreite-Datenfolgen eine Identitätsgradbestimmung aus. Dieser
Vergleichsprozess wird durch Verschieben jedes Datums ausgeführt, um
den Verschiebungszustand zu bestimmen, der den Zustand des maximalen
Identitätsgrads
angibt, d.h. den Synthesezustand. Ein Synthetisierer 45 kombiniert
die beiden Fragmentpulsbreite- Datenfolgen
im Zustand des maximalen Identitätsgrads,
und mit folgenden Scanzeiten werden die Fragmentpulsbreitedaten
fortlaufend erweitert, um eine vollständige Strichkodedatenfolge
zu erhalten, die den gesamten Strichkode enthält.
-
Die
Arbeitsweise wird nun mit Bezug auf 5 beschrieben.
Als Ergebnis des Vergleichs einer N-ten und einer (N+1)-ten Scanfragmentpulsbreitendatenfolge
DN und DN+1 wird
der Identitätsgrad
A erhalten. Als Ergebnis des Vergleichs der Datenfolge DN+1 und einer Datenfolge DN+1(1),
die durch Verschieben der Datenfolge DN+1 um
einen Betrag, der einem Strichkode entspricht, erhalten wird, wird
der Identitätsgrad
B erhalten. Als Ergebnis des Vergleichs der Datenfolge DN+1 und einer Datenfolge DN+1(2),
die durch Verschieben der Datenfolge DN+1 um
einen Betrag, der zwei Strichkodes entspricht, erhalten wird, wird
der Identitätsgrad
C erhalten. In dem Vergleich werden zwei vertikal ausgerichtete
binäre Datenstücke von
entweder "0" oder "1 ", wie in der Figur
gezeigt, verglichen. Der Identitätsgrad
wird durch die Anzahl der identischen binären Datenstückpaare wiedergegeben. Die
binären
Datenstücke
von "0" oder "1" in jeder Fragmentpulsbreite-Datenfolge
sind tatsächliche
Pulsbreitedaten, die jeweils einen dünnen oder einen dicken Strich
wiedergeben, die einen Strichkode bilden. Genau gesagt gibt das
binäre
Datenstück
von "0" einen dünnen Strich
wieder, und das binäre
Datenstück
von "1" gibt einen dicken
Strich wieder.
-
Der
Wert des Identitätsgrads
A, der ohne jegliche Datenverschiebung erhalten wird, beträgt 4; der Identitätsgrad B,
der als Ergebnis einer Ein-Datenstückverschiebung erhalten wird,
ist 9; der Identitätsgrad
C, der als Ergebnis einer Zwei-Datenstückverschiebung erhalten wird,
ist 2. In diesem Fall wird der maximale Identitätsgrad mit Ein-Datenstückverschiebung
erhalten. Daher wird die Synthese in einem Ein-Datenstückverschiebungszustand
einer der verwendeten Datenfolgen durchgeführt. Das heißt, dass die
N-te Scanfragmentpulsbreite-Datenfolge DN und die
Datenfolge DN+1(1), die als Ergebnis der
Ein-Datenstückverschiebung
der (N+1)-ten Scanfragmentpulsbreite-Datenfolge
DN+1 erhalten wird, für die Synthese verwendet werden.
Die Überlappung
der (N+1)-ten Scanfragmentpulsbreite-Datenfolge mit der des N-ten
Scannens führt
zu einer Erweiterung der letzteren um ein Datenstück. Aufeinanderfolgende
Fragmentpulsbreite-Datenfolgen werden eine nach der anderen kombiniert,
was zu einer fortlaufenden Datenfolgenerweiterung führt, und
auf diese Weise wird eine vollständige
Strichkodepulsbreite-Datenfolge erhalten, die den gesamten Strichkode enthält.
-
Im
obigen Strichkodedatenfolgesynthese-Strichkodeleser des Standes
der Technik wird der Zustand des maximalen Identitätsgrades,
d.h. der Synthesezustand, in dem die Fragmentpulsbreite-Datenfolgen
kombiniert werden, durch Vergleich und Verschiebung davon auf Basis
der Pulsbreitedatenstücke
in den Datenfolgen bestimmt.
-
Mit
Fragmentpulsbreitedaten, die durch Scannen eines Strichkodes erhalten
werden, der eine Folge der gleichen Zahlen oder Zeichen enthält, weist
eine Fragmentpulsbreite-Datenfolge, die erhalten wird, wegen des
Scannens des gleichen Musters aus schwarzen und weißen Strichen,
die die gleiche Zahl oder das gleiche Zeichen wiedergeben, eine Folge
der gleichen Muster auf. In diesem Fall wird beim Strichkodedatefolgensynthese-Strichkodeleser des
Standes der Technik der maximale Identitätsgrad erhöht, indem die Anzahl der Verschiebungen
erhöht wird,
weil der Synthesezustand erhalten wird oder die vollständige Überlappung
durch Verschieben des Wiederauftrittzyklusabschnitts der Pulsbreitedaten erhalten
wird, d.h. ein Abschnitt, der einer Zahl oder einem Zeichen auf
der Strichkodemarkierung entspricht. Daher war es schwierig, einen
korrekten Synthesezustand zu erhalten. Das heißt, dass es bei einem Strichkode,
der eine Anzahl von ähnlichen
Abschnitten enthält,
schwierig ist, einen korrekten Synthesezustand und ein genaues Lesen
des Strichkodes zu erhalten.
-
Im
Fall des Scannens einer Strichkodemarkierung mit einem geringen
Höhenniveau
wird die erhaltene Anzahl von Datenstücken in jeder Fragmentpulsbreite-Datenfolge
verringert, und folglich wird der Identitätsgrad verringert. Das bedeutet,
dass der reguläre
Synthesezustand nicht wesentlich unterschiedlich von den anderen
Zuständen
ist, wodurch es schwierig wird, einen korrekten Synthesezustand zu
erhalten.
-
US 5 387 787 offenbart einen
Strichkodeleser gemäß dem Oberbegriff
von Anspruch 1.
US 5 241 164 offenbart
einen weiteren Strichkodeleser.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Es
ist die Aufgabe der Erfindung, einen Strichkodeleser bereitzustellen,
der das obige Problem lösen
kann und es ermöglicht,
einen korrekten Synthesezustand zu erhalten, wodurch eine verbesserte
Leseleistung realisiert wird.
-
Die
Erfindung löst
diese Aufgabe mit den Merkmalen des Anspruchs 1.
-
Andere
Aufgaben und Merkmale werden durch die nachfolgende Beschreibung
mit Bezug auf die beigefügten
Zeichnungen klargestellt.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein Blockdiagramm, das die Ausführungsform
der Erfindung zeigt;
-
2 ist
eine Zeichnung zum Erläutern
eines Scanstrahlwinkelzählvorgangs
eines Strichkodelesers in 1;
-
3 ist
eine Zeichnung von Scanfolgen der Strichkodemarkierungen in der
Ausführungsform;
-
4 ist
ein Blockdiagramm des Strichkodelesers des Standes der Technik;
und
-
5 ist
eine Zeichnung zum Erläutern
der Arbeitsweise des Strichkodelesers des Standes der Technik.
-
BEVORZUGTE
AUSFÜHRUNGSFORMEN
DER ERFINDUNG
-
Ausführungsformen
der vorliegenden Erfindung werden nun mit Bezug auf die Zeichnungen
beschrieben. Mit Bezug auf 1 umfasst
der dargestellte Strichkodeleser eine Scaneinheit 1 zum
fragmentarischen Scannen eines Strichkodes mit einem Scanstrahl,
der von einem Scanfenster auf die Strichkodemarkierung projiziert
wird, die auf einem Artikel vorgesehen ist, der auf einem Förderer oder
dergleichen gefördert
wird, eine lichtempfangende Einheit 2 zum Empfangen eines
reflektierten Scanstrahls und Umwandeln des empfangenen Strahls
in ein elektrisches Signal, eine Fragmentpulsbreite-Datenfolgeextraktionseinheit 3 zum
Messen der Pulsbreite des elektrischen Signals und Extrahieren nur
von Impulsbreite-Datenfolgen, die schwarzen und weißen Strichen
entsprechen, die den Strichkode als Fragmentpulsbreite-Datenfolgen ausmachen,
eine Synthetisiereinheit 4 zum Synthetisieren einer vollständigen Strichkodepulsbreite-Datenfolge
aus den Fragmentpulsbreite-Datenfolgen und Ausgeben der synthetisierten
Datenfolge, eine Dekodiereinheit 5 zum Umwandeln der vollständigen Strichkodepulsbreite-Datenfolge,
die von der Synthetisiereinheit 5 ausgegeben wird, in Buchstaben,
Zahlen etc. und eine Ausgabeeinheit 6 zum Ausgeben des
Ergebnisses der Lesung an eine externe Vorrichtung.
-
Die
Scaneinheit 1 umfasst einen Scanner 11 zum Erzeugen
des Scanstrahls, einen Scanzeitenzähler 12 zum Ausgeben
von Scanzeitenzähldaten und
einen Scanstrahlwinkelzähler 13 zum
Ausgeben der Scanstrahlwinkeldaten.
-
Die
Fragmentpulsbreite-Datenfolgenextraktionseinrichtung 3 umfasst
eine Fragmentpulsbreite-Datenfolgenextraktionseinrichtung 31 zum
Extrahieren nur von Fragmentpulsbreite-Datenfolgen, die einem Zustand eines
fragmentarischen Strichkodescannens entsprechen, einen Scananfangsdetektor 32 zum
Erkennen des Scananfangs, einen Scanenddetektor 33 zum
Erkennen des Scanendes, einen Scanzeiten/Strichadresserzeuger 34 zum
Ausgeben der Scanzeitzähldaten
vom Moment des Anfangs bis zum Moment des Endes des Scannens sowie
auch zum Ausgeben von Scanstrahlwinkeldaten, die Anfangspositionen
von schwarzen und weißen
Strichen entsprechen, die einen Strichkode in einer Fragmentpulsbreite-Datenfolge
als Strichadressen der schwarzen und weißen Striche bilden, einen Strichadressänderungsrechner 35 zum
Berechnen von Strichadressänderungen
in einem Scan bei Scananfang und -ende und einen Moduländerungsrechner 36 zum Berechnen
einer Änderung
in einem Scan in der Summe der Modulzahlen der schwarzen und weißen Striche,
die einen auszulesenden Strichkode ausmachen.
-
Die
Synthetisiereinheit 4 umfasst einen Identischstrichrechner 41 zum
Berechnen von Positionen von Strichen, die aus den benachbarten
Scanfragmentpulsbreite-Datenfolgen synthetisiert werden sollen,
und einen Synthetisierer 42 zum Synthetisieren einer Strichkodepulsbreite-Datenfolge
vom Moment des Anfangs bis zum Moment des Endes des Scannens.
-
Wie
in 2 gezeigt, wird der Scanstrahlwinkeldetektor gelöscht, direkt
bevor ein Scanstrahl B von einem Scanfenster W des Strichkodelesers ausgegeben
wird, und beginnt nach Ablauf einer vorbestimmten Zeitdauer hochzuzählen. Die
Scanzeitenzähler 12 ist
ein freilaufender Zähler
und beginnt hochzuzählen,
wenn der Scanstrahlwinkelzähler 13 gelöscht wird.
Der Scanstrahlwinkelzähler 13 ist
ein 16-Bit-Zähler,
und der Scanzeitenzähler 12 ist
ein 8-Bit-Zähler. Die
Zählung
des Scanstrahlwinkelzählers 13 wird
mit zunehmendem Scanwinkel θ des Scanstrahls
B, der vom Scanfenster W ausgegeben wird, wie in 2 gezeigt,
auf "0", "1 ", "2", ... erhöht. Da angenommen wird, dass
der Scanstrahlwinkelzähler 13 ein
16-Bit-Zähler ist,
zählt er
bis "65.535" hoch. Nach Erreichen
der Zählung "65.535" tritt der Scanstrahl
B wieder in das System ein. Der Zähler des Scanzeitenzählers 12,
der als 8-Bit-Zähler angenommen
wird wird auf "0" "1" "2" "3" "255" "0" "1" "2" "3" geändert.
-
Es
wird nun ein Fall betrachtet, in dem ein sich bewegender Strichkode
von der Scaneinheit 1 gescannt wird. Wie in 3 gezeigt,
wird insbesondere angenonmen, dass der Strichkode auf einer Strichkodemarkierung,
die bei einer festen Geschwindigkeit bewegt wird, durch Ausführen des Scannens
entlang festen Scanlinien 50 bis 59 bei einem
Schnittwinkel 72 gescannt wird. Tatsächlich wird der Strichkode
entlang Scanlinien von der Linie 53 zur Linie 57 gescannt,
und die Fragmentpulsbreite-Datenfolgeextraktionseinrichtung 31 extrahiert Fragmentpulsbreite-Datenfolgen,
die schwarzen und weißen
Strichen auf der Strichkodemarkierung entsprechen, während der
Strichkode darauf gescannt wird. Obwohl der Strichkode auch entlang
den Scanlinien 52 und 58 gescannt wird, weisen
die Fragmentpulsbreite-Datenfolgen
davon weniger Datenstücke auf
und sind bezüglich
ihrer Verlässlichkeit
als reguläre
Fragmentpulsbreite-Datenfolgen unzureichend. Daher verwirft die
Fragmentpulsbreite-Datenfolgeextahiereinrichtung 31 diese
Datenfolgen. Genau gesagt wird eine Schwellendatenstückzahl eingestellt, und
Datenfolgen mit geringeren Datenstückzahlen werden verworfen.
-
Daher
entspricht die durch Scannen entlang der Scanlinie 53 erhaltene
Fragmentpulsbreite-Datenfolge
dem Scananfang, und die durch Scannen entlang der Scanlinie 57 erhaltene
entspricht dem Scanende. Wenn der Scananfangsdetektor 32 die Fragmentpulsbreite-Datenfolge der Scanlinie 53 erkennt,
gibt er am Scananfang einen Wert (d.h. 14 in 3) als Scanzeitenzähler 62 aus
und gibt außerdem
einen Scananfang-Schwarzstrichadresswert (d.h. 47) als Scanstrahlwinkelzähler 60 aus,
der einer Scananfang-Schwarzstrichanfangsposition 64 entspricht,
die den Strichkodeanfang in dieser Fragmentpulsbreite-Datenfolge
angibt. Wenn der Scanenddetektor 33 die Fragmentpulsbreitenpulsbreite-Datenfolge
der Scanlinie 57 erkennt, gibt er am Scanende einen Wert
(d.h. 18) als Scanzeitenzähler 63 aus
und gibt außerdem
einen Scanende-Schwarzstrichadresswert (d.h. 39) als Scanstrahlwinkelzähler 60 aus,
der einer Scanendschwarzstrichendposition 67 entspricht,
die ein Strichkodeende in dieser Fragmentpulsbreite-Datenfolge angibt.
-
Der
Scanzeiten-/Strichadresserzeuger 34 gibt eine Scanzeitenzählung 61 von
dem Moment an, wenn der Scananfangsdetektor 32 den Scananfang erkennt,
bis zu dem Moment, wenn der Scanenddetektor 33 das Scanende
erkennt, aus, und außerdem gibt
er Scanstrahlwinkel zählungen 60 aus,
die einer schwarzen und einer weißen Strichanfangsposition 65 und 66 im
Strichkode in der Fragmentpulsbreite-Datenfolge als Strichadressen
entsprechen.
-
Der
Adressänderungsrechner 35 erhält die Differenz
(47 – 39
= 8) zwischen den Scananfangs- und
Scanend-Schwarzstrichadressen 64 (47) und 67 (39)
sowie auch die Differenz (18 – 14
= 4) zwischen den Scananfangs- und -endscanzeitenzählungen 62 (14)
und 63 (18) und gibt den Quotienten der Division der erstgenannten
Differenz durch die letztgenannte Differenz als Strichadressänderung
aus.
-
Der
Moduländerungsrechner 36 erhält zuerst die
Summe der Modulzahlen von dünnen
und dicken Strichen, die den auszulesenden Strichcode bilden. Üblicherweise
sind die Art und Bitzahl des auszulesenden Strichcodes im Strichkodeleser
eingestellt, und der Moduländerungsrechner 35 erhält die Modulzahlsumme
aus diesen Einstellungen. Es wird angenommen, dass die Strichkodeart
ein allgemeiner NW-7-Kode ist, in dem die Bitzahl 2 ist,
das Dickstrich-zu-Dünnstrich-Verhältnis 2,5
und der Spalt zwischen den Zeichen dick ist. Im NW-7-Kode bestehen die
Anfangs- und Endkodes jeweils aus 4 dünnen Strichen und 3 dicken
Strichen, und die Zeichen bestehen jeweils aus 5 dünnen Strichen
und 2 dicken Strichen. Der NW-7-Kode besteht daher aus 18 dünnen Strichen
und 13 dicken Strichen. Was die Modulzahl betrifft, so ist die Modulzahlsumme
1 × 18
+ 2,5 × 13
= 50,5, da der dünne
Strich eine Modulzahl von 1 und der dicke Strich ein Modulzahlverhältnis zum dünnen Strich
von 2,5 aufweist.
-
Der
Moduländerungsrechner 36 gibt
den Quotienten (12,6) der Division (50,5/4) der Modulzahlsumme (50,5)
durch die Differenz (18 – 14
= 4) zwischen den Scananfangs- und -endscanzeitenzählungen 62 (14)
und 63 (18) als Moduländerung
aus.
-
Der
identische Strichrechner 41 in der Synthetisiereinheit 4 empfängt die
Strichadressänderungsausgabe
(2) vom Strichadressänderungsrechner 35 und
die Moduländerungsausgabe
(12,6) vom Moduländerungsrechner 36 und
berechnet identische Striche als Synthesepositionen, die in zwei
benachbarten Scanfragmentpulsbreite-Datenfolgen überlagert werden sollen. Mit
den beiden benachbarten Scanfragmentpulsbreite-Datenfolgen der Scanlinien 53 und 54 erhält der Identischstrichrechner 41 zum
Beispiel zuerst einen schwarzen Strich 68, der um den Moduländerungsbetrag
(12,6) von der Scananfang-Schwarzstrichanfangsposition 64 auf
der Scanlinie 53 beabstandet ist. Der Identischstrichrechner 41 erhält dann
einen Strich, der um den Adressänderungsbetrag
(2) von einer Position 69 der gleichen Adresse als Scananfangs-Schwarzstrichanfangsposition 64 in
der Fragmentpulsbreite-Datenfolge in der Scanlinie 54 beabstandet
ist. Dieser Strich ist mit dem schwarzen Strich 68 in der
Fragmentpulsbreite-Datenfolge der Scanlinie 53, wie sie
aus der Moduländerung
erhalten wurde, identisch. Das bedeutet, dass identische Striche
in zwei benachbarten Scanfragmentpulsbreite-Datenfolgen der Scanlinien 53 und 54 als
Syntheseposition erhalten werden.
-
Mit
den beiden benachbarten Scanfragmentpulsbreite-Datenfolgen der Scanlinien 54 und 55 erhält der identische
Strichrechner 41 zuerst einen Strich, der um den Moduländerungsbetrag
(12,6) von der Position 70 der Scanlinie 54 beabstandet
ist. Der identische Strichrechner 41 erhält dann
einen Strich bei einer Position, die um den Adressänderungsbetrag
(2) von einer Position der gleichen Adresse wie die Position 70 in
der Fragmentpulsbreite-Datenfolge der Scanlinie 54 beabstandet
ist. Dieser Strich ist mit dem Strich in der Fragmentpulsbreite-Datenfolge, wie sie
aus der Moduländerung
erhalten wurde, identisch.
-
Das
ist so, weil, wie aus der gestrichelten Linie 71 in 3 ersichtlich
ist, ein vollständiger
Strichkode zwischen der Scananfang-Schwarzstrichanfangsposition 64 und
der Scanende-Schwarzstrichendposition 67 enthalten
ist und die individuellen Scanlinien die Gesamtmodulzahl, die den
Strichkode darstellt, einheitlich teilen. Die Modulzahl ist unabhängig von
dem Schnittwinkel 72 zwischen den Scanlinien und der Strichkodemarkierung.
Daher ist die identische Strichberechnung bei einem jeglichem Schnittwinkel
außer
bei 90 Grad möglich. Üblicherweise
liegt der Schnittwinkel im Bereich von 0 bis etwa 50 Grad.
-
Die
Synthetisiereinheit 42 empfängt die Ausgabe des Identischstrichrechners 41 und
synthetisiert die vollständige
Strichkodedatenfolge aus den Fragmentpulsbreite-Datenfolgen, die
vom Moment des Anfangs bis zum Moment des Endes des Fragmentstrichkodescannens
erhalten werden.
-
Wie
im Obigen beschrieben wurde, wird gemäß der Erfindung ein vollständiger Strichkode
wiederhergestellt, indem Synthesepositionen in Fragmentpulsbreite-Datenfolgen
ohne Fragmentpulsbreite-Datenfolgenvergleich durch Datenstückverschiebung,
sondern aus Strichadress- und Moduländerungen direkt erhalten werden.
Daher können
selbst im Fall des Scannens einer Strichkodemarkierung, die aufeinanderfolgende
Zahlen oder Zeichen enthält oder
sich auf einem niedrigen Höhenniveau
befindet, korrekte Syntheseposition erhalten werden. Es ist daher
möglich,
einen Strichkodeleser mit hoher Leistung zu realisieren.
-
In
dem Fall, dass das Anfangs- oder Endzeichen zwei aufeinanderfolgende
Male gescannt wird, stellt die Differenz zwischen den Scanstrahlwinkelzählungen 60 bezogen
auf den schwarzen Strich, der dem Strichkodeanfang in den beiden
Scanzeiten entspricht, eine Abweichung zwischen den beiden Fragmentpulsbreite-Datenfolgen
dar, aus denen der vollständige
Strichkode synthetisiert werden soll. Daher ist ein Syntheseschema
basierend auf dieser Differenz möglich.
Gemäß diesem
Schema ist es jedoch unmöglich,
eine Strichkodemarkierung zu lesen, die sich auf einem niedrigen
Höhenniveau
befindet oder auf einem Hochgeschwindigkeitsförderer gefördert wird, weil es notwendig
ist, das Anfangs- oder
Endzeichen zwei aufeinanderfolgende Male zu scannen.
-
Gemäß der Erfindung
muss das Anfangs- oder Endzeichen nur einmal gescannt werden, und daher
ist es möglich,
einen Hochleistungsstrichkodeleser zu realisieren, der sogar eine
Strichkodemarkierung lesen kann, die sich auf einem niedrigen Höhenniveau
befindet oder auf einem Hochgeschwindigkeitsförderer gefördert wird.