Datamatris - Data Matrix

Ett exempel på en Data Matrix -kod som kodar texten: "Wikipedia, den fria encyklopedin"

En datamatris är en tvådimensionell kod som består av svarta och vita "celler" eller prickar arrangerade i antingen ett kvadratiskt eller rektangulärt mönster, även känt som en matris . Informationen som ska kodas kan vara text eller numerisk data. Vanlig datastorlek är från några byte upp till 1556 byte . Längden på de kodade data beror på antalet celler i matrisen. Felkorrigeringskoder används ofta för att öka tillförlitligheten: även om en eller flera celler är skadade så att det är oläsligt kan meddelandet fortfarande läsas. En Data Matrix -symbol kan lagra upp till 2335 alfanumeriska tecken.

Data Matrix -symboler är rektangulära, vanligtvis fyrkantiga i formen och består av kvadratiska "celler" som representerar bitar . Beroende på vilken kodning som används representerar en "ljus" cell en 0 och en "mörk" cell är en 1, eller vice versa. Varje datamatris består av två fasta angränsande gränser i en "L" -form (kallad "sökmönstret") och två andra gränser som består av alternerande mörka och ljusa "celler" eller moduler (kallade "tidsmönstret"). Inom dessa gränser finns rader och kolumner med celler som kodar information. Sökmönstret används för att lokalisera och orientera symbolen medan tidmönstret ger en räkning av antalet rader och kolumner i symbolen. När mer data kodas i symbolen ökar antalet celler (rader och kolumner). Varje kod är unik. Symbolstorlekarna varierar från 10 × 10 till 144 × 144 i den nya versionen ECC 200 och från 9 × 9 till 49 × 49 i den gamla versionen ECC 000 - 140.

Ansökningar

En datamatris på ett Mini PCI -kort som kodar serienumret 15C06E115AZC72983004

Den mest populära applikationen för Data Matrix är att markera små objekt, på grund av kodens förmåga att koda femtio tecken i en symbol som är läsbar vid 2 eller 3 mm 2 (0,003 eller 0,005 kvadratmeter) och det faktum att koden kan läsas med endast 20% kontrastförhållande. En datamatris är skalbar; kommersiella applikationer finns med bilder så små som 300 mikrometer (0,012 tum) (laseretsade på en 600 mikrometer (0,024 tum) kiselanordning) och så stora som en 1 meter (3 fot) kvadrat (målad på taket på en lådbil ) . Märknings- och avläsningssystemens trohet är den enda begränsningen. US Electronic Industries Alliance (EIA) rekommenderar att man använder Data Matrix för märkning av små elektroniska komponenter.

Data Matrix -koder blir vanliga på tryckta medier som etiketter och bokstäver. Koden kan läsas snabbt av en streckkodsläsare som gör att media kan spåras, till exempel när ett paket har skickats till mottagaren.

Märkytor

För industritekniska ändamål kan Data Matrix-koder markeras direkt på komponenter, vilket säkerställer att endast den avsedda komponenten identifieras med datamatris-kodade data. Koderna kan märkas på komponenter med olika metoder, men inom flygindustrin är dessa vanligtvis industriell bläckstråle, prickmarkering, lasermärkning och elektrolytisk kemisk etsning (ECE). Dessa metoder ger ett permanent märke som kan vara upp till komponentens livslängd.

Data Matrix -koder verifieras vanligtvis med hjälp av specialistutrustning och mjukvara. Denna verifiering säkerställer att koden överensstämmer med relevanta standarder och säkerställer läsbarhet under komponentens livstid. Efter att komponenten har kommit i tjänst kan Data Matrix -koden läsas av en läsarkamera, som avkodar Data Matrix -data som sedan kan användas för ett antal ändamål, till exempel rörelsesspårning eller lagerkontroller.

Läser Data Matrix -kod med mobiltelefon ( Semacode -projekt)

