Data Matrix

Data Matrix (auch bekannt als DataMatrix oder GS1 DataMatrix) ist ein kompakter, leistungsstarker 2D-Barcode, der aus schwarzen und weißen Modulen besteht, die in einem quadratischen oder rechteckigen Raster angeordnet sind.

Data-Matrix-Codes können eine große Datenmenge auf kleinem Raum speichern, verfügen über robuste Fehlerkorrekturmechanismen, sind in ihrer physischen Größe anpassbar und unterstützen Daten variabler Länge sowie verschiedene Zeichenkodierungsschemata.

Sie werden in der Logistik-, Ferstellungs-, Gesundheits-, Verteidigungs-, Einzel- und Elektronikindustrie eingesetzt. Dieser umfassende Leitfaden bietet einen technischen Überblick über alles, was Sie beim Erstellen von Anwendungen, die Data-Matrix-Barcodes erzeugen oder dekodieren, wissen müssen.

Was ist ein Data-Matrix-Code?

Ein Data-Matrix-Code ist ein zweidimensionaler Barcode, der Daten variabler Länge kodiert und eine große Menge organisierter Informationen (die Datenstruktur) in einem kleinen grafischen Bereich (dem Datenträger).

Der Unterschied zwischen Datenträger und Datenstruktur
Ein Datenträger ist eine grafische Darstellung von Daten in maschinenlesbarer Form, während eine Datenstruktur das Datenformat ist, das im Träger kodiert ist.

Es gibt mehrere Versionen des allgemeinen Data-Matrix-technischen Standards, die branchenunabhängige Datenträger- und Datenstrukturspezifikationen definieren. Dieses Handbuch basiert auf der neuesten und am häufigsten verwendeten Version, ECC 200, die definiert ist in ISO/IEC 16022:2024 — Spezifikation der Barcode-Symbologie für Data-Matrix-Codes.

Die am häufigsten verwendete Implementierung der Data-Matrix-Struktur wird durch die GS1 DataMatrix Richtlinien, die von der ISO/IEC anerkannt werden. Obwohl es möglich ist, eine nicht standardisierte Struktur innerhalb eines Data-Matrix-Symbols zu verwenden, folgen die meisten Branchen den GS1-DataMatrix-Richtlinien. Die in diesem Leitfaden vorgestellten Konzepte und Beispiele decken diese Richtlinien ab.

Testen Sie das Scandit Barcode-Scanner-SDK

Bewerten Sie die Data-Matrix-Dekodierung mit einer 30-tägigen kostenlosen Testversion.

Kostenlos testen

Wie ein Data-Matrix-Code funktioniert

Ein Data-Matrix-Code besteht aus drei Datenträgerkomponenten:

  • Ein Suchmuster with two parts forming the perimeter of the symbol. The first is a solid L-shaped line, known as the “L finder pattern,” that defines the size (rows and columns), orientation, and distortion (skew) of the symbol. Second, a dotted L-shaped pattern opposite the L finder pattern, known as the “Clock Track” or “Zeitmuster,” further defines the symbol's structure.
  • A Datenmuster kodiert als eine Reihe von Zeilen und Spalten von Byte-Zeichen innerhalb des Suchermusters. Dies wird auch in eine oder mehrere Datenbereiche unterteilt, die Informationen organisieren. Das folgende Bild hat beispielsweise vier Datenbereiche. Zusätzliche Suchmuster begrenzen jeden Datenbereich.
  • A Ruhezone die einen grafikfreien Bereich rund um das Symbol definiert, um Scannern zu helfen, den Code vom Hintergrund zu unterscheiden.

Wie beeinflusst die Größe des Data-Matrix-Codes die Datenkapazität?

Die Größe und Datenkapazität eines Data-Matrix-Codes hängen von der Form des Symbols (quadratisch oder rechteckig) und dem Format der codierten Daten ab. Die folgende Tabelle, adaptiert aus der GS1-Richtlinien, zeigt die Speichergrößen und die Gesamtanzahl der möglichen Größenkombinationen:

