coduri de bare
(aproape)   TOTUL DESPRE CODURI DE BARE!

Code 128 Symbology

Code 128

"Code 128" asigura o excelenta densitate a codurilor de bare pentru datele numerice si o densitate buna pentru datele alfanumerice. Este, in foarte multe cazuri, ales pentru aplicatii noi in locul codului de bare "Code 39" datorita densitatii sale precum si datorita faptului ca poate codifica un set foarte mare de caractere. Standardul acestui cod de bare este intretinut de AIM (Automatic Identification Manufacturers).

Setul de caractere ce pot fi codificate folosind codul de bare "Code 128" cuprinde: cifrele de la zero la noua, literele de la A la Z (litere mari si litere mici), toate codurile ASCII si codurile de control. Codurile de bare sunt impartite in trei subseturi, respectiv A, B, C. Exista trei coduri distincte ce indica ce subset va fi folosit; in plus, fiecare subset include caractere de control ce permit trecerea catre alt subset in mijlocul unui cod de bare. Subsetul A include caracterele ASCII standard, cifre, litere mari si coduri de control. Subsetul B include caracterele ASCII standard, cifre, litere mari si litere mici. Subsetul C comprima doi digiti numerici in fiecare caracter realizand astfel o densitate excelenta pentru fiecare cod de bare. Ambele exemple de mai sus contin 12 digiti. Totusi intre ele exista o diferenta vizibila ce se datoreaza faptului ca ultima contine digiti comprimati:

Fiecare caracter este egal cu de 11 ori latimea celei mai inguste linii; folosind o latime minima a liniei de 0.010" fiecare caracter va fi lat de 0.11". Folosind dimensiunea de 0.010", 20 de caractere de date plus codul de start, digitul de control si codul de stop vor avea latimea de 2.55" (codul de stop este de 13 ori mai lat decat cea mai ingusta bara). Folosind subsetul C cu date exclusiv numerice se realizeaza o comprimare de 2:1 a datelor insemnand o latime totala a codului de bare de 1.45".

Fiecare caracter se compune din trei linii si trei spatii, care la randul lor pot avea latimea a 1, 2 sau 3 elemente (1 element = 1/11 din latimea caracterului). Liniile folosesc intotdeauna un numar par de elemente, in timp ce spatiile un numar impar de elemente. Acest lucru ofera bazele pentru o verificare a continutului caracter cu caracter in timpul citirii. In plus, fiecare cod de bare "Code 128" include o verificare modulo 103 a sumei.

Suma de verificare

Calculul sumei de verificare poate fi un pic dificil. Fiecare caracter, in simbologia "Code 128", are o valoare numerica cuprinsa intre 0 si 102. In subsetul A si B, valoarea numerica a unui caracter se calculeaza ca fiind codul sau ASCII minus 32. De exemplu, spatiul (ASCII 32) are valoarea 0, semnul exclamarii (ASCII 33) are valoarea 1, etc.

Subsetul A permite imprimarea caracterelor de control ASCII, adica acelea cu coduri ASCII cuprinse intre 0 si 31. Pentru aceste caractere adaugati 64 la codul ASCII pentru a obtine valoarea numerica. De exemplu, valoarea NUL (ASCII 0) este 64, SOH (ASCII 1) este 65, STX (ASCII 2) este 66, etc.

Subsetul C imprima digitii numerici in perechi, iar valoarea caracterului folosit pentru suma de control este valoarea numerica a perechii (00, 01, 02... 99).

Pentru a calcula suma de control, parcurgeti pasii urmatori:

  1. Initializati valoarea variabilei destinate sumei de control cu valoarea caracterului de start (103, 104, sau 105 pentru subsetul A, B sau ,respectiv, C).
  2. Initializati un multiplicator cu valoarea 1.
  3. Incepand cu partea stanga a codului de bare, adaugati valoarea numerica a fiecarui caracter, corectat cu multiplicatorul, la suma de control. Incrementati multiplicatorul dupa fiecare caracter.
  4. Impartiti rezultatul la 103. Restul impartirii reprezinta suma de control.
  5. Convertiti valoarea numerica a sumei de control in caractere ASCII.

Detaliile privind conversia valorii numerice a sumei in caractere ASCII pot varia in functie de fontul folosit. O atentie speciala este necesara in cazurile in care codul de caracter ASCII rezultant este egal cu zero sau este mai mare decat 95.

In concluzie, in subsetul A, daca suma de control are valoarea cuprinsa intre 0 si 63 inclusiv, adaugati suma de control si codul ASCII corespunzator unui spatiu (32) pentru a obtine codul caracterului. Daca suma de control este egala cu 64 sau mai mare, scadeti 64 pentru a obtine codul caracterului. In subsetul B, adaugati suma de control si codul ASCII al unui spatiu (32). In subsetul C, suma de control are valoarea egala cu codul ASCII al caracterului.

Informations provided by "Measurement Equipment Corporation".

www. ETICHETE .com www. ULTRAFACTOR .ro www. RIBOANE .ro