Datamatrix - Data Matrix

Et eksempel på en Data Matrix -kode, der koder for teksten: "Wikipedia, den frie encyklopædi"

En datamatrix er en todimensionel kode, der består af sorte og hvide "celler" eller prikker arrangeret i enten et firkantet eller rektangulært mønster, også kendt som en matrix . De oplysninger, der skal kodes, kan være tekst eller numeriske data. Sædvanlig datastørrelse er fra et par bytes op til 1556 bytes . Længden af ​​de kodede data afhænger af antallet af celler i matrixen. Fejlkorrektionskoder bruges ofte til at øge pålideligheden: Selvom en eller flere celler er beskadiget, så den ikke kan læses, kan meddelelsen stadig læses. Et Data Matrix -symbol kan gemme op til 2.335 alfanumeriske tegn.

Data Matrix -symboler er rektangulære, normalt firkantede i form og sammensat af firkantede "celler", der repræsenterer bits . Afhængig af den anvendte kodning repræsenterer en "lys" celle et 0, og en "mørk" celle er en 1 eller omvendt. Hver datamatrix består af to solide tilstødende grænser i en "L" -form (kaldet "finder -mønsteret") og to andre grænser, der består af skiftevis mørke og lyse "celler" eller moduler (kaldet "tidsmønsteret"). Inden for disse grænser er rækker og kolonner af celler, der koder information. Findermønsteret bruges til at lokalisere og orientere symbolet, mens timemønsteret angiver antallet af rækker og kolonner i symbolet. Efterhånden som flere data er kodet i symbolet, stiger antallet af celler (rækker og kolonner). Hver kode er unik. Symbolstørrelser varierer fra 10 × 10 til 144 × 144 i den nye version ECC 200 og fra 9 × 9 til 49 × 49 i den gamle version ECC 000 - 140.

Ansøgninger

En datamatrix på et Mini PCI -kort, der koder serienummeret 15C06E115AZC72983004

Den mest populære applikation til Data Matrix er at markere små emner på grund af kodens evne til at kode 50 tegn i et symbol, der kan læses med 2 eller 3 mm 2 (0,003 eller 0,005 kvadratmeter) og det faktum, at koden kan læses med kun et 20% kontrastforhold. En datamatrix er skalerbar; kommercielle applikationer findes med billeder så små som 300 mikrometer (0,012 in) (laser ætset på en 600 mikrometer (0,024 in) siliciumenhed) og så store som en 1 meter (3 ft) firkant (malet på taget af en kassevogn ) . Troværdigheden af ​​mærke- og læsesystemerne er den eneste begrænsning. US Electronic Industries Alliance (EIA) anbefaler at bruge Data Matrix til mærkning af små elektroniske komponenter.

Data Matrix -koder er ved at blive almindelige på trykte medier såsom etiketter og bogstaver. Koden kan hurtigt læses af en stregkodelæser, som gør det muligt at spore medierne, for eksempel når en pakke er blevet sendt til modtageren.

Mærkeoverflader

Til industriel ingeniørformål kan Data Matrix-koder markeres direkte på komponenter, hvilket sikrer, at kun den påtænkte komponent identificeres med data-matrix-kodede data. Koderne kan markeres på komponenter med forskellige metoder, men inden for rumfartsindustrien er disse sædvanligvis industriel ink-jet, dot-peen-mærkning, lasermærkning og elektrolytisk kemisk ætsning (ECE). Disse metoder giver et permanent mærke, som kan vare op til komponentens levetid.

Data Matrix -koder verificeres normalt ved hjælp af specialiseret kameraudstyr og software. Denne verifikation sikrer, at koden overholder de relevante standarder og sikrer læsbarhed i komponentens levetid. Efter at komponenten er kommet i drift, kan Data Matrix -koden derefter læses af et læserkamera, som afkoder Data Matrix -dataene, som derefter kan bruges til en række formål, såsom bevægelsessporing eller lagerbeholdningstjek.

Læsning af Data Matrix -kode med mobiltelefon ( Semacode -projekt)