Formular

Maximale Zeichen (alphanumerisch)

Maximale Zeichen (numerisch)

Anzahl der Zeilen (min…max)

Anzahl der Spalten

(min…max)

Anzahl möglicher Symbolgrößen

(z.B. 10x10, 12x12, usw.)

Quadrat

2,335

3,116

10…144

10…144

24

Rechteckig

71

96

8…16

18…48

6

Diese Tabelle zeigt die Anzahl der Datenbereiche basierend auf der Größe des Symbols:

Gesamte Symbolgröße

Anzahl der Datenbereiche

Quadrat

10×10 bis 26×26

1

32×32 bis 52×52

4

64×64 bis 104×104

16

120×120 bis 144×144

36

Rechteck

8×18

1

12×26

1

16×36

1

8×32

2

12×36

2

16×48

2

Wie werden Daten in einem Data-Matrix-Symbol kodiert?

Data Matrix unterstützt verschiedene Datenkodierungsschemata, wie ASCII, C40, X12, EDIFACT und Base 256.

Der GS1 DataMatrix-Standard schreibt vor, dass die Kodierung eine Teilmenge von ISO/IEC 646 (entspricht der ASCII-Tabelle 256). Die meisten realen Anwendungen verwenden jedoch UTF-8-Kodierung für sein variables Längenformat und seine breitere Zeichenpalette.

Die Datenzeichenfolgen in einem GS1-Data-Matrix-Symbol enthalten folgende Zeichen:

Funktion 1 Symbolzeichen (FNC1)

Anwendungskennung (AI)

Element-Zeichenketten

Gibt den Typ des ISO/IEC Data Matrix Symbols an. Für GS1 DataMatrix ist das FNC1 ]d2.

2-, 3- oder 4-stellige Zahlen, die die Bedeutung und das Format der nachfolgenden Daten definieren.

Zum Beispiel:

  • 01 - Globale Artikelnummer (GTIN)
  • 10 - Chargen- oder Losnummer
  • 15 - Mindesthaltbarkeitsdatum (JJMMTT)
  • 21 - Seriennummer

See GS1-Anwendungskennzeichen für die vollständige Liste.

Die variablen, elementspezifischen Daten.


Der Data-Matrix-Code auf der rechten Seite enthält die Datenzeichenkette ]d2013456789012345615251231. Dies gliedert sich in drei Komponenten:

  • ]d2: Funktion-1-Symbolzeichen (FNC1), das diesen Code als GS1-DataMatrix-Code kennzeichnet.
  • 01 34567890123456: Anwendungsidentifikator (AI), der dies als Global Trade Identification Number (GTIN) definiert, sowie die GTIN des Produkts.
  • 15 251231: Anwendungsidentifikator (AI), der dies als Mindesthaltbarkeitsdatum definiert, sowie das Datum im Format JJMMTT.

Data Matrix Fehlerkorrektur

GS1 DataMatrix verwendet die Reed-Solomon-Fehlerkorrekturverfahren, das direkt in das Symbol selbst integriert ist. Diese Technik fügt während der Symbolerstellung ergänzende Datenmuster hinzu, die eine Wiederherstellung beschädigter Daten ermöglichen. Data-Matrix-Codes bleiben durch diesen Mechanismus auch dann lesbar, wenn bis zu 30 % der Codefläche beschädigt sind.

Der für Fehlerkorrekturcodes benötigte Speicherplatz hängt von der Größe des Symbols ab. Beispielsweise werden bei einem 10×10-Symbol 62,5 % seiner Daten für die Fehlerkorrektur verwendet, während bei einem 144×144-Symbol 28,5 % verbraucht werden.

Was ist strukturiertes Anhängen in einem Data-Matrix-Barcode?

