(57)【要約】【課題】バーコードスキャナの読取り機能を利用したファームウェア更新データの読取り作業を容易にし、短時間でのファームウェア更新を可能にする。【解決手段】読取りデータチェック部３３は、バーコード読取り部３１の読取ったバーコードがファームウェア更新処理用であると判断すると、動作モード移行部３４に動作モードをファームウェア更新モードに切り換えさせ、更新しようとするファームウェアの版数がファームウェア格納部３７に格納されているものと相違すると判断すると、動作モード移行部３４に走査パターンをシングル走査パターンに切り換えさせ、１枚の用紙に印刷された複数のバーコードを連続して読取ることを可能にする。【選択図】図３
2011175527.tif 000002
【特許請求の範囲】
【請求項１】
ファームウェア格納部に格納されたファームウェアに従ってバーコードの読取り制御を行うバーコードスキャナにおいて、
バーコードをマルチ走査パターンまたはシングル走査パターンで読取ってデータ化するバーコード読取り部と、
前記バーコード読取り部が読取ったバーコードのデータを記憶する一時記憶部と、
前記一時記憶部のデータから読取られたバーコードの種類を判別し、前記ファームウェア格納部に格納されているファームウェアの版数と読取ったバーコードのデータが示すファームウェアの版数とをチェックし、読取ったバーコードのデータのチェックデジット値が正常かどうかを判断する読取りデータチェック部と、
読取ったバーコードがファームウェア更新用のバーコードであると前記読取りデータチェック部が判断したとき、前記バーコード読取り部の動作モードをファームウェア更新モードに切り換え、読取ったバーコードのデータが示すファームウェアの版数が前記ファームウェア格納部に格納されているものと相違すると前記読取りデータチェック部が判断したとき、前記バーコード読取り部がバーコードを読取る走査パターンをシングル走査パターンに切り換える動作モード移行部と、
読取ったバーコードがファームウェア更新用のバーコードであると前記読取りデータチェック部が判断した場合に、前記ファームウェア更新用のバーコードのそれぞれが持つ通し番号に基づいてすべての前記ファームウェア更新用のバーコードが読取られているかをチェックする通し番号チェック部と、
すべての前記ファームウェア更新用のバーコードが読取られた段階で、それらのデータを結合してファームウェア更新データを復元する更新データ復元部と、
を備えていることを特徴とするバーコードスキャナ。
【請求項２】
ファームウェア更新モードへ移行させるためのバーコードを読取ることによりバーコードスキャナの動作モードを更新モードに移行し、
ファームウェア更新情報用のバーコードを読取ることにより更新プログラムデータの分割数および書換版数を取得し、
取得した前記書換版数が書換前ファームウェアの版数と異なる場合に、シングル走査パターンに切り換え、複数のファームウェア更新用のバーコードの連続読取りを行い、
すべての前記ファームウェア更新用のバーコードの読取りを確認し、
読取ったすべての前記ファームウェア更新用のバーコードのデータを結合して前記更新プログラムデータを含むファームウェア更新データを復元し、
前記書換前ファームウェアを復元された前記ファームウェア更新データにより書き換えることによって更新し、
更新されたファームウェアのデータを含むファームウェア更新後の版数確認用のバーコードのみの読取りを許可するようにしておき、前記ファームウェア更新後の版数確認用のバーコードを読取りできることにより更新後の前記ファームウェアの確認を行い、
通常処理モードへ移行するためのバーコードを読取ることによって前記動作モードを通常処理モードに移行する、
ことを特徴とするバーコードスキャナのファームウェア更新方法。
【請求項３】
前記ファームウェア更新用のバーコードの連続読取りは、前記ファームウェア更新データを複数の前記更新プログラムデータに分割してそれぞれバーコード化した複数の前記ファームウェア更新用のバーコードを並べて印刷した用紙を使用し、前記用紙に印刷された前記ファームウェア更新用のバーコードを前記シングル走査パターンで順次読取ることにより行う請求項２記載のバーコードスキャナのファームウェア更新方法。
【請求項４】
すべての前記ファームウェア更新用のバーコードの読取り確認は、前記ファームウェア更新情報用のバーコードが持つ前記更新プログラムデータの分割数と、前記ファームウェア更新用のバーコードが持つ通し番号とに基づいて行うようにした請求項２記載のバーコードスキャナのファームウェア更新方法。
【請求項５】
すべての前記ファームウェア更新用のバーコードの読取り確認にて、読取りしていない前記ファームウェア更新用のバーコードがある場合、その通し番号を表示して、再読取りを行うようにした請求項４記載のバーコードスキャナのファームウェア更新方法。
【請求項６】
更新された前記ファームウェアの確認は、前記ファームウェア更新後の版数確認用のバーコードが持つ版数と、前記ファームウェア更新情報用のバーコードが持つ前記書換版数または復元された前記更新プログラムデータが持つ版数とから判断するようにした請求項２記載のバーコードスキャナのファームウェア更新方法。
【請求項７】
前記ファームウェア更新処理モードへ移行させるためのバーコードを読取る前に、所定のスイッチが押下されたかどうかを判断するようにした請求項２記載のバーコードスキャナのファームウェア更新方法。
【請求項８】
バーコードスキャナのファームウェア更新処理をコンピュータに実行させるファームウェア更新プログラムであって、
前記コンピュータに、
前記バーコードスキャナの所定のスイッチの押下を判断し、
前記スイッチの押下とファームウェア更新処理モードへ移行させるためのバーコードの読取りとから前記バーコードスキャナの動作モードを更新処理モードに移行し、
ファームウェア更新情報用のバーコードを読取ることにより更新プログラムデータの分割数および書換版数を取得し、
取得した前記書換版数が書換前ファームウェアの版数と異なる場合に、前記バーコードスキャナの走査パターンをシングル走査パターンに切り換え、
分割された前記更新プログラムデータをバーコード化して並べて印刷した用紙上の複数のファームウェア更新用のバーコードを前記シングル走査パターンで順次走査することにより前記ファームウェア更新用のバーコードの連続読取りをし、
すべての前記ファームウェア更新用のバーコードの読取りを確認し、
読取ったすべての前記ファームウェア更新用のバーコードのデータを結合して前記更新プログラムデータを含むファームウェア更新データを復元し、
前記書換前ファームウェアを復元された前記ファームウェア更新データにより書き換えることによって更新し、
復元された前記ファームウェア更新データと同じ版数のデータを有するファームウェア更新後の版数確認用のバーコードのみの読取りを許可するようにし、前記ファームウェア更新後の版数確認用のバーコードが読取りできることにより更新されたファームウェアの確認を行い、
通常処理モードへ移行するためのバーコードを読取ることによって前記動作モードを通常処理モードに移行する、
処理を実行させることを特徴とするファームウェア更新プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の走査パターンによるバーコードの読取りが可能なバーコードスキャナ、そのファームウェア更新方法およびファームウェア更新プログラムに関する。
【背景技術】
【０００２】
スーパーマーケット、コンビニエンスストア等で精算を行うレジには、商品に印刷または貼付されたバーコードを読取るバーコードスキャナと販売時点情報管理装置（Point Of Sales：以下、ＰＯＳと略称）とを備えたＰＯＳシステムが導入されている。バーコードスキャナは、所定の読取り窓の部分に商品のバーコードのある部分を向けて接近させると、走査ビームがバーコードを走査して読取り、読取ったデータをＰＯＳに送出する。ＰＯＳでは、バーコードスキャナからデータを受けると、対応テーブルを参照して、そのデータに対応する商品名、金額等の物品情報に関するデータを取得する。ＰＯＳは、また、釣銭／釣札機、ドロア、プリンタ、カードリーダ等が接続されていて、バーコードスキャナから受けたデータに基づいて各種精算処理を行う。
【０００３】
このＰＯＳにおける処理は、ＲＯＭ（Read Only Memory）に記憶されたプログラムに従って制御されている。このため、プログラムに変更が生じたときには、ＲＯＭを変更したプログラムが記憶されたＲＯＭに交換する必要がある。このような交換には、一般に非常に手間と時間がかかるので、書き換えが可能なＲＯＭであるフラッシュメモリにプログラムを記憶させておき、プログラムに変更が生じたときには、フラッシュメモリを書き換えるようにしている。この場合の書き換えは、一般に、パーソナルコンピュータのような専用端末をＰＯＳに接続し、専用の更新プログラムを使って実行される。
【０００４】
それでも、専用端末をＰＯＳに接続して行うフラッシュメモリの書き換え作業は、手間のかかるものである。これに対し、変更されたプログラムのデータをバーコード化し、そのバーコードを読取ってフラッシュメモリの書き換えを行うことは知られている（たとえば、特許文献１参照）。この特許文献１では、バーコードリーダをそのコントローラに接続し、そのコントローラに記憶されたバーコード解読プログラムを、バーコードリーダで読取った変更情報に変更するようにしている。このとき、バーコード解読プログラムのデータは、小さなデータに分けてコード化され、そのコードが複数枚のラベルにそれぞれ印刷され、それをバーコードリーダによって１枚ずつ読取ることになる。バーコード解読プログラムは、その該当の変更箇所が読取られたデータによって書き換えられることで変更される。
【０００５】
ところで、ＰＯＳシステムで使用されるバーコードスキャナは、バーコードが印刷または貼付されている面を読取り窓に向けてかざすことにより、そのバーコードの読取りを行うが、そのとき、バーコードがどの方向に向いていても概ね読取れるようになっている。これは、バーコードスキャナが出す走査ビームの走査方向を順次変更していき、向きが走査方向と概略同じとなるバーコードについて読取りを行うマルチ走査パターンが採用されていることによる。この機能により、バーコードの読取り時における操作性および読取り精度が大幅に向上されている。
【０００６】
このように高機能化されたバーコードスキャナでは、ファームウェアを搭載し、そのファームウェアに従ってバーコードの読取り制御を行っている。このため、ファームウェアの不具合修正や新機能追加等の必要が生じたときには、そのファームウェアの更新をバーコードスキャナ単独で行うことになる。現状のバーコードスキャナは、ＰＯＳと通信ポートを介して接続して使用されることが多いので、ＰＯＳ側からファームウェア更新データを送信し、ファームウェアの書換えを行うか、別途専用端末をバーコードスキャナの通信ポートに直接接続して、ファームウェアの更新を行っている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１０−２４０３０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、バーコードスキャナは、ＰＯＳシステムの中に組み込まれていることが多く、レジ台や流し台に組み込まれていて、ファームウェア更新用の端末を通信ポートに接続するために、バーコードスキャナをレジ台や流し台から取り外すことが難しく、しかも、ＰＯＳシステムの運用中に更新作業を実施することは困難である。
【０００９】
また、ファームウェア更新データの読取りをバーコードスキャナの読取り機能を利用して行う場合は、バーコードスキャナとの物理的な接続を要しないため、ＰＯＳシステムの運用中にも更新作業が可能であるが、ファームウェア更新データは、それをバーコード化した場合、バーコードを印刷したラベルの枚数が膨大になり、それを１枚ずつ読取らせるのに手間と時間がかかるという問題点があった。
【００１０】
本発明はこのような点に鑑みてなされたものであり、バーコードスキャナの読取り機能を利用したファームウェア更新データの読取り作業を容易にして短時間でのファームウェア更新を可能にすることを目的とする。
【課題を解決するための手段】
【００１１】
本発明では上記の課題を解決するために、ファームウェア格納部に格納されたファームウェアに従ってバーコードの読取り制御を行うバーコードスキャナにおいて、バーコードをマルチ走査パターンまたはシングル走査パターンで読取ってデータ化するバーコード読取り部と、前記バーコード読取り部が読取ったバーコードのデータを記憶する一時記憶部と、前記一時記憶部のデータから読取られたバーコードの種類を判別し、前記ファームウェア格納部に格納されているファームウェアの版数と読取ったバーコードのデータが示すファームウェアの版数とをチェックし、読取ったバーコードのデータのチェックデジット値が正常かどうかを判断する読取りデータチェック部と、読取ったバーコードがファームウェア更新用のバーコードであると前記読取りデータチェック部が判断したとき、前記バーコード読取り部の動作モードをファームウェア更新モードに切り換え、読取ったバーコードのデータが示すファームウェアの版数が前記ファームウェア格納部に格納されているものと相違すると前記読取りデータチェック部が判断したとき、前記バーコード読取り部がバーコードを読取る走査パターンをシングル走査パターンに切り換える動作モード移行部と、読取ったバーコードがファームウェアの更新用バーコード（以下、ファームウェア更新用バーコードと記載）であると前記読取りデータチェック部が判断した場合に、前記ファームウェア更新用バーコードのそれぞれが持つ通し番号に基づいてすべての前記ファームウェア更新用バーコードが読取られているかをチェックする通し番号チェック部と、すべての前記ファームウェア更新用バーコードが読取られた段階で、それらのデータを結合してファームウェア更新データを復元する更新データ復元部と、を備えていることを特徴とするバーコードスキャナが提供される。
【００１２】
また、本発明では、ファームウェア更新モードへ移行させるためのバーコード（以下、ファームウェア更新モード移行バーコードと記載）を読取ることによりバーコードスキャナの動作モードを更新モードに移行し、更新するファームウェアのバーコードの分割数および書換版数情報のバーコード（以下、ファームウェア更新情報用バーコードと記載）を読取ることにより更新プログラムデータの分割数および書換版数を取得し、取得した前記書換版数が書換前ファームウェアの版数と異なる場合に、シングル走査パターンに切り換え、複数のファームウェア更新用バーコードの連続読取りを行い、すべての前記ファームウェア更新用バーコードの読取りを確認し、読取ったすべての前記ファームウェア更新用バーコードのデータを結合して前記更新プログラムデータを含むファームウェア更新データを復元し、前記書換前ファームウェアを復元された前記ファームウェア更新データにより書き換えることによって更新し、更新されたファームウェアのデータを含むファームウェア更新後の版数を確認するためのバーコード（以下、ファームウェア更新後の版数確認用バーコードと記載）のみの読取りを許可するようにしておき、前記ファームウェア更新後の版数確認用バーコードを読取りできることにより更新後の前記ファームウェアの確認を行い、通常モード移行バーコードを読取ることによって前記動作モードを通常モードに移行する、ことを特徴とするバーコードスキャナのファームウェア更新方法が提供される。
【００１３】
さらに、本発明では、バーコードスキャナのファームウェア更新処理をコンピュータに実行させるファームウェア更新プログラムであって、前記コンピュータに、前記バーコードスキャナの所定のスイッチの押下を判断し、前記スイッチの押下とファームウェア更新モード移行バーコードの読取りとから前記バーコードスキャナの動作モードを更新モードに移行し、ファームウェア更新情報用バーコードを読取ることにより更新プログラムデータの分割数および書換版数を取得し、取得した前記書換版数が書換前ファームウェアの版数と異なる場合に、前記バーコードスキャナの走査パターンをシングル走査パターンに切り換え、分割された前記更新プログラムデータをバーコード化して並べて印刷した用紙上の複数のファームウェア更新用バーコードを前記シングル走査パターンで順次走査することにより前記ファームウェア更新用バーコードの連続読取りをし、すべての前記ファームウェア更新用バーコードの読取りを確認し、読取ったすべての前記ファームウェア更新用バーコードのデータを結合して前記更新プログラムデータを含むファームウェア更新データを復元し、前記書換前ファームウェアを復元された前記ファームウェア更新データにより書き換えることによって更新し、復元された前記ファームウェア更新データと同じ版数のデータを有するファームウェア更新後の版数確認用バーコードのみの読取りを許可するようにし、前記ファームウェア更新後の版数確認用バーコードが読取りできることにより更新されたファームウェアの確認を行い、通常モード移行バーコードを読取ることによって前記動作モードを通常モードに移行する、処理を実行させることを特徴とするファームウェア更新プログラムが提供される。
【００１４】
このようなバーコードスキャナ、そのファームウェア更新方法およびファームウェア更新プログラムによれば、バーコードスキャナの動作モードがファームウェア更新モードに移行して更新プログラムデータを含むファームウェア更新用バーコードの読取りをするときに、読取りの走査パターンをシングル走査パターンに切り換えるようにしている。これにより、バーコードスキャナは、複数のバーコードの連続読取りが可能となる。１枚の用紙に複数のファームウェア更新用バーコードを印刷してシングル走査パターンで連続読取りすることにより、多数のファームウェア更新用バーコードの読取り作業が容易になり、短時間でのファームウェア更新が可能となる。
【発明の効果】
【００１５】
上記構成のバーコードスキャナ、そのファームウェア更新方法およびファームウェア更新プログラムは、バーコードスキャナの動作モードがファームウェア更新モードに移行したとき、バーコードの読取りをシングル走査パターンに切り換えたことにより、１枚の用紙に印刷された複数のバーコードを連続して読取ることが可能となるので、複数のバーコードを読取る手間および作業時間を大幅に短縮することができる。
【００１６】
ファームウェア更新に必要なものは、ファームウェア更新データを分割してそれぞれバーコード化した複数のバーコードの全部または一部を纏めて１枚ずつ用紙に印刷したものを用意するだけでよいので、ファームウェア更新のためのコストを大幅に低減することができる。
【００１７】
ファームウェアの更新は、バーコードスキャナに対し更新専用の端末を着脱する必要がないので、ＰＯＳシステムの運用中においても可能であり、しかも、短時間のうちに完了させることができる。
【図面の簡単な説明】
【００１８】
【図１】ＰＯＳシステムを示す概略構成図である。
【図２】バーコードスキャナのハードウェア構成例を示す図である。
【図３】バーコードスキャナの機能構成を示す図である。
【図４】バーコードの種類を示す図であって、（Ａ）はファームウェア更新モード移行バーコードを示し、（Ｂ）はファームウェア更新情報用バーコードを示し、（Ｃ）はファームウェア更新用バーコードを示し、（Ｄ）はファームウェア更新後の版数確認用バーコードを示し、（Ｅ）は通常の処理モードへ戻すためのバーコード（以下、通常モード移行バーコードと記載）を示している。
【図５】ファームウェア更新用バーコードの生成例を示す図である。
【図６】ファームウェア更新処理（その１）の流れを示すフローチャートである。
【図７】ファームウェア更新処理（その２）の流れを示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下、本発明の実施の形態について、複数の走査パターンによる高精度のバーコード読取りが可能な定置式のバーコードスキャナに対し、読取精度、誤読対策、新種類のバーコードの読取対応、不具合修正等の必要性が生じたときに行われるファームウェアの更新に適用した場合を例に図面を参照して詳細に説明する。
【００２０】
図１はＰＯＳシステムを示す概略構成図である。
ＰＯＳシステム１は、このシステムのホストであるＰＯＳ２を備えている。ＰＯＳ２は、バーコードスキャナ３、釣銭／釣札機４、ドロア５およびオプション機器６が接続されている。
【００２１】
バーコードスキャナ３は、スーパーマーケット等のレジ台または流し台に備えられた定置式スキャナであり、商品に印刷または貼付されたバーコード７を読取ることができる。このバーコードスキャナ３は、マルチ走査パターンの機能を有し、たとえば３８の方向に走査してバーコード７を読取ることができるとともに、そのうちの任意の１方向に切り換えてシングル走査パターンでバーコード７を走査することもできる。
【００２２】
釣銭／釣札機４は、ＰＯＳ２からの指示に基づいて、投入された紙幣および硬貨を識別して収納するとともに、必要な釣札および釣銭を出力することができるものである。ドロア５は、商品券等を収納しておくのに使用され、オプション機器６には、ポイントカード、クレジットカード、プリペイドカード等の接触式または非接触式のカードリーダ等があり、必要に応じて接続される。
【００２３】
図２はバーコードスキャナのハードウェア構成例を示す図である。
バーコードスキャナ３は、この内部にコンピュータをなすメイン基板１０を有している。このメイン基板１０には、ＣＰＵ（Central Processing Unit）１１と、フラッシュメモリ（ＦＲＯＭ）１２と、ＲＡＭ（Random Access Memory）１３と、復調器１４と、ＲＳ２３２Ｃトランシーバ１５と、ＵＳＢＩＣ（Universal Serial Bus Integrated Circuit）１６とが搭載されている。
【００２４】
ＣＰＵ１１は、このバーコードスキャナ３の全体の制御を司るものである。フラッシュメモリ１２は、不揮発性の書き換え可能な半導体メモリであって、このバーコードスキャナ３を制御するプログラムであるファームウェア、このファームウェアを更新するプログラム等が格納される。ＲＡＭ１３は、読取ったバーコード７のデータ、フラッシュメモリ１２からロードされてＣＰＵ１１により実行されるプログラム、ＣＰＵ１１による演算途中のデータ等が記憶される。復調器１４は、読取ったバーコード７の光学情報を電気的なデータに復元する。ＲＳ２３２Ｃトランシーバ１５は、外部の周辺機器とオプション接続して通信するためのもので、ＲＳ２３２Ｃインタフェース１５ａを介して、ＤＳＵＢ９ピンタイプのＲＳ２３２Ｃコネクタ１５ｂに接続されている。ＵＳＢＩＣ１６は、ＰＯＳ２と通信を行うためのものでＰＷＵＳＢ（PoweredUSB）インタフェース１６ａを介してＰＷ−ＵＳＢコネクタ１６ｂに接続されている。このＰＷ−ＵＳＢコネクタ１６ｂからは、ＰＯＳ２から給電される１２ボルトの電源が取り出され、さらに、この電源からメイン基板１０で使用される５ボルトの電源がＤＣ／ＤＣコンバータ１７によって生成される。
【００２５】
バーコードスキャナ３は、また、レーザドライバ１８およびこれによって駆動されるレーザダイオード１９と、ポリゴンミラー２０およびこれを高速回転駆動するモータ２１と、レンズ２２ａと、固定ミラー２２ｂと、凹面ミラー２２ｃと、受光素子２２ｄとを備えている。
【００２６】
バーコードスキャナ３は、さらに、液晶表示器（ＬＣＤ）２３、発光ダイオード（ＬＥＤ）２４、スイッチ２５、近接センサ２６、およびスピーカ２７を備えている。液晶表示器２３は、エラーコード等の各種エラーメッセージ等を表示するために使用される。発光ダイオード２４は、バーコードスキャナ３の動作状態を、たとえば２色の光の組み合わせによって表示する。スイッチ２５は、バーコードスキャナ３の動作状態を通知するブザー音の音量・音質を変更したり、ファームウェア更新動作の開始を指示したりするために使用される。近接センサ２６は、商品のバーコードを読取らせるためにバーコードスキャナ３への商品の接近を感知するのに使用される。スピーカ２７は、バーコードスキャナ３の動作状態をブザー音で通知するのに使用される。
【００２７】
以上の構成のバーコードスキャナ３は、通常の動作モードで動作しているときには、近接センサ２６が商品の接近を検出すると、レーザドライバ１８およびモータ２１が起動され、レーザダイオード１９のレーザ光を回転するポリゴンミラー２０で反射させ、バーコード面を走査する。このとき、商品のバーコードの向きが不明なので、バーコードスキャナ３は、複数の固定ミラー２２ｂによって複数方向に、たとえば３８方向にレーザ光が走査されるマルチ走査パターンで動作している。バーコードの並び方向に沿ってレーザ光が走査されたとき、そのバーコード面で反射された光は、バーコードの白黒部分により明るさが変化された形で凹面ミラー２２ｃに映し、受光素子２２ｄへ受光され、復調器１４にて商品のコードが生成される。
【００２８】
有効なバーコードが読取られたときには、発光ダイオード２４およびスピーカ２７により確認用の光およびブザー音が発せられる。読取られたコードは、ＰＷＵＳＢインタフェース１６ａを介してＰＯＳ２に送られる。ＰＯＳ２では、対応テーブルを参照し、そのコードに対応する商品名、金額等の物品情報に関するデータを取得することになる。有効なバーコードが読取られなかったときには、発光ダイオード２４およびスピーカ２７によりエラー用の光およびブザー音が発せられる。
【００２９】
所定のスイッチ２５が押下され、バーコードスキャナ３がモード移行用および更新確認用のバーコードを読取ったとき、バーコードスキャナ３は、ファームウェア更新モードに移行し、走査パターンをマルチ走査パターンからシングル走査パターンに切り換える。シングル走査パターンへの切り換えにより、レーザ光の走査方向は、特定の１方向、たとえば水平方向に固定される。走査するレーザ光を１本に絞ることで、複数のバーコードを連続して読取ることが可能になる。すなわち、１枚のラベルに１つのバーコードを印刷して、それぞれ１枚ずつ読取らせるのではなく、１枚の用紙に複数のバーコードを印刷し、その複数のバーコードを連続して読取ることを可能にしている。これにより、レーザ光の走査範囲をバーコードが横切るようにメンテナンス要員がバーコードを印刷した用紙を移動させていくことによって、連続読取りが可能となるので、複数のバーコードの読取り作業の時間を大幅に短縮することができる。たとえば、１００個のバーコードを読取らせる必要がある場合、１枚の用紙に３０数個のバーコードを印刷すれば、僅か３枚の用紙でそれぞれ連続読取りを行うことにより、１００個のバーコードの読取りができる。
【００３０】
シングル走査パターンで、ファームウェア更新データが読取られると、そのデータは、ＲＡＭ１３に蓄積され、すべてのデータが揃ったらそれから更新プログラムデータが復元され、フラッシュメモリ１２に格納されているファームウェアの対応部分が、復元された更新プログラムデータによって書き換えられる。これにより、ファームウェアが更新されることになる。
【００３１】
なお、バーコードの連続読取り作業において、読取りの失敗したバーコードがある場合には、読取りエラーを示す光および音が発光ダイオード２４およびスピーカ２７により発せられ、同時に、そのバーコードの通し番号等が液晶表示器２３に表示される。このときは、該当する通し番号のバーコードのみ再読取りを実行すればよい。
【００３２】
以上の通常の動作モードでの読取り処理およびファームウェア更新処理は、フラッシュメモリ１２に格納されたファームウェア更新プログラムをＲＡＭ１３に展開し、ＣＰＵ１１がそのファームウェア更新プログラムを実行することによって実施される。次に、バーコードスキャナ３が備えているファームウェア更新プログラムの処理機能について説明する。
【００３３】
図３はバーコードスキャナの機能構成を示す図である。
バーコードスキャナ３は、その本来の処理機能以外に、ファームウェア更新処理機能に関して、バーコード読取り部３１、一時記憶部３２、読取りデータチェック部３３、動作モード移行部３４、通し番号チェック部３５、更新データ復元部３６およびファームウェア格納部３７を備えている。
【００３４】
バーコード読取り部３１は、レーザ光を走査して商品に印刷または貼付されたバーコードを読取ってそのバーコードに対応するデータを取得する部分であって、バーコードをマルチ走査パターンで読取るか、シングル走査パターンで読取るかを切り換えることができる。したがって、このバーコード読取り部３１は、図２の復調器１４、レーザドライバ１８、レーザダイオード１９、ポリゴンミラー２０、モータ２１およびレンズ２２ａ、固定ミラー２２ｂ、凹面ミラー２２ｃ、受光素子２２ｄ等に相当する。
【００３５】
一時記憶部３２は、バーコード読取り部３１が読取ったバーコードのデータおよびその加工データを蓄積しておくもので、図２のＲＡＭ１３に相当する。読取りデータチェック部３３は、読取られたバーコードの種類を判別し、ファームウェア格納部３７に格納されているファームウェアと読取ったファームウェアとの版数をチェックし、チェックデジット値が正常かどうかを判断する。動作モード移行部３４は、読取りデータチェック部３３によりバーコードの種類がファームウェア更新モード移行用または通常モード移行用と判断された場合に、バーコード読取り部３１の動作モードおよび走査パターンをそれぞれ対応するものに切り換える。
【００３６】
通し番号チェック部３５は、読取りデータチェック部３３によりバーコードの種類がファームウェア更新用バーコードと判断された場合に、通し番号を基にファームウェア更新用バーコードが不足なく読取っているかをチェックする。
【００３７】
更新データ復元部３６は、すべてのファームウェア更新用バーコードのデータが揃った段階で、それらのデータを結合し、元データが圧縮されている場合には、解凍してファームウェア更新データを復元する。ファームウェア格納部３７は、このバーコードスキャナ３を動作させるのに必要なファームウェア等が格納される部分であって、図２のフラッシュメモリ１２に相当する。
【００３８】
図４はバーコードの種類を示す図であって、（Ａ）はファームウェア更新モード移行バーコードを示し、（Ｂ）はファームウェア更新情報用バーコードを示し、（Ｃ）はファームウェア更新用バーコードを示し、（Ｄ）はファームウェア更新後の版数確認用バーコードを示し、（Ｅ）は通常モード移行バーコードを示している。
【００３９】
ファームウェアの更新に関してバーコードスキャナ３が読取るバーコードは、図４に示す５種類である。図４の（Ａ）に示すファームウェア更新モード移行バーコードは、１０桁のモード移行データと２桁のチェックデジットとを有している。なお、図示のモード移行データの値は、一例である。通常のバーコードのチェックデジットは、１桁であるが、独自の２桁とすることにより、通常運用で誤ってファームウェア更新モードに移行してしまうのを防止している。
【００４０】
ファームウェア更新情報用バーコードは、図４の（Ｂ）に示すように、４桁のバーコード分割数と、１０桁の書換範囲の指定と、６桁の書換版数と、２桁のチェックデジットとを有している。バーコード分割数は、ファームウェア更新用バーコードの分割数を表している。書換範囲の指定は、ファームウェアの中で書き換えたい範囲の開始アドレスと終了アドレスとを表している。書換版数は、ファームウェア更新データのバージョン情報を表している。
【００４１】
ファームウェア更新用バーコードは、図４の（Ｃ）に示すように、４桁の通し番号と、更新プログラムデータと、２桁のチェックデジットとを有している。更新プログラムデータは、任意の桁数の独自フォーマットとすることができ、６０桁程度まで拡張することができる。
【００４２】
ファームウェア更新後の版数確認用バーコードは、図４の（Ｄ）に示すように、ファームウェア更新データのバージョン情報である６桁の版数と、２桁のチェックデジットとを有している。
【００４３】
通常モード移行バーコードは、図４の（Ｅ）に示すように、１０桁のモード移行データと２桁のチェックデジットとを有している。なお、図示のモード移行データの値は、一例である。
【００４４】
ここで、図４の（Ａ）、（Ｂ）、（Ｄ）および（Ｅ）のファームウェア更新モード移行バーコード、ファームウェア更新情報用バーコード、ファームウェア更新後の版数確認用バーコードおよび通常モード移行バーコードは、好ましくは、１枚ずつラベルに印刷する。これにより、ファームウェア更新操作において、その操作ミスを未然に防ぐことができる。図４の（Ｃ）のファームウェア更新用バーコードについては、一般に枚数が多くなる場合が多く、すべてのラベルを１枚ずつ読取らせるのに非常に煩雑な手間がかかることから、適当な大きさの用紙に複数のファームウェア更新用バーコードを印刷している。これにより、複数のファームウェア更新用バーコードを連続して読取らせることを可能にする。
【００４５】
図５はファームウェア更新用バーコードの生成例を示す図である。
バーコードスキャナ３のファームウェア更新データは、所定の大きさの用紙に、複数のファームウェア更新用バーコードが連続して印刷されている。図示の例では、１枚の用紙に縦に１６のファームウェア更新用バーコードを連続印刷したものが２列になっている。また、このファームウェア更新用バーコードの用紙には、メンテナンス要員の参照のために、ファームウェア版数情報、用紙の枚数情報、バーコードの通し番号等が一緒に印刷されている。
【００４６】
ファームウェア更新用バーコードは、ファームウェア更新データを圧縮し、それを所定のデータ量ずつ分割してバーコード化することで生成される。なお、ファームウェア更新データのデータ総量が少ない場合は、圧縮することなく、分割およびバーコード化を実施してもよい。
【００４７】
次に、以上のファームウェア更新処理を行うプログラムの処理機能について説明する。このファームウェア更新プログラムは、図２のフラッシュメモリ１２に格納されており、図３に示した読取りデータチェック部３３、動作モード移行部３４、通し番号チェック部３５および更新データ復元部３６の処理機能を有している。
【００４８】
図６はファームウェア更新処理（その１）の流れを示すフローチャート、図７はファームウェア更新処理（その２）の流れを示すフローチャートである。なお、バーコードスキャナ３は、通常動作モードでは、マルチ走査パターンによりバーコードの読取りを行っているとする。
【００４９】
ファームウェア更新プログラムは、まず、所定のスイッチが押下されたかどうかが判断され（ステップＳ１）、所定のスイッチの押下がない場合は、所定のスイッチが押下されるまで待つ。
【００５０】
所定のスイッチが押下されると、読取りデータチェック部３３は、バーコード読取り部３１が読取ったバーコードをチェックし、それがファームウェア更新モード移行バーコードかどうかを判断する（ステップＳ２）。ファームウェア更新モード移行バーコードの読取りがなされていない場合は、ファームウェア更新モード移行バーコードが読取られるまで待つ。
【００５１】
ファームウェア更新モード移行バーコードの読取りがあると、読取りが正常に行われたことを表すブザー音をスピーカ２７によって発せられるとともに、所定の色の発光ダイオード２４による発光表示が行われる（ステップＳ３）。
【００５２】
次に、読取りデータチェック部３３は、バーコード読取り部３１が読取ったバーコードをチェックし、それがファームウェア更新情報用バーコードかどうかを判断する（ステップＳ４）。ファームウェア更新情報用バーコードの読取りがなされていない場合は、ファームウェア更新情報用バーコードが読取られるまで待つ。
【００５３】
ファームウェア更新情報用バーコードの読取りがあると、読取りデータチェック部３３は、読取ったファームウェア更新情報用バーコードの書換版数とファームウェア格納部３７に格納されている書換版数とを比較し、双方の書換版数が異なっているかどうかを判断する（ステップＳ５）。
【００５４】
読取ったファームウェア更新情報用バーコードの書換版数がファームウェア格納部３７に格納されている書換版数と同じである場合は、更新の必要がないので、スピーカ２７によるブザー鳴動および発光ダイオード２４による発光表示が行われ（ステップＳ６）、ステップＳ１に戻る。
【００５５】
ステップＳ５の判断にて書換版数が異なる場合、ファームウェア更新データ読取り開始の準備が整ったことをスピーカ２７によるブザー鳴動および発光ダイオード２４による発光表示で示し（ステップＳ７）、ファームウェア更新用バーコードの走査パターンをマルチ走査パターンからシングル走査パターンに切り換える（ステップＳ８）。
【００５６】
次に、読取りデータチェック部３３は、バーコード読取り部３１によって読み込まれたバーコードがファームウェア更新用バーコードであるかどうかを判断し（ステップＳ８）、ファームウェア更新用バーコードでなければ、これが読取られるまで待つ。
【００５７】
読取ったバーコードがファームウェア更新用バーコードであれば、確認のために、スピーカ２７によるブザー鳴動および発光ダイオード２４による発光表示が行われ（ステップＳ）１０、読取りデータチェック部３３により、そのファームウェア更新用バーコードの通し番号がすべて異なるバーコードであるかどうかが判断される（ステップＳ１１）。
【００５８】
通し番号が同じ、すなわち二重読取りがあった場合には、スピーカ２７によるブザー鳴動および発光ダイオード２４による発光表示が行われ（ステップＳ１２）、ステップＳ９に戻る。
【００５９】
なお、ステップＳ９〜Ｓ１２におけるファームウェア更新用バーコードの読取りは、ここでは、１つのバーコードの読取り処理しか示していないが、実際には、ファームウェア更新用バーコードが印刷された図５に示す用紙を使用して連続的に行われる。すなわち、メンテナンス要員が用紙に印刷されたバーコードのうち、たとえば左側の列の一番上のバーコードにシングル走査パターンで走査するレーザ光を当てるように用紙を位置決めして読取りを行う。その後は、用紙を引き上げることにより、同じ列の直下のバーコードから下に向かって連続して読取りを行い、続いて、用紙を横にずらして引き下げることにより、右側のバーコード列を下から上に向かって連続して読取らせることができる。これにより、複数のバーコードの個々の読取りとその音および光による確認とを連続して行うことができるので、ファームウェア更新用バーコードの読取り時間を大幅に短縮することができる。また、図示はしないが、それぞれのファームウェア更新用バーコードの読取りのとき、通し番号チェック部３５による通し番号のチェックとともに、読取りデータチェック部３３によるチェックデジット値の検査も行っている。
【００６０】
以上のようにして通し番号の異なるファームウェア更新用バーコードの読取りが終わると、次に、通し番号チェック部３５は、ファームウェア更新情報用バーコードに含まれるバーコード分割数とそれぞれのファームウェア更新用バーコードの通し番号とに基づいてすべての通し番号のバーコードを読取ったかどうかを判断する（ステップＳ１３）。通し番号の欠番があれば、その旨をスピーカ２７によるブザー鳴動および発光ダイオード２４による発光表示で示し（ステップＳ１４）、液晶表示器２３に読取りしていないバーコードの通し番号を表示する（ステップＳ１５）。この表示に基づいて、メンテナンス要員は、該当する通し番号のファームウェア更新用バーコードを再読取りし（ステップＳ１６）、ステップＳ１３に戻る。
【００６１】
ステップＳ１３にてすべてのファームウェア更新用バーコードが揃ったと判断されると、その旨をスピーカ２７によるブザー鳴動および発光ダイオード２４による発光表示で示す（ステップＳ１７）。次に、更新データ復元部３６は、すべてのファームウェア更新用バーコードの更新プログラムデータの部分を通し番号順に結合し、解凍して一時記憶部３２（ＲＡＭ１３）に展開し（ステップＳ１８）、ファームウェア更新データを復元する。
【００６２】
次に、更新データ復元部３６は、復元されたファームウェア更新データのチェックデジット値が正常かどうかを判断し（ステップＳ１９）、正常なら、ファームウェア格納部３７（フラッシュメモリ１２）に格納されたファームウェアの該当部分を書き換える（ステップＳ２０）。次に、更新データ復元部３６は、書き換えられたファームウェアのチェックデジット値が正常かどうかを判断し（ステップＳ２１）、正常なら、その旨をスピーカ２７によるブザー鳴動および発光ダイオード２４による発光表示で示す（ステップＳ２２）。次に、読取りデータチェック部３３は、ファームウェア更新後の版数確認用バーコードを読取れたかどうかを判断する（ステップＳ２３）。ここでは、先に読取ったファームウェア更新情報用バーコードが持つ書換版数または復元された更新プログラムデータが持つ版数と同じ版数のデータを有するバーコードのみ読取りを許可するようにしている。したがって、ファームウェア更新後の版数確認用バーコードが読取れたということは、その版数がファームウェア更新情報用バーコードの持つ書換版数または復元された更新プログラムデータの持つ版数と同じであることを意味する。ファームウェア更新後の版数確認用バーコードが読取られると、その旨をスピーカ２７によるブザー鳴動および発光ダイオード２４による発光表示で示す（ステップＳ２４）。このように、ファームウェア更新後の版数確認用バーコードは、ファームウェア更新済みでないと読取ることができないので、ファームウェア更新後の版数確認用バーコードの読取りができたことによって、ファームウェア更新を確認することができる。
【００６３】
そして、最後に、読取りデータチェック部３３は、バーコード読取り部３１が読取ったバーコードをチェックし、それが通常モード移行バーコードかどうかを判断する（ステップＳ２５）。通常モード移行バーコードの読取りがなされていない場合は、通常モード移行バーコードが読取られるまで待ち、通常モード移行バーコードの読取りがなされた場合には、動作モード移行部３４によって通常モードに移行され、このファームウェア更新処理が正常終了する。
【００６４】
ステップＳ１９およびＳ２１の判断にてチェックデジット値が正常でない場合、およびステップＳ２３の判断にてファームウェア更新後の版数確認用バーコードがたとえば所定時間内に読取れない場合、このファームウェア更新処理が正常に終了できなかった旨をスピーカ２７によるブザー鳴動および発光ダイオード２４による発光表示で示し（ステップＳ２６）、必要に応じて、異常終了の原因を液晶表示器２３に表示して、このファームウェア更新処理を終了する。
【符号の説明】
【００６５】
１  ＰＯＳシステム
２  ＰＯＳ
３  バーコードスキャナ
４  釣銭／釣札機
５  ドロア
６  オプション機器
７  バーコード
１０  メイン基板
１１  ＣＰＵ
１２  フラッシュメモリ
１３  ＲＡＭ
１４  復調器
１５  ＲＳ２３２Ｃトランシーバ
１５ａ  ＲＳ２３２Ｃインタフェース
１５ｂ  ＲＳ２３２Ｃコネクタ
１６  ＵＳＢＩＣ
１６ａ  ＰＷＵＳＢインタフェース
１６ｂ  ＰＷ−ＵＳＢコネクタ
１７  ＤＣ／ＤＣコンバータ
１８  レーザドライバ
１９  レーザダイオード
２０  ポリゴンミラー
２１  モータ
２２ａ  レンズ
２２ｂ  固定ミラー
２２ｃ  凹面ミラー
２２ｄ  受光素子
２３  液晶表示器
２４  発光ダイオード
２５  スイッチ
２６  近接センサ
２７  スピーカ
３１  バーコード読取り部
３２  一時記憶部
３３  読取りデータチェック部
３４  動作モード移行部
３５  通し番号チェック部
３６  更新データ復元部
３７  ファームウェア格納部
【図１】
2011175527.tif 000003
【図２】
2011175527.tif 000004
【図３】
2011175527.tif 000005
【図４】
2011175527.tif 000006
【図５】
2011175527.tif 000007
【図６】
2011175527.tif 000008
【図７】
2011175527.tif 000009