PatentDe  


Dokumentenidentifikation DE3306088C2 27.04.1995
Titel Verfahren und Einrichtung zum Lesen eines Balkencodes
Anmelder Burr-Brown Corp., Tucson, Ariz., US
Erfinder Smith, Robert E., Tucson, Ariz., US
Vertreter Wächtershäuser, G., Dipl.-Chem. Dr.rer.nat., Pat.-Anw., 80331 München
DE-Anmeldedatum 22.02.1983
DE-Aktenzeichen 3306088
Offenlegungstag 27.10.1983
Veröffentlichungstag der Patenterteilung 27.04.1995
Veröffentlichungstag im Patentblatt 27.04.1995
IPC-Hauptklasse G06K 7/10
IPC-Nebenklasse G06F 3/033   

Beschreibung[de]

Die Erfindung betrifft eine Einrichtung sowie ferner ein Verfahren zum Lesen von Balkencode-Etiketten, bei denen alternierend dunkle Balken und helle Zwischenräume variabler Breite vorgesehen sind, welche numerische und alphanumerische Informationen darstellen, mit den Merkmalen des Oberbegriffs des Patentanspruchs 1 bzw. des Patentanspruchs 10.

Es sind verschiedene "Balkencodes" im Gebrauch, welche alternierende, langgestreckte, dunkle Balken und helle Zwischenräume umfassen und digitale sowie alphanumerische Codes darstellen. Beispielsweise wird der "Universal Product Code" (UPC) allgemein bei Nahrungsmitteln angewendet. Zum Lesen und Decodieren solcher Balkencode-Etiketten werden Balkencode-Lesegeräte verwendet. Typischerweise umfaßt ein Balkencode-Lesegerät einen Fühler mit einer lichtemittierenden Diode, deren Licht aus einer Öffnung an einem Ende des Fühlers austritt. Der Fühler wird relativ zum Balkencode-Etikett vertikal gehalten und rasch von einem Ende zum anderen des Balkencode-Etiketts bewegt. Diesen Vorgang bezeichnet man als "Abtastung" des Etiketts. Eine photoempfindliche Einrichtung, z. B. ein Phototransistor, empfängt das Licht, welches von der lichtemittierenden Diode emittiert wurde und von den hellen Zwischenräumen zwischen den dunklen Balken des Etiketts reflektiert wird. Der Fühler umfaßt typischerweise einen einstufigen Verstärker, welcher das Ausgangssignal der photoempfindlichen Einrichtung verstärkt. Dieses Signal wird als "Fühlersignale" bezeichnet oder aber auch als "Analogsignal". Es hat typischerweise eine Amplitude von etwa 200 bis 300 mV. Vom oberen Ende des Fühlers erstreckt sich ein flexibles Kabel zu einer Schaltung, und das Signal wird über dieses Kabel zur Schaltung übertragen und hier weiter verstärkt und "geformt". Auf diese Weise erhält man ein Rohdatensignal, welches eine Folge von Impulsen und Intervallen umfaßt. Bei konstanter Abtastgeschwindigkeit entsprechen die Breiten der Impulse und der Intervalle präzise den Breiten der Balken und der Zwischenräume. Bei einigen bekannten Systemen, z. B. beim System der Interface Mechanisms, Inc. (Intermech, Inc.), Lynnwood, Washington, gelangt das Signal von der Fühlersignal-Konditionierschaltung zu einem Mikroprozessor-System, in dem Algorithmen zur Umwandlung des Rohdatensignals in binäre Zahlen ausgeführt werden. Jede dieser binären Zahlen entspricht einem Zeichen des Balkencode-Etiketts und jedes Bit hat einen logischen Zustand ("1" oder "0"), welcher der Breite des Balkens oder Zwischenraums des Balkencode-Etiketts entspricht. Sobald die binären Zahlen ermittelt wurden, können auch die entsprechenden Zeichen automatisch unter Zuhilfenahme einer Tabelle ermittelt werden.

Beispielsweise ist eine gattungsgemäße Einrichtung zum Lesen eines Balkencode-Etiketts, das mindestens ein Zeichen mit einer Vielzahl von Balken und Zwischenräumen aufweist, aus der DE-OS 22 31 953 bekannt. Bei dieser vorbekannten Einrichtung kann der aus dem zeitlichen Durchschnittswert aller Balken bzw. Zwischenräume gewonnene Referenzwert mit verringerter Genauigkeit gebildet werden, indem nicht alle Zeichen Code-Bits, d. h. alle Balken und Zwischenräume herangezogen werden. Hieraus folgt eine lediglich verringerte Genauigkeit bei verringertem Aufwand, woraus folgt, daß eine Überprüfung des Vergleichsergebnisses, d. h. der Binärzahl hinsichtlich ihrer Qualität nicht durchgeführt wird oder, daß bei Feststellung nicht ausreichender Güte ein entsprechend korrigierter Referenzwert eingesetzt wird. Diese Überprüfungsaufgaben können mit den aus diesen Datengruppen gebildeten Referenzwerten nicht durchgeführt werden, da sich hierbei keine gezielte Korrekturverschiebung ergeben würde.

Die derzeit bekannten Balkencode-Lesegeräte, zu denen auch die Einrichtung gemäß der DE-OS 22 31 953 gehört, sind nicht genau genug. Bei einigen Balkencode-Etiketten führen sie zu Fehlleseergebnissen. Bei manchen Geräten wird der Fühler oder Lesestab von Hand gehalten und von Hand bewegt. Dabei kommt es zu Änderungen in der Abtastgeschwindigkeit bei der Bewegung des Lesestabes von einem Ende zum anderen. Typischerweise und unbeabsichtigter Weise wird die Geschwindigkeit des Lesestabes relativ zum Balkencode-Etikett beschleunigt. Dies beruht auf der Überwindung der Schwerkraft des Arms und des Lesestabs während des Tastvorgangs. Am Ende des Abtastvorgangs ist die Geschwindigkeit des Lesestabs oft um 50% größer als zu Beginn des Abtastvorgangs eines jeweiligen Balkencode-Etiketts. Ein weiterer Umstand, welcher zu Schwierigkeiten und Ungenauigkeiten bei der Umwandlung der vorerwähnten rohen Daten in binäre Zahlen, welche Zeichen des Balkencode-Etiketts darstellen, führt, besteht in der Tatsache, daß häufig der Farbübergang eines hellgefärbten Zwischenraums zum benachbarten, dunklen Balken nicht abrupt erfolgt, sondern allmählich. Ein weiterer Faktor, welcher die Genauigkeit des Balkencode-Lesegerätes herabsetzt, besteht in der Anwesenheit von kleinen Fasenfehlern der Signalkonditionierschaltung, und zwar bei der Verstärkung und beim Formen des Analogsignals niedrigen Pegels zum Zwecke der Erzeugung von Standard-Logikpegels. Die besten, herkömmlichen Lesesysteme sind unfähig, Balkencode-Etiketts schlechter Druckqualität mit verschwommenen Übergängen von den Zwischenräumen zu den Balken genau zu lesen oder bei einer fehlenden Konstanz der Abtastgeschwindigkeit genaue Leseergebnisse zu erzeugen. Es besteht daher ein erheblicher Bedarf nach verbesserten, zuverlässigen Balkencode-Leseverfahren und -geräten.