“Structured append” is a Data Matrix feature that allows data to be split across multiple symbols that are scanned and reassembled by scanning software. Defined in ECC 200, this feature is set by a special element in the data pattern (233) and allows up to 16 separate but logically linked symbols.

Das Lesen von Daten, die mittels strukturiertem Anhang kodiert sind, erfordert einen Barcodescanner, der diese Funktion unterstützt, mehrere Etiketten gleichzeitig oder in schneller Folge scannen kann und die einzelnen Symboldaten zusammenführt.

Wo wird ein Data-Matrix-Barcode verwendet?

Aufgrund ihrer hohen Datendichte sind Data-Matrix-Barcodes ideal für Situationen, in denen große Datenmengen auf kleinem Raum kodiert werden müssen, wie z. B. bei Logistikpaketen, Fertigungsteilen, Gesundheitsprodukten und Einzelhandelsartikeln. Anwendungsbeispiele umfassen:

  • Kleine elektronische Bauteile, bei denen winzige Barcodes verwendet werden müssen, um auf das Produkt zu passen. Zum Beispiel empfiehlt die US Electronics Industries Alliance (EIA) die Kennzeichnung von Bauteilen mit Data-Matrix-Barcodes in ihrem CEA-706, Standard zur Komponentenkennzeichnung.
  • Gesundheitswesen, wo Data Matrix der einzige 2D-Barcode ist, der von GS1 Healthcare zur Produktidentifikation zur Unterstützung der Rückverfolgbarkeit, Pharmakovigilanz und Marktüberwachung nach dem Inverkehrbringen.
  • Die US-Verteidigungsministerium verwendet Data Matrix zur Verfolgung von Geräten unter seinem Artikeleinmalige Identifikation (IUID) Anforderungen.
  • Direkte Teilekennzeichnung (DPM), oder Direktmarkierung, bei der Data-Matrix-Barcodes mithilfe von Technologien wie Laserätzen, pneumatisch angetriebenen Markierstiften (Nadelprägung), Graviergeräte und Thermodrucker. (Abbildung unten)

Was macht den Data-Matrix-Barcode einzigartig?

Im Vergleich zu anderen Barcode-Symbologien zeichnen sich Data-Matrix-Barcodes dadurch aus, dass sie große Datenmengen auf kleinem physischen Raum speichern können.

Hauptvorteile von Data Matrix gegenüber anderen Barcode-Typen

  • Anpassungsfähig in der physischen Größe (die kleinste ist etwa 2,5 mm im Quadrat) und unterstützt Dateninhalte variabler Länge.
  • Unterstützung für verschiedene Zeichenkodierungen, einschließlich aller 256 ASCII-Zeichen, ISO-Zeichen und EBCDIC-Zeichen.
  • Omnidirektionale Lesefähigkeit, die es Benutzern ermöglicht, sie aus jeder Richtung zu scannen – besonders nützlich in Lager- und Einzelhandels-Kassenbereichen.
  • Seine physische Größe und Datenkapazität sind voneinander unabhängig, was die Wahl vieler verschiedener Matrixgrößen ermöglicht.
  • Robuste Fehlerkorrekturmöglichkeiten und die Fähigkeit, bis zu 30 % Beschädigung standzuhalten und dennoch lesbar zu bleiben.
  • Verschiedene Fehlerkorrekturebenen können durch Variation der Symbolgröße definiert werden.

Wie man einen Data-Matrix-Barcode erstellt

Um einen Data-Matrix-Barcode zu erstellen, benötigen Sie Software, die die bereitgestellten Daten in das durch den internationalen Standard ISO/IEC 16022 definierte Muster kodiert. Es gibt mehrere Möglichkeiten, darunter Barcode-Generator-Apps, Online-Tools, und den Generator selbst zu programmieren.

Der Prozess umfasst in der Regel die Eingabe der zu kodierenden Daten und die Auswahl von Data Matrix als gewünschten Barcode-Typ. Das Tool erstellt dann eine visuelle Darstellung des Codes, die heruntergeladen oder gedruckt werden kann.

