DE19716886C2 - Verfahren und Vorrichtung zum Lesen eines Strichcodes - Google Patents

Verfahren und Vorrichtung zum Lesen eines Strichcodes

Info

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
Application number
DE19716886A
Other languages
English (en)
Other versions
DE19716886A1 (de
Inventor
Peter Hauser
Juergen Reichenbach
Hubert Uhl
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sick AG
Original Assignee
Sick AG
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sick AG filed Critical Sick AG
Priority to DE19716886A priority Critical patent/DE19716886C2/de
Priority to US09/064,022 priority patent/US6145745A/en
Publication of DE19716886A1 publication Critical patent/DE19716886A1/de
Application granted granted Critical
Publication of DE19716886C2 publication Critical patent/DE19716886C2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
DE19716886A 1997-04-22 1997-04-22 Verfahren und Vorrichtung zum Lesen eines Strichcodes Expired - Lifetime DE19716886C2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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