DataMatrix-Code

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von DataMatrix)
Wechseln zu: Navigation, Suche

Der DataMatrix-Code ist einer der bekanntesten 2D-Codes. Er wurde in den späten 1980er Jahren in den USA durch die Acuity Corp. entwickelt.

DataMatrix-2D-Code in Größe 14×14

Anwendungsbereiche[Bearbeiten]

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.

Aussehen und Größe[Bearbeiten]

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.

Fehlerkorrektur[Bearbeiten]

Der DataMatrix-Code existiert in Kombination mit zwei verschiedenen Fehlerkorrektur-Verfahren. Das ursprünglich eingesetzte Verfahren benutzt zur Fehlerkorrektur einen konvolutionellen Code. Diese Variante wird als ECC00 bis zu ECC140 bezeichnet, wobei ECC für Fehlerkorrektur-Code (englisch „error correction code“) steht und die Zahl angibt, in welchem Maße die Daten redundant im Code abgespeichert sind. Neuerdings wird zur Fehlerkorrektur der leistungsfähigere Reed-Solomon-Algorithmus eingesetzt. Diese Variante wird als ECC200 bezeichnet. Es wird im Allgemeinen empfohlen, nur noch die aktuelle ECC200-Version einzusetzen. Alle Variante benutzen zusätzlich einen CRC (Cyclic Redundancy Check)-Algorithmus zur Fehlererkennung.

Die ECC200 Fehlerkorrektur basiert auf den Codewörtern des Codes, die jeweils aus 8 Matrixzellen bestehen. Eine Matrixzelle pro Codewort (8 Matrixzellen insgesamt), die defekt ist, zerstört das Codewort. Allerdings ist auch nur ein Codewort zerstört, wenn alle 8 Matrixzellen des Codewortes zerstört sind. In der rechteckigen Version des DataMatrix Codes können zwischen 3 und 14 fehlerhafte Codewörter korrigiert werden. In der quadratischen Version können zwischen 2 und 310 fehlerhafte Codewörter korrigiert werden. Jede individuelle Anzahl von korrigierbaren Codewörtern gilt immer nur für eine Matrixgröße (zwischen 10×10 bis zu 144×144)

Wenn die Fehler so verteilt sind, dass die zerstörten Bereiche 25 % der Codefläche zerstören und dabei die Anzahl der erlaubten zerstörten Codewörter nicht überschritten wird, ist eine automatische Korrektur möglich. Wenn die Fehler so verteilt sind, dass eine kleine Codefläche zerstört ist, aber viele Codewörter betroffen sind, funktioniert die Fehlerkorrektur nicht mehr (bzw. nur bis zum definierten Maß der erlaubten zerstörten Codewörter).

Normung[Bearbeiten]

Der DataMatrix-Code ist durch die Internationalen Organisation für Normung (ISO) genormt (ISO/IEC 16022:2006). Der technische Report ISO/IEC TR 24720:2008 beschreibt die Anwendung des Codes in Direktmarkierungen (DPM – Direct part Marking). Diese Normen liefern eine einheitliche Basis und erlauben damit, Codes unabhängig vom Hersteller des Druckers oder des Lesegeräts herzustellen und zu lesen.

GS1 benutzt den DataMatrix Code und bezeichnet das Ergebnis als GS1 DataMatrix (technisch korrekt wäre DataMatrix Code mit GS1 Datenstruktur). Es wird dabei die Symbologienorm des DataMatrix, die ISO/IEC 16022, angewendet. Darüber hinaus ist das erste kodierte Zeichen immer das Sonderzeichen FNC1. Nach dem FNC1 Zeichen folgt eine definierte Datenstruktur, die als das GS1-Datenbezeichnerkonzept bezeichnet wird. Dieses Datenbezeichnerkonzept kann auch im GS1-128 oder im GS1-Databar Code kodiert werden.

GS1 ist eine Organisation, die als IAC (Issuing Agency) gemäß der ISO/IEC 15459-2 bei der offiziellen Registrierungsstelle für IAC's registriert ist. Die Registrierungsstelle ist das niederländische Normeninstitut NEN. IAC's können mit Hilfe dieser Registrierung international eindeutige Artikelnummersysteme und Seriennummersysteme aufbauen. Das Ganze passiert unter dem Dach des ISO. Weitere IAC sind ODETTE, HIBC, EDIFICE usw. GS1 selber ist keine Standardisierungsorganisation, sondern eine Organisation, die sicherstellt, dass es weltweit eindeutige Nummernkreise im Anwendungsbereich des Einzelhandels gibt. Die Teilnehmer des GS1 Systems finanzieren GS1 über Gebühren für die Zuteilung von Herstellernummern.

Da das GS1 Artikelnummernsystem sehr gut für den Einzelhandel von Konsumgütern, insbesondere Lebensmittel passt, ist dort der GS1 dominierend. In anderen Industrien (Automobil, Luftfahrt, Elektronik usw. ) werden andere nach ISO eindeutige Nummernsysteme verwendet, die auch den DataMatrix Code als Datenträger verwenden. Ein Symbologieschutz durch Sonderzeichen wie z.B. das FNC1 Zeichen existiert nicht. Die Verwendung von FNC1 Zeichen oder anderen Kennern ist nach Belieben freigestellt. Es ist allerdings dringend zu empfehlen, die Vorgaben gemäß ISO/IEC 15418 (Referenz auf ANSI MH10.8.2) zu beachten, um Verwechslungen und Fehler zu vermeiden. Demfolgend wird das FNC1 nur mit GS1 Datenstrukturen verwendet, während das Macro 06 Codewort 237, gemäß ISO/IEC 15434, eine eindeutige Kennzeichnung für die anderen nach ISO eindeutigen Datenstrukturen darstellt.