So scannen Sie einen Data-Matrix-Barcode

Data-Matrix-Barcodes können mit kamerabasierten Mobilgeräten gescannt werden, auf denen Software läuft, die in der Lage ist, die Symbologie zu dekodieren. Die meisten Branchen verwenden beispielsweise UTF-8-Kodierung – wenn Ihre Scan-Software dies nicht erkennen und nicht standardmäßige Fälle verarbeiten kann, sind die Ergebnisse möglicherweise nicht verwendbar.

Scandits Barcode-Scanning-Software unterstützt Data-Matrix-Codes und über 35 weitere Symbologien. Für Data-Matrix-Barcodes im Speziellen bietet das Scandit Barcode Scanner SDK:

  • Beschleunigt die Lokalisierung und Dekodierung von Data-Matrix-Codes, einschließlich quadratischer und rechteckiger Symbole sowie großer Symbole mit perspektivischen und nichtlinearen Verzerrungen.
  • Dekodiert inverse Data Matrix Barcodes, die invertierte Farben verwenden.
  • Identifiziert GS1-Codes, um zu signalisieren, dass sie GS1-Daten enthalten, und enthält eine GS1 Parser API Datenkomponenten in verwendbare Formate zu übersetzen.
  • Ermöglicht das Scannen von Data-Matrix-Codes, die mittels DPM auf feste Oberflächen aufgebracht wurden.

So entschlüsseln Sie einen Data-Matrix-Barcode

Wenn Sie Ihre eigene Data-Matrix-Decodierungsmethode entwickeln, sind die allgemeinen Schritte wie folgt.

Voraussetzungen

Das Bild des Data-Matrix-Barcodes wird mit einer ausreichend hohen Auflösung aufgenommen und gespeichert, um seine Komponenten zu unterscheiden.

Dekodierungsschritte

  1. Identifizieren Sie mithilfe des aufgenommenen Bildes das Suchmuster und die ruhigen Zonen, um das Symbol vom Hintergrund zu unterscheiden.
  2. Wandeln Sie das Bild mithilfe von Schwellenwertbildung in eine binäre Darstellung um, bei der Pixel auf einen Maximalwert (in der Regel 255 für Weiß) oder einen Minimalwert (in der Regel 0 für Schwarz) gesetzt werden, je nachdem, ob das entsprechende Bildsegment über oder unter einem bestimmten Schwellenwert liegt.
  3. Untersuchen Sie das Timing-Muster, um eine eventuelle Perspektivverzerrung abzuschätzen, und die Versionsinformationen, um die Größe des Data-Matrix-Codes zu bestimmen.
  4. Read and decode the data pattern using the given encoding scheme, usually ECC 200. In this scheme, a "light" cell typically represents a 0 and a "dark" cell represents a 1.
  5. Übersetzen Sie den Datenstrom in ein Kodierungsschema, das von Ihrer App verwendet werden kann. Wenn das Schema des Symbols unbekannt ist, haben Sie zwei Möglichkeiten:
    1. Sende die Rohdaten an die App.
    2. Konvertieren Sie die Daten aus der im Code verwendeten Datenkodierung in die von der App benötigte Kodierung – dies ist in der Regel UTF-8.
    3. If the data is encoded as “GS1” (the flag is set), decode the element strings and handle errors according to the GS1 guidelines. One approach is illustrated by the data processing flowchart in Abschnitt 2.2 der GS1 DataMatrix-Richtlinien.
  6. Senden Sie die Ergebnisse zur weiteren Verarbeitung oder Anzeige an die Anwendung.

Das Scandit Barcode Scanner SDK implementiert diese Schritte für Sie und bietet zusätzliche Funktionen basierend auf realer Entwicklungs- und Produktionserfahrung.