Ausgehend von diesem Stand der Technik liegt der Erfindung demzufolge die Aufgabe zugrunde, eine gattungsgemäße Einrichtung und ein Verfahren zum Lesen eines Balkencode-Etiketts, das mindestens ein Zeichen mit einer Vielzahl von Balken und Zwischenräumen aufweist, derart weiterzuentwickeln, daß Ungenauigkeiten des Erkennungsvorgangs mit dem Balkencode-Lesegerät vermieden werden, welche einerseits durch unterschiedliche Relativgeschwindigkeiten zwischen dem Balkencode-Lesegerät und dem Balkencode-Etikett während des Leseverfahrens und andererseits durch ungenaue Balkencode-Etikette hervorgerufen werden.

Diese Aufgabe wird durch die Merkmale des Patentanspruchs 1 bzw. des Patentanspruchs 10 gelöst. Vorteilhafte Ausgestaltungen des erfindungsgemäßen Verfahrens und der Einrichtung sind in den Unteransprüchen angegeben.

Erfindungsgemäß wird ein Verfahren und eine Einrichtung zum Lesen eines Balkencode-Etiketts geschaffen, bei dem von einem Lesestab oder einer photoempfindlichen Einrichtung Gebrauch gemacht wird, mit der das Balkencode- Etikett abgetastet wird. Hierdurch wird ein Analogsignal erzeugt, welches die Menge des von den Balken und Zwischenräumen des Balkencode-Etiketts reflektierten Lichts wiedergibt. Dieses Analogsignal wird nun verstärkt und geformt, wobei man ein Rohdatensignal erhält. Nun wird in mindestens einem Teilbereich des Balkencode-Etiketts die Dauer eines jeden Impulses oder eines jeden Zwischenraums zwischen den Impulsen gemessen. Auf diese Weise werden digitale Zeitdauersignale erzeugt und gespeichert, welche diesen Zeitspannen der Erzeugung der Balkensignale bzw. der Zwischenraumsignale entsprechen. Nun wird eine Referenzzahl errechnet. Sodann erfolgt ein Vergleich zwischen dieser Referenzzahl und den zuvor ermittelten, digitalen Zeitspannenzahlen für den vorbestimmten Bereich des Balkencode-Etiketts. Auf diese Weise erhält man eine binäre Zahl mit Bits, welche jeweils den Balken und Zwischenräumen des vorbestimmten Bereichs entsprechen. Jedes Bit hat den Zustand "Eins", wenn die zugeordnete, digitale Zeitspannenzahl größer als die Referenzzahl ist. Nun wird bestimmt, ob die Binärzahl gemäß vorbestimmten Kriterien akzeptabel ist. Falls die Binärzahl nicht akzeptabel ist, wird die erste Referenzzahl eingestellt. Nun werden die digitalen Zeitspannenzahlen wiederum mit den eingestellten Referenzzahlen verglichen, und es wird wiederum festgestellt, ob die erhaltene, neue Binärzahl akzeptabel ist. Bei dieser Ausführungsform der Erfindung werden die Analogsignale mit einem herkömmlichen Balkencode-Lesestab erzeugt, und auch das Rohdatensignal wird mit einer herkömmlichen Signalkonditionierschaltung gewonnen. Das Rohdatensignal wird in ein Mikroprozessorsystem gegeben, in dem die Übergänge im Rohdatensignal erfaßt werden und die Zeitspannen der Impulse und der Intervalle des Rohdatensignals gemessen werden. Ferner werden hier die entsprechenden, digitalen Zeitspannensignale erzeugt und gespeichert. Das Mikroprozessorsystem errechnet eine Referenzzahl für ein erstes Zeichen des Balkencode-Etiketts, und zwar dadurch, daß die Summe der digitalen Zeitspannenzahlen des ersten Zeichens durch acht dividiert wird (Durchführung einer dreifachen Binärverschiebung). Hierdurch wird ein Anfangswert der Referenzzahl etwa in der Mitte zwischen einer "typischen" niedrigen, digitalen Zeitspannenzahl, welche "Null" bedeutet, und einer "typischen" höheren, digitalen Zeitspannenzahl, welche als "Eins" bedeutet, angenommen, und zwar bei der Tastgeschwindigkeit, welche bei der Abtastung des ersten Symbols vorliegt. Alle digitalen Zeitspannenzahlen des ersten Symbols werden nun mit der Referenzzahl verglichen und erhalten entweder den Wert einer logischen "Null" oder einer logischen "Eins", je nach dem, ob sie kleiner sind als die Referenzzahl oder diese übersteigen. Auf diese Weise erhält man die Binärzahl, welche eine Folge von logischen "1" und "0" darstellt und dem ersten Symbol des Balkencode-Etiketts entspricht.

Mit dem erfindungsgemäßen Verfahren und der erfindungsgemäßen Einrichtung wird insbesondere der Vorteil erzielt, daß der beschriebene Vergleich und, falls erforderlich, die Einstellung der Referenzzahl und der erneute Vergleich der digitalen Zeitspannenzahl mit der eingestellten Referenzzahl für jedes Zeichen des Etiketts zu einer vorzüglichen Kompensation der normalen Änderung der Lesestabgeschwindigkeit während des Abtastens eines jeweiligen Balkencode-Etiketts führt. Darüberhinaus ist die erfindungsgemäße Einrichtung und das erfindungsgemäße Verfahren dahingehend vorteilhaft, daß Balkencode-Etiketten mit geringer Qualität in zuverlässiger Weise lesbar sind. Es wurde bei der Durchführung des erfindungsgemäßen Verfahrens mit der erfindungsgemäßen Einrichtung festgestellt, daß in mehr als 99% der Fälle genaue Leseergebnisse erzielt wurden. Mit dem erfindungsgemäßen Verfahren und der erfindungsgemäßen Einrichtung können Balkencode-Etiketten nach dem Code 39 genau gelesen werden, auch wenn diese drei- oder viermal kopiert wurden und auch wenn die Abtastung mit dem Taststift diagonal über das Etikett erfolgt.

