Zum Inhalt springen

2D-Code

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 4. November 2005 um 16:21 Uhr durch 129.169.10.56 (Diskussion). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Ein Barcode

Der Strichkode bzw. Strichcode (englisch barcode, bar = Strich) ist eine maschinenlesbare Schrift, die aus verschieden breiten Strichen und Lücken besteht. Sie kann über optische Abtaster, so genannte Strichcodelesegeräte (oder Barcodelesegerät, umgangssprachl. auch Scanner) maschinell gelesen und in einer EDV weiterverarbeitet werden.

Barcodes

Die verschiedenen Typen von Barcodes wurden zu verschiedenen Zeiten und Zwecken entwickelt, unterschiedlich nach Benutzergruppe und vor allem auch nach den jeweiligen Herstellungsmöglichkeiten. Je nach Anwendung werden die Strichcodes mit konventionellen Druckverfahren (u.a. Offset, Flexo oder Tiefdruck) oder nach Bedarf (u.a. Laser, Thermodirekt, Thermotransfer, Tintenstrahl) hergestellt. Nadel-Matrixdrucker sind aufgrund ihres Druckbildes eher schlecht geeignet, weil ihre Ausdrucke die erforderlichen Standards zum Lesen oft nicht einhalten können. Obwohl auch heute noch die meist verbreiten Barcodes eindimensional (1-D Codes) sind, wurden Ende der 1980er zweidimensionale (2-D Codes) entwickelt. Diese können aus gestapelten 1-D Codes bestehen (stacked), in Zeilen angeordnet sein oder als echter Flächencode (Matrix) hergestellt werden. Bei 3-D Codes ist Farbe die dritte Dimension.

Allgemeines

Oft steht in der Klartextzeile direkt unter dem Barcode der Dateninhalt auch in lesbarer Schrift.

Es gibt 1-D Strichcodearten mit 2 Strichbreiten und es gibt Strichcodearten mit mehreren Strichbreiten. Der Barcode sollte eine gewisse Mindesthöhe haben, die in einigen Fällen genormt ist. Außerdem ist auch das Breitenverhältnis zwischen schmalen und breiten Balken genormt und liegt nach Norm zwischen 1:1,8 - 1:3,4 (normalerweise soll nur 1:2,0 bis 1:3,0 verwendet werden. Der größere Bereich sind erlaubte Toleranzen). Mehrstrichbreitencodes haben üblicherweise Balkenbreiten die sich um je ein Modul erhöhen. Auch muss vor und nach dem Code ein Feld frei bleiben - die so genannte Ruhezone - um den Code einwandfrei dekodieren zu können. Die Balken werden oft mit dem englischen Wort bars, die Lücken mit space bezeichnet. Als erstes und als letztes Zeichen stehen meistens ein Start- bzw. Stoppzeichen, anhand dessen der Leser einerseits die Barcodeart und andererseits auch die Leserichtung feststellen kann. (Es gibt z.B. den Pharma Code bzw. Laetus Code ohne Start und Stoppzeichen.)

Es gibt auch spezielle Anwendungen, die eine besondere Form eines der Barcodetypen erfordern. So kann der Code überquadratisch sein, d.h. er ist höher als breit. Damit ist es möglich, mit zwei zueinander im rechten Winkel stehenden Scannern den Code in jeder Lage zu lesen. Dies wird z.B. bei den Gepäckanhängern bei Fluggesellschaften verwendet. Eine andere Art ist der T-förmige Code. Dabei werden zwei Codes mit demselben Inhalt T-förmig zueinander aufgedruckt. Hier ist es möglich, mit einem Scanner in allen Richtungen zu lesen.

Die Druckqualität von linearem Strichcode ist in der Norm ISO/IEC 15416 definiert. Die Druckqualität von 2D Strichcodes ist in der Norm ISO/IEC 15415 definiert. Datenstrukturen (u.a. EAN 128 oder Fact) sind in der ISO/IEC 15418 (bzw. in der referenziert ANS MH10.8.2) festgelegt.

Bekannte Arten der 1-D-Codes

Handelsstrichcodes: EAN, UPC, IAN, JAN

