Datamatriisi - Data Matrix

Esimerkki Data Matrix -koodista, joka koodaa tekstiä: "Wikipedia, ilmainen tietosanakirja"

Data Matrix on kaksiulotteinen koodi , joka koostuu musta ja valkoinen "solut" tai pisteitä on järjestetty joko neliön tai suorakaiteen muotoinen kuvio, joka tunnetaan myös matriisi . Koodattavat tiedot voivat olla teksti- tai numeerisia tietoja. Tavallinen datakoko on muutamasta tavusta jopa 1556 tavuun . Koodatun datan pituus riippuu matriisin solujen lukumäärästä. Virheenkorjauskoodeja käytetään usein luotettavuuden lisäämiseen: vaikka yksi tai useampi solu olisi vahingoittunut, joten sitä ei voida lukea, viesti voidaan silti lukea. Data Matrix -symboli voi tallentaa enintään 2335 aakkosnumeerista merkkiä.

Tietomatriisin symbolit ovat suorakulmaisia, yleensä neliömäisiä ja koostuvat neliömäisistä "soluista", jotka edustavat bittejä . Käytetystä koodauksesta riippuen "vaalea" solu edustaa 0 ja "tumma" solu 1 tai päinvastoin. Jokainen datamatriisi koostuu kahdesta kiinteästä vierekkäisestä reunasta, jotka ovat "L" -muotoa (nimeltään "Finder -kuvio"), ja kahdesta muusta reunasta, jotka koostuvat vuorotellen tummista ja vaaleista "soluista" tai moduuleista (nimeltään "ajoituskuvio"). Näiden rajojen sisällä on soluja, jotka koodaavat tietoja. Etsintäkuviota käytetään symbolin paikantamiseen ja suuntaamiseen, kun taas ajoituskuvio näyttää symbolin rivien ja sarakkeiden määrän. Kun symboliin on koodattu enemmän tietoja, solujen (rivit ja sarakkeet) määrä kasvaa. Jokainen koodi on ainutlaatuinen. Symbolikoot vaihtelevat 10 × 10–144 × 144 uudessa versiossa ECC 200 ja 9 × 9–49 × 49 vanhassa versiossa ECC 000–140.

Sovellukset

Data Matrix on mini PCI -kortti, joka koodaa sarjanumero 15C06E115AZC72983004

Data Matrixin suosituin sovellus on pienten kohteiden merkitseminen, koska koodi voi koodata viisikymmentä merkkiä symboliin, joka on luettavissa 2 tai 3 mm 2 (0,003 tai 0,005 neliömetriä), ja koska koodi voidaan lukea vain 20% kontrastisuhde. Datamatriisi on skaalautuva; kaupallisia sovelluksia on jopa 300 mikrometrin (0,012 tuumaa) (laser syövytetty 600 mikrometrin (0,024 tuuman) piilaitteeseen) ja jopa 1 metrin (3 jalan) neliön kokoinen (maalattu laatikossa ) . Merkintä- ja lukujärjestelmien uskollisuus ovat ainoa rajoitus. US Electronic Industries Alliance (EIA) suosittelee Data Matrixin käyttöä pienten elektronisten komponenttien merkitsemiseen.

Data Matrix -koodit ovat yleistymässä painetussa mediassa, kuten tarroissa ja kirjeissä. Koodi voidaan lukea nopeasti jonka viivakoodinlukija jonka avulla mediaa voidaan seurata, esimerkiksi silloin, kun paketti on lähetetty vastaanottajalle.

Pintojen merkitseminen

Teollisuussuunnittelussa Data Matrix -koodit voidaan merkitä suoraan komponentteihin varmistaen, että vain aiottu komponentti tunnistetaan datamatriisikoodatulla datalla. Koodit voidaan merkitä komponentteihin eri menetelmillä, mutta ilmailu- ja avaruusteollisuudessa nämä ovat yleisesti teollisia mustesuihkuja, piste-peen-merkintöjä, lasermerkintöjä ja elektrolyyttistä syövytystä (ECE). Nämä menetelmät antavat pysyvän merkin, joka voi kestää komponentin käyttöiän.

Data Matrix -koodit tarkistetaan yleensä käyttämällä erikoiskameralaitteita ja -ohjelmistoja. Tämä varmistus varmistaa, että koodi on asiaankuuluvien standardien mukainen, ja varmistaa luettavuuden koko käyttöiän ajan. Kun komponentti on tullut palveluun, lukukamera voi lukea datamatriisikoodin, joka purkaa datamatriisin tiedot, joita voidaan sitten käyttää useisiin tarkoituksiin, kuten liikkeen seurantaan tai varastotarkistuksiin.

Datamatriisikoodin lukeminen matkapuhelimella ( Semacode -projekti)