Bei der im einzelnen beschriebenen Ausführungsform der Erfindung handelt es sich bei dem Balkencode-Etikett um ein Etikett mit dem Code 39. Dieser erfordert, daß jedem Zeichen genau dreimal die logische "Eins" zukommt. Das Mikroprozessorsystem ermittelt, ob die erste Binärzahl genau dreimal die logische "Eins" umfaßt. Falls dies der Fall ist, so erfolgt ein Vergleich mit einer gespeicherten Nachschlagetafel, und auf diese Weise wird das erste Zeichen ermittelt. Falls die erste Binärzahl die logische "Eins" mehr als dreimal umfaßt, so erhöht das Mikroprozessorsystem die erste Referenzzahl um 6 1/4% (durch eine einfache binäre Verschiebung; Teilen durch 16). Dann werden die digitalen Zeitspannenzahlen des ersten Zeichens wiederum mit der neu eingestellten Referenzzahl verglichen. Das Mikroprozessorsystem erzeugt nun einen neuen Wert der ersten Binärzahl und bestimmt, ob der neue Wert der ersten Binärzahl nun genau dreimal die logische "Eins" enthält. Das Mikroprozessorsystem wiederholt dieses Verfahren, falls erforderlich, mehrmals in dem Bestreben, einen Wert der ersten binären Zahl zu erhalten, welche die logische "Eins" genau dreimal enthält. Wenn der anfängliche Wert der ersten Binärzahl die binäre "Eins" weniger als dreimal enthält, so vermindert das Mikroprozessorsystem den Anfangswert der Referenzzahl um 6,25%. Nun werden die digitalen Zeitspannenzahlen des ersten Zeichens wiederum mit dem neu eingestellten Wert der ersten Referenzzahl verglichen, und es wird ermittelt, ob der gebildete Wert der ersten Referenzzahl dreimal die logische "Eins" enthält. Falls erforderlich, wird dieses Verfahren wiederholt, in dem Bestreben, einen akzeptablen Wert der ersten Binärzahl zu erhalten. Falls kein akzeptabler Wert der ersten Binärzahl durch Modifizierung des Wertes der ersten Referenzzahl um einen Gesamtbetrag von etwa 30% erhalten werden kann, so stellt das Mikroprozessorsystem fest, daß es unmöglich ist, das erste Zeichen zu lesen.

Bei der beschriebenen Ausführungsform der Erfindung wird, falls erforderlich, eine gesonderte Referenzzahl für jedes Zeichen des Balkencode-Etiketts errechnet und modifiziert, und zwar in dem Bestreben, die Wirkung von Änderungen der Tastgeschwindigkeit und eines unvollkommenen Drucks des Balkencode-Etiketts sowie etwaiger Phasenfehler, welche durch die Konditionierschaltung eingeführt werden, auf ein Minimum zu bringen. Es wird ein "Zeichenfenster" verwendet, welches jeweils nur ein einziges Zeichen des Balkencode-Etiketts erfaßt. Hierdurch werden die Wirkungen von Rauschsignalen eliminiert, welche vom Tastgerät erzeugt werden, wenn kein Zeichen des Balkencode- Etiketts abgetastet wird.

Im folgenden wird die Erfindung anhand von Zeichnungen näher erläutert; es zeigen:

Fig. 1A und 1B Balkencode-Elemente und Zeichen zur Erläuterung der Erfindung;

Fig. 2A und 2B Blockschaltbilder der Erfindung;

Fig. 3A ein Diagramm eines typischen Balkencodezeichens;

Fig. 3B die Wellenform des Ausgangssignals des Taststabes beim Abtasten des Zeichens gemäß Fig. 3A;

Fig. 3C ein Rohdatensignal, welches von der Signalkonditionierschaltung, ansprechend auf das Ausgangssignal der Fig. 3B, erzeugt wird;

Fig. 4 ein Fließdiagramm des vom Mikroprozessor in der Schaltung der Fig. 2A ausgeführten Programms.

Zur Erläuterung der Erfindung wird ein weithin gebräuchlicher Balkencode, nämlich der "Code 39", herangezogen. Die Fig. 1A zeigt ein vergrößertes Diagramm des Zeichens "6" im Code 39. Die übrigen Zeichen im Code 39 finden sich in Tabelle 1. Jedes Zeichen des Codes 39 besteht aus neun "Elementen". Diese neun Elemente umfassen fünf "Balken", z. B. die Balken 51, 53, 55, 57 und 59 im Zeichen 50 der Fig. 1A. Die fünf Balken des Zeichens sind jeweils durch vier "Zwischenräume", nämlich die Zwischenräume 52, 54, 56 und 58 getrennt. Die Breite eines jeden Elements gibt einen Binärwert wieder. Ein schmaler Balken oder Zwischenraum bedeutet binär "Null", und ein breiter Balken oder Zwischenraum bedeutet binär "Eins".

In Fig. 1B sind die allmählichen Übergänge 63 und 64 zwischen den Balken 60 bzw. 62 und dem Zwischenraum 61 dargestellt. Dies veranschaulicht das zuvor erwähnte Übergangsproblem, welches häufig dazu führt, daß herkömmliche Balkencode-Lesesysteme ungenau gedruckte oder wiedergegebene Balkencode-Etiketten nicht richtig zu lesen vermögen.

Jedes breite Element, sei es nun ein Balken oder ein Zwischenraum, hat die 2,2fache Breite eines schmalen Elementes (Balken oder Zwischenraum).

Im folgenden soll die erfindungsgemäße Einrichtung anhand der Fig. 2A und 2B erläutert werden. Diese zeigen ein Balkencode-Etikett 3 mit einem "Start"-Zeichen und einer Vielzahl von Balkencodezeichen, die allgemein mit 5 bezeichnet sind. Ferner ist ein mit der Hand bewegter Lesestab 7 dargestellt, welcher von der Bedienungsperson in Richtung des Pfeils 8 bewegt wird, wobei sich das untere Ende des Lesestabes 7 dicht am Balkencode-Etikett 3 befindet.

