Universaali tuotekoodi

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 2. marraskuuta 2016 tarkistetusta versiosta . vahvistus vaatii 31 muokkausta .

UPC tai Universal Product Code (yleinen tuotekoodi) on amerikkalainen viivakoodistandardi , joka on suunniteltu seuraamaan kaupoissa olevia tuotteita. UPC:n kehitti vuonna 1973 IBM Corporationin insinööri George Joseph Laurer . Kesäkuussa 1974 NCR :n ensimmäinen UPC-skanneri asennettiin Marsh Supermarketiin Troyssa, Ohiossa . 26. kesäkuuta 1974 tämän supermarketin kassa skannasi ensimmäisen tuotteen, laatikon, jossa oli 10 Wrigley - hedelmäkumia .

Standardointi

UCC (Uniform Code Council, Inc.) Yhdysvalloissa ja ECCC (Electronic Commerce Council of Canada) Kanadassa osallistuivat UPC-koodien standardointiin ja rekisteröintiin. Vuonna 2005 nämä organisaatiot sulautuivat eurooppalaiseen EAN-yhdistykseen ja muodostivat maailmanlaajuisen standardointijärjestön GS1 :n . "Venäjän kansallinen GS1-organisaatio" on tämän organisaation edustaja Venäjän federaatiossa.

Koodityypit:

UPC-A ja vastaava UPC-E
UPC-A UPC-E

UPC-koodi sisältää vain numeroita, ei kirjaimia tai muita symboleja.

Koodin parantaminen käytettäväksi muissa maissa

12-numeroinen UPC on eurooppalaisen EAN-13 Improved Code -koodin esikuva , joka koodaa 13 numeroa. UPC-koodi on erikoistapaus, EAN-13-koodin osajoukko. UPC-koodi muunnetaan EAN-13-koodiksi lisäämällä nolla ennen UPC-koodin kahtatoista numeroa. Eli tuotteella, jonka viivakoodin näemme tämän artikkelin kuvassa, on EAN-13-koodi: 0 036000291452. Tästä syystä Yhdysvalloissa tai Kanadassa valmistettujen tuotteiden koodit alkavat eurooppalaisella koodauksella. nollasta.

On tärkeää, että itse "viivous" sellaisessa muunnoksessa eli UPC:tä vastaavien koodien EAN-13-kuvio on identtinen UPC:n "viivouksen" kanssa. Tällä tavalla varmistettiin amerikkalaisten koodien yhteensopivuus Euroopassa lukemista varten ilman tarrojen uudelleenpainottamista tai tavaroiden uudelleen pakkaamista.

Lisätietoja EAN-13-koodista ja sen eroista UPC:stä on eurooppalaisessa artikkelinumerossa .

Rakenteen yleinen kuvaus

UPC-koodi on yksinkertainen ja lähes symmetrinen lineaarinen viivakoodi. Yksinkertaisuus, symmetria ja korkea kohinansieto johtuvat riittämättömästä tekniikasta näiden koodien luomishetkellä.

Koodi koostuu 2 numeroryhmästä, 6 numeroa kussakin ryhmässä - vasen ja oikea. Numeroryhmiä rajaavat niin sanotut suojaavat tai sulkevat viivakuviot (Guard Patterns). Nämä mallit sisältävät yhden leveyden viivoja, joita käytetään viivakoodinlukijan synkronointiin. Täsmälleen kolmen tällaisen kentän olemassaolo johtuu ensisijaisesti mahdollisesta viivakoodin käytöstä pyöristetylle pinnalle. Ja jos nyt tämä ei ole erityinen ongelma, niin tätä koodia luotaessa skannerin piti tietää yhden vedon leveys koodin alussa, keskellä ja lopussa. Vasen ja oikea suojakuviot koostuvat kolmesta yksikön leveydestä - kahdesta tummasta ja yhdestä vaaleasta niiden välissä. Keskimääräinen suojamalli koostuu viidestä vedosta - kolme vaaleaa ja kaksi tummaa. Kaikki muu on numeroita.