Zum Beispiel erfordert das Hinzufügen eines Data-Matrix-Code-Lesers zu Ihrer App nach der Einrichtung der Scandit-Software nur zwei Schritte. Die folgenden Anweisungen basieren auf der JavaScript-Beispiel-App, "Barcode Capture Simple Sample":

Aktivieren Sie zunächst die erforderlichen Symbologien, einschließlich Data Matrix.

settings.enableSymbologies([
  Symbology.EAN13UPCA,
  Symbology.DataMatrix,
  Symbology.Code39,
  Symbology.Code128,
]);

Nachdem ein Barcode von der Scandit-Bibliothek dekodiert und erkannt wurde, können Sie seine Daten abrufen, indem Sie die Scandit-Listener-Schnittstelle implementieren.

barcodeCapture.addListener({
  didScan: async (barcodeCaptureMode: BarcodeCapture, session: BarcodeCaptureSession) => {
    // Disable the mode to avoid unwanted scan until the user closes the displayed result.
    await barcodeCapture.setEnabled(false);
    // Hide the viewfinder.
    await barcodeCaptureOverlay.setViewfinder(null);

    const barcode: Barcode | null = session.newlyRecognizedBarcode;

    if (!barcode) {
      return;
    }

    const symbology: SymbologyDescription = new SymbologyDescription(barcode.symbology);
    
    showResultScanned: ${barcode.data ?? ""}\n(${symbology.readableName}));
  },
});

Hier extrahiert die Methode:

  • barcode.symbology—Barcode-Symbolik als Aufzählung.
  • barcode.data—Barcode-Daten als UTF-8-Zeichenkette.
  • symbology.readableName—menschenlesbarer Name der Symbologie.

Wie Scandit Data-Matrix-Codes unterstützt

Das Scandit Barcode-Scanner-SDK wurde entwickelt, um den Anforderungen von Entwicklern in der Praxis gerecht zu werden, einschließlich dieser Funktionen speziell für Data-Matrix-Codes:

  • Informationen in UTF-8- und/oder Rohdatenformaten extrahieren.
  • Die GS1 Parser API zum automatischen Normalisieren und Extrahieren von Elementzeichenketten in ein menschenlesbares Format, ohne sich um Kodierung oder Trennzeichen kümmern zu müssen. Dies umfasst Tuning-Optionen, wie z. B. die strikte Einhaltung des ECC 200-Standards, die Aktivierung von GS1-Erweiterungen und das Überschreiben der Länge der Anwendungsidentifikator-Zeichenfolge.
  • Aktivieren und Deaktivieren unterstützter Symbologien, einschließlich Branchen-Voreinstellungen, um die Scan-Leistung zu verbessern.
  • Daten aus mehreren Barcodes gleichzeitig extrahieren, mit MatrixScan.
  • Unterstützung für strukturiertes Anhängen durch automatisches Extrahieren von Informationen aus mehreren Symbolen, wenn diese Funktion aktiviert ist. In Kombination mit MatrixScan werden Daten aller Etiketten in einem Scan zurückgegeben.

Scandit's Software unterstützt alle gängigen Betriebssysteme, Programmiersprachen, Frameworks, Drittanbietersysteme und OEM-Geräte, einschließlich natives iOS, natives Android, web/Javascript, React Native, Cordova, Flutter, Kotlin Multiplatform, .NETZ, Kondensator, Titan, and Linux/C.

Lichtverhältnisse können in Lager- und Wartungsumgebungen variieren. Die Scanleistung von Scandit ermöglicht es, Barcodes unabhängig von ihrem Materialzustand, dem Abstand zum Scanner oder wechselnden Lichtverhältnissen präzise und schnell zu scannen und zu lesen.

Testen Sie das Scandit Barcode Scanner SDK

Testen Sie unsere Data-Matrix-Dekodierung mit einer kostenlosen 30-Tage-Testversion

Häufig gestellte Fragen

Loading search...

Please wait a moment