Eine Lichtemissionsdiode, eine herkömmliche, photoempfindliche Einrichtung und ein Verstärker sind in dem Lesestab 7 enthalten und erzeugen ein Analogsignal, welches über eine flexible Leitung 9 ausgegeben wird. Die Leitung 9 ist mit dem Eingang einer herkömmlichen Konditionierschaltung 11 verbunden. Der Lesestab 7 und die Konditionierschaltung 11 für das Lesestabsignal sind bekannt und im Handel erhältliche Komponenten von Balkencode-Lesesystemen (z. B. Intermech, Inc.).

Der Ausgang der Konditionierschaltung 11 ist mit dem CB2- Eingang einer Zeitgeberschaltung 15 verbunden (Synertek 6522A). Diese umfaßt einen Zeitgeber und ist dazu befähigt, Übergänge des Rohdatensignals auf einem Leiter 13 zu erfassen. Die periphere Zeitgeberschaltung 15 erzeugt ein Unterbrechungssignal auf dem IRQ-Eingang eines Mikroprozessors 21 (Synertek 6502A). Die Datenbusanschlüsse des Mikroprozessors 21 und der peripheren Zeitgeberschaltung 15 sind durch acht Datenbusleitungen 19 verbunden.

Ein Nur-Lesespeicher (ROM) 29 (integrierte Schaltung 2732) ist vorgesehen, dessen Datenbusanschlüsse mit den Datenbusleitern 19 verbunden sind. Ein Speicher 31 mit freiem Zugriff (RAM) ist ebenfalls vorgesehen (integrierte Schaltung 2016P). Seine Datenbusanschlüsse sind mit den entsprechenden Leitern des Datenbusses 19 verbunden. Die jeweiligen Leiter eines Adreßbusses 25 sind mit den entsprechenden Adressenausgängen des Mikroprozessors 21 und den entsprechenden Adresseneingängen des ROM 29 und des Speichers 31 verbunden. Ein Decodierchip 33 (74LS42) umfaßt drei Adresseneingänge, welche mit drei Adressenausgängen des Mikroprozessors 21 verbunden sind. Die dort anstehenden Signale werden decodiert, und es werden Eingangssignale erzeugt, welche für die periphere Zeitgeberschaltung 15, den ROM 29 und den Speicher 31 sowie eine Latch-Schaltung 35 benötigt werden. Bei der Latch-Schaltung 35 kann es sich beispielsweise um die integrierte Schaltung 74LS244 handeln.

Acht manuelle Schalter 39 sind mit entsprechenden Eingängen der Latch-Schaltung 35 verbunden, so daß die Bedienungsperson manuell zwischen einer Vielzahl von verschiedenen Typen von Balkencodes wählen kann. Die Ausgangssignale der Latch-Schaltung 35 werden vom Mikroprozessor 21 gelesen, da die entsprechenden Ausgänge mit den entsprechenden Leitern des-Datenbusses 19 verbunden sind. Die I/O-Anschlüsse 17 der peripheren Zeitgeberschaltung 15 ermöglichen es dem System der Fig. 2A und 2B, mit beispielsweise einem anderen, bereits vorhandenen Computer zu kommunizieren.

Fig. 3A zeigt das "Start"-Zeichen im Code 39. Fig. 3B zeigt das Analogausgangssignal, welches auf der Leitung 9 der Fig. 2A erscheint, wenn das Startzeichen der Fig. 3A von links nach rechts abgetastet wird. Die Ziffern "Null" und "Eins" über den Balken und Zwischenräumen der Fig. 3A bezeichnen die logischen Zustände der Balken und Zwischenräume, wie man leicht durch Vergleich mit Tabelle 1 verifizieren kann. Die Konditionierschaltung 11 wandelt das 200 mV-Analogsignal der Fig. 3B in eine Folge von Impulsen mit Standard-Logikpegeln gemäß Fig. 3C um, wobei nun die Balken oder Zwischenräume (logisch "Null" bzw. logisch "Eins") der Fig. 3A mit entsprechenden Impulsen oder Zwischenräumen zwischen den Impulsen der Fig. 3C fluchten. Es sollte betont werden, daß die Zeitskala (t) in den Fig. 3B und 3C nicht notwendigerweise linear sein muß. Eine lineare Zeitskala würde nur vorliegen, wenn die Bedienungsperson das Startzeichen der Fig. 3A mit präzis konstanter Geschwindigkeit abtasten würde. Etwaige Änderungen der Abtastgeschwindigkeit führen zu entsprechenden Änderungen der Zeitskala der Fig. 3B und 3C.

Wie zuvor erwähnt, neigt der Benutzer dazu, die Geschwindigkeit der Lesestabbewegung zwischen dem Anfang und dem Ende des Balkencode-Etiketts 3 erheblich zu erhöhen, und zwar einfach aufgrund der Überwindung der Trägheit des eigenen Arms. Wie bereits erläutert, ist diese Änderung der Abtastgeschwindigkeit einer der wichtigsten Faktoren, welche die Genauigkeit und Zuverlässigkeit der herkömmlichen Balkenlesegeräte beschränken.

Zur Vermeidung der erläuterten Probleme hinsichtlich der Änderung der Lesestabgeschwindigkeit, hinsichtlich verschiedener Phasenverzögerungen in der Konditionierschaltung 11 und hinsichtlich verschiedener Druckungenauigkeiten des Balkencode-Etiketts 3 sammelt und speichert das System alle rohen Daten, welche auf dem Leiter 13 beim Abtasten des gesamten Balkencode-Etiketts 3 erscheinen. Die Rohdaten (in Form von Impulsen und Intervallen) werden in Zeitmessungen zwischen den Übergängen auf dem Leiter 13 umgewandelt. Die periphere Zeitgeberschaltung 15 unterbricht den Mikroprozessor 21 jedesmal, wenn ein Übergang in den Rohdatensignalen auf dem Leiter 13 erscheint, und der Mikroprozessor 21 liest den Inhalt einer Zeitschaltung (welche mit konstanter Geschwindigkeit zählt) in der peripheren Zeitgeberschaltung 15, und zwar ansprechend auf jede Unterbrechung. Sobald die Zeitschaltung abläuft, und zwar durch Verstreichen von 53 msec, ohne Auftreten eines Übergangs auf dem Leiter 13, so wird diese Tatsache vom Mikroprozessor 21 als das Ende des abgetasteten Balkencode-Etiketts 3 interpretiert. Immer wenn ein Übergang auf der Leitung 13 erscheint, ehe die Zeitschaltung der peripheren Zeitgeberschaltung 15 ausläuft, wird die Zeitschaltung zurückgestellt und beginnt wiederum von neuem zu zählen, so daß auf diese Weise die Dauer des nächsten Impulses oder Intervalls (entsprechend einem Balken oder Zwischenraum) auf dem Leiter 13 gemessen werden kann.

