コードリーダー バーコードリーダー バーコードスキャナなら株式会社セイデン

バーコードリーダー Barcode Reader

バーコードリーダーとは?

バーコードリーダー原理の紹介

バーコードリーダーとは?

1:概要
バーコードを利用したシステムにおいてバーコードリーダー(デコードアルゴリズム、バーコード解析ソフト)は重要な要素の一つです。
バーコードリーダーで検出された波形をデータとして取り込み、データのロジック値を正確に解析し、1度のスキャニングで正確なデータとして認識することが重要な課題となります。

2:バーコードリーダーの原理
バーコードリーダーの行っている作業は以下の6項目です。

1) マージンの識別。

2) スタート/ストップコードの識別。

3) バー/スペースの時間間隔測定。

4) バーコードキャラクタの決定。

5) バーコードキャラクタのエラー判定。

6) データの出力。

・マージン/スタートコードの識別 バーコードラベルなどを見るとバーコードの前後に数字や文字などが印刷されている場合が多い。
この様なバーコードラベルの場合には、バーコードの前後の文字を含めてバーコードリーダーはスキャニングするので、バーコードリーダーはバーコードの始まりがどこからであるかを判断しなければならなりません。
バーコード印刷を行う場合にはバーコードの前後に適正な余白(クワイエットゾーン)が必要です。

・バー/スペースの時間間隔測定 バーコードリーダーの回路にはクリスタルがあり、このクリスタルから発振された情報(パルス幅)の時間測定を行い、次にステップで行うバー/スペースの太さの判断用としてメモリにストアする。

・バーコードキャラクタの決定 バー/スペースの時間間隔を測定した値をロジック値に変換するが、この時スレッシュホール ドと比較を行いバーコードキャラクタへの変換作業を行う。

スレッシュホールド値は、デコードアルゴリズムとの重要な関係があり、その役割は、ある基 準値より大きいか小さいかを判断して太バー/スペースであるか、細バー/スペースであるか の決定を行う。

・ スレッシュホールド値 スレッシュホールド値の寸法は次のように太/細の幅の中間に設定する。




実際のスレッシュホールド値の決定方法は上記の様な簡単な計算式ではない。
それは印刷され たバーコードが滲んだりすることによりバーが太く印刷され、スペースが細くなるからです。
また、バーコードリーダーの特性により、ファーストバーが歪んで太くなり、スキャニン グ速度の変化により出力波形が太ったり、細ったりすることなど様々な要因で実際の寸法(理 想値)と大きく異なるからです。
また、バーコードシンボルによっては、2値(太/細)で はなく4値の太さで構成されたバーコードの判定はより複雑だからです。

・ バーコードキャラクタのエラー判定
入力されたデータのキャラクタビットを調べることにより、入力キャラクタのエラーチェックを行う。
バーコードキャラクタの構成(構造)に従って入力されたバー/スペースのパターンを比較する事によって、バーコードが正しくデコード解析されているかの判定を行う。

・ データ出力
正確にデコードされたデータ内容を決められたコード(ASCIIなど)に変換して、バーコードリーダー内部に記憶してある出力フォーマットと対応させて出力を行う。

・ チェックデジット
すべてのバーコードシンボルにはチェックデジットと呼ばれるコードがす。
チェックデジットはバーコードデータの最終桁に1―2桁を付加する。
バーコードシンボルによっては必ずチェックデジットを付加しなければならないものもあるが、データの信頼性を高めるためにチェックデジットは付加される。
チェックデジットを付加する事によってデータの誤読率を低下させデータの信頼性を高められる。

・ ストップキャラクタの識別
バーコードの末尾を識別させる為に必要なバーパターンで、バーコードデータの出力ルーチンの開始を決定するものです。バーコードのスキャニングをバーコードの頭(スタートコード側)から行っても、お尻(ストップコード側)から行っても入力されたバーパターンをバーコードリーダー内部で正しい順番に並べ替えを行う。