Data Matrix -koodit ja muut avoimen lähdekoodin, kuten 1D-viivakoodit, voidaan lukea myös matkapuhelimilla lataamalla koodikohtaisia ​​mobiilisovelluksia. Vaikka monet mobiililaitteet pystyvät lukemaan 2D -koodeja, mukaan lukien Data Matrix Code, harvat laajentavat dekoodausta mahdollistamaan mobiilikäytön ja vuorovaikutuksen, minkä jälkeen koodeja voidaan käyttää turvallisesti ja eri medioissa; esimerkiksi jäljittämisessä, väärentämisen torjunnassa, esim. govt ja pankkiratkaisut.

Ruokateollisuus

Data Matrix koodeja käytetään elintarviketeollisuudessa vuonna autocoding järjestelmissä estämään elintarvikkeita pakattuina ja päivätty virheellisesti. Koodit säilytetään sisäisesti elintarvikkeiden valmistajien tietokannassa ja liitetään jokaiseen ainutlaatuiseen tuotteeseen, esimerkiksi ainesosamuutoksiin. Jokaiselle tuotekerralle yksilöllinen koodi toimitetaan tulostimelle. Tarrakuvaa tarvitaan, jotta 2D -datamatriisi voidaan sijoittaa optimaaliseen skannaukseen. Mustavalkoisten koodien testausta ei vaadita, ellei tulostuslaatu ole ongelma, mutta kaikki värivaihtoehdot on testattava ennen tuotantoa luettavuuden varmistamiseksi.

Taide

Toukokuussa 2006 saksalainen tietokoneohjelmoija Bernd Hopfengärtner loi suuren datamatriisin vehnäpellolla (samalla tavalla kuin viljelyympyrät ). Viestissä lukee " Hei, maailma! ". Kesäkuussa 2011 pariisilainen tatuoija KARL loi Ballantinen skotlantilaisen viskin myynninedistämisen yhteydessä maailman ensimmäisen animoidun tatuoinnin, jossa hyödynnettiin Data Matrix -koodia Facebookissa suorana lähetettävässä yhteistyöprosessissa.

Tekniset tiedot

Esimerkki datamatriisikoodista, joka koodaa tekstiä: "Wikipedia", joka näyttää tiedot (vihreä), täyte (keltainen), virheenkorjaus (punainen), etsin ja ajoitus (magenta) ja käyttämätön (oranssi).

Data Matrix -symbolit koostuvat moduuleista, jotka on järjestetty kehähakuun ja ajoituskuvioon. Se voi koodata enintään 3 116 merkkiä koko ASCII -merkistöstä (laajennuksilla). Symboli koostuu data -alueista, jotka sisältävät säännöllisessä taulukossa olevia moduuleja. Suuret symbolit sisältävät useita alueita. Jokainen data -alue on rajattu etsintäkuviolla, ja sitä ympäröi kaikilla neljällä puolella hiljainen vyöhykeraja (marginaali). (Huomaa: Moduulit voivat olla pyöreitä tai neliömäisiä- standardissa ei ole määritelty erityistä muotoa. Esimerkiksi pisteytetyt solut ovat yleensä pyöreitä.)

Data Matrix ECC 200

ECC 200, Data Matrixin uudempi versio, käyttää Reed – Salomon -koodeja virheiden ja poiston palauttamiseen. ECC 200 sallii koko koodatun tietojonon rutiininomaisen rekonstruoinnin, kun symboli on kärsinyt 30% vaurioita olettaen, että matriisi voidaan silti paikantaa tarkasti. Data Matrixin virhetaso on alle 1 kymmenestä miljoonasta skannatusta merkistä.

Symboleissa on parillinen määrä rivejä ja parillinen määrä sarakkeita. Suurin osa symboleista on neliömäisiä ja niiden koko on 10 × 10–144 × 144. Jotkut symbolit ovat kuitenkin suorakulmaisia ​​ja niiden koko on 8 × 18–16 × 48 (vain parilliset arvot). Kaikki ECC 200 -virheenkorjausta käyttävät symbolit voidaan tunnistaa siitä, että oikean yläkulman moduuli on sama kuin taustaväri. (binääri 0).

Lisäominaisuuksia, jotka erottavat ECC 200 -merkit aiemmista standardeista, ovat:

  • Käänteislukusymbolit (vaaleat kuvat tummalla pohjalla)
  • Merkkijoukon määrittely ( laajennetun kanavatulkinnan kautta )
  • Suorakulmaiset symbolit
  • Strukturoitu liite (enintään 16 symbolin linkittäminen suurempien tietomäärien koodaamiseen)

Tietomatriisi ECC 000–140