Diese Zählungen, welche im folgenden als "digitale Zeitspannenzahlen" bezeichnet werden und welche im Idealfall nur einen von zwei Werten haben, nämlich einen ersten Wert, der der logischen "Eins" entspricht, oder einen zweiten Wert, der der logischen "Null" entspricht, variieren jedoch in der Praxis beträchtlich aufgrund der erläuterten Änderung der Abtastgeschwindigkeit.

Erfindungsgemäß beginnt das Balkencode-Lesesystem mit der Berechnung eines Anfangswertes einer "Referenzzeit" oder einer "Referenzzahlung", welche etwa in der Mitte zwischen einer typischen oberen, digitalen Zähldauer, entsprechend logisch "Eins", und einer typischen, unteren, digitalen Zähldauer, entsprechend logisch "Null", im ersten Zeichen des Balkencode-Etiketts 3 liegt. Jede gespeicherte, digitale Zähldauer, welche die Abtastzeitdauer eines Balkens oder eines Zwischenraums dieses Zeichens darstellt, wird sodann verglichen mit dem errechneten Anfangswert der Referenzzahl und somit entweder als logisch "Null" interpretiert, wenn die digitale Zeitspannenzahl unterhalb der Referenzzahl liegt, oder als logisch "Eins", wenn die digitale Zeitspannenzahl den Anfangswert der errechneten Referenzzahl übersteigt. Die gebildete Binärzahl entspricht nun den Balken und Zwischenräumen des ersten Zeichens auf einer Bit-Element-Basis, unter der Voraussetzung, daß das Zeichen genau gelesen wurde.

Erfindungsgemäß wird sodann festgestellt, wie oft die logische "Eins" in der binären Zahl, welche dem ersten Zeichen entspricht, erscheint. Wir erinnern uns nun, daß im Code 39 die logische "Eins" genau dreimal in jedem Zeichen erscheinen muß. Wenn die logische "Eins" weniger als dreimal erscheint, so wird der Anfangswert der Referenzzahl um einen kleinen Prozentsatz herabgesetzt (6,25%, erhalten durch binäres Teilen durch 16). Nun wird der erwähnte Vergleich der digitalen Zeitspannenzahlen des ersten Zeichens wiederholt, jedoch in bezug auf die modifizierte und eingestellte Referenzzahl. Wenn der neue Wert der erwähnten Binärzahl die logische "Eins" bei einem Zeichen dreimal enthält, so wird davon ausgegangen, daß die Rohdaten dieses Zeichens korrekt interpretiert wurden. Wenn die logische "Eins" weniger als dreimal erscheint, so wird der Wert der Computer-Referenzzahl wiederum verringert. Dieses Verfahren wird wiederholt, und zwar bis zu insgesamt fünf Mal bis die logische "Eins" dreimal erscheint. Wenn nach dieser Aufwärtsveränderung der anfangs errechneten Referenzzahl um bis zu etwa 30% kein Erfolg eintritt und die logische "Eins" in der Binärzahl nicht dreimal erscheint, so nimmt der Mikroprozessor 21 an, daß das erste Zeichen nicht korrekt gelesen werden kann.

Wenn in ähnlicher Weise der Anfangsvergleich der neun Abtastzeitspannenzählungen des ersten Zeichens mit dem zu Anfang errechneten Referenzzahlenwert dazu führt, daß die logische "Eins" mehr als dreimal vorhanden ist, so wird der Anfangswert der Referenzzahl automatisch gesteigert, und zwar um einen kleinen Betrag (6,25%), und der Vergleich der neun digitalen Zeitspannenzahlen des ersten Zeichens mit der eingestellten Referenzzahl wird wiederholt. Dies geschieht so oft, bis die als Ergebnis des Vergleichs gebildete Binärzahl die logische "Eins" genau dreimal enthält. Wenn die logische "Eins" durch diese Abwärtseinstellung um etwa 30% des Anfangswertes nicht dreimal erhalten werden kann, so nimmt der Mikroprozessor 21 an, daß das erste Zeichen unleserlich ist.

Es wurde festgestellt, daß der beschriebene Vergleich und, falls erforderlich, die Einstellung der Referenzzahl und der erneute Vergleich der digitalen Zeitspannenzahl mit der eingestellten Referenzzahl für jedes Zeichen des Etiketts zu einer vorzüglichen Kompensation der normalen Änderungen der Lesestabgeschwindigkeit während des Abtastens eines jeweiligen Balkencode-Etiketts 3 führt.

Im folgenden soll unter Bezugnahme auf Fig. 4 dieses Verfahren näher erläutert werden. Das Diagramm der Fig. 4 ist ein funktionelles Fließdiagramm des vom Mikroprozessor 21 durchgeführten Verfahrens zur Umwandlung des Rohdatensignals auf dem Leiter 13 in einen Code mit "hohen Pegeln", welcher den einzelnen Zeichen 5 entspricht (Gruppen von Balken und Zwischenräumen), welche bei der erfolgreichen Abtastung eines Balkencode-Etiketts 3 erhalten werden.

Gemäß Fig. 4 wird das Programm bei der Position 100 gestartet, und es folgt zunächst der Block 101. Im Block 101 spricht der Mikroprozessor 21 auf das Unterbrechungssignal an, welches von der peripheren Zeitgeberschaltung 15 an seinen Eingang IRQ angelegt wird, und zwar ansprechend auf jeden Übergang des auf dem Leiter 13 stehenden Signals. Dabei wird jeweils der aktuelle Inhalt der internen Zeitschaltung der peripheren Zeitgeberschaltung 15 gelesen. Die jeweils aktuellen Inhalte konstituieren die digitale Zeitspannenzählung, welche die Breite des Impulses oder des Intervalls zwischen den beiden jüngsten Übergängen des Signals auf dem Leiter 13 darstellt. Dieser Prozeß wird für das gesamte Balkencode-Etikett 3 durchgeführt, bis die interne Zeiteinheit mit 53 msec ausläuft und ein weiteres Unterbrechungssignal erzeugt. In dieser Stelle erkennt das Programm, daß die digitalen Zeitspannenzählungen beendet sind und daß alle Daten gesammelt und im Speicher für das gesamte Balkencode-Etikett 3 gespeichert sind. Nun schreitet das Programm zum Block 102 weiter.

