(57)【特許請求の範囲】
【請求項１】
機器を駆動するための電池と、
前記電池の電圧を測定する測定部と、
測定が行われた日時を提供する計時部と、
前記電圧および前記日時に係るデータを格納する記憶部と、
反復して電池電圧の測定を前記測定部に行わせる処理、それぞれの測定に係る日時を前記計時部から取得する処理および測定された各電池電圧と先後の測定の間の電圧の変化とを測定に係る日時と関連付けて電池電圧ログとして前記記憶部に格納する処理、格納された電池電圧ログに基づいて現時点から後の一連の時刻の電池電圧を予測する処理、および、予測された電池電圧が予め定められた閾値に降下するまでを稼働可能時間として算出する処理を行う制御部と、
前記稼働可能時間に係る表示を行う表示部とを備え、
前記制御部は、測定部に現時点の電池電圧の測定を行わせ、前記計時部から測定の日時を取得し、各時刻の電池電圧を予測するにあたって各時刻から所定範囲内の時刻であって以前の日に測定が行われた電池電圧ログであり、さらに、測定された各電池電圧を予め定めた電圧区分に分割した場合に前記現時点の電池電圧と同じ電圧区分に該当する電池電圧ログに基づいて予測することを特徴とする電子キャッシュレジスタ。
【請求項２】
前記計時部は、測定が行われた日時と曜日とを提供し、
前記制御部は、電池電圧の現時点からの推移を予測するとき、測定に係る時刻が現時点から所定範囲内にありかつ測定に係る曜日が予測に係る曜日と同じ電池電圧ログに基づいて予測する請求項１に記載の電子キャッシュレジスタ。
【請求項３】
前記制御部は、一日を予め定めた複数の期間に分割し、現時点からの電池電圧の推移を前記期間に区切って逐次予測し、ある期間の電池電圧の推移の予測を、測定に係る時刻が同じ期間に属する電池電圧ログに基づいて行う請求項１または２に記載の電子キャッシュレジスタ。
【請求項４】
前記制御部は、一日を予め定めた間隔に分割した時間ブロックの間隔で電池電圧の測定を前記測定部に行わせ、その時間ブロックの始期の電池電圧および始期と終期の電池電圧の変化を電池電圧ログとして格納する請求項３に記載の電子キャッシュレジスタ。
【請求項５】
前記制御部は、一日を予め定めた間隔に分割した時間ブロックの間隔より短い間隔で反復して電池電圧の測定を前記測定部に行わせ、その時間ブロックにおいて測定した電池電圧に最小二乗法を適用してその時間ブロックの始期と終期における電池電圧を算出し、始期の電池電圧および始期と終期の電池電圧の変化を電池電圧ログとして格納する請求項３に記載の電子キャッシュレジスタ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電池駆動される電子キャッシュレジスタの稼働可能時間の予測を行う技術に関する。
【背景技術】
【０００２】
露天商など、バッテリー駆動される電子キャッシュレジスタを必要とするユーザーがある。バッテリー駆動される電子キャッシュレジスタは、一般的にバッテリーで動作中にバッテリー電圧値を測定し、電池電圧値または電池電圧値に相当する情報を表示する。バッテリーの電圧が電子キャッシュレジスタを駆動可能な電圧値を下回ると、電子キャッシュレジスタが動作し、取引処理ができなくなる。そのような動作停止に至るまでの電圧値の余裕をユーザーに知らせ、まだ余裕のあるうちにバッテリーを充電したりＡＣ駆動に切換えたりする対応を促すために、電池電圧値に相当する情報の表示が必要である。
電圧値に相当する情報とは、例えば機器の電池電圧が取りうる範囲を複数の範囲にレベル分けし、現在の電池電圧値がどのレベルに属しているかを表示するといったものである。これは、電池電圧値を丸めたものであり、本質的には電池電圧値に相当する情報である。
【０００３】
バッテリー駆動される機器の警告に関する技術として、通信、待機の頻度を監視したデータを記憶し、バッテリー残量の算出に用いて連続待機、連続通話時間を各々得るものが提案されている（例えば、特許文献１参照）。特許文献１において、制御部は、一定時間の間における通信中のハンドオーバの発生頻度Ｆｃと待ち受け中のセルリセレクションの発生頻度Ｆｉとを監視する（ステップＳ５）。そして、記憶部のテーブルから発生頻度Ｆｃ及びＦｉにそれぞれ対応するモビリティパラメータα及びβを得て（ステップＳ６）、モビリティパラメータα及びβを用いて端末のバッテリー残量を連続待ち受け可能時間及び連続通話可能時間にそれぞれ変換する（ステップＳ７）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２６７０６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上述のような電圧値の測定と表示は、電池電圧を測定した瞬間の電池の状態を示しているに過ぎず、機器があとどれ程の期間使用できるかを直接的に示すものではない。何故なら、機器の稼働可能時間は、機器の使用状況や電池の劣化状態によって変化するからである。即ち、バッテリーの電圧降下はバッテリーの劣化状態や電子キャッシュレジスタの使用状態に依存する。例えば、取引操作などで電子キャッシュレジスタが動いている時間が多ければ電圧降下が早い。ところが、電子キャッシュレジスタを、使用していなければ電圧降下は遅い。よって、その時の電圧状態だけでは残り時間を見極めることができない。
【０００６】
しかし、使用者が電池残量表示に求めている情報は、電池の状態ではなく、使用中の機器があとどれほどの期間使用できるかに関するものである。種々の電子機器の中でも電子キャッシュレジスタは金銭取引に直接関わる処理を行うものである。機器があとどれほどの期間稼働可能かを精度よく予測できるものが望まれている。
【０００７】
この発明は、以上のような事情を考慮してなされたものであって、電池電圧の推移に影響を与える機器の使用状況や電池の劣化状態を考慮して、機器があとどれほどの期間稼働可能かを精度よく予測できる電子キャッシュレジスタを提供するものである。
【課題を解決するための手段】
【０００８】
この発明は、機器を駆動するための電池と、前記電池の電圧を測定する測定部と、測定が行われた日時を提供する計時部と、前記電圧および前記日時に係るデータを格納する記憶部と、反復して電池電圧の測定を前記測定部に行わせる処理、それぞれの測定に係る日時を前記計時部から取得する処理および測定された各電池電圧と先後の測定の間の電圧の変化とを測定に係る日時と関連付けて電池電圧ログとして前記記憶部に格納する処理、格納された電池電圧ログに基づいて現時点から後の一連の時刻における電池電圧を予測する処理、および、予測された電池電圧が予め定められた閾値に降下するまでを稼働可能時間として算出する処理を行う制御部と、前記稼働可能時間に係る表示を行う表示部とを備え、前記制御部は、測定部に現時点の電池電圧の測定を行わせ、前記計時部から測定の日時を取得し、各時刻の電池電圧を予測するにあたって各時刻から所定範囲内の時刻であって以前の日に測定が行われた電池電圧ログに基づいて予測することを特徴とする電子キャッシュレジスタを提供する。
【発明の効果】
【０００９】
この発明の電子キャッシュレジスタにおいて、制御部は、反復して電池電圧の測定を前記測定部に行わせる処理、それぞれの測定に係る日時を前記計時部から取得する処理および測定された各電池電圧と先後の測定の間の電圧の変化とを測定に係る日時と関連付けて電池電圧ログとして前記記憶部に格納する処理、格納された電池電圧ログに基づいて現時点から後の一連の時刻の電池電圧を予測する処理、および、予測された電池電圧が予め定められた閾値に降下するまでを稼働可能時間として算出する処理を行い、測定部に現時点の電池電圧の測定を行わせ、前記計時部から測定の日時を取得し、各時刻の電池電圧を予測するにあたって各時刻から所定範囲内の時刻であって以前の日に測定が行われた電池電圧ログに基づいて予測するので、電池電圧の推移に影響を与える機器の使用状況や電池の劣化状態を反映した電池電圧ログのうち、一日のうちほぼ同じ時刻に測定された電池電圧ログに基づいて、機器があとどれほどの期間稼働可能かを精度よく予測することができる。稼働可能な期間を表示させることによって、ユーザーにバッテリーの充電が必要になるタイミングを精度よく予測して知らせることができる。特に、露天商など、ＡＣ電源が確保できず、ＡＣ駆動や電池の充電ができない環境で電子キャッシュレジスタを使用するユーザーに対して、予備のバッテリーへの交換時期や閉店のタイミングを知らせることができる。
【００１０】
この発明において、電池は、充電可能なものでも使い切った後に交換するものでもよく、材料、形状は問わない。
測定部は、電池が機器を駆動しているときに電池の電圧を測定するものである。後述する実施形態においては、電池の端子電圧をＡ／Ｄ変換器で変換して制御部に読み取らせる回路が測定部に相当する。
計時部は、現在の日時を提供するものである。その具体的な態様は、例えば、リアルタイムクロック回路である。
【００１１】
記憶部は、データおよび変数を読み書き可能に格納するものである。その具体的な態様は、例えば、ＲＡＭ、フラッシュメモリーなどの半導体メモリー、あるいは、ハードディスク装置などの記憶装置である。後述する実施形態において、記憶部は、不揮発性メモリーに相当する。
制御部は、稼働可能電圧の予測処理を行うものである。また、電子キャッシュレジスタとしての金銭計算処理を行う。その具体的な態様は、例えば、ＣＰＵやマイクロコンピュータである。
また、表示部は、稼働可能電圧に係る表示を行うものである。その具体的な態様は、例えば、液晶表示装置やＬＥＤ表示装置である。表示部は、金銭計算の結果を表示してもよい。
【図面の簡単な説明】
【００１２】
【図１】この発明の電子キャッシュレジスタの電気的な構成例を示すブロック図である。
【図２】この発明に係る電池電圧の測定に関する第１の態様を示すグラフである。
【図３】図２の電池電圧測定データの例を示す説明図である。
【図４】この発明に係る電池電圧の測定に関する第２の態様を示すグラフである。
【図５】図４の電池電圧測定データの例を示す説明図である。
【図６】この発明に係る電池電圧ログ情報テーブルの一例を示す説明図である。
【図７】この発明に係る平均電圧降下量テーブルの一例を示す説明図である。
【図８】この実施形態に係る付加条件を説明するためのグラフである。
【図９】この発明に係る電池電圧の予測の一例を示す説明図である。
【図１０】この発明に係る制御部が実行する処理の手順を示す第１のフローチャートである。各時間ブロックの始期と終期に電池電圧を測定し電池電圧ログ情報テーブルを生成する処理である。
【図１１】この発明に係る制御部が実行する処理の手順を示す第２のフローチャートである。各時間ブロックの期間より短い間隔で電池電圧を繰り返し測定し電池電圧ログ情報テーブルを生成する処理である。
【図１２】この発明に係る制御部が実行する処理の手順を示す第３のフローチャートである。平均電圧降下量テーブルの生成に関する処理である。
【図１３】この発明に係る制御部が実行する処理の手順を示す第４のフローチャートである。平均電圧降下量テーブルの生成に関する処理である。
【図１４】この発明に係る制御部が実行する処理の手順を示す第５のフローチャートである。稼働可能時間の予測に関する処理である。
【図１５】この発明に係る制御部が実行する処理の手順を示す第６のフローチャートである。稼働可能時間の予測に関する処理である。
【図１６】この発明に係る制御部が実行する処理の手順を示す第７のフローチャートである。第１の付加条件に係る処理である。
【図１７】この発明に係る制御部が実行する処理の手順を示す第８のフローチャートである。第２の付加条件に係る処理である。
【発明を実施するための形態】
【００１３】
以下、この発明の好ましい態様について説明する。
前記計時部は、測定が行われた日時と曜日とを提供し、前記制御部は、電池電圧の現時点からの推移を予測するとき、測定に係る時刻が現時点に近くかつ測定に係る曜日が予測に係る曜日と同じ電池電圧ログに基づいて予測するようにしてもよい。このようにすれば、例えば、週末の売り上げが多いといったように、週の曜日ごとに使用状況に一定の傾向がある場合に、その傾向を考慮した予測が可能になる。
【００１４】
また、前記制御部は、電池電圧の現時点からの推移を予測するとき、測定された電池電圧を予め定めた電圧区分に分割し、測定に係る時刻が現時点に近くかつ前記電圧区分が現時点の電池電圧の区分と同じ電池電圧ログに基づいて予測するようにしてもよい。電池の通常の特性上、電圧降下量が満充電状態、電荷不足状態、および両者の間の状態で異なるところ、このようにすれば、現在の電池の状態に近い電池電圧ログに基づいて電圧降下量を精度よく予測することができる。
【００１５】
さらにまた、前記制御部は、一日を予め定めた複数の期間に分割し、電池電圧ログの測定に係る時刻と現時点とがそれぞれどの期間に属するかを判断し、測定に係る時刻と現時点とが同じ期間に属するときに両者が所定範囲内にあると判断してもよい。このようにすれば、測定に係る時刻と現時点とが近いか否かを明確な基準で判断することができる。
【００１６】
前記制御部は、一日を予め定めた間隔に分割した時間ブロックの間隔で電池電圧の測定を前記測定部に行わせ、その時間ブロックの始期の電池電圧および始期と終期の電池電圧の変化を電池電圧ログとして格納してもよい。このようにすれば、時間ブロックの間隔で電池電圧を測定して電池電圧ログを生成することができる。
【００１７】
あるいは、前記制御部は、一日を予め定めた間隔に分割した時間ブロックの間隔より短い間隔で反復して電池電圧の測定を前記測定部に行わせ、その時間ブロックにおいて測定した電池電圧に最小二乗法を適用してその時間ブロックの始期と終期における電池電圧を算出し、始期の電池電圧および始期と終期の電池電圧の変化を電池電圧ログとして格納してもよい。このようにすれば、時間ブロックより短い間隔で電池電圧を測定してその時間ブロックにおける電圧降下量を精度よく求めることができ、求めた電圧降下量を電池電圧ログとして格納することができる。
【００１８】
さらに、複数の期間の分割と時間ブロックの分割とが互いに一致してもよい。
この発明の好ましい態様は、ここで示した複数の態様のうち何れかを組み合わせたものも含む。
以下、図面を用いてこの発明をさらに詳述する。なお、以下の説明は、すべての点で例示であって、この発明を限定するものと解されるべきではない。
【００１９】
≪電子キャッシュレジスタの構成≫
図１は、この発明の電子キャッシュレジスタの電気的な構成例を示すブロック図である。図１に示すように、この発明の電子キャッシュレジスタ１１は、制御部２１、ＲＡＭ２３、表示部３１、ＲＯＭ３３、ＲＴＣ３５、不揮発性メモリー３７、電池４１およびＡ／Ｄ変換器４３を含んで構成される。図示していないが、金額やユーザーからの指示を入力するキーボード等の入力部も構成に含まれる。
制御部２１は、以下に述べる稼働可能時間の計算などの処理を行うプロセッサである。具体的にはＣＰＵあるいはマイクロコンピュータが用いられる。制御部２１は、電子キャッシュレジスタの主たる機能である金銭処理を行うとともに、
【００２０】
ＲＡＭ２３は、制御部２１がデータを処理するためのワークエリアを提供すると共に、平均電圧降下量テーブル５３や各種の一時変数を格納するメモリーで、例えばＳＲＡＭやＤＲＡＭなどの半導体メモリー素子が用いられる。前記一時変数には、例えば、電池電圧測定データＶＢ［］の配列変数、電池電圧ログ参照アドレスポインタＬ、電池電圧測定データインデックスカウンタＤｉ、時間ブロック中の降下電圧Ｖｄが含まれる。
表示部３１は、制御部２１の計算により得られた稼働可能時間を表示するもので、例えば、液晶表示装置あるいは有機ＥＬなどが用いられる。表示部３１は、電子キャッシュレジスタ１１の金銭計算の結果が表示されてもよいが、図示しない別の表示装置に金銭計算の結果を表示する構成であってもよい。
ＲＯＭ３３は、制御部２１が実行すべき処理プログラムを予め格納するもので、例えば、フラッシュメモリーが用いられる。
【００２１】
ＲＴＣ３５は、現在の日時および時刻を提供するリアルタイムクロックである。
不揮発性メモリー３７は、データを読み書き可能に格納し、電子キャッシュレジスタ１１の電源のオンまたはオフにかかわらず格納されたデータを保持するメモリーであって、例えばフラッシュメモリーが用いられる。不揮発性メモリー３７は、電池電圧ログ情報テーブル５１を格納する。さらに、電池電圧ログ情報テーブル５１の参照に用いる電池電圧ログ先頭アドレスポインタＬｔおよび電池電圧ログ末尾アドレスポインタＬＩを格納する。
電池４１は、電子キャッシュレジスタ１１を駆動する電源であって、具体的には例えばリチウムイオン電池が用いられる。稼働可能時間は、電池４１が現時点からどれだけの期間、電子キャッシュレジスタ１１を駆動できるかを予測したものである。
Ａ／Ｄ変換器４３は、制御部２１が電池４１の電池電圧を読み取る際に用いられる回路である。
【００２２】
≪電池電圧の測定−時間ブロックごとの基点電圧と電圧降下量の測定≫
この発明による電子キャッシュレジスタは、電池によって駆動される。ただし、ＡＣ電源によって駆動されることがあってもよい。稼働可能時間は、電子キャッシュレジスタ１１が電池４１によって駆動される場合に、あとどれだけの期間駆動できるかを示すものである。
【００２３】
電子キャッシュレジスタ１１が電池４１によって駆動されるとき、制御部２１は、電池４１の電池電圧の推移を電池電圧ログとして測定する。そして、記録不揮発性メモリー３７の電池電圧ログ情報テーブル５１に格納しておく。格納された電池電圧ログを用いて稼働可能時間を精度よく計算するためである。電池電圧ログは、予め定められた時間ブロックの単位で記録される。一例では、時間ブロックは１時間の単位である。しかし、この発明はそれに限定されるものでなく、時間ブロックの単位は１時間より短くてもより長くてもよい。
この実施形態において、制御部２１が各時間ブロックの始期と終期に電池電圧を測定する態様と、各時間ブロックの期間ｍより短い間隔で電池電圧を繰り返し測定してその時間ブロックにおける電池電圧の推移をより忠実にフィッティングする態様についてそれぞれ説明する。
【００２４】
第１の態様：各時間ブロックの始期と終期に電池電圧を測定する手法
図２は、この発明に係る電池電圧の測定に関する第１の態様を示すグラフである。図２で、横軸は時間の推移を示しており、ｔbはある時間ブロックの始期の時刻であり、ｍはその時間ブロックの始期から終期までの期間である。よって、（ｔb＋ｍ）は、その時間ブロックの終期の時刻である。１日のうちで基準となる時刻ｔ0が予め定められている。一例では基準時刻ｔ0は、１日の始期である午前零時である。時間ブロックの始期は、基準時刻ｔ0に対してｍの整数倍だけ前後した時刻である。即ち、
ｔb＝ｔ0＋ｍ×ｎ     （ただし、ｎは整数）
の関係が成立する。
【００２５】
図２の縦軸は、電池４１の電池電圧である。時刻ｔbにおける電池電圧Ｖbがその時間ブロックの基点電圧である。基点電圧Ｖbと時刻（ｔb＋ｍ）における電池電圧Ｖb+mとの差が電圧降下量Ｖdである。Ｖd＝Ｖb−Ｖb+mの関係が成り立つ。
制御部２１は、時刻ｔbにおいて電池４１の電池電圧を測定し、ＲＴＣ３５から取得した時刻ｔbおよび測定された電池電圧Ｖbの値をＲＡＭ２３に確保された配列変数、電池電圧測定データＶＢ［］の領域のうちＶＢ［０］に格納する。即ち、
ＶＢ．ｔ［０］＝ｔb
ＶＢ．Ｖ［０］＝Ｖb
【００２６】
さらに制御部２１は、その時間ブロックの周期の時刻ｔb＋ｍにおいて電池４１の電池電圧Ｖb+mを測定し、時刻ｔb＋ｍおよび電池電圧Ｖb+mの値をＲＡＭ２３に確保された電池電圧測定データＶＢ［１］のメモリー領域に格納する。即ち、
ＶＢ．ｔ［１］＝ｔb＋ｍ
ＶＢ．Ｖ［１］＝Ｖb+m
【００２７】
図３は、図２の電池電圧測定データの例を示す説明図である。図３に示すように、時刻ｔb＝１２：００：００における電池電圧Ｖb＝７．５８０（Ｖ）、時刻ｔb＋ｍ＝１３：００：００における電池電圧Ｖb+m＝７．３９６（Ｖ）である。よって、電池電圧測定データは、
ＶＢ．ｔ［０］＝１２：００：００
ＶＢ．Ｖ［０］＝７．５８０（Ｖ）
ＶＢ．ｔ［１］＝１３：００：００
ＶＢ．Ｖ［１］＝７．３９６（Ｖ）
である。電圧降下量Ｖdは、
Ｖd＝７．５８０−７．３９６＝０．１８４（Ｖ）
である。
【００２８】
第２の態様：各時間ブロックの期間ｍより短い間隔で電池電圧を繰り返し測定する手法
図４は、この発明に係る電池電圧の測定に関する第２の態様を示すグラフである。図２と同様に図４の横軸は時間の推移を示しており、ｔbはある時間ブロックの始期の時刻、（ｔb＋ｍ）は、その時間ブロックの終期の時刻である。縦軸は、電池電圧の大きさを示している。制御部２１は、時間ブロックの期間ｍよりも短い間隔で電池電圧を繰り返し測定し、各時刻とその時刻における電池電圧の値をＲＡＭ２３に確保された電池電圧測定データＶＢ［ ］のメモリー領域に格納する。
【００２９】
図５は、図４の電池電圧測定データの例を示す説明図である。図５に示すように、制御部２１は、１時間の時間ブロックの間に電池電圧の測定を１２０回繰り返す。即ち、３０秒毎に電池電圧の測定を行う。その結果、図５の電池電圧測定データは、
ＶＢ．ｔ［０］＝１２：００：００
ＶＢ．Ｖ［０］＝７．５８０（Ｖ）
ＶＢ．ｔ［１］＝１２：００：３０
ＶＢ．Ｖ［１］＝７．５７９（Ｖ）
ＶＢ．ｔ［２］＝１２：０１：００
ＶＢ．Ｖ［２］＝７．５７７（Ｖ）
：              ：
ＶＢ．ｔ［１２０］＝１３：００：００
ＶＢ．Ｖ［１２０］＝７．３９６（Ｖ）
である。
【００３０】
そして、制御部２１は、電池電圧測定データに基づく回帰直線を求め、その時間ブロックにおける平均的電圧降下量と基点電圧とを求める。基点電圧Ｖbは、時刻ｔbにおける前記回帰直線の電圧である。電圧降下量Ｖdは、前記基点電圧Ｖbと時刻（ｔb＋ｍ）における前記回帰直線の電圧Ｖb+mとの差である。Ｖd＝Ｖb−Ｖb+mの関係が成り立つ。
【００３１】
≪電池電圧ログ情報テーブル−時間ブロックごとの履歴の格納≫
制御部２１は、時間ブロックが経過する毎に電池４１の電池電圧ログを取得し、記録不揮発性メモリー３７の電池電圧ログ情報テーブル５１に格納する。電池電圧ログは、時間ブロックごとの始期の時刻、日付と曜日、基点電圧Ｖbおよび電圧降下量Ｖdからなる。
図６は、この発明に係る電池電圧ログ情報テーブルの一例を示す説明図である。図６に示すように、制御部２１は、新たに得られた電池電圧ログを電池電圧ログ情報テーブル５１の末尾に追加する。追加の際、電池電圧ログ末尾アドレスポインタＬＩを用いる。電池電圧ログ情報テーブル５１の容量一杯まで電池電圧ログが格納された後は、電池電圧ログ情報テーブル５１の先頭の電池電圧ログから上書きするようにしてもよい。つまり、電池電圧ログ情報テーブル５１をリングバッファとして使用し電池電圧ログを格納するのである。先頭の電池電圧ログを上書きする際に、制御部２１は、電池電圧ログ先頭アドレスポインタＬｔを用いる。
【００３２】
≪平均電圧降下量テーブルの作成−将来の電池電圧の推移予測≫
稼働可能時間を算出する際の前処理として、制御部２１は、現在の時間ブロックを基点とし、時間ブロック単位で将来の電池電圧の推移を示す平均電圧降下量テーブルを作成する。平均電圧降下量テーブルを作成する際に、制御部２１は電池電圧ログ情報テーブル５１を参照する。電池電圧ログ参照アドレス情報Ｌは、制御部２１が電池電圧ログ情報テーブル５１に格納された電池電圧ログを参照する際に用いるポインタである。
【００３３】
図７は、この発明に係る平均電圧降下量テーブルの一例を示す説明図である。図７に示す平均電圧降下量テーブルで、左欄の「相対時刻」は、現在の時刻ｔを基点とし、２４時間が経過するまでの時間ブロック、即ち「０：００」から「２３：００」までを時間ブロック単位で区切ったものである。図７の例では図６と同様に、時間ブロックの期間ｍは１時間である。
【００３４】
図７で右欄の平均電圧降下量は、現在の電池電圧を基点（ゼロ）として、各時間ブロックの始期から終期までに電池電圧がどれだけ降下するか、電圧降下量の予測値を示している。現在の時刻が時間ブロックの始期に相当する時刻であることは希である。相対時刻「０：００」については、現在の時刻が含まれる時間ブロックの終期が到来するまでの間に、現在時刻における電池電圧がどれだけ降下するかを示している。
【００３５】
制御部２１は、次のようにして平均電圧降下量テーブル５３を作成する。まず、平均電圧降下量テーブル５３の平均電圧降下量の格納領域ＶＡ．Ｖad［ ］に初期値を書き込む（初期化処理）。初期値は、典型的な使用状態における時間ブロック単位の電圧降下量を工場出荷前に予め測定し、その値を使用することができる。
続いて制御部２１は、図７の電池電圧ログ情報テーブル５１に係る時間ブロックから、現在時刻が含まれる時間ブロックを相対時刻０：００に対応させたうえで、０：００から２３：００までそれぞれの相対時刻の時間ブロックに対応する電圧降下量Ｖdの平均値Ｖadを、電池電圧ログ情報テーブル５１に格納された電池電圧ログに基づいて算出する。相対時刻０：００から２３：００までの各時間ブロックに対応するＶadは、一日のうちその時間帯における電子キャッシュレジスタ１１の平均的な使用頻度を反映した電圧降下量といえる。制御部２１は、算出された平均の電圧降下量Ｖadを、平均電圧降下量テーブル５３の対応する相対時刻の格納領域ＶＡ．Ｖad［ ］にそれぞれ格納する。
電池電圧ログ情報テーブル５１に格納された各電池電圧ログを用いて平均の電圧降下量Ｖadを算出するとき、平均値算出の要素としてその電池電圧ログを抽出するか否かの抽出条件として上述の時間ブロックの一致に加え、例えば以下のような条件を付加することができる。
【００３６】
第１の付加条件：曜日の付加
現在日時と同じ曜日の情報のみ参照するように条件を付加する。
ユーザーによっては、週末の売り上げが多いなど、特定の曜日で使用頻度が異なる場合がある。特定の曜日の使用頻度が高いユーザーの場合、電池電圧の降下量は曜日に依存する。同じ曜日のデータのみを抽出することによって、電圧降下量の予測精度を高めることができる。
【００３７】
第２の付加条件：電池電圧範囲の付加
現在の電池電圧に近い範囲の基点電圧を有する時間ブロックのみ参照するように条件を付加する。
図８は、この実施形態に係る付加条件を説明するためのグラフである。図８に示すように、電池の通常の特性上、満充電状態、電荷不足に近い状態、および両者の間の状態では、同一の使用頻度でも異なる電圧降下量になる。電池の電圧特性ごとに電圧区間を分割し、同じ電圧区間の電圧降下量を参照することで、電池電圧の予測精度を高める。図８では、満充電状態を電圧区間Ａ、電荷不足に近い状態を電圧区間Ｃ、両者の間の状態を電圧区間Ｂとして区分している。
制御部２１は、以上の付加条件を単独でまたは組み合わせて適用し、あるいは付加条件なしで各時間ブロックに対応する平均の電圧降下量Ｖadを算出する。
【００３８】
条件の組合せが多くなる程、電池電圧の予測精度は向上するようにも考えられる。ただし、それは電池電圧ログ情報テーブル５１に十分な数の各電池電圧ログが格納されており抽出条件に該当する十分な数の電池電圧ログが存することが前提である。
抽出条件に該当する電池電圧ログがない時間ブロックについては、Ｖadが算出されない。よって、その時間ブロックについては平均電圧降下量テーブル５３へのＶadの格納が行われず、その結果として初期値が用いられる。また、該当する電池電圧ログがあってもその数が少ないとき、例えば該当する電池電圧ログが１つだけの場合は予測精度が向上するとはいえない。よって、抽出の条件の組合せが多ければ予測精度が向上すると一律にいうことはできない。条件を付加するか否かは、ユーザーが設定により選択できるようにしてもよい。あるいは制御部２１が、条件を組合せるかおよび／または条件を付加するかをその抽出条件に該当する電池電圧ログの数が閾値以上存するか否かに基づいて判断し変更するようにしてもよい。
【００３９】
≪稼働可能時間の算出≫
以上のようにして基礎となる平均電圧降下量テーブル５３が作成されたら、制御部２１は、作成された平均電圧降下量テーブルを用いて次のように稼働可能時間を算出する。
制御部２１は、現在の時刻ｔにおける電池電圧を測定する。この時刻ｔは、平均電圧降下量テーブル５３の基点の時刻である。即ち、制御部２１は、平均電圧降下量テーブル５３を作成する時点で電池電圧Ｖtを測定するのである。
制御部２１は、得られた電池電圧Ｖtを平均電圧降下量テーブルの相対時刻「０：００」の電池電圧予測値ＶＡ．Ｖb［０］に格納する。Ｖtは予測値でなく実測値であるが、便宜上このようにする。
【００４０】
続いて制御部２１は、既に求められた平均電圧降下量テーブル５３の相対時刻「０：００」の平均電圧降下量ＶＡ．Ｖad［０］を用いて相対時刻「０：００」の時間ブロックの終期、即ち、次の相対時刻の時間ブロック「１：００」の始期の電池電圧の予測値を算出する。ここで注意すべき点は、現在時刻ｔが相対時刻「０：００」の始期の時刻ｔbと通常は一致せず、始期と終期の間にあるということである。よって、既に求められている相対時刻「０：００」の平均電圧降下量ＶＡ．Ｖad［０］に、終期の時刻ｔb＋ｍまでの残り時間の時間ブロックの全期間ｍに対する比率を乗じて終期までの電圧降下量とする。そして、得られた電圧降下量を現在の電池電圧Ｖtから減算して相対時刻「０：００」の終期における電池電圧の予測値とする。これは、相対時刻「１：００」の基点電圧の予測値といえる。制御部２１は、平均電圧降下量テーブル５３の相対時刻「１：００」における電池電圧予測値ＶＡ．Ｖb［１］として、得られた値を格納する。
【００４１】
算出された予測値が、電子キャッシュレジスタ１１が稼働可能な電圧として予め定められた閾値電圧Ｖlmt以上の場合、さらに制御部２１は、相対時刻「１：００」の基点電圧から相対時刻「１：００」の平均電圧降下量を減算し、相対時刻「２：００」の基点電圧の予測値を算出して格納する。算出された予測値が、Ｖlmt以上であれば、制御部２１はさらに、相対時刻「３：００」の基点電圧の予測値を算出して格納する。以下、順次「２３：００」まで基点電圧の予測値の計算を繰り返す。一方、算出された予測値がＶlmtより小さいときは、予測値の計算を打ち切り、直前の相対時刻を稼働可能な残時間として出力する。最後の時間ブロック「２３：００」の基点電圧の予測値がＶlmt以上であれば、電池の寿命は十分であるとしてその旨を出力する。
【００４２】
図９は、この発明に係る電池電圧の予測の一例を示す説明図である。図９で、現在の時刻は１３時３０分、時間ブロックは１時間単位で毎時００分が始期であり、現在の電池電圧測定値は７．５４１Ｖ、電子キャッシュレジスタ１１が稼働可能な閾値電圧Ｖlmtは６．５Ｖであるとする。
【００４３】
制御部２１は、現在の電池電圧測定値を相対時刻「０：００」の電池電圧予測値に格納する。既に求められた平均電圧降下量テーブルによれば、相対時刻「０：００」の平均電圧降下量は０．１８６Ｖである。現在時刻を含む時間ブロックの終期は１４時００分である。その終期まで、時間ブロックの期間の半分が残っているので、相対時刻「０：００」の終期までの電圧降下量は、
０．１８６（Ｖ）×３０（分）／６０（分）＝０．０９３（Ｖ）
である。制御部２１は、この電圧降下量を現在の電池電圧から減算する。
７．５４１−０．０９３＝７．４４８（Ｖ）
そして、相対時刻「１：００」の電池電圧予測値として格納する。得られた予測値は、Ｖlmtの６．５Ｖ以上であるから、制御部２１は、相対時刻「２：００」における電池電圧予測値をさらに計算し格納する。この計算は、相対時刻「１：００」の電池電圧予測値から相対時刻「１：００」の平均電圧降下量を減算して得られる。
７．４４８−０．１５１＝７．２９７（Ｖ）
得られた予測値は、Ｖlmtの６．５Ｖ以上であるから、制御部２１は、相対時刻「９：００」の電池電圧予測値に至るまで同様の計算を繰り返す。
【００４４】
相対時刻「９：００」の電池電圧予測値６．４７７（Ｖ）は、Ｖlmtの６．５Ｖを下回るので、制御部２１は電池電圧予測値の計算をここで打ち切る。そして、稼働可能時間を次のように算出する。
まず、相対時刻「０：００」の終期までの時間を求める。この時間は３０分である。さらに、基点電圧がＶlmt以上の時間ブロックの総計を求める。ここでは、相対時刻「１：００」から「７：００」までの７時間である。さらに、相対時刻「８：００」の期間中に電池電圧がＶlmtまで降下する期間を算出する。電圧降下特性が１次関数で表されるとすると、始期と終期の電池電圧予測値から、電池電圧がＶlmtまで降下する期間は次の計算によって得られる。
６０×（６．５７７−６．５００）／（６．５７７−６．４７７）＝４６（分）
【００４５】
よって、現在時刻ｔを基点とする稼働可能時間の予測値は、これらの総和で求められる。即ち、
３０（分）＋７時間＋４６（分）＝８時間１６分
が予測される稼働可能時間である。現在時刻が１３時３０分であるから、２１時４６分になるまで稼働すると予測される。
制御部２１は、この稼働可能時間を表示部３１に表示させる。
【００４６】
≪フローチャート≫
図１０〜図１７は、この発明に係る制御部２１が実行する処理の手順を示すフローチャートである。このうち、図１０および図１１は、時間ブロックごとの基点電圧と電圧降下量の測定および電池電圧ログ情報テーブルの生成に関する処理を示している。より詳細には、図１０は、各時間ブロックの始期と終期に電池電圧を測定する態様を示し、図１１は、各時間ブロックの期間より短い間隔で電池電圧を繰り返し測定する態様を示している。図１２および図１３は、平均電圧降下量テーブルの生成に関する処理を示している。図１４および図１５は、稼働可能時間の予測に関する処理を示している。図１６および図１７は、付加条件に係る処理を示している。
以下、フローチャートに沿って制御部２１が実行する処理を説明する。
【００４７】
電池電圧の測定と電池電圧ログ情報テーブルの生成
まず、図１０の処理を説明する。各時間ブロックの始期と終期に電池電圧を測定し、電池電圧ログ情報テーブルを生成する処理である。図１０に示すように、初期化処理として、制御部２１は、まず電池電圧ログ先頭アドレスポインタＬｔを電池電圧ログ情報テーブルの先頭アドレスを参照するようにセットする（ステップＳ１１）。さらに、電池電圧ログ末尾アドレスポインタＬＩを電池電圧ログ先頭アドレスポインタＬｔより１つ手前のアドレスを参照するように初期化する（ステップＳ１３）。この初期値は、後述するステップＳ３１で電池電圧ログ末尾アドレスポインタＬＩをインクリメントする分を見越したものである。最初は電池電圧ログが格納されないため、先頭と末尾のポインタの初期値はほぼ一致する。以上が初期化の処理である。
【００４８】
次に、制御部２１は、電池電圧測定データインデックスカウンタＤｉの初期値としてゼロをセットする（ステップＳ１５）。Ｄｉは、配列変数である電池電圧測定データＶＢ［ ］の参照に用いるカウンタである。
続いて、制御部２１は、ＲＴＣ３５から現在の年月日、曜日および時刻を取得する（ステップＳ１７）。そして、予め定められた時間ブロックの基点および単位に照らして次回の電池電圧ログの取得日時Ｔを計算する（ステップＳ１９）。そして、ＲＴＣを逐次参照しつつ（ステップＳ２１）、取得日時Ｔが到来するのを待つ（ステップＳ２３）。
【００４９】
取得日時Ｔが到来したら（ステップＳ２３のＹｅｓ）、制御部２１は、Ａ／Ｄ変換器４３を介して現在の電池電圧Ｖの測定を行う（ステップＳ２５）。そして、電池電圧測定データＶＢ［Ｄｉ］に測定された電池電圧Ｖと測定が行われた取得日時Ｔを格納する（ステップＳ２７）。続いて、Ｄｉをインクリメントする（ステップＳ２９）。図１０では、各時間ブロックの始期と終期に電池電圧を測定するところ、Ｄｉがゼロのときが始期の測定に対応し、Ｄｉが１の時が終期の測定に対応する。よって、Ｄｉをインクリメントした結果が１の場合（ステップＳ２３のＮｏ）は、始期の測定が終了した状態に対応する。この場合、ルーチンはステップＳ１９へ進み、終期の測定を行う取得日時Ｔを計算する。そして、ステップＳ２１〜Ｓ２９で始期の測定と同様の処理を繰り返す。
【００５０】
一方、Ｄｉが１より大きい場合（ステップＳ３１のＹｅｓ）は、終期の測定が完了した場合に対応する。この場合、制御部２１は、電池電圧ログを格納するために用いる電池電圧ログ末尾アドレスポインタＬＩをインクリメントする（ステップＳ３３）。そして、始期と終期の電池電圧を減算することにより電圧降下量Ｖdを得る（ステップＳ３５）。
制御部２１は、電池電圧ログ末尾アドレスポインタＬＩで参照される電池電圧ログ情報テーブル５１に、電池電圧測定データＶＢ［ ］に格納されている基点電圧の測定に係る年月日、曜日、時刻のデータＶＢ．ｔ［０］を電池電圧ログの年月日、曜日、時刻として格納する。また、得られた電圧降下量Ｖdを電池電圧ログの電圧降下量として格納する。さらに、電池電圧測定データＶＢ［ ］に格納された基点電圧のデータＶＢ．Ｖ［０］を電池電圧ログの基点電圧として格納する（ステップＳ３７）。そして、ルーチンはステップＳ１５へ戻り、次の時間ブロックの処理を同様に繰り返す。以上が、図１０に示す処理である。
【００５１】
これに対して図１１は、各時間ブロックの始期と終期だけでなく、その時間ブロックの期間よりも短い間隔で電池電圧を繰り返し測定する。
図１１で、ステップＳ４１、Ｓ４３、Ｓ４５、Ｓ４７およびＳ４９は、図１０のステップＳ１１、Ｓ１３、Ｓ１５、Ｓ１７およびＳ１９にそれぞれ対応しているので詳しい説明は省略する。なお、ステップＳ４９で取得する取得日時Ｔは、次の時間ブロックの始期であり、かつ現在の時間ブロックの終期である。
そのステップＳ４９の処理に続き、制御部２１は現在の電池電圧Ｖを測定する（ステップＳ５１）。そして、電池電圧測定データＶＢ［Ｄｉ］に測定された電池電圧Ｖと測定が行われた取得日時Ｔを格納する（ステップＳ５３）。続いて、Ｄｉをインクリメントする（ステップＳ５５）。
【００５２】
制御部２１は、ＲＴＣ３５から現在の年月日、曜日および時刻ｔを取得する（ステップＳ５７）。その時刻ｔが、取得日時Ｔ、即ち時間ブロックの終期に達したか否かを調べる（ステップＳ５９）。時間ブロックの終期に達していなければ、ルーチンはステップＳ５１へ進み、電池電圧Ｖの測定と電池電圧測定データの追加を繰り返す。このようにして、電池電圧のデータは、電池電圧測定データＶＢ［ ］の配列変数に順次格納される。なお、電池電圧Ｖの測定間隔が短すぎる場合は、測定周期に応じたタイマーの設定とそのタイマーの終了待ちの処理とをこの繰り返しループに追加すればよい。
【００５３】
現在の時刻ｔが時間ブロックの終期に達したら（ステップＳ５９のＹｅｓ）、制御部２１は、電池電圧ログを格納するために用いる電池電圧ログ末尾アドレスポインタＬＩをインクリメントする（ステップＳ６１）。そして、電池電圧測定データＶＢ［ ］に格納されたデータから回帰直線を算出し、その時間ブロックの基点電圧Ｖbとその時間ブロック中の降下電圧Ｖdとを求める（ステップＳ６３）。
【００５４】
制御部２１は、電池電圧ログ末尾アドレスポインタＬＩで参照される電池電圧ログ情報テーブル５１に、電池電圧測定データＶＢ［ ］に格納されている基点電圧の測定に係る年月日、曜日、時刻のデータＶＢ．ｔ［０］を電池電圧ログの年月日、曜日、時刻として格納する。また、前記ステップＳ６３で得られた電圧降下量Ｖdを電池電圧ログの電圧降下量として格納し、さらに、前記ステップＳ６３で得られた基点電圧Ｖbを電池電圧ログの基点電圧として格納する（ステップＳ６５）。そして、ルーチンはステップＳ４５へ戻り、次の時間ブロックの処理を同様に繰り返す。以上が、図１１に示す処理である。
【００５５】
平均電圧降下量テーブルの生成
次に、図１２および図１３に示す平均電圧降下量テーブル５３の生成に係る処理を説明する。
電子キャッシュレジスタ１１が電池４１で駆動されている状態で、制御部２１は、表示部３１に稼働可能電圧の予測値を表示させる。その表示の更新時期が到来したとき、制御部２１は、その時刻を基点とする平均電圧降下量テーブル５３を作成する。
制御部２１は、まず、平均電圧降下量テーブル５３に格納されている平均電圧降下量ＶＡ．Ｖad［ ］のデータを初期化する（ステップＳ７１）。初期化前には、直前に作成された平均電圧降下量テーブルの値が残っているからである。
【００５６】
そして、ＲＴＣ３５から現在の年月日、曜日および時刻を取得する（ステップＳ７３）。さらに、Ａ／Ｄ変換器４３を介して現在の電池電圧Ｖの測定を行う（ステップＳ７５）。また、現在の年月日、曜日および時刻tが含まれる時間ブロック、即ち相対時刻「０：００」に対応する時間ブロックの始期の時刻Ｔ０を算出する（ステップＳ７７）。
続いて、制御部２１は、平均電圧降下量テーブル５３において対象とすべき相対時刻を示すポインタＴｒの初期値としてゼロをセットする（ステップＳ７９）。さらに、平均電圧降下量テーブル参照カウンタＣａの初期値としてゼロをセットする（ステップＳ８１）。ポインタＴｒの初期値は、相対時刻「０：００」の始期の時刻を示す。また、平均電圧降下量テーブル参照カウンタＣａの初期値は、いま対象とする相対時刻が相対時刻「０：００」であることを示す。
【００５７】
その後、制御部２１は、電池電圧ログ情報テーブル５１から平均電圧降下量の計算に用いるデータを抽出するための処理を行う。まず、電池電圧ログ参照アドレスポインタＬに初期値としてＬｔをセットする（ステップＳ８３）。Ｌｔは、電池電圧ログ情報テーブル５１の先頭を示す。さらに、累積電圧降下量Ｖｓにゼロをセットし、該当ログカウンタＣＩにゼロをセットする（ステップＳ８５）。なおＣＩは、条件に該当する電池電圧ログの数を格納しておき、電圧降下量の平均値を計算する際に用いるカウンタである。
制御部２１は、電池電圧ログ情報テーブル５１のうち電池電圧ログ参照アドレスポインタＬで参照される電池電圧ログが示す時刻Ｔと、ポインタＴｒで示される時刻（例えば、初期値は前記ステップＳ７７で求めた時刻Ｔ０を）とが一致するかを調べる（ステップＳ８７）。一致しなければ、その電池電圧ログは平均電圧降下量の計算に用いないと判断し（ステップＳ８７のＮｏ）、ルーチンは後述するステップＳ９７へ進む。なお、ポインタＴｒで示される時刻は、いま対象としている相対時刻に対応する時刻である。そして、いま対象としている相対時刻は、平均電圧降下量テーブル参照カウンタＣａが示す相対時刻である。
【００５８】
一方、一致した場合は（ステップＳ８７のＹｅｓ）、さらに付加条件を調べるために図１６または図１７に示す処理を実行する（ステップＳ８９）。なお、付加条件を付さない場合はステップＳ９３の処理へスキップすればよい。
ここで、ステップＳ８９の処理に係る図１６および図１７の処理について説明する。図１６は、曜日の一致を付加条件としてデータを抽出する場合の処理を示している。図１７は、現在の電池電圧Ｖに近い電圧区分を付加条件としてデータを抽出する場合の処理を示している。両者を組み合わせる場合は、図１６と図１７の処理をいずれも行って、それぞれの判定が「該当」に相当する場合に最終の判定結果として「該当」とし、それ以外は最終の判定結果を「非該当」とすればよい。
【００５９】
図１６に示す処理で、制御部２１は、電池電圧ログ情報テーブル５１のうち、電池電圧ログ参照アドレスポインタＬで参照される電池電圧ログが示す時刻Ｔと、ポインタＴｒに係る曜日とが一致するかを調べる（ステップＳ１４１）。ポインタＴｒに係る曜日は、いま対象としている相対時刻の曜日（例えば、初期値は時刻Ｔ０に係る曜日）である。両者が一致する場合は、判定結果として「該当」を返し（ステップＳ１４５）、一致しない場合は判定結果として「非該当」を返す（ステップＳ１４３）。以上が、図１６に示す処理の内容である。
【００６０】
また、図１７に示す処理で、制御部２１は、電池電圧ログ参照アドレスポインタＬで参照される電池電圧ログの基点電圧Ｖbが属する電圧区分が図８に示す電圧区間Ａ，ＢおよびＣの何れに該当するかを調べる（ステップＳ１５１）。さらに、ポインタＴｒで示される時刻、即ち、いま対象としている相対時刻に係る基点電圧が、前記電圧区間Ａ，ＢおよびＣの何れに該当するかを調べる（ステップＳ１５３）。そして、両者の電圧区分が一致するか否かを調べる（ステップＳ１５５）。一致する場合は、判定結果として「該当」を返し（ステップＳ１５９）、一致しない場合は判定結果として「非該当」を返す（ステップＳ１５７）。以上が、図１７に示す処理の内容である。
【００６１】
図１３の説明に戻る。制御部は、前記ステップＳ８９の結果が「該当」か「非該当」かを調べる（ステップＳ９１）。結果が「非該当」であれば、その電池電圧ログは平均電圧降下量の計算に用いないと判断し（ステップＳ８７のＮｏ）、ルーチンは後述するステップＳ９７へ進む。
【００６２】
一方、結果が「該当」の場合、制御部２１は累積電圧降下量Ｖｓに電池電圧ログ参照アドレスポインタＬで参照される電池電圧ログの電圧降下量Ｖdを加算する（ステップＳ９３）。さらに、該当電池電圧ログカウンタＣＩをインクリメントする（ステップＳ９５）。そして、電池電圧ログ参照アドレスポインタＬが電池電圧ログ情報テーブル５１の末尾を指しているか否かを調べる（ステップＳ９７）。末尾でなければ（ステップＳ９７のＮｏ）、電池電圧ログ参照アドレスポインタＬをインクリメントし、電池電圧ログ情報テーブル５１の次の電池電圧ログを参照するようにした後（ステップＳ９９）、ステップＳ８７からの処理を繰り返す。このステップＳ８７〜Ｓ９９の繰り返し処理によって、電池電圧ログ情報テーブル５１に格納された電池電圧ログを順次参照するのである。
【００６３】
前記ステップＳ９７で、電池電圧ログ参照アドレスポインタＬが電池電圧ログ情報テーブル５１の末尾を指している場合（（ステップＳ９７のＹｅｓ）は、電池電圧ログ情報テーブル５１に格納されている電池電圧ログをすべて参照したことになる。この場合、ルーチンはステップＳ１０１へ進み、平均電圧降下量テーブル５３のうちでいま対象としている相対時刻に係る電圧降下量の平均値計算に用いるべき電池電圧ログの数を調べる。その数は、前記ステップＳ９５の処理でカウントされ、該当ログカウンタＣＩに格納されている。
該当ログカウンタＣＩがゼロであれば（ステップＳ１０１のＮｏ）、該当ログがないということであるから、いま対象としている相対時刻の電圧降下量はなにもせず初期値のままとし、ルーチンはステップＳ１０５へ進む。
【００６４】
一方、該当ログカウンタＣＩがゼロでなければ（ステップＳ１０１のＹｅｓ）、制御部２１は、いま対象としている相対時刻、即ち、平均電圧降下量テーブル参照カウンタＣａで示される相対時刻ＶＡ．ｔ［Ｃａ］の電圧降下量の平均を計算し、その結果を平均電圧降下量テーブル５３の平均電圧降下量ＶＡ．Ｖad［Ｃａ］に格納する（ステップＳ１０３）。ここで、平均電圧降下量ＶＡ．Ｖad［Ｃａ］は累積電圧降下量Ｖｓを該当ログカウンタＣＩで除して求められる。
ＶＡ．Ｖad［Ｃａ］＝Ｖｓ／ＣＩ
【００６５】
制御部２１は、次の相対時刻を参照すべく平均電圧降下量テーブル参照カウンタＣａをインクリメントする。さらに、平均電圧降下量テーブル参照カウンタＣａで示される相対時刻ＶＡ．ｔ［Ｃａ］の時間ブロックの始期の時刻に時間ブロックの間隔ｍを加算する（ステップＳ１０５）。これによって、ＣａとＴｒが同期した状態で次の相対時刻を示すように更新される。
【００６６】
続いて、制御部２１は、平均電圧降下量テーブル参照カウンタＣａが参照する相対時刻ＶＡ．ｔ［Ｃａ］が２４時間を超えるか否かを調べる（ステップＳ１０７）。具体的には、時間ブロックの間隔ｍに平均電圧降下量テーブル参照カウンタＣａの値を乗じた値が、２４時間より大きいかを調べる。２４時間を超えない場合（ステップＳ１０７のＮｏ）、ルーチンはＳ８７へ戻り処理を繰り返す。この繰り返し処理によって、次の相対時間について電池電圧ログ情報テーブル５１を参照しつつ電圧降下量の平均を計算し、得られた平均電圧降下量を平均電圧降下量テーブル５３に格納する。
一方、２４時間を超える場合（ステップＳ１０７のＹｅｓ）は、次に説明する稼働可能時間の予測を行う。
【００６７】
稼働可能時間の予測
前述のステップＳ１０７の判定がＹｅｓの場合に、制御部２１は、稼働可能時間の予測を行う。図１４および図１５に示す処理である。
まず制御部２１は、稼働可能時間を格納する一時変数Ｔｗをゼロに初期化する（ステップＳ１１１）。そして、平均電圧降下量テーブル参照カウンタＣにゼロをセットする（ステップＳ１１３）。平均電圧降下量テーブル参照カウンタＣの初期値は、相対時刻「０：００」を指す。
【００６８】
次に、制御部２１は、相対時刻「０：００」の時間ブロックの終期までの時間Ｔｗとその終期における電池電圧の予測値、即ち次の時間ブロックの始期における電池電圧の予測値ＶＡ．Ｖb［１］とを算出する（ステップＳ１１５）。算出に際して、前記ステップＳ７３で取得した現在時刻ｔとそのときの電池電圧Ｖを基点とする。
【００６９】
相対時刻「０：００」の時間ブロックの始期の時刻がＴ０であるから、終期までの時間Ｔｗは、
Ｔｗ＝Ｔ０＋ｍ−ｔ
で求められる。また、終期、即ち次の時間ブロックの始期における電池電圧の予測値ＶＡ．Ｖb［１］は、
ＶＡ．Ｖb［１］＝Ｖ−ＶＡ．Ｖad［０］×Ｔｗ／ｍ
【００７０】
そして、制御部２１は、平均電圧降下量テーブル参照カウンタＣが示す相対時刻が終了するときに、即ち、Ｃが示す時間ブロックの終期が到来するときに、電池電圧が稼動可能な閾値電圧Ｖlmtを下回るかを判定する（ステップＳ１１７）。下回らない場合（ステップＳ１１７のＮｏ）、平均電圧降下量テーブル参照カウンタＣをインクリメントし、次の時間ブロックを参照するようにする（ステップＳ１１９）。
【００７１】
次に、制御部２１は、平均電圧降下量テーブル参照カウンタＣで参照される相対時刻ＶＡ．ｔ［Ｃ］の時間ブロックの終期までの時間Ｔｗとその終期、即ち次の時間ブロックの始期における電池電圧の予測値ＶＡ．Ｖb［Ｃ］とを算出する（ステップＳ１２１）。終期までの時間Ｔｗは、直前の時間ブロックに係る終期の時刻Ｔｗに時間ブロックの間隔ｍを加算して、
Ｔｗ＝Ｔｗ＋ｍ
で求められる。また、終期、即ち次の時間ブロックの始期における電池電圧の予測値ＶＡ．Ｖb［Ｃ＋１］は、
ＶＡ．Ｖb［Ｃ＋１］＝ＶＡ．Ｖb［Ｃ］−ＶＡ．Ｖad［Ｃ］
で求められる。
【００７２】
そして、制御部２１は、平均電圧降下量テーブル参照カウンタＣが示す時間ブロックの終期が到来するときに、電池電圧が稼動可能な閾値電圧Ｖlmtを下回るかを判定する（ステップＳ１３１）。下回らない場合（ステップＳ１２３のＮｏ）、平均電圧降下量テーブル参照カウンタＣをインクリメントし、次の時間ブロックを参照するようにする（ステップＳ１２５）。
さらに、平均電圧降下量テーブル参照カウンタＣａが参照する相対時刻ＶＡ．ｔ［Ｃａ］が２４時間を超えるか否かを調べる（ステップＳ１２７）。具体的には、時間ブロックの間隔ｍに平均電圧降下量テーブル参照カウンタＣａの値を乗じた値が、２４時間より大きいかを調べる。２４時間を超える場合（ステップＳ１２７のＹｅｓ）、稼働時間は２４時間以上である旨の表示を表示部３１に表示させ（ステップＳ１２９）、処理を終了する。
【００７３】
一方、２４時間を超える場合（ステップＳ１２７のＮｏ）、ルーチンはＳ１２１へ戻り処理を繰り返す。この繰り返し処理によって、次の相対時間の終期が到来するときに、電池電圧が稼動可能な閾値電圧Ｖlmtを下回るかの判定を順次繰り返す。
一方、前述のステップＳ１１７またはＳ１２３の判定で、その時間ブロックの終期が到来するときに、電池電圧が稼動可能な閾値電圧Ｖlmtを下回る場合と判断した場合、ルーチンはステップＳ１３１へ進み、その時間ブロックの中で電池電圧が稼働可能電圧に達するまでの時間Ｔｗを算出する。この時間Ｔｗは、前の時間ブロックの処理で終期までの時間として得られたＴｗに時間ブロックの間隔ｍに次の比率を乗じたものを加算して求められる。その比率とは、時間ブロックの始期における電池電圧予測値ＶＡ．Ｖb［Ｃ］とＶlmtの差分をその時間ブロックの平均電圧降下量ＶＡ．Ｖad［Ｃ］で除した値である。
そして、算出した稼働可能時間Ｔｗを表示部３１に表示させ（ステップＳ１３３）、処理を終了する。
以上が、制御部２１の処理である。
【００７４】
前述した実施の形態の他にも、この発明について種々の変形例があり得る。それらの変形例は、この発明の範囲に属さないと解されるべきものではない。この発明には、請求の範囲と均等の意味および前記範囲内でのすべての変形とが含まれるべきである。
【符号の説明】
【００７５】
１１：電子キャッシュレジスタ
２１：制御部
２３：ＲＡＭ
３１：表示部
３３：ＲＯＭ
３５：ＲＴＣ
３７：不揮発性メモリー
４１：電池
４３：Ａ／Ｄ変換器
５１：電池電圧ログ情報テーブル
５３：平均電圧降下量テーブル
【図１】
0005789480.tif 000002
【図２】
0005789480.tif 000003
【図３】
0005789480.tif 000004
【図４】
0005789480.tif 000005
【図５】
0005789480.tif 000006
【図６】
0005789480.tif 000007
【図７】
0005789480.tif 000008
【図８】
0005789480.tif 000009
【図９】
0005789480.tif 000010
【図１０】
0005789480.tif 000011
【図１１】
0005789480.tif 000012
【図１２】
0005789480.tif 000013
【図１３】
0005789480.tif 000014
【図１４】
0005789480.tif 000015
【図１５】
0005789480.tif 000016
【図１６】
0005789480.tif 000017
【図１７】
0005789480.tif 000018