(57)【要約】【課題】メイン電池が何らの原因で外れた場合に、緊急停止処理の実行を確保する。【解決手段】主電池１０から電源回路１１を経て、スキャナ１２、ＬＣＤバックライト１３、バイブレータ用モータ１４、ブザー１５、ＬＥＤ１６などの消費電流の大きなデバイスに電力を供給する電源ライン１７にスイッチ１８が介装されている。電池抜け回路１９は、主電池１０がハンディターミナル本体から外れたことを検出すると、電池抜け信号をスイッチ１８に供給してスイッチ１８を強制的にＯＦＦさせる。これにより、主電池１０が外れると直ちに内蔵大電力デバイス１２〜１６への電源の供給が停止される。【選択図】      図３
2004220505.tif 000002
【特許請求の範囲】
【請求項１】
バーコードハンディターミナル本体から主電池が外れたときに、バーコードハンディターミナル本体の内部に蓄積されている電荷を用いて緊急停止処理を実行するバーコードハンディターミナルにおいて、
前記主電池が前記バーコードハンディターミナル本体から外れたことを検出する電池抜け検出回路と、
前記バーコードハンディターミナルに内蔵され且つ消費電流の大きなデバイスに電力を供給する電源ラインと、
該電源ラインに介装されたスイッチとを有し、
前記主電池が前記ハンディターミナル本体から外れたことを前記電池抜け検出回路が検出したときに、前記電源ラインのスイッチをＯＦＦすることを特徴とするバーコードハンディターミナル。
【請求項２】
バーコードハンディターミナル本体から主電池が外れたときに、バーコードハンディターミナル本体の内部に蓄積されている電荷を用いて緊急停止処理を実行するバーコードハンディターミナルにおいて、
前記バーコードハンディターミナルに内蔵され且つ消費電流の大きなデバイスと、
該デバイスに設けられたイネーブル端子と、
該イネーブル端子に接続された論理素子と、
前記主電池が前記バーコードハンディターミナル本体から外れたことを検出する電池抜け検出回路と、
前記主電池が前記ハンディターミナル本体から外れたことを前記電池抜け検出回路が検出したときに、該電池抜け検出回路から電池抜け信号が前記論理素子に出力されて、前記デバイスがディスエーブル状態になることを特徴とするバーコードハンディターミナル。
【請求項３】
読み取ったフィールドデータを一次的に保存する第１メモリ手段と、複数のフィールドデータにより確立したレコードデータを保存する第２メモリ手段とを有するバーコードハンディターミナルにおいて、
前記レコードデータが確立したときに、これをトリガにして前記第２メモリ手段にレコードデータを書き込むことを特徴とするバーコードハンディターミナル。
【請求項４】
前記第２メモリ手段に書き込む際に、前回書き込みを行ったレコードデータと今回書き込みを行うレコードデータとの差分だけを前記第２メモリに書き込むことを特徴とする請求項３に記載のバーコードハンディターミナル。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、バーコードハンディターミナルに関し、より詳しくは、電源が何らかの原因で不用意にダウンしたときのデータ保護に関する。
【０００２】
【従来の技術】
バーコードハンディターミナルは、作業者が携帯して工場や倉庫内で商品や伝票などに付されたバーコードを読み取るのに用いられるモバイル機器であることから電池によって駆動される。ここに、電池には乾電池（例えばアルカリ一次電池）や充電池（例えばリチウムイオン二次電池）が含まれる。
【０００３】
【特許文献１】
特開２００２−２３６８７１号公報
【０００４】
この公開公報は、単三電池を２本直列に配置したバッテリホルダをハンディターミナルの把持部に脱着可能に取り付けたバーコードハンディターミナルを開示している。
【０００５】
この種のバーコードハンディターミナルは、電池が何らかの原因で本体から脱落したり、蓄積したデータをホストコンピュータに送信する前にユーザが不用意に電池を取り外してしまった場合に緊急停止処理に移るように設計されている。
【０００６】
ここに、緊急停止処理は、次の処理を含む。
（１）ＤＲＡＭなどのように、メモリ内容を保持するのに内部コンデンサが完全に放電してデータが消失してしまう前に再充電（リフレッシュ）する必要のあるメモリに対してセルフリフレッシュへ移行するコマンドを送信する。
（２）ハンディターミナルを再起動したときに、以前の電源オフする直前の状態に戻すレジューム動作が可能になるように、メモリに対して所定の値を書き込む。
（３）フラッシュＲＯＭへデータを書き込んでいる最中に緊急停止処理に移行したときには、現在処理中のデータに関して書き込みを完了し、他方、消去中であれば消去を中断する。
（４）ＣＰＵを低消費電力モードへ移行させる。
【０００７】
【発明が解決しようとする課題】
バーコードハンディターミナルから電池が脱落したような場合、緊急停止処理に費やすことのできる時間は、ハンディターミナルの回路上に存在するコンデンサに代表される容量成分に蓄積されている電荷の総量によって左右される。つまり、電池が外れた後は、回路内に蓄積されている電荷だけが頼りであり、この回路内に蓄積された電荷によって、緊急停止処理を継続し且つ終了させなければならない。
【０００８】
なお、ハンディターミナルは、これを駆動するための上記電池（主電池）が消耗した状態でもメモリ内容を保持する目的で補助電池が搭載されているのが通常であるが、この補助電池は、メモリ内容を保持することを目的としていることからＣＰＵなどを駆動するまでの大きな電力を供給することはできない。
【０００９】
緊急停止処理が終了する前に、回路内に蓄積された電荷が尽きてＣＰＵの動作ができなくなると、それまでメモリに保存されていたデータが破壊されてしまい、ユーザは、データ消失という被害を受けることになったり、ハンディターミナルを再起動したときにレジューム機能が実行不可能となりユーザの利便性が損なわれてしまうという問題が発生する。
【００１０】
緊急停止処理の実行を確実なものにすることのできる手法として、次の２つが考えられる。第１の方法は、回路内に蓄積される電荷の量を増大させる。第２の方法は、緊急停止処理中に消費される電力を低減させる。
【００１１】
上記第１の方法に関し、回路内に蓄積される電荷の量は、回路中に実装するコンデンサの容量によって決定されるものであることから、コンデンサの容量を増大することはハンディターミナル本体の大型化を招いてしまう。このことは、近時の小型化の要請に反することになり、むやみに回路内に蓄積される電荷の量を増大させることは難しい。
【００１２】
上記第２の方法に関し、緊急停止処理がスタートした瞬間に、バックライト、スキャナ、ＬＥＤ、ブザー、バイブレータなど消費電流の大きなデバイス（内蔵大電力デバイス）の動作を抑えることができれば、回路内に蓄積された電荷の消費を抑えることができる。
【００１３】
しかし、従来は、図１に示すように、内蔵大電力デバイス１〜５の動作を強制的に停止する処理をソフトウエアで行っていたため、ＣＰＵ６で停止処理するのに、ある程度の時間が必要であった。なお、ＣＰＵ６から内蔵大電力デバイス１〜５への矢印を付した信号線は複数の信号線を意味する。すなわち、内蔵大電力デバイス１〜５はイネーブル端子を有し、個々のデバイス１〜５に対してＣＰＵ６で細やかなイネーブル制御を行うことで消費電流を抑える構成となっているが、主電池７の抜け、つまり主電池７がハンディターミナル本体から外れたことを検出回路８が検出し、これに伴う電池抜け信号をＣＰＵ６が受け取って個々の大電力デバイス１〜５の動作を停止するまでの遅延時間が大きくなり、この間に可成りの量の電荷を消費してしまったときには、その結果として緊急停止処理の途中で、回路内に蓄積されている電荷が尽きてしまう可能性を含んでいた。
【００１４】
また、図２を参照して、従来のハンディターミナルでは、フラッシュＲＯＭへのデータの書き込み（ステップＳ７）は、ハンディターミナルの電源をＯＦＦする際に電源キースイッチを長押し（ステップＳ６）などのユーザが意識的に行う明示的な操作を要求しているが、ユーザがハンディターミナルの通常の使用しているときには揮発性のＲＡＭへの書き込みを行っているため（ステップＳ１〜Ｓ５）、例えばハンディターミナルを落す等の事故によりデータが消失してしまう虞がある。また、仮にフラッシュＲＯＭに書き込み（ステップＳ７）を行っている場合でも、データをそのまま書き込むと書き込みに時間を要し、ハンディターミナルの操作性が悪化してしまう可能性がある。更に、フラッシュＲＯＭへの書き込み（ステップＳ７）中に、メイン電池が外された場合には、フラッシュＲＯＭに正常にデータが書き込まれないことが想定される。
【００１５】
そこで、本発明の目的は、メイン電池が何らの原因で外れた場合に、緊急停止処理の実行を確保することのできるバーコードハンディターミナルを提供することにある。
【００１６】
本発明の更なる目的は、緊急停止処理に費やすことのできる回路内の電荷の量を多く保存することにより、緊急停止処理の実行を確保することのできるバーコードハンディターミナルを提供することにある。
【００１７】
本発明の更なる目的は、メモリに書き込むデータの量を削減してデータ書き込み時間を短縮することにより、緊急停止処理の実行を確保することのできるバーコードハンディターミナルを提供することにある。
【００１８】
本発明の更なる目的は、デフォルトのデータ書き込みメモリを不揮発性メモリであるフラッシュＲＯＭに設定することで、万が一緊急停止処理に失敗、あるいは補助電池の電力が不足している場合においても、データの保護を可能にするバーコードハンディターミナルを提供することにある。
【００１９】
【課題を解決するための手段】
かかる技術的課題は、本発明の第１の発明によれば、
バーコードハンディターミナル本体から主電池が外れたときに、バーコードハンディターミナル本体の内部に蓄積されている電荷を用いて緊急停止処理を実行するバーコードハンディターミナルにおいて、
前記主電池が前記バーコードハンディターミナル本体から外れたことを検出する電池抜け検出回路と、
前記バーコードハンディターミナルに内蔵され且つ消費電流の大きなデバイスに電力を供給する電源ラインと、
該電源ラインに介装されたスイッチとを有し、
前記主電池が前記ハンディターミナル本体から外れたことを前記電池抜け検出回路が検出したときに、前記電源ラインのスイッチをＯＦＦすることを特徴とするバーコードハンディターミナルを提供することにより達成される。
【００２０】
また、本発明の第２の発明によれば、
バーコードハンディターミナル本体から主電池が外れたときに、バーコードハンディターミナル本体の内部に蓄積されている電荷を用いて緊急停止処理を実行するバーコードハンディターミナルにおいて、
前記バーコードハンディターミナルに内蔵され且つ消費電流の大きなデバイスと、
該デバイスに設けられたイネーブル端子と、
該イネーブル端子に接続された論理素子と、
前記主電池が前記バーコードハンディターミナル本体から外れたことを検出する電池抜け検出回路と、
前記主電池が前記ハンディターミナル本体から外れたことを前記電池抜け検出回路が検出したときに、該電池抜け検出回路から電池抜け信号が前記論理素子に出力されて、前記デバイスがディスエーブル状態になることを特徴とするバーコードハンディターミナルを提供することにより達成される。
【００２１】
また、本発明の第３の発明によれば、
読み取ったフィールドデータを一次的に保存する第１メモリ手段と、複数のフィールドデータにより確立したレコードデータを保存する第２メモリ手段とを有するバーコードハンディターミナルにおいて、
前記レコードデータが確立したときに、これをトリガにして前記第２メモリ手段にレコードデータを書き込むことを特徴とするバーコードハンディターミナルを提供することにより達成される。
【００２２】
この第３の発明は、好ましくは、前記第２メモリ手段に書き込む際に、前回書き込みを行ったレコードデータと今回書き込みを行うレコードデータとの差分だけを前記第２メモリに書き込むのがよい。また、この第３の発明は、上述した第１、第２の発明と組み合わせて発明を構成するようにしてもよい。
【００２３】
【発明の実施の形態】
本発明の好ましい第１の実施の形態では、図３に示すように、主電池１０から電源回路１１を経て、スキャナ１２、ＬＣＤバックライト１３、バイブレータの振動源であるモータ１４、ブザー１５、ＬＥＤ１６などの消費電流の大きなデバイスに電力を供給する電源ライン１７にスイッチ１８が介装されている。主電池１０がハンディターミナル本体から外れたことを検出する電池抜け回路１９からの電池抜け信号は、従来と同様に、ＣＰＵ２０に入力され、このＣＰＵ２０から内蔵大電力デバイス１２〜１６のイネーブル端子にディスエーブル信号が出力される。
【００２４】
また、電池抜け回路１９からの電池抜け信号は直接的にスイッチ１８に入力され、主電池１０がハンディターミナル本体から外れたときに、スイッチ１８が強制的にＯＦＦされ、これにより、内蔵大電力デバイス１２〜１６への電源を切断する。この第１の実施の形態によれば、主電池１０がハンディターミナル本体から外れると、ＣＰＵ２０の処理に依存することなく、スイッチ１８をＯＦＦに切り替えて内蔵大電力デバイス１２〜１６への電源供給を強制的に停止することから、電池抜け回路１９により主電池１０が外れたことを検出してから実質的に遅延時間無しに内蔵大電力デバイス１２〜１６をＯＦＦさせることができる。
【００２５】
第２の形態では、図４に示すように、各内蔵大電力デバイス１２〜１６のイネーブル端子には論理素子２１〜２５が設けられ、この論理素子２１〜２５に電池抜け回路１９及びＣＰＵ２０を経由して電源ＯＦＦ信号が入力される。論理素子２１〜２５はａｎｄ回路である。
【００２６】
この第２の実施の形態によれば、主電池１０がハンディターミナル本体から外れると、ＣＰＵ２０の処理に依存することなく、ハードウエアで内蔵大電力デバイス１２〜１６のイネーブル端子をディスエーブル状態にすることができるため、電池抜け回路１９により主電池１０が外れたことを検出してから実質的に遅延時間無しに内蔵大電力デバイス１２〜１６の動作を停止させることができる。この第２の形態では、第１の形態とは異なり、論理素子２１〜２５を付加する必要があるが、内蔵大電力デバイス１２〜１６への電源をＯＦＦするものではないため、デバイス１２〜１６への制御信号を供給しても問題を生じることがないという利点がある。
【００２７】
上記の第１及び第２の実施の形態によれば、電池抜け回路１９により主電池１０が外れたことを検出してから実質的に遅延時間無しに内蔵大電力デバイス１２〜１６をＯＦＦ又は動作停止できるため、従来に比べて、バーコードハンディターミナルの回路中に蓄積された電荷を内蔵大電力デバイス１２〜１６が消費する電荷の量を従来に比べて大幅に低減することができ、その分、回路中に蓄積された電荷を保存して、これを長時間に亘って緊急停止処理のために費やすことができ、これにより、ＤＲＡＭなどのメモリ２６にセルフリフレッシュへの移行コマンドを送信したり、再起動の際のレジューム動作のための所定の値の書き込みなどの緊急停止処理を実行することができる。
【００２８】
第３の実施の形態は、上述した第１、第２の実施の形態に代えて又は一緒に採用可能である。先ず、ハンディターミナルの入力データの格納先としてデフォルトでフラッシュＲＯＭを指定しておき、そして、入力データの格納はレコード単位で行う。ここに１レコードは複数のフィールドからなる。
【００２９】
図５を参照して、ステップＳ１０で読み込んだフィールドデータはＲＡＭに一次的に保存する（ステップＳ１１）。ユーザによって重要なのはレコードとして確立されたデータであることから、全てのフィールドデータが揃った時点でステップＳ１２からステップＳ１３に移行して、このステップＳ１３でフラッシュＲＯＭに保存する。すなわち、レコードデータが確立したタイミングをトリガとしてフラッシュＲＯＭへの書き込みを実行する。これにより、緊急停止処理の際にフラッシュＲＯＭに書き込むデータの量を低減することができる。
【００３０】
図６に例示するように、ユーザが１レコードの情報として、「作業」「型番」「数量」を入力したとすると、これが１レコードとして成立したときに、ハンディターミナル内部で「日付」「時刻」「端末ＩＤ」が付加される。したがって、フラッシュＲＯＭに格納すべきデータは図７に示すようになり、データのサイズは３５４バイトである。
【００３１】
データをフラッシュＲＯＭに書き込む際に、前回書き込みを行ったレコードデータと今回のレコードデータの差分のみを書き込むのがよい。すなわち、前回のデータと比較して、図８に例示するように、同じデータは繰り返し記号（図８では繰り返し記号として“＠”を使用してある）に変換した後にフラッシュＲＯＭに格納される。なお、図８のデータ簡略化の例では、時刻に関しては、時分と秒にデータを分けてある。この図８の例であれば、データのサイズは１６７バイトになる。
【００３２】
このようにデータの簡略化を実行することにより、全てのデータをフラッシュＲＯＭに書き込むよりも、短時間で大量のデータの書き込みを実行できるだけでなく、書き込み時間も短くて済むことから、ユーザの操作性を向上できる。ステップＳ１３でデータの書き込みが完了したらハンディターミナルの電源を落とす（ステップＳ１４）。
【００３３】
フラッシュＲＯＭの消去中や書き込み中に、主電池が外れるなどにより不用意に電源が落ちてしまった場合、フラッシュＲＯＭの消去中であればイレースをサスペンドする。また、書き込み中であれば現在書き込み中のデータの書き込みを完了するまで、上述した第１、第２の実施の形態により回路内に保存されている電荷でデータの書き込みを継続して、この書き込みが完了してからハンディターミナルの電源を落とすことができる。電源を再投入したときに、必ずフラッシュＲＯＭの消去及び書き込みを継続することでレコードデータを保証することができる。
【図面の簡単な説明】
【図１】主電池がハンディターミナル本体から外れたときの従来の制御回路図である。
【図２】フラッシュＲＯＭへのデータの書き込みに関する従来方法のフローチャートである。
【図３】主電池がハンディターミナル本体から外れたときの第１実施の形態の制御回路図である。
【図４】主電池がハンディターミナル本体から外れたときの第２実施の形態の制御回路図である。
【図５】第３実施の形態に関する、フラッシュＲＯＭへのデータの書き込みに関するフローチャートである。
【図６】ユーザが入力するフィールドデータの例を説明するための図である。
【図７】１レコードとしてフラッシュＲＯＭに格納されるべきデータを説明するための図である。
【図８】データを簡略化してフラッシュＲＯＭに格納することを説明するための図である。
【符号の説明】
１０    主電池
１２〜１６  内蔵大電力消費デバイス
１７    電源ライン
１８    スイッチ
１９    電池抜け検出回路
２０    ＣＰＵ
２１〜２５  論理素子
２６    メモリ
【図１】
2004220505.tif 000003
【図２】
2004220505.tif 000004
【図３】
2004220505.tif 000005
【図４】
2004220505.tif 000006
【図５】
2004220505.tif 000007
【図６】
2004220505.tif 000008
【図７】
2004220505.tif 000009
【図８】
2004220505.tif 000010