CODE-128は、(第1表)に示すようにコードセットA、B、Cの3種類のデータキャラクタを持っている。どのキャラクタを使用するかはスタートコード、コードセットA~C、シフトキャラクタによって決まる。
シンボルがスタートコードAで始まるとコードセットAが定義される。また、コードセットA~C、シフトキャラクタを使用することで、シンボル中のコードセットを再度定義することができる。
コードセットA
すべての標準大文字英数字キャラクタとASCIIのコントロールキャラクタと7個の特殊キャラクタを表現できる。
コードセットB
標準大文字英数字キャラクタと小文字アルファベットと7個の特殊キャラクタを表現できる。
コードセットC
00~99までの100個の2桁数字と3個の特殊キャラクタを表現できる。これにより1シンボルキャラクタで2数字がコード化され、標準データ密度の2倍の密度でコード化できる。
特殊キャラクタ
1. CODEA、B、C
CODE A~Cの各キャラクタはそのコードに続くシンボルのコードセットを変更するために使用される。コードセットを変更すると最終桁までその効果は維持される。(再度コードセットを変更する事もできる)
2. シフトキャラクタシフトキャラクタは一時的にAからB、BからAなどに変更する際に使用される。これは、1個のシンボルキャラクタが変更された後に自動的に以前のコードセットに戻る。
3. ファンクションキャラクタFNC1~4までの4つのファンクションキャラクタを持ち、その各々に対してCODE-128の性能を拡張するための様々な機能が与えられる。
「FNC1」:特定の工業規格に合致するシンボルを識別する。
「FNC2」:FNC2キャラクタを含むシンボルからデータを一時的に保存して、それを次のシン ボルデータにプリフィックスとして送信するようにリーダーに命令する。この機能を利用する事によって送信前に複数のシンボルを連結する事が可能である。
「FNC3」:FNC3を含むシンボルからデータをリーダーに対してプログラム指令を命令する。
「FNC4」:拡張ASCIIモードへのアクセスを可能とする。コードセットAまたはBでコード化されたデータは、正規のASCII値より128だけその値が大きくなる。
4. スタート・ストップコードコードセットA、B、Cの中から初期コードセットを定義するために、3個のスタートシンボルの中から1つを使用する。シンボルの最後には必ずストップコードを 使用する。
「自己チェック機」
自己チェック機能を有する。
「シンボルチェックキャラクタ」
シンボルチェックキャラクタは、重み付きのモジュラース103チェックキャラクタである。このキャラクタはストップコードの前に置く。
「チェックキャラクタ計算方法」
第1表に示す値を割り当てる。
各キャラクタの重み(1~n)をスタートコードから順番に付ける。スタートコードと第1桁目の重みは1である。
各キャラクタと重みを掛け算し和を取る。
3)の結果を103で割り余りを出す。
余りを第1表に当てはめてキャラクタに換算する。
「例」
データ 「BCode△128」のチェックデジットを求める。
スタートコード
B
値 104 35 79 68 69 0 17 18 24
重み 1 1 2 3 4 5 6 7 8
積 104 35 158 204 276 0 102 126 192
=1197 1197÷103=11余り64
(キャラクタパターン:111422)
寸法
最少エレメント幅(X)
最少エレメント幅(X)は、AIMの規格で0.191mmと決められている。
クワイエットゾーン
クワイエットゾーンの最少値は、10Xまたは、0.54mmのいずれかの大きい値とし、スタート・ストップコードの前後に入れる。手動操作(手動スキャニング)の場合には6.35mm以上が好ましい。
シンボル長
クワイエットゾーンを含むシンボル長(L)は、Xを細エレメント幅とすれば次の式で求められる。
L(mm)=(11(C+(D/2)+3)+2X+2Q
X=細エレメント幅(mm)
C=Dに含まれないASCIIキャラクタの数と必要なシフトキャラクタ及びコードキャラクタの数の合計
D=数字フィールド中の桁数
Q=クワイエットゾーンの幅(10X)
キャラクタ密度
細エレメント幅X=0.191mm、キャラクタ数C=10桁において、スタートコードがAまたはBの時のキャラクタ密度は9.2文字/インチである。スタートコードがCの時のキャラクタ密度は14.9文字/インチである。
シンボルの高さ
最少シンボルの高さは、一般的に5mm、または、シンボル長の15%のいずれか大きい値とする。
許容誤差(Tp、Tb、Te)
各キャラクタの許容誤差は、第3図で示す様に「b」、「e」、「p」3種類の測定が必要である。
1)シンボルキャラクタ間の許容誤差(Tp)
Tp=±0.20X X:公称細エレメント
バーもしくはスペースの許容誤差(Tb)
Tb=±0.40X-0.0005インチ(0.013mm)
エッジ - エッジの許容誤差(Te)
Te=±0.20X X:公称細エレメント
(第4図、第5図参照)
|