Data Matrix-koder kan sammen med andre open source-koder såsom 1D-stregkoder også læses med mobiltelefoner ved at downloade kodespecifikke mobilapplikationer. Selvom mange mobile enheder er i stand til at læse 2D -koder inklusive Data Matrix Code, er det få, der udvider dekodningen til at muliggøre mobiladgang og interaktion, hvorefter koderne kan bruges sikkert og på tværs af medier; for eksempel i spor og spor, anti-forfalskning, f.eks. regering og bankløsninger.

Fødevareindustri

Data Matrix -koder bruges i fødevareindustrien i autokodningssystemer til at forhindre, at fødevarer pakkes og dateres forkert. Koder vedligeholdes internt i en fødevareproducenters database og er knyttet til hvert unikt produkt, f.eks. Ingrediensvariationer. Den unikke kode leveres til printeren for hvert produktkørsel. Etikettegn er påkrævet for at placere 2D Data Matrix for at kunne scanne optimalt. For sort -hvide koder er testning ikke påkrævet, medmindre udskriftskvalitet er et problem, men alle farvevariationer skal testes før produktionen for at sikre, at de er læselige.

Kunst

I maj 2006 skabte en tysk computerprogrammerer, Bernd Hopfengärtner, en stor datamatrix i et hvedemark (på en måde, der ligner afgrødecirkler ). Meddelelsen lød " Hej, verden! ". I juni 2011 skabte den parisiske tatovør KARL, som en del af en reklame for Ballantines scotch whisky, verdens første animerede tatovering ved hjælp af en Data Matrix -kode i en samarbejdsproces streamet live på Facebook.

Tekniske specifikationer

Et eksempel på en Data Matrix -kode, der koder teksten: "Wikipedia" farvet for at vise data (grøn), polstring (gul), fejlkorrektion (rød), finder og timing (magenta) og ubrugt (orange).

Data Matrix -symboler består af moduler arrangeret inden for en perimeterfinder og tidsmønster. Det kan kode op til 3.116 tegn fra hele ASCII -tegnsættet (med udvidelser). Symbolet består af dataregioner, der indeholder moduler, der er opstillet i et almindeligt array. Store symboler indeholder flere regioner. Hvert dataregion er afgrænset af et finder -mønster, og dette er omgivet på alle fire sider af en stille zone -grænse (margen). (Bemærk: Modulerne kan være runde eller firkantede- ingen specifik form er defineret i standarden. For eksempel er prikkede celler generelt runde.)

Data Matrix ECC 200

ECC 200, den nyere version af Data Matrix, bruger Reed -Solomon -koder til fejl og sletning af gendannelse. ECC 200 tillader rutinemæssig rekonstruktion af hele den kodede datastreng, når symbolet har påført 30% skade, forudsat at matrixen stadig kan placeres nøjagtigt. Data Matrix har en fejlprocent på mindre end 1 ud af 10 millioner tegn scannet.

Symboler har et lige antal rækker og et lige antal kolonner. De fleste af symbolerne er firkantede med størrelser fra 10 × 10 til 144 × 144. Nogle symboler er dog rektangulære med størrelser fra 8 × 18 til 16 × 48 (kun lige værdier). Alle symboler, der anvender ECC 200-fejlkorrektionen, kan genkendes ved, at modulet i øverste højre hjørne er det samme som baggrundsfarven. (binær 0).

Yderligere funktioner, der adskiller ECC 200 -symboler fra de tidligere standarder, omfatter:

  • Inverse læsesymboler (lyse billeder på en mørk baggrund)
  • Specifikation af tegnsættet (via udvidede kanaltolkninger )
  • Rektangulære symboler
  • Struktureret tilføjelse (sammenkædning af op til 16 symboler for at kode større datamængder)

Data Matrix ECC 000–140

Ældre versioner af Data Matrix inkluderer ECC 000, ECC 050, ECC 080, ECC 100, ECC 140. I stedet for at bruge Reed – Solomon- koder som ECC 200, skal ECC 000–140 bruge en konvolutionsbaseret fejlkorrektion. Hver varierer i mængden af ​​fejlrettelser, den tilbyder, med ECC 000, der tilbyder ingen, og ECC 140, der tilbyder den største. Til fejldetektering ved afkodningstid, selv i tilfælde af ECC 000, koder hver af disse versioner også for en Cyclic Redundancy Check (CRC) på bitmønsteret. Som et ekstra mål bestemmes placeringen af ​​hver bit i koden af ​​bitplaceringstabeller inkluderet i specifikationen. Disse ældre versioner har altid et ulige antal moduler og kan laves i størrelser fra 9 × 9 til 49 × 49. Alle symboler, der anvender ECC 000 til 140 fejlkorrektion, kan genkendes ved, at modulet i øverste højre hjørne er invers af baggrundsfarven. (binær 1).

