DE3711855C2 - Verfahren und Anordnung zum Lesen der Information eines Balkenkodesymbols - Google Patents
Verfahren und Anordnung zum Lesen der Information eines BalkenkodesymbolsInfo
- Publication number
- DE3711855C2 DE3711855C2 DE3711855A DE3711855A DE3711855C2 DE 3711855 C2 DE3711855 C2 DE 3711855C2 DE 3711855 A DE3711855 A DE 3711855A DE 3711855 A DE3711855 A DE 3711855A DE 3711855 C2 DE3711855 C2 DE 3711855C2
- Authority
- DE
- Germany
- Prior art keywords
- bar code
- information
- signal
- scanning
- transitions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10544—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
- G06K7/10821—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
- G06K7/10861—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices sensing of data fields affixed to objects or articles, e.g. coded labels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/01—Details
- G06K7/016—Synchronisation of sensing process
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Electromagnetism (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Facsimile Scanning Arrangements (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Automatic Analysis And Handling Materials Therefor (AREA)
Description
Die vorliegende Erfindung betrifft ein Verfahren und eine
Anordnung zum Lesen der Information eines Balkenkodesymbols
nach Patentanspruch 1 bzw. 6.
Da sich Balkenkodes für eine Vielzahl von Dateneingabe-,
Identifikations- und Programmierungserfordernissen gut
eignen, gewinnt die Anwendung von Abtasttechniken zur Wieder
gewinnung von Information aus maschinenlesbaren Etiketten,
Abzeichen, Dokumenten usw. in einem weiten Bereich
von Anwendungfällen Bedeutung. Daraus folgt, daß Balken
kodesysteme unter Ausnutzung optischer Abtasttechniken den
Bedarf für schnelle genaue Dateneingaben wachsen lassen. Die
leichte Verfügbarkeit von Mikroprozessoren und dazugehörigen
Systemen zur Datenverarbeitung vereinfacht die Dekodierung
von in Balkenkodesymbolen vorliegender Information und deren
Aufbereitung für die Übertragung zu zugehörigen Datenutzungs
geräten. Weiterhin sind sehr genaue Balkenkodesysteme
verfügbar, die in Geräten Verwendung finden, in denen eine
entsprechend hohe Genauigkeit bei der Identifizierung von
Gegenständen erforderlich ist, auf denen der Balkenkode
aufgedruckt ist. Die gebräuchlichste Art von in einem Bal
kenkode gespeicherten Daten ist daher eine Gegenstands-
Identifikationsinformation, die für Inventarisierungen,
Arbeitsabläufe, Materialverteilungen und andere Material
dispositionsfunktion verwendet wird. In diesen Anwendungs
fällen kann das Balkenkodesymbol eine Produktnummer, eine
Seriennummer oder eine alphanumerische Beschreibung des Ge
genstandes repräsentieren.
Im Grundsatz werden Balkenkodedaten als Muster mehrerer
unterschiedlich breiter Informationszeichen in Form von
Balken und Balkenabständen auf ein Medium aufgedruckt und
gespeichert, wobei der Balkenkode durch Bewegung eines
kleinen Lichtpunktes über die Informationszeichen bei glatter
kontinuierlicher (d. h. konstanter) Abtastbewegung ab
getastet wird.
Das Ausgangssignal der Abtasteinrichtung wird durch die
Differenz des Reflexionsvermögen der Balken und Bal
kenabstände festgelegt. Die im Balkenkodesymbol gespei
cherten Daten werden durch Bewegung des Lichtpunktes des
optischen Abtasters über das Symbol oder durch die Bewegung
des Symbols relativ zum Lichtpunkt gelesen.
Generell können die Abtasteinrichtungen feststehende oder
bewegliche Abtasteinrichtungen sein, wobei von Hand oder
durch Maschinen gehaltene Abtasteinrichtungen vorkommen. Bei
beweglichen Abtasteinrichtungen kann die Relativbewegung
zwischen Abtasteinrichtung und Symbol manuell durch Bewegung
eines in der Hand gehaltenen Stabes oder automatisch in
einem Fördersystem realisiert werden, welche das Symbol an
einem festen Lichtstrahl in einem Lichtstrahlsystem vor
beiführt. Dabei wird das Symbol über einen abtastenden
Lichtstrahl oder in einem durch eine Maschine gehaltenen
Stabsystem, in dem die Maschine den Stab mechanisch am
Symbol vorbeibewegt, abgetastet. In derartigen Abtastsy
stemen ist eine im wesentlichen glatte und konstante Ab
tastgeschwindigkeit erforderlich, um das Balkenkodesymbol
zuverlässig zu lesen. Sind die Daten als eine relativ kon
stante serielle Folge von Datenimpulsen gelesen, so werden
sie durch einen Dekoder in durch Computer lesbare Daten
überführt, auf Fehler überprüft und sodann zur Weiterver
wendung zu einem Zentralcomputer übertragen.
Typischerweise überführen Balkenkode-Lesesysteme breite und
schmale Balken- und Balkenabstandsinformation in eine digi
tale Zeitinformation, in welcher die Balkenkodeinformation
mit einer glatten kontinuierlichen Bewegung abgetastet wird.
Diese Lösung führt jedoch dann nicht zu einem zuverlässigen
Lesen, wenn die Abtastgeschwindigkeit sich schnell ändert,
da die Geschwindigkeitsänderungen zu großen Zeitänderungen
der zugehörigen Zeitperioden führen, welche breite und
schmale Balken und Balkenabstände identifizieren, so daß die
wahren Zeitlängen der Balken und Balkenabstände in Bewe
gungsrichtung verdeckt werden. Bewegt sich die Abtastein
richtung beispielsweise mit einer Geschwindigkeit unter der
Nenngeschwindigkeit, so kann ein schmaler Balken leicht als
breiter Balken gelesen werden, während bei einer Geschwin
digkeit oberhalb der Nenngeschwindigkeit ein breiter Balken
leicht als schmaler Balken gelesen werden kann. Daraus
folgt, daß beispielsweise in heutigen Systemen mit von Hand
gehaltenen Lesestäben die Bedienungsperson zur Realisierung
einer glatten, kontinuierlichen Bewegung bei der Abtastung
der Balkenkodesymbole angehalten werden muß, da sonst bei
der Auslesung ungültige Daten erzeugt werden. Entsprechend
werden auch heutige Systeme mit durch eine Maschine gehal
tenen Lesestäben sowie Lichtstrahl-Abtastsysteme zur Sicher
stellung einer zuverlässigen Auslesung der Symbole mit glatter
kontinuierlicher Abtastgeschwindigkeit betrieben.
Es gibt jedoch Anwendungsfälle, beispielsweise bei einem
durch die Maschine gehaltenen beweglichen Lesestab, bei
denen es für den Leseabtastmechanismus zweckmäßig ist, daß
er von Stillstand auf eine hohe Geschwindigkeit schnell
beschleunigt und/oder von einer hohen Geschwindigkeit auf
Stillstand schnell abbremst, wenn Balkenkodesysteme abgeta
stet werden sollen. In derartigen Systemen bewegt sich der
Balkenkode-Lesemechanismus nicht mit der für heutige Bal
kenkode-Lesesysteme notwendigen glatten kontinuierlichen
Bewegung, wobei sich schnell ändernde Abtastgeschwindigkei
ten zu einer unzuverlässigen Auslesung der Balkenkodesymbole
führen.
Aus der GB-PS 1 467 877 sind ein Verfahren und eine Anord
nung zur Demodulation von auf einem Aufzeichnungsmedium auf
gezeichneter, digitale Bits mit jeweils einem Bitrahmen auf
weisender digitaler Information bekannt, wobei die Informa
tion durch eine sich relativ zum Medium bewegende Lese
einrichtung gelesen wird, um ein sie repräsentierendes
elektrisches Signal zu erzeugen, ein Signal erzeugt und
gespeichert wird, dessen Wert eine Funktion der Dauer des
Bitrahmens des dem gelesenen Bit vorhergehenden Bits ist,
für jeden Bitrahmen ein Taktausgangsimpuls erzeugt wird,
dessen Anfangsstelle am Beginn des Bitrahmens des gelesenen
laufenden Bits liegt und dessen Dauer von seiner Anfangs
stelle bis zu seiner Endstelle auf den Wert des gespei
cherten Signals bezogen ist, aus dem elektrischen Signal ein
Datenausgangssignal abgeleitet wird und die Demodulation der
digitalen Information unter Verwendung des Taktimpulses zur
Demodulation des Datenausgangssignals unabhängig von Ände
rungen der Relativgeschwindigkeit zwischen der Leseeinrich
tung und dem Medium abgeschlossen sind. In der Terminologie
vorliegender Erfindung wird dabei ein Prinzip der Referenz
bildung verwendet, bei dem die Breite der Balkenkodesymbole
abhängig jeweils von der Breite des vorangegangenen Abstan
des dekodiert wird, wobei die Abstände zwischen den Balken
sämtlich gleich breit sind und Referenzabstände definieren.
Änderungen der Referenzabstände aufgrund sich ändernder
Abtastgeschwindigkeit werden von einem Mikroprozessor in
Abhängigkeit von Tachometersignalen korrigiert.
Aus der DE 26 38 808 A1 ist ein Kartenleser zum Lesen von
kodierter Information von Datenkarten bekannt, wobei die In
formation nicht durch Änderung der Breite der Informations
symbole, sondern durch eine spaltenweise Aneinanderreihung
von Symbolen gleicher Breite übertragen wird. Daher treten
sich aus der Änderung der Lesegeschwindigkeit ergebende
Probleme bei einem Kartenleser nicht auf.
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, ein
Verfahren und eine Anordnung zum Lesen der Information von
Balkenkodesymbolen anzugeben, das bzw. die das Lesen von
Balkenkodesymbolen mit variabler Abtastgeschwindigkeit er
laubt, ohne daß Geschwindigkeitsinformationen aus Balken
kodesymbolen abgeleitet werden müssen.
Diese Aufgabe wird bei einem Verfahren und einer Anordnung
der eingangs genannten Art erfindungsgemäß durch die Merk
male des Patentanspruchs 1 bzw. 6 gelöst.
Weiterbildungen sowohl des erfindungsgemäßen Verfahrens als
auch der erfindungsgemäßen Anordnung sind Gegenstand ent
sprechender Unteransprüche.
Die Erfindung wird im folgenden anhand von den Figuren der
Zeichnung dargestellten Ausführungsbeispielen näher erläutert.
Es zeigt
Fig. 1 eine Blockdarstellung eines Kassettenschrank mit in
X- und Y- angeordneten Kassetten, wie er in einem
automatisierten Mehrfach-Kassettenabspielgerät
Verwendung findet, wobei die erfindungsgemäße
Balkenkodesymbol-Lesetechnik verwendbar ist. Dabei sind
X,Y-Achsen-Kassettenentnehmervorrichtung sowie
zugehörige X,Y-Entnehmertreiberschaltungen
vorgesehen;
Fig. 2 ein Blockschaltbild einer Ausführungsform einer
erfindungsgemäßen Anordnung für ein Gerät nach Fig. 1;
Fig. 3A bis 3D jeweils ein Diagramm eines Teils von kodierten
Balkenkodedaten sowie zugehörigen Signalverläufen;
Fig. 4A, 4B jeweils ein Blockschaltbild von Teilen des
Blockschaltbildes nach Fig. 2 im einzelnen;
Fig. 5 ein Schaltbild einer Fensterdetektoranordnung nach
Fig. 4A;
Fig. 6A bis 6E jeweils ein Diagramm, aus dem das Ende und der
Beginn aufeinanderfolgender Balkenkodesymbole,
entsprechende Stop- und Startränder sowie zugehörige Signale
von einem Fenstersignalgenerator ersichtlich sind;
Fig. 7 ein Schaltbild einer Byte-Folgesteueranordnung gemäß
Fig. 4A;
Fig. 8A bis 8G jeweils ein Diagramm eines
Byte-Folgesteuer-Zeittaktes;
Fig. 9A bis 9F jeweils ein Diagramm eines
Status-Byte-Schreibfolgesteuer-Zeittaktes; und
Fig. 10 ein Flußdiagramm der Dekodierungsfunktion eines
Mikroprozessors nach Fig. 4B.
Bei konventionellen Balkenkodesystemen besteht das vollständige
Balkenkodesymbol aus Start- und Stoprändern, Start- und Stop-
Zeichenmustern , Informationszeichen sowie ggf.
einem Prüfsummenzeichen. Die Start- und Stopränder enthalten
keine gedruckten Informationszeichen und werden
beispielsweise durch einen weißen Bereich gebildet, der weit
länger als ein breiter Abstand ist, wodurch dem Balkenkode-
Dekoder normalerweise eine Information darüber enthält, daß die
Abtasteinrichtung ein Balkenkodesymbol zu lesen beginnt oder
gerade eine Abtastung beendet hat. Das Startzeichen, das dem
ersten Zeichen des Balkenkodesymbols vorausgeht, ist ein
spezielles Balken-/Abstandsmuster, das zur Identifizierung des
Beginns eines Balkenkodesymbols verwendet wird. Der Stoprand
ist ebenfalls ein spezielles Balken-/Abstandsmuster, das der
Anzeige des Endes des Symbols dient. Die
Balken/-Abstandsmuster, die zur Kodierung der Start- und
Stopränder verwendet werden, besitzen generell keine
Start-Stop-Symmetrie, um es möglich zu machen, die Start- und
Stopränder auswechselbar zu verwenden, weil der
Dekodierungsprozeß zwischen einer Abtastung in Vorwärts- und
Rückwärtsrichtung unterscheiden kann. Die Start- und
Stopränder ermöglichen daher eine bidirektionale Abtastung eines Symbols.
Die Informationszeichen definieren die generelle
Struktur des Balkenkodesymbols und sind in den verschiedenen in
der Industrie entwickelten Balkenkodes unterschiedlich
realisiert. Die verschiedenen zur Verfügung stehenden
symbolischen Darstellungen sind gemäß der verwendeten
Kodierungstechnik, dem zur Verfügung stehenden Zeichensatz
(numerisch oder alphanumerisch) und der Informationsdichte bei
einer speziellen Informationszeichenbreite gruppiert. Die folgenden Tabelle 1
zeigt eine Anzahl von gebräuchlichen Balkenkodes und listet
diese in Form der verwendeten Kodierungstechnik und der
kodierten Daten auf. Bei den beiden angegebenen
Kodierungstechniken handelt es sich um eine Informationszeichen
breitenkodierung und eine NRZ-Kodierung. Die
Breitenkodierung wird in den meisten industriellen
Balkenkodes verwendet, während kommerzielle Balkenkodes
gewöhnlich die NRZ-Kodierung verwenden.
Die zur Darstellung von Binärdaten verwendete Technik
unterscheidet zwischen Informationszeichen-Breitenkodierung und NRZ-Kodierung.
In der Informationszeichen-Breitenkodierung repräsentiert ein schmales Zeichen
(Balken oder Abstand) Daten, deren logischer Wert Null ist.
Daten mit einem logischen Wert von Eins werden als breites
Zeichen gedruckt, dessen Breite typischerweise zwei- oder dreimal
so groß wie die des schmalen Zeichens ist. Es sind somit
definierte Druckübergänge von schwarz nach weiß oder weiß nach
schwarz vorhanden, welche jede Binärdatenzelle von ihrer
Nachbarin trennen. Andererseits kodiert die
NRZ-Kodierungstechnik Binärdaten in dem zugehörigen
Reflexionsvermögen der Balken und Abstände. Hier sind
Daten mit dem logischen Wert Null als reflektierende Fläche und
Daten mit dem logischen Wert Eins als nicht reflektierende
Fläche gegeben. Zwischen Bits ist kein Druckübergang vorhanden,
es sei denn, der logische Zustand ändert sich.
Weiterhin enthält jedes Informationszeichen in einer 2 von 5
Kodefamilie gemäß Tabelle 1 zwei breite Elemente pro Muster mit fünf
Informationszeichen (daher der Name 2 von 5). Der Kode verwendet
schwarze Balken und weiße Abstände mit numerischen
Zeichensätzen (0-9) und mit einer Binärkodierung von Eins für
breite und eine Binärkodierung von Null für schmale Zeichen.
Schmale Abstände zwischen den Zeichen trennen die Zeichen in
einem nicht verschachtelten Kode, während im verschachtelten
Kode die Abstände zwischen den Zeichen fehlen. Wie bereits
ausgeführt, sind an den Grenzen der Balken und Abstände in der Infor
mationszeichen-Breitenkodierung definierte Druckübergänge vorhanden. In
der NRZ-Kodierung ist jedoch zwischen Zeichen
in einem Balkenkodesymbol kein Druckübergang vorhanden, es
sei denn, es findet eine logische Änderung statt. In diesen
Techniken sind Abstände zwischen den Zeichen vorhanden, die
jedoch definierte Übergänge erzeugen. Erfindungsgemäß sind
daher die Zeichenabstände als inverse Funktion der
Abtastgeschwindigkeit in der gleichen Weise detektierbar, wie
die Informationszwischenbreiten bei der beispielhaft beschriebenen Informations
zeichen-Breitenkodierung. Die Datenelemente in den Zeichen einer
NRZ-Kodierung können dann im Zeichen detektiert werden.
Erfindungsgemäß erfolgt die Darstellung von Datenzellen,
Zeichen und/oder den Balkenkodesymbol-Grenzen bei der Informationszeichen-
Breitenkodierung oder der NRZ-Kodierung durch die Anzahl
von zwischen unterscheidbaren Übergängen gezählten Meßimpulsen,
wobei die Periode der Impulse einen Einheitsabstand definiert,
der eine inverse Funktion der Abtastgeschwindigkeit ist und
zur Messung der Zeichenbreiten in Abtastrichtung
verwendet wird.
Das erfindungsgemäße Verfahren und die erfindungsgemäße Anordnung
sind in einem automatisierten Videoband-Abspielgerät für
Kassetten verwendbar und ermöglichen die Identifizierung von
256 möglichen Videokassetten, auf denen beispielsweise
Werbematerial aufgezeichnet ist, das durch Sendestudios
ausgesendet wird. Zwar werden im folgenden das erfindungsgemäße
Verfahren und die erfindungsgemäße Anordnung anhand eines Gerätes
der vorgenannten Art und in Verbindung mit einem speziellen
Tachometersystem zur Festlegung der Bewegungsgeschwindigkeit
der optischen Abtasteinrichtung beschrieben. Das Verfahren und
die Anordnung sind jedoch für alle verfügbaren Balkenkodes mit Informations
zeichen-Breiten- oder NRZ-Kodierung verwendbar, wie sie oben in
der Tabelle 1 angegeben sind. Weiterhin sind sie auch in
Verbindung mit den oben erläuterten stationären und/oder
beweglichen optischen Abtastsystemen verwendbar. Zur
Vereinfachung der Beschreibung werden das erfindungsgemäße
Verfahren und die erfindungsgemäße Anordnung in Verbindung mit dem
verschachtelten 2 von 5 Kode, einem Balkenkode mit Informationszeichen-
Breitenkodierung beschrieben. Sie sind jedoch auch für
andere Balkenkodes verwendbar.
Fig. 1 zeigt ein elektromechanisches Gerät, in dem eine
erfindungsgemäße Balkenkode-Abtast- bzw. Leseanordnung verwendbar ist, wobei
es sich um ein Videoband-Kassettenabspielgerät 12 zur
automatischen Entnahme und Abspielung von in einem
Kassettenschrank 14 aufgehobenen Kassetten handelt. Der
Kassettenschrank 14 umfaßt X-Zeilen 16 und Y-Zeilen 18 von
Fächern 20 für die Aufbewahrung von Videokassetten 22. Auf
einem freiliegenden Ende der Kassetten befindet sich ein
Identifikations-Balkenkodesymbol 24 in Form eines vorgedruckten
Balkenkodeetiketts.
Eine X,Y-Kassettenaufnahmevorrichtung enthält einen
Kassettenaufnehmer 26, der beweglich auf einem bewegbaren
vertikalen Element 28 montiert ist und auf diesem zur Bewegung
in Y-Richtung durch einen Antrieb gleitet. Der
Kassettenaufnehmer 26 sowie das halternde vertikale Element 28
können durch einen entsprechenden Antrieb unabhängig in
X-Richtung bewegt werden. Somit kann der Kassettenaufnehmer 26
in X-Richtung längs einer einzigen Zeile von Fächern durch
Bewegen des Elementes 28 in Horizontalrichtung bewegt werden
oder er kann durch gleichzeitige Bewegung sowohl in X- als auch
in Y-Richtung zu einem speziellen Fach des Kassettenschranks 14 geführt
werden.
Auf dem Kassettenaufnehmer ist eine optische
Abtasteinrichtung 34 montiert, die beispielsweise
einen nicht mit einem Objekt in Kontakt tretenden Lichtstab der
eingangs genannten Art aufweist, welcher zur Abtastung der
Balkenkodesymbole auf einer einzigen Kassette oder einer Zeile
aufeinanderfolgender Kassetten in X-Richtung dient. Das
vertikale Element 28 und damit der Kassettenaufnehmer 26 sowie
die Abtasteinrichtung 34 werden in beiden Richtungen
auf der X-Achse durch eine geeignete Einrichtung horizontal
bewegt, wobei es sich beispielsweise um eine Trommel 36 zur
Erzeugung einer Bewegung eines Kabels 37 handeln kann, das um
eine Umfangsnut geführt ist. Dieses Kabel ist über (nicht
dargestellte), am Fachschrank befestigte Rollen mit beiden
Enden an den Enden des vertikalen Elementes (28) befestigt. Die
Trommel ist mechanisch mit einer Welle eines Antriebsmotors 38
gekoppelt, welcher seinerseits durch einen
Motortreiberverstärker 44 angesteuert wird. Dieser Verstärker
ist über eine X-Servoschaltung 42 mit einer geeigneten
Spannungsversorgung 40 gekoppelt. Zusätzlich zu den üblichen
Servofunktionen liefert die X-Servoschaltung ein logisches
Pegelrichtungssignal auf eine Leitung 45, das in einer
Leseschaltung nach Fig. 4 auch zur Anzeige der Richtung der
Abtastbewegung verwendet wird. Ein mit dem Antriebsmotor 38 gekoppelter Generator
zur Erzeugung einer Folge von Meßimpulsen in Form eines X-
Tachometers 46 über einer X-Meßleitung 48 liefert eine
entsprechende Folge von X-Meßimpulsen, die ein Maß für
die Motordrehung und damit für die Bewegungsgeschwindigkeit der
Abtasteinrichtung 34 in X-Richtung sind.
Erfindungsgemäß definiert die Periode zwischen den
Meßimpulsen die Meßabstandseinheit, welche eine inverse
Funktion der Abtastgeschwindigkeit ist. Ein typischer
Tachometer 46 mit hoher Auflösung kann größenordnungsmäßig 2000
Meßimpulse pro Motorumdrehung liefern.
Die Anordnung aus Kassettenaufnehmer 26 und
Abtasteinrichtung 34 wird durch eine geeignete
Einrichtung der bereits beschriebenen Art in Vertikalrichtung
nach oben oder nach unten bewegt. Es kann sich dabei ebenfalls
wieder um ein um eine Trommel 50 geführtes Kabel 49 handeln,
das an beiden Enden mit dem Kassettenaufnehmer 26 verbunden
ist. Ein Motor 52 dreht die Trommel unter Steuerung durch einen
Motortreiberverstärker 54, eine Y-Servoschaltung 56 und die
Spannungsversorgung 40. Ein an den Motor 52 gekoppelter Generator in Form
eines Y-Tachometers 58 liefert über eine Y-Meßleitung 60 eine
Folge von Y-Meßimpulsen, die ein Maß für die Bewegung
des Kassettenaufnehmers 26 in Y-Richtung sind. Da die
Abtasteinrichtung 34 die Balkenkodesymbole bei
Abtastung in beiden Richtungen längs der X-Achse, nicht jedoch
bei Bewegung in Y-Richtung abtastet, sind der X-Tachometer 46 und
die zugehörigen Komponenten erfindungsgemäß wesentlich.
Ersichtlich können die Symbole bei vertikal orientierten
Kassetten auch in Y-Richtung abgetastet werden, wobei dann der
Y-Tachometer 58 die Bewegungsgeschwindigkeitsinformation
liefert.
Die in den Symbolen der Kassetten kodierten Balkenkodedaten
werden durch die Abtasteinrichtung 34 abgetastet bzw. gelesen und
als Signal mit breiten und schmalen Impulsen entsprechend den
breiten der Balken und Abstände der Balkenkodesymbole auf eine
Balkenkode-Datenleitung 62, die im weiteren Verlauf auch nur
als Leitung bezeichnet wird, gegeben. Sind die Kassetten
identifiziert und entsprechenden Fächern zugeordnet, so kann
ihre Lage durch Führen der Abtasteinrichtung 34 über
die Kassetten geprüft werden, wobei die entsprechenden
Balkenkodesymbole gelesen werden. Da die
Betriebsgeschwindigkeit kritisch ist und da sich der Kassettenaufnehmer
26 und damit die Abtasteinrichtung 34 mit Geschwindigkeiten von
Null bis zu sehr hohen Geschwindigkeiten, beispielsweise
2,54 m/s bewegen müssen, bewegt sich die Abtasteinrichtung 34
im Bereich von 0 bis zu 2,54 m/s mit schnell ändernder
Geschwindigkeit, wenn sie die verschiedenen Kassetten
überläuft.
Die erfindungsgemäße Balkenkode-Leseanordnung gewährleistet eine
zuverlässige Auslesung der Symbole durch Eliminierung des
Zeitelementes aus der Auslesetechnik. Zu diesem Zweck sind die
X-Meßimpulse eine inversive Funktion der Geschwindigkeit
der Abtasteinrichtung 34, wobei die Breiten der
Balken und Abstände, d. h., die gemessenen Strecken dadurch
unterschieden werden, wieviele Meßimpulse auftreten,
wenn die Abtasteinrichtung 34 einen breiten Balken oder Abstand
abtastet, und wieviel Impulse auftreten, wenn er einen schmalen
Balken oder Abstand abtastet. Die Zeitdimension ist daher aus
dem Ausleseprozeß eliminiert.
Dafür zeigt Fig. 2 das erfindungsgemäße Konzept, bei dem das
Datensignal auf der Leitung 62 und das X-Meßsignal auf
der X-Meßleitung 48, die im weiteren Verlauf auch nur als Leitung
bezeichnet wird, nach Fig. 1 als entsprechende Eingangssignale in
die Schaltung nach Fig. 2 eingespeist werden. Das Datensignal
auf der Leitung 62 wird in einen Übergangsdetektor 100
sowie in einen Speicher (RAM) 102 mit wahlfreiem Zugriff als
ein Bit eines digitale Datums eingespeist, das das Datum als
Balken oder Abstand identifiziert, wie dies anhand von Fig. 4
noch beschrieben wird. Der Übergangsdetektor 100 ist an eine
Byte-Folgesteuerung 104 und weiterhin als Taktgeber an
einen Adreßzähler 106 sowie als Rücksetzgeber an eine
Zähleinrichtung 108 angekoppelt.
Die Zähleinrichtung 108 bildet zusammen mit einem Mikroprozessor 144
eine Anordnung zur Ermittlung der Breite von Informationszeichen.
Das X-Meßsignal auf der
Leitung 48 wird in die Folgesteuerung 104 und als
Takt in den Datenzähler 108 eingespeist. Die
Folgesteuerung 104 liefert verschiedene
Steuersignale zur Synchronisation des Ladens von Daten, zum
Rücksetzen des Zählers sowie zur Freigabe der Schreibfunktion
des RAM 102, wobei sie Puffersteuersignale für einen
Datenpuffer 110 und einen Adreßpuffer 112 sowie ein
Schreibsteuersignal für das RAM 102 liefert. Die Zähleinrichtung
zählt die X-Meßimpulse, welche zwischen
aufeinanderfolgenden Datenübergängen auftreten, wobei ein
Datenübergang zwischen jedem Balken/Abstand oder Abstand/Balken
auftritt.
Die Fig. 3A bis 3D zeigen die durch die
Abtasteinrichtung 34 bei der Abtastung von Balken
und Abständen im verschachtelten 2 von 5 Balkenkode erzeugten
Signale, wobei Information sowohl in den Balken als auch in den
Abständen enthalten sind und Zwischenzeichenabstände eliminiert
sind. Fig. 3B zeigt das Ausgangssignal der die Folgen von Balken
und Abständen gemäß Fig. 3A lesenden
Abtasteinrichtung 34. Jeder Balken und Abstand
definiert eine entsprechende Datenzelle. Jede positive und
negative Flanke des Datensignals wird durch den
Übergangsdetektor 100 detektiert, welcher für jeden Übergang
einen Impuls gemäß Fig. 3C liefert. Das X-Meßsignal auf
der Leitung 48 ist in Fig. 3D dargestellt, worin die Anzahl der
Meßimpulse, die während jedes breiten oder schmalen
Balken oder Abstandes zwischen Übergangsimpulsen, d. h., einem Zählwert
bereich vorbestimmter Größe, auftreten, durch die Zähleinrichtung 108 gezählt wird.
Der Übergangsdetektor 100 liefert ein Rücksetzsignal zum
Löschen der Zähleinrichtung 108, wonach dieser die
Tachometerimpulse speichert, welche während einem Zählwertbereich
auftreten, d. h., bis der Übergangsdetektor 100 den nächsten
Übergangsimpuls liefert. Sodann puffert die
Folgesteuerung 104 die Zählung in den Datenpuffer
110 und lädt den Zählwert mittels eines
RAM-Schreibsteuersignals in das RAM 102. Zähleinrichtung 108
wird zur Vorbereitung für die Zählung von Meßimpulsen
des nächsten Zählwertbereichs auf Null rückgesetzt. Die
Übergangsimpulse vom Übergangsdetektor 100 takten weiterhin den
Adreßzähler über Adressen entsprechend den RAM-Plätzen für jede
der Datenzellen. Die Folgesteuerung 104 liefert die
Steuersignale zum Adreßpuffer zur Pufferung und
Wirksamschaltung der Adreßdaten für das RAM 102 für
entsprechende Zählwertbereiche.
In dem hier beispielsweise verwendeten verschachtelten 2 von 5
Balkenkode sind 38 Balken und Abstände in einem
Balkenkodesymbol vorhanden. Da jeder Balken und Abstand einen
Zählwertbereich darstellt, sind auch in jedem Symbol 38 Zählwertbereiche
vorhanden. Daraus folgt, daß 38 Speicherplätze im RAM 102 und
entsprechende Adressen vorhanden sind. Da die Zähleinrichtung für
jeden Zählwertbereich einen Zählwert in das RAM 102 lädt, speichert
dieses 38 Datenzählwerte für jedes Symbol, wobei jeder Zählwert
gleich einer Binärzahl ist, die entweder einen breiten oder
schmalen Balken oder Abstand repräsentiert. Besitzt
beispielsweise ein breiter Balken oder Abstand eine
Abstandsstrecke zwischen Übergängen von 30 X-Meßimpulsen und ein
schmaler Balken oder Abstand eine Abstandsstrecke von 10
X-Meßimpulsen, so speichert das RAM 38 Binärwerte, wobei jeder
Wert gleich 30 Zählwerten für breite Balken und Abstände und
gleich 10 Zählwerten für schmale Balken und Abstände ist. In der
hier beschriebenen Anordnung liegt ein vorgewählter Zählwertbereich
zur Darstellung eines breiten Elementes im Bereich von 27 bis
50 Impulsen, während ein Impulszählwert für das schmale Element
im Bereich von 2 bis 26 Impulsen liegt. Impulszählwerte über 50
oder unter 5 werden als ungültig betrachtet.
Wie im folgenden noch beschrieben wird, ist am Beginn der Folge
von Zählwertbereichen eine Statuszelle und ein entsprechender
Statusplatz im RAM enthalten. Die Statuszelle wird zum Teil als
Binärwert repräsentiert, der gleich der Anzahl von Übergängen
ist, die während des Auslesens eines Balkenkodesymbols
gespeichert werden, und der im hier beschriebenen Format eine
feste Zahl 38 ist. Speziell enthält das Status-Byte den
Übergangszählwert in den ersten sechs Bits D0 bis D5, wobei D6
nicht ausgenutzt wird und D7 die Vorwärts/Rückwärts-Information
für den Dekodierungsprozeß enthält. Somit wird das
Status-Byte vor der tatsächlichen Dekodierung der
Zählwertbereichsinformation aus dem RAM benutzt, um sicherzustellen,
daß die richtige Anzahl von Übergängen und damit Zählwertbereichen
gelesen und gespeichert wurde. Ist dies nicht der Fall, so wird
die Information verworfen.
Die einem Symbol entsprechende Information wird als Funktion
eines Unterbrechungsbefehls, der von der
Folgesteuerung 104 zu einem Mikroprozessor (Fig. 4)
geliefert wird, aus dem RAM 102 gelesen, wobei der
Mikroprozessor die Information erhält, daß Daten im RAM 102
bereitstehen. Das Status-Byte wird zunächst in den Speicher
geladen und hinsichtlich der richtigen Anzahl von Übergängen
geprüft. Falls richtig, werden die Daten sodann für den
nachfolgenden Dekodierungsprozeß in einen
Mikroprozessorspeicher geladen, wie dies im folgenden anhand
von Fig. 10 beschrieben wird. Das RAM 102 ist dann für den
Beginn des Ladens der Zählwerte für das nächste
Balkenkodesymbol frei.
Fig. 4 zeigt weitere Einzelheiten der Balkenkode-Leseanordnung
nach Fig. 2, wobei sich entsprechende Kompenten mit sich
entsprechenden Bezugszeichen versehen sind. Das Zählwertsignal
wird über die Leitung 62 von der Abtasteinrichtung 34
(Fig. 1) in Form eines Digitalsignals, das sich beispielsweise
von 0 bis 5 V ändert, in ein D-Flip-Flop 114 eingespeist.
Dieses Flip-Flop 114 wird durch das X-Zählsignal auf der
Leitung 48 getaktet und liefert ein digitales Datensignal an
einem Ausgang Q sowie ein invertiertes digitales Datensignal an
einem Ausgang , wobei beide Signale durch das
X-Zählsignal neu getaktet werden und Balken und Abstände
des Balkenkodesymbols als entsprechende logische Pegel
repräsentieren. Der Ausgang Q ist an einen Eingang eines
Fenstersignalgenerators (Fenstergenerator) 116 sowie an die Bit-Position D7 des
Datenpuffers 110 angekoppelt. Er liefert einen logischen Pegel
zur Identifizierung, ob das Daten-Byte ein Balken oder ein
Abstand ist. Der Ausgang ist an den Übergangsdetektor 100
und einen zweiten Eingang des Fenstersignalgenerators 116
angekoppelt. Das X-Zählsignal auf der Leitung 48 wird auf
einen dritten Eingang des Fenstersignalgenerators 116 gekoppelt.
Der Übergangsdektektor 100 wird durch eine
Exklusiv-ODER-Schaltung mit einer geringeren Verzögerung zwischen
den Eingängen gebildet und liefert einen Übergangsimpuls für
jeden Übergang zwischen Zählwertbereichen für eine Verzögerungsstufe
118 mit einer Verzögerung um einen Zählimpuls, den
Takteingang des Datenpuffers 110, eine erste
Übergangssperrschaltung 120 und für den Takteingang eines
Übergangszählers 122. Die Verzögerungsstufe 118 wird durch das
X-Zählsignal getaktet und liefert ein verzögertes
Übergangssignal mit einer Verzögerung von einem
Zählimplus zur Rücksetzung der Zähleinrichtung 108 sowie zur
Taktung des Adreßzählers 106. Die Zähleinrichtung 108 wird durch
ein invertiertes X-Zählsignal von der Leitung 48
getaktet.
Der Fenstersignalgenerator 116 bildet eine Anordnung zur Festlegung,
wenn die Abtasteinrichtung 34 sich einem
Balkenkodesymbol annähert und dieses verläßt und gibt die
zugehörigen Schaltungen zum Laden von Daten frei. Fig. 6A zeigt
in diesem Zusammenhang Daten von zwei aufeinanderfolgenden
Balkenkodesymbolen 24 mit einem nicht reflektierenden Bereich
124 zwischen diesen, was beispielsweise der Fall ist, wenn die
Videokassetten 22 sich mit nicht reflektierenden Abständen in den
Fächern 20 befinden. Die Etiketten selbst sind mit weiß
reflektierenden "Ruhezonen" versehen und weisen Start- und
Stopränder 126, 128 entsprechend den Abständen im
Balkenkodesymbol auf, wobei diese Ränder jedoch weit länger
sind und an beiden Enden des Balkenkodesymbol aufgedruckt
sind. Der Startrand 126 identifiziert den Start eines Symbols,
während der Stoprand 128 das Ende des vorhergehenden Symbols
repräsentiert. Der Fenstersignalgenerator 116 gemäß Fig. 4 wird durch
die sich ändernde Periode des X-Meßsignals getaktet und
kann somit detektieren, daß der Startrand 126 weit länger als
ein breiter Abstand ist und daß damit die Abtasteinrichtung 34
sich einem Balkenkodesymbol nähert. Der Fenstersignalgenerator 116
klammert seinerseits das Symbol durch Erzeugung von Start- und
Stopfensterimpulsen unmittelbar vor und nach dem Beginn und dem
Ende der Balkenkodeinformation, speziell an einem Punkt über
der Hälfte der Breiten des Start- und Stoprandes ein. Die
Randbreiten ändern sich ebenfalls invers mit der
Abtastgeschwindigkeit. Der Fenstersignalgenerator 116 wird im
folgenden anhand der Fig. 5 und 6 noch weiter beschrieben.
Das Fenstersignal wird in eine Verzögerungsschaltung 130, die
erste Übergangssperrschaltung 120 und in die
Folgesteuerung 104 als invertiertes Fenstersignal
eingespeist. Die Verzögerungsschaltung 130 wird ebenfalls durch
das X-Zählsignal getaktet und erzeugt ein erstes
Zähl-Nachfenster-Signal, das in eine Richtungsschaltung
132 und den Rücksetzeingang eines Übergangs-Flip-Flops 134
eingespeist wird. Die Richtungsschaltung 132 bildet zusammen
mit einem Übergangspuffer 140 Mittel, die in einem Status-Byte eine die
Abtasteinrichtung 34 repräsentierende Bit-Position besetzen.
Ein Eingang D des Flip-Flops 134 ist mit
einem Ausgang der ersten Übergangssperrschaltung 120 zur
Aufnahme eines Signal gekoppelt, das den Übergangszähler 122
freigibt. Ein Ausgang Q dieses Flip-Flops liefert den
Rücksetzimpuls für den Übergangszähler 122.
Ein Richtungssignal, das aus einem hohen oder tiefen, einer
Abtastung in Vorwärts- oder Rückwärtsrichtung repräsentierenden
logischen Zustand besteht, wird über die Leitung 45 von der
X-Servoschaltung 42 in die Richtungsschaltung 132 eingespeist.
Das Richtungssignal wird weiterhin in einen
Aufwärts/Abwärts-Eingang des Adreßzählers 106 sowie in die
Bitstelle D7 des Übergangspuffers 140 eingespeist und liefert
für diese Komponenten (und damit für das RAM 102) die Richtung,
in welcher die Abtasteinrichtung 34 das Symbol abtastet.
Die Richtungsschaltung 132 liefert ein Vorwärtssignal für den
Rücksetzeingang des Adreßzähler 106 zu dessen Rücksetzung und
ein Rückwärtssignal für den Ladeeingang des Adreßzählers 106 zu
dessen Laden mit der Zahl 38, wenn das Symbol rückwärts gelesen
wird.
Die erste Übergangssperrschaltung 102 liefert ein
Übergangs-Minus-Eins-Signal für die Folgesteuerung
104, wobei der erste Übergangsimpuls nach dem Fenstersignal
gelöscht wird, da keine Daten gespeichert und keine Daten zur
Pufferung auf die ersten Übergänge vorhanden sind. Die Übergangssperrschaltung
120 liefert wiederhin ein Freigabesignal für den
Freigabeeingang eines Eingangs/Ausgangs-Adreßpuffers 142
welcher einen Adreßbus eines Mikroprozessors 144 mit dem vom
Adreßpuffers 112 zum RAM 102 führenden Adreßbus koppelt. Die
erste Übergangssperrschaltung 120 wird im wesentlichen durch
ein Paar von seriellen D-Flip-Flops gebildet, deren
Ausgangssignal in den Eingang D des Flip-Flops 134 eingespeist
und zur Erzeugung des Übergangs-Minus-Eins-Signals mit dem
Übergangssignal einer UND-Verknüpfung unterzogen wird.
Die Folgesteuerung 104 nimmt weiterhin über die
Leitung 48 ein invertiertes X-Meßsignal auf. Wie bereits
ausgeführt, koordiniert die Folgesteuerung 104 die
verschiedenen, dem RAM 102 und dem Übergangszähler 122/Puffer
140 zugeordneten Lade- und Schreibfunktionen, wobei der
Übergangszählwert im Übergangszähler 122 über den
Übergangspuffer 140 und einen internen Bus 141 in das RAM 102
geladen wird. Der Übergangszählwert stellt die oben erwähnten
Statuszellendaten dar, welche gleich der Anzahl von
gespeicherten Übergängen sind. Im hier zur Diskussion stehenden
Balkenkodeformat soll der Übergangszählwert bei Abtastung in
Rückwärtsrichtung, d. h., von rechts nach links gleich 38 und
bei Abtastung in Vorwärtsrichtung und bei auf hohem Pegel
befindlichen Bit D7 im Übergangspuffer 140 gleich 38 plus 128
sein. Die Folgesteuerung 104 liefert somit
entsprechende Steuersignale für den Ausgangsfreigabeeingang des
Datenpuffers 110, den Takt- und Ausgabefreigabeeingang des
Adreßpuffers 112, den Schreibfreigabeeingang des RAM 102,
den Takt- und Ausgabefreigabeeingang des Übergangs-Flip-Flops
134 und des Übergangspuffers 140, den Takteingang des Puffers
140 sowie einen Eingang der Richtungsschaltung 132. Das in das
Flip-Flop 134 eingespeiste Signal schaltet dieses ab und lädt
den Übergangszählwert des Übergangszählers 120. Weiterhin liefert die
Folgesteuerung 104 ein Rücksetzsignal für sich
selbst und den Rücksetzeingang der ersten
Übergangssperrschaltung 120, wobei dieses Rücksetzsignal auch
das oben erwähnte Unterbrechungsbefehlssingals auf einer Leitung
146 für den Mikroprozessor 144 liefert. Das Rücksetzsignal wird
mit einem Ausgangssignal Q4 einer UND-Verknüpfung unterzogen,
wobei dieses Ausgangssignal Q4 als Steuerbit vom Mikroprozessor
144 über einen Eingangs/Ausgangs-Datenpuffer 148 geliefert
wird. Dieser Puffer koppelt den Datenbus zwischen dem
Datenpuffer 110 und dem RAM 102 mit dem Datenbus des
Mikroprozessors 144 zur Übertragung der RAM 102 gespeicherten
Balkenkodedaten nach jedem Balkenkodesymbol-Abtastprozeß.
Der Eingangs/Ausgangs-Datenpuffer 148 nimmt ein invertiertes
Schreibfreigabesignal an einem Takteingang über eine Leitung
152 auf. Dieses Freigabesignal wird vom Mikroprozessor 144 in
eine Bitleitung Q4 zur Koordinierung des Leseprozesses des RAM
102 geliefert. Der Ausgangsfreigabebetrag des
Eingangs/Ausgangs-Datenpuffers 148 nimmt einen
Datenanforderungsbefehl vom Mikroprozessor 144 über eine
Leitung 154 auf, der auch in den Ausgangsfreigabeeingang des
RAM 102 zur Umladung der Balkenkodedaten in den
Mikroprozessorspeicher eingespeist wird.
Fig. 5 zeigt eine Ausführungsform des Fenstersignalgenerators 116
nach Fig. 4, bei der das X-Meßsignal auf die Leitung 48
gegeben wird und die nicht invertierten und invertierten
Datensignale durch das Flip-Flop 114 geliefert werden. Das
Meßsignal taktet einen ersten Zähler 160, während die
invertierten Daten in ein ODER-Gatter 162 eingespeist werden.
Der zweite Eingang dieses ODER-Gatters 162 ist an einen Ausgang
Q8 des Zählers 160 angekoppelt, wobei das einer
ODER-Verknüpfung unterzogene Ausgangssignal auf den
Rücksetzeingang des Zählers gekoppelt wird. Somit wird der
Zähler 160 entweder durch die Datenübergänge oder durch das
Signal an seinem Ausgang Q8 rückgesetzt. Ein Ausgang Q7 des
ersten Zählers 160 taktet ein durch zwei Teile des Flip-Flops
164, dessen Ausgang auf seinen Eingang D rückgekoppelt ist.
Ein Ausgang Q des Flip-Flops 164 liefert die vorgenannten
Fenstersignalimpulse, welche das Balkenkodesymbol einklammern.
Zur Realisierung der Phase des Fenstersignals werden die
Datenübergänge in einen zweiten Zähler 166 eingespeist, der
durch das Signal am Ausgang Q7 des ersten Zählers 160 über ein
NOR-Gatter 161 und ein Filter 163 rückgesetzt wird. Ein Ausgang
Q5 des zweiten Zählers 166 ist über ein Filter 165 an den
Rücksetzeingang des durch zwei teilenden Flip-Flops 164
angekoppelt.
Gemäß Fig. 6 wird der erste Zähler 160 wiederholt gelöscht,
solange Daten am ODER-Gatter 162 erscheinen. Ist dies nicht
mehr der Fall, wenn die Abtasteinrichtung 34 den
Startrand 126 des Etiketts (Fig. 6A) abtastet, so wird der
Zähler 160 nicht mehr rückgesetzt und speichert einen großen
Zählwert, beispielsweise größer als 64 (ein Wert, der weit
größer als der größtmögliche, einem weiten Abstand zugeordnete
Wert 50 ist). Damit wird angezeigt, daß die Abtasteinrichtung
34 den Startrand 126, nicht jedoch einen weiten Abstand
abtastet und sich einem Balkekodesymbol nähert. Das Signal am
Ausgang Q7 des ersten Zählers 160 nimmt einen hohen Pegel an
und taktet das durch zwei teilende Flip-Flop 164 (Fig. 6B). Der
Zähler 160 wird am Endes des Startrandes wieder rückgesetzt,
wenn Daten auftreten, was auch am Ende des Stoprandes der Fall
ist, wenn ein nicht reflektierender Bereich erscheint.
Da nicht bekannt ist, ob eine Annäherung an einen Start- oder
einen Stoprand stattfindet, d. h., ob die Auslesung in Vorwärts-
oder Rückwärtsrichtung erfolgt, zählt der zweite Zähler 166
Datenübergänge. Bei der Auslesung eines Etiketts speichert der
Zähler 166 Zählwerte; dies ist jedoch nicht der Fall, wenn die
Abtasteinrichtung zwischen Etiketten tastet. Wenn der zweite
Zähler 166 mehr als 16 Zählwerte (in Annäherung an die 38
Übergänge in diesem Format) speichert, weiß die Schaltung, daß
der abgetastete Bereich ein Balkenkodesymbol, nicht aber einer
der Start-, Stopränder 126, 128 (Fig. 6D) abtastet. Der Ausgang Q5 des
zweiten Zählers 166 liefert ein Rücksetzsignal zum Löschen des
Flip-Flops 164, wodurch es möglich wird, das entsprechende
Startfenstersignal als hohen logischen Pegel zu erzeugen
(Fig. 6E). Am Ende des Symbols nach der Abtastung der Hälfte
des Stoprandes wird der Zähler 160 rückgesetzt und das dem Ende
des Fensters entsprechende Stopfenstersignal tief getaktet.
Fig. 7 zeigt eine Ausführungsform der Folgesteuerung
104, welche eine Daten-Byte-Folgesteuerung 168 und eine
Status-Byte-Schreibfolgesteuerung 170 enthält. Das invertierte
Meßsignal wird in UND-Gatter 172, 174 in den
Folgesteuerungen 168, 170 eingespeist. Das
Übergang-Minus-Eins-Signal von der ersten
Übergangssperrschaltung 120 taktet ein D-Flip-Flop 176, dessen
Ausgang Q an den zweiten Eingang des UND-Gatters 172
angekoppelt ist. Dieses Gatter taktet ein Schieberegister 178,
das seinerseits eine Folge von Daten-Byte-Signalen durch
Schiebung eines hohen Pegels über die entsprechenden Ausgänge Q
liefert. Der Ausgang Q0 ist an ein ODER-Gatter 180 und den
Ausgangsfreigabeeingang des Datenpuffers 110 (Fig. 4)
angekoppelt. Der Ausgang Q1 ist an ein ODER-Gatter 182 und der
Ausgang Q2 an die Rücksetzeingänge und das Flip-Flop 176
angekoppelt.
Das invertierte Fenstersignal vom Fenstersignalgenerator 116 taktet
ein Flip-Flop 184, dessen Ausgang Q an den zweiten Eingang des
UND-Gatters 174 angekoppelt ist. Dieses Gatter taktet ein
Schieberegister 186, das entsprechend dem Schieberegister 178
eine Folge von Status-Byte-Signalen an entsprechenden Ausgängen
Q liefert. Der Ausgang Q0 ist an die Richtungsschaltung 132 und
an den Takteingang des Übergangspuffers 140 (Fig. 4)
angekoppelt. Der Ausgang Q1 ist an den zweiten Eingang des
ODER-Gatters 180 sowie die Takt- und Ausgangsfreigabeeingänge
des Flip-Flops 134 und des Überzeugungspuffers 140 (Fig. 4) angekoppelt.
Der Ausgang Q2 ist an den zweiten Eingang des ODER-Gatters 182
und der Ausgang Q3 an die Rücksetzeingänge und die erste
Übergangssperrschaltung 120 (Fig. 4) angekoppelt. Das
Rücksetzsignal wird weiterhin auf das UND-Gatter gekoppelt,
welches das Unterbrechnungssignal für den Mikroprozessor 144
(Fig. 4) liefert. Das ODER-Gatter 182 schaltet einen
monostabilen Multivibrator 183 zur Ladung entweder des Status-
oder des Daten-Bytes in das RAM 102. Das ODER-Gatter 180
liefert das Übergang-Minus-Eins-Signal für die Takt- und
Ausgangsfreigabeeingänge des Adreßpuffers 112 zur Pufferung der
Adreßzählwerte für das Status- oder das Daten-Byte
Die Daten-Byte-Folgesteuerung 168 spricht auf das
Übergang-Minus-Eins-Signal sowie das Meßsignal an und
liefert den Daten zugeordnete Steuersignale, während die
Status-Byte-Schreibfolgesteuerung 170 auf das Fenstersignal
sowie das Meßsignal anspricht und den Statusdaten
zugeordnete Steuersignale erzeugt. Die Fig. 8A bis 8G zeigen
Signale, welche in der Daten-Byte-Folgesteuerung 168 als
Funktion des Übergang-Minus-Eins-Signals erzeugt werden, das
die Daten des Adreßpuffers 112 puffert. Beim nächsten
Meßimpuls löscht des Schieberegister 178 die
Zähleinrichtung 108 und inkrementiert den Adreßzähler 106 (Fig. 8C),
wobei das Signal am Ausgang Q0 des Schieberegisters 178 den
Datenpuffer 110 freigibt (Fig. 8D). Einen Meßimpuls
später schaltet das Signal am Ausgang Q1 den monostabilen
Multivibrator 183 zur Freigabe des Ladens des RAM 102 (Fig. 8E,
8G). Einen weiteren Meßimpuls später setzt das Signal am
Ausgang Q2 die Daten-Byte-Folgesteuerung 168 zur Bereitmachung
für die nächsten Daten zurück (Fig. 8F).
Entsprechend zeigen die Fig. 9A bis 9F Signale der
Status-Byte-Folgesteuerung 170 mit dem Fenstersignal und
dem Meßsignal gemäß den Fig. 9A und 9B. Beim ersten
Meßimpuls nach dem Annehmen eines tiefen Pegels durch
das Fenstersignal setzt das Signal am Ausgang Q0 des
Schieberegisters 186 den Adreßzähler 106 zurück und puffert die
Übergangsdaten des Übergangszählers 122 (Fig. 9C). Einen
Meßimpuls später puffert das Signal am Ausgang Q1 die
Adreßdaten und gibt diese frei, gibt die Übergangszähldaten
frei und schaltet den Übergangszähler 122 ab (Fig. 9D). Einen
weiteren Meßimpuls später schaltet das Signal am Ausgang
Q2 den monostabilen Schreib-Freigabe-Multivibrator 182 zur
Freigabe der Schreibfunktion des RAM 102 (Fig. 9E). Einen
weiteren Meßimpuls später setzt das Signal am Ausgang Q3
die Status-Byte-Folgesteuerung 170 und die erste
Übergangssperrschaltung 120 zurück (Fig. 9F).
Fig. 10 zeigt das sich selbst erläuternde Flußdiagramm für das
durch den Mikroprozessor 144 abgearbeitete
Dekodierungsprogramm. Nach Speicherung der Daten- und
Status-Byte-Zählwerte für ein Symbol im RAM 102 sowie als
Funktion des Unterbrechungs- und des Anforderungsbefehls vom
Mikroprozessor beginnt das Programm, wobei zunächst der
Status-Byte-Zählwert in den Mikroprozessorspeicher geladen
wird. Das Status-Byte wird geprüft, um festzustellen, ob das
über den Übergangspuffer 140 gewonnene Bit D7 eine Vorwärts-
oder Rückwärtsabtastrichtung anzeigt. Der Status-Byte-Zählwert
wird sodann geprüft, um sicherzustellen, daß die richtige Zahl
von Übergängen für die Abtastrichtung, d. h., der Wert 38 für
Rückwärtsrichtung und der Wert 166 für Vorwärtsrichtung
gespeichert ist. Die Daten-Bytes werden sodann hinsichtlich
jedes Bytes geprüft, um festzustellen, ob es außerhalb des
Bereiches von möglichen Werten von beispielsweise 5 bis 50 oder
im Bereich von 5 bis 26 (Anzeige eines schmalen Elementes) oder
im Bereich von 27 bis 50 (Anzeige eines breiten Elementes)
liegt. Die Start- und Stopzeichen werden geprüft, wobei im
korrekten Fall eine Paritätsprüfung hinsichtlich aller sechs
Ziffern der Datenzeichen durchgeführt wird. Stimmen die
Paritäten, so werden die Ziffern dekodiert und der 2 von 5 Kode
zur Gewinnung der Symbolzahl in Binärkode-Dezimalzahlen
überführt. Diese werden zur weiteren Verwendung in einen
externen Systemspeicher geladen.
Vorstehend wurde erläutert, daß die die Bewegung der optischen
Abtasteinrichtung anzeigenden Impulse, welche zur Eliminierung
der Zeitdimension aus der Balkenkode-Auslesung ausgenutzt
werden, durch einen speziellen rotierenden Tachometer erzeugt
werden, der an ein eine translatorische Bewegung ausführendes
Abtastgerät angekoppelt ist. Erfindungsgemäß ist jedoch auch
die Verwendung von Impulserzeugungssystemen möglich, in denen
eine Folge von Impulsen erzeugt wird, welche die
Abtastgeschwindigkeit eines Balkenkode-Lesemechanismus
repräsentieren, wobei es sich um optische, elektrische oder
magnetische Einrichtungen handeln kann, die beim Lesen des
Symbols eine Translations- oder eine Rotationsbewegung
ausführen. Beispielsweise bei einem Kodeleser in Form eines
Handstabes kann dieser Stab eine Meßradscheibe enthalten, die
mit dem Balkenkode-Etikett in Kontakt steht und Impulse mit
einer Folgefrequenz erzeugt, welche proportional zu der durch
eine Bedienungsperson realisierten Abtastgeschwindigkeit ist.
Weiterhin sind im Rahmen der Erfindung auch Systeme verwendbar,
bei denen Balkenkodesymbole mit sich ändernden
Geschwindigkeiten an einem stationären
Balkenkode- oder Lesemechanismus vorbeigeführt werden.
Weiterhin kann bei einer NRZ-Kodierungstechnik ein erster
Datenzähler (beispielsweise die Zähleinrichtung 108) zur Zählung der
Meßimpulse zwischen Zwischenzeichenübergängen und ein
zweiter Datenzähler zur Festlegung der Anzahl von
Meßimpulsen für die einzelnen Zählwertbereiche der Informations
zeichen aufgrund einer bekannten speziellen Anordnung von
Balken/Abständen des 2 von 4 Kode verwendet werden.
Entsprechend kann ein Zähler zur Zählung der Meßimpulse
verwendet werden, die zwischen dem Start und
dem Ende der Informationszeichen auftreten; dabei handelt es sich um
die Zählung von Impulsen über die Symbollänge in der oben
beschriebenen Weise. Erfindungsgemäß ist also die Verwendung
von Systemen möglich, in denen Grenzimpulse im Verlauf der
Auslesung von Balkenkodesymbolen mit sich ändernden
Abtastgeschwindigkeiten erzeugt werden.
Das erfindungsgemäße Verfahren und die erfindungsgemäße Anordnung
sind in Anwendungsfällen, für welche die hohe
Betriebsgeschwindigkeit einer Hardware-Lösung nicht
erforderlich ist, auch auf Software-Basis realisierbar.
Beispielsweise wird die Folge von Impulsen, deren Periode die
Meßlängeneinheit definiert, über einen Tachometerdatenbus mit
dem Balkenkode-Datensignal in den Mikroprozessor eingespeist.
Die Balken/Abstände oder Zeichengrenzen angebenden Übergänge
können mittels Hardware oder durch den Mikroprozessor erzeugt
werden, wobei die resultierenden Zählwerkbereiche dann über den oben
beschriebenen Mikroprozessorspeicher gehandhabt werden.
Claims (18)
1. Verfahren zum Lesen der Information eines Balkenkode
symbols, das aus einem Muster mehrerer unterschiedlich
breiter Informationszeichen in Form von Balken und Balken
abständen besteht, bei welchem
- a) die Informationszeichen aufeinanderfolgend abge tastet werden,
- b) eine Folge von Meßimpulsen erzeugt wird, deren Periode eine inverse Funktion der Abtastge schwindigkeit ist und einen Einheitsabstand re präsentiert,
- c) den unterschiedlichen Breiten der Informations zeichen unterschiedlich große Zählwertbereiche vorbestimmter Größe zugeordnet werden und
- d) die Breite der Informationszeichen durch Abzählen der zwischen aufeinanderfolgenden Übergängen be nachbarter Informationszeichen auftretender Meß impulse ermittelt wird, indem die zwischen auf einanderfolgenden Übergängen gezählten Anzahlen von Meßimpulsen daraufhin überprüft werden, in welchen Zählwertbereich sie fallen.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß
die Meßimpulse mit einer der Abtastgeschwindigkeit
proportionalen Folgerate erzeugt werden, und daß an den
Übergängen der abgetasteten Informationszeichen Über
gangssignale erzeugt werden, die den Beginn und das
Ende der Meßimpulszählung bestimmen.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeich
net, daß die Zählwertbereiche breite und schmale
Balken sowie breite und schmale Balkenabstände defi
nieren, und daß die Meßimpuls-Zählwerte gespeichert und
zur Bestimmung der Breite der Balken bzw. Balkenab
stände mit den Zählwertbereichen verglichen werden.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch
gekennzeichnet, daß das Balkenkodesystem einen voran
gehenden Startrand sowie einen nachfolgenden Stopprand
umfaßt, und daß der Startrand und der Stopprand detek
tiert und ein mit dem Startrand beginnendes und mit
dem Stopprand endendes Fenstersignal erzeugt wird,
innerhalb welchem Informationszeichen abgetastet
werden.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß
das Balkenkodesymbol zwischen Startrand und Stopprand
eine vorbestimmte Anzahl Übergänge zwischen Informa
tionszeichen umfaßt, daß während der Dauer des Fen
stersignals die Übergänge zur Bestimmung eines Status-
Zählwerts gezählt werden und daß der Status-Zählwert
gespeichert und zur Betätigung, daß die richtige
Anzahl abgetastet wurde, mit der vorbestimmten Anzahl
Übergänge verglichen wird.
6. Anordnung zum Lesen der Information eines Balkenkode
symbols, das aus einem Muster mehrerer unterschiedlich
breiter Informationszeichen in Form von Balken und
Balkenabständen besteht, umfassend
eine die Informationszeichen des Balkenkodesymbols aufeinanderfolgend, insbesondere optisch abtastende Abtasteinrichtung (34),
einen Generator (46, 58) zur Erzeugung einer Folge von Meßimpulsen, deren Periode eine inverse Funktion der Abtastgeschwindigkeit ist und einen Einheitsabstand repräsentiert,
einen Speicher, der den unterschiedlichen Breiten der Informationszeichen zugeordnete, vorbestimmte Werte unterschiedlicher Zählwertbereiche speichert und eine Anordnung (108, 144) zur Ermittlung der Breite der In formationszeichen mit einer Zähleinrichtung (108) zum Abzählen der zwischen aufeinanderfolgenden Übergängen benachbarter Informationszeichen auftretenden Meßim pulse, wobei die Anordnung (108, 144) die von der Zähl einrichtung (108) gezählten Meßimpuls-Zählwerte dar aufhin überprüft, in welchen der Zählwertbereiche sie fallen.
eine die Informationszeichen des Balkenkodesymbols aufeinanderfolgend, insbesondere optisch abtastende Abtasteinrichtung (34),
einen Generator (46, 58) zur Erzeugung einer Folge von Meßimpulsen, deren Periode eine inverse Funktion der Abtastgeschwindigkeit ist und einen Einheitsabstand repräsentiert,
einen Speicher, der den unterschiedlichen Breiten der Informationszeichen zugeordnete, vorbestimmte Werte unterschiedlicher Zählwertbereiche speichert und eine Anordnung (108, 144) zur Ermittlung der Breite der In formationszeichen mit einer Zähleinrichtung (108) zum Abzählen der zwischen aufeinanderfolgenden Übergängen benachbarter Informationszeichen auftretenden Meßim pulse, wobei die Anordnung (108, 144) die von der Zähl einrichtung (108) gezählten Meßimpuls-Zählwerte dar aufhin überprüft, in welchen der Zählwertbereiche sie fallen.
7. Anordnung nach Anspruch 6, dadurch gekennzeichnet, daß
mit der Abtasteinrichtung (34) ein als Tachometer aus
gebildeter Generator (46, 48) zur Erzeugung einer Folge
von Meßimpulsen gekuppelt ist, der die Meßimpulse mit
zur Abtastgeschwindigkeit proportionalen Rate erzeugt.
8. Anordnung nach Anspruch 6 oder 7, dadurch gekennzeich
net, daß die Zähleinrichtung (108) der Anordnung (108,
144) zur Ermittlung der Breite der Informationszeichen
mit einem an den Signalübergängen in einem von der
Abtasteinrichtung (34) erzeugten Balkenkode-Datensignal
ein Übergangssignal erzeugenden Übergangsdetektor (100)
verbunden ist und die Meßimpulse zwischen aufeinander
folgenden Übergangssignalen zählt.
9. Anordnung nach einem der Ansprüche 6 bis 8, dadurch
gekennzeichnet, daß das Balkenkodesystem breite und
schmale Balken sowie breite und schmale Balkenabstände
aufweist und daß die von der Zähleinrichtung (108) der
Anordnung (108, 144) zur Ermittlung der Breite der
Informationszeichen für die einzelnen Informations
zeichen des Balkenkodesystems gezählten Meßimpuls-
Zählwerte in einem insbesondere als Speicher mit wahl
freiem Zugriff ausgebildeten Speicher (102) für den
Vergleich mit den Zählwertbereichen speicherbar sind.
10. Anordnung nach einem der Ansprüche 6 bis 9, dadurch
gekennzeichnet, daß an die Abtasteinrichtung (34) und
den Generator (46, 58) zur Erzeugung einer Folge von
Meßimpulsen ein Fenstersignalgenerator (116) ange
koppelt ist, der bei Feststellung, daß sich die Ab
tasteinrichtung (34) einem Balkenkodesymbol nähert, ein
Fenstersignal erzeugt, das das Balkenkodesymbol ein
schließt.
11. Anordnung nach Anspruch 10, dadruch gekennzeichnet,
daß den Informationszeichen in dem Balkenkodesymbol ein Startrandbereich vorausgeht,
daß der Fenstersignalgenerator (116) einen die Meß impulse zählenden ersten Zähler (160) aufweist, der nach Abzählen einer den Startrandbereich repräsentie renden Anzahl Meßimpulse rücksetzbar ist, wenn hier bei ein von der Abtasteinrichtung (34) erzeugtes Balkenkode-Abtastsignal fehlt und ansonsten das Fenstersignal startet,
und daß der Fenstersignalgenerator (116) einen die Übergänge in dem Balkenkode-Abtastsignal zählenden zweiten Zähler (166) aufweist.
daß den Informationszeichen in dem Balkenkodesymbol ein Startrandbereich vorausgeht,
daß der Fenstersignalgenerator (116) einen die Meß impulse zählenden ersten Zähler (160) aufweist, der nach Abzählen einer den Startrandbereich repräsentie renden Anzahl Meßimpulse rücksetzbar ist, wenn hier bei ein von der Abtasteinrichtung (34) erzeugtes Balkenkode-Abtastsignal fehlt und ansonsten das Fenstersignal startet,
und daß der Fenstersignalgenerator (116) einen die Übergänge in dem Balkenkode-Abtastsignal zählenden zweiten Zähler (166) aufweist.
12. Anordnung nach Anspruch 11, dadurch gekennzeichnet,
daß der erste Zähler (160) auch an Übergängen des
Balkenkode-Abtastsignals rücksetzbar ist.
13. Anordnung nach Anspruch 8 in Verbindung mit einem der
Ansprüche 10 bis 12, dadurch gekennzeichnet,
daß die von der Zähleinrichtung (108) für die einzelnen Informationszeichen des Balkenkodesymbols gezählten Meßimpuls-Zählwerte als Daten-Bytes in einem Speicher (102) speicherbar sind,
daß an den Übergangsdetektor (100) ein Übergangszäh ler (122) angekoppelt ist, der die Gesamtanzahl Übergänge innerhalb des Balkenkodesymbols zählt und die Gesamtzahl in Form eines Status-Bytes in dem Speicher (102) speicherbar ist, und
daß eine an den Übergangsdetektor (100) und den Fenstersignalgenerator (116) angekoppelte, auf die Meßimpuls ansprechende Folgesteuerung (104) das Laden der Daten-Bytes und des Status-Bytes in den Speicher (102) steuert.
daß die von der Zähleinrichtung (108) für die einzelnen Informationszeichen des Balkenkodesymbols gezählten Meßimpuls-Zählwerte als Daten-Bytes in einem Speicher (102) speicherbar sind,
daß an den Übergangsdetektor (100) ein Übergangszäh ler (122) angekoppelt ist, der die Gesamtanzahl Übergänge innerhalb des Balkenkodesymbols zählt und die Gesamtzahl in Form eines Status-Bytes in dem Speicher (102) speicherbar ist, und
daß eine an den Übergangsdetektor (100) und den Fenstersignalgenerator (116) angekoppelte, auf die Meßimpuls ansprechende Folgesteuerung (104) das Laden der Daten-Bytes und des Status-Bytes in den Speicher (102) steuert.
14. Anordnung nach Anspruch 13, dadurch gekennzeichnet, daß
durch eine Richtungsschaltung (132) und einen Über
gangspuffer (140) gebildete Mittel (132, 140) vorge
sehen sind, die in dem Status-Byte eine die Abtastrich
tung (34) repräsentierende Bit-Position besetzen.
15. Anordnung nach Anspruch 13 oder 14, dadurch gekenn
zeichnet, daß die Folgesteuerung (104) zwei von den
Meßimpulsen getaktete Schieberegister (178, 186)
aufweist, die zu aufeinanderfolgenden Meßimpuls-
Zeitpunkten jeweils eine Folge von Steuersignalen
erzeugen, mittels der ein erstes (178) der Schiebe
register die Daten-Bytes und das zweite Schieberegi
ster (186) das Status-Byte in den Speicher (102)
lädt, wobei die Schieberegister (178, 186) eine
Adreßzählung für die Status- und Daten-Bytes puffern.
16. Anordnung nach einem der Ansprüche 6 bis 15, dadurch
gekennzeichnet, daß die Anordnung (108, 144) zur Er
mittlung der Breite der Informationszeichen einen
Mikroprozessor (144) aufweist.
17. Anordnung nach einem der Ansprüche 8 bis 16, dadurch
gekennzeichnet, daß die Zähleinrichtung (108) der
Anordnung (108, 144) zur Ermittlung der Breite der
Informationszeichen einen durch die Meßimpulse des
Generator (46, 58) zur Erzeugung einer Folge von Meß
impulsen getakteten und durch den Übergangsdetektor
(100) rückgesetzte Zähleinrichtung (108) aufweist, der eine
Bitposition hat, welche identifiziert, ob der Meß
impuls-Zählwert einen Balken oder einen Balkenabstand
repräsentiert.
18. Anordnung nach einem der Ansprüche 6 bis 17, dadurch
gekennzeichnet, daß die Abtasteinrichtung (34) als in
einem zweidimensionalen Kassettenbehälterraster in
beiden Koordinatenrichtungen bewegbare, optische
Abtasteinrichtung (34) zum Lesen von auf Kassetten
angeordneten Balkenkodesymbolen ausgebildet ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/851,062 US4751375A (en) | 1986-04-11 | 1986-04-11 | Method and apparatus for reading bar code under rapidly changing scanning speed conditions |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3711855A1 DE3711855A1 (de) | 1987-10-15 |
DE3711855C2 true DE3711855C2 (de) | 1996-10-31 |
Family
ID=25309867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3711855A Expired - Lifetime DE3711855C2 (de) | 1986-04-11 | 1987-04-08 | Verfahren und Anordnung zum Lesen der Information eines Balkenkodesymbols |
Country Status (5)
Country | Link |
---|---|
US (1) | US4751375A (de) |
JP (1) | JPS62245489A (de) |
KR (1) | KR940009710B1 (de) |
DE (1) | DE3711855C2 (de) |
GB (1) | GB2189063B (de) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5028769A (en) * | 1986-08-20 | 1991-07-02 | Emhart Industries, Inc. | Device for reading a mold code on a glass bottle |
US5015832A (en) * | 1989-02-27 | 1991-05-14 | Kensington Laboratories, Inc. | Method of and apparatus for decoding bar code symbols |
US5565670A (en) * | 1995-03-21 | 1996-10-15 | Intermec Corporation | Cordless RF link for bar code input device modulating impulses corresponding to data state transitions |
DE10028241A1 (de) * | 2000-06-07 | 2001-12-13 | Bundesdruckerei Gmbh | Dokumentenprüfgerät |
US7357323B2 (en) * | 2003-04-07 | 2008-04-15 | Silverbrook Research Pty Ltd | Obtaining product item assistance |
US6854656B2 (en) * | 2003-05-08 | 2005-02-15 | Fujitsu Limited | Self-scanning system with enhanced features |
KR100800332B1 (ko) * | 2005-04-13 | 2008-02-04 | 이정규 | 색깔과 모양이 형성된 라벨을 이용한 유통방법 |
JP4586086B2 (ja) * | 2008-06-25 | 2010-11-24 | 東芝テック株式会社 | ケーブル収納ユニット、スキャナシステム、及び、チェックアウトシステム |
US9104935B1 (en) | 2010-12-30 | 2015-08-11 | Cognex Corporation | Mark reader configured to prioritize images |
US9367725B2 (en) | 2011-11-03 | 2016-06-14 | Cognex Corporation | Method and apparatus for performing different decoding algorithms in different locations |
US8740081B2 (en) | 2011-11-03 | 2014-06-03 | Cognex Corporation | Method and apparatus for ordering code candidates in image for decoding attempts |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1815700A1 (de) * | 1968-12-13 | 1970-06-25 | Licentia Gmbh | Verfahren zur Erkennung von codierten Informationen |
US3991299A (en) * | 1972-02-03 | 1976-11-09 | Norand Corporation | Bar code scanner |
JPS5085320A (de) * | 1973-11-27 | 1975-07-09 | ||
US4114031A (en) * | 1975-08-29 | 1978-09-12 | Documation Incorporated | Data card reader employing synchronization and resynchronization means |
GB2000346B (en) * | 1977-06-20 | 1982-08-11 | Bell & Howell Co | Bar code reader |
DE2843462C2 (de) * | 1978-10-05 | 1986-02-06 | Interflex Datensysteme Gmbh & Co Kg, 7730 Villingen-Schwenningen | Optoelektrischer Code-Kartenleser |
US4251798A (en) * | 1978-05-31 | 1981-02-17 | Symbol Technologies | Portable laser scanning arrangement for and method of evaluating and validating bar code symbols |
JPS5619551A (en) * | 1979-07-27 | 1981-02-24 | Motoda Electronics Co Ltd | Automatic reproducing unit of video |
JPS5633766A (en) * | 1979-08-28 | 1981-04-04 | Hitachi Ltd | Bar code reading device |
JPS59201174A (ja) * | 1983-04-28 | 1984-11-14 | Nissan Motor Co Ltd | バ−コ−ド読取装置における信号処理方法 |
JPH0690843B2 (ja) * | 1984-02-29 | 1994-11-14 | ソニー株式会社 | カセット自動供給装置 |
US4554445A (en) * | 1984-05-07 | 1985-11-19 | Honeywell Information Systems Inc. | Digital pulse stretcher |
-
1986
- 1986-04-11 US US06/851,062 patent/US4751375A/en not_active Expired - Lifetime
-
1987
- 1987-02-18 GB GB8703703A patent/GB2189063B/en not_active Expired - Lifetime
- 1987-04-07 KR KR1019870003298A patent/KR940009710B1/ko not_active IP Right Cessation
- 1987-04-08 DE DE3711855A patent/DE3711855C2/de not_active Expired - Lifetime
- 1987-04-09 JP JP62087881A patent/JPS62245489A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
GB2189063B (en) | 1990-04-04 |
GB8703703D0 (en) | 1987-03-25 |
GB2189063A (en) | 1987-10-14 |
DE3711855A1 (de) | 1987-10-15 |
JPS62245489A (ja) | 1987-10-26 |
US4751375A (en) | 1988-06-14 |
KR870010459A (ko) | 1987-11-30 |
KR940009710B1 (ko) | 1994-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2524495C3 (de) | Schaltungsanordnung zur Formatpriifung von Codesignalen eines Streifencodes | |
DE3688909T2 (de) | Messanordnung mit versetzung. | |
DE2616753C3 (de) | Vorrichtung zum Lesen von strichkodierten Informationen | |
DE2228526B2 (de) | Verfahren und Anordnung zum Lesen und Decodieren von Strichmarken-Gruppen, die Daten in codierter Form darstellen | |
DE3038359C2 (de) | Bildplattenspieler | |
DE3742098A1 (de) | Verfahren und vorrichtung zur kompression und rekonstruktion von daten | |
DE3711855C2 (de) | Verfahren und Anordnung zum Lesen der Information eines Balkenkodesymbols | |
DE1499842C3 (de) | Einrichtung zur Codeumwandlung eines einfachen NRZ-Signals in ein selbsttaktierendes NRZ-Signal | |
DE2538651A1 (de) | Verfahren und vorrichtung zum testen digitaler schaltungen | |
DE2231953A1 (de) | Verfahren und einrichtung zum auswerten von kodierten aufzeichnungen | |
DE2754441A1 (de) | Anordnung fuer ein automatisches korrekturlesen von dokumenten | |
DE2656123B2 (de) | Eingabeeinrichtung zum Zuführen einer Vielzahl von Zeichen, die ein Datenfeld bilden | |
DE2264417A1 (de) | Codemarke mit optisch abtastbaren informationen in form von auf einem traegermedium befindlichen konzentrischen ringen | |
DE2144309A1 (de) | Gerät zum Abfühlen von streifenförmigen Aufzeichnungsträgern | |
DE2645460C2 (de) | Verfahren und Vorrichtung zum Auswerten von selbsttaktierend codierten Signalen | |
DE2461380C3 (de) | Lesevorrichtung für codierte Informationen | |
DE2243080A1 (de) | Vorrichtung zur wiedergabe programmiert ausgewaehlter, auf magnetkarten aufgezeichneter daten | |
DE1226812B (de) | System zum maschinellen Erkennen von Schriftzeichen | |
DE2534456C2 (de) | Lesevorrichtung | |
DE2518421A1 (de) | Bewegungsdetektor fuer eine waage | |
DE2811701C2 (de) | Verfahren zum Dekodieren von auf einen Träger aufgebrachten Zeichen sowie eine Einrichtung zur,Durchführung des Verfahrens | |
DE68902866T2 (de) | Interfacecodiereinrichtung fuer wellenwinkel. | |
DE2457435B2 (de) | Schaltung zur Wiedergewinnung von Daten aus einem Daten- und Taktsignale enthaltenden Signalzug | |
DE2826175A1 (de) | Verfahren und vorrichtung zur umwandlung von strichkodesignalen | |
DE4015099A1 (de) | Messwandler |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition |