-
HINTERGRUND
-
Vorrichtungen wie Strichcodeleser werden in einer Vielzahl von Anwendungen eingesetzt, u. a. im Einzelhandel, bei der Inventur und anderen industriellen Anwendungen. Strichcodeleser haben Arbeitsabstände, die im Vergleich zum gewünschten Scanbereich für eine bestimmte Anwendung sehr groß sein können. Dies kann dazu führen, dass die Leser Strichcodes identifizieren, die außerhalb des vorgesehenen Identifikationsbereichs liegen.
-
Dementsprechend besteht ein Bedarf an Strichcodelesern, die die Auswahl von Scanbereichen ermöglichen, die von ihrer maximalen Reichweite abweichen.
-
BESCHREIBUNG
-
In einer Ausführungsform ist die vorliegende Erfindung ein Strichcodeleser, umfassend ein Gehäuse; eine Bildgebungsbaugruppe, die zumindest teilweise innerhalb des Gehäuses positioniert ist, wobei die Bildgebungsbaugruppe einen Bildgebungssensor mit einer Vielzahl von Pixeln umfasst, wobei der Bildgebungssensor konfiguriert ist, um Bilder einer Umgebung zu erfassen, die innerhalb eines Sichtfeldes (FOV) der optischen Bildgebungsbaugruppe erscheint; und mindestens einen Prozessor, der kommunikativ mit der Bildgebungsbaugruppe gekoppelt ist, wobei der mindestens eine Prozessor konfiguriert ist, um einen Strichcode zu dekodieren, der eine Vielzahl von Strichen umfasst, wobei der mindestens eine Prozessor ferner konfiguriert ist, um: (a) ein Pixel-pro-Modul (PPM) des Strichcodes basierend auf einer Anzahl von Pixeln zu bestimmen, die einen schmalsten Strich der Vielzahl von Strichen überspannen, wenn der Strichcode in einem Bild durch den Bildgebungssensor erfasst wird; (b) zu analysieren, ob das PPM in einen vorbestimmten PPM-Schwellenbereich fällt; (c) als Reaktion darauf, dass das PPM in den vorbestimmten PPM-Schwellenbereich fällt, ein Signal für eine erfolgreiche Dekodierung zu erzeugen, das eine erfolgreiche Dekodierung des Strichcodes anzeigt; und (d) als Reaktion darauf, dass das PPM außerhalb des vorbestimmten PPM-Schwellenbereichs liegt, das Erzeugen des Signals für die erfolgreiche Dekodierung zu unterlassen, das die erfolgreiche Dekodierung des Strichcodes anzeigt.
-
In einer anderen Ausführungsform ist die vorliegende Erfindung ein Transaktionsverarbeitungssystem, das einen Strichcodeleser umfasst, der umfasst: ein Gehäuse; eine Bildgebungsbaugruppe, die zumindest teilweise innerhalb des Gehäuses positioniert ist, wobei die Bildgebungsbaugruppe einen Bildgebungssensor mit einer Vielzahl von Pixeln umfasst, wobei der Bildgebungssensor so konfiguriert ist, dass er Bilder einer Umgebung erfasst, die innerhalb eines Sichtfeldes (FOV) der optischen Bildgebungsbaugruppe erscheint; und mindestens einen Prozessor, der kommunikativ mit der Bildgebungsbaugruppe gekoppelt ist, wobei der mindestens eine Prozessor so konfiguriert ist, dass er einen Strichcode dekodiert, der eine Vielzahl von Strichen umfasst. Der mindestens eine Prozessor ist ferner konfiguriert, um: ein Pixel-pro-Modul (PPM) des Strichcodes basierend auf einer Anzahl von Pixeln zu bestimmen, die einen schmalsten Strich der Vielzahl von Balken überspannen, wenn der Strichcode in einem Bild durch den Bildgebungssensor erfasst wird; zu analysieren, ob das PPM in einen vorbestimmten PPM-Schwellenbereich fällt; als Reaktion darauf, dass das PPM in den vorbestimmten PPM-Schwellenbereich fällt, ein Signal für eine erfolgreiche Dekodierung zu erzeugen, das ein erfolgreiches Dekodieren des Strichcodes anzeigt; und als Reaktion darauf, dass das PPM außerhalb des vorbestimmten PPM-Schwellenbereichs liegt, das Erzeugen des Signals für die erfolgreiche Dekodierung zu unterlassen, das das erfolgreiche Dekodieren des Strichcodes anzeigt. Das System umfasst ferner ein Verkaufspunktsystem mit einem Verkaufspunktprozessor, der so konfiguriert ist, dass er das Signal für das erfolgreiche Dekodieren empfängt und eine Transaktion als Reaktion auf den Empfang des Signals für das erfolgreiche Dekodieren verarbeitet.
-
In einer anderen Ausführungsform ist die vorliegende Erfindung ein Strichcodeleser, umfassend: ein Gehäuse; eine Bildgebungsbaugruppe, die zumindest teilweise in dem Gehäuse positioniert ist, wobei die Bildgebungsbaugruppe einen Bildgebungssensor mit einer Vielzahl von Pixeln enthält, wobei der Bildgebungssensor so konfiguriert ist, dass er Bilder einer Umgebung erfasst, die in einem Sichtfeld (FOV) der optischen Bildgebungsbaugruppe erscheint; und mindestens einen Prozessor, der kommunikativ mit der Bildgebungsbaugruppe gekoppelt ist, wobei der mindestens eine Prozessor so konfiguriert ist, dass er einen Strichcode dekodiert, der eine Vielzahl von Strichen umfasst. Der mindestens eine Prozessor ist ferner konfiguriert, um: ein Pixel-pro-Modul (PPM) des Strichcodes basierend auf einer Anzahl von Pixeln zu bestimmen, die einen schmalsten Strich der Vielzahl von Strichen überspannen, wenn der Strichcode in einem Bild durch den Bildgebungssensor erfasst wird; zu analysieren, ob das PPM in einen vorbestimmten PPM-Schwellenbereich fällt; als Reaktion darauf, dass das PPM in den vorbestimmten PPM-Schwellenbereich fällt, ein Signal für eine erfolgreiche Dekodierung zu erzeugen, das eine erfolgreiche Dekodierung des Strichcodes anzeigt; und als Reaktion darauf, dass das PPM außerhalb des vorbestimmten PPM-Schwellenbereichs liegt, das Erzeugen des Signals für die erfolgreiche Dekodierung zu unterlassen, das die erfolgreiche Dekodierung des Strichcodes anzeigt. Der vorbestimmte PPM-Schwellenbereich entspricht einem gewünschten Leseabstandsbereich des Strichcodelesers. Der gewünschte Leseabstandsbereich ist eine Teilmenge des Arbeitsbereichs des Strichcodelesers und wird ausgewählt aus: (a) einem gewünschten Leseabstandsbereich, der alle Abstände innerhalb des Arbeitsbereichs und näher als ein gewünschter maximaler Leseabstand umfasst; (b) einem gewünschten Leseabstandsbereich, der alle Abstände innerhalb des Arbeitsbereichs und weiter als ein gewünschter minimaler Leseabstand umfasst; und (c) einem gewünschten Leseabstandsbereich, der alle Abstände innerhalb des Arbeitsabstandsbereichs und sowohl weiter als ein gewünschter minimaler Leseabstand als auch näher als ein gewünschter maximaler Leseabstand umfasst.
-
In einer weiteren Ausführungsform ist die vorliegende Erfindung ein Verfahren zum elektro-optischen Lesen eines Strichcodes, der eine Anzahl von Strichen umfasst, die sich innerhalb eines Bereichs von Arbeitsabständen von einem Strichcodeleser befinden, umfassend: Erfassen von Licht von dem Symbol über ein Sichtfeld eines Bildgebungssensors mit einer Vielzahl von Pixeln; Bestimmen eines Pixel-pro-Modul (PPM) des Strichcodes basierend auf einer Anzahl von Pixeln, die einen schmalsten Strich der Vielzahl von Strichen überspannen, wenn der Strichcode in einem Bild durch den Bildgebungssensor erfasst wird; Vergleichen des PPM des Strichcodes mit einem vorbestimmten PPM-Schwellenbereich; und Erzeugen eines Signals für eine erfolgreiche Dekodierung nur dann, wenn das PPM des Strichcodes innerhalb des vorbestimmten PPM-Schwellenbereichs liegt.
-
In einer Variante dieser Ausführungsform entspricht der vorgegebene PPM-Schwellenbereich einem gewünschten Leseabstandsbereich des Strichcodelesers, wobei der gewünschte Leseabstandsbereich eine Teilmenge des Arbeitsbereichs des Strichcodelesers ist.
-
Figurenliste
-
Die beigefügten Figuren, in denen gleiche Bezugszeichen identische oder funktional ähnliche Elemente in den einzelnen Ansichten bezeichnen, sind zusammen mit der nachfolgenden detaillierten Beschreibung in die Offenbarung inkorporiert und bilden einen Bestandteil der Offenbarung und dienen dazu, hierin beschriebene Ausführungsformen von Konzepten, die die beanspruchte Erfindung umfassen, weiter zu veranschaulichen und verschiedene Prinzipien und Vorteile dieser Ausführungsformen zu erklären.
- 1 zeigt einen Strichcodeleser gemäß einer Ausführungsform der vorliegenden Erfindung;
- 2 zeigt eine schematische Darstellung von Komponenten eines Strichcodelesers gemäß der vorliegenden Erfindung während des Lesens eines Zielstrichcodes;
- 3 zeigt einen Strichcodeleser gemäß einer anderen Ausführungsform der vorliegenden Erfindung;
- 4 zeigt Beispiele von Parameter-Strichcodes zur Verwendung in einigen Ausführungsformen der vorliegenden Erfindung; und
- 5 zeigt ein Flussdiagramm für eine Logik, die bei einer erfolgreichen Dekodierung von Strichcodes innerhalb eines vorbestimmten PPM-Schwellenbereichs verwendet wird, gemäß einigen Ausführungsformen der vorliegenden Erfindung.
-
Fachleute werden erkennen, dass Elemente in den Figuren der Einfachheit und Klarheit halber dargestellt sind und nicht notwendigerweise maßstabsgetreu gezeichnet wurden. Zum Beispiel können die Dimensionen einiger der Elemente in den Figuren relativ zu anderen Elementen übertrieben sein, um das Verständnis von Ausführungsformen der vorliegenden Erfindung zu verbessern.
-
Die Vorrichtungs- und Verfahrenskomponenten wurden, wo es angemessen ist, durch herkömmliche Symbole in den Zeichnungen dargestellt, die nur jene spezifischen Details zeigen, die zum Verständnis der Ausführungsformen der vorliegenden Erfindung relevant sind, um somit die Offenbarung nicht mit Einzelheiten zu verdecken, die für die Fachleute auf dem Gebiet, die auf die vorliegende Beschreibung zurückgreifen, ohne weiteres ersichtlich sind.
-
DETAILLIERTE BESCHREIBUNG
-
1 zeigt eine beispielhafte Scanstation 100, die aus einem tragbaren Strichcodeleser 102 und einer stationären Halterung 104 gebildet ist, die an einer Scanfläche 106 befestigt ist. Der handgehaltene Leser 102 hat ein Gehäuse 103 und ruht in der stationären Halterung, um einen Freihand-Scanmodus, auch Präsentationsmodus genannt, zum Scannen von Strichcodes einzurichten. Der handgehaltene Leser 102 arbeitet dabei als Bildgebungsleser, hat ein Scanfenster 108, hinter dem sich eine Beleuchtungsquelle und ein Bildgeber befinden kann, wie in 2 dargestellt. Der handgehaltene Leser 102 hat ein Sichtfeld (FOV) 110, das durch die sich nach außen erweiternde rechteckige Kegel- oder Kegelstumpfform 110 definiert ist. Der Leser 102 hat einen Arbeitsbereich 112, der sich bis zum äußersten Rechteck erstreckt. Ein Auslöser 114 kann verwendet werden, um einen Freihand-Scanmodus zu starten, oder er kann verwendet werden, um den Scanvorgang zu starten, wenn der Leser 102 in der Hand gehalten wird. In einigen Beispielen wird das freihändige Scannen durch Einsetzen des Lesers 102 in die Halterung 104 ausgelöst.
-
Während das FOV in 1 durch ein sich erstreckendes Rechteck dargestellt ist, das vom Leser 102 ausgeht, kann das FOV je nach Lichtquellen und Linsen, die im Leser 102 vorhanden sind, eine Reihe unterschiedlicher Formen annehmen. Während in 1 der Arbeitsbereich 112 durch das äußerste Rechteck dargestellt ist, kann der effektive Arbeitsbereich des Lesers 102 deutlich größer sein als der in 1 dargestellte Bereich.
-
Bei guten optischen Eigenschaften für Strichcodes (z. B. guter Druckkontrast) wird im Wesentlichen jeder Strichcode, der sich innerhalb des FOV 110 befindet und auf den Leser 102 gerichtet ist, vom Leser 102 gelesen, wenn dieser eingeschaltet und in der Lage ist, Codes zu lesen. Obwohl dies im Allgemeinen vorteilhaft ist, gibt es Fälle, in denen es wünschenswert ist, dass der Leser 102 nur Strichcodes liest, die sich innerhalb des FOV in Bereichen befinden, die kleiner als der Arbeitsbereich 112 sind. Wenn der Leser 102 beispielsweise in einer industriellen Umgebung platziert ist, kann es wünschenswert sein, dass der Leser 102 nur Strichcodes liest, die vom Leser gelesen werden sollen, indem diese Strichcodes nahe am Leser platziert werden. In einer solchen Anwendung sollten Strichcodes, die weiter entfernt sind als der gewünschte Abstand, entweder nicht gelesen werden, oder, falls sie gelesen werden, sollten ihre Informationen nicht vom Leser 102 gespeichert oder vom Leser 102 an andere Hardware weitergegeben werden.
-
Um das Scannen von Strichcodes nur innerhalb eines vorausgewählten Bereichs zu ermöglichen, ermöglicht die vorliegende Erfindung die Auswahl von Schwellenbereichen durch einen Benutzer. In 1 sind drei Schwellenwerte dargestellt: ein erster Schwellenwert 116, ein zweiter Schwellenwert 118 und ein dritter Schwellenwert 120. Die Auswahl der Schwellenbereiche kann durch die Verwendung von Schaltern 122 und 124 am Leser 102 erfolgen. Bei diesen Schaltern kann es sich um physische Schalter handeln, aber es sei verstanden, dass die Auswahl der Schwellenbereiche auch über kapazitive Schalter, die Verwendung eines oder mehrerer Drehknöpfe oder durch das Scannen eines oder mehrerer Parameter-Strichcodes, die vom Benutzer ausgewählt werden, erfolgen kann.
-
Die effektive Auswahl von Schwellenlesebereichen gemäß der vorliegenden Erfindung kann durch die Auswahl eines gewünschten Pixels pro Modul eines Strichcodes durch den Benutzer erfolgen, wie unter Bezugnahme auf 2 beschrieben wird.
-
Bezugnehmend auf 2 umfasst ein Bildverarbeitungssystem, das in einem Leser 102 vorgesehen ist, einen lichterfassenden Sensor oder Bildgeber 200, der operativ mit einer gedruckten Leiterplatte (PCB) 202 im Leser 102 gekoppelt oder darauf montiert ist. In einer Ausführungsform ist der Bildgeber 200 eine Festkörpervorrichtung, z. B. ein CCD- oder CMOS-Bildsensor, mit einer eindimensionalen Anordnung von adressierbaren Bildsensoren oder Pixeln, die in einer einzigen Zeile angeordnet sind, oder einer zweidimensionalen Anordnung von adressierbaren Bildsensoren oder Pixeln, die in zueinander orthogonalen Zeilen und Spalten angeordnet sind, und die zum Erfassen von zurückkehrendem Licht dient, das von einer Bildgebungslinsenbaugruppe 204 über ein Sichtfeld entlang einer Bildgebungsachse 206 durch das Scanfenster 108 in beiden Betriebsarten erfasst wird. Das zurückkehrende Licht wird von einem Strichcode 208 gestreut und/oder reflektiert, der sich innerhalb des FOV 110 befindet. Die Bildgebungslinsenbaugruppe 204 dient zur Fokussierung des zurückkehrenden Lichts auf die Anordnung von Bildsensoren, damit der Strichcode 208 gelesen werden kann.
-
Wenn ein oder mehrere Schwellenwert-Scanbereiche nicht ausgewählt werden, kann der Strichcode 208 effektiv vom Leser gelesen werden, wenn er sich irgendwo in einem Arbeitsbereich von Abständen zwischen einem Nahbereich-Arbeitsabstand (WD1) und einem Fernbereich-Arbeitsabstand (WD2) befindet. In einer Ausführungsform ist WD1 etwa einen halben Zoll von dem Fenster 108 entfernt, und WD2 ist etwa dreißig Zoll von dem Fenster 108 entfernt, obwohl verstanden sei, dass Leser gemäß der vorliegenden Erfindung andere Arbeitsabstände haben können.
-
Im Leser 102 ist auch eine Beleuchtungslichtbaugruppe angebracht. Die Beleuchtungslichtbaugruppe umfasst eine Beleuchtungslichtquelle, wie z. B. mindestens eine Leuchtdiode (LED) 210 und mindestens eine Beleuchtungslinse 212, und vorzugsweise eine Vielzahl von Beleuchtungs-LEDs und Beleuchtungslinsen, die so konfiguriert sind, dass sie ein im Wesentlichen gleichmäßig verteiltes Beleuchtungsmuster von Beleuchtungslicht auf und entlang des Strichcodes 208 erzeugen, der durch Bilderfassung gelesen werden soll. Zumindest ein Teil des gestreuten und/oder reflektierten zurückkehrenden Lichts wird aus dem Beleuchtungsmuster des Lichts auf und entlang des Strichcodes 208 abgeleitet.
-
Eine Ziellichtbaugruppe kann auch im Leser 102 montiert werden und umfasst vorzugsweise eine Ziellichtquelle 214 (z. B. eine oder mehrere Ziel-LEDs) und eine Ziellinse 216 zum Erzeugen und Richten eines sichtbaren Ziellichtstrahls vom Leser 102 weg auf den Strichcode 208. Der Ziellichtstrahl hat einen Querschnitt mit einem Muster, z. B. einen allgemein kreisförmigen Punkt oder ein Fadenkreuz zur Platzierung in der Mitte des Strichcodes 208 oder eine Linie zur Platzierung quer über den Strichcode 208 oder eine Reihe von Rahmenlinien zur Begrenzung des Sichtfelds, um einen Bediener bei der visuellen Lokalisierung des Strichcodes 208 innerhalb des Sichtfelds vor der Bilderfassung zu unterstützen.
-
Wie ebenfalls in 2 gezeigt, sind der Bildgeber 200, die Beleuchtungs-LED 210 und die Ziel-LED 214 mit einem Prozessor 218 (z. B. einem programmierten Mikroprozessor) verbunden, der den Betrieb dieser Komponenten steuert. Ein Speicher 220 ist mit dem Prozessor 218 verbunden und für diesen zugänglich. Vorzugsweise ist der Prozessor 218 derselbe, der für die Verarbeitung des vom beleuchteten Strichcode 208 zurückkehrenden Lichts verwendet wird, um Daten über den Strichcode 208 zu erhalten. Wenn ein Strichcode erfolgreich gelesen wird, kann der Prozessor 218 ein Signal für eine erfolgreiche Dekodierung im Speicher 220 aufzeichnen oder das Signal für die erfolgreiche Dekodierung an angeschlossene Hardware 224, wie z. B. ein Verkaufspunktsystem (Point-of-Sale - POS), senden.
-
Der Strichcode 208 wird vom Leser 102 gelesen, solange er sich innerhalb des Arbeitsbereichs des Lesers 102 befindet, es sei denn, ein oder mehrere Schwellenbereiche werden vom Benutzer festgelegt. Es gibt Fälle, in denen ein Benutzer nicht möchte, dass Strichcodes außerhalb eines gewünschten Leseabstands gelesen werden.
-
Die vorliegende Erfindung ermöglicht die Auswahl von Schwellenlesebereichen durch die Verwendung eines Pixel-pro-Modul (PPM)-Schwellenwerts. Das PPM ist eine Zahl, die die Anzahl der Pixel des Bildgebers 200 widerspiegelt, die von dem Strich mit der kleinsten Breite 222 des Strichcodes 208 überspannt werden. Der Strich mit der kleinsten Breite des Strichcodes definiert ein Modul des Strichcodes.
-
Ein Strichcode 208 kann zum Zeitpunkt des Drucks nach der Breite der kleinsten Linie des Strichcodes klassifiziert werden. Beispielsweise könnte das schmalste Element unter allen Strichen und Zwischenräumen 222 des Strichcodes 208 0,3302 Millimeter (13 Mil) breit sein, und ein Benutzer kann wissen, dass er möchte, dass der Leser 102 0,3302 Millimeter (13 Mil) -Strichcodes in einem gewünschten Leseabstand von bis zu 304,8 mm (12 Zoll) liest und aufzeichnet, aber keine Informationen zu 0,3302 Millimeter (13 Mil) -Strichcodes aufzeichnet, die sich innerhalb des Arbeitsbereichs des Lesers 102, aber außerhalb des gewünschten Leseabstands befinden.
-
Um dies zu erreichen, werden vorgegebene PPM-Schwellenwerte verwendet. Wenn zum Beispiel ein 0,3302 Millimeter (13 Mil) -Strichcode 304,8 mm (12 Zoll) von einem Leser entfernt ist, beträgt der PPM-Wert dieses Strichcodes 3 Pixel. Je näher der Strichcode an den Leser herangeführt wird, desto größer wird der PPM (weil die Breite des Lichts vom schmalsten Strich des Codes, das auf den Bildgeber 200 auftrifft, zunimmt, wenn sich der Strichcode dem Leser nähert). Mit anderen Worten, für einen Strichcode dieses Moduls kann bekannt sein, dass sich der Strichcode immer dann, wenn die PPM 3 Pixel oder mehr beträgt, innerhalb des gewünschten Arbeitsabstands befindet (in diesem Fall 304,8 mm (12 Zoll) vom Leser 102 entfernt oder näher).
-
In diesem Beispiel wird bei einem PPM-Wert von weniger als 3 Pixeln festgestellt, dass der Strichcode außerhalb des gewünschten Leseabstands liegt. Daher kann der Prozessor 218 bestimmen, dass ein solcher Strichcode nicht gelesen wird, oder er kann gelesen und nicht im Speicher 220 gespeichert werden. Alternativ kann der Strichcode vom Prozessor mit Informationen verknüpft werden, die jedoch nicht an die angeschlossene Hardware 224 des Lesers 102 weitergegeben werden.
-
Es kann wünschenswert sein, dass nur Strichcodes gelesen werden, die näher als ein gewünschter maximaler Leseabstand zum Leser 102 liegen. In solchen Fällen werden nur Strichcodes gelesen und gespeichert, die gleich oder größer als eine vorgegebene PPM-Schwellen sind. In einigen Fällen kann es jedoch vorteilhaft sein, Strichcode-Informationen für Strichcodes zu lesen und zu speichern, die größer als ein gewünschter Mindest-Leseabstand sind. In diesen Fällen werden nur Strichcodes mit PPMs gelesen, die gleich oder kleiner als ein vorbestimmter PPM sind (solange sie sich innerhalb des Arbeitsabstands des Lesers 102 befinden).
-
In anderen Fällen kann es für Systeme und Verfahren der vorliegenden Erfindung vorteilhaft sein, Informationen für Strichcodes zu lesen und zu speichern, die weiter als ein gewünschter minimaler Leseabstand vom Leser entfernt sind und auch näher als ein gewünschter maximaler Leseabstand vom Leser. In diesen Fällen werden nur Informationen für Strichcodes mit PPMs gelesen und gespeichert, die gleich oder kleiner als ein vorbestimmtes maximales PPM und gleich oder größer als ein vorbestimmtes minimales PPM sind.
-
In den obigen Beispielen werden die Systeme zwar als „gleich oder größer als“- oder „gleich oder kleiner als“-Vergleiche beschrieben, es ist jedoch davon auszugehen, dass diese Systeme im Wesentlichen ähnlich funktionieren, wenn „kleiner als“- oder „größer als“-Vergleiche verwendet werden.
-
Das Nicht-Lesen von Strichcodes, die außerhalb einer vorbestimmten PPM-Schwelle liegen, kann auf verschiedene Weise erreicht werden. In einer Ausführungsform ist der Prozessor 218 in der Lage, die PPMs der erfassten Strichcodes zu analysieren, um zu erkennen, wenn das PPM eines erfassten Strichcodes außerhalb der vorbestimmten PPM-Schwelle liegt. In einem solchen Fall kann es der Prozessor unterlassen, ein Signal für eine erfolgreiche Dekodierung für den erkannten Strichcode zu erzeugen. In anderen Fällen kann es der Prozessor 218 unterlassen, Informationen zu Strichcodes, die außerhalb des vorbestimmten PPM-Schwellenbereichs liegen, im Speicher 220 zu speichern. In anderen Ausführungsformen kann es der Prozessor 218 unterlassen, Informationen über Strichcodes, die außerhalb des vorbestimmten PPM-Schwellenbereichs liegen, an angeschlossene Hardware 224, wie z. B. ein POS-System oder ein angeschlossenes Speicherlaufwerk, weiterzuleiten.
-
3 zeigt eine alternative Ausführungsform der vorliegenden Erfindung, bei der eine Scanstation 300 einen bioptischen Strichcodeleser 302 aufweist. Im Gegensatz zu dem in 1 gezeigten Leser 102 hat der bioptische Strichcodeleser 302 ein Gehäuse 303 und ist in einer festen Position innerhalb der Scanstation 300 angeordnet. In dieser Ausführungsform werden Gegenstände, die auf die Scanfläche 304 gelegt werden und deren Strichcodes sich innerhalb des Sichtfeldes 306 des bioptischen Lesers 302 befinden, gelesen, es sei denn, die Strichcodes liegen außerhalb eines vorgegebenen PPM-Schwellenbereichs. Drei vorbestimmte Abstandsschwellen, die mit Hilfe der PPM-Schwellen 308, 310 und 312 effektiv eingestellt werden können, sind in 3 dargestellt. Wenn beispielsweise der am weitesten entfernte Schwellenwert 312 eingestellt ist und der Leser 302 so eingestellt ist, dass er nur Strichcodes liest, die näher an diesem Schwellenwert 312 liegen, werden nur Strichcodes, die näher am Schwellenwert 312 liegen, effektiv gelesen.
-
Die Auswahl der Schwellenbereiche kann durch die Verwendung der Schalter 314 und 316 am Leser 302 erfolgen.
-
Wie der Leser 102 (siehe oben) kann der Leser 302 an einem Verkaufspunkt eingesetzt werden, wobei der Leser 302 und vorzugsweise ein Prozessor des Lesers mit einem Verkaufspunktprozessor 318 des Verkaufspunktsystems kommunikativ verbunden ist. Der Verkaufspunktprozessor kann eine Vielzahl von Funktionen ausführen, wie z. B. die Zuordnung von Preisen zu gescannten Gegenständen und die Erstellung von Zahlungsanforderungen für den Verkaufspunkt.
-
Die PPM-Schwellenbereiche können vom Benutzer auf verschiedene Weise eingestellt werden. In einer Ausführungsform sind die Leser 102 oder 302 der vorliegenden Erfindung in einem Modus für den gewünschten maximalen Leseabstand voreingestellt. In einem solchen Modus werden die Leser vom Benutzer so gesteuert, dass sie nur Strichcodes lesen, die sich in einem geringeren als dem gewünschten maximalen Leseabstand zum Lesefenster befinden. In dieser Ausführungsform kann der Benutzer den gewünschten maximalen Leseabstand auswählen, indem er eine Schnittstelle (wie die Schalter 122 und 124 in 1 und 314 und 316 in 3) verwendet, um einen minimalen PPM für das effektive Lesen zu steuern.
-
Alternativ können die Leser auf einen gewünschten Mindestleseabstand voreingestellt werden. In einem solchen Modus werden die Leser vom Benutzer so gesteuert, dass sie nur Strichcodes lesen, die größer sind als ein gewünschter minimaler Leseabstand vom Lesefenster (aber noch innerhalb des Arbeitsabstands des Leser). In dieser Ausführungsform kann der Benutzer den gewünschten minimalen Leseabstand auswählen, indem er eine Schnittstelle (wie die Schalter 122 und 124 in 1 und 314 und 316 in 3) verwendet, um einen maximalen PPM für das effektive Lesen von Strichcodes zu steuern.
-
In anderen Ausführungsformen werden vom Benutzer durch das Scannen eines oder mehrerer Parameter-Strichcodes mit dem Strichcodeleser vorbestimmte PPM-Schwellenbereiche für erfolgreiche Strichcode-Lesungen festgelegt. 4 zeigt eine Reihe von Parameter-Strichcodes zur Verwendung in solchen Ausführungsformen.
-
In einer Ausführungsform kann ein Benutzer die Nahbereichscodes 400, 402 und 404 scannen, um schnell einen gewünschten Schwellenbereich für das erfolgreiche Lesen von Strichcodes einzustellen. Wenn ein Benutzer weiß, dass nur Strichcodes in unmittelbarer Nähe des Lesers erfolgreich dekodiert werden sollen, wird der Strichcode 400 für den Nahbereich gescannt. Wenn der Benutzer eine mittlere Reichweite für zu dekodierende Strichcodes wünscht, wird der Strichcode 402 für mittlere Reichweite gescannt, und wenn der Benutzer einen maximalen Abstandsbereich für erfolgreiche Dekodierungen wünscht, wird der Strichcode 404 für maximale Reichweite gescannt.
-
In einer Ausführungsform kann der Benutzer einen vorbestimmten PPM-Schwellenbereich direkt programmieren, indem er den Programmmodus-Strichcode 406 scannt, der den Leser in einen Programmmodus versetzt. Dann werden ein oder mehrere numerische Strichcodes (gekennzeichnet durch den generischen numerischen Strichcode 408) gescannt, um den vorbestimmten Schwellenbereich voreinzustellen. Wenn der Benutzer beispielsweise möchte, dass der Leser nur Strichcodes mit einem PPM-Wert von 3 oder mehr liest, könnte er den Programmmodus-Strichcode 406 und dann die Ziffer „3“ unter den Ziffernstrichcodes 408 scannen.
-
In einer anderen Ausführungsform kann ein PPM-Anpassungsmodus-Strichcode 410 gescannt werden, der den Leser in einen Anpassungsmodus versetzt, der es dem Leser ermöglicht, die maximalen und minimalen PPMs für erfolgreiche Dekodierungen zu erhöhen und zu verringern, wodurch der vorgegebene PPM-Schwellenbereich eingestellt wird. In dieser Ausführungsform scannt der Benutzer einen oder mehrere der Strichcodes 412 zum Erhöhen des minimalen PPM, 414 zum Verringern des minimalen PPM, 416 zum Erhöhen des maximalen PPM oder 418 zum Verringern des maximalen PPM, um einen vorbestimmten PPM-Schwellenbereich einzustellen, der einem gewünschten Leseabstand entspricht.
-
5 illustriert ein Flussdiagramm, das die Schritte zeigt, die bei der Dekodierung von Strichcodes, die einen vorbestimmten PPM-Schwellenbereich erfüllen, gemäß einigen Ausführungsformen der vorliegenden Erfindung erforderlich sind. Die in 5 gezeigten Schritte können z. B. von einem Prozessor 218 ausgeführt werden. Wie in Block 500 gezeigt, wird ein vorbestimmter PPM-Schwellenbereich gespeichert, nachdem der Benutzer diesen Bereich ausgewählt hat. Dieser kann im Arbeitsspeicher eines Prozessors oder im Speicher 220 eines Strichcodelesers (siehe 2) gespeichert werden. In einigen Ausführungsformen wird ein vorgegebener PPM-Schwellenbereich bereitgestellt und gespeichert, ohne dass eine Benutzerauswahl erforderlich ist.
-
Als nächstes wird, wie in Block 502 gezeigt, das PPM eines gescannten Strichcodes bestimmt. Wie in Block 504 dargestellt, wird das PPM des gescannten Strichcodes mit dem vorbestimmten PPM-Schwellenbereich verglichen. Dann wird, wie in Entscheidungsblock 506 gezeigt, bestimmt, ob das PPM des gescannten Strichcodes innerhalb des vorbestimmten PPM-Schwellenbereichs liegt. Liegt das PPM des gescannten Strichcodes nicht innerhalb des vorbestimmten PPM-Schwellenbereichs, wird kein Signal für eine erfolgreiche Dekodierung erzeugt, wie in Block 508 gezeigt. Liegt das PPM des gescannten Strichcodes innerhalb des vorgegebenen PPM-Schwellenbereichs, wird ein Signal für ein erfolgreiches Dekodieren erzeugt, wie in Block 510 gezeigt.
-
Systeme und Verfahren der vorliegenden Erfindung können zum Lesen einer Vielzahl von Strichcodes verwendet werden. So können beispielsweise schwarze Strichcodes auf weißem Hintergrund und weiße Strichcodes auf schwarzem Hintergrund gelesen werden, aber auch andere Farbkombinationen (z. B. ein grüner Strichcode auf gelbem Hintergrund) sind möglich.
-
Ausführungsformen der vorliegenden Erfindung können besonders vorteilhaft sein, weil sie die Einstellung der effektiven Leseabstände eines Strichcodelesers durch den Benutzer ermöglichen, indem nur die im Strichcodeleser vorgesehene elektronische Hardware verwendet wird. Dies kann im Gegensatz zur alleinigen optischen Modulation (z. B. durch Steuerung der Leistung der Beleuchtungslichtquelle des Lesers oder durch Modifizierung der Linsenbaugruppe 204) vorteilhaft sein, da ein breites Spektrum gewünschter Leseabstände erreicht werden kann, ohne dass Änderungen an der Hardware des Lesers erforderlich sind. In einigen Ausführungsformen der vorliegenden Erfindung sind gewünschte minimale und maximal Leseabstände zwischen 5 und 20 Zentimetern allein durch die hierin beschriebene Modifizierung der vorbestimmten PPM-Schwellenbereiche erreichbar.
-
Ausführungsformen der vorliegenden Erfindung können mit 2D-Strichcodes verwendet werden, wobei das Modul das kleinste Bildelement des 2D-Strichcodes ist.
-
Prozessoren zur Verwendung mit Ausführungsformen der vorliegenden Erfindung, wie z. B. der in 2 gezeigte Prozessor 218, sind vorzugsweise in der Lage, Befehle auszuführen, um z. B. Operationen der hierin beschriebenen Beispielverfahren zu implementieren, wie dies in den Zeichnungen zu dieser Beschreibung dargestellt sein kann. Andere Beispiel-Logikschaltungen, die beispielsweise in der Lage sind, Operationen der hierin beschriebenen Beispielverfahren zu implementieren, umfassen feldprogrammierbare Gate-Arrays (FPGAs) und anwendungsspezifische integrierte Schaltungen (ASICs).
-
Der Beispielprozessor 218 interagiert mit dem Speicher 220, um beispielsweise maschinenlesbare Anweisungen zu erhalten, die in dem Speicher 220 gespeichert sind und beispielsweise den hierin beschriebenen und durch das Flussdiagramm dieser Offenbarung dargestellten Operationen entsprechen. Zusätzlich oder alternativ können maschinenlesbare Anweisungen, die den hierin beschriebenen Beispieloperationen entsprechen, auf einem oder mehreren Wechselmedien (z. B. einer Compact Disc, einer Digital Versatile Disc, einem austauschbaren Flash-Speicher usw.) gespeichert sein, die mit dem Prozessor 218 verbunden werden können, um Zugriff auf die darauf gespeicherten maschinenlesbaren Anweisungen zu ermöglichen.
-
Der Beispielprozessor kann auch eine Netzwerkschnittstelle enthalten oder mit ihr verbunden sein, um die Kommunikation mit anderen Maschinen, z. B. über ein oder mehrere Netzwerke, zu ermöglichen. Eine Netzwerkschnittstelle kann jede geeignete Art von Kommunikationsschnittstelle(n) umfassen (z. B. drahtgebundene und/oder drahtlose Schnittstellen), die so konfiguriert sind, dass sie gemäß einem oder mehreren geeigneten Protokollen arbeiten.
-
Prozessoren zur Verwendung im Rahmen der vorliegenden Erfindung können auch Eingabe/Ausgabe (E/A) -Schnittstellen enthalten, um den Empfang von Benutzereingaben und die Übermittlung von Ausgabedaten an den Benutzer zu ermöglichen.
-
Die obige Beschreibung bezieht sich auf ein Blockdiagramm in den beigefügten Zeichnungen. Alternative Implementierungen des im Blockdiagramm dargestellten Beispiels umfassen ein oder mehrere zusätzliche oder alternative Elemente, Verfahren und/oder Vorrichtungen. Zusätzlich oder alternativ können einer oder mehrere der Beispielblöcke des Diagramms kombiniert, geteilt, neu angeordnet oder weggelassen werden. Die durch die Blöcke des Diagramms dargestellten Komponenten werden durch Hardware, Software, Firmware und/oder eine beliebige Kombination von Hardware, Software und/oder Firmware implementiert. In einigen Beispielen wird mindestens eine der durch die Blöcke dargestellten Komponenten durch eine Logikschaltung implementiert. Wie hierin verwendet, ist der Begriff „Logikschaltung“ ausdrücklich als eine physische Vorrichtung definiert, die mindestens eine Hardwarekomponente enthält, die so konfiguriert ist (z. B. durch Betrieb gemäß einer vorbestimmten Konfiguration und/oder durch Ausführung gespeicherter maschinenlesbarer Anweisungen), dass sie eine oder mehrere Maschinen steuert und/oder Operationen einer oder mehrerer Maschinen durchführt. Beispiele für Logikschaltungen sind ein oder mehrere Prozessoren, ein oder mehrere Coprozessoren, ein oder mehrere Mikroprozessoren, ein oder mehrere Prozessoren, ein oder mehrere digitale Signalprozessoren (DSPs), ein oder mehrere anwendungsspezifische integrierte Schaltungen (ASICs), ein oder mehrere feldprogrammierbare Gate-Arrays (FPGAs), eine oder mehrere Mikroprozessoreinheiten (MCUs), ein oder mehrere Hardware-Beschleuniger, ein oder mehrere Spezial-Computerchips und ein oder mehrere System-on-Chip-Bauelemente (SoC). Einige Beispiel-Logikschaltungen, wie ASICs oder FPGAs, sind speziell konfigurierte Hardware zur Durchführung von Operationen (z. B. eine oder mehrere der hierin beschriebenen und in den Flussdiagrammen dieser Offenbarung dargestellten Operationen, falls solche vorhanden sind). Einige Beispiel-Logikschaltungen sind Hardware, die maschinenlesbare Befehle ausführt, um Operationen durchzuführen (z. B. eine oder mehrere der hierin beschriebenen und durch die Flussdiagramme dieser Offenbarung dargestellten Operationen, falls solche vorhanden sind). Einige Beispiel-Logikschaltungen umfassen eine Kombination aus speziell konfigurierter Hardware und Hardware, die maschinenlesbare Befehle ausführt.
-
Die obige Beschreibung bezieht sich auf verschiedene hierin beschriebene Operationen und Flussdiagramme, die zur Veranschaulichung des Ablaufs dieser Operationen beigefügt werden können. Alle diese Flussdiagramme sind repräsentativ für die hierin offenbarten Beispielverfahren. In einigen Beispielen implementieren die durch die Flussdiagramme dargestellten Verfahren die durch die Blockdiagramme dargestellten Vorrichtungen. Alternative Implementierungen der hier offenbarten Beispielverfahren können zusätzliche oder alternative Operationen umfassen. Darüber hinaus können Operationen alternativer Implementierungen der hier offengelegten Verfahren kombiniert, aufgeteilt, neu angeordnet oder weggelassen werden. In einigen Beispielen werden die hier beschriebenen Operationen durch maschinenlesbare Anweisungen (z. B. Software und/oder Firmware) implementiert, die auf einem Medium (z. B. einem zugreifbaren maschinenlesbaren Medium) zur Ausführung durch eine oder mehrere Logikschaltungen (z. B. Prozessor(en)) gespeichert sind. In einigen Beispielen werden die hier beschriebenen Operationen durch eine oder mehrere Konfigurationen einer oder mehrerer speziell entwickelter Logikschaltungen (z. B. ASIC(s)) implementiert. In einigen Beispielen werden die hier beschriebenen Operationen durch eine Kombination aus speziell entwickelten Logikschaltungen und maschinenlesbaren Anweisungen, die auf einem Medium (z. B. einem zugreifbaren maschinenlesbaren Medium) zur Ausführung durch Logikschaltungen gespeichert sind, implementiert.
-
Wie hierin verwendet, ist jeder der Begriffe „zugreifbares maschinenlesbares Medium“, „nichttransitorisches maschinenlesbares Medium“ und „maschinenlesbare Speichervorrichtung“ ausdrücklich definiert als ein Speichermedium (z. B. eine Platte eines Festplattenlaufwerks, eine Digital Versatile Disc, eine Compact Disc, ein Flash-Speicher, ein Festwertspeicher, ein Speicher mit wahlfreiem Zugriff usw.), auf dem maschinenlesbare Anweisungen (z. B., Programmcode in Form von z. B. Software und/oder Firmware) für eine beliebige geeignete Zeitdauer (z. B. dauerhaft, für einen längeren Zeitraum (z. B. während der Ausführung eines mit den maschinenlesbaren Anweisungen verbundenen Programms) und/oder für einen kurzen Zeitraum (z. B. während der Zwischenspeicherung der maschinenlesbaren Anweisungen und/oder während eines Pufferungsprozesses) gespeichert werden). Darüber hinaus sind die Begriffe „zugreifbares, maschinenlesbares Medium“, „nicht-transitorisches, maschinenlesbares Medium“ und „maschinenlesbare Speichervorrichtung“ hier ausdrücklich so definiert, dass sich ausbreitende Signale ausgeschlossen sind. Das heißt, dass keiner der Begriffe „zugreifbares maschinenlesbares Medium“, „nicht-transitorisches maschinenlesbares Medium“ und „maschinenlesbare Speichervorrichtung“, wie sie in den Ansprüchen dieses Patents verwendet werden, so gelesen werden kann, dass sie als sich ausbreitende Signale gelesen werden.
-
In der vorstehenden Beschreibung wurden spezifische Ausführungsformen beschrieben. Ein Durchschnittsfachmann erkennt jedoch, dass verschiedene Modifikationen und Änderungen vorgenommen werden können, ohne den Schutzumfang der Erfindung, wie sie in den untenstehenden Ansprüchen definiert ist, abzuweichen. Dementsprechend sind die Beschreibung und die Figuren vielmehr in einem illustrativen als in einem einschränkenden Sinne zu betrachten, und alle derartigen Modifikationen sollen im Umfang der vorliegenden Lehren eingeschlossen sein. Darüber hinaus sind die beschriebenen Ausführungsformen/Beispiele/Implementierungen nicht als sich gegenseitig ausschließend zu verstehen, sondern vielmehr als potentiell kombinierbar, wenn solche Kombinationen in irgendeiner Weise permissiv sind. Mit anderen Worten kann jedes Merkmal, das in einer der vorgenannten Ausführungsformen/Beispiele/Implementierungen offenbart wird, in jeder der anderen vorgenannten Ausführungsformen/Beispiele/Implementierungen enthalten sein.
-
Die Nutzen, Vorteile, Lösungen für Probleme und alle Elemente, die zum Auftreten oder einer Verstärkung eines Nutzens, eines Vorteils, oder einer Lösung führen können, sind nicht als kritische, erforderliche oder wesentliche Merkmale oder Elemente in einigen oder sämtlichen Ansprüchen zu verstehen. Die Erfindung ist lediglich durch die angehängten Ansprüche definiert, einschließlich jeglicher Änderungen, die während der Anhängigkeit dieser Anmeldung vorgenommen wurden und aller Äquivalente der erteilten Ansprüche.
-
Darüber hinaus können in diesem Dokument relationale Begriffe wie erster und zweiter, oberer und unterer und dergleichen lediglich verwendet sein, um eine Entität oder Aktion von einer anderen Entität oder Aktion zu unterscheiden, ohne notwendigerweise eine tatsächliche derartige Beziehung oder Reihenfolge zwischen solchen Entitäten oder Aktionen zu erfordern oder zu implizieren. Die Ausdrücke „umfasst“, „umfassend“, „hat“, „haben“, „aufweist“, „aufweisend“, „enthält“, „enthaltend“ oder jede andere Variation davon sollen eine nicht-ausschließliche Einbeziehung abdecken, derart, dass ein Prozess, Verfahren, Produkt oder Vorrichtung, das eine Liste von Elementen umfasst, hat, aufweist, enthält, nicht nur diese Elemente aufweist, sondern auch andere Elemente aufweisen kann, die nicht ausdrücklich aufgelistet sind oder einem solchen Prozess, Verfahren, Produkt oder Vorrichtung inhärent sind. Ein Element, dem „umfasst ... ein“, „hat ... ein“, „aufweist ... ein“ oder „enthält ...ein“ vorausgeht, schließt ohne weitere Einschränkungen die Existenz zusätzlicher identischer Elemente in dem Prozess, dem Verfahren, dem Produkt oder der Vorrichtung, die das Element umfasst, hat, aufweist oder enthält, nicht aus. Die Begriffe „ein“ und „eine“ sind als eine oder mehrere definiert, sofern es hierin nicht ausdrücklich anders angegeben wird. Die Begriffe „im Wesentlichen“, „im Allgemeinen“, „ungefähr“, „etwa“ oder jede andere Version davon sind so definiert, dass sie von einem Fachmann auf diesem Gebiet nahekommend verstanden werden, und in einer nicht-einschränkenden Ausführungsform ist der Ausdruck definiert als innerhalb von 10%, in einer weiteren Ausführungsform als innerhalb von 5%, in einer weiteren Ausführungsform als innerhalb von 1% und in einer weiteren Ausführungsform als innerhalb von 0,5%. Der Ausdruck „gekoppelt“, wie er hierin verwendet wird, ist als verbunden definiert, jedoch nicht notwendigerweise direkt und nicht notwendigerweise mechanisch. Eine Vorrichtung oder eine Struktur, die auf eine bestimmte Art „konfiguriert“ ist, ist zumindest auch so konfiguriert, kann aber auch auf Arten konfiguriert sein, die nicht aufgeführt sind.
-
Die Zusammenfassung der Offenbarung wird bereitgestellt, um es dem Leser zu ermöglichen, schnell das Wesen der technischen Offenbarung zu ermitteln. Sie wird mit dem Verständnis bereitgestellt, dass sie nicht zur Auslegung oder Einschränkung des Umfangs oder der Bedeutung der Ansprüche verwendet wird. Ferner kann der vorangehenden detaillierten Beschreibung entnommen werden, dass verschiedene Merkmale in verschiedenen Ausführungsformen zum Zwecke der Verschlankung der Offenbarung zusammengefasst sind. Diese Art der Offenbarung ist nicht so auszulegen, dass sie die Absicht widerspiegelt, dass die beanspruchten Ausführungsformen mehr Merkmale erfordern, als ausdrücklich in jedem Anspruch angegeben sind. Vielmehr ist es so, wie die folgenden Ansprüche zeigen, dass der erfinderische Gegenstand in weniger als allen Merkmalen einer einzigen offenbarten Ausführungsform liegt. Somit werden die folgenden Ansprüche hiermit in die detaillierte Beschreibung inkorporiert, wobei jeder Anspruch für sich als ein separat beanspruchter Gegenstand steht.