Sowohl der Strichcode (ISO/IEC 15420) selbst als auch der Inhalt (EAN General Specifications) sind genormt:

  • Zeichenvorrat 0–9
  • Feste Längen:
    • EAN-13 hat 13 Stellen, davon eine Prüfziffer
    • EAN-8 hat 8 Stellen, davon eine Prüfziffer
    • UPC-A hat 12 Stellen, davon eine Prüfziffer
    • UPC-B, -C, -D sind zwar normiert, aber ohne praktische Bedeutung
    • UPC-E definiert die Komprimierung von 11 Nutzziffern (wie UPC-A) in einen 8-stelligen Barcode, wenn die Nutzziffern bestimmte Folgen von Nullen enthalten.
    • IAN (International article numbering) Barcode ist identisch mit EAN, der Inhalt mit EAN abgestimmt.
    • JAN (Japanese article numbering) ebenso.
    • Zusatzcodes: Gängig sind zweistellige und fünfstellige Zusatzcodes, die direkt neben dem EAN oder UPC gedruckt werden und beispielsweise für die Verschlüsselung der Ausgabennummer einer Zeitschrift oder der gewogenen Menge bei losen Waren dienen (siehe unten). Auch ein Preis ist hier möglich, jedoch kennen Kassensysteme "ihre" Artikel und den zugehörigen Preis in der Regel.
  • Zur Darstellung sind je 4 verschiedene Balken- und Lückenbreiten notwendig, die insgesamt 32 Symbole definieren: Für die Ziffern 0-9 gibt es jeweils 3 Symbole (Codierung A, B, C), dazu kommt ein Randsymbol als erstes und letztes Zeichen, und schließlich ein Trennsymbol in der Mitte.
  • Auch für die Verschlüsselung des EAN-13 (13 Ziffern!) genügen 12 Symbole. In der Literatur hat sich eine Zählung der Ziffern von rechts nach links durchgesetzt. Während die Ziffern der Stellen 1 - 6, darunter die Prüfziffer auf Stelle 1, mit den entsprechenden Symbolen aus dem Satz C gedruckt werden, werden die Ziffern 7 - 12 aus Symbolen aus A und B codiert, und zwar in einer Abfolge, aus der sich eindeutig die 13 Ziffer ergibt. Das ist die vorderste Ziffer. Meist steht die Nummer im Klartext darunter, und man sieht die 13. Ziffer dann links neben dem Barcode.

Es empfiehlt sich, diese Codearten nur im Zusammenhang mit einer gültigen EAN-Nummer einzusetzen, da ansonsten das Risiko von Verwechslungen sehr hoch ist. Norm-konform ist aber auch der Einsatz von Inhouse-EANs, die mit der Ziffer 2 beginnen und ansonsten frei nach Bedarf des Anwenders mit Ziffern gefüllt werden. Wegen möglicher Überschneidungen empfehlen sich solche Barcodes nicht, wenn mehrere Geschäftspartner beteiligt sind (Großhandel usw.).

Unterarten:

  • ISBN und ISSN Nummern werden im EAN13 Code verschlüsselt:
    • Bei den 10-stelligen ISBN Nummern wird die letzte Ziffer (die Prüfziffer des numerischen ISBN-Codes) entfernt, eine 978 vorangestellt und die Prüfziffer des Barcodes angehängt -> 13 stelliger Code
    • Bei ISSN-Nummern (für Zeitschriften) wird wie bei der ISBN verfahren, nur wird hier die 977 vorangestellt.
    • Add-On-Codes können den EAN13-Code für ISBN und ISSN ergänzen. Die Add-On Codes sind vom EAN13 durch eine Ruhezone abgesetzt und enthalten entweder zwei Ziffern (für Heftnummer, Ausgabe) oder 5 Ziffern (Preis ohne Komma, keine Währungsangabe), ohne dass eine weitere Prüfziffer angehängt wird

2/5 Familie

Interleaved 2 of 5: "74380707240152655700"

Zeichenvorrat 0-9

  • Interleaved: Er ist heute der häufigste rein numerische Code. Mit zwei verschiedenen Balken- und Lückenbreiten kann er eine variable Stellenanzahl kodieren, ist aber nur mit gerader Ziffernanzahl verwendbar. Er sollte immer mit Prüfziffer verwendet werden. Er hat eine hohe Informationsdichte, d.h. auf kleinem Raum können viele Ziffern untergebracht werden.

Der 2/5 Interleaved ist in der Norm ISO/IEC 16390 spezifiziert. Oftmals findet man auch die Bezeichnung ITF für 'Interleaved 2 of 5 - Interleaved Two of Five'

