【実施例】
【0018】
以下に、添付の図面に基づいて本発明の好ましい実施例を説明する。
【0019】
バーコードリーダ・システム(図1):
図1はバーコードリーダ・システムの概要を説明するための図である。
図1を参照して、バーコードリーダ・システム1は、二次元情報読取装置であるバーコードリーダ2と、必要に応じてバーコードリーダ2に接続されるパーソナルコンピュータ3とを有し、バーコードリーダ2で撮像した画像をパーソナルコンピュータ3で確認しながら、このパーソナルコンピュータ3を使って各種の設定が行われる。バーコードリーダ・システム1には、更に、必要に応じてリング型の外部照明ユニット4がバーコードリーダ2に接続され、バーコードリーダ2の内部照明ユニット5と一緒になって又は内部照明ユニット5の動作を止めて外部照明ユニット4だけでワークを照明する。
【0020】
リング型の外部照明ユニット4は、このバーコードリーダ・システム1のための専用品であり、異なる種類の複数の外部照明ユニット4を用意するのが好ましい。勿論、外部照明ユニット4として専用品以外の照明ユニットを組み込むことも可能である。
【0021】
バーコードリーダ・システム1は、バーコード、QRコードなどの光学情報又は光学符号が印字された商品あるいは物品を製造する工場では物品の搬送経路に設置され、バーコードリーダ2で商品又は物品に印字又は刻印された光学情報に記録されている情報を読み取り、この情報をパーソナルコンピュータ3に転送して情報の解析が行われる。「光学情報読取装置」は一般的に“バーコードリーダ”又は“コードリーダ”を呼ばれており、ここでは“バーコードリーダ”という業界用語を使用する。
【0022】
また、図示の例では、
図1に開示のように、パーソナルコンピュータ3に設定プログラムをインストールすることにより、このパーソナルコンピュータ3を使ってバーコードリーダ・システム1の各種の設定が行われる。勿論、バーコードリーダ2に例えばタッチパネル付き表示手段を設けて、この表示手段を使ってバーコードリーダ2、内部照明ユニット5(
図3)及び/又は外部照明4(
図21、
図22)の設定作業ができるようにしてもよい。
【0023】
バーコードリーダ2(図2〜図17):
図2はバーコードリーダ2の外観を示す斜視図である。バーコードリーダ2は、断面多角形の形状のメインケース6と、メインケース6の前端に固定される円筒状のフロントケース7とを有し、この円筒状のフロントケース7に前述した内部照明ユニット5が内蔵されている。メインケース6は、
図2などから分かるように略正方形の断面形状を備えているのが好ましい。
【0024】
バーコードリーダ2には互いに独立した複数の基板が内蔵されている。
図3〜
図5を参照して、バーコードリーダ2が備える複数の基板は次の通りである。
(1)メイン基板10:
メイン基板10には、CPU、メモリMが搭載され、画像をメモリMに転送してDSP(digital Signal Processor)で画像処理する。そして、メイン基板10のCPUで内部照明ユニット5を具備したバーコードリーダ2を制御し、また、外部照明ユニット4との通信を実行する。
(2)電源基板11:
バーコードリーダ2の電源を生成する。絶縁入出力回路が実装されている。
【0025】
(3)サブ基板12:
大容量メモリが搭載されており、この大容量メモリに取得画像や各種の設定が保存される。制限した大きさ及び形状のメイン基板10では、このメイン基板10に実装することのできなかった要素が実装される。
(4)CMOS基板13(受光基板):
CMOSイメージセンサ(光学読取素子)が実装され、画像を取得してメイン基板10に転送する。ポインタ用のLED40(
図10)が搭載される。
【0026】
(5)LED基板14:
内部照明ユニット5を構成する円形開口14aを備えた円板状の基板であり、このLED基板14に複数の照明用LED80が実装され(後に説明する
図25)、この複数の照明用LED80の点灯制御を実行する。複数の照明用LED80は、後に説明するバーコードリーダ2のレンズ組立体36の光軸を中心とする複数の径の異なる同心円上に配列される。内部照明ユニット5(LED基板14)に実装された複数の照明用LED80は後に説明するようにエリア分けして点灯制御される。また、このLED基板14には、各エリアに属する複数の照明用LEDに定電流を供給する定電流回路が設けられる。
(6)コネクタ基板15:
外部電源、IO、RS232C、Ethernet(登録商標)、外部照明ユニット4との入出力のインターフェースを構成する基板である。なお、外部照明ユニット4には、電源基板11から電源が供給される。
【0027】
図3、
図4を参照して、メイン基板10と電源基板11とは互いに対向して配置され、このメイン基板10と電源基板11の各々の側縁で挟まれた領域に、これらメイン基板10と電源基板11と直交するようにしてサブ基板12が配設されている。サブ基板12とメイン基板10の配置位置を互いに置換してもよい。メイン基板10、電源基板11、サブ基板12は、バーコードリーダ2は矩形断面のメインケース6の4つの側面のうち3つの側面に隣接し且つこの3つの側面の各々に沿って配設される。そして、このメイン基板10、電源基板11、サブ基板12で囲まれた空間にCMOS基板13が位置し、このCMOS基板13は各基板10〜12と直交する一つの鉛直面に配設される。また、このCMOS基板13と平行に且つCMOS基板13を挟んで互いに対峙してLED基板14とコネクタ基板15が位置決めされる。
【0028】
図5は、上述した各基板10〜15の接続関係を説明するための図である。メイン基板10は、電源基板11と第1のFFC20(Flexible Flat Cable)で接続され、サブ基板12と第2のFFC21で接続され、CMOS基板13とFPC(Flexible Printed Circuit)22で接続され、内部照明ユニット4LED基板14と第3のFFC23で接続され、コネクタ基板15と第1のハーネス24で接続されている。電源基板11は、また、内部照明ユニット5のLED基板14と第2のハーネス25で接続され、LED基板14に実装された照明用LEDを発光させるための電源が電源基板11からLED基板14に供給される。電源基板11とコネクタ基板15は、2本のハーネス26、27とFFC28で接続されている。
【0029】
図5を再び参照して、メイン基板10と電源基板11とが略同じ大きさ及び形状を有している点に注目すべきである。換言すれば、メイン基板10は、電源基板11と略同じ大きさ及び形状となるように設計され、この制約のためにメイン基板10に搭載できなかった電子部品がサブ基板12に搭載される。
【0030】
図6、
図7を参照して、メイン基板10、電源基板11、サブ基板12、CMOS基板13は、樹脂成型品であるシャーシ30に組み付けられる。シャーシ30は、
図7から最も良く分かるように、メインケース6の断面形状とほぼ相似形の略正方形の断面形状を有するボックス形状を有し、このボックス形状の一つの側面30aを閉塞し、他の5つの面を開放した形態を有している。メイン基板10、電源基板11、サブ基板12は、開放した3つの側面10b〜10dに夫々配設される。樹脂成型品のシャーシ30は前後に開放しており、その一端開口30fからカメラモジュール32が挿入され(
図7)、シャーシ30の中に挿入されたカメラモジュール32は、その周囲にメイン基板10、電源基板11、サブ基板12が位置し、これらメイン基板10、電源基板11、サブ基板12によってカメラモジュール32が包囲された状態になる。
【0031】
図8、
図9を参照して、カメラモジュール32は、アルミニウムなどのダイキャスト品からなるカメラホルダ35を有し、このカメラホルダ35は、矩形断面のホルダ本体35aと、ホルダ本体35aの互いに対向する側面から前方に且つ互いに平行に延びる一対のアーム35bと、一対のアーム35bの前端から互いに離れる方向に延びる一対の取付部35cとを有している。ホルダ本体35aには、後方に向けて開放した後端面にCMOS基板13が複数のネジ37によって固定される(
図8)。
【0032】
メイン基板10と電源基板11の位置決めのために、シャーシ30には6つの爪38が一体成形されており(
図7)、この6つの爪38を使ってメイン基板10と、これに対向する電源基板11が、シャーシ30の開放した互いに対向する2つの側面30b、30dの夫々に位置決めされる。メイン基板10には爪38を受け入れる切り欠き10aが形成されている(
図7)。電源基板11にも同様に切り欠き11aが形成されている(
図3)。
図7を参照して、矩形のサブ基板12は、対角線上の角隅部に一対の透孔12a、12bを有し、この一対の透孔12a、12bに対応してシャーシ30にも一対の透孔30g(一方の透孔は作図上の理由から図面には現れていない)が形成され、これら透孔12a、12b、30gを整合させることによりサブ基板12はシャーシ30にネジ止めされる。
【0033】
ポインタ用LEDの配置(図10):
カメラモジュール32は円筒状のレンズ組立体36を有し、このレンズ組立体36はカメラホルダ35の一対のアーム35b、35bの間に配設されている。
図10を参照して、ホルダ本体35aの後端開口には、CMOS基板13がネジ37(
図8)を使って固定される。CMOS基板13には、一対のポインタ用LED40、40が搭載されている。このポインタ用LED40に関連して、ホルダ本体35aには、各ポインタ用LED40の直ぐ前方に拡散シート41が配設されている。2つのポインタ用LED40の光は、夫々、拡散シート41を通じて且つレンズ組立体36を通じて前方に照射され、バーコードリーダ2の視野範囲の中の互いに離間した2点を指し示す。
図10の参照符合43は光学読取素子であるCMOSイメージセンサを示し、光学読取素子43はCMOS基板13に実装されている。
【0034】
ポインタ用LED40をカメラモジュール32に内蔵させたことにより、光学読取素子43とポインタ用LED40との相対位置を一定に保つのが容易になると共にバーコードリーダ2を小型化するのが容易になる。特に、ポインタ用LED40がバーコードリーダ2のレンズ組立体36を光学読取素子43と共用することによって、ポインタ用LED40のための専用のレンズが不要となるためバーコードリーダ2の小型化が容易である。
【0035】
カメラモジュール32は、光学読取素子(撮像素子)43とレンズ組立体36との間の距離が従来との対比で非常に大きく、高い分解能でバーコードやQRコードなどの光学情報を超微小な領域まで読み取ることができるという特徴を有している。このように従来との対比で長さ寸法が大きいカメラモジュール32をバーコードリーダ2の中に収容するとき、上述した基板配置に注目すべきである。すなわち、カメラモジュール32をメイン基板10、電源基板11、サブ基板12で囲むという技術的思想を導入することで、バーコードリーダ2を小型化しつつ長尺のカメラモジュール32をアウターケースの中に収容することができる。
【0036】
ちにみに、カメラモジュール32のスペックは次のとおりである。
(1)光学倍率:0.6〜1.0倍(実施例では、0.823倍);
(2)視野範囲:7.5mm×4.8mm〜4.5mm×2.9mm(実施例では、5.5mm×3.5mm);
(3)光学読取素子から先端のレンズまでの距離:35mm以上(実施例では40mm)。
【0037】
図11は、シャーシ30に基板10、11、12及びカメラモジュール32を組み付けた組立体の斜視図である。
図12は、メイン基板10、電源基板11の上に、夫々、クッション性を備え且つ優れた熱伝導性を備えた放熱部材として熱伝導ゴム45を設置した状態を示す。バーコードリーダ2の放熱性に関して必要があれば、
図12に例示した態様で熱伝導ゴム45を添設した状態で矩形断面のメインケース6(
図2)に収容される(
図13)。
【0038】
伝熱性に優れた金属材料からなる多角形断面のメインケース6の異なる側面に隣接し且つこれに沿ってメイン基板10と電源基板11を配置したことにより、これらメイン基板10及び電源基板11の熱を外部に放出し易くなると共に、このメイン基板10と電源基板11で囲まれた空間にカメラモジュール32を収容することができるため、バーコードリーダ2の一層の小型化が可能である。特に、メイン基板10、電源基板11とメインケース6との間に熱伝導ゴム45のような放熱部材を介在させることで放熱効率を高めることができ、この観点からもバーコードリーダ2の一層の小型化が可能になる。
【0039】
図13及び
図15の参照符合46はリヤケースを示し、メインケース6の後端開口に脱着可能に装着されてメインケース6を閉塞する。リヤケース46にはコネクタ基板15が取付けられており、このコネクタ基板15はリヤケース46にネジ47を使って固定される(
図15)。バーコードリーダ2のアウターケースを構成するメインケース6、フロントケース7、リヤケース46は、例えばメインケース6を熱伝導に優れた金属材料、例えばアルミニウムなどの伝熱性材料から作られるのがよい。
【0040】
図6を参照して、メイン基板10及び電源基板11には、その前端幅狭部に夫々透孔50、51を有する。バーコードリーダ2のメインケース6は、円筒状のフロントケース7の内部まで前方に且つ互いに平行に延びるロッド状の一対の延長部分6aを有する(
図15)。
【0041】
メインケース6の前端部を抽出した
図14を参照して、メインケース6の一対の延長部分6aには、メイン基板10及び電源基板11の前端幅狭部の透孔50、51に関連した透孔52、53が形成され、この透孔52、53に挿入したネジ54を使ってメイン基板10及び電源基板11がメインケース6(延長部分6a)に固定される。これにより、シャーシ30の3つの爪38で位置決めされたメイン基板10、電源基板11は、その各々が、メインケース6の前方に延びる延長部分6aに1本のネジ54によって固定される。換言すれば、この合計2本のネジ54によってシャーシ30がメインケース6に固定された状態となる。ネジ54を締結する作業及びネジ54を取り外す作業を容易にするために、メイン基板10の透孔50及び電源基板11の透孔51に、ネジ54が螺着するナット55を実装するのが好ましい。メインケース6の一対のロッド状の延長部分6aには、また、その前端面にリング状のLED基板14がネジ60を使って固定される。このリング状のLED基板14がレンズ組立体36の周囲に配置され、LED基板14に搭載された複数の照明用LED80によって、レンズ組立体36の外周側に位置するリング状の且つ複数のLED80を面状に配列した面光源が形成される。
【0042】
図17は、メインケース6を正面から見た図である。メインケース6は、その前端面に左右一対の取付座62を有し、この一対の取付座62を使ってカメラモジュール32がメインケース6に固定される。
図16は、メインケース6の中にカメラモジュール32を内蔵させた状態の正面図である、
図17は、カメラモジュール32を取り除いた状態で描いたメインケース6の正面図である。
【0043】
金属成型品であるメインケース6にカメラモジュール32を固定することで、カメラモジュール32をシャーシ30に固定するのに比べてカメラモジュール32の位置決め精度を高めて視野範囲の位置決め精度を高めることができる。
【0044】
バーコードリーダ2が内蔵する主要な基板、つまり電源基板10、メイン基板12などと、レンズ組立体36を含むカメラモジュール32とをシャーシに組み付けた組立体をアウターケース(メインケース6)に内蔵させる構成を採用したことにより、複数種類のカメラモジュール32を用意することで同じアウターケースを使って複数種類のバーコードリーダ2をユーザに提供することができる。また、異なる種類のカメラモジュール32に対して、同一の電源基板10やメイン基板12などを採用し且つ同じアウターケースを使ってバーコードリーダ2を製造することができる。
【0045】
前述したカメラモジュール32の左右一対の取付部35cがメインケース6の左右一対の取付座62に着座され、4本のネジ63を使って各取付部35cが、対応する取付座62に固定される(
図16)。
【0046】
バーコードリーダ2の機能構成(図18):
図18を参照して、バーコードリーダ2の機能構成を説明する。バーコードリーダ2は、第1、第2のCPU101、102と、共有バス103と、共有メモリ104と、前述した光学読取素子(CMOS)43と、撮像制御回路105とを有する。また、バーコードリーダ2は、ネットワークコントローラ106と、シリアル通信コントローラ107と、フラッシュメモリ108と、入出力コントローラ110と、DMAC111とを有している。
【0047】
第1、第2のCPU101、102は、共有バス103を介して、共有メモリ104にアクセスするプロセッサであり、所定の演算処理回路からなる。共有バス103は、第1、第2のCPU101、102に共通のデータバスである。共有メモリ104は、撮像パラメータやデコードパラメータ、読取画像、デコード結果を保持するための揮発性の半導体記憶素子からなり、典型的にはRAM(ランダムアクセスメモリ)である。
【0048】
光学読取素子43は、ワークからの反射光を受光して読取画像を生成する例えばCMOSイメージセンサで構成される。撮像制御回路105は、光学読取素子43からの画像信号を増幅する増幅器、増幅後の画像信号をデジタル信号に変換するA/D変換器などからなり、共有メモリ104内の撮像パラメータ、例えば、露光時間、ゲイン、フィルタ処理の有無に基づいて光学読取素子43を制御する。
【0049】
DMAC(Direct Memory Access Controller:DMAコントローラ)111は、光学読取素子43により生成された読取画像を撮像制御回路105から共有バス103を介して共有メモリ104へ転送する。
【0050】
ネットワークコントローラ106は、LAN112(
図1)を介してパーソナルコンピュータ3などの外部機器と通信する通信回路であり、例えば、EMAC(Ethernet Media Access Controller)からなる。シリアル通信コントローラ107は、シリアル通信インターフェースを介して外部機器と通信する通信回路であり、例えば、UART(Universal Asynchronous Receiver Transmitter)からなる。
【0051】
フラッシュメモリ108は、画像ファイルを保持するための不揮発性の半導体記憶素子からなり、例えば、SD(Secure Digital、登録商標)カードなどの着脱可能なメモリカードが用いられる。入出力コントローラ110は、フラッシュメモリ108に対する画像ファイルの書き込み及び読み出しを制御する。
【0052】
第1CPU101は、ネットワークコントローラ106又はシリアル通信コントローラ107がコマンドを受信した場合に、当該コマンドが読み取りを開始させるための読取開始コマンドであれば、撮像制御回路105に対して読取開始を指示する。第1CPU101は、また、光学読取素子43から受け取った読取画像を共有メモリ104に転送する。
【0053】
第2CPU102は、第1CPU101からのデコード処理要求に基づいて、共有メモリ104内から読取画像を読み出してデコード処理するデコード手段を構成する。第2CPU102でデコード処理が終了したら、そのデコード結果を共有メモリ104内に書き込む。
【0054】
図19は、
図18のバーコードリーダ2の動作の一例を模式的に示した説明図であり、画像バッファ115及び共有メモリ104に格納されている設定バンク116が示されている。DMAC111により共有メモリ104内に転送された読取画像は、画像バッファ115として保持される。この画像バッファ115は、読取画像を保持するための画像記憶領域117と、読取画像の参照タスク数を保持するためのタスク数記憶領域118と、共有メモリ104に記憶されている設定バンク116を指定するバンク番号を保持するためのバンク番号記憶領域119からなる。
【0055】
画像記憶領域117には読取画像が格納される。設定バンク116は、撮像パラメータやデコードパラメータなどの各種設定が保持される。これらの撮像パラメータ、デコードパラメータはパーソナルコンピュータ3を使って設定される。設定バンク116は、上述したように、撮像パラメータとデコードパラメータとを含む。
【0056】
共有メモリ104には複数の設定バンク116が記憶されており(
図20)、この設定バンク116は第1、第2のCPU101、102によって夫々参照される。バーコードリーダ2は、一つのバンク116に基づいて読み取りを実行したときに読み取りに失敗したときには、次のバンク116に基づいて読み取りが試行され、この第2のバンク116でも読み取りに失敗したときには、次のバンク116に基づいて読み取りを試行するというように、読み取りが成功するまで次々とバンク116の切り替えが行われる。
【0057】
撮像系の設定パラメータの代表例を挙げれば次の通りである。
(1)照明のON/OFF;
(2)照明の照射強度;
(3)照明の点灯パターン;
(4)露光時間;
(5)ゲイン;
(6)オフセット;
(7)ダイナミックレンジ;
(8)取り込み範囲。
【0058】
読み取り系の設定パラメータ(デコード設定)の代表例を挙げれば次の通りである。
(1)シンボル(光学情報)の種類;
(2)フィルタ種類;
(3)フィルタ回数;
(4)チルト角;
(5)PPC;
(6)デコードタイムアウト;
(7)取り込み範囲。
【0059】
専用外部照明ユニット4(図21〜図24):
図21は、バーコードリーダ2に専用の外部照明ユニット4を装着した状態を示し、参照符号70は、バーコードリーダ2と外部照明ユニット4とを接続するケーブルを示す。外部照明ユニット4にはバーコードリーダ2から電源が供給される。
【0060】
リング状の外形形状を備えた外部照明ユニット4は円形の外形輪郭を有し、その中心に円形開口4aを備え、この円形開口4aの中心とバーコードリーダ2のレンズ組立体36の光軸とが一致するようにバーコードリーダ2が位置決めされる。このバーコードリーダ2の位置決めのためにスタンド71が用意される。スタンド71は、後に詳しく説明するように、外部照明ユニット4の背面にボルト止めされる一対のプレート部材72と、このプレート部材72の任意の高さ位置にバーコードリーダ2を定置させるための取付金具73とで構成されている。
【0061】
先ず、外部照明ユニット4の構造について
図22を参照して説明する。
図22は外部照明ユニット4の分解斜視図である。外部照明ユニット4は、リング状の円筒形状のフロントケース75と、リヤケース76とからなるアウターケースの内部に、LED基板77と回路基板78とがスタックコネクタ79(
図22)及び第1のスペーサ82(
図24)を介して積層した状態で収容されている。
【0062】
リング状の円筒形状のフロントケース75の断面リング状の形状とほぼ同じ大きさのリング状のLED基板77には複数の照明用LED80が実装されている。このリング状のLED基板77とほぼ同じ大きさであるのが好ましいリング状の回路基板78には、LED駆動回路の他に、外部照明ユニット4に搭載された複数のLED80の点灯を制御すると共にバーコードリーダ2との通信を制御するCPU、メモリM(
図1)が実装されている。
図24を参照して、LED基板77と回路基板78とは電気的に接続されるのは勿論であるが、これらLED基板77と回路基板78とは上述した第1のスペーサ82によって相互に固定され、また、LED基板77は第2のスペーサ81によってリヤケース76に固定される。換言すると、回路基板78はLED基板77を介してリヤケース76に固定される。
【0063】
フロントケース75に、例えばフレネルレンズ(図示せず)を採用したときに、LED基板77の照明用LED80とフロントケース75との相対的な位置決めが重要となる。
図24の例であれば、LED基板77がリヤケース76を介してフロントケース75に位置決めされるため、これによりフロントケース75とLED基板77とが相対的に位置決めされるだけでなく、LED基板77、回路基板78の組み付け作業が容易である。
【0064】
第1の変形例として、LED基板77と回路基板78の設置構造に関し、LED基板77を介在させることなく直接的に回路基板78をリヤケース76にスペーサを介して固定するようにしてもよい。第2の変形例として、回路基板78をリヤケース76にスペーサを介して固定すると共にこの回路基板78にLED基板77を他のスペーサを介して固定するようにしてもよい。
【0065】
専用外部照明ユニット4の種類(図26、図27):
専用の外部照明ユニット4は2つの機種が用意されている。
図26は、大径の外部照明ユニット4BのLED基板77が図示されている。
図27は、小径の外部照明ユニット4AのLED基板77の平面図である。この2種類の外部照明ユニット4は、前述したように共にCPUとメモリMを内蔵している。そして、このメモリMに機種情報が記憶されており、これら外部照明ユニット4A、4Bがバーコードリーダ2に接続されたときには、バーコードリーダ2は、外部照明ユニット4のメモリMに記憶されている機種情報を取り込むことで該外部照明ユニット4を認識し、これにより外部照明ユニット4との接続設定が実行される。
【0066】
内部照明ユニット5の部分照明(図25):
図25は、バーコードリーダ2に内蔵されるLED基板14の平面図である。リング状のLED基板14には、その全周に亘ってほぼ均一に数多くの照明用LED80が配列されている。照明用LED80は半径方向に間隔を隔てた3つの同心円上にほぼ同間隔に配置されている。より詳しくは、複数の照明用LED80は、バーコードリーダ2のレンズ組立体36の光軸を中心とする複数の径の異なる同心円上に配列されている。
【0067】
リング状LED基板14は、円周方向に等間隔に4つのブロックに区分され、各ブロックを半径方向に2つに区分することにより形成される合計8つのエリアを単位に部分照明される。具体的には、最外周の1列が90°間隔で4つの領域に区分されている。これを外周第1エリアAEout1、外周第2エリアAEout2、外周第3エリアAEout3、外周第4エリアAEout4で図示してある。最内周及び中間の2列が90°間隔で4つの領域に区分されている。これを内周第1エリアAEin1、内周第2エリアAEin2、内周第3エリアAEin3、内周第4エリアAEin4で図示してある。各エリアAEout1〜out4、in1〜in4の各々のエリアに属するLED80は、各エリアで均一に分布するように位置決めされている。
【0068】
内部照明ユニット5の区分エリアAEout1〜out4、AEin1〜in4の各々を単位に照明を制御することができる。このエリアに区分した点灯制御には、LED80の発光量の制御を含んでもよい。
【0069】
大径の外部照明ユニット4Bの部分照明(図26):
大径の外部照明ユニット4Bのリング状のLED基板77には、その全周に亘ってほぼ均一に数多くの照明用LED80が配列されている。照明用LED80は半径方向に間隔を隔てた4つの同心円上にほぼ同間隔に配置されている。より詳しくは、複数の照明用LED80は、バーコードリーダ2のレンズ組立体36の光軸を中心とする径の異なる4つの同心円上に配列されている。
【0070】
大径の外部照明ユニット4Bでは、円周方向に等間隔に8つのブロックに区分され、各ブロックを半径方向に4つに区分することにより形成される合計32のエリアを単位に部分照明するように設定されている。具体的には、リング状LED基板77は、最外周の1列が45°間隔で8つのエリアに区分されている。これを外周第1エリアAEout1〜外周第8エリアAEout8で図示してある。次の一列も45°間隔で8つのエリアに区分されている。これを外側中間第1エリアAEmid1〜外側中間第8エリアAEmid8で図示してある。次の一列も45°間隔で8つのエリアに区分されている。これを外側中間第9エリアAEmid9〜外側中間第16エリアAEmid16で図示してある。最内周の一列45°間隔で8つのエリアに区分されている。これを内周第1エリアAEin1〜内周第8エリアAEin8で図示してある。この大径の外部照明ユニット4Bにあっても合計32のエリアの各々を単位に照明を制御することができる。外部照明ユニット4Bにあっても、各エリア毎にLED80の発光量の制御を実行することができる。
【0071】
小径の外部照明ユニット4Aの部分照明(図27):
図27を参照して、小径の外部照明ユニット4Aのリング状のLED基板77には、その全周に亘ってほぼ均一に数多くの照明用LED80が配列されている。照明用LED80は半径方向に間隔を隔てた3つの同心円上にほぼ同間隔に配置されている。より詳しくは、複数の照明用LED80は、バーコードリーダ2のレンズ組立体36の光軸を中心とする径の異なる3つの同心円上に配列されている。
【0072】
リング状LED基板77は、最外周の1列が45°間隔で8つの領域に区分されている。これを外周第1エリアAEout1〜外周第8エリアAEout8で図示してある。中間の一列も45°間隔で8つの領域に区分されている。これを外側中間第1エリアAEmid1〜外側中間第8エリアAEmid8で図示してある。内周の一列も45°間隔で8つの領域に区分されている。これを内周第1エリアAEin1〜内周第8エリアAEin8で図示してある。この小径の外部照明ユニット4Aにあっても合計24のエリアに分けて部分照明を設定することができる。このエリアに区分した点灯制御には、LED80の発光量の制御を含んでもよい。なお、部分照明として設定したエリアを単位に照明用LED80による照明の色を異ならせるようにしてもよい。
【0073】
外部照明ユニット4のLED駆動回路(図28):
図28はLED駆動回路の一部を示す。図示のLED駆動回路は、各エリア毎にLED80を点灯させると共に、各エリアに属する複数の照明用LED80に定電流を供給することができる。
【0074】
例えば、
図27の小径外側照明ユニット4Aについて説明すると、リング状LED基板77を周方向に45°間隔で区分した8つの領域を「ブロック」と呼ぶ。例えば、外周第1エリアAEout1、中間第1エリアAEmid1、内周第1エリアAEin1が第1ブロックを構成する。各ブロック毎にブロックスイッチ120と定電流回路121が設けられている。ブロックスイッチ120をONすると、当該ブロックに属する複数のLED80に電圧を印加できる状態になる。各列の複数のLED80には、各ブロック毎にこれをバイパスする列スイッチ122が設けられ、この列スイッチ122と並列に照明用LED80の群が直列に接続されている。なお、
図28には、各円周列の照明用LED80が一個しか図示されていないが、これは線図を簡素化したという理由に過ぎず、各列スイッチ122と並列に接続された照明用LED80は直列に複数存在していると理解されたい。
【0075】
各ブロックに属する各列は直列に接続され、そして、各列には、上述した列スイッチ122が並列に接続されている。したがって、任意の列スイッチ122をOFFすることにより該当するブロック且つ該当する列に属する複数のLED80に定電流が供給される。このLED駆動回路を外部照明ユニット4Aが備えることにより、各ブロックの各列を単位に部分照明のエリアを任意設定することができる。また、各ブロック毎に定電流回路121を設けたことで、例えば同じブロックでの第1〜第3の円周列の照明LED80に流れる電流を一定に維持することができる。
【0076】
換言すると、定電流回路121無しでは、例えば第2、第3の円周列の照明LED80を点灯しているときに第1の円周列の照明LED80をOFFからONにスイッチすると、第2、第3の円周列の照明LED80に印加する電圧が変化して、第2、第3の照明LED80を流れる電流が変化して明るさが変化してしまう。
【0077】
別の言い方で説明すると、ブロックスイッチ120をON/OFFしても、他のブロックに属する照明用LED80の発光量は変化しない。各ブロックは互いに並列に電源に接続されているからである。しかし、列スイッチ122をON/OFFすると、当該ブロックで点灯するLED80の数が変化してしまい、これに伴ってLED80の明るさが変化してしまう。
【0078】
このことは、部分照明の点灯パターンを設定するときに、ワークに対する最適な光の当て方を探るうえで、LED80の明るさの変動要因を極力排除するのが望ましい。定電流回路105はこのことを企図して各ブロックに設けてある。これにより、点灯パターンの設定作業を行うときに、点灯パターンを変えたときに部分照明するための点灯するエリアでのLED80の輝度の均一化及び輝度の一定性を確保することで最適な点灯パターンを見出すのが容易になる。なお、大径の外部照明ユニット4B及び内部照明ユニット4Bについても同様に
図28のLED駆動回路を採用することができる。
【0079】
内部照明ユニット5及び外部照明ユニット4の部分照明(図29):
内部照明ユニット5及び外部照明ユニット4は、共に、複数のLEDを面状に配列した面光源であるが、この面光源を周方向且つ半径方向に幾つかのエリアに区分して各エリアを単位に部分照明することが可能であり、どのエリアを点灯し、どのエリアを点灯しないかの点灯パターンをユーザが任意に設定することができる。全てのエリアの点灯を含む点灯パターンはPC3を使ってユーザが予め登録することができ、ユーザが設定した点灯パターンは、バーコードリーダ2のメモリM及び外部照明ユニット4が接続されているときには、この外部照明ユニット4のメモリMに記憶される。この点灯制御には、照明用LED80の発光量の制御が含まれる。なお、
図29においても、上述した
図28と同様に、各円周列の照明用LED80が一個しか図示されていないが、これは線図を簡素化したという理由に過ぎず、各列スイッチ122と並列に接続された照明用LED80は直列に複数存在していると理解されたい。
【0080】
図1を参照して説明したように、外部照明ユニット4はCPUの制御手段を具備している。したがって、
図29に図示するように、各ブロックスイッチ120及び各円周列の列スイッチ122を外部照明ユニット4のCPUで制御することにより、周方向且つ半径方向に区分した部分照明エリアを設定したときには、このエリアを単位にLED80の点灯制御が実行される。
【0081】
ユーザインターフェース(図30〜図38):
図30〜
図39は、外部端末のパーソナルコンピュータ3のディスプレイに表示されるユーザインターフェース画面を示す。この
図30〜
図39を参照してバーコードリーダ・システム1の操作手順の概要を説明すると次の順番で作業が実行される。
【0082】
(1)ワークを位置決めする(
図30);
(2)ユーザは撮像画像の表示を見ながら光学情報読取領域を設定し、そして、この光学情報読取領域の明るさを調整する(
図31);
(3)ユーザが内部照明ユニット5、外部照明ユニット4の点灯パターンを設定する(
図32、
図33);
【0083】
(4)ユーザがチューニングを設定する(
図34);
(5)チューニング処理が実行される(
図35);
(6)読取試行が開始される(
図36);
(7)必要に応じて、光学情報を読み取るための各種設定パラメータを記憶したバンクを追加する(
図37);
各バンクに含まれる撮像パラメータとして照明のON/OFF、照明強度、照明の点灯パターン、露光時間、ゲイン、撮像画像の取り込み範囲などを含み、デコードパラメータとして光学情報(バーコードやQRコード)の種類、フィルタの種類、フィルタ処理回数、デコードタイムアウト時間、取り込み範囲などを含む。
(8)読み取りができなかった画像(NG画像)が解析される(
図38、後に説明する
図40、
図41)。
【0084】
(
第1番目の作業)ワークの位置決め(図30):
先ずパーソナルコンピュータ(PC)3とバーコードリーダ2との接続設定が行われる。この際、仮のIPアドレスを割り当てて行うことで簡便に接続設定することができる。バーコードリーダ2に専用の外部照明ユニット4を接続したときには、外部照明ユニット4のメモリM(
図1)に記憶されている当該外部照明ユニット4の機種情報の読み込みが行われ、これによりバーコードリーダ2のメモリM(
図1)に予め登録されている機種情報に基づいて当該外部照明ユニット4の接続設定が自動的に実行される。
【0085】
次に、バーコードリーダ2に内蔵されている一対のポインタ用LED40を点灯してワークをバーコードリーダ2の視野範囲の中に設置する。ユーザは、
図30の表示画面(ユーザインターフェース画面)に表示されている撮像画像を見ながらワークを位置決めする。このユーザインターフェース画面はモニタ指令ボタンを有し、ユーザがモニタ指令ボタンを押し下げると、パーソナルコンピュータ3からバーコードリーダ2に向けて撮像指令信号が送信され、バーコードリーダ2が撮像した画像がパーソナルコンピュータ3に入力されてユーザインターフェース画面に表示される。バーコードリーダ2の撮像は連続的に実行されるため、ユーザインターフェース画面に表示される撮像画像は動画表示になる。ユーザは、このライブ画像を見ながら、一般的にはバーコードなど光学情報が撮像画像の中心に位置するようにワークの位置決めを行う。すなわち、ユーザはパーソナルコンピュータ3のディスプレイに動画表示されているライブ画像で確認しながら、バーコードリーダ2に対するワークの相対位置を調整することができる。
【0086】
(第2番目の作業)光学情報読取領域の設定と明るさの調整(図31);
図31を参照して、ユーザインターフェース画面の画像表示枠の中の撮像画像に領域設定を行う。これは、撮像画像と重畳表示されている範囲指定枠を操作することで行うことができ、撮像画像中のバーコードなどの矩形の光学情報を囲んで領域指定することにより(
図31)、光学情報読取領域を設定することができる。この指定された光学情報読取領域の明るさは、ユーザがユーザインターフェース画面の右端にある明るさ調整バーのスライダを操作することで設定することができる。この調整後の明るさは、後に説明するチューニングの初期値としても利用される。
【0087】
(第3番目の作業)点灯パターンの設定(図32、図33);
点灯パターンの設定は、
図32又は
図33の点灯パターン設定画面を呼び出すことにより行うことができる。この
図32又は
図33の設定画面は上述したユーザインターフェース画面に重畳表示される。
図32は専用外部照明ユニット4をバーコードリーダ2に接続したときの設定画面であり、
図33は専用外部照明ユニット4を接続していないときの設定画面である。
図32と
図33を対比すると分かるように、専用外部照明ユニット4を接続したときには(
図32)、この専用外部照明ユニット4の各エリアと内部照明ユニット5の各エリアが、これらユニット4、5と同じにリング状に表現した照明ユニットの模式図が表示される。外部照明ユニット4が非接続のときには内部照明ユニット5に限定した照明ユニットの模式図が表示される。すなわち、バーコードリーダ2の照明に使用する照明ユニット毎に、各照明ユニットに対応した模式図がパターン設定画面に表示される。
【0088】
図32、
図33の設定画面に表示の模式図は上述した部分照明エリアAE(例えば
図27)を含んでおり、ユーザは任意のエリアを選択することで照明エリアを設定することができる。ユーザが模式図で点灯エリアを選択すると、選択されたエリアは例えばグレーから赤色に表示色が変化し、これによりユーザはどのエリアを点灯エリアとして指定したかを一見するだけで認識することができる。
図32の例であれば、内部照明ユニット5の全エリアが点灯エリアとして設定され、他方、外部照明ユニット4にあっては、右側のエリアを残して他のエリアが点灯エリアとして設定された状態が示されている。外部照明ユニット4が非接続の
図33に示す例であれば、内部照明ユニット6の全エリアが点灯エリアとして設定された状態が示されている。
図32、
図33の点灯エリア設定画面では、ユーザが点灯エリアを変更すると、
図32、
図33の模式図の対応するエリアの色表示がリアルタイムで変換される。このように各点灯パターンで撮像された画像がリアルタイムに更新されてディスプレイに表示されるため、ユーザは撮像画像を見ながら所望の点灯パターンを容易に選び出すことができる。なお、リアルタイムのライブ画像は、予め定めた明るさ設定領域の明るさの平均値が、上述したユーザインターフェース画面の右端にある明るさ調整バーをユーザがスライドさせることにより調整した明るさとなるように、照明の光量、露光時間、ゲインなどがフィードバック調整される。これにより、点灯パターンを変化させてもユーザが興味のある領域の明るさを一定に保ったまま画像表示することができる。
【0089】
部分照明の設定に関して、上述したよう、に照明ユニットを模した図形表示を使って点灯エリアを選択することに代えて、予めユーザが登録した複数の点灯パターンの一覧表示し、この複数の点灯パターンの中からユーザが選択するようにしてもよい。
【0090】
(第4番目の作業)チューニングの設定(図34);
図34はチューニング設定画面であり、これは
図30などを参照して説明したユーザインターフェース画面の上に重畳表示される。この
図34の設定画面を利用して、(1)画質優先モードと、(2)画質優先モードとを択一的に選択することができる。
【0091】
(第5番目の作業)チューニング処理(図35);
先ず、チューニングにより設定を変更したいバンクを選択して、チューニング処理を実行する。
図35を参照して、ユーザインターフェース画面の画像表示枠の中の撮像画像に領域設定を行う。これは、撮像画像と重畳表示されている範囲指定枠を操作することで行うことができ、撮像画像中のバーコードなどの矩形の光学情報を囲んで領域指定することにより(
図35)、チューニング対象領域を設定することができる。
【0092】
ユーザが設定したチューニング対象領域から光学情報を抽出する。チューニング処理で行われる明るさの変化は、光学情報読取領域の設定と明るさの調整(
図31)の工程で設定された明るさが初期値として使用される。勿論、ユーザが予め任意に設定した初期値から明るさを変化させてもよいし、チューニング処理における明るさ変化の範囲の下限値又は上限値を初期値として使用してもよい。
【0093】
チューニング対象領域から抽出した光学情報のデコードが成功すると、この光学情報の輪郭が例えば緑色の枠で囲んだ表示状態になる。この赤色の枠の出現によってデコードの成功を一見しただけで認識ができる。チューニングに伴って、明るさ、デコード条件、点灯パターンなどの様々なパラメータの値を変化させてもデコードが一回も成功しない場合には「チューニング失敗」として処理される。
【0094】
ユーザインターフェース画面は、
図32の右下のチューニングスコアの表示を含む。この表示は横軸が明るさであり、縦軸がスコアである。このチューニングスコアが最も高くなったときのパラメータの値が、上述したバンクに設定される。
【0095】
(第6番目の作業)画像読取試行(図36);
光学情報の読み取りを試行したいバンクを選択して、「読取り率」ボタンを押し下げることで読取テストを実行することができる。この読み取りの試行の結果は、
図36のユーザインターフェース画面の右下に表示され、この読み取り結果の表示は「%」と「スコア」とを含む。
【0096】
(第7番目の作業)バンク追加(図37);
設定条件がばらつく、読み取りが安定しない等、既に設定した複数のバンクでは的確なバーコードリーダ・システム1の運用が難しいときには、バンクの追加が行われる。この
図37の例では、バンク1及びバンク2を選択することで、バンク1とバンク2の間の明るさのバンクが自動生成される。この新たに生成されたバンクの明るさ以外のパラメータはバンク1のパラメータがそのままコピーされる。なお、この自動生成したバンクに対して上述したチューニングを実行して明るさ以外のパラメータの値を最適化してもよい。
【0097】
(第8番目の作業)NG画像の解析(図38、後に説明する図40、図41);
読み取りができなかった画像を再度バーコードリーダ2から読み出すと共に、デコード条件の最適化(チューニング)を行う。デコード条件のチューニングによって読み取りが成功すると、
図38の成功表示欄の色が反転する。読み取りが成功したときには、この読み取りが成功したデコード条件を保存することができ、また、ユーザが「デコード設定出力」ボタンを押し下げることにより印字品質評価結果のリポートを出力することもできる。このNG画像の解析は、この解析を主眼にしたNG画像解析プログラムによって実行されるが、上述した設定プログラムで行うようにしてもよい。
【0098】
チューニングの具体例(図39):
第5番目の作業であるチューニング処理(
図35)はバーコードリーダ・システム1の種々のパラメータの設定のために使用される。
図39を参照して、先ずステップS100でチューニング対象領域の設定が行われる。このチューニング対象領域を設定することにより撮像画像の読み取り範囲が絞り込まれる。このチューニング対象領域は、ユーザインターフェース画面に表示されている撮像画像の中央に設定できるし、撮像画像の片隅であっても設定できる。すなわち、チューニング対象領域の設定は、光学情報が存在する位置に対応してユーザが任意に設定することができる。チューニング対象領域を限定的に光学情報の大きさに設定することにより画像の読み取り速度を高めることができ、このことはチューニング処理速度を高めるのに貢献する。
【0099】
次のステップS101でユーザインターフェース画面に表示されている撮像画像の明るさの初期値の設定が行われる。この初期値として、第2番目の作業である光学情報読取領域の明るさの調整(
図31)で得られた明るさが採用される。チューニングよりも前段階で行われた明るさ調整で最適として設定された明るさをチューニングの初期値として使用することで、チューニングの初期段階から一般的には最適な明るさを設定することができる。これによりチューニング処理時間を飛躍的に短縮することができる。
【0100】
次のステップS102で初期値の明るさで、チューニング対象領域の読み取りが開始され、読み取りが成功したときには光学情報の種類、大きさ、表示位置が取得され、次いで、ステップS104からステップS105に進んで、最も好ましくは読み取りが成功した明るさを初期値として設定し、この初期値の明るさを中心にして明るさや他のパラメータの値を変化させながら光学情報のデコードが実行される。勿論、読取が成功した明るさを含む所定の範囲内の明るさを初期値として設定してもよく、また、初期値の明るさを含む所定の範囲の明るさと他のパラメータを変化させながらデコードを実行してもよい。チューニング処理で変化させるパラメータを例示すれば次の通りである。
【0101】
(1)画像の明るさ;
(2)フィルタ;
(3)画像のコントラスト;
(4)曲面設定。
【0102】
上記(4)の曲面設定とは、例えばワークが円柱体の場合に、湾曲した表面に付された光学情報を読み取るのに適当であるパラメータの設定を意味している。
【0103】
多くの場合、明るさの初期値が、それ以前の処理で最適として設定された明るさであることから、ステップS104で読み取り成功と判断される確率が非常に高いはずである。また、この明るさの初期値による一回の読み取り成功によってバーコードやQRコードなどの光学情報の種類、大きさ、位置の情報をチューニング処理の初期段階で獲得することができ、この光学情報に直接的に関係した情報を次のステップS105でのデコード処理に反映される。これによりデコードを容易に且つ短時間に終わらせることができる。すなわち、最初に読み取りに成功したときに、光学情報の種類、大きさ、位置の情報を獲得し、この獲得した情報はデコード処理に反映される。
【0104】
ステップS105で実行されたデコードの結果(スコア)が次のステップS106で算出される。このスコアを参照することで、設定するのに適したパラメータの値に目安を付けることができる。
【0105】
次のステップS107で、この複数のデコードスコアの中から一番高いスコアを検出し、次いで、ステップS108において、このデコードスコアの一番高いパラメータの値の近傍の範囲においてパラメータの値の変化の間隔を狭めてパラメータの値を次々と変化させながらデコードが実行され、その結果(スコア)が作成される。
【0106】
このデコードの結果(スコア)からスコアの高いものを複数候補として検出し(S109)、そして、この複数の候補のなかで一番スコアの高い候補の読み取りを実行し(S110)、読み取りに成功したら「チューニング成功」ということで、この最良な候補に対応するパラメータの値が最適なパラメータの値であると決定される(S111、S112)。
【0107】
多くの場合、初期値の明るさ、つまりチューニング以前の作業で最適な明るさが設定されている、その明るさでチューニングが成功すると思われる。また、撮像画像の一部の領域であるチューニング対象領域に範囲を絞り込んで読み取りが開始される(S103)。この読み取りが成功する確率は一般的には高く、この読み取りによって光学情報の位置、大きさ、種類の情報を獲得することで、その後のチューニング処理を素早く実行することが可能になるため、チューニングに要する時間を大幅に短縮することができる。
【0108】
図39のステップS104に戻って、初期値で明るさでの読み取りに失敗したときには、初期値の明るさを中心に明るさを変化させて読み取りが試行され、これを一定回数実行しても読み取りに失敗したときには「チューニング不能」としてチューニング処理が終了される。
【0109】
また、
図39のステップS111で読み取りに失敗したときには、ステップS113に進んで、次の候補に対して読み取りを試行し、この読み取りが成功したら、この第2番目の候補に対応するパラメータの値が最適なパラメータの値であると決定される(S116)。
【0110】
この第2番目の候補の読み取りが失敗したときには、第3番目というように、読み取りに成功するまで全ての候補に対して同様の処理が実行され(S115)、読み取りに成功した候補に対応するパラメータの値が最適なパラメータの値であると決定される(S116)。
【0111】
以上、
図39を参照して、チューニングの具体例を説明したが、明るさは露光時間とゲインとの関係で設定される。露光時間が長くなると、ワークの移動や振動で画像にブレが生じ、読み取りが不能になる可能性がある。この問題に対処するには、露光時間を短縮するのが好ましいが、露光時間を短縮したときには、これに応じてゲインを高める必要があり、ゲインを高く設定すると画像のノイズ成分が増加してしまうという次の問題がある。つまり、明るさ、露光時間、ゲインの三者には次の関係がある。
【0112】
(明るさ)=(露光時間)×(ゲイン設定)
【0113】
以上のことを考慮して、チューニング設定画面では、「画質優先」と「速度優先」とをユーザが選択できるようにしてある(
図34)。
【0114】
「画質優先」モードでは、露光時間が5msの上限値が設定され、最大ゲインは2倍までに制限される。「速度優先」モードでは、露光時間は、予め設定された時間を上限とし、最大ゲインは5.4倍である。
【0115】
点灯パターンに関しては、複数の点灯パターンを登録できるようにするのが好ましく、登録した各点灯パターン毎に明るさ設定の初期値を用意しておくのがよい。
【0116】
上述したステップS104やS111でNOつまり「読み取り失敗」と判定され、何回か読取試行を実行したにも関わらず読み取りができなかったときには、読取系のパラメータ(デコード設定)のチューニングを行ってもよい。このことは、バーコードリーダ2の運用中に読み取りが不安定になったときも同様である。すなわち、バーコードリーダ2の運用中に「読取エラー」が発生したときに、読取エラーが発生した時の撮像画像をパーソナルコンピュータ3に転送し、この撮像画像を使ってパーソナルコンピュータ3で読取系のパラメータの最適化を行い、最適化したパラメータをバーコードリーダ2の運用に反映させるのがよい。
【0117】
コード印字品質評価プログラム(図40〜図42):
パーソナルコンピュータ3にはコード印字品質評価プログラムがインストールされている。このコード印字品質評価プログラムの概要を説明すると次の通りである。先ず従来のやり方から説明すると、ワークにはマーカによって光学情報が印刷又は刻印される。レーザ光を使ってワークにコード印字つまり光学情報を刻印するレーザーマーカーを例に説明すると、レーザーマーカーによるコード印字の良し悪し(読み取り易さ)はユーザの目で決定されている。すなわち、レーザーマーカーに印字条件を設定するときに、このレーザーマーカーが備えているサンプル印字機能を使って印字条件を変えながらワークのテスト片に複数のコード印字を刻印され、このテスト片の複数のコード印字を評価して最適を思われるコード印字の印字条件がレーザーマーカーに設定される。従来はこの評価がユーザの目視による確認に委ねられていた。
【0118】
一般論として、ダイレクトパーツマーキングと称されるワークに直接的に刻印されたコード印字(バーコードやQRコードなどの光学情報)やヘアラインワークと称される表面に微細な研削跡を備えたワークのコード印字つまり光学情報は、光の当たり具合などによってバーコードリーダの読み取りの成功率が変化することが知られている。
【0119】
したがって、ユーザがコード印字を見て最適であると判断しても、バーコードリーダの読み取りにとって照明との関係で必ずしも適しているとは限らない。また、ユーザが2つの印字のどちらでも良いと考えても、バーコードリーダの読み取りでは、特に読み取りの安定度に関して、この2つのコード印字の読み取りに差があるかも知れない。いずれにせよ、バーコードリーダの運用上、バーコードリーダの読取安定度の高いコード印字を選択するのが一般的に合理的である。レーザーマーカーの設定パラメータは、代表的には(1)マーカのスキャン速度と(2)レーザ出力とがあり、スキャン速度を高めればワークの処理速度が上がる。
【0120】
コード印字品質評価プログラムをインストールしたパーソナルコンピュータ3はコード印字品質評価装置として機能する。コード印字品質評価装置は、レーザーマーカーによってワークのテスト片に刻印されたコード印字を共通の撮像条件の下で撮像したバーコードリーダ2から撮像画像を取り込む。そして、撮像画像から読取可能なコード印字を抽出し、そして抽出したコード印字を評価する。
【0121】
1つのテスト片に複数のコード印字が刻印されているときには、これを撮像した画像から各コード印字の位置を特定して各コード印字毎に明るさを変化させながら読み取りの試行が行われる。また、1つのテスト片に1つのコード印字が刻印されているときは、この1つのコード印字の位置を特定して明るさを変化させながら読み取りの試行が行われる。
【0122】
コード印字の評価は、バーコードリーダ2にとって読取安定度の高い低いをユーザが分かり易いスコアでユーザに提示することを意図している。このコード印字品質評価プログラムは、レーザーマーカーがそのサンプル印字機能により印字条件を変化させながら刻印された複数のコード印字を、バーコードリーダ2側の設定条件の下で読み取りを試行した上で比較し、その評価をユーザにとって分かり易い且つ客観的なスコアでユーザに提示する。このスコアは、「読み取り易さ」の指標の最高値ではなくて、複数の設定条件で読み取りを試行して得られた読取安定度を示すスコアの形式を採用するのがよく、このスコアとして、読み取り易さの指標の積分値(面積)を採用するのがよく、これにより照明条件の変化に対する感受性が弱いつまり照明条件が変化しても安定した読み取りが可能なコード印字であるか否かの情報をユーザに提示できる。なお、「読み取り易さ」の指標は、画像のコントラスト、誤り訂正率(一部がかすれたコード印字や一部が汚染したコード印字を読み取る際の訂正の割合)、セルの白らしさ、黒らしさ等を複合して総合的に算出される。
【0123】
図40は、コード印字品質評価プログラムのユーザインターフェース画面である。レーザーマーカーで印字テストを行う場合に、上述したようにワークの一つのテスト片の複数箇所にコード印字する場合や、複数のテスト片に分けてコード印字する場合がある。また、バーコードリーダ2で撮像する場合、コード印字の位置によって照明条件が変化してしまう場合がある。これらのことを念頭に入れてコード印字品質評価プログラムが作られている。具体的には、バーコードリーダ2が撮像した画像を取り込んで、この撮像画像から読み取り可能なコード印字のリストが作成されると共に、この読み取り可能なコード印字の画像が一覧表示される(
図40)。そして、このリストアップされたコード印字の全てに対してチューニング処理が行われる。このチューニング処理では明るさを変化させながら読取が試行され、各読取試行での読み取り易さの指標を求めて、この指標の積分値に基づいて読取安定度を指し示すスコアが算出され、このスコアが数値及びグラフで表示される。なお、リストアップされたコード印字の各々には、サンプル印字の際の順番が埋め込まれている。
【0124】
図41のフローチャートを参照して処理手順を説明すると、先ずステップS200で、
図40のユーザインターフェース画面に用意された分析ボタンを押し下げると、次のステップS201でバーコードリーダ2の設定条件の下で撮像されたテスト片のコード印字の撮像画像が取り込まれ、この取り込んだ撮像画像に対して明るさを変化させながら読み取り可能なコード印字の全てが抽出される。このコード印字の抽出に関して、明るさを変化させながらコード印字の抽出を行うことから、色々な環境下でバーコードリーダ2が読み取り可能な全てのコード印字を抽出することができる。そして、ステップS202で、抽出したコード印字のリストが作成される。また、抽出したコード印字の画像がユーザインターフェース画面に表示される(
図40)。
【0125】
次のステップS203で、リストが空であるか否かの判定が行われるが、いまはリストに複数のコード印字が存在していることからNOということでステップS204に進んで、リストの先頭のコード印字から、その読取領域をコード印字の大きさに限定した後にチューニング処理が実行される。なお、このチューニング処理は、明るさを変化させながら読取の試行が行われ、各読取試行での読み取り易さの指標を求めて、この指標の積分値に基づいて読取安定度を指し示すスコアが算出される。そして、当該コード印字の対応するコード印字の印字順つまりサンプル印字の印字順位に従って、対応するコード印字の画像に関連付けて数値及びグラフのプロットの形式で上記スコアが
図40のユーザインターフェース画面に表示される(S205)。
【0126】
上記ステップS205のチューニングが完了したコード印字がリストから除外され、次のコード印字、その次のコード印字というようにリストされた全てのコード印字の処理が完了するまで、ステップS204、S205の処理が実行される。
【0127】
図40のユーザインターフェース画面の右側には、各コード印字の分析結果(数値)の一覧が表示され、また、その下に各コード印字の指標がグラフのプロット形式で表示される。このグラフの横軸は、コード印字に関するサンプル印字のときの順番であり、縦軸がスコアである。このスコアの一番大きいコード印字は、読み取り安定度が大きいことを意味する。すなわち、スコアが大きいほど、照明光の変化に対する感度が低いつまり照明光の当て方の変化によって読み取りできなくなる可能性が低いことを意味しており、このスコアの大小によってコード印字を安定的に読み取り可能であるか否かを知ることができる。また、左側に表示のコード印字の画像の一覧は、左上から順にサンプル印字が実行されたことを意味しており、このコード印字の画像の位置を見ることで、マーカのスキャン速度がどの程度かを認識することができる。したがって、ユーザは、レーザーマーカーの処理速度を優先するときには、例えばスキャン速度の速い順からコード印字が並んでいるときには、できるだけ左上に近い候補コード印字を選択することになる。例えば、所望のスコアのグラフのプロットを選択すると、これに連動して、この選択されたスコアに対応するコード印字画像(画面左)及び数値表示のスコア(画面右上)が強調表示される。例えば、バーコードリーダ2の読み取り安定性を重視して、一番高いスコアのグラフのピークを選択すると、これに関連した数値のスコア及びコード印字の画像がハイライト表示されることから、ユーザは、これに関連したコード印字画像及び数値を識別するのが容易である。
【0128】
また、
図40のユーザインターフェース画面から理解できるように、コード印字の画像の一覧を表示する部分が複数の画面分割できるため、複数のコード印字群つまり例えば互いに異なるワークのテスト片に印字されたコード印字を撮像したコード印字群を同時に表示することができ、この複数のコード印字群にまたがってユーザが最適と判断するコード印字を選択することができる。
【0129】
図42、
図43は、各コード印字をチューニング処理するときのユーザインターフェース画面を示す。この画面の右上に抽出されたコード印字の画像の一覧が表示され、チューニング処理中の画像は例えば赤枠などで囲まれる。明るさを変化させながらデコードを行うチューニング処理において、その読み取り易さの指標が右下にグラフ形式で表示される。横軸が明るさであり、縦軸が指標である。なお、図示の例では、スコアという文字が使われている。このグラフで囲まれた面積(積分値)に基づいて上述したスコアが計算される。
図42と
図43とを対比して、読み取り易さの指標のピークは同じであるが、面積は
図42の方が大きいことから、
図42に赤枠で囲まれたコード印字の方がバーコードリーダ2の読取安定性が照明の当たり具合に関して優れていると判断することができる。なお、ユーザが選択したコード印字の情報は、必要であればパーソナルコンピュータ3を図外のレーザーマーカーに接続することで、レーザーマーカーに供給してレーザーマーカーの設定に反映させてもよい。
【0130】
コード印字の評価において、上述した実施例では、「明るさ」を変化させて読み取り易さの指標を算出しているが、点灯パターンを変化させて読み取り易さの指標を求め、更にこの指標から読取安定度を意味するスコアを求めるようにしてもよい。同様に、例えばフィルタを変化させて読み取り易さの指標を求め、更にこの指標から読取安定度を意味するスコアを求めるようにしてもよい。勿論、明るさ及び点灯パターンを変化させて読み取り易さの指標を求め、更にこの指標から読取安定度を意味するスコアを求めるようにしてもよい。このように撮像パラメータを単数又は複数変化させて読み取り易さの指標を求め、更にこの指標から読取安定度を意味するスコアを求めることで、コード印字を客観的に妥当な評価をユーザに提供することができる。