DataMatrix-Code
Der DataMatrix-Code ist einer der bekanntesten 2D-Barcodes. Er wurde in den späten 1980er Jahren in den USA durch die Acuity Corp. entwickelt.
Inhaltsverzeichnis |
[Bearbeiten] Anwendungsbereiche
Heute ist dieser Code einer der bekanntesten Typen der 2D-Codes und wird für dauerhafte Direktbeschriftungen mittels Laser in der Produktion (z.B. Leiterplatten), mit Nadelprägung im Automobilbau, bei Analysegeräten und Instrumenten (Chemie, Medizin) aber auch zunehmend als gedrucktes Codebild im Dokumentenhandling (Tickets, DV-Freimachung beim Postversand) verwendet.
[Bearbeiten] Aussehen und Größe
Die Größe des quadratischen – bei bestimmten Seitenverhältnissen auch rechteckigen – Codebildes wird dabei aus einer großen Auswahlmenge bestimmt, die Symbol-Elemente sind quadratisch oder rund.
[Bearbeiten] Fehlerkorrektur
Der DataMatrix-Code existiert in verschiedenen Code-Schemata oder „Symbologien“: Der Fehlerkorrektur-Code, englisch „error correction code“ mit der Abkürzung ECC, gibt an in welchem Maße die Daten redundant im Code abgespeichert sind. Dies reicht von Redundanzfreiheit (ECC 0) bis zu dem am sichersten lesbaren Codeschema ECC 200, bei dem der Reed-Solomon-Code verwendet wird. Bis zu 25 % Fehler in den einzelnen Elementen können automatisch korrigiert werden, wenn Teile des Codes beispielsweise überdeckt oder zerstört wurden.
[Bearbeiten] Normung
Der DataMatrix-Code ist bei der Internationalen Organisation für Normung (ISO) genormt in ISO/IEC 16022:2000 und ISO/IEC TR 24720:2008, sowie in weiteren Normen für Anwendungen beschrieben, wie beispielsweise in DIN-Normen und DIN-EN-Normen. Diese Normen sind industrieweit verbindlich und sichern das Lesen des Codes unabhängig vom Hersteller des Kodierers oder des Lesegeräts.
Seit 2004 hat die weltweite Standardisierungsorganisation GS1 Global den DataMatrix als offiziellen GS1-Standard anerkannt. Er heißt dann GS1 DataMatrix und nutzt einen Symbologieschutz, genauso wie beim GS1-128-Strichcode (ehemals EAN 128). An der ersten Stelle im Code wird das Funktionszeichen 1 (FNC1) integriert. Der GS1 DataMatrix nutzt auch das GS1-Datenbezeichnerkonzept.
[Bearbeiten] Vergleich mit eindimensionalen Barcodes
Beim DataMatrix-Code sind die Informationen sehr kompakt in einer quadratischen oder rechteckigen Fläche als Muster von Punkten kodiert. Beim Lesen eines DataMatrix-Codes werden nicht mehr zwei verschiedene Balkenbreiten in der Folge eindeutig bestimmt, wie beim eindimensionalen Barcode (1D-Code), sondern die Anordnung der gleich großen Punkte innerhalb der Berandung (Suchmuster) und im Raster der Matrix. Die Punkte sind schwarze oder weiße Kästchen, die aneinander anschließen, oder runde Punkte mit Lücken dazwischen. Diese einheitliche Symbolgröße und der feste Symbolabstand allein schon machen das Lesen des Bildes und das Dekodieren der Information deutlich sicherer und den Code in der Ausdehnung erheblich kompakter. Da der DataMatrix-Code außerdem ein Verfahren der Fehlerkorrektur bietet, verdrängt er den Barcode, der meist nur die Erkennung eines einzelnen Fehlers unterstützt, in vielen Anwendungen.
[Bearbeiten] Aufbau des Codebildes
Der DataMatrix-Code besteht aus vier oder fünf Hauptkomponenten:
- Die zwei Paare fester durchgehender und unterbrochener Kanten als Begrenzungslinien (Finder Pattern)
- Die festen Begrenzungslinien dienen zur Abgrenzung. Sie werden für die Aufrichtung und Entzerrung des DataMatrix-Codes verwendet, so dass jeder Lesewinkel möglich ist.
- Die Ruhezone (Quiet Zone)
- Diese leere Zone umgibt den DataMatrix-Code. Sie enthält keinerlei Informationen oder Muster. Die Breite der Ruhezone beträgt mindestens eine Spalte bzw. eine Zeile und wird zur Abgrenzung von anderen optischen Bildelementen der Umgebung benötigt.
- Die den geschlossenen Kanten gegenüberliegende Ecke
- Diese Ecke erlaubt das schnelle Erkennen der Codeschemata. Beim Codeschema ECC 200 mit einer geraden Anzahl Zeilen und Spalten ist das Element in der oberen rechten Ecke stets weiß. Bei den anderen genormten Codeschemata mit einer ungeraden Zeilen- und Spaltenzahl ist das Element in der oberen rechten Ecke stets schwarz.
- Die Ausrichtungsmuster (Alignment Pattern)
- Diese paarweise Kombination durchgehender und unterbrochener Linien in beiden Richtungen waagerecht und senkrecht erleichtern die Bildauswertung. Sie unterteilen große Datenfelder bei Codes mit mindestens 32 Modulen Kantenlänge in gleich große Teile.
- Der Datenbereich
- Dieser Datenbereich enthält die eigentliche binäre Information in kodierter Form. Je nach Größe der Matrix definiert sich damit auch die Anzahl der möglichen Informationen.
Mit dem DataMatrix-Code 144x144 ECC 200 (zuzüglich Suchmuster und Ausrichtungsmuster) lassen sich bis zu 1556 Bytes, mithin 3116 Ziffern (3,5 Bit pro Zeichen) oder 2335 ASCII-Zeichen (7 Bit pro Zeichen) kodieren.
[Bearbeiten] Lesegeräte
Im Unterschied zum 1D-Code wird beim 2D-Code idealerweise eine digitale Kamera verwendet. Das Codebild muss lediglich im Kamerafenster liegen, die Orientierung gegenüber dem Bildfeld ist gleichgültig. Dadurch kann der DataMatrix-Code ohne Bewegung von Gerät oder Optik automatisch abgebildet werden. Das Lesen der Codes erfolgt üblicherweise bei ruhendem Objekt oder bei gleichförmiger Bewegung, wobei ein einzelnes Bild erfasst und ausgewertet wird. Höhere Geschwindigkeiten während der Aufnahme werden durch die Nutzung von Zeilenkameras ermöglicht.
Die Kamera erfasst die Information zweidimensional und eine Software wertet das Bild aus. Daher müssen 2D-Barcodes mit einer Lichtquelle flächig beleuchtet werden. Das vom 2D-Code reflektierte Licht wird dann in einer „Bildebene“, zum Beispiel einem CMOS-Sensor, scharf abgebildet.
Viele Mobiltelefone mit Kamera sind mit einem Code-Scanner ausgestattet. Damit kann beispielsweise eine in einem DataMatrix-Code verschlüsselte Telefonnummer oder eine Webseitenadresse einfach eingelesen werden.
Zeilenscanner sind ungebräuchlich und nicht so sicher in der Abbildung des Codebildes.
[Bearbeiten] Druckanforderungen
Der DataMatrix-Code stellt genau spezifizierte Anforderungen an Farbkontrast und Druckqualität und ist somit insbesondere für Direktbeschrifter mit geschlossenen Codes (Laser nach ISO/IEC 16022) oder offenen Codes (Nadelpräger nach DIN V 66401) geeignet. Sie unterstützen nach ISO/IEC 24720 eine robuste Kennzeichnung lesbar über die Lebensdauer der gekennzeichneten Produkte.
Ähnliche Codes sind der QR-Code nach ISO/IEC 18004, der MaxiCode nach ISO/IEC 16023, der Aztec-Code, der Mesa Code und andere, teilweise proprietäre Codes.
[Bearbeiten] Nutzungsbeispiele
Die Deutsche Post AG nutzt zur DV-Freimachung Codes der Größe 22*22 und 26*26, für das Produkt Stampit Codes der Größe 32*32, für das Produkt Frankit die Größe 36*36 und bei Pressepost mit Randbeschriftung Codes der Größe 52*52.
[Bearbeiten] Literatur
- Bernhard Lenk: Handbuch der automatisierten Identifikation (Band 2). 2D-Codes. 2002. ISBN 3-935551-01-0
[Bearbeiten] Weblinks
- Strichcodes verstehen und übersetzen (PDF-Datei; 2,46 MB)
- Ausführliche Erklärung und freier Font (englisch)
- Generator for Data-Matrix-Barcodes
- QDataMatrix - Freies Tool zum Erzeugen und Drucken von DataMatrix-Labels unter Linux und Windows
- Universeller Barcode Reader für Windows
- ixMat - Code Reader (2D, 1D) für Handys, Smartphones und BlackBerry
- Kaywa Reader - 2D-Barcode Reader für Handys, Smartphones und BlackBerry
- Einfaches Kommandozeilen-Werkzeug zur Erzeugung von Datamatrix-Code unter Linux.
- R. Vandenhouten, M. Selz: "Identification and tracking of goods with the mobile phone," Logistics and Industrial Informatics, 2007. LINDI 2007. International Symposium on , vol., no., pp.25-29, 13-15 Sept. 2007 (PDF-Datei; 397 kB)
- Online DataMatrix Encoder & Decoder (englisch)
- clientseitige Erzeugung von URL-Tags in Javascript (Bookmarklet) (englisch)
- Erzeugen und Lesen von DataMatrix Codes mit .NET