Kaum mehr verwendete Unterarten

  • (Industrial)
  • (Matrix)
  • (3 Striche Datalogic)
  • (invertiert)
  • (IATA)

Die Unterarten sind nicht normiert sondern durch firmenspezifische Spezifikationen definiert

Code39

Code 39: "WIKIPEDIA 39"

Der Code39 ist ein älterer alphanumerischer Code. Er ist weit verbreitet in der Industrie. Beispielsweise in der Auto- (bei den VDA-Versandetiketten) oder in der Pharmaindustrie (PZN-Code oder Code-32) (bei der Pharmazentralnummer) wird er häufig eingesetzt, da er wegen seiner großen Drucktoleranzen einfach herzustellen ist. Bei dieser Codeart entspricht ein Zeichen Klarschrift einem Zeichen Barcode.

Der Code 39 ist in der ISO/IEC 16388 spezifiziert.

Unterarten sind:

  • Standard Code39 (Zeichen A-Z, Ziffern 0-9, sowie einige Sonderzeichen)
  • erweiterter Code 39 (Zeichen A-Z, a-z, 0-9, sowie einige Sonderzeichen). Es ist der komplette ASCII-Zeichensatz möglich, dann hat er aber eine geringe Informationsdichte da er jeweils zwei Zeichen für ein Klarschriftzeichen benötigt.
  • Code 32 (Zeichen A-Z, Ziffern 0-9) (italienischer Pharmacode - Artikelnummer für Pharmaprodukte)

Code 93

Zeichenvorrat A-Z, 0-9, einige Sonderzeichen

  • erweiterter Code 93

Zeichenvorrat ASCII Zeichensatz Der Code 93 erreicht bei alphanumerischer Codierung die höchste Zeichendichte bei linearen Strichcodes.

Norm: ANSI/AIM BC5 1995

Diese Codeart hat in Europa so gut wie keine Bedeutung


Code128

Code 128-B: "Wikipedia 128-B"

Der Code128 löst heute langsam den Code 39 ab, da die Informationsmöglichkeiten in diesem Code wesentlich größer sind. Es können bei einer gleichzeitig hohen Informationsdichte alle Zeichen zwischen ASCII 0 und ASCII 128 dargestellt werden. Es werden dabei gleiche Symbole für mehrere Zeichen gleichzeitig verwendet, diese werden aber durch Umschaltzeichen am Anfang des Codes oder vor einem Block dargestellt (Zeichensatz A, B und C).

Der EAN128 ist eigentlich kein Barcode, sondern eine Datenstruktur für die Logistik, die als Transportmedium (physical Layer) den Code 128 definiert. Das Protokoll ist auch EDI-fähig mittels EANcom. Das Sonderzeichen FNC1 nach dem Startzeichen definiert eindeutig den EAN128.

Norm Code 128: ISO/IEC 15417 EAN128 Datenstruktur und Größenrestriktionen sind in den EAN General Specifications definiert.

Norm: ISO/IEC 15417

2-D Bar Codes

(Siehe auch den Artikel zu 2-D Bar Codes in der englischen Wikipedia).

Alle 2-D Bar Codes verschlüssel Informationen auch senkrecht zur Hauptausrichtung. Dabei sind echte Array-Codes QR Code, DataMatrix, AztecCode von gestapelten Codes PDF417, CodaBar zu unterscheiden. Beim Postcode RM4SCC handelt es sich eigentlich um 2-Datenspuren, die in Bars Coduiert wurden.

QR Code steht für "Quick Response Code", ein in Japan sehr verbreiteter 2D Bar Code, den fast jedes japanische Mobiltelefon entziffern kann. (Siehe auch QR Code in der englischen Wikipedia)

PDF417

PDF417 steht für "Portable Data File", im Unterschied zu anderen gestapelten Barcodes wie z.B. Codablock, Code16k oder Code49 erfordert er keine vollständige Zeilenkongruenz. Maximal 2000 Zeichen können in einem PDF417 gespeichert werden. Der PDF417 ist kein echter Matrix Code wie der DataMatrix Code. Es gibt einstellbare Fehlerkorrekturstufem (0 - 9). In Bezug auf Dateninhalt im Verhältnis zur Größe schneidet der PDF417 im Vergleich zu DataMatrix sehr schlecht ab. Sinnvoll (wenn auch nicht besonders effizient) ist der Einsatz im zusammenhang mit Laserscannern, die keine Matrixsymbologien erfassen können. Sobald Kamerasysteme als Scanner verwendet werden sind echte Matrix Code das Mittel der Wahl. Der PDF 417 wurde ursprünglich von der Firma Symbol Technologies entwickelt. Inzwischen ist der PDF 417 auch in einer ISO/IEC Norm spezifiziert.