Data Matrixin vanhemmat versiot sisältävät ECC 000, ECC 050, ECC 080, ECC 100, ECC 140. Käytä Reed – Salomon- koodien, kuten ECC 200, sijaan ECC 000–140 virheiden korjausta. Kukin vaihtelee tarjoamansa virheenkorjauksen määrässä: ECC 000 ei tarjoa mitään ja ECC 140 tarjoaa suurimman. Virheiden havaitsemiseksi dekoodaushetkellä, jopa ECC 000: n tapauksessa, jokainen näistä versioista koodaa myös bittikuvioon CRC ( Cyclic Redundancy Check ). Lisätoimenpiteenä kunkin bitin sijoitus koodiin määritetään spesifikaatioon sisältyvillä bittien sijoittelutaulukoilla. Näissä vanhemmissa versioissa on aina pariton määrä moduuleja, ja ne voidaan tehdä kooltaan 9 × 9–49 × 49. taustaväristä. (binääri 1).

ISO/IEC 16022: n mukaan "ECC 000–140 -laitetta tulisi käyttää vain suljetuissa sovelluksissa, joissa yksi osapuoli valvoo sekä symbolien tuottamista että lukemista ja on vastuussa järjestelmän yleisestä suorituskyvystä."

Standardit

Data Matrixin keksi International Data Matrix, Inc. (ID Matrix), joka sulautettiin osaksi RVSI / Acuity CiMatrix , jonka Siemens AG osti lokakuussa 2005 ja Microscan Systems syyskuussa 2008. Data Matrix kattaa nykyään useat ISO / IEC standardeja ja on julkinen monille sovelluksille, mikä tarkoittaa, että sitä voidaan käyttää ilman lisenssejä tai rojalteja.

  • ISO/IEC 16022: 2006 - Data Matrix -viivakoodisymboli
  • ISO/IEC 15415—2-D Tulostuslaatustandardi
  • ISO/IEC 15418: 2016 - Symbolitiedostomuodon semantiikka ( GS1 -sovellustunnisteet ja ASC MH10 -tunnisteet ja ylläpito)
  • ISO/IEC 15424: 2008 - Tiedonsiirtotunnisteet (mukaan lukien symbolitunnisteet) [ID: t eri viivakoodityyppien erottamiseksi]
  • ISO/IEC 15434: 2006-Suuren kapasiteetin ADC-median syntaksi (skannerista ohjelmistoon siirretyn datan muoto jne.)
  • ISO/IEC 15459 - Ainutlaatuiset tunnisteet

Koodaus

Industrial Data Matrix -koodinlukijat

Koodausprosessi on kuvattu ISO/IEC -standardissa 16022: 2006. Avoimen lähdekoodin ohjelmisto Data Matrixin ECC-200-variantin koodaamiseen ja purkamiseen on julkaistu.

Alla olevat kaaviot havainnollistavat viestidatan sijoittamista Data Matrix -symboliin. Viesti on "Wikipedia", ja se on järjestetty hieman monimutkaiseen diagonaaliseen kuvioon, joka alkaa lähellä vasenta yläkulmaa. Jotkut merkit on jaettu kahteen osaan, kuten ensimmäinen W, ja kolmas 'i' on "kulmakuviossa 2" tavallisen L-muotoisen järjestelyn sijasta. Näytetään myös viestin lopun koodi (merkitty End), täyte (P) ja virheenkorjaus (E) tavua ja neljä moduulia käyttämätöntä tilaa (X).

Data Matrix Encoding.svg Datamatrixfilling.png

Useita koodausmuotoja käytetään erilaisten viestien tallentamiseen. Oletustila tallentaa yhden ASCII- merkin per 8-bittinen koodisana. Säätökoodeja voidaan käyttää tilojen välillä vaihtamiseen alla kuvatulla tavalla.

Koodisana Tulkinta
0 Ei käytetty
1–128 ASCII -tiedot (ASCII -arvo + 1)
129 Viestin loppu
130–229 Numeroparit 00-99
230 Aloita C40 -koodaus
231 Aloita Base 256 -koodaus
232 FNC1
233 Rakenteellinen liite. Mahdollistaa viestin jakamisen useille symboleille.
234 Lukijan ohjelmointi
235 Aseta seuraava bitti korkeaksi
236 05 Makro
237 06 Makro
238 Aloita ANSI X12 -koodaus
239 Aloita tekstin koodaus
240 Aloita EDIFACT -koodaus
241 Laajennettu kanava Tulkinta koodi
242–255 Ei käytetty

Tekstitilat

C40-, Teksti- ja X12 -tilat ovat mahdollisesti pienempiä tekstiviestien tallentamiseen. Ne ovat samanlaisia ​​kuin DEC Radix-50 , joissa käytetään merkkikoodeja välillä 0–39, ja kolme näistä koodeista yhdistetään, jotta saadaan luku 40 3 = 64000, joka on pakattu kahteen tavuun (suurin arvo 65536) seuraavasti :

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

