[ Codice 3 di 9 ]
[ 1 ]

4.1.9.1 - Il Codice 39

   Il codice 39 è stato sviluppato nel 1974, per applicazioni richiedenti un codice alfanumerico. E` un codice interessante sotto molti aspetti. Anche utilizzatori di dati numerici possono trovare vantaggiosa la possibilita` di codificare caratteri alfabetici e speciali. Il codice 39 ha avuto una forte espansione negli enti pubblici, nell'industria e nel commercio. Tra i codici industriali è il più diffuso.

   Il codice 39 risponde alle norme MIL-STD-1189 e ANSI MH 10.8M-1983. Permette la codifica di 43 caratteri, ognuno dei quali è rappresentato da 9 elementi, 5 barre e 4 spazi; 3 elementi sono larghi e 6 stretti.
   La dimensione del simbolo dipende dallo spessore del modulo e dal rapporto di stampa. L'altezza delle barre dipende dal campo applicativo.
   L'altezza minima per l'impiego di penne ottiche o di lettori CCD, affinche' la lettura risulti agevole, è di 6.5 mm o il 15% della lunghezza del codice. Usando invece pistole laser o scanners l'altezza delle barre deve essere almeno 20 mm o il 20% della larghezza del simbolo. Il piu` piccolo spessore nominale del modulo è 0.19 mm, per i codici ad alta densita` di stampa. I massimi spessori del modulo sono utilizzati per applicazioni speciali. Il rapporto di stampa puo` variare nell'intervallo 2:1 - 3:1, ristretto a 2.25:1 - 3:1 nel caso lo spessore del modulo sia inferiore a 0.5 mm. Lo spazio intercarattere ha normalmente lo spessore di un modulo, ma puo` essere piu` largo, fino a tre volte tanto.


4.1.9.2 - CARATTERISTICHE

  • Codice alfanumerico con caratteri speciali
  • Codice discreto
  • Codice self-checking

4.1.9.3 - VANTAGGI

  • Rappresentazione di caratteri numerici, alfabetici e speciali

4.1.9.4 - SVANTAGGI

  • Bassa densita' di informazione.
  • Gli spazi all'interno di un carattere sono significativi.
  • Bassa Tolleranza (+/-10%).

4.1.9.5 - SET DI CARATTERI

  • 10 cifre
  • 26 caratteri alfabetici (maiuscoli).
  • 7 caratteri speciali.
  • 1 carattere di start/stop (il carattere speciale "*")

4.1.9.6 - TOLLERANZA

    La tolleranza di stampa per il codice 39 dipende dal rapporto di stampa e dallo spessore del modulo, secondo la seguente espressione:

    4
    T = + / - --------- * (R-2/3)*X
    27
    dove:
      T = tolleranza (%)
      R = rapporto di stampa
      X = spessore del modulo

4.1.9.7 - LUNGHEZZA DEL SIMBOLO

    L = (N(3R+6)+(6R+12)+(N+1)Ri)X+2Q

    dove:
      L = lunghezza del simbolo, incluse le zone di overflow.
      N = numero di caratteri rappresentati
      X = spessore del modulo
      R = rapporto di stampa.
      Ri = rapporto degli spessori: spazio intercarattere/modulo.
      Q = ampiezza delle zone di overflow, almeno 10 X.

4.1.9.8 - CALCOLO DEL NUMERO DI CARATTERI

    (L-2Q)/X-(6R+12)-Ri
    N = -------------------------------
    3R+6+Ri

    dove:
      L = lunghezza del simbolo, incluse le zone di overflow.
      N = numero di caratteri rappresentati
      X = spessore del modulo
      R = rapporto di stampa.
      Ri = rapporto degli spessori: spazio intercarattere/modulo.
      Q = ampiezza delle zone di overflow, almeno 10 X.

4.1.9.9 - CALCOLO DEL CHECK DIGIT

    Il check digit del codice 39, inserito alla destra dei caratteri di dati, e' il carattere corrispondente alla somma modulo 43 dei numeri di riferimento associati ai suddetti caratteri secondo la seguente tabella :

Carattere
Valore
Carattere
Valore
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
G
H
I
J
K
L
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
-
.
space
$
/
+
%
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

    Esempio : Testo da codificare : A C S E
    Somma dei numeri di riferimento : 10 + 12 + 28 + 14 = 64
    Calcolo del Check digit : 64/43 = 1 con resto di 21
    Caratter corrispondente : L
    Testo da codificare completo di check digit : A C S E L

4.1.9.10 - TABELLA DI DECODIFICA

Carattere B1 S1 B2 S2 B3 S3 B4 S4 B5
1
2
3
4
5
6
7
8
9
0
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
-
.
space
*
$
/
+
%
1
0
1
0
1
0
0
1
0
0
1
0
1
0
1
0
0
1
0
0
1
0
1
0
1
0
0
1
0
0
1
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
1
1
0
0
1
0
0
1
0
0
1
1
0
0
1
0
0
1
0
0
1
1
0
0
1
0
0
1
0
0
1
1
0
0
1
0
0
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
1
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
1
1
0
1
0
0
1
0
0
0
0
0
0
0

    Il carattere speciale " * " assume la funzione di carattere si Start/Stop.

    B1 - B5 = barra 1 - 5
    S1 - S4 = spazio 1 - 4
      1 = elemento largo
      0 = elemento stretto