DataMatrix

2-D STAMPIT Code

Es handelt sich dabei um einen echten Matrix-Code, der mit CCD-Kamerascannern omnidirektional lesbar ist. Die Reed-Solomon-Fehlerkorrektur verdoppelt die Daten, wodurch ca. 25% des Codes zerstört werden können. Norm: ISO/IEC 16022.

Diese 2-D-Codeart gewinnt zur Zeit (2003, 2004) stark an Bedeutung. Beispiele sind z.B. die elektronische Briefmarke (STAMPIT), der 2D-Pharmacode, Teilekennzeichnungen in Luft- und Raumfahrtindustrie und in der Medizintechnik. Von EAN International ist diese Codeart kürzlich für EAN-Anwendungen zugelassen worden.

Aztec Code

Der Aztec Code ist eine eigenständige 2D Codeart. Bisher ist diese Codeart nicht in die Standardisierung aufgenommen worden. Weitere Infos zum Aztec Code sind hier zu finden http://www.taltech.com/TALtech_web/resources/intro_to_bc/bcsymbol.htm In der unten aufgeführten Literatur Band 2 ist der Aztec Code ebenfalls beschrieben. Die Deutsche Bahn AG testet einen 2-D-Barcode ("Aztec") auf ihren "Online-Tickets".


Dotcode - Punktcode

Dotcodes sind zweidimensionale optische Codierungen mit hoher Informationsdichte und guter Lesesicherheit. Das Hauptanwendungsgebiet ist die Kennzeichnung von verschiedensten Materialien mit spezifischen Drucktechniken, insbesondere Präge- und Gravurtechniken. Ferner kann der Code sogar mit Bohrtechniken erstellt werden. Anwendungen z.B. bei der Markierung von Achsen auf der Stirnseite.

Eigenschaften: Kompakter Code. Flexibilität in der Anpassung von Informationen auf einer gegebenen Fläche. Er ixt Omnidirektional lesbar.

RM4SCC

Der Royal Mail 4 State Customer Code RM4SCC ist eine alphanumerischer Code (nur Großbuchstaben), wird aber inziwischen auch in anderen Ländern (Schweiz, Österreich, Dänemark, Australien) verwendet. Die Universal Postal Union hat auch entsprechende Spezifikationen herausgegeben.

4 State Beispiel

Der Code ist insbesondere für sehr hohe Geschwindigkeiten bei Direktdruck geeignet, da er Verzerrungen weitestgehend toleriert.

Barcodelesegerät

Barcodeleser gehören prinzipiell zu den Datenerfassungsgeräten. Es gibt verschiedenste Arten von Lesern:

  • Lesestift: Es wird der Lesestift von Hand über den Barcode bewegt. Ein Dekoder empfängt das Hell/Dunkel-Signal und entziffert so den Barcode.
  • CCD-Scanner: Der Barcode wird mit LEDs beleuchtet. Der Barcode reflektiert je nach Helligkeit oder Dunkelheit auf eine CCD-Zeile.
  • Laser-Scanner: Ein oder mehrere Laserstrahlen werden auf den Barcode gerichtet und werden abhängig von der Farbe verschieden reflektiert und dekodiert.

Hauptartikel: Barcodelesegerät

Strichcodeprüfgerät

Ein spezielles Messgerät zur Kontrolle der Druckqualität (Kontrast, Metrik, Systematische Eigenschaften und manchmal Datenstrukturen) Strichcodeprüfgeräte sollen die Toleranzen, die in der ISO/IEC 15426-1 (linear) bzw. der ISO/IEC 15426-2 (2D) festgelegt sind, einhalten. Der wesentliche Unterschied zum Lesegerät ist, daß für eine Qualitätskontrolle das Prüfgerät unter definierten Bedingungen arbeiten muß. Das heißt es wird ein gleichbleibender Winkel, Abstand und Unterlage benötigt. Eine praktische Lesepistole scheidet daher als Prüfmittel prinzipbedingt aus. Die Kontrolle der Druckqualität von Strichcodes ist für die effiziente Funktion eines auf Strichcodes basierten Systems unerlässlich. In der Praxis wird dieser Aspekt sehr oft vernachlässigt, was dazu führt, dass die gewünschte Effizienzsteigerung und Fehlerminimierung nicht erreicht wird. Probleme treten oft erst einige Zeit nach der Inbetriebnahme eines solche Systems auf, da mit schlechter werdenden Wartungszustand der Strichcodedrucker die Strichcodequalität schleichend schlechter wird und damit die Effizienz zunächst unmerklich abnimmt. Die Prüfkriterien sind in der Norm ISO/IEC 15416 (lineare Strichocdes) festgelegt. 2D Matrix Codes und gestapelte Codes werden gemäß der Norm ISO/IEC 15415 geprüft. Beide Normen legen eine Qualitätseinstufung wie folgt fest:

