以下、図面を参照して、コード検証装置の実施形態について説明する。実施形態では、コードシンボルの一例として、バーコードを印字する。バーコードは、平行に配列された複数の黒ラインと白ラインの組み合わせで、物品等のコード情報を示すコードシンボルである。また、実施形態では、用紙の一例としてラベルを用いて説明する。なお、以下に説明する実施形態により、この発明が限定されるものではない。
図1は、実施形態に係るコード検証機を含むシステムを示す図である。システムは、プリンタ1、光透過率検出器3、コード検証装置5を備える。プリンタ1とコード検証装置5は、通信回線T2で電気的に接続される。プリンタ1とコード検証装置5は、通信回線T2を介して情報の送受信を行う。また、コード検証装置5と光透過率検出器3は、通信回線T1で電気的に接続される。コード検証装置5と光透過率検出器3は、通信回線T1を介して情報の送受信を行う。
図2は、プリンタ1、コード検証装置5、光透過率検出器3の構成と、相互の配置を示す説明図である。
プリンタ1は、ラベルLの表面に情報を印字して発行する。プリンタ1は、台紙に貼付されたラベルLをロール状に巻回されたラベル巻29を装着する。またプリンタ1は、印字ヘッド21とプラテン24を備える。プラテン24は、ゴムで形成されており、回転可能である。印字ヘッド21は、ライン状に整列した発熱素子211を備え、発熱素子211をプラテン24に向けて付勢する。発熱素子211は、半月状の形状であり、円弧側がラベルLに当接する。また、プリンタ1は、熱転写用のインクが含浸され巻回されたインクリボン25を装着する装着軸26と、使用したインクリボン25を巻き取る巻取軸27とを備える。プリンタ1は、発熱素子211のプラテン24への付勢力により、発熱素子211とプラテン24との間にラベルLとインクリボン25を挟持する。
プラテン24が回転することで、ラベル巻29から引き出されたラベルLと装着軸26に装着されたインクリボン25を搬送する。印字ヘッド21は、発熱素子211を発熱させてインクリボン25に含浸されているインクを溶解し、搬送されるラベルL上に転写して情報を印字する。ラベルLに印字する情報には、バーコードが含まれる。情報が印字されたラベルLは、発行口28から矢印P方向に、プリンタ1の外部に発行される。
プリンタ1は、発熱素子211に印加する電圧の周期を調整することで平均的な印加電圧を調整し、ラベルLに印字されるバーコードの印字濃度を調整する。プリンタ1は、発熱素子211に印加する電圧の周期を短くすることで、印字濃度が濃いバーコードを印字する。プリンタ1は、発熱素子211に印加する電圧の周期を長くすることで、印字濃度が薄いバーコードを印字する。
また、プリンタ1は、プラテン24の回転速度を調整することで、印字ヘッド21に対するラベルLの搬送速度(以降、ラベルLの搬送速度を単に「搬送速度」という)を調整する。プリンタ1は、プラテン24の回転速度を速くすると、印字ヘッド21に対するラベルLの搬送速度が速くなる。ラベルLの搬送速度が速くなると、ラベルLに印字されるバーコードの黒ラインが太くなり、相対的に白ラインが細くなる。一方、プリンタ1は、プラテン24の回転速度を遅くすると、印字ヘッド21に対するラベルLの搬送速度が遅くなる。ラベルLの搬送速度が遅くなると、ラベルLに印字されるバーコードの黒ラインが細くなり、相対的に白ラインが太くなる。
プリンタ1は、複数種類の印字濃度と搬送速度を組み合わせてバーコードを印字した複数枚のラベルLを発行する。なお、印字濃度と搬送速度を総称して「印字パラメータ」という。また、印字パラメータの範囲とは、印字濃度の範囲と搬送速度の範囲をいう。
プリンタ1は、印字したラベルLを発行した発行口28を備える。そして、コード検証装置5は、発行口28の矢印P方向下流位置に隣接して配置される。コード検証装置5は、発行されたラベルLに印字されたバーコードの印字品質を検証する装置である。コード検証装置5は、矢印P方向と直交する方向に一列に配置されたイメージセンサを備えた読取部58(図5を参照)を備える。
読取部58は、発行口28から発行されたラベルに印字されているバーコードを、矢印P方向と直交する方向に1ライン単位で読み取る。コード検証装置5は、読み取った1ライン単位の情報を矢印P方向に繋げ、ラベルLに印字されたバーコードの情報を生成する。
コード検証装置5は、生成したバーコードの情報に基づいて、当該バーコードにおける黒ラインと白ラインの幅の割合を計測する。黒ラインの割合が多い場合は、ラベルの印字濃度が濃いことを示す。白ラインの割合が多い場合は、ラベルの印字濃度が薄いことを示す。コード検証装置5には、ラベルLに印字されるバーコードの種類が予め記憶されており、コード検証装置5は、計測した黒ラインと白ラインの幅の割合と、記憶されているバーコードの種類において適正な黒ラインと白ラインの幅の割合とを比較し、読み取ったバーコードの印字品質が適正であるか否かを判断する。なお、バーコードの種類によって、黒ラインと白ラインの適正な割合が決められているため、コード検証装置5は、当該バーコードの白ラインの幅の割合が決められた割合の範囲である場合には、ラベルLに印字されたバーコードの印字品質が適正であると判断する。
また、コード検証装置5は、プリンタ1が印字した複数枚のラベルLに印字された、それぞれ印字濃度と搬送速度が異なるラベルLについて、どのラベルLに印字されたバーコードが適正な印字品質であるかを判断する。例えば、3枚のラベルLに印字されたバーコードはいずれも適正品質の範囲に含まれるとする。1枚目のラベルLには、搬送速度と印字濃度が最適ではないが適正なバーコードが印字されている。2枚目のラベルLには、搬送速度を1枚目のラベルLより早くし、その分印字濃度が1枚目より濃い(黒ラインが太くなって黒ラインの割合が白ラインより多い)バーコードが印字されている(ただし、依然として適正な濃度の範囲内である)。3枚目のラベルLには、搬送速度を1枚目のラベルLより遅くし、その分印字濃度が1枚目より薄い(黒ラインが細くなって黒ラインの割合が白ラインより少ない)最適な濃度でバーコードが印字されている。1枚目のラベルLに印字されたバーコードは、多少黒ラインの割合が多いが、ほぼ適正によみとることができる。2枚目のラベルLに印字されたバーコードは、1枚目のバーコードより黒ラインが太くなり読取率が悪くなる。その代り、2枚目のラベルLを印字するのに、1枚目のラベルLほど時間を要しない。3枚目のラベルLに印字されたバーコードは、1枚目のバーコードより黒ラインの割合が細くなり、最適な黒ラインの割合となる。そのため読取率はラベル1より向上する。その代り、3枚目のラベルLを印字するのに、多くの時間を要する。
このような場合、実施形態のコード検証装置5は、通常1枚目のラベルLに印字されたバーコードを適正なバーコードであると判断する。なぜなら、1枚目のラベルLに印字されたバーコードは依然として適正な印字濃度であるとともに、1枚目のラベルLを発行するのに、それほど長い時間を要しないからである。
また、コード検証装置5は、必要に応じて、適正な印字品質の範囲内で、印字するバーコードを変更する。印字品質を重視する場合は、コード検証装置5は、さらに印字品質が高いバーコード(例えば上記3枚目のラベルLに印字されたバーコード)を適正なバーコードに変更する。一方、搬送速度を重視する場合は、コード検証装置5は、搬送速度が速いラベルに印字されたバーコード(例えば上記2枚目のラベルLに印字されたバーコード)を適正なバーコードに変更する。
また、コード検証装置5のラベルLの発行方向の直後(矢印P方向下流側)には、光透過率検出器3が配置される。光透過率検出器3は、発行口28から発行されたラベルLの紙厚と矢印P方向の長さ(以降単に「ラベル長」という)を検出する。光透過率検出器3は、発光部37と受光部38を備える。発光部37は、搬送されるラベルLの一方側(図2の実施形態では搬送されるラベルLの下側)に位置する。また、受光部38は、搬送されるラベルLの他方側(図2の実施形態では搬送されるラベルLの上側)に、発光部37に対向した位置に位置する。すなわち、ラベルLは、発光部37と受光部38の間を搬送される。
発光部37は、受光部38に向けて発光する。受光部38は、発光部37が発光した光を受光する。ラベルLが、発光部37が発光した光が受光部38が受光する経路Qを遮って通過する場合、光は、ラベルLを透過して受光部38に受光される。光は、ラベルLを透過する際にある程度減衰する。そのため、受光部38が受光する光の量は、ラベルLが経路Qを通過している間は少なく、ラベルLが経路Qを通過していない状態では多い。また、ラベルLを通過している際に減衰する光の量は、ラベルLの紙厚によって異なる。ラベルLの紙厚が薄い場合には、減衰する光の量は少ない(すなわち、光の透過率が比較的大きい)。そのため、受光部38が受光する光の量は比較的多い。一方、ラベルLの紙厚が厚い場合には、減衰する光の量は多い。そのため、受光部38が受光する光の量は少ない(すなわち、光の透過率が小さい)。
このように、光透過率検出器3は、受光部38が受光する光の量(光の透過率)を測定する(正確には、受光部38が光を受光して出力する出力のレベルを測定する)ことで、光の経路Q上をラベルLが通過しているかを検出する。また、光透過率検出器3は、通過しているラベルLの紙厚を検出することができる。
また、光透過率検出器3は、経路Qを搬送されるラベルLの搬送時間を検出する。すなわち、ラベルLのラベル長が長いラベルLは、経路Q中に位置している時間が長い。一方、ラベルLのラベル長が短いラベルLは、経路Q中に位置している時間が短い。このようなことから、ラベルLが経路Qを通過する時間を計測することで、当該ラベルLのラベル長を計測できる。ラベルLが経路Qを通過する時間は、受光部38が受光する減衰した光の時間を計測することで計測することができる。このように、光透過率検出器3は、ラベルLのラベル長を計測することができる。光透過率検出器3は、受光部38の出力として、得られたラベルLの紙厚とラベル長のデータをコード検証装置5に出力する。ラベル長が長いラベルLは、発熱素子211の温度の立ち上がりをゆっくり設定できる。一方、ラベル長が短いラベルLは、発熱素子211の温度の立ち上がりを急激になるよう設定する必要がある。
コード検証装置5は、光透過率検出器3から入力されたラベルLの紙厚とラベル長のデータに基づいて、プリンタ1に印字させるバーコードの印字パラメータの範囲(印字濃度の範囲と搬送速度の範囲)を特定し、プリンタ1に送信する。ラベルLの紙厚とラベル長によって、バーコードを適正品質で印字可能な印字パラメータの範囲は経験的に分かっており、その範囲内において、プリンタ1はバーコードのテスト印字を行う。例えば紙厚が厚いラベルLにバーコードを印字する場合、あまり高い印字濃度およびあまり速い搬送速度では適正品質のバーコードが印字できない。そのため、比較的印字濃度が薄く比較的搬送速度が遅い印字パラメータの範囲において、複数種類のバーコードをプリンタ1にテスト印字をさせる。
ここからは、プリンタ1のハードウェアについて説明する。図3は、プリンタ1のハードウェア構成を示すブロック図である。図3に示すように、プリンタ1は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、メモリ部14等を備えている。CPU11は制御主体となる。ROM12は各種プログラムを記憶する。RAM13はプログラムや各種データを展開する。メモリ部14は各種プログラムを記憶する。CPU11、ROM12、RAM13、メモリ部14は、互いにバス15を介して接続されている。CPU11とROM12とRAM13が、制御部100を構成する。すなわち、制御部100は、CPU11がROM12やメモリ部14に記憶されRAM13に展開された制御プログラムに従って動作することによって、後述するプリンタ1の制御処理を実行する。
RAM13は、印字データ部131とテスト印字範囲部132を備える。印字データ部131は、ラベルに印字するデータを記憶する。テスト印字範囲部132は、ラベルLにバーコードをテスト印字をする印字濃度と搬送速度の範囲を記憶する。
メモリ部14は、SSD(Solid State Drive)、HDD(Hard Disc Drive)、フラッシュメモリ等で構成されており、電源を遮断しても記憶内容を維持する。メモリ部14は、制御プログラム部141と印字品質データ部142を備える。制御プログラム部141はプリンタ1を制御するための制御プログラムを記憶する。印字品質データ部142は、プリンタ1がバーコードを印字する適正な印字パラメータを記憶する。
制御部100は、バス15とコントローラ16を介して、操作部17、表示部18、リボン搬送部19、ラベル搬送部20、印字ヘッド21と接続する。操作部17は、品質検査キー171を含むプリンタ1を操作するキーである。品質検査キー171は、プリンタ1のバーコード印字に係る印字品質を検査する場合に操作する。表示部18は、プリンタ1を操作する操作者に対し、情報を表示する。リボン搬送部19は、巻取軸27をインクリボン25を巻き取る方向に回転させる駆動部である。ラベル搬送部20は、ラベルLを矢印P方向に搬送するために、プラテン24を回転させる駆動部である。印字ヘッド21は、印字データ部131に記憶された印字データに基づいて、発熱素子211に電圧を印加して、バーコードを含む情報をラベルLに印字する。
また、制御部100は、バス15を介して、通信I/F23と接続する。通信I/F23は、通信回線T2を介して、コード検証装置5と相互に情報の送受信が可能である。
ここからは、光透過率検出器3のハードウェアについて説明する。図4は、光透過率検出器3のハードウェア構成を示すブロック図である。図4に示すように、光透過率検出器3は、CPU31、ROM32、RAM33、メモリ部34等を備えている。CPU31は制御主体となる。ROM32は各種プログラムを記憶する。RAM33はプログラムや各種データを展開する。メモリ部34は各種プログラムを記憶する。CPU31、ROM32、RAM33、メモリ部34は、互いにバス35を介して接続されている。CPU31とROM32とRAM33が、制御部300を構成する。すなわち、制御部300は、CPU31がROM32やメモリ部34に記憶されRAM33に展開された制御プログラムに従って動作することによって、後述する光透過率検出器3の制御処理を実行する。
メモリ部34は、SSD、HDD、フラッシュメモリ等で構成されており、電源を遮断しても記憶内容を維持する。メモリ部34は、制御プログラム部341を備える。制御プログラム部341は光透過率検出器3を制御するための制御プログラムを記憶する。
制御部300は、バス35とコントローラ36を介して、発光部37と受光部38と接続する。発光部37は例えば光を発光するLED(Light Emitting Diode)を備える。受光部38は、発光部37が発光した光を受光するセンサである。受光部38は、光を受光すると、受光した光の量に応じた電圧の電力を出力する。受光部38は、受光量が多いほど多くの電力を出力する。
また、制御部300は、バス35を介して、通信I/F39と接続する。通信I/F39は、通信回線T1を介して、コード検証装置5と相互に情報の送受信が可能である。
ここからは、コード検証装置5のハードウェアについて説明する。図5は、コード検証装置5のハードウェア構成を示すブロック図である。図5に示すように、コード検証装置5は、CPU51、ROM52、RAM53、メモリ部54等を備えている。CPU51は制御主体となる。ROM52は各種プログラムを記憶する。RAM53はプログラムや各種データを展開する。メモリ部54は各種プログラムを記憶する。CPU51、ROM52、RAM53、メモリ部54は、互いにバス55を介して接続されている。CPU51とROM52とRAM53が、制御部500を構成する。すなわち、制御部500は、CPU51がROM52やメモリ部54に記憶されRAM53に展開された制御プログラムに従って動作することによって、後述するコード検証装置5の制御処理を実行する。
RAM53は、ラベル情報部531と適正印字パラメータ記憶部532とバーコード記憶部533を備える。ラベル情報部531は、光透過率検出器3から受信したラベルLの紙厚と長さを記憶する。適正印字条件記憶部532は、プリンタ1の装着されたラベルLにバーコードを印字するのに適正な印字パラメータを記憶する。バーコード記憶部533は、後述する読取部58が読み取ったバーコードの情報を記憶する。
メモリ部54は、SSD、HDD、フラッシュメモリ等で構成されており、電源を遮断しても記憶内容を維持する。メモリ部54は、制御プログラム部541と印字範囲マスタ542を備える。制御プログラム部541は光透過率検出器3を制御するための制御プログラムを記憶する。印字範囲マスタ542は、紙厚とラベル長に対応して、テスト印字を行うパラメータの範囲を記憶する。印字範囲マスタ542については図6で後述する。
制御部500は、バス55とコントローラ56を介して、操作部57、読取部58、表示部61と接続する。操作部57は、速度重視キー571、品質重視キー572、送信キー573を含むキーボードである。速度重視キー571は、適正品質の範囲内において、より搬送速度を上げてラベルLを印字するためのキーである。速度重視キー571が操作されると、搬送速度が上がるとともに、適正品質の範囲内においてバーコードの印字濃度が濃くなる。品質重視キー572は、よりバーコードの印字濃度を薄くして、その分搬送速度を遅くするためのキーである。品質重視キー572が操作されると、搬送速度が遅くなり、適正品質の範囲内においてバーコードの印字濃度が薄くなる。送信キー573は、適正品質のバーコードに係る印字パラメータをプリンタ1に送信するためのキーである。表示部61は、操作者に情報を表示する。
読取部58は、一列に整列して配置されたイメージセンサを備える。イメージセンサは、矢印P方向に搬送されるラベルに印字されたバーコードを、矢印P方向と直交する方向に1ライン毎に読み取る。読み取った1ライン毎のバーコードの情報は、すべてバーコード記憶部533に記憶される。そのため、バーコード記憶部533には繋がったバーコードとして記憶される。
また、制御部500は、バス55を介して、通信I/F59および通信I/F60と接続する。通信I/F59は、通信回線T1を介して、光透過率検出器3と相互に情報の送受信が可能である。通信I/F60は、通信回線T2を介して、プリンタ1と相互に情報の送受信が可能である。
ここからは、印字範囲マスタ542について説明する。印字範囲マスタ542は、ラベルLの紙厚とラベル長に対応して、バーコードのテスト印字を行う印字濃度と搬送速度の範囲を記憶する。実施形態では、話を簡潔にするために、紙厚を「薄い」「厚い」の2種類とし、またラベル長を「長い」と「短い」の2種類とする。すなわち、「紙厚が薄くラベル長が長いラベルL」「紙厚が薄くラベル長が短いラベルL」「紙厚が厚くラベル長が長いラベルL」「紙厚が厚くラベル長が短いラベルL」の4種類のラベルLについて、それぞれ印字濃度と搬送速度を記憶している。
印字範囲マスタ542は、印字濃度部5421と搬送速度部5422とを有する。印字濃度部5421は、紙厚とラベル長のそれぞれに対応付けてテスト印字するバーコードの印字濃度の範囲を記憶する。搬送速度部5422は、紙厚とラベル長のそれぞれに対応付けてテスト印字するラベルLの搬送速度の範囲を記憶する。なお、印字濃度は最も薄い-10から最も濃い10まで21段階に区分けされる。また、搬送速度は、2ips(inch per second(1秒間に2インチ搬送される))~10ips間で区分けされる。
例えば、「紙厚が薄くラベル長が長いラベルL」にバーコードをテスト印字する場合は、印字濃度が5~10であり、搬送速度が8ipsか10ipsである。また、「紙厚が薄くラベル長が短いラベルL」にバーコードをテスト印字する場合は、印字濃度が0~5であり、搬送速度が6ipsか8ipsである。また、「紙厚が厚くラベル長が長いラベルL」にバーコードをテスト印字する場合は、印字濃度が-5~0であり、搬送速度が4ipsか6ipsである。また、「紙厚が厚くラベル長が短いラベルL」にバーコードをテスト印字する場合は、印字濃度が-10~-5であり、搬送速度が2ipsか4ipsである。
光透過率検出器3の受光部38の出力に基づいて、制御部500が「紙厚が薄くラベル長が長いラベルL」であると判断した場合には、テスト印字するバーコードの印字濃度として5~10を抽出し、搬送速度として8ipsおよび10ipsを抽出する。光透過率検出器3の受光部38の出力に基づいて、制御部500が「紙厚が薄くラベル長が短いラベルL」であると判断した場合には、テスト印字するバーコードの印字濃度として0~5を抽出し、搬送速度として6ipsおよび8ipsを抽出する。光透過率検出器3の受光部38の出力に基づいて、制御部500が「紙厚が厚くラベル長が長いラベルL」であると判断した場合には、テスト印字するバーコードの印字濃度として-5~0を抽出し、搬送速度として4ipsおよび6ipsを抽出する。光透過率検出器3の受光部38の出力に基づいて、制御部500が「紙厚が厚くラベル長が短いラベルL」であると判断した場合には、テスト印字するバーコードの印字濃度として-10~-5を抽出し、搬送速度として2ipsおよび4ipsを抽出する。
ここからは、プリンタ1の制御について説明する。図7は、プリンタ1の制御処理の流れを示すフローチャートである。図7に示すように、プリンタ1の制御部100は、品質検査キー171が操作されたかを判断する(S11)。品質検査キー171が操作されたと判断した場合には、制御部100は、発行口28からラベルLを発行する(S12)。発行されたラベルLは、コード検証装置5および光透過率検出器3へと搬送される。
次に制御部100は、コード検証装置5から、バーコードを印字する印字パラメータの範囲を受信したかを判断する(S13)。バーコードを印字する印字パラメータの範囲を受信するまで待機し(S13のNo)、バーコードを印字する印字パラメータの範囲を受信したと判断した場合には(S13のYes)、制御部100は、受信した印字パラメータの範囲をテスト印字範囲部132に記憶するとともに、印字ヘッド21を駆動して、記憶した印字パラメータの範囲のそれぞれの組み合わせの印字濃度と搬送速度でバーコードをラベルLに印字する(S14)。例えば、受信した印字濃度が0~5であり、受信した搬送速度が6ipsおよび8ipsの場合、制御部100は、搬送速度を6ipsに対して、印字濃度0、1、2、3、4、5の6パターンでバーコードを印字したラベルLを発行する。また、制御部100は、搬送速度を8ipsに対して、印字濃度0、1、2、3、4、5の6パターンでバーコードを印字したラベルLを発行する。制御部100は、計12パターンのラベルLを発行する。なお、S14において印字するバーコードのデータは、予めプリンタ1が記憶していてもよいし、印字データ部131に印字データが記憶されている場合には、当該印字データに含まれるバーコードデータを印字してもよい。また、プリンタ1は、S14の処理において、バーコードがテスト印字されたラベルLを発行する際に、当該バーコードに係る印字パラメータをコード検証装置5に出力する。コード検証装置5は、読み取ったバーコードに対応づけて、当該印字に係る印字パラメータを記憶する。
次に制御部100は、コード検証装置5から適正な印字パラメータが入力されたかを判断する(S15)。コード検証装置5から適正な印字パラメータが入力されるまで待機し(S15のNo)、コード検証装置5から適正な印字パラメータが入力されたと判断した場合には(S15のYes)、制御部100は、受信した適正な印字パラメータを印字品質データ部142に記憶する(S16)。そして制御部100は、S11に戻る。
一方、品質検査キー171の操作ではないと判断した場合には(S11のNo)、制御部100は、印字データ部131にラベルLに印字するバーコードデータを含む印字データが記憶されているかを判断する(S21)。印字データは、例えばプリンタ1と接続されているパーソナルコンピュータ(図示せず)から受信する。印字データ部131に印字データが記憶されていると判断した場合には(S21のYes)、制御部100は、印字品質データ部142に適正な印字パラメータが記憶されているかを判断する(S22)。印字品質データ部142に適正な印字濃度と搬送速度が記憶されていると判断した場合には(S22のYes)、制御部100は、印字ヘッド21を駆動して、印字データ部131に記憶されている印字データに基づいてラベルLに印字を行う(S23)。そして制御部100は、S11に戻る。
また、印字データ部131に印字データが記憶されていないと判断した場合(S21のNo)、および印字品質データ部142に適正な印字パラメータが記憶されていないと判断した場合には(S22のNo)、制御部100はS11に戻る。
ここからは、光透過率検出器3の制御について説明する。図8は、光透過率検出器3の流れを示すフローチャートである。図8に示すように、光透過率検出器3の制御部300は、発行口28から発行されたラベルLが経路Qに達し、発光部37から発光された光が減衰することによりラベルLを検出したかを判断する(S31)。ラベルLを検出するまで待機し(S31のNo)、ラベルLを検出したと判断した場合には(S31のYes)、制御部300は、受光部38からラベルLの紙厚に応じて減衰したレベル(紙厚の程度を示すレベル)の出力をコード検証装置5に出力する(S32)。また制御部300は、上記ラベルLの紙厚に応じて減衰したレベルの受光部38からの出力を、ラベルLが経路Qを通過している間継続してコード検証装置5に出力する(S32)。継続して出力している時間はラベル長を表す。そして制御部300は、S31に戻る。
ここからは、コード検証装置5の機能構成について説明する。図9は、コード検証装置5の機能構成を示す機能ブロック図である。コード検証装置5の制御部500は、制御プログラム部541に記憶され、RAM53に展開された制御プログラムに従うことで、特定部501、第1出力部502、絞り込み部503、第2出力部504、変更部505として機能する。
特定部501は、読取部58が読み取った複数のバーコードから、当該バーコードを適正に読み取れる一つのバーコードを特定する。具体的には、特定部501は、読取部58が読み取りバーコード記憶部533に記憶したバーコードについて、黒ラインと白ラインの割合を測定する。この処理をバーコードがテスト印字して発行されたすべてのラベルLに対して行う。そして特定部501は、測定した黒ラインと白ラインの割合が適正な一つのバーコードを特定する。
第1出力部502は、特定部501が特定したバーコードの印字パラメータをプリンタ1に出力する。具体的には、第1出力部502は、特定部501が特定したバーコードの印字に適用された印字濃度に係る印字パラメータと、特定部501が特定したラベルLの搬送速度に係る印字パラメータをプリンタ1に出力する。
絞り込み部503は、入力されたラベルLの紙厚とラベル長に係る情報に基づいてプリンタ1に印字させるバーコードの印字パラメータの範囲を絞り込む。具体的には、絞り込み部503は、光透過率検出器3の受光部38からの出力を入力し、ラベルLの紙厚とラベル長を判断する。そして絞り込み部503は、印字範囲マスタ542に記憶されている印字パラメータ(印字濃度と搬送速度)から、判断したラベルLの紙厚とラベル長に対応して記憶している印字パラメータの範囲を抽出する。
第2出力部504は、絞り込み部503が絞り込んだ印字パラメータの範囲をプリンタ1に出力する。具体的には、第2出力部504は、絞り込み部503が抽出した印字濃度の範囲と搬送速度の範囲をプリンタ1に出力する。
変更部505は、特定部501が特定したバーコードの印字パラメータを他の印字パラメータに変更する。具体的には、変更部505は、速度重視キー571が操作されると、特定部501が特定した印字パラメータを、適正な印字品質の範囲内であって、搬送速度を重視した他の印字パラメータに変更する。また、品質重視キー572が操作されると、特定部501が特定した印字パラメータを、適正な印字品質の範囲内であって、印字濃度を重視した他の印字パラメータに変更する。さらに具体的には、変更部505は、速度重視キー571が操作されると、読取部58が読み取った複数のバーコードから、特定部501が特定した印字パラメータを、一レベル搬送速度が速い(搬送速度を重視すること)印字パラメータに変更する。その分印字濃度の品質は低下する(黒ラインが太くなる)が、変更された印字濃度は依然として適正品質の範囲内である。また、変更部505は、品質重視キー572が操作されると、特定部501が特定した印字パラメータを、一つ印字濃度を薄くした(印字濃度を重視すること)印字パラメータに変更する。すると、印字濃度の品質は向上する(黒ラインが細くなる)が、その分搬送速度は遅くなる。
例えば、特定部501が上記1枚目のラベルLに印字されたバーコードを特定したとする。この場合、速度重視キー571が操作されると、変更部505は、適正なバーコードと印字パラメータを、1枚目のラベルLに印字されたバーコードの印字パラメータから2枚目のラベルLに印字されたバーコードの印字パラメータに変更する。また、品質重視キー572が操作されると、変更部505は、適正なバーコードと印字パラメータを、1枚目のラベルLに印字されたバーコードの印字パラメータから3枚目のラベルLに印字されたバーコードの印字パラメータに変更する。変更部505によって適正なバーコードの印字パラメータが変更された場合、第1出力部502は、変更されたバーコードの印字パラメータをプリンタ1に出力する。
ここからは、コード検証装置5の制御について説明する。図10は、コード検証装置5の制御処理の流れを示すフローチャートである。図10に示すように、コード検証装置5の制御部500は、光透過率検出器3の受光部38からの出力が入力されたかを判断する(S41)。光透過率検出器3の受光部38からの出力が入力されたと判断した場合には(S41のYes)、制御部500は、入力された受光部38からの出力に基づいて、搬送されたラベルLの紙厚とラベル長を抽出する(S42)。具体的には、コード検証装置5は、予めメモリ部54に、複数の受光部38の出力の強弱の程度とラベルLを検出している時間と、出力の強弱とラベルLを検出している時間に対応付けたラベルLの紙厚とラベル長を記憶している。制御部500は、入力された受光部38の出力の強弱の程度とラベルLを検出している時間に対応付けられた各ラベルLの紙厚とラベル長との対付けを抽出する。
次に絞り込み部503は、抽出されたラベルLの紙厚とラベル長に基づいて、印字範囲マスタ542から、抽出されたラベルLの紙厚とラベル長に対応付けられたテスト印字の印字範囲の絞り込みを行う(S43)。そして第2出力部504は、絞り込み部503が絞り込んだ印字パラメータ(印字濃度および搬送速度)の範囲をプリンタ1に出力する(S44)。そして制御部500は、S41に戻る。
また、光透過率検出器3の受光部38からの出力の入力ではないと判断した場合には(S41のNo)、制御部500は、プリンタ1が複数枚のラベルLにそれぞれの印字パラメータで印字した、複数種類のバーコードのテスト印字を読み取ったかを判断する(S51)。複数種類のバーコードのテスト印字を読み取ったと判断した場合には(S51のYes)、特定部501は、読取部58が読み取った複数のバーコードから、適正に読み取れる一つのバーコードを特定する(S52)。この際、特定部501は、プリンタ1がテストバーコードを印字する際に当該バーコードに係る印字パラメータを特定部501が特定したバーコードの印字パラメータを特定する。そして制御部500は、特定されたバーコードの画像と、当該バーコードに係る印字パラメータを表示部61に表示する(S53)。そして制御部500は、S41に戻る。
また、バーコードのテスト印字の読み取りではないと判断した場合には(S51のNo)、送信キー573が操作されたかを判断する(S61)。送信キー573が操作されたと判断した場合には(S61のYes)、第1出力部502は、特定部501が特定したバーコードの印字パラメータをプリンタ1に出力する(S62)。そして制御部500は、S41に戻る。
また、送信キー573の操作ではないと判断した場合には(S61のNo)、制御部500は、速度重視キー571が操作されたかを判断する(S71)。速度重視キー571が操作されたと判断した場合には(S71のYes)、変更部505は、特定部501が特定した印字パラメータを、適正な印字品質の範囲内であって、搬送速度を重視した印字パラメータに変更する(S72)。そして制御部500は、S61に戻り、送信キー573が操作されるのを待機する。
また、速度重視キー571の操作ではないと判断した場合には(S71のNo)、制御部500は、品質重視キー572が操作されたかを判断する(S73)。品質重視キー572が操作されたと判断した場合には(S73のYes)、変更部505は、特定部501が特定した印字パラメータを、適正な印字品質の範囲内であって、印字濃度を重視した印字パラメータに変更する(S74)。そして制御部500は、S61に戻り、送信キー573が操作されるのを待機する。
このような実施形態によれば、コード検証装置5は、プリンタ1が異なる印字パラメータで用紙に印字した複数のバーコードを読み取る読取部58と、読取部58が読み取った複数のバーコードから、当該バーコードを適正に読み取れる一つのバーコードを特定する特定部501と、特定部501が特定したバーコードに係る印字パラメータをプリンタ1に出力する第1出力部と、を備える。そのため、適正なバーコードに係る印字パラメータをプリンタ1に出力することができる。コード検証装置5が出力した適正な印字パラメータが入力されたプリンタ1は、適正な印字パラメータをプリンタに設定することで、正しく読み取れるバーコードをラベルLに印字することができる。
また、実施形態によれば、入力されたラベルLの紙厚とラベル長に基づいてプリンタ1にテスト印字させるバーコードの印字パラメータの範囲を絞り込む絞り込み部503と、絞り込み部503が絞り込んだ印字パラメータの範囲をプリンタ1に出力する第2出力部とを備えた。そのため、プリンタ1に、当該紙厚とラベル長に適した範囲内におけるバーコードのテスト印字のみを行わせる。そのため、プリンタ1に、当該紙厚とラベル長に適さない無用な印字パラメータでのバーコードテスト印字をさせない。
また、実施形態によれば、特定部501が特定したバーコードの印字パラメータを他の印字パラメータに変更する変更部505、をさらに備え、第1出力502部は、変更部505が変更した印字パラメータの印字パラメータをプリンタ1に出力する。そのため、バーコードの印字品質を確保しつつ、希望の印字品質あるいは搬送速度に近づけたバーコードをプリンタ1に印字させることができる。
以上、本発明の実施形態を説明したが、この実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
例えば、実施形態では、印字パラメータを印字濃度と搬送速度を示すデータとした。しかしながらこれに限らず、印字パラメータは、印字濃度と搬送速度のいずれか一方のデータであってもよい。
また、実施形態では、バーコードをコードシンボルの一例として説明した。しかしながらこれに限らず、コードシンボルは、例えば2次元コードや2次元バーコードのようなシンボルであってもよい。
また、実施形態では、絞り込み部503が印字パラメータを絞り込んだバーコードをテスト印字するようにした。しかしながらこれに限らず、絞り込み部503が印字パラメータを絞り込まずにバーコードをテスト印字するようにしてもよい。すなわち、絞り込み部503は必須の要件ではない。
また、実施形態では、用紙の一例としてラベルLを用いて説明した。しかしながらこれに限らず、用紙はラベルL以外の用紙(例えばレシート用紙)であってもよい。
また、実施形態では、絞り込み部503は、ラベルLの紙厚とラベル長のデータに基づいて印字パラメータの範囲を絞り込んだ。しかしながらこれに限らず、例えば、ラベルLの紙厚のデータに基づいて印字パラメータの範囲を絞り込むようにしてもよい。