Datamatriisi - Data Matrix
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 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.
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.
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
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
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).
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
- PDF417
- Aztec -koodi
- Suurikapasiteettinen väriviivakoodi
- MaxiCode
- Nintendon e-lukija
- QR koodi
- Semacode
- SPARQ -koodi
- Luotettu paperiavain