Jokainen vasemman tai oikean ryhmän numero on koodattu neljällä vedolla: kaksi vaaleaa ja kaksi tummaa. Jokaisen vedon suhteellinen leveys voi olla yksi, kaksi, kolme tai neljä yksikköä. Yhden numeron viivan kokonaisleveys on aina seitsemän yksikköä. Jokaisen numeron bittikuvio on suunniteltu siten, että numerot ovat mahdollisimman erilaisia. Tumman tai vaalean alueen enimmäispituus ei saa ylittää neljää yksikköä. Koko koodin kokonaisleveys on aina 95 yksikköä. Missä tahansa koodissa on 29 vaaleaa ja 30 tummaa viivaa. Kaikki nämä tekniset ratkaisut ovat tärkeitä tämän koodin luotettavuuden ja helppouden kannalta.

Koodin ensimmäisellä numerolla - tämä on ns. etuliite - on jokin looginen merkitys, mutta se ei ole niin tärkeä teknisestä näkökulmasta. Viimeinen numero on tarkistusnumero, sitä käytetään mahdollisen virheen havaitsemiseen luettaessa koodia skannerilla tai syötettäessä koodinumeroita manuaalisesti näppäimistöltä.

Vetoyhdistelmän lukusuunnalla ei ole väliä - koodi on suunniteltu niin, että se on yhtä helppo lukea sekä eteen- että taaksepäin (jos tuote käännetään ylösalaisin). Sillä ei myöskään ole väliä, millainen muotoilu koko viivakoodilla on - valokuvallisesti positiivinen vai negatiivinen: tummalle taustalle vaaleilla raidoilla painettu viivakoodi luetaan samalla tavalla kuin tummia raitoja vaalealla taustalla. Viivan ja taustan värien ei tarvitse olla valkoista ja mustaa, muut väriyhdistelmät ovat mahdollisia.

Numerokoodaus

UPC-A-viivakoodien koodaustaulukko kuviolla S L LLLLLMRRRRRR R E
"Hiljainen"
vyöhyke
S
(aloitus)
L
(vasen koodi)
M
(keskellä)
R
(oikea koodi)
E
(loppu)
"Hiljainen"
vyöhyke
0 yksi 2 3 neljä 5 6 7 kahdeksan 9 0 yksi 2 3 neljä 5 6 7 kahdeksan 9
Numerokoodaus koodin oikealle ja vasemmalle osalle
Määrä Vasen koodi Käänteinen koodi Oikea koodi Viivan leveys
0 0001101 0100111 1110010 3-2-1-1
yksi 0011001 0110011 1100110 2-2-2-1
2 0010011 0011011 1101100 2-1-2-2
3 0111101 0100001 1000010 1-4-1-1
neljä 0100011 0011101 1011100 1-1-3-2
5 0110001 0111001 1001110 1-2-3-1
6 0101111 0000101 1010000 1-1-1-4
7 0111011 0010001 1000100 1-3-1-2
kahdeksan 0110111 0001001 1001000 1-2-1-3
9 0001011 0010111 1110100 3-1-1-2
Suojauskuvion koodaus
Näyte Vasen Keskitetty Oikealla
Vasemman suojan malli 101
Keskikokoinen suojaava malli 01010
Oikea suojamalli 101



Koodin rakennetta suunniteltaessa, ei vielä kovin kehittyneen elektroniikan olosuhteissa, oli tärkeää tehdä skannerin lukemisesta mahdollisimman helppoa ja yksinkertaistaa itse skannerin laitteistoa. Yksi vaikeuksista oli ongelma, joka koski koodin todennäköistä lukemista päinvastaiseen suuntaan, eli tuotteen koodin lukemiseen, jonka kassa toi skannerille "ylös alaspäin". Siksi oli erittäin tärkeää, että raitojen vuorottelu on sama molempiin suuntiin - ensin tumma veto, sitten valkoinen, sitten taas tumma ja niin edelleen. Kyllä, ja olisi myös mukavaa, jos suojamallien sijainti olisi aina samassa paikassa.