Grad 4 - sehr gut

Grad 3 - gut

Grad 2 - befriedigend

Grad 1 - ausreichend

Grad 0 - durchgefallen

Herstellung von Barcodes

  • mit allen üblichen Druckverfahren für größere Mengen von Etiketten, Verpackungen etc.
  • In den meisten Fällen werden spezielle Etikettendrucker verwendet. Diese können Thermodrucker oder Thermotransferdrucker sein.
  • mit Barcodefonts, die als eigene Schrift auf dem jeweiligen PC gespeichert sind. Die Anwendung hat fast immer Probleme in der Druckqualität zur Folge, da die Schriftart die Druckerauflösung nicht berücksichtigt. Das ist bei Barcodes aber notwendig um die Verhältnisse von Balken und Lücken einzuhalten.
  • mit Laserdruckern, in die die Schrift vorher hineingeladen wird oder die ein Barcodemodul eingebaut haben. Kann wie eine Barcodefont Probleme machen. Wenn ein Barcodegenerator im Drucker eingebaut ist sollte es keine Probleme geben.
  • mit Tintenstrahldruckern auch in Industrieanwendungen. Die Barcodes hängen vom Trägermaterial ab (z.B. Wellpappe) Das kann zu massiven Problemen führen.
  • Barcodes in der Druckvorstufe (üblich Druckverfahren wie z.B. Flexodruck, Tiefdruck, Offsettdruck) sollten immer nur mit dafür geeignenten speziellen Programmen erzeugt werden. Diese Programme erlauben die Vorgabe einer Balkenbreitenkorrektur bzw. Balkenbreitenreduktion (eng. Bar width correction abk. BWC bzw. Bar width reduction abk. BWR) um den immer vorhandenen Druckzuwachs auszugleichen. Die Auflösung bestimmt dabei die Skalierungsschritte des Barcodes. Das Ergebnis muß die Anforderungen der Norm ISO/IEC 15421 einhalten.
  • Für Etikettendrucker (meistens Thermotransfer, Thermodirekt) empfiehlt sich der Einsatz von Etikettendesignprogrammen. Diese Programme müssen die druckerinternen Barcodegeneratoren verwenden können. Da Laserdrucker normalerweise keine Barcodegeneratoren eingebaut haben, eignen sich nur sehr wenige Etikettendesignprogramme für den Einsatz mit Laserdruckern (die auftretende Punktüberlappung wird nicht berücksichtigt).

Geschichtliches

  • 1949 Patentanmeldung des ersten Barcodes durch den Amerikaner Douglas Young.
  • 1973 UPC-Code
  • 1976 EAN-Code

Erstmals am 26. Juni 1974 wurde ein Strichcode von einem Scanner in einem Supermarkt in Ohio, USA eingelesen: von einer Packung Kaugummi der Marke Wrigleys.

In der Schweiz gab es um 1968 Versuche, Artikel elektronisch zu lesen. Beteiligt war die Supermarktkette Migros und die Fa. Zellweger. Da das Verfahren noch nicht ausgereift war, wurden keine weiteren Versuche unternommen.

Literatur

Handbuch der automatischen Identifikation Band 1 Identifikation allgemein, Strichcodes ISBN 3-935551-00-2 Autor Bernhard Lenk

Handbuch der automatischen Identifikation Band 2: 2D Codes ISBN 3-935551-01-0 Autor Bernhard Lenk

Handbuch der automatischen Identifikation Band 3: Strichcode-Praxis, Implementierung ISBN 3-935551-02-9 Autor Bernhard Lenk

Siehe auch: Transponder, Auto-ID, Klebeetikett, Semacode, Zime