Data Matrix koder, tillsammans med andra öppen källkoder som 1D streckkoder kan också läsas med mobiltelefoner genom att ladda ner kodespecifika mobilapplikationer. Även om många mobila enheter kan läsa 2D -koder inklusive Data Matrix Code, är det få som utökar avkodningen för att möjliggöra mobil åtkomst och interaktion, varefter koder kan användas säkert och över media; till exempel track and trace, lösningar mot förfalskning, t.ex. regering och bank.

Livsmedelsindustrin

Data Matrix -koder används i livsmedelsindustrin i autokodningssystem för att förhindra att livsmedelsprodukter förpackas och dateras felaktigt. Koder förvaras internt i en livsmedelsproducentdatabas och associeras med varje unik produkt, t.ex. ingrediensvariationer. För varje produktkörning levereras den unika koden till skrivaren. Etikettkonstverk krävs för att 2D Data Matrix ska kunna placeras för optimal skanning. För svart -på -vit -kodning krävs inte testning om inte utskriftskvaliteten är ett problem, men alla färgvariationer måste testas före produktionen för att säkerställa att de är läsbara.

Konst

I maj 2006 skapade en tysk datorprogrammerare, Bernd Hopfengärtner, en stor datamatris i ett vetefält (på ett sätt som liknar grödor ). Meddelandet läste " Hej, värld! ". I juni 2011 skapade den parisiska tatueraren KARL, som en del av en kampanj för Ballantines skotska whisky, världens första animerade tatuering med hjälp av en Data Matrix -kod i en samarbetsprocess som streamades live på Facebook.

Tekniska specifikationer

Ett exempel på en Data Matrix -kod som kodar texten: "Wikipedia" färgad för att visa data (grön), vaddering (gul), felkorrigering (röd), sökare och timing (magenta) och oanvänd (orange).

Data Matrix -symboler består av moduler arrangerade inom en omkretssökare och tidsmönster. Den kan koda upp till 3 116 tecken från hela ASCII -teckenuppsättningen (med tillägg). Symbolen består av dataregioner som innehåller moduler i en vanlig matris. Stora symboler innehåller flera regioner. Varje dataregion avgränsas av ett sökmönster, och detta är omgivet på alla fyra sidor av en tyst zongräns (marginal). (Obs! Modulerna kan vara runda eller fyrkantiga- ingen specifik form är definierad i standarden. Till exempel är punkterade celler i allmänhet runda.)

Data Matrix ECC 200

ECC 200, den nyare versionen av Data Matrix, använder Reed – Solomon -koder för fel och radering. ECC 200 tillåter rutinmässig rekonstruktion av hela den kodade datasträngen när symbolen har åsamkats 30% skada, förutsatt att matrisen fortfarande kan lokaliseras exakt. Data Matrix har en felprocent på mindre än 1 av 10 miljoner tecken som skannas.

Symboler har ett jämnt antal rader och ett jämnt antal kolumner. De flesta symbolerna är fyrkantiga med storlekar från 10 × 10 till 144 × 144. Vissa symboler är dock rektangulära med storlekar från 8 × 18 till 16 × 48 (endast jämna värden). Alla symboler som använder felkorrigeringen ECC 200 kan identifieras genom att modulen i det övre högra hörnet är densamma som bakgrundsfärgen. (binärt 0).

Ytterligare funktioner som skiljer ECC 200 -symboler från tidigare standarder inkluderar:

  • Invers lässymboler (ljusa bilder på en mörk bakgrund)
  • Specifikation av teckenuppsättningen (via utökade kanaltolkningar )
  • Rektangulära symboler
  • Strukturerat tillägg (länkning av upp till 16 symboler för att koda större datamängder)

Data Matrix ECC 000–140