Im Block 102 wird der vorerwähnte Referenzzählwert für das erste, zuvor abgetastete Zeichen 5 ermittelt. Aus Gründen der Programmierwirtschaftlichkeit unterteilt das Programm die Gesamtheit der Abtastzählungen der neun Elemente für das jeweilige Zeichen 5 durch acht, und zwar einfach durch drei binäre Verschiebungen nach rechts. Dieser Wert wird nun als Anfangswert des Referenzzählwertes verwendet. Das Programm tritt nun in den Block 103 ein und vergleicht einen jeden der gespeicherten digitalen Zeitspannenzählwerte des ersten Zeichens mit dem errechneten Referenzzählwert. Wenn der zuvor gelesene, digitale Zeitspannenzählwert kleiner ist als der Referenzzählwert, so ordnet ihm das Programm den logischen Wert "Null" zu. Wenn der digitale Zeitspannenzählwert größer ist als der Referenzzählwert, so ordnet ihm das Programm den logischen Wert "Eins" zu. Das Programm tritt sodann in den Entscheidungsblock 104 ein. Hier wird die neun Bit-Binärziffer daraufhin überprüft, ob sie die logische "Eins" genau dreimal enthält (im Falle der Verwendung des Codes 39). Falls dies bestätigt wird, geht das Programm zum Block 108 über. Es erfolgt nun ein Vergleich mit einer gespeicherten Tabelle, welche die Information der Tabelle 1 enthält. Hierdurch wird die Art des ersten Zeichens ermittelt. Das Programm kehrt nun zum Block 102 zurück und errechnet die Anfangsreferenzzeit für ein zweites Zeichen des Balkencode- Etiketts 3.

Wenn jedoch das Ergebnis des Entscheidungsblocks 104 negativ ist, so schreitet das Programm zum Entscheidungsblock 105 fort. Hier bestimmt das Programm, ob mehr als fünf Einstellungen des anfangs errechneten Referenzzahlwertes für das erste Zeichen 5 vorgenommen wurden. Falls die Antwort negativ ist, so schreitet das Programm zum Entscheidungsblock 106 weiter und erhöht den derzeitigen Wert der Referenzzeit für das aktuelle Zeichen, wenn in der vorerwähnten neun Bit-Binärziffer die logische "Eins" mehr als dreimal vorkommt, oder andererseits wird der Wert der Referenzziffer vermindert, wenn die logische "Eins" in der neun Bit-Binärziffer weniger als dreimal vorkommt. Zur wirtschaftlichen Durchführung der Datenverarbeitung im Block 106 verschiebt der Mikroprozessor 21 den aktuellen Binärwert des Referenzzählwertes viermal nach rechts. Dies ist äquivalent einer binären Division durch 16. Hierdurch erhält man eine Zahl, welche 6,25% des Ursprungswertes darstellt. Dieser Wert wird zum aktuellen Referenzzählwert addiert, um eine Aufwärtsberichtigung vorzunehmen, oder subtrahiert, um eine Abwärtsberichtigung vorzunehmen. Sodann kehrt das Programm zum Block 103 zurück und vergleicht wiederum eine jede der neun digitalen Zeitspannenzählwerte mit dem voreingestellten Referenzzählwert, und zwar wiederum unter Erzeugung der binären Ziffern "Eins" oder "Null" aus den digitalen Zeitspannenzählwerten. Wenn die vorgenommene Einstellung des Referenzzählwertes zu einer positiven oder bejahenden Antwort im Entscheidungsblock 104 kommt (ehe fünf Einstellungen des Referenzzählwertes des aktuellen Zeichens vorgenommen wurden), so wird hieraus entnommen, daß das Auslesen des aktuellen Zeichens erfolgreich war, und das Programm schreitet nun zum Block 108 weiter. Hier wird die jeweils zuletzt erhaltene neun Bit-Binärziffer des Blocks 103 in einen "höheren Code" umgewandelt, und zwar unter Bezugnahme auf die vorerwähnte, gespeicherte Tabelle. Wenn jedoch nach fünf Versuchen der Einstellung des Referenzzählwertes für das jeweils aktuelle Zeichen die korrekte Anzahl der logischen "Eins" nicht erhalten wird, so erhält man im Entscheidungsblock 105 eine bestätigende Antwort, und das Programm schreitet zum Entscheidungsblock 109 weiter. Der Entscheidungsblock 109 des Programms bestimmt nun, ob das aktuelle Zeichen 5 das erste Zeichen 5 des Balkencode-Etiketts 3 ist. Wenn die Antwort im Entscheidungsblock 109 negativ ist, so schreitet das Programm zum Block 111 weiter. Die Dekodierungssequenz wird terminiert, und es wird ein Fehler angezeigt oder die Unmöglichkeit, dieses Balkencode- Etikett 3 zu lesen. Falls jedoch die Antwort dieses Entscheidungsblocks 109 positiv ist, so schreitet das Programm zum Block 110 weiter.

Zum Verständnis des Entscheidungsblocks 110 ist es nun wichtig zu erkennen, daß bei der Durchführung einer Balkencode-Abtastung stets die Gefahr des Auftretens eines Rauschens besteht, und zwar besonders zu Beginn des Balkencode-Etiketts 3. Dies beruht darauf, daß der Vorgang des Aufsetzens der Lesestiftspitze auf das Substrat des Etiketts 3 zu einem Übergang im Logikpegel der Leitung 13 führen kann. Ferner kann auch die Fläche vor Beginn des Balkencode-Etiketts 3 ausreichend dunkle Bereiche aufweisen, so daß ein fehlerhaftes Übergangssignal in die Leitung 13 gegeben werden kann, und zwar vor der eigentlichen Abtastung des Balkencode-Etiketts 3. Falls das Programm dennoch versuchen würde, diesen Übergang zu interpretieren, so könnte dies zu erheblichen Schwierigkeiten führen. Erfindungsgemäß wird diese Art von Störeffekten oder Rauschen maskiert, und zwar durch Bewegen eines Zeichenfensters, welches zu einer gegebenen Zeit immer nur ein Zeichen 5 umfaßt, und zwar zu einer Zeit, welche weiter "in" die zuvor gesammelte und gespeicherte Liste von digitalen Zeitspannenzählwerten liegt, bis schließlich das Startzeichen gefunden wird. Wenn das Startzeichen nicht gefunden werden kann, so wird angezeigt, daß das derzeitige Balkencode-Etikett 3 vom Programm nicht lesbar ist. Diese Situation entspricht einer positiven Antwort im Entscheidungsblock 110. Im Block 107 wird die Funktion der Bewegung des vorerwähnten Zeichenfensters durchgeführt, bis das Startzeichen gefunden wird.