Ifølge ISO/IEC 16022 bør "ECC 000–140 kun bruges i lukkede applikationer, hvor en enkelt part kontrollerer både produktion og læsning af symbolerne og er ansvarlig for den samlede systemydelse."

Standarder

Data Matrix blev opfundet af International Data Matrix, Inc. (ID Matrix), der blev fusioneret til RVSI / Acuity CiMatrix , som blev opkøbt af Siemens AG i oktober 2005 og Microscan Systems i september 2008. Data Matrix er i dag dækket af flere ISO / IEC standarder og er i offentligheden for mange applikationer, hvilket betyder, at den kan bruges uden licens eller royalties.

  • ISO/IEC 16022: 2006 — Data Matrix stregkodesymbolspecifikation
  • ISO/IEC 15415—2-D Udskriftskvalitetsstandard
  • ISO/IEC 15418: 2016 — Symboldataformat semantik ( GS1 applikationsidentifikatorer og ASC MH10 dataidentifikatorer og vedligeholdelse)
  • ISO/IEC 15424: 2008 — Databærer -identifikatorer (inklusive symbolidentifikatorer) [ID'er til at skelne mellem forskellige stregkodetyper]
  • ISO/IEC 15434: 2006 — Syntaks for ADC-medier med høj kapacitet (format af data, der overføres fra scanner til software osv.)
  • ISO/IEC 15459 - Unikke identifikatorer

Indkodning

Industrial Data Matrix -kodelæsere

Kodningsprocessen er beskrevet i ISO/IEC -standarden 16022: 2006. Open-source software til kodning og afkodning af ECC-200-varianten af ​​Data Matrix er blevet offentliggjort.

Diagrammerne nedenfor illustrerer placeringen af ​​meddelelsesdataene i et Data Matrix -symbol. Beskeden er "Wikipedia", og den er arrangeret i et noget kompliceret diagonalmønster, der starter nær øverste venstre hjørne. Nogle tegn er delt i to stykker, f.eks. Det indledende W, og det tredje 'i' er i "hjørnemønster 2" frem for det sædvanlige L-formede arrangement. Endelig vises også meddelelseskoden (markeret slut), polstring (P) og fejlkorrektion (E) bytes og fire moduler med ubrugt plads (X).

Data Matrix Encoding.svg Datamatrixfilling.png

Flere kodningstilstande bruges til at gemme forskellige slags meddelelser. Standardtilstanden gemmer et ASCII- tegn pr. 8-bit kodeord. Der findes kontrolkoder til at skifte mellem tilstande, som vist nedenfor.

Kodeord Fortolkning
0 Anvendes ikke
1–128 ASCII -data (ASCII -værdi + 1)
129 Slut på besked
130–229 Cifferpar 00 - 99
230 Start C40 -kodning
231 Start Base 256 -kodning
232 FNC1
233 Struktureret tilføjelse. Tillader, at en meddelelse deles på flere symboler.
234 Læserprogrammering
235 Indstil en høj bit af følgende tegn
236 05 Makro
237 06 Makro
238 Start ANSI X12 -kodning
239 Begynd tekst kodning
240 Start EDIFACT -kodning
241 Udvidet Kanal Fortolkning kode
242–255 Anvendes ikke

Teksttilstande

Tilstandene C40, Text og X12 er potentielt mere kompakte til lagring af tekstbeskeder. De ligner DEC Radix-50 ved hjælp af tegnkoder i området 0–39, og tre af disse koder kombineres til et tal op til 40 3 = 64000, som er pakket i to bytes (maksimalværdi 65536) som følger :

V = C1 × 1600 + C2 × 40 + C3 + 1
B1 = gulv (V/256)
B2 = V mod 256

Den resulterende værdi af B1 er i området 0–250. Specialværdien 254 bruges til at vende tilbage til ASCII -kodningstilstand.

Tolkekodfortolkninger er vist i nedenstående tabel. C40- og teksttilstandene har fire separate sæt. Sæt 0 er standard og indeholder koder, der midlertidigt vælger et andet sæt til det næste tegn. Den eneste forskel er, at de vender store og små bogstaver. C40 er primært store bogstaver med små bogstaver i sæt 3; Tekst er omvendt. Sæt 1, der indeholder ASCII -kontrolkoder, og sæt 2, der indeholder tegnsætningssymboler, er identiske i C40- og teksttilstand.

Kode sæt 0 sæt 1 sæt 2 sæt 3 X12
C40 Tekst C40 Tekst
0 sæt 1 NUL ! ` CR
1 sæt 2 SOH " -en EN *
2 sæt 3 STX # b B >
3 plads ETX $ c C plads
4 0 EOT % d D 0
5 1 ENQ & e E 1
6 2 ACK ' f F 2
7 3 BEL ( g G 3
8 4 BS ) h H 4
9 5 HT * jeg jeg 5
10 6 LF + j J 6
11 7 VT , k K 7
12 8 FF - l L 8
13 9 CR . m M 9
14 EN -en / n N EN
15 B b SI : o O B
16 C c DLE ; s P C
17 D d DC1 < q Q D
18 E e DC2 = r R E
19 F f DC3 > s S F
20 G g DC4 ? t T G
21 H h NAK @ u U H
22 jeg jeg SYN [ v V jeg
23 J j ETB \ w W J
24 K k KAN ] x x K
25 L l EM ^ y Y L
26 M m SUB _ z Z M
27 N n ESC FNC1 { N
28 O o FS | O
29 P s GS } P
30 Q q RS hibit ~ Q
31 R r OS DEL R
32 S s S
33 T t T
34 U u U
35 V v V
36 W w W
37 x x x
38 Y y Y
39 Z z Z

EDIFACT -tilstand

EDIFACT -tilstand bruger seks bits pr. Tegn, med fire tegn pakket i tre bytes. Det kan gemme cifre, store bogstaver og mange skilletegn, men understøtter ikke små bogstaver.

Kode Betyder
0–30 ASCII -koder 64–94
31 Vend tilbage til ASCII -tilstand
32–63 ASCII -koder 32–63

Base 256 -tilstand

Base 256 -tilstandsdata starter med en længdeindikator efterfulgt af et antal databyte. En længde på 1 til 249 kodes som en enkelt byte, og længere længder gemmes som to bytes.

L1 = gulv (længde / 250) + 249, L2 = længde mod 250

Det er ønskeligt at undgå lange nuller i den kodede meddelelse, fordi de bliver til store blanke områder i Data Matrix -symbolet, hvilket kan få en scanner til at miste synkronisering. (Standard -ASCII -kodningen bruger ikke nul af denne grund.) For at gøre det mindre sandsynligt, bliver længden og databyte tilsløret ved at tilføje en pseudorandom -værdi R (n), hvor n er positionen i byte -strømmen.

R (n) = (149 × n) mod 255 + 1

Patentproblemer

Inden udløbet af amerikansk patent 5.612.524 i november 2007 hævdede intellektuel ejendomsvirksomhed Acacia Technologies , at Data Matrix delvist var dækket af dets indhold. Som patentejer kontaktede Acacia angiveligt Data Matrix -brugere med krav om licensgebyrer i forbindelse med patentet.

Cognex Corporation , en stor producent af 2D -stregkodeenheder, indgav en erklærende dom klage den 13. marts 2006 efter at have modtaget oplysninger om, at Acacia havde kontaktet sine kunder med krav om licensgebyrer. Den 19. maj 2008 afsagde dommer Joan N. Ericksen fra US District Court i Minnesota dom til fordel for Cognex. Afgørelsen fastslog, at '524 -patentet, der hævdede at dække et system til indfangning og læsning af 2D -symbologikoder, er både ugyldigt og ikke kan håndhæves på grund af de uligheders adfærd under indkøb af patentet.

Mens kendelsen blev afsagt efter patentets udløb, udelukkede den krav om overtrædelse baseret på brug af Data Matrix før november 2007.

En tysk patentansøgning DE 4107020 blev indgivet i 1991 og offentliggjort i 1992. Dette patent er ikke citeret i ovennævnte amerikanske patentansøgninger og kan ugyldiggøre dem.

Se også

Referencer

eksterne links