Ratkaisu on löydetty. Voit huomata, että koodi näyttää erittäin symmetriseltä, eli vedon määrä oikealla ja vasemmalla keskellä on aina sama ja viivakoodin oikean ja vasemman osan leveys ovat samat. Eli viivakoodin lukumekanismi on aina sama, riippumatta siitä, kuinka käännät tätä koodia.

Mitä tulee samaan vuorottelevien vaaleiden ja tummien vetojen sarjaan eteenpäin ja taaksepäin luettaessa, kehittäjät saavuttivat tämän sillä tosiasialla, että oikean ja vasemman numeroryhmän koodaus on hieman erilainen - oikeilla merkeillä on valokuvallisesti negatiivinen ääriviiva suhteessa numeroon. vasemmat. Eli saman numeron vetokuviot ovat identtisiä, mutta positiivisia tai negatiivisia. Toisin sanoen, ainoa ero on, että jos koodin vasemmalla puolella se on vaalea veto, niin oikealla se on tumma.

Eteenpäin tai taaksepäin lukemisen tunnistamisen ongelma on yhtä helposti ratkaistavissa loogisesti. Jos skanneri esimerkiksi lukee luvun, jonka vetopaksuus on 3-2-1-1, se ymmärtää, että tämä on luku "nolla" ja sen suora lukema, ja jos se lukee lyöntejä, joiden paksuus on 1-1 -2-3, niin se ymmärtää, että tämä on sama "nolla", mutta lue päinvastaiseen suuntaan. Lukeessaan numeroita, jotka on peilikoodattu tavanomaiseen koodaukseen nähden, skanneri ymmärtää, että koko viivakoodi luetaan vastakkaiseen suuntaan, joten koko tuloksena oleva 12 numeron sarja on lähetettävä tietokoneelle käänteisessä järjestyksessä.

Kaikki tämä oli tiettyä jälleenvakuutusta ja ylilyöntiä nykyaikaisin standardein, mutta vuosi oli 1973.

Tarkista numerolaskenta

UPC-A (GTIN-12) -koodissa tarkistusnumero (numero) lasketaan seuraavasti:

  1. Kaikki parittomat numerot (ensimmäinen, kolmas, viides jne.) lasketaan yhteen ja tulos kerrotaan kolmella.
  2. Kaikki parillisten paikkojen numerot (toinen, neljäs, kuudes jne.) lasketaan yhteen.
  3. Kahdessa edellisessä vaiheessa saadut luvut lasketaan yhteen, ja tuloksesta jää vain viimeinen numero.
  4. Tämä luku vähennetään 10:stä.
  5. Näiden laskelmien lopputulos on tarkistusnumero (kymmenen vastaa lukua 0).

Esimerkiksi kuvassa "03600029145X" näkyvä UPC-A-viivakoodin tarkistusnumero, jossa "X" on etsimäsi tarkistusnumero, lasketaan laskemalla yhteen kaikki parittomat numerot (0+6+0+2+1 +5 = 14), kerrottuna kolmella (14 × 3 = 42), tulos lasketaan yhteen parillisilla numeroilla (42+3+0+0+9+4 = 58), kaikki paitsi viimeinen numero hylätään (58 mod 10 = 8), vähennetään luvusta 10 (10 − 8 = 2) ja uudelleen tarvittaessa hylätään kaikki paitsi viimeinen numero (2 mod 10 = 2). Haluttu sekkinumero on numero 2.

Koodia luettaessa lukeman oikeellisuus tarkistetaan samalla tavalla, mutta hieman yksinkertaisemmin:

  1. Kaikki parittomat luvut lasketaan yhteen ja kerrotaan kolmella.
  2. Kaikki parilliset numerot lasketaan yhteen tarkistusnumero mukaan lukien.
  3. nämä summat lasketaan yhteen ja tuloksesta jätetään viimeinen numero.

