Data Matrix
Data Matrix è il codice a barre 2D quadrato su fiale farmaceutiche, componenti elettronici, strumenti chirurgici, pale di motori aeronautici e praticamente qualsiasi cosa abbastanza piccola da non permettere a un QR di adattarsi. È l'unica simbologia 2D specificata per la marcatura diretta delle parti (DPM), incisa laser, dot-peen o chimicamente direttamente sul metallo, e l'unica con uno standard ISO (29158) per classificare le decodifiche di qualità DPM.
Classificazione DPM:ISO/IEC TR 29158:2020, Linee guida sulla qualità della marcatura diretta delle parti (DPM).
Applicazione farmaceutica:Regola FDA UDI (2013) e Regolamento UE sui dispositivi medici 2017/745, entrambi impongono Data Matrix in formato GS1 sulla maggior parte dei dispositivi medici.
Creatore: International Data Matrix Inc, 1987. Attualmente mantenuto da AIM e ISO. Esente da royalty.
Che cos'è
Una matrice quadrata (o rettangolare) con un pattern di ricerca a forma di L su due lati adiacenti e una traccia di clock (alternanza nero/bianco) sugli altri due. All'interno di quel frame c'è una griglia di moduli dati che codificano il payload tramite Reed-Solomon ECC (la variante moderna, ECC 200, è l'unica in uso corrente, le varianti più vecchie ECC 000, ECC 050, ECC 080, ECC 100, ECC 140 sono deprecate).
Tre proprietà che rendono Data Matrix lo standard di marcatura industriale:
- Compattezza estrema. Un simbolo 10×10 contiene 6 cifre o 3 caratteri alfanumerici. Abbastanza piccolo da marcare un resistore a montaggio superficiale (3 × 1,6 mm) o una fiala farmaceutica in vetro (diametro 8 mm).
- Resiste alla marcatura diretta delle parti. Incisa laser su acciaio inossidabile, dot-peen su titanio, incisa chimicamente su vetro, Data Matrix è l'unica simbologia 2D in cui questi processi di marcatura sono standardizzati (ISO/IEC 29158).
- ECC fisso per dimensione. A differenza dei quattro livelli ECC del QR o dei nove del PDF417, Data Matrix ECC 200 ha la correzione degli errori integrata nella definizione della dimensione del simbolo. 10×10 ha il 25% di ECC; 144×144 circa il 28%. Nessuna regolazione manuale, la specifica ha scelto il giusto compromesso per ogni dimensione.
Dimensioni e capacità (ECC 200)
Data Matrix supporta 24 dimensioni quadrate da 10×10 a 144×144, più 6 dimensioni rettangolari da 8×18 a 16×48. Capacità rappresentative:
| Dimensione (moduli) | Max. numerico | Max. alfanumerico | Uso tipico |
|---|---|---|---|
| 10 × 10 | 6 cifre | 3 car. | Resistore SMT, piccolo componente elettronico |
| 12 × 12 | 10 cifre | 6 car. | Condensatore SMT, piccolo connettore |
| 16 × 16 | 24 cifre | 16 car. | Fiala farmaceutica in vetro, piccolo package IC |
| 20 × 20 | 44 cifre | 31 car. | Blister farmaceutico, IC medio |
| 26 × 26 | 88 cifre | 64 car. | Cartone farmaceutico con lotto + scadenza + GTIN |
| 32 × 32 | 124 cifre | 91 car. | Stringa di elementi GS1 completa con numero seriale |
| 52 × 52 | 408 cifre | 301 car. | Etichetta di manutenzione su attrezzature industriali |
| 144 × 144 | 3.116 cifre | 2.335 car. | Massimo teorico, raramente spedito |
Stringhe di elementi GS1, uso farmaceutico e catena di fornitura
In farmacia e nelle catene di fornitura regolamentate, i payload Data Matrix sono stringhe di elementi GS1 con Identificatori di Applicazione (AI) tra parentesi. AI comuni:
| AI | Nome | Formato | Esempio |
|---|---|---|---|
(01) | GTIN | 14 cifre | (01)09506000134352 |
(10) | Lotto / Batch | alfanumerico, var. | (10)ABC123 |
(17) | Data di scadenza | AAMMGG | (17)270630 |
(21) | Numero seriale | alfanumerico, var. | (21)SN00042 |
(240) | ID aggiuntivo | alfanumerico, var. | (240)CAT-7A |
Nel payload codificato, le parentesi sono solo per la visualizzazione, il simbolo reale usa il carattere di funzione FNC1 come separatore di campo. Gli encoder devono emettere FNC1 all'inizio (per segnalare la modalità GS1) e tra gli AI a lunghezza variabile.
Vettori di test canonici
| Caso | Payload | Sottostringa attesa |
|---|---|---|
| UDI farmaceutico (stringa di elementi GS1) | (01)09506000134352(17)270630(10)ABC123 | 09506000134352 |
| Componente elettronico (testo semplice) | PN:4321-ABC SN:00001234 | 4321-ABC |
| ID numerico breve | 12345678 | 12345678 |
| URL (raro ma valido) | https://example.com/p/X42 | example.com/p/X42 |
Insidie comuni
- I telefoni consumer non decodificano Data Matrix in modo affidabile. La fotocamera iPhone non restituisce nulla. Google Lens decodifica alcuni Data Matrix (es. su confezioni di prodotti ad alto contrasto) ma in modo inconsistente. Per la scansione industriale, usa un imager dedicato.
- La verifica DPM richiede la classificazione ISO/IEC 29158. Una decodifica con fotocamera NON prova che un Data Matrix inciso laser o dot-peened supererà la classificazione di qualità di un lettore farmaceutico. Usa un verificatore DPM (Microscan, Cognex DataMan, Dynamsoft) prima di spedire.
- ECC 200 è l'unica variante moderna. Le vecchie varianti deprecate (ECC 000 fino a ECC 140) appaiono ancora in alcuni generatori di codice legacy. Usa sempre ECC 200; le varianti più vecchie decodificano male sugli scanner moderni.
- Le dimensioni rettangolari sono valide ma specializzate. Data Matrix supporta 6 dimensioni rettangolari (8×18, 8×32, 12×26, 12×36, 16×36, 16×48). Utile per spazi stretti come etichette di cavi, ma alcuni scanner più vecchi supportano solo dimensioni quadrate.
- GS1 richiede FNC1 all'inizio. Senza l'FNC1 iniziale, il decoder non può distinguere un payload GS1 da testo normale. L'encoder di Abundera emette FNC1 automaticamente quando il payload inizia con una stringa di elementi GS1 della forma
(NN)…. - La conformità GS1 per la farmacia richiede un encoder con supporto GS1. Abundera codifica le stringhe di elementi GS1 come Code 128 / Data Matrix ma non è ufficialmente certificato GS1. Per le presentazioni normative FDA UDI / EU MDR, usa un fornitore di soluzioni GS1 certificato.
- Passo del modulo per DPM. La marcatura diretta delle parti ha bisogno di almeno 0,25 mm/modulo per imager industriali; 0,4 mm per lettori DPM portatili. Al di sotto, il rendimento di decodifica cade rapidamente indipendentemente dall'ECC.
- Contrasto minimo. ISO/IEC 29158 richiede almeno il 20% di rapporto di contrasto tra il segno e il substrato. L'acciaio inossidabile inciso laser con forte ossidazione può scendere sotto questo valore, verifica con un grader DPM.
- Stile disabilitato. Le funzionalità specifiche del QR (forme di punti personalizzate, sfumature, loghi centrali) non si applicano a Data Matrix. Il pannello Stile di Abundera si disabilita da solo per questo tipo.
Compatibilità scanner
| Lettore | Supporto Data Matrix | Note |
|---|---|---|
| Fotocamera iOS (iOS 15+) | No | Apple non ha aggiunto Data Matrix all'app Fotocamera nativa. Le app di terze parti con SDK Scandit o Dynamsoft funzionano. |
| Fotocamera Android (Google/Pixel) | Sì (via Google Lens) | Google Lens decodifica Data Matrix abbastanza bene su confezioni di prodotti ad alto contrasto. Fallisce su DPM inciso laser. |
| Lettore DPM farmaceutico / medico (ISO 29158) | Sì (canonico) | Lettori DPM Microscan, Cognex DataMan, Dynamsoft, supporto completo con classificazione di qualità. |
| Imager industriale Zebra / Honeywell / Datalogic | Sì | Ogni imager 2D industriale supporta Data Matrix nativamente. Simbologia predefinita per le loro linee di automazione industriale. |
| Scanner POS abilitato GS1 QR | Sì | Gli scanner POS retail che accettano GS1 DataBar accettano anche GS1 Data Matrix con codifica FNC1. |
| Lettore gate aeroporto / transito | No | Non usato per il transito. Usa Aztec per le carte d'imbarco. |
| Scanner laser 1D | No | Data Matrix è 2D, richiede un imager. Solo PDF417 decodifica su laser 1D. |
Vedi anche
- /data-matrix-code-generator/, il generatore Data Matrix.
- Riferimento GS1 Digital Link, il successore GTIN-first delle stringhe di elementi GS1 tradizionali.
- Aztec · PDF417 · Data Matrix confronto, confronto fianco a fianco.
- Riferimento Aztec, il fratello display-first, per carte d'imbarco e transito.
- Riferimento PDF417, il fratello lineare impilato, per patenti di guida e lettere di trasporto aereo.
- Indice degli standard, torna all'hub di riferimento.