Äldre versioner av Data Matrix inkluderar ECC 000, ECC 050, ECC 080, ECC 100, ECC 140. I stället för att använda Reed – Solomon- koder som ECC 200 använder ECC 000–140 en konvolutionsbaserad felkorrigering. Var och en varierar i mängden felkorrigering som den erbjuder, med ECC 000 som inte erbjuder någon och ECC 140 som erbjuder den största. För feldetektering vid avkodningstid, även i fallet med ECC 000, kodar var och en av dessa versioner också en cyklisk redundanskontroll (CRC) på bitmönstret. Som ett extra mått bestäms placeringen av varje bit i koden av bitplaceringstabeller som ingår i specifikationen. Dessa äldre versioner har alltid ett udda antal moduler och kan göras i storlekar från 9 × 9 till 49 × 49. Alla symboler som använder ECC 000 till 140 felkorrigering kan kännas igen genom att modulen i det övre högra hörnet är omvänd av bakgrundsfärgen. (binär 1).

Enligt ISO/IEC 16022 ska "ECC 000–140 endast användas i stängda applikationer där en enda part kontrollerar både produktion och läsning av symbolerna och ansvarar för systemets totala prestanda."

Standarder

Data Matrix uppfanns av International Data Matrix, Inc. (ID Matrix) som slogs samman till RVSI / Acuity CiMatrix , som förvärvades av Siemens AG i oktober 2005 och Microscan Systems i september 2008. Data Matrix omfattas idag av flera ISO / IEC standarder och är i allmänhetens område för många applikationer, vilket innebär att den kan användas utan licens eller royalty.

  • ISO/IEC 16022: 2006 — Data Matrix streckkodsymbologi specifikation
  • ISO/IEC 15415—2-D Utskriftskvalitetsstandard
  • ISO/IEC 15418: 2016 — Symboldataformatsemantik ( GS1 -applikationsidentifierare och ASC MH10 -dataidentifierare och underhåll)
  • ISO/IEC 15424: 2008 — Databäraridentifierare (inklusive Symbology Identifiers) [ID för att skilja olika streckkodstyper]
  • ISO/IEC 15434: 2006 — Syntax för ADC-media med hög kapacitet (format för data som överförs från skanner till programvara, etc.)
  • ISO/IEC 15459 - Unika identifierare

Kodning

Industrial Data Matrix kodläsare

Kodningsprocessen beskrivs i ISO/IEC -standarden 16022: 2006. Öppen källkodsprogramvara för kodning och avkodning av ECC-200-varianten av Data Matrix har publicerats.

Diagrammen nedan illustrerar placeringen av meddelandedata i en Data Matrix -symbol. Meddelandet är "Wikipedia", och det är arrangerat i ett något komplicerat diagonalt mönster som börjar nära det övre vänstra hörnet. Vissa karaktärer är uppdelade i två delar, till exempel det initiala W, och det tredje 'i' är i "hörnmönster 2" snarare än det vanliga L-formade arrangemanget. Dessutom visas meddelandets slutkod (markerad Slut), stoppning (P) och felkorrigering (E) byte och fyra moduler med oanvänt utrymme (X).

Data Matrix Encoding.svg Datamatrixfilling.png

Flera kodningslägen används för att lagra olika typer av meddelanden. Standardläget lagrar ett ASCII- tecken per 8-bitars kodord. Kontrollkoder tillhandahålls för att växla mellan lägen, som visas nedan.

Kodord Tolkning
0 Inte använd
1–128 ASCII -data (ASCII -värde + 1)
129 Slut på meddelande
130–229 Sifferpar 00 - 99
230 Börja C40 -kodning
231 Börja Base 256 -kodning
232 FNC1
233 Strukturerat tillägg. Tillåter att ett meddelande delas upp över flera symboler.
234 Programmering av läsare
235 Ställ in hög bit av följande tecken
236 05 Makro
237 06 Makro
238 Börja ANSI X12 -kodning
239 Börja Text kodning
240 Börja EDIFACT -kodning
241 Extended Channel tolkning kod
242–255 Inte använd

Textlägen