Dieses Balkencode-Lesesystem 1 wurde an einer Vielzahl von Balkencode-Etiketten 3 geringer Qualität getestet. Es wurde festgestellt, daß in mehr als 99% der Fälle genaue Leseergebnisse erzielt wurden. Das Balkencode-Lesesystem vermag Balkencode-Etiketten 3 nach dem Code 39 genau zu lesen, auch wenn diese drei- oder viermal kopiert wurden und auch wenn die Abtastung mit dem Taststift 7 diagonal über das Etikett 3 erfolgt.

Vorstehend wurde nur eine spezielle Ausführungsform der Erfindung erläutert. Die Erfindung eignet sich jedoch für alle äquivalenten Balkencode-Lesesysteme, welche eine Referenzzeit automatisch zählen oder errechnen und danach den Zählwert automatisch einstellen, um die Umwandlung der Rohdaten des des Zeichens in eine Binärziffer, bestehend aus logisch "Eins" und logisch "Null", umzuwandeln, und zwar gemäß den speziellen Kriterien des abgetasteten Balkencodes. Die Kriterien können einfach darin bestehen, daß die Binärzahl, die aus den Rohdaten erhalten wird, in der Nachschlagetabelle der gültigen Zeichen gefunden wird. Anstelle der Grundberechnung der Referenzzahl in bezug auf ein vollständiges Zeichen des Etiketts 3 kann dies auch in bezug auf einen anderen Teil des Etiketts 3 erfolgen oder in bezug auf eine Gruppe von Balken oder Zwischenräumen. Tabelle 1