Vergleich mit eindimensionalen Strichcodes[Bearbeiten]

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 Strichcode (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. Allein diese einheitliche Symbolgröße und der feste Symbolabstand 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 Strichcode, der meist nur die Erkennung eines einzelnen Fehlers unterstützt, in vielen Anwendungen.

Aufbau des Codebildes[Bearbeiten]

Der DataMatrix-Code besteht aus vier oder fünf Hauptkomponenten:

  1. 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.
  2. Die umlaufende 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 (besser die vierfache Breite bzw. Höhe eines Moduls) und wird zur Abgrenzung von anderen optischen Bildelementen der Umgebung benötigt.
  3. 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.
  4. 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.
  5. 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 144×144 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.

Lesegeräte[Bearbeiten]

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-Codes 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.

Druckanforderungen[Bearbeiten]

Die Anforderungen an die Druckqualität von Matrixcodes sind in der ISO/IEC 15415 definiert. Diese Norm bezieht die jeweilige Symbologienorm, hier ISO/IEC 16022, mit ein. Unter anderem sind damit Anforderungen an Kontraste und Matrixverzerrungen definiert.

Zu beachten ist, dass der DataMatrix Code gemäß ISO/IEC 16022 für Direktbeschriftung (Laser, Nadelpräger usw. ) nicht spezifiziert ist.

Da dies aber in der Industrie eine typische Anwendung des DataMatrix Codes ist, wird mit der ISO/IEC TR 29158 eine Druckqualitätsanforderung entwickelt, die diese Lücke schließt. Der technische Report ISO/IEC TR 24720 beschreibt die verschiedenen Verfahren zur direkten Kennzeichnung. Ein Teilaspekt dabei ist der Einsatz des DataMatrix Codes. Eine weitere ähnliche Anwendung des DataMatrix Codes ist in der DIN V 66401 beschrieben.

Insbesondere genagelte Codes (Dot Peening) sind eine robuste Kennzeichnung, die über die Lebensdauer der gekennzeichneten Produkte lesbar bleibt.

Ä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.

Nutzungsbeispiele[Bearbeiten]

DataMatrix-Code als Teil von Stampit

Die Deutsche Post AG nutzt zur DV-Freimachung Codes der Größe 22×22 und 26×26, für die Internetmarke Codes der Größe 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.

Auch die Schweizer Post nutzt den DataMatrix-Code – unter anderem für die Frankierung von Massensendungen. Unter den Produktnamen «PP Easy» (ein statischer Code für die gesamte Sendung) und «PP Business» (dynamischer Code; jedes Element einer Sendung erhält individuelle Angaben) werden diese Frankierlösungen angeboten. Im DataMatrix-Code sind hierbei Informationen zum Versender (Verrechnung der Sendung) und das Handling der Retouren enthalten. Im Fall von «PP Business» hat der Kunde (der Versender) zusätzliche Zeichen zur Verfügung, die er für eigene Informationen verwenden kann.

Die privat organisierte Ausgabeorganisation GS1 nutzt den DataMatrix-Code mit den GS1-Datenstrukturen. Dies wird durch das FNC1-Zeichen an erster Stelle kenntlich gemacht. GS1 nennt das Ergebnis umgangssprachlich GS1 DataMatrix. Damit wird die Anwendung des DataMatrix-Codes im Kontext der GS1-Organisation kurz zusammengefasst benannt. Unbedarften Anwendern suggeriert dies, dass GS1 DataMatrix eine eigenständige Codeart sei. Das ist definitiv nicht so. Die primäre Anwendungsgruppe ist der Einzelhandel aber inzwischen gibt es Anwendungen in der Pharma- und anderen Industrien.

In der Pharmaindustrie wird durch gesetzliche Regelungen (EU Direktive 2011/62/EU) eine Erkennung von Fälschungen verlangt. In der Umsetzung wird ein DataMatrix-Code mit einer Seriennummer benutzt (www.ifaffm.de, PPN Code). Die Datenstruktur basiert auf ISO/IEC 15418, ISO/IEC 15434 und ISO/IEC 15459-2.

Im Allgemeinen wird mit der internationalen Norm ISO 22742 die Kennzeichnung von Produktenverpackungen mit Codes beschrieben. Die Produktkennzeichnung ist in der ISO 28219 beschrieben. Es kommen dabei ISO-konforme Datenstrukturen zum Einsatz sowie Codes, die wie der DataMatrix Code, in einer ISO/IEC-Norm spezifiziert sind.

Literatur[Bearbeiten]

  • Bernhard Lenk: Handbuch der automatischen Identifikation. Band 2. 2D-Codes. Matrixcodes, Stapelcodes, Composite-Codes, Dotcodes. Monika Lenk Fachbuchverlag, Kirchheim unter Teck 2002, ISBN 3-935551-01-0.
  • Richard Albrecht: DataMatrix. Mein Produkt bekommt eine Identität. Unglaube Identech, Massenhausen 2012, ISBN 978-3-00-037599-6.

Weblinks[Bearbeiten]

 Commons: DataMatrix – Sammlung von Bildern, Videos und Audiodateien