Lägena C40, Text och X12 är potentiellt mer kompakta för att lagra textmeddelanden. De liknar DEC Radix-50 , med teckenkoder i intervallet 0–39, och tre av dessa koder kombineras för att göra ett nummer upp till 40 3 = 64000, som är packat i två byte (maxvärde 65536) enligt följande :

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

Det resulterande värdet för B1 ligger i intervallet 0–250. Specialvärdet 254 används för att återgå till ASCII -kodningsläge.

Teckenkodstolkningar visas i tabellen nedan. Lägena C40 och Text har fyra separata uppsättningar. Uppsättning 0 är standard och innehåller koder som tillfälligt väljer en annan uppsättning för nästa tecken. Den enda skillnaden är att de vänder om stora och små bokstäver. C40 är främst versaler, med gemener i uppsättning 3; Text är tvärtom. Uppsättning 1, som innehåller ASCII -kontrollkoder, och uppsättning 2, som innehåller skiljetecken är identiska i C40- och textläge.

Koda ställ in 0 uppsättning 1 uppsättning 2 uppsättning 3 X12
C40 Text C40 Text
0 uppsättning 1 NUL ! ` CR
1 uppsättning 2 SOH " a A *
2 uppsättning 3 STX # b B >
3 Plats ETX $ c C Plats
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 * i I 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 A a / n N A
15 B b SI : o O B
16 C c DLE ; sid P C
17 D d DC1 < q F 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 I i SYN [ v V I
23 J j ETB \ w W J
24 K k BURK ] 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 sid GS } P
30 F q RS hibit ~ F
31 R r USA 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 -läge

EDIFACT -läget använder sex bitar per tecken, med fyra tecken packade i tre byte. Den kan lagra siffror, versaler och många skiljetecken, men har inget stöd för små bokstäver.

Koda Menande
0–30 ASCII -koder 64–94
31 Återgå till ASCII -läge
32–63 ASCII -koder 32–63

Bas 256 -läge

Bas 256 -lägesdata börjar med en längdindikator, följt av ett antal databyte. En längd på 1 till 249 kodas som en enda byte och längre längder lagras som två byte.

L1 = golv (längd / 250) + 249, L2 = längd mod 250

Det är önskvärt att undvika långa strängar nollor i det kodade meddelandet, eftersom de blir stora tomma områden i Data Matrix -symbolen, vilket kan orsaka att en skanner förlorar synkronisering. (Standard -ASCII -kodningen använder inte noll av detta skäl.) För att göra det mindre troligt skymmer längden och databyten genom att lägga till ett pseudoslumpvärde R (n), där n är positionen i byteflödet.

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

Patentfrågor

Innan amerikanska patentet 5 612 524 gick ut i november 2007 hävdade immaterialrättsföretaget Acacia Technologies att Data Matrix delvis täcktes av dess innehåll. Som patentägare ska Acacia ha kontaktat Data Matrix -användare och krävt licensavgifter relaterade till patentet.

Cognex Corporation , en stor tillverkare av 2D -streckkodsenheter, lämnade in ett deklarationsbesvär den 13 mars 2006 efter att ha fått information om att Acacia hade kontaktat sina kunder och krävt licensavgifter. Den 19 maj 2008 dömde domare Joan N. Ericksen från USA: s tingsrätt i Minnesota Cognex. Domen slog fast att 524 -patentet, som hävdade att det täckte ett system för att fånga och läsa 2D -symbologikoder, är både ogiltigt och oförverkligbart på grund av de orättvisa uppträdandet av de tilltalade under upphandlingen av patentet.

Även om domen meddelades efter att patentet löpte ut, förhindrade den påståenden om intrång baserat på användning av Data Matrix före november 2007.

En tysk patentansökan DE 4107020 ingavs 1991 och publicerades 1992. Detta patent anges inte i ovannämnda amerikanska patentansökningar och kan ogiltigförklara dem.

Se även

Referenser

externa länkar