Tuloksena oleva B1 -arvo on välillä 0–250. Erikoisarvoa 254 käytetään palaamaan ASCII -koodaustilaan.

Merkkikoodin tulkinnat on esitetty alla olevassa taulukossa. C40- ja Text -tiloissa on neljä erillistä sarjaa. Sarja 0 on oletusarvo, ja se sisältää koodeja, jotka valitsevat väliaikaisesti toisen sarjan seuraavalle merkille. Ainoa ero on, että ne kääntävät isot ja pienet kirjaimet. C40 on pääasiassa isoja kirjaimia ja pieniä kirjaimia sarjassa 3; Teksti on toisinpäin. Joukko 1, joka sisältää ASCII -ohjauskoodit, ja joukko 2, joka sisältää välimerkkejä, ovat samat C40- ja tekstitilassa.

Koodi aseta 0 aseta 1 sarja 2 sarja 3 X12
C40 Teksti C40 Teksti
0 aseta 1 NUL ! ` CR
1 sarja 2 SOH " a A *
2 sarja 3 STX # b B >
3 tilaa ETX $ c C tilaa
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 Minä 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 NIIN / n N A
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 Minä i SYN [ v V Minä
23 J j ETB \ w W J
24 K k VOI ] x X K
25 L l EM ^ y Y L
26 M m SUB _ z Z M
27 N n POISTU FNC1 { N
28 O o FS | O
29 P s GS } P
30 Q q RS hibit ~ Q
31 R r MEILLE 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 -tila

EDIFACT -tila käyttää kuutta bittiä merkkiä kohden, ja neljä merkkiä on pakattu kolmeen tavuun. Se voi tallentaa numeroita, isoja kirjaimia ja monia välimerkkejä, mutta ei tue pieniä kirjaimia.

Koodi Merkitys
0–30 ASCII -koodit 64–94
31 Palaa ASCII -tilaan
32–63 ASCII -koodit 32–63

Base 256 -tila

Perustason 256 tilan tiedot alkavat pituuden ilmaisimella, jota seuraa lukuisia tavuja. Pituus 1 - 249 on koodattu yhdeksi tavuksi ja pidemmät pituudet tallennetaan kahdeksi tavuksi.

L1 = lattia (pituus / 250) + 249, L2 = pituusmoduuli 250

On toivottavaa välttää pitkiä nollamerkkijonoja koodatussa viestissä, koska niistä tulee suuria tyhjiä alueita Data Matrix -symbolissa, mikä voi aiheuttaa skannerin synkronoinnin menetyksen. (ASCII -oletuskoodaus ei käytä nollaa tästä syystä.) Tämän todennäköisyyden vähentämiseksi pituus ja datatavut peitetään lisäämällä näennäissatunnainen arvo R (n), jossa n on tavuvirran sijainti.

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

Patenttiasiat

Ennen Yhdysvaltain patentin 5 612 524 voimassaolon päättymistä marraskuussa 2007 teollis- ja tekijänoikeusyhtiö Acacia Technologies väitti, että sen sisältö kattoi osittain Data Matrixin. Patentin omistajana Acacia väitti ottaneensa yhteyttä Data Matrix -käyttäjiin ja vaatinut patenttiin liittyviä lisenssimaksuja.

Cognex Corporation , suuri 2D -viivakoodilaitteiden valmistaja, teki valittavan tuomion 13. maaliskuuta 2006 saatuaan tiedon, että Acacia oli ottanut yhteyttä asiakkaisiinsa vaatien lisenssimaksuja. Minnesotan Yhdysvaltain käräjäoikeuden tuomari Joan N. Ericksen päätti 19. toukokuuta 2008 Cognexin hyväksi. Tuomiossa todettiin, että patentti '524, jonka väitettiin kattavan 2D -symbolikoodien sieppaus- ja lukujärjestelmän, on sekä pätemätön että täytäntöönpanokelvoton, koska vastaajat ovat käyttäytyneet epäoikeudenmukaisesti patentin hankinnan aikana.

Vaikka tuomio annettiin patentin voimassaolon päättymisen jälkeen, se sulki pois väitteet rikkomisesta, joka perustui Data Matrixin käyttöön ennen marraskuuta 2007.

Saksalainen patenttihakemus DE 4107020 jätettiin vuonna 1991 ja julkaistiin vuonna 1992. Tätä patenttia ei ole mainittu yllä olevissa Yhdysvaltain patenttihakemuksissa ja se voi mitätöidä ne.

Katso myös

Viitteet

Ulkoiset linkit