Anspruch[de]
  1. 1. Einrichtung zum Lesen eines Balkencode-Etiketts (3), das mindestens ein Zeichen mit einer Vielzahl von Balken und Zwischenräumen aufweist, mit

    einem Lesestab (7) zur Erzeugung eines Analogsignals bei Abtastung des Balkencode-Etiketts (3), wobei das Analogsignal Signalanteile umfaßt, die die von Balken und Zwischenräumen des Balkencode-Etiketts (3) reflektierte Lichtmenge wiedergeben, und die Breiten der Balken und Zwischenräume jeweils einen ersten und einen zweiten logischen Zustand repräsentieren,

    einer Konditionierschaltung (11) zur Verstärkung und Formung des Analogsignals unter Erzeugung eines Datensignals mit einer Vielzahl von Impulsen, wobei die Dauer der aufeinanderfolgenden Impulse den Breiten der entsprechenden Balken des Balkencode-Signals und die Zeitdauer der aufeinanderfolgenden Zwischenräume zwischen den Impulsen den Breiten der aufeinanderfolgenden Zwischenräume des Balkencode-Etiketts (3) entsprechen,

    einer Zeitgeberschaltung zum Messen der Zeitspanne jedes zu zumindest einem Zeichen des Balkencode-Etiketts (3) gehörenden Impulses und Intervalls unter Erzeugung einer Vielzahl von von digitalen Zeitspannenzahlen, die dann gespeichert werden,

    einem Mikroprozessor (21) zur Errechnung einer Referenzzahl,

    einer Vergleichseinrichtung zum Vergleichen jeder digitalen Zeitspannenzahl mit der Referenzzahl unter Erzeugung einer Binärzahl mit einer Vielzahl von Bits, die jeweils den Balken und Zwischenräumen des Zeichens zugeordnet sind, wobei ein jeweiliges Bit den ersten logischen Zustand besitzt, wenn die zugehörige digitale Zeitspannenzahl kleiner ist als die Referenzzahl, und ein jeweiliges Bit den zweiten logischen Zustand besitzt, wenn die zugehörige digitale Zeitspannenzahl größer ist als die Referenzzahl, und

    einer Decodiereinrichtung zur Decodierung der Binärzahl unter Ermittlung des zugeordneten Zeichens,

    dadurch, gekennzeichnet,

    daß eine Ermittlungseinrichtung vorgesehen ist, die ermittelt, ob die Binärzahl gemäß vorbestimmten Kriterien eine akzeptable Zahl ist,

    daß die Decodiereinrichtung die Binärzahl nur dann decodiert, wenn sie als akzeptabel beurteilt ist,

    daß eine Einrichtung vorhanden ist, die den Wert der Referenzzahl um einen vorbestimmten Korrekturwert verändert, falls die Binärzahl nicht akzeptabel ist, und

    daß die Vergleichseinrichtung nach Korrektur der Referenzzahl die digitale Zeitspannenzahl mit der korrigierten Referenzzahl vergleicht und eine entsprechend korrigierte Binärzahl erzeugt.
  2. 2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die vorbestimmten Kriterien das Erfordernis umfassen, daß die erste Binärzahl genau eine vorbestimmte Anzahl von Bits umfaßt, welche den ersten logischen Zustand haben.
  3. 3. Einrichtung nach Anspruch 2, dadurch gekennzeichnet, daß die Einstelleinrichtung die erste Referenzzahl verringert, falls die Anzahl der Bits, welche den ersten logischen Zustand haben, in der ersten Binärzahl kleiner ist als die erste vorbestimmte Zahl, so daß, eine größere Anzahl der digitalen Zeitspannen-Zahlenwerte die eingestellte, erste Referenzzahl übersteigt und mehr Bits der ersten binären Zahl den ersten logischen Zustand haben.
  4. 4. Einrichtung nach Anspruch 2, dadurch gekennzeichnet, daß die Einstelleinrichtung die erste Referenzzahl erhöht, falls die Anzahl der Bits des ersten logischen Zustandes in der ersten binären Zahl größer ist als die erste vorbestimmte Zahl, so daß eine größere Anzahl der digitalen Zeitspannen-Zahlenwerte unterhalb des eingestellten ersten Referenzzahlenwertes liegt und eine größere Anzahl Bits der ersten binären Zahl den zweiten logischen Zustand hat.
  5. 5. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß das Balkencode-Etikett (3) eine Vielzahl von Zeichen umfaßt.
  6. 6. Einrichtung nach Anspruch 5, gekennzeichnet durch eine Einrichtung zur Errechnung einer zweiten Referenzzahl, welche einem anderen der Zeichen entspricht.
  7. 7. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Decodierung der ersten binären Zahl unter Bezugnahme auf eine gespeicherte Tabelle erfolgt.
  8. 8. Einrichtung nach Anspruch 5, gekennzeichnet durch eine Einrichtung zur Auswahl eines Zeichenfensters, das zu jeder Zeit nur ein Zeichen durchläßt, und zur Bewegung dieses Zeichenfensters, so daß die Berechnung der Referenzzahlen nur auf Grundlage der digitalen Zeitspannenzahlenwerte erfolgt, welche in einem Zeichen vorhanden sind, das vollständig im Zeichenfenster erscheint, so daß Störungen durch Rauschsignale, welche außerhalb der Zeit der Abtastung der Zeichen des Balkencode-Etiketts (3) erzeugt werden, eliminiert werden.
  9. 9. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß der Lesestab (7) zur Erzeugung eines Analogsignals einen Taststift umfaßt, und daß die Zeitgeberschaltung (15) einen Zähler umfaßt, welcher mit einer vorbestimmten Geschwindigkeit zählt, und daß der Mikroprozessor (21), die Vergleichseinrichtung und die Einrichtung, die den Wert der Referenzzahl verändert, in einem Mikroprozessorsystem enthalten sind.
  10. 10. Verfahren zum Lesen eines Balkencode-Etiketts (3) mit den Schritten:
    1. a) Erzeugung eines Analogsignals bei Abtastung eines mindestens ein Zeichen mit einer Vielzahl von Balken und Zwischenräumen aufweisenden Balkencode-Etiketts (3), wobei das Analogsignal Signalanteile umfaßt, die die von den Balken und Zwischenräumen des Balkencode- Etiketts (3) reflektierten Lichtmengen wiedergeben und wobei die Breiten der Balken und Zwischenräume einen ersten und einen zweiten logischen Zustand repräsentieren,
    2. b) Verstärken und Formen des Analogsignals unter Erzeugung eines Datensignals mit einer Vielzahl von Impulsen, wobei die Dauer der aufeinanderfolgenden Impulse den Breiten der aufeinanderfolgenden Balken entspricht und den Zwischenräumen zwischen den Balken des Balkencode-Etiketts (3) entsprechen,
    3. c) Messen der Zeitspannen jedes Impulses und Intervalls des mindestens einen Zeichens des Balkencode-Etiketts (3) unter Bildung einer Vielzahl von die gemessenen Zeitspannen repräsentierenden digitalen Zeitspannen-Zählerwerten, die nachfolgend gespeichert werden,
    4. d) Berechnen einer Referenzzahl und
    5. e) Vergleichen jedes digitalen Zeitspannen-Zählerwertes mit der Referenzzahl unter Erzeugung einer nachfolgend decodierbaren Binärzahl mit einer Vielzahl von Bits, die jeweils den Balken und Zwischenräumen des Zeichens entsprechen und den ersten logischen Zustand besitzen, wenn der zugehörige digitale Zeitspannen-Zählerwert kleiner ist als die Referenzzahl, und den zweiten digitalen Zustand besitzen, wenn der zugehörigen digitale Zeitspannen-Zählerwert größer ist als die Referenzzahl, gekennzeichnet durch die Schritte:
    6. f) Feststellen, ob die Binärzahl gemäß vorbestimmten Kriterien eine akzeptable Zahl ist und Decodierung der Binärzahl, wenn diese akzeptabel ist, unter Ermittlung des entsprechenden Zeichens, und
    7. g) Korrigieren des Wertes der Referenzzahl um einen vorbestimmten Korrekturbetrag, falls die Binärzahl nicht akzeptabel ist, und Wiederholen der Schritte (e) und (f) unter Zugrundelegung der korrigierten Referenzzahl.
  11. 11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, daß die vorbestimmten Kriterien das Erfordernis beinhalten, daß die erste binäre Zahl genau eine erste, vorbestimmte Anzahl von Bits des ersten logischen Zustands umfaßt.
  12. 12. Verfahren nach Anspruch 11, dadurch gekennzeichnet, daß bei der Einstellung der Referenzzahl diese vermindert wird, falls die Anzahl der Bits des ersten logischen Zustands in der ersten binären Zahl kleiner ist als die erste vorbestimmte Zahl, so daß ein größerer Anteil der digitalen Zeitspannen-Zählerwerte die eingestellte erste Referenzzahl übersteigt und eine größere Anzahl von Bits der ersten binären Zahl den ersten logischen Zustand hat.
  13. 13. Verfahren nach Anspruch 11, dadurch gekennzeichnet, daß die Einstellung der ersten Referenzzahl eine Erhöhung derselben beinhaltet, falls die Anzahl der Bits mit dem ersten logischen Zustand in der ersten binären Zahl größer ist als die vorbestimmte Anzahl, so daß ein größerer Anteil der digitalen Zeitspannen-Zahlenwerte kleiner ist als die voreingestellte erste Referenzzahl und eine größere Anzahl von Bits der ersten Binärzahl den zweiten logischen Zustand hat.
  14. 14. Verfahren nach Anspruch 10, dadurch gekennzeichnet, daß das Balkencode-Etikett (3) eine Vielzahl von Zeichen umfaßt, wobei die Stufe (c) für das gesamte Balkencode-Etikett (3) durchgeführt wird, bevor die Stufe (d) für das erste Zeichen durchgeführt wird.
  15. 15. Verfahren nach Anspruch 14, dadurch gekennzeichnet, daß eine zweite Referenzzahl für ein anderes der Zeichen errechnet wird.
  16. 16. Verfahren nach Anspruch 10, dadurch gekennzeichnet, daß die erste Referenzzahl errechnet wird unter Durchführung einer Vielzahl von binären Verschiebungen der Summe aller digitalen Zeitspannen-Zahlenwerten des Zeichens, wobei der vorbestimmte Betrag der Stufe (g) die Durchführung einer Vielzahl von binären Verschiebungen der ersten Referenzzahl beinhaltet.
  17. 17. Verfahren nach Anspruch 16, dadurch gekennzeichnet, daß bis zu fünf Einstellungen des Wertes der ersten Referenzzahl vorgenommen werden.
  18. 18. Verfahren nach Anspruch 10, dadurch gekennzeichnet, daß die Decodierung der ersten binären Zahl anhand einer gespeicherten Tabelle erfolgt.
  19. 19. Verfahren nach Anspruch 14, dadurch gekennzeichnet, daß man ein Zeichenfenster auswählt, welches zu jeder Zeit nur ein Zeichen umfaßt, und daß dieses Zeichen bewegt wird unter Errechnung einer Referenzzahl nur auf Basis der digitalen Zeitspannen-Zahlenwerte dieses Zeichens, welches vollständig im Zeichenfenster erscheint, so daß die Effekte von Rauschsignalen eliminiert werden, welche außerhalb der Abtastung der Zeichen des Balkencode-Etiketts (3) zustandekommen.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com