・ マルチリード
多くのバーコードシンボルが存在しているが、同じ環境で複数のバーコードシンボルを使用する場合に、自動的にバーコードリーダーがスキャナからの白黒波形信号をバーコードリーダー内部のRAMにメモリし、各バーコードシンボルのスタートコードと比較してバーコードシンボルのスタートコードを判断してデコード解析を行う。バーコードシンボルの規格が似ており、印刷が良くないバーコードをマルチリードするように設定すると誤読の確立が増える。

3:エラーの低下方法
エラーを減らす方法として以下の方法がす。

1) タイマーカウントの間隔 バーコードリーダーにはクリスタルを用いており、タイマーを動作させ入力されたデータのバー/スペース時間の測定を行い太/細の決定している。この間隔はバー/スペース幅(パルス幅)の整数倍の値で行っているが、この間隔が適当な値に決定していないと大きなエラーにつながる。
例えばバー幅を75μsec.とし、カウント間隔を50μsec.とすると、このバー幅は1カウントで表現されエラー率は33%となる。



カウント間隔を小さく設定すればエラー率は低下する。例えばカウント間隔を4μsec.と 設定すればこのバー幅は18カウントで表現される。エラー率は4%となる。



以上から解るようにカウント数を小さく設定すればエラー率を低下させることができる。カウ ント間隔の設定は、バーコードリーダーの最大のスキャニング速度で最小のバー幅の値を設定 すれば良い。

2) デコードアルゴリズム
デコードアルゴリズムとして代表的な5つの方法

a:バー/スペースごとの決定 最初にスレッシュホールドの値を設定しておき、ファーストバーが入ってきた時にバーの太り/ 細りの値を判定し、次のスペースも同じスレッシュホールド値によって判断を行う方法です。
この方法はバーコードリーダーのメモリ容量を少なくできるが、バーコードリーダーエンジンの走査速度の変化に影響される欠点があります。

b:キャラクタごとの判定 最初にスレッシュホールドの値を設定しておき、ファーストバーが入ってきた時にバーの太り/ 細りの値を判定して、その太り/細りの値によって新たなスレッシュホールド値を設定し、次のキャラクタを判定する方法です。

c:太/細分離ごとの決定 a,bの方法はバー/スペースを同時に判断する方法であるが、この方法はバーとスペースを分離して、太バー/スペース、細バー/スペースをそれぞれ決定する。このように行うことで統計的な太りと細りの修正が行える。
しかし、太/細の印刷比率に影響を受けやすい。

d:キャラクタ分離ごとの決定 bとcの方法を利用して行う方法で、次のキャラクタを判断する場合に、バー/スペースごとにスレッシュホールド値を変化させて判断する。この方法は加速度、統計的なエラー訂正を行うことができるが、バーコードリーダーのメモリ容量が大きくなる事が欠点です。
また、デコード解析の速度が他の方法より遅くなります。 e:その他の判定 これは各社過去の読取りエラー、誤読の経験をもとに上記4つの方法に独自の工夫を加えた方法です。

4:最後に
バーコードリーダーの性能はバーコードを利用しているシステム全体のの信頼性(誤読、読取りエラー)に大きな影響がありますので、信頼性の高いバーコードリーダーを導入することが重要となります。
バーコードシンボルの規格に準じていないバーコードを使用しているのがケースをよく見かけます。
しかし、バーコードを人間の目で見ても規格に合っているかの判断はなかなかできないものです。
良いバーコードリーダーとは、数多くのさまざまな種類の印字品質のバーコードをどれだけ多くスキャニングして、正確なデータと認識できるように何度も工夫された商品だと考えております。

Google


WWW を検索
セイデンホームページ内 を検索
お問い合わせはこちら
サポート・お問い合わせ >>
バーコードについて
バーコードリーダーとは? >>
バーコードリーダーの原理の紹介
バーコードについて(GTIN)
GTINの概要を紹介 >>
GTIN詳細情報?
流通システム開発センターへ>>

株式会社セイデン

〒370-0017 群馬県高崎市西島町宮内55-3
TEL.027-352-2511 FAX.027-352-2952