Teknisesti numerot käsitellään peräkkäin, yhdellä ajolla, jolloin jokainen numero kerrotaan 1:llä tai 3:lla paikan tasaisuudesta riippuen, summaan lisätään ja jäännös modulo 10 otetaan nykyisestä summasta. Toisin sanoen kymmenet hylätään välittömästi, mikä yksinkertaistaa huomattavasti laskentamekanismia.

Jos tulos on nolla, päätetään, että koodi luettiin oikein, jos jokin muu numero, niin koodi luettiin yksiselitteisesti väärin.

Tuotteen koodaus

Tämä koodi luotiin ensisijaisesti automatisoimaan monien yritysten valmistamien tuotteiden kauppaa, joten sisäinen sisältö oli tärkeä myös standardoinnin ja sääntelyn kannalta, jotta eri yritykset eivät voineet antaa samaa koodia tuotteelle. Jokaisella äskettäin valmistetulla tuotetyypillä oli oltava oma ainutlaatuinen koodinsa, ja tämä oli koko järjestelmän pääidea. Eli jos valmistaja valmistaa esimerkiksi farkkuja, niin erivärisillä, -kokoisilla ja -leikkauksilla olevilla farkuilla tulee olla eri koodit. Eli jos kyseessä on esimerkiksi 10 väriä, 50 tyyppiä, 20 kokoa, niiden koodaamiseen tarvitaan kymmenen tuhatta koodia.

Samalla tuotteella, mutta eri valmistajilta, tulisi puolestaan ​​olla erilainen koodaus. Kaikki tämä oli tärkeää kaupan kirjanpidon automatisoinnissa, varaston, myymälän hyllyjen ja muiden tuotteiden saldojen automaattisessa hallinnassa.

Tämän koodin teoreettinen enimmäismäärä on 100 miljardia erilaista tavaraa (11 numeroa). Se tuntui valtavalta määrältä. Mutta teoria ei aina vastaa käytäntöä, ja nykyinen tilanne on sellainen, että yli 30 vuoden järjestelmän olemassaolon aikana nämä koodit eivät ole riittäneet. Tämä johtuu heidän epätasapainoisesta ja turhasta kulumisestaan.

Aluksi koodin 11 numeroa jaettiin seuraavasti:

Eli teoriassa järjestelmä tarkoitti jopa kuusisataatuhatta yritystä (satatuhatta etuliitettä kohti), joista kukin pystyi koodaamaan jopa satatuhatta tuotteidensa nimeä.

Etuliite

Tämä on koodin ensimmäinen numero. Jakaa koodit loogisesti valmistettujen tuotteiden tyyppeihin.

Eurooppalaisissa EAN-13-koodeissa kaikki nämä amerikkalaiset etuliitteet näyttävät alkavan nollalla, eli 01, 02, 03 ja niin edelleen. Eurooppalaisen yhdistyksen kanssa sulautumisen jälkeen globaalille GS1 Americalle annettiin eurooppalaisessa koodauksessa lisäetuliitteet 10-13, joita käytetään koodaamaan tavallinen tuote.

Yrityksen koodi

Yrityskoodi on se osa koodista, jonka sääntelyorganisaatio antaa yrityksille, jotka haluavat koodata tuotteensa. Alkuperäisen suunnitelman mukaan yrityskoodin piti olla 5 numeroa plus tavallisen tuotteen koodaamiseen varatut etuliitteet. Näin ollen oli mahdollista rekisteröidä noin kuusisataa tuhatta yritystä. Kuten kävi ilmi, tämä ei riitä. Yrityskoodi sijaitsee UPC-koodin vasemmalla puolella.

Tuotekoodi

Tuotekoodi on koodin oikean puolen 5 ensimmäistä numeroa. Yrityksen oli koodattava jokainen tuotetyyppi omalla yksilöllisellä koodillaan. Koodi 99999 on varattu yrityksen itsensä koodaamiseen työnkulun automatisoinnin varmistamiseksi.

Tuotteen koodaus

Numeroiden semanttinen kuorma tuotteen nimessä: Toisin kuin yleisesti luullaan, itse tuotteen digitaalinen koodi (3-5 numeroa) ei kanna semanttista kuormaa. Yhdistys suosittelee koodien johdonmukaista osoittamista, kun uudentyyppisiä tuotteita julkaistaan ​​investoimatta tähän koodiin mitään ylimääräistä semanttista kuormitusta.

UPC:n käyttöön yrityksissä ja toimialajärjestöissä on allokoitu kaikki koodit, jotka alkavat numerolla 2. Jokainen yritys voi käyttää niitä millä tahansa tavalla ja oman harkintansa mukaan, mutta yksinomaan omiin sisäisiin tarkoituksiinsa. Näiden koodien käyttö yrityksen ulkopuolella on kielletty. 2-alkuisten koodien sisäinen sisältö voi seurata mitä tahansa logiikkaa, jonka tämä tai tuo yritys on itselleen asettanut (yleensä nämä ovat jälleenmyyjiä), ja se voi sisältää tuotteen hinnan tai painon tai mitä tahansa muita parametreja, ja tämä koodaus on erityisen usein käytetään painotavaroihin.

"Myytti" koodatusta kolmesta kuutosta

Koodin lukemisen synkronoimiseksi George Laurer toimitti 3 erityistä suojaavaa tai sulkevaa kenttää (Guard Patterns) - vasemman kentän (LGP), keskikentän (CGP) ja oikean kentän (RGP). Kuvassa nämä kentät on korostettu vihreällä selvyyden vuoksi, itse asiassa ne ovat valkoisia. Vasen ja oikea marginaali ovat kolme yksikköä leveät, keskimarginaali 5 yksikköä leveä (muista, minkä tahansa numeron koodi on 7 yksikköä leveä). Legenda syntyi siitä syystä, että yhdessä koodauksessa (katso yllä oleva taulukko) numeroa 6 edustaa sekvenssi 1010000, joka voidaan visuaalisesti havaita kahdeksi vedoksi. Suojakentät (101 ja 01010) näyttävät myös kahdelta vedolta, mutta tällä ei ole mitään tekemistä luvun 6 koodauksen kanssa, paitsi visuaalinen samankaltaisuus. George Laurer itse tunnistaa näiden kenttien jonkinlaisen samankaltaisuuden kuuden koodauksen kanssa, mutta pitää tätä sattumana. Hän pitää myös sattumana, että hänen etunimensä, sukunimensä ja sukunimensä (George Joseph Laurer) sisältävät kuusi kirjainta. UPC-viivakoodissa ei ole koodattua kolmea kuutosta. [4] Toisaalta kreikkalainen tietojenkäsittelytieteilijä Thomas Psaras, jolla ei ole mitään tekemistä uskonnon kanssa, sanoi: "Jotta viivakoodia voidaan käyttää oikein ja tarkasti, piilotettuja kaksoiskoodin viivoja käytetään erottamaan tiedot, jotka sattumalta osoittavat numero 6 viivakoodilla toistettujen numeeristen tietojen alussa, keskellä ja lopussa.

Katso myös

Muistiinpanot

  1. NHRIC (National Health Related Items Code) (linkki ei saatavilla) . HealthData . Yhdysvaltain terveys- ja henkilöstöpalveluministeriö. Haettu 5. maaliskuuta 2017. Arkistoitu alkuperäisestä 8. maaliskuuta 2021. 
  2. 1 2 UPC- ja EAN-viivakoodisivu (downlink) . www.adams1.com. Haettu 5. maaliskuuta 2017. Arkistoitu alkuperäisestä 30. tammikuuta 2017. 
  3. UPC-E SYMBOLOGIA (downlink) . www.barcodeisland.com. Haettu 5. maaliskuuta 2017. Arkistoitu alkuperäisestä 26. helmikuuta 2020. 
  4. UPC Kysymyksiä aiheesta 666 Arkistoitu alkuperäisestä 6. tammikuuta 2016.

Linkit