説明

バーコードスキャナ、そのファームウェア更新方法およびファームウェア更新プログラム

【課題】バーコードスキャナの読取り機能を利用したファームウェア更新データの読取り作業を容易にし、短時間でのファームウェア更新を可能にする。
【解決手段】読取りデータチェック部33は、バーコード読取り部31の読取ったバーコードがファームウェア更新処理用であると判断すると、動作モード移行部34に動作モードをファームウェア更新モードに切り換えさせ、更新しようとするファームウェアの版数がファームウェア格納部37に格納されているものと相違すると判断すると、動作モード移行部34に走査パターンをシングル走査パターンに切り換えさせ、1枚の用紙に印刷された複数のバーコードを連続して読取ることを可能にする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の走査パターンによるバーコードの読取りが可能なバーコードスキャナ、そのファームウェア更新方法およびファームウェア更新プログラムに関する。
【背景技術】
【0002】
スーパーマーケット、コンビニエンスストア等で精算を行うレジには、商品に印刷または貼付されたバーコードを読取るバーコードスキャナと販売時点情報管理装置(Point Of Sales:以下、POSと略称)とを備えたPOSシステムが導入されている。バーコードスキャナは、所定の読取り窓の部分に商品のバーコードのある部分を向けて接近させると、走査ビームがバーコードを走査して読取り、読取ったデータをPOSに送出する。POSでは、バーコードスキャナからデータを受けると、対応テーブルを参照して、そのデータに対応する商品名、金額等の物品情報に関するデータを取得する。POSは、また、釣銭/釣札機、ドロア、プリンタ、カードリーダ等が接続されていて、バーコードスキャナから受けたデータに基づいて各種精算処理を行う。
【0003】
このPOSにおける処理は、ROM(Read Only Memory)に記憶されたプログラムに従って制御されている。このため、プログラムに変更が生じたときには、ROMを変更したプログラムが記憶されたROMに交換する必要がある。このような交換には、一般に非常に手間と時間がかかるので、書き換えが可能なROMであるフラッシュメモリにプログラムを記憶させておき、プログラムに変更が生じたときには、フラッシュメモリを書き換えるようにしている。この場合の書き換えは、一般に、パーソナルコンピュータのような専用端末をPOSに接続し、専用の更新プログラムを使って実行される。
【0004】
それでも、専用端末をPOSに接続して行うフラッシュメモリの書き換え作業は、手間のかかるものである。これに対し、変更されたプログラムのデータをバーコード化し、そのバーコードを読取ってフラッシュメモリの書き換えを行うことは知られている(たとえば、特許文献1参照)。この特許文献1では、バーコードリーダをそのコントローラに接続し、そのコントローラに記憶されたバーコード解読プログラムを、バーコードリーダで読取った変更情報に変更するようにしている。このとき、バーコード解読プログラムのデータは、小さなデータに分けてコード化され、そのコードが複数枚のラベルにそれぞれ印刷され、それをバーコードリーダによって1枚ずつ読取ることになる。バーコード解読プログラムは、その該当の変更箇所が読取られたデータによって書き換えられることで変更される。
【0005】
ところで、POSシステムで使用されるバーコードスキャナは、バーコードが印刷または貼付されている面を読取り窓に向けてかざすことにより、そのバーコードの読取りを行うが、そのとき、バーコードがどの方向に向いていても概ね読取れるようになっている。これは、バーコードスキャナが出す走査ビームの走査方向を順次変更していき、向きが走査方向と概略同じとなるバーコードについて読取りを行うマルチ走査パターンが採用されていることによる。この機能により、バーコードの読取り時における操作性および読取り精度が大幅に向上されている。
【0006】
このように高機能化されたバーコードスキャナでは、ファームウェアを搭載し、そのファームウェアに従ってバーコードの読取り制御を行っている。このため、ファームウェアの不具合修正や新機能追加等の必要が生じたときには、そのファームウェアの更新をバーコードスキャナ単独で行うことになる。現状のバーコードスキャナは、POSと通信ポートを介して接続して使用されることが多いので、POS側からファームウェア更新データを送信し、ファームウェアの書換えを行うか、別途専用端末をバーコードスキャナの通信ポートに直接接続して、ファームウェアの更新を行っている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開平10−240308号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、バーコードスキャナは、POSシステムの中に組み込まれていることが多く、レジ台や流し台に組み込まれていて、ファームウェア更新用の端末を通信ポートに接続するために、バーコードスキャナをレジ台や流し台から取り外すことが難しく、しかも、POSシステムの運用中に更新作業を実施することは困難である。
【0009】
また、ファームウェア更新データの読取りをバーコードスキャナの読取り機能を利用して行う場合は、バーコードスキャナとの物理的な接続を要しないため、POSシステムの運用中にも更新作業が可能であるが、ファームウェア更新データは、それをバーコード化した場合、バーコードを印刷したラベルの枚数が膨大になり、それを1枚ずつ読取らせるのに手間と時間がかかるという問題点があった。
【0010】
本発明はこのような点に鑑みてなされたものであり、バーコードスキャナの読取り機能を利用したファームウェア更新データの読取り作業を容易にして短時間でのファームウェア更新を可能にすることを目的とする。
【課題を解決するための手段】
【0011】
本発明では上記の課題を解決するために、ファームウェア格納部に格納されたファームウェアに従ってバーコードの読取り制御を行うバーコードスキャナにおいて、バーコードをマルチ走査パターンまたはシングル走査パターンで読取ってデータ化するバーコード読取り部と、前記バーコード読取り部が読取ったバーコードのデータを記憶する一時記憶部と、前記一時記憶部のデータから読取られたバーコードの種類を判別し、前記ファームウェア格納部に格納されているファームウェアの版数と読取ったバーコードのデータが示すファームウェアの版数とをチェックし、読取ったバーコードのデータのチェックデジット値が正常かどうかを判断する読取りデータチェック部と、読取ったバーコードがファームウェア更新用のバーコードであると前記読取りデータチェック部が判断したとき、前記バーコード読取り部の動作モードをファームウェア更新モードに切り換え、読取ったバーコードのデータが示すファームウェアの版数が前記ファームウェア格納部に格納されているものと相違すると前記読取りデータチェック部が判断したとき、前記バーコード読取り部がバーコードを読取る走査パターンをシングル走査パターンに切り換える動作モード移行部と、読取ったバーコードがファームウェアの更新用バーコード(以下、ファームウェア更新用バーコードと記載)であると前記読取りデータチェック部が判断した場合に、前記ファームウェア更新用バーコードのそれぞれが持つ通し番号に基づいてすべての前記ファームウェア更新用バーコードが読取られているかをチェックする通し番号チェック部と、すべての前記ファームウェア更新用バーコードが読取られた段階で、それらのデータを結合してファームウェア更新データを復元する更新データ復元部と、を備えていることを特徴とするバーコードスキャナが提供される。
【0012】
また、本発明では、ファームウェア更新モードへ移行させるためのバーコード(以下、ファームウェア更新モード移行バーコードと記載)を読取ることによりバーコードスキャナの動作モードを更新モードに移行し、更新するファームウェアのバーコードの分割数および書換版数情報のバーコード(以下、ファームウェア更新情報用バーコードと記載)を読取ることにより更新プログラムデータの分割数および書換版数を取得し、取得した前記書換版数が書換前ファームウェアの版数と異なる場合に、シングル走査パターンに切り換え、複数のファームウェア更新用バーコードの連続読取りを行い、すべての前記ファームウェア更新用バーコードの読取りを確認し、読取ったすべての前記ファームウェア更新用バーコードのデータを結合して前記更新プログラムデータを含むファームウェア更新データを復元し、前記書換前ファームウェアを復元された前記ファームウェア更新データにより書き換えることによって更新し、更新されたファームウェアのデータを含むファームウェア更新後の版数を確認するためのバーコード(以下、ファームウェア更新後の版数確認用バーコードと記載)のみの読取りを許可するようにしておき、前記ファームウェア更新後の版数確認用バーコードを読取りできることにより更新後の前記ファームウェアの確認を行い、通常モード移行バーコードを読取ることによって前記動作モードを通常モードに移行する、ことを特徴とするバーコードスキャナのファームウェア更新方法が提供される。
【0013】
さらに、本発明では、バーコードスキャナのファームウェア更新処理をコンピュータに実行させるファームウェア更新プログラムであって、前記コンピュータに、前記バーコードスキャナの所定のスイッチの押下を判断し、前記スイッチの押下とファームウェア更新モード移行バーコードの読取りとから前記バーコードスキャナの動作モードを更新モードに移行し、ファームウェア更新情報用バーコードを読取ることにより更新プログラムデータの分割数および書換版数を取得し、取得した前記書換版数が書換前ファームウェアの版数と異なる場合に、前記バーコードスキャナの走査パターンをシングル走査パターンに切り換え、分割された前記更新プログラムデータをバーコード化して並べて印刷した用紙上の複数のファームウェア更新用バーコードを前記シングル走査パターンで順次走査することにより前記ファームウェア更新用バーコードの連続読取りをし、すべての前記ファームウェア更新用バーコードの読取りを確認し、読取ったすべての前記ファームウェア更新用バーコードのデータを結合して前記更新プログラムデータを含むファームウェア更新データを復元し、前記書換前ファームウェアを復元された前記ファームウェア更新データにより書き換えることによって更新し、復元された前記ファームウェア更新データと同じ版数のデータを有するファームウェア更新後の版数確認用バーコードのみの読取りを許可するようにし、前記ファームウェア更新後の版数確認用バーコードが読取りできることにより更新されたファームウェアの確認を行い、通常モード移行バーコードを読取ることによって前記動作モードを通常モードに移行する、処理を実行させることを特徴とするファームウェア更新プログラムが提供される。
【0014】
このようなバーコードスキャナ、そのファームウェア更新方法およびファームウェア更新プログラムによれば、バーコードスキャナの動作モードがファームウェア更新モードに移行して更新プログラムデータを含むファームウェア更新用バーコードの読取りをするときに、読取りの走査パターンをシングル走査パターンに切り換えるようにしている。これにより、バーコードスキャナは、複数のバーコードの連続読取りが可能となる。1枚の用紙に複数のファームウェア更新用バーコードを印刷してシングル走査パターンで連続読取りすることにより、多数のファームウェア更新用バーコードの読取り作業が容易になり、短時間でのファームウェア更新が可能となる。
【発明の効果】
【0015】
上記構成のバーコードスキャナ、そのファームウェア更新方法およびファームウェア更新プログラムは、バーコードスキャナの動作モードがファームウェア更新モードに移行したとき、バーコードの読取りをシングル走査パターンに切り換えたことにより、1枚の用紙に印刷された複数のバーコードを連続して読取ることが可能となるので、複数のバーコードを読取る手間および作業時間を大幅に短縮することができる。
【0016】
ファームウェア更新に必要なものは、ファームウェア更新データを分割してそれぞれバーコード化した複数のバーコードの全部または一部を纏めて1枚ずつ用紙に印刷したものを用意するだけでよいので、ファームウェア更新のためのコストを大幅に低減することができる。
【0017】
ファームウェアの更新は、バーコードスキャナに対し更新専用の端末を着脱する必要がないので、POSシステムの運用中においても可能であり、しかも、短時間のうちに完了させることができる。
【図面の簡単な説明】
【0018】
【図1】POSシステムを示す概略構成図である。
【図2】バーコードスキャナのハードウェア構成例を示す図である。
【図3】バーコードスキャナの機能構成を示す図である。
【図4】バーコードの種類を示す図であって、(A)はファームウェア更新モード移行バーコードを示し、(B)はファームウェア更新情報用バーコードを示し、(C)はファームウェア更新用バーコードを示し、(D)はファームウェア更新後の版数確認用バーコードを示し、(E)は通常の処理モードへ戻すためのバーコード(以下、通常モード移行バーコードと記載)を示している。
【図5】ファームウェア更新用バーコードの生成例を示す図である。
【図6】ファームウェア更新処理(その1)の流れを示すフローチャートである。
【図7】ファームウェア更新処理(その2)の流れを示すフローチャートである。
【発明を実施するための形態】
【0019】
以下、本発明の実施の形態について、複数の走査パターンによる高精度のバーコード読取りが可能な定置式のバーコードスキャナに対し、読取精度、誤読対策、新種類のバーコードの読取対応、不具合修正等の必要性が生じたときに行われるファームウェアの更新に適用した場合を例に図面を参照して詳細に説明する。
【0020】
図1はPOSシステムを示す概略構成図である。
POSシステム1は、このシステムのホストであるPOS2を備えている。POS2は、バーコードスキャナ3、釣銭/釣札機4、ドロア5およびオプション機器6が接続されている。
【0021】
バーコードスキャナ3は、スーパーマーケット等のレジ台または流し台に備えられた定置式スキャナであり、商品に印刷または貼付されたバーコード7を読取ることができる。このバーコードスキャナ3は、マルチ走査パターンの機能を有し、たとえば38の方向に走査してバーコード7を読取ることができるとともに、そのうちの任意の1方向に切り換えてシングル走査パターンでバーコード7を走査することもできる。
【0022】
釣銭/釣札機4は、POS2からの指示に基づいて、投入された紙幣および硬貨を識別して収納するとともに、必要な釣札および釣銭を出力することができるものである。ドロア5は、商品券等を収納しておくのに使用され、オプション機器6には、ポイントカード、クレジットカード、プリペイドカード等の接触式または非接触式のカードリーダ等があり、必要に応じて接続される。
【0023】
図2はバーコードスキャナのハードウェア構成例を示す図である。
バーコードスキャナ3は、この内部にコンピュータをなすメイン基板10を有している。このメイン基板10には、CPU(Central Processing Unit)11と、フラッシュメモリ(FROM)12と、RAM(Random Access Memory)13と、復調器14と、RS232Cトランシーバ15と、USBIC(Universal Serial Bus Integrated Circuit)16とが搭載されている。
【0024】
CPU11は、このバーコードスキャナ3の全体の制御を司るものである。フラッシュメモリ12は、不揮発性の書き換え可能な半導体メモリであって、このバーコードスキャナ3を制御するプログラムであるファームウェア、このファームウェアを更新するプログラム等が格納される。RAM13は、読取ったバーコード7のデータ、フラッシュメモリ12からロードされてCPU11により実行されるプログラム、CPU11による演算途中のデータ等が記憶される。復調器14は、読取ったバーコード7の光学情報を電気的なデータに復元する。RS232Cトランシーバ15は、外部の周辺機器とオプション接続して通信するためのもので、RS232Cインタフェース15aを介して、DSUB9ピンタイプのRS232Cコネクタ15bに接続されている。USBIC16は、POS2と通信を行うためのものでPWUSB(PoweredUSB)インタフェース16aを介してPW−USBコネクタ16bに接続されている。このPW−USBコネクタ16bからは、POS2から給電される12ボルトの電源が取り出され、さらに、この電源からメイン基板10で使用される5ボルトの電源がDC/DCコンバータ17によって生成される。
【0025】
バーコードスキャナ3は、また、レーザドライバ18およびこれによって駆動されるレーザダイオード19と、ポリゴンミラー20およびこれを高速回転駆動するモータ21と、レンズ22aと、固定ミラー22bと、凹面ミラー22cと、受光素子22dとを備えている。
【0026】
バーコードスキャナ3は、さらに、液晶表示器(LCD)23、発光ダイオード(LED)24、スイッチ25、近接センサ26、およびスピーカ27を備えている。液晶表示器23は、エラーコード等の各種エラーメッセージ等を表示するために使用される。発光ダイオード24は、バーコードスキャナ3の動作状態を、たとえば2色の光の組み合わせによって表示する。スイッチ25は、バーコードスキャナ3の動作状態を通知するブザー音の音量・音質を変更したり、ファームウェア更新動作の開始を指示したりするために使用される。近接センサ26は、商品のバーコードを読取らせるためにバーコードスキャナ3への商品の接近を感知するのに使用される。スピーカ27は、バーコードスキャナ3の動作状態をブザー音で通知するのに使用される。
【0027】
以上の構成のバーコードスキャナ3は、通常の動作モードで動作しているときには、近接センサ26が商品の接近を検出すると、レーザドライバ18およびモータ21が起動され、レーザダイオード19のレーザ光を回転するポリゴンミラー20で反射させ、バーコード面を走査する。このとき、商品のバーコードの向きが不明なので、バーコードスキャナ3は、複数の固定ミラー22bによって複数方向に、たとえば38方向にレーザ光が走査されるマルチ走査パターンで動作している。バーコードの並び方向に沿ってレーザ光が走査されたとき、そのバーコード面で反射された光は、バーコードの白黒部分により明るさが変化された形で凹面ミラー22cに映し、受光素子22dへ受光され、復調器14にて商品のコードが生成される。
【0028】
有効なバーコードが読取られたときには、発光ダイオード24およびスピーカ27により確認用の光およびブザー音が発せられる。読取られたコードは、PWUSBインタフェース16aを介してPOS2に送られる。POS2では、対応テーブルを参照し、そのコードに対応する商品名、金額等の物品情報に関するデータを取得することになる。有効なバーコードが読取られなかったときには、発光ダイオード24およびスピーカ27によりエラー用の光およびブザー音が発せられる。
【0029】
所定のスイッチ25が押下され、バーコードスキャナ3がモード移行用および更新確認用のバーコードを読取ったとき、バーコードスキャナ3は、ファームウェア更新モードに移行し、走査パターンをマルチ走査パターンからシングル走査パターンに切り換える。シングル走査パターンへの切り換えにより、レーザ光の走査方向は、特定の1方向、たとえば水平方向に固定される。走査するレーザ光を1本に絞ることで、複数のバーコードを連続して読取ることが可能になる。すなわち、1枚のラベルに1つのバーコードを印刷して、それぞれ1枚ずつ読取らせるのではなく、1枚の用紙に複数のバーコードを印刷し、その複数のバーコードを連続して読取ることを可能にしている。これにより、レーザ光の走査範囲をバーコードが横切るようにメンテナンス要員がバーコードを印刷した用紙を移動させていくことによって、連続読取りが可能となるので、複数のバーコードの読取り作業の時間を大幅に短縮することができる。たとえば、100個のバーコードを読取らせる必要がある場合、1枚の用紙に30数個のバーコードを印刷すれば、僅か3枚の用紙でそれぞれ連続読取りを行うことにより、100個のバーコードの読取りができる。
【0030】
シングル走査パターンで、ファームウェア更新データが読取られると、そのデータは、RAM13に蓄積され、すべてのデータが揃ったらそれから更新プログラムデータが復元され、フラッシュメモリ12に格納されているファームウェアの対応部分が、復元された更新プログラムデータによって書き換えられる。これにより、ファームウェアが更新されることになる。
【0031】
なお、バーコードの連続読取り作業において、読取りの失敗したバーコードがある場合には、読取りエラーを示す光および音が発光ダイオード24およびスピーカ27により発せられ、同時に、そのバーコードの通し番号等が液晶表示器23に表示される。このときは、該当する通し番号のバーコードのみ再読取りを実行すればよい。
【0032】
以上の通常の動作モードでの読取り処理およびファームウェア更新処理は、フラッシュメモリ12に格納されたファームウェア更新プログラムをRAM13に展開し、CPU11がそのファームウェア更新プログラムを実行することによって実施される。次に、バーコードスキャナ3が備えているファームウェア更新プログラムの処理機能について説明する。
【0033】
図3はバーコードスキャナの機能構成を示す図である。
バーコードスキャナ3は、その本来の処理機能以外に、ファームウェア更新処理機能に関して、バーコード読取り部31、一時記憶部32、読取りデータチェック部33、動作モード移行部34、通し番号チェック部35、更新データ復元部36およびファームウェア格納部37を備えている。
【0034】
バーコード読取り部31は、レーザ光を走査して商品に印刷または貼付されたバーコードを読取ってそのバーコードに対応するデータを取得する部分であって、バーコードをマルチ走査パターンで読取るか、シングル走査パターンで読取るかを切り換えることができる。したがって、このバーコード読取り部31は、図2の復調器14、レーザドライバ18、レーザダイオード19、ポリゴンミラー20、モータ21およびレンズ22a、固定ミラー22b、凹面ミラー22c、受光素子22d等に相当する。
【0035】
一時記憶部32は、バーコード読取り部31が読取ったバーコードのデータおよびその加工データを蓄積しておくもので、図2のRAM13に相当する。読取りデータチェック部33は、読取られたバーコードの種類を判別し、ファームウェア格納部37に格納されているファームウェアと読取ったファームウェアとの版数をチェックし、チェックデジット値が正常かどうかを判断する。動作モード移行部34は、読取りデータチェック部33によりバーコードの種類がファームウェア更新モード移行用または通常モード移行用と判断された場合に、バーコード読取り部31の動作モードおよび走査パターンをそれぞれ対応するものに切り換える。
【0036】
通し番号チェック部35は、読取りデータチェック部33によりバーコードの種類がファームウェア更新用バーコードと判断された場合に、通し番号を基にファームウェア更新用バーコードが不足なく読取っているかをチェックする。
【0037】
更新データ復元部36は、すべてのファームウェア更新用バーコードのデータが揃った段階で、それらのデータを結合し、元データが圧縮されている場合には、解凍してファームウェア更新データを復元する。ファームウェア格納部37は、このバーコードスキャナ3を動作させるのに必要なファームウェア等が格納される部分であって、図2のフラッシュメモリ12に相当する。
【0038】
図4はバーコードの種類を示す図であって、(A)はファームウェア更新モード移行バーコードを示し、(B)はファームウェア更新情報用バーコードを示し、(C)はファームウェア更新用バーコードを示し、(D)はファームウェア更新後の版数確認用バーコードを示し、(E)は通常モード移行バーコードを示している。
【0039】
ファームウェアの更新に関してバーコードスキャナ3が読取るバーコードは、図4に示す5種類である。図4の(A)に示すファームウェア更新モード移行バーコードは、10桁のモード移行データと2桁のチェックデジットとを有している。なお、図示のモード移行データの値は、一例である。通常のバーコードのチェックデジットは、1桁であるが、独自の2桁とすることにより、通常運用で誤ってファームウェア更新モードに移行してしまうのを防止している。
【0040】
ファームウェア更新情報用バーコードは、図4の(B)に示すように、4桁のバーコード分割数と、10桁の書換範囲の指定と、6桁の書換版数と、2桁のチェックデジットとを有している。バーコード分割数は、ファームウェア更新用バーコードの分割数を表している。書換範囲の指定は、ファームウェアの中で書き換えたい範囲の開始アドレスと終了アドレスとを表している。書換版数は、ファームウェア更新データのバージョン情報を表している。
【0041】
ファームウェア更新用バーコードは、図4の(C)に示すように、4桁の通し番号と、更新プログラムデータと、2桁のチェックデジットとを有している。更新プログラムデータは、任意の桁数の独自フォーマットとすることができ、60桁程度まで拡張することができる。
【0042】
ファームウェア更新後の版数確認用バーコードは、図4の(D)に示すように、ファームウェア更新データのバージョン情報である6桁の版数と、2桁のチェックデジットとを有している。
【0043】
通常モード移行バーコードは、図4の(E)に示すように、10桁のモード移行データと2桁のチェックデジットとを有している。なお、図示のモード移行データの値は、一例である。
【0044】
ここで、図4の(A)、(B)、(D)および(E)のファームウェア更新モード移行バーコード、ファームウェア更新情報用バーコード、ファームウェア更新後の版数確認用バーコードおよび通常モード移行バーコードは、好ましくは、1枚ずつラベルに印刷する。これにより、ファームウェア更新操作において、その操作ミスを未然に防ぐことができる。図4の(C)のファームウェア更新用バーコードについては、一般に枚数が多くなる場合が多く、すべてのラベルを1枚ずつ読取らせるのに非常に煩雑な手間がかかることから、適当な大きさの用紙に複数のファームウェア更新用バーコードを印刷している。これにより、複数のファームウェア更新用バーコードを連続して読取らせることを可能にする。
【0045】
図5はファームウェア更新用バーコードの生成例を示す図である。
バーコードスキャナ3のファームウェア更新データは、所定の大きさの用紙に、複数のファームウェア更新用バーコードが連続して印刷されている。図示の例では、1枚の用紙に縦に16のファームウェア更新用バーコードを連続印刷したものが2列になっている。また、このファームウェア更新用バーコードの用紙には、メンテナンス要員の参照のために、ファームウェア版数情報、用紙の枚数情報、バーコードの通し番号等が一緒に印刷されている。
【0046】
ファームウェア更新用バーコードは、ファームウェア更新データを圧縮し、それを所定のデータ量ずつ分割してバーコード化することで生成される。なお、ファームウェア更新データのデータ総量が少ない場合は、圧縮することなく、分割およびバーコード化を実施してもよい。
【0047】
次に、以上のファームウェア更新処理を行うプログラムの処理機能について説明する。このファームウェア更新プログラムは、図2のフラッシュメモリ12に格納されており、図3に示した読取りデータチェック部33、動作モード移行部34、通し番号チェック部35および更新データ復元部36の処理機能を有している。
【0048】
図6はファームウェア更新処理(その1)の流れを示すフローチャート、図7はファームウェア更新処理(その2)の流れを示すフローチャートである。なお、バーコードスキャナ3は、通常動作モードでは、マルチ走査パターンによりバーコードの読取りを行っているとする。
【0049】
ファームウェア更新プログラムは、まず、所定のスイッチが押下されたかどうかが判断され(ステップS1)、所定のスイッチの押下がない場合は、所定のスイッチが押下されるまで待つ。
【0050】
所定のスイッチが押下されると、読取りデータチェック部33は、バーコード読取り部31が読取ったバーコードをチェックし、それがファームウェア更新モード移行バーコードかどうかを判断する(ステップS2)。ファームウェア更新モード移行バーコードの読取りがなされていない場合は、ファームウェア更新モード移行バーコードが読取られるまで待つ。
【0051】
ファームウェア更新モード移行バーコードの読取りがあると、読取りが正常に行われたことを表すブザー音をスピーカ27によって発せられるとともに、所定の色の発光ダイオード24による発光表示が行われる(ステップS3)。
【0052】
次に、読取りデータチェック部33は、バーコード読取り部31が読取ったバーコードをチェックし、それがファームウェア更新情報用バーコードかどうかを判断する(ステップS4)。ファームウェア更新情報用バーコードの読取りがなされていない場合は、ファームウェア更新情報用バーコードが読取られるまで待つ。
【0053】
ファームウェア更新情報用バーコードの読取りがあると、読取りデータチェック部33は、読取ったファームウェア更新情報用バーコードの書換版数とファームウェア格納部37に格納されている書換版数とを比較し、双方の書換版数が異なっているかどうかを判断する(ステップS5)。
【0054】
読取ったファームウェア更新情報用バーコードの書換版数がファームウェア格納部37に格納されている書換版数と同じである場合は、更新の必要がないので、スピーカ27によるブザー鳴動および発光ダイオード24による発光表示が行われ(ステップS6)、ステップS1に戻る。
【0055】
ステップS5の判断にて書換版数が異なる場合、ファームウェア更新データ読取り開始の準備が整ったことをスピーカ27によるブザー鳴動および発光ダイオード24による発光表示で示し(ステップS7)、ファームウェア更新用バーコードの走査パターンをマルチ走査パターンからシングル走査パターンに切り換える(ステップS8)。
【0056】
次に、読取りデータチェック部33は、バーコード読取り部31によって読み込まれたバーコードがファームウェア更新用バーコードであるかどうかを判断し(ステップS8)、ファームウェア更新用バーコードでなければ、これが読取られるまで待つ。
【0057】
読取ったバーコードがファームウェア更新用バーコードであれば、確認のために、スピーカ27によるブザー鳴動および発光ダイオード24による発光表示が行われ(ステップS)10、読取りデータチェック部33により、そのファームウェア更新用バーコードの通し番号がすべて異なるバーコードであるかどうかが判断される(ステップS11)。
【0058】
通し番号が同じ、すなわち二重読取りがあった場合には、スピーカ27によるブザー鳴動および発光ダイオード24による発光表示が行われ(ステップS12)、ステップS9に戻る。
【0059】
なお、ステップS9〜S12におけるファームウェア更新用バーコードの読取りは、ここでは、1つのバーコードの読取り処理しか示していないが、実際には、ファームウェア更新用バーコードが印刷された図5に示す用紙を使用して連続的に行われる。すなわち、メンテナンス要員が用紙に印刷されたバーコードのうち、たとえば左側の列の一番上のバーコードにシングル走査パターンで走査するレーザ光を当てるように用紙を位置決めして読取りを行う。その後は、用紙を引き上げることにより、同じ列の直下のバーコードから下に向かって連続して読取りを行い、続いて、用紙を横にずらして引き下げることにより、右側のバーコード列を下から上に向かって連続して読取らせることができる。これにより、複数のバーコードの個々の読取りとその音および光による確認とを連続して行うことができるので、ファームウェア更新用バーコードの読取り時間を大幅に短縮することができる。また、図示はしないが、それぞれのファームウェア更新用バーコードの読取りのとき、通し番号チェック部35による通し番号のチェックとともに、読取りデータチェック部33によるチェックデジット値の検査も行っている。
【0060】
以上のようにして通し番号の異なるファームウェア更新用バーコードの読取りが終わると、次に、通し番号チェック部35は、ファームウェア更新情報用バーコードに含まれるバーコード分割数とそれぞれのファームウェア更新用バーコードの通し番号とに基づいてすべての通し番号のバーコードを読取ったかどうかを判断する(ステップS13)。通し番号の欠番があれば、その旨をスピーカ27によるブザー鳴動および発光ダイオード24による発光表示で示し(ステップS14)、液晶表示器23に読取りしていないバーコードの通し番号を表示する(ステップS15)。この表示に基づいて、メンテナンス要員は、該当する通し番号のファームウェア更新用バーコードを再読取りし(ステップS16)、ステップS13に戻る。
【0061】
ステップS13にてすべてのファームウェア更新用バーコードが揃ったと判断されると、その旨をスピーカ27によるブザー鳴動および発光ダイオード24による発光表示で示す(ステップS17)。次に、更新データ復元部36は、すべてのファームウェア更新用バーコードの更新プログラムデータの部分を通し番号順に結合し、解凍して一時記憶部32(RAM13)に展開し(ステップS18)、ファームウェア更新データを復元する。
【0062】
次に、更新データ復元部36は、復元されたファームウェア更新データのチェックデジット値が正常かどうかを判断し(ステップS19)、正常なら、ファームウェア格納部37(フラッシュメモリ12)に格納されたファームウェアの該当部分を書き換える(ステップS20)。次に、更新データ復元部36は、書き換えられたファームウェアのチェックデジット値が正常かどうかを判断し(ステップS21)、正常なら、その旨をスピーカ27によるブザー鳴動および発光ダイオード24による発光表示で示す(ステップS22)。次に、読取りデータチェック部33は、ファームウェア更新後の版数確認用バーコードを読取れたかどうかを判断する(ステップS23)。ここでは、先に読取ったファームウェア更新情報用バーコードが持つ書換版数または復元された更新プログラムデータが持つ版数と同じ版数のデータを有するバーコードのみ読取りを許可するようにしている。したがって、ファームウェア更新後の版数確認用バーコードが読取れたということは、その版数がファームウェア更新情報用バーコードの持つ書換版数または復元された更新プログラムデータの持つ版数と同じであることを意味する。ファームウェア更新後の版数確認用バーコードが読取られると、その旨をスピーカ27によるブザー鳴動および発光ダイオード24による発光表示で示す(ステップS24)。このように、ファームウェア更新後の版数確認用バーコードは、ファームウェア更新済みでないと読取ることができないので、ファームウェア更新後の版数確認用バーコードの読取りができたことによって、ファームウェア更新を確認することができる。
【0063】
そして、最後に、読取りデータチェック部33は、バーコード読取り部31が読取ったバーコードをチェックし、それが通常モード移行バーコードかどうかを判断する(ステップS25)。通常モード移行バーコードの読取りがなされていない場合は、通常モード移行バーコードが読取られるまで待ち、通常モード移行バーコードの読取りがなされた場合には、動作モード移行部34によって通常モードに移行され、このファームウェア更新処理が正常終了する。
【0064】
ステップS19およびS21の判断にてチェックデジット値が正常でない場合、およびステップS23の判断にてファームウェア更新後の版数確認用バーコードがたとえば所定時間内に読取れない場合、このファームウェア更新処理が正常に終了できなかった旨をスピーカ27によるブザー鳴動および発光ダイオード24による発光表示で示し(ステップS26)、必要に応じて、異常終了の原因を液晶表示器23に表示して、このファームウェア更新処理を終了する。
【符号の説明】
【0065】
1 POSシステム
2 POS
3 バーコードスキャナ
4 釣銭/釣札機
5 ドロア
6 オプション機器
7 バーコード
10 メイン基板
11 CPU
12 フラッシュメモリ
13 RAM
14 復調器
15 RS232Cトランシーバ
15a RS232Cインタフェース
15b RS232Cコネクタ
16 USBIC
16a PWUSBインタフェース
16b PW−USBコネクタ
17 DC/DCコンバータ
18 レーザドライバ
19 レーザダイオード
20 ポリゴンミラー
21 モータ
22a レンズ
22b 固定ミラー
22c 凹面ミラー
22d 受光素子
23 液晶表示器
24 発光ダイオード
25 スイッチ
26 近接センサ
27 スピーカ
31 バーコード読取り部
32 一時記憶部
33 読取りデータチェック部
34 動作モード移行部
35 通し番号チェック部
36 更新データ復元部
37 ファームウェア格納部

【特許請求の範囲】
【請求項1】
ファームウェア格納部に格納されたファームウェアに従ってバーコードの読取り制御を行うバーコードスキャナにおいて、
バーコードをマルチ走査パターンまたはシングル走査パターンで読取ってデータ化するバーコード読取り部と、
前記バーコード読取り部が読取ったバーコードのデータを記憶する一時記憶部と、
前記一時記憶部のデータから読取られたバーコードの種類を判別し、前記ファームウェア格納部に格納されているファームウェアの版数と読取ったバーコードのデータが示すファームウェアの版数とをチェックし、読取ったバーコードのデータのチェックデジット値が正常かどうかを判断する読取りデータチェック部と、
読取ったバーコードがファームウェア更新用のバーコードであると前記読取りデータチェック部が判断したとき、前記バーコード読取り部の動作モードをファームウェア更新モードに切り換え、読取ったバーコードのデータが示すファームウェアの版数が前記ファームウェア格納部に格納されているものと相違すると前記読取りデータチェック部が判断したとき、前記バーコード読取り部がバーコードを読取る走査パターンをシングル走査パターンに切り換える動作モード移行部と、
読取ったバーコードがファームウェア更新用のバーコードであると前記読取りデータチェック部が判断した場合に、前記ファームウェア更新用のバーコードのそれぞれが持つ通し番号に基づいてすべての前記ファームウェア更新用のバーコードが読取られているかをチェックする通し番号チェック部と、
すべての前記ファームウェア更新用のバーコードが読取られた段階で、それらのデータを結合してファームウェア更新データを復元する更新データ復元部と、
を備えていることを特徴とするバーコードスキャナ。
【請求項2】
ファームウェア更新モードへ移行させるためのバーコードを読取ることによりバーコードスキャナの動作モードを更新モードに移行し、
ファームウェア更新情報用のバーコードを読取ることにより更新プログラムデータの分割数および書換版数を取得し、
取得した前記書換版数が書換前ファームウェアの版数と異なる場合に、シングル走査パターンに切り換え、複数のファームウェア更新用のバーコードの連続読取りを行い、
すべての前記ファームウェア更新用のバーコードの読取りを確認し、
読取ったすべての前記ファームウェア更新用のバーコードのデータを結合して前記更新プログラムデータを含むファームウェア更新データを復元し、
前記書換前ファームウェアを復元された前記ファームウェア更新データにより書き換えることによって更新し、
更新されたファームウェアのデータを含むファームウェア更新後の版数確認用のバーコードのみの読取りを許可するようにしておき、前記ファームウェア更新後の版数確認用のバーコードを読取りできることにより更新後の前記ファームウェアの確認を行い、
通常処理モードへ移行するためのバーコードを読取ることによって前記動作モードを通常処理モードに移行する、
ことを特徴とするバーコードスキャナのファームウェア更新方法。
【請求項3】
前記ファームウェア更新用のバーコードの連続読取りは、前記ファームウェア更新データを複数の前記更新プログラムデータに分割してそれぞれバーコード化した複数の前記ファームウェア更新用のバーコードを並べて印刷した用紙を使用し、前記用紙に印刷された前記ファームウェア更新用のバーコードを前記シングル走査パターンで順次読取ることにより行う請求項2記載のバーコードスキャナのファームウェア更新方法。
【請求項4】
すべての前記ファームウェア更新用のバーコードの読取り確認は、前記ファームウェア更新情報用のバーコードが持つ前記更新プログラムデータの分割数と、前記ファームウェア更新用のバーコードが持つ通し番号とに基づいて行うようにした請求項2記載のバーコードスキャナのファームウェア更新方法。
【請求項5】
すべての前記ファームウェア更新用のバーコードの読取り確認にて、読取りしていない前記ファームウェア更新用のバーコードがある場合、その通し番号を表示して、再読取りを行うようにした請求項4記載のバーコードスキャナのファームウェア更新方法。
【請求項6】
更新された前記ファームウェアの確認は、前記ファームウェア更新後の版数確認用のバーコードが持つ版数と、前記ファームウェア更新情報用のバーコードが持つ前記書換版数または復元された前記更新プログラムデータが持つ版数とから判断するようにした請求項2記載のバーコードスキャナのファームウェア更新方法。
【請求項7】
前記ファームウェア更新処理モードへ移行させるためのバーコードを読取る前に、所定のスイッチが押下されたかどうかを判断するようにした請求項2記載のバーコードスキャナのファームウェア更新方法。
【請求項8】
バーコードスキャナのファームウェア更新処理をコンピュータに実行させるファームウェア更新プログラムであって、
前記コンピュータに、
前記バーコードスキャナの所定のスイッチの押下を判断し、
前記スイッチの押下とファームウェア更新処理モードへ移行させるためのバーコードの読取りとから前記バーコードスキャナの動作モードを更新処理モードに移行し、
ファームウェア更新情報用のバーコードを読取ることにより更新プログラムデータの分割数および書換版数を取得し、
取得した前記書換版数が書換前ファームウェアの版数と異なる場合に、前記バーコードスキャナの走査パターンをシングル走査パターンに切り換え、
分割された前記更新プログラムデータをバーコード化して並べて印刷した用紙上の複数のファームウェア更新用のバーコードを前記シングル走査パターンで順次走査することにより前記ファームウェア更新用のバーコードの連続読取りをし、
すべての前記ファームウェア更新用のバーコードの読取りを確認し、
読取ったすべての前記ファームウェア更新用のバーコードのデータを結合して前記更新プログラムデータを含むファームウェア更新データを復元し、
前記書換前ファームウェアを復元された前記ファームウェア更新データにより書き換えることによって更新し、
復元された前記ファームウェア更新データと同じ版数のデータを有するファームウェア更新後の版数確認用のバーコードのみの読取りを許可するようにし、前記ファームウェア更新後の版数確認用のバーコードが読取りできることにより更新されたファームウェアの確認を行い、
通常処理モードへ移行するためのバーコードを読取ることによって前記動作モードを通常処理モードに移行する、
処理を実行させることを特徴とするファームウェア更新プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate