"機器を駆動するための電池と、前記電池の電圧を測定する測定部と、測定が行われた日時を提供する計時部と、前記電圧および前記日時に係るデータを格納する記憶部と、反復して電池電圧の測定を前記測定部に行わせる処理、それぞれの測定に係る日時を前記計時部から取得する処理および測定された各電池電圧と先後の測定の間の電圧の変化とを測定に係る日時と関連付けて電池電圧ログとして前記記憶部に格納する処理、格納された電池電圧ログに基づいて現時点から後の一連の時刻の電池電圧を予測する処理、および、予測された電池電圧が予め定められた閾値に降下するまでを稼働可能時間として算出する処理を行う制御部と、前記稼働可能時間に係る表示を行う表示部とを備え、前記制御部は、測定部に現時点の電池電圧の測定を行わせ、前記計時部から測定の日時を取得し、各時刻の電池電圧を予測するにあたって各時刻から所定範囲内の時刻であって以前の日に測定が行われた電池電圧ログに基づいて予測することを特徴とする電子キャッシュレジスタ。前記計時部は、測定が行われた日時と曜日とを提供し、前記制御部は、電池電圧の現時点からの推移を予測するとき、測定に係る時刻が現時点から所定範囲内にありかつ測定に係る曜日が予測に係る曜日と同じ電池電圧ログに基づいて予測する請求項1に記載の電子キャッシュレジスタ。前記制御部は、電池電圧の現時点からの推移を予測するとき、測定された電池電圧を予め定めた電圧区分に分割し、測定に係る時刻が現時点から所定範囲内にありかつ前記電圧区分が現時点の電池電圧の区分と同じ電池電圧ログに基づいて予測する請求項1に記載の電子キャッシュレジスタ。前記制御部は、一日を予め定めた複数の期間に分割し、現時点からの電池電圧の推移を前記期間に区切って逐次予測し、ある期間の電池電圧の推移の予測を、測定に係る時刻が同じ期間に属する電池電圧ログに基づいて行う請求項1~3の何れか一つに記載の電子キャッシュレジスタ。前記制御部は、一日を予め定めた間隔に分割した時間ブロックの間隔で電池電圧の測定を前記測定部に行わせ、その時間ブロックの始期の電池電圧および始期と終期の電池電圧の変化を電池電圧ログとして格納する請求項4に記載の電子キャッシュレジスタ。前記制御部は、一日を予め定めた間隔に分割した時間ブロックの間隔より短い間隔で反復して電池電圧の測定を前記測定部に行わせ、その時間ブロックにおいて測定した電池電圧に最小二乗法を適用してその時間ブロックの始期と終期における電池電圧を算出し、始期の電池電圧および始期と終期の電池電圧の変化を電池電圧ログとして格納する請求項4に記載の電子キャッシュレジスタ。しかし、上述のような電圧値の測定と表示は、電池電圧を測定した瞬間の電池の状態を示しているに過ぎず、機器があとどれ程の期間使用できるかを直接的に示すものではない。何故なら、機器の稼働可能時間は、機器の使用状況や電池の劣化状態によって変化するからである。即ち、バッテリーの電圧降下はバッテリーの劣化状態や電子キャッシュレジスタの使用状態に依存する。例えば、取引操作などで電子キャッシュレジスタが動いている時間が多ければ電圧降下が早い。ところが、電子キャッシュレジスタを、使用していなければ電圧降下は遅い。よって、その時の電圧状態だけでは残り時間を見極めることができない。しかし、使用者が電池残量表示に求めている情報は、電池の状態ではなく、使用中の機器があとどれほどの期間使用できるかに関するものである。種々の電子機器の中でも電子キャッシュレジスタは金銭取引に直接関わる処理を行うものである。機器があとどれほどの期間稼働可能かを精度よく予測できるものが望まれている。この発明は、以上のような事情を考慮してなされたものであって、電池電圧の推移に影響を与える機器の使用状況や電池の劣化状態を考慮して、機器があとどれほどの期間稼働可能かを精度よく予測できる電子キャッシュレジスタを提供するものである。この発明は、機器を駆動するための電池と、前記電池の電圧を測定する測定部と、測定が行われた日時を提供する計時部と、前記電圧および前記日時に係るデータを格納する記憶部と、反復して電池電圧の測定を前記測定部に行わせる処理、それぞれの測定に係る日時を前記計時部から取得する処理および測定された各電池電圧と先後の測定の間の電圧の変化とを測定に係る日時と関連付けて電池電圧ログとして前記記憶部に格納する処理、格納された電池電圧ログに基づいて現時点から後の一連の時刻における電池電圧を予測する処理、および、予測された電池電圧が予め定められた閾値に降下するまでを稼働可能時間として算出する処理を行う制御部と、前記稼働可能時間に係る表示を行う表示部とを備え、前記制御部は、測定部に現時点の電池電圧の測定を行わせ、前記計時部から測定の日時を取得し、各時刻の電池電圧を予測するにあたって各時刻から所定範囲内の時刻であって以前の日に測定が行われた電池電圧ログに基づいて予測することを特徴とする電子キャッシュレジスタを提供する。この発明の電子キャッシュレジスタにおいて、制御部は、反復して電池電圧の測定を前記測定部に行わせる処理、それぞれの測定に係る日時を前記計時部から取得する処理および測定された各電池電圧と先後の測定の間の電圧の変化とを測定に係る日時と関連付けて電池電圧ログとして前記記憶部に格納する処理、格納された電池電圧ログに基づいて現時点から後の一連の時刻の電池電圧を予測する処理、および、予測された電池電圧が予め定められた閾値に降下するまでを稼働可能時間として算出する処理を行い、測定部に現時点の電池電圧の測定を行わせ、前記計時部から測定の日時を取得し、各時刻の電池電圧を予測するにあたって各時刻から所定範囲内の時刻であって以前の日に測定が行われた電池電圧ログに基づいて予測するので、電池電圧の推移に影響を与える機器の使用状況や電池の劣化状態を反映した電池電圧ログのうち、一日のうちほぼ同じ時刻に測定された電池電圧ログに基づいて、機器があとどれほどの期間稼働可能かを精度よく予測することができる。稼働可能な期間を表示させることによって、ユーザーにバッテリーの充電が必要になるタイミングを精度よく予測して知らせることができる。特に、露天商など、AC電源が確保できず、AC駆動や電池の充電ができない環境で電子キャッシュレジスタを使用するユーザーに対して、予備のバッテリーへの交換時期や閉店のタイミングを知らせることができる。この発明において、電池は、充電可能なものでも使い切った後に交換するものでもよく、材料、形状は問わない。測定部は、電池が機器を駆動しているときに電池の電圧を測定するものである。後述する実施形態においては、電池の端子電圧をA/D変換器で変換して制御部に読み取らせる回路が測定部に相当する。計時部は、現在の日時を提供するものである。その具体的な態様は、例えば、リアルタイムクロック回路である。記憶部は、データおよび変数を読み書き可能に格納するものである。その具体的な態様は、例えば、RAM、フラッシュメモリーなどの半導体メモリー、あるいは、ハードディスク装置などの記憶装置である。後述する実施形態において、記憶部は、不揮発性メモリーに相当する。制御部は、稼働可能電圧の予測処理を行うものである。また、電子キャッシュレジスタとしての金銭計算処理を行う。その具体的な態様は、例えば、CPUやマイクロコンピュータである。また、表示部は、稼働可能電圧に係る表示を行うものである。その具体的な態様は、例えば、液晶表示装置やLED表示装置である。表示部は、金銭計算の結果を表示してもよい。以下、この発明の好ましい態様について説明する。前記計時部は、測定が行われた日時と曜日とを提供し、前記制御部は、電池電圧の現時点からの推移を予測するとき、測定に係る時刻が現時点に近くかつ測定に係る曜日が予測に係る曜日と同じ電池電圧ログに基づいて予測するようにしてもよい。このようにすれば、例えば、週末の売り上げが多いといったように、週の曜日ごとに使用状況に一定の傾向がある場合に、その傾向を考慮した予測が可能になる。また、前記制御部は、電池電圧の現時点からの推移を予測するとき、測定された電池電圧を予め定めた電圧区分に分割し、測定に係る時刻が現時点に近くかつ前記電圧区分が現時点の電池電圧の区分と同じ電池電圧ログに基づいて予測するようにしてもよい。電池の通常の特性上、電圧降下量が満充電状態、電荷不足状態、および両者の間の状態で異なるところ、このようにすれば、現在の電池の状態に近い電池電圧ログに基づいて電圧降下量を精度よく予測することができる。さらにまた、前記制御部は、一日を予め定めた複数の期間に分割し、電池電圧ログの測定に係る時刻と現時点とがそれぞれどの期間に属するかを判断し、測定に係る時刻と現時点とが同じ期間に属するときに両者が所定範囲内にあると判断してもよい。このようにすれば、測定に係る時刻と現時点とが近いか否かを明確な基準で判断することができる。前記制御部は、一日を予め定めた間隔に分割した時間ブロックの間隔で電池電圧の測定を前記測定部に行わせ、その時間ブロックの始期の電池電圧および始期と終期の電池電圧の変化を電池電圧ログとして格納してもよい。このようにすれば、時間ブロックの間隔で電池電圧を測定して電池電圧ログを生成することができる。あるいは、前記制御部は、一日を予め定めた間隔に分割した時間ブロックの間隔より短い間隔で反復して電池電圧の測定を前記測定部に行わせ、その時間ブロックにおいて測定した電池電圧に最小二乗法を適用してその時間ブロックの始期と終期における電池電圧を算出し、始期の電池電圧および始期と終期の電池電圧の変化を電池電圧ログとして格納してもよい。このようにすれば、時間ブロックより短い間隔で電池電圧を測定してその時間ブロックにおける電圧降下量を精度よく求めることができ、求めた電圧降下量を電池電圧ログとして格納することができる。さらに、複数の期間の分割と時間ブロックの分割とが互いに一致してもよい。この発明の好ましい態様は、ここで示した複数の態様のうち何れかを組み合わせたものも含む。以下、図面を用いてこの発明をさらに詳述する。なお、以下の説明は、すべての点で例示であって、この発明を限定するものと解されるべきではない。≪電子キャッシュレジスタの構成≫図1は、この発明の電子キャッシュレジスタの電気的な構成例を示すブロック図である。図1に示すように、この発明の電子キャッシュレジスタ11は、制御部21、RAM23、表示部31、ROM33、RTC35、不揮発性メモリー37、電池41およびA/D変換器43を含んで構成される。図示していないが、金額やユーザーからの指示を入力するキーボード等の入力部も構成に含まれる。制御部21は、以下に述べる稼働可能時間の計算などの処理を行うプロセッサである。具体的にはCPUあるいはマイクロコンピュータが用いられる。制御部21は、電子キャッシュレジスタの主たる機能である金銭処理を行うとともに、RAM23は、制御部21がデータを処理するためのワークエリアを提供すると共に、平均電圧降下量テーブル53や各種の一時変数を格納するメモリーで、例えばSRAMやDRAMなどの半導体メモリー素子が用いられる。前記一時変数には、例えば、電池電圧測定データVB[]の配列変数、電池電圧ログ参照アドレスポインタL、電池電圧測定データインデックスカウンタDi、時間ブロック中の降下電圧Vdが含まれる。表示部31は、制御部21の計算により得られた稼働可能時間を表示するもので、例えば、液晶表示装置あるいは有機ELなどが用いられる。表示部31は、電子キャッシュレジスタ11の金銭計算の結果が表示されてもよいが、図示しない別の表示装置に金銭計算の結果を表示する構成であってもよい。ROM33は、制御部21が実行すべき処理プログラムを予め格納するもので、例えば、フラッシュメモリーが用いられる。RTC35は、現在の日時および時刻を提供するリアルタイムクロックである。不揮発性メモリー37は、データを読み書き可能に格納し、電子キャッシュレジスタ11の電源のオンまたはオフにかかわらず格納されたデータを保持するメモリーであって、例えばフラッシュメモリーが用いられる。不揮発性メモリー37は、電池電圧ログ情報テーブル51を格納する。さらに、電池電圧ログ情報テーブル51の参照に用いる電池電圧ログ先頭アドレスポインタLtおよび電池電圧ログ末尾アドレスポインタLIを格納する。電池41は、電子キャッシュレジスタ11を駆動する電源であって、具体的には例えばリチウムイオン電池が用いられる。稼働可能時間は、電池41が現時点からどれだけの期間、電子キャッシュレジスタ11を駆動できるかを予測したものである。A/D変換器43は、制御部21が電池41の電池電圧を読み取る際に用いられる回路である。≪電池電圧の測定-時間ブロックごとの基点電圧と電圧降下量の測定≫この発明による電子キャッシュレジスタは、電池によって駆動される。ただし、AC電源によって駆動されることがあってもよい。稼働可能時間は、電子キャッシュレジスタ11が電池41によって駆動される場合に、あとどれだけの期間駆動できるかを示すものである。電子キャッシュレジスタ11が電池41によって駆動されるとき、制御部21は、電池41の電池電圧の推移を電池電圧ログとして測定する。そして、記録不揮発性メモリー37の電池電圧ログ情報テーブル51に格納しておく。格納された電池電圧ログを用いて稼働可能時間を精度よく計算するためである。電池電圧ログは、予め定められた時間ブロックの単位で記録される。一例では、時間ブロックは1時間の単位である。しかし、この発明はそれに限定されるものでなく、時間ブロックの単位は1時間より短くてもより長くてもよい。この実施形態において、制御部21が各時間ブロックの始期と終期に電池電圧を測定する態様と、各時間ブロックの期間mより短い間隔で電池電圧を繰り返し測定してその時間ブロックにおける電池電圧の推移をより忠実にフィッティングする態様についてそれぞれ説明する。第1の態様:各時間ブロックの始期と終期に電池電圧を測定する手法図2は、この発明に係る電池電圧の測定に関する第1の態様を示すグラフである。図2で、横軸は時間の推移を示しており、tbはある時間ブロックの始期の時刻であり、mはその時間ブロックの始期から終期までの期間である。よって、tbmは、その時間ブロックの終期の時刻である。1日のうちで基準となる時刻t0が予め定められている。一例では基準時刻t0は、1日の始期である午前零時である。時間ブロックの始期は、基準時刻t0に対してmの整数倍だけ前後した時刻である。即ち、tb=t0m×nただし、nは整数の関係が成立する。図2の縦軸は、電池41の電池電圧である。時刻tbにおける電池電圧Vbがその時間ブロックの基点電圧である。基点電圧Vbと時刻tbmにおける電池電圧Vbmとの差が電圧降下量Vdである。Vd=Vb-Vbmの関係が成り立つ。制御部21は、時刻tbにおいて電池41の電池電圧を測定し、RTC35から取得した時刻tbおよび測定された電池電圧Vbの値をRAM23に確保された配列変数、電池電圧測定データVB[]の領域のうちVB[0]に格納する。即ち、VB.t[0]=tbVB.V[0]=Vbさらに制御部21は、その時間ブロックの周期の時刻tbmにおいて電池41の電池電圧Vbmを測定し、時刻tbmおよび電池電圧Vbmの値をRAM23に確保された電池電圧測定データVB[1]のメモリー領域に格納する。即ち、VB.t[1]=tbmVB.V[1]=Vbm図3は、図2の電池電圧測定データの例を示す説明図である。図3に示すように、時刻tb=12:00:00における電池電圧Vb=7.580V、時刻tbm=13:00:00における電池電圧Vbm=7.396Vである。よって、電池電圧測定データは、VB.t[0]=12:00:00VB.V[0]=7.580VVB.t[1]=13:00:00VB.V[1]=7.396Vである。電圧降下量Vdは、Vd=7.580-7.396=0.184Vである。第2の態様:各時間ブロックの期間mより短い間隔で電池電圧を繰り返し測定する手法図4は、この発明に係る電池電圧の測定に関する第2の態様を示すグラフである。図2と同様に図4の横軸は時間の推移を示しており、tbはある時間ブロックの始期の時刻、tbmは、その時間ブロックの終期の時刻である。縦軸は、電池電圧の大きさを示している。制御部21は、時間ブロックの期間mよりも短い間隔で電池電圧を繰り返し測定し、各時刻とその時刻における電池電圧の値をRAM23に確保された電池電圧測定データVB[]のメモリー領域に格納する。図5は、図4の電池電圧測定データの例を示す説明図である。図5に示すように、制御部21は、1時間の時間ブロックの間に電池電圧の測定を120回繰り返す。即ち、30秒毎に電池電圧の測定を行う。その結果、図5の電池電圧測定データは、VB.t[0]=12:00:00VB.V[0]=7.580VVB.t[1]=12:00:30VB.V[1]=7.579VVB.t[2]=12:01:00VB.V[2]=7.577V::VB.t[120]=13:00:00VB.V[120]=7.396Vである。そして、制御部21は、電池電圧測定データに基づく回帰直線を求め、その時間ブロックにおける平均的電圧降下量と基点電圧とを求める。基点電圧Vbは、時刻tbにおける前記回帰直線の電圧である。電圧降下量Vdは、前記基点電圧Vbと時刻tbmにおける前記回帰直線の電圧Vbmとの差である。Vd=Vb-Vbmの関係が成り立つ。≪電池電圧ログ情報テーブル-時間ブロックごとの履歴の格納≫制御部21は、時間ブロックが経過する毎に電池41の電池電圧ログを取得し、記録不揮発性メモリー37の電池電圧ログ情報テーブル51に格納する。電池電圧ログは、時間ブロックごとの始期の時刻、日付と曜日、基点電圧Vbおよび電圧降下量Vdからなる。図6は、この発明に係る電池電圧ログ情報テーブルの一例を示す説明図である。図6に示すように、制御部21は、新たに得られた電池電圧ログを電池電圧ログ情報テーブル51の末尾に追加する。追加の際、電池電圧ログ末尾アドレスポインタLIを用いる。電池電圧ログ情報テーブル51の容量一杯まで電池電圧ログが格納された後は、電池電圧ログ情報テーブル51の先頭の電池電圧ログから上書きするようにしてもよい。つまり、電池電圧ログ情報テーブル51をリングバッファとして使用し電池電圧ログを格納するのである。先頭の電池電圧ログを上書きする際に、制御部21は、電池電圧ログ先頭アドレスポインタLtを用いる。≪平均電圧降下量テーブルの作成-将来の電池電圧の推移予測≫稼働可能時間を算出する際の前処理として、制御部21は、現在の時間ブロックを基点とし、時間ブロック単位で将来の電池電圧の推移を示す平均電圧降下量テーブルを作成する。平均電圧降下量テーブルを作成する際に、制御部21は電池電圧ログ情報テーブル51を参照する。電池電圧ログ参照アドレス情報Lは、制御部21が電池電圧ログ情報テーブル51に格納された電池電圧ログを参照する際に用いるポインタである。図7は、この発明に係る平均電圧降下量テーブルの一例を示す説明図である。図7に示す平均電圧降下量テーブルで、左欄の相対時刻は、現在の時刻tを基点とし、24時間が経過するまでの時間ブロック、即ち0:00から23:00までを時間ブロック単位で区切ったものである。図7の例では図6と同様に、時間ブロックの期間mは1時間である。図7で右欄の平均電圧降下量は、現在の電池電圧を基点ゼロとして、各時間ブロックの始期から終期までに電池電圧がどれだけ降下するか、電圧降下量の予測値を示している。現在の時刻が時間ブロックの始期に相当する時刻であることは希である。相対時刻0:00については、現在の時刻が含まれる時間ブロックの終期が到来するまでの間に、現在時刻における電池電圧がどれだけ降下するかを示している。制御部21は、次のようにして平均電圧降下量テーブル53を作成する。まず、平均電圧降下量テーブル53の平均電圧降下量の格納領域VA.Vad[]に初期値を書き込む初期化処理。初期値は、典型的な使用状態における時間ブロック単位の電圧降下量を工場出荷前に予め測定し、その値を使用することができる。続いて制御部21は、図7の電池電圧ログ情報テーブル51に係る時間ブロックから、現在時刻が含まれる時間ブロックを相対時刻0:00に対応させたうえで、0:00から23:00までそれぞれの相対時刻の時間ブロックに対応する電圧降下量Vdの平均値Vadを、電池電圧ログ情報テーブル51に格納された電池電圧ログに基づいて算出する。相対時刻0:00から23:00までの各時間ブロックに対応するVadは、一日のうちその時間帯における電子キャッシュレジスタ11の平均的な使用頻度を反映した電圧降下量といえる。制御部21は、算出された平均の電圧降下量Vadを、平均電圧降下量テーブル53の対応する相対時刻の格納領域VA.Vad[]にそれぞれ格納する。電池電圧ログ情報テーブル51に格納された各電池電圧ログを用いて平均の電圧降下量Vadを算出するとき、平均値算出の要素としてその電池電圧ログを抽出するか否かの抽出条件として上述の時間ブロックの一致に加え、例えば以下のような条件を付加することができる。第1の付加条件:曜日の付加現在日時と同じ曜日の情報のみ参照するように条件を付加する。ユーザーによっては、週末の売り上げが多いなど、特定の曜日で使用頻度が異なる場合がある。特定の曜日の使用頻度が高いユーザーの場合、電池電圧の降下量は曜日に依存する。同じ曜日のデータのみを抽出することによって、電圧降下量の予測精度を高めることができる。第2の付加条件:電池電圧範囲の付加現在の電池電圧に近い範囲の基点電圧を有する時間ブロックのみ参照するように条件を付加する。図8は、この実施形態に係る付加条件を説明するためのグラフである。図8に示すように、電池の通常の特性上、満充電状態、電荷不足に近い状態、および両者の間の状態では、同一の使用頻度でも異なる電圧降下量になる。電池の電圧特性ごとに電圧区間を分割し、同じ電圧区間の電圧降下量を参照することで、電池電圧の予測精度を高める。図8では、満充電状態を電圧区間A、電荷不足に近い状態を電圧区間C、両者の間の状態を電圧区間Bとして区分している。制御部21は、以上の付加条件を単独でまたは組み合わせて適用し、あるいは付加条件なしで各時間ブロックに対応する平均の電圧降下量Vadを算出する。条件の組合せが多くなる程、電池電圧の予測精度は向上するようにも考えられる。ただし、それは電池電圧ログ情報テーブル51に十分な数の各電池電圧ログが格納されており抽出条件に該当する十分な数の電池電圧ログが存することが前提である。抽出条件に該当する電池電圧ログがない時間ブロックについては、Vadが算出されない。よって、その時間ブロックについては平均電圧降下量テーブル53へのVadの格納が行われず、その結果として初期値が用いられる。また、該当する電池電圧ログがあってもその数が少ないとき、例えば該当する電池電圧ログが1つだけの場合は予測精度が向上するとはいえない。よって、抽出の条件の組合せが多ければ予測精度が向上すると一律にいうことはできない。条件を付加するか否かは、ユーザーが設定により選択できるようにしてもよい。あるいは制御部21が、条件を組合せるかおよび/または条件を付加するかをその抽出条件に該当する電池電圧ログの数が閾値以上存するか否かに基づいて判断し変更するようにしてもよい。≪稼働可能時間の算出≫以上のようにして基礎となる平均電圧降下量テーブル53が作成されたら、制御部21は、作成された平均電圧降下量テーブルを用いて次のように稼働可能時間を算出する。制御部21は、現在の時刻tにおける電池電圧を測定する。この時刻tは、平均電圧降下量テーブル53の基点の時刻である。即ち、制御部21は、平均電圧降下量テーブル53を作成する時点で電池電圧Vtを測定するのである。制御部21は、得られた電池電圧Vtを平均電圧降下量テーブルの相対時刻0:00の電池電圧予測値VA.Vb[0]に格納する。Vtは予測値でなく実測値であるが、便宜上このようにする。続いて制御部21は、既に求められた平均電圧降下量テーブル53の相対時刻0:00の平均電圧降下量VA.Vad[0]を用いて相対時刻0:00の時間ブロックの終期、即ち、次の相対時刻の時間ブロック1:00の始期の電池電圧の予測値を算出する。ここで注意すべき点は、現在時刻tが相対時刻0:00の始期の時刻tbと通常は一致せず、始期と終期の間にあるということである。よって、既に求められている相対時刻0:00の平均電圧降下量VA.Vad[0]に、終期の時刻tbmまでの残り時間の時間ブロックの全期間mに対する比率を乗じて終期までの電圧降下量とする。そして、得られた電圧降下量を現在の電池電圧Vtから減算して相対時刻0:00の終期における電池電圧の予測値とする。これは、相対時刻1:00の基点電圧の予測値といえる。制御部21は、平均電圧降下量テーブル53の相対時刻1:00における電池電圧予測値VA.Vb[1]として、得られた値を格納する。算出された予測値が、電子キャッシュレジスタ11が稼働可能な電圧として予め定められた閾値電圧Vlmt以上の場合、さらに制御部21は、相対時刻1:00の基点電圧から相対時刻1:00の平均電圧降下量を減算し、相対時刻2:00の基点電圧の予測値を算出して格納する。算出された予測値が、Vlmt以上であれば、制御部21はさらに、相対時刻3:00の基点電圧の予測値を算出して格納する。以下、順次23:00まで基点電圧の予測値の計算を繰り返す。一方、算出された予測値がVlmtより小さいときは、予測値の計算を打ち切り、直前の相対時刻を稼働可能な残時間として出力する。最後の時間ブロック23:00の基点電圧の予測値がVlmt以上であれば、電池の寿命は十分であるとしてその旨を出力する。図9は、この発明に係る電池電圧の予測の一例を示す説明図である。図9で、現在の時刻は13時30分、時間ブロックは1時間単位で毎時00分が始期であり、現在の電池電圧測定値は7.541V、電子キャッシュレジスタ11が稼働可能な閾値電圧Vlmtは6.5Vであるとする。制御部21は、現在の電池電圧測定値を相対時刻0:00の電池電圧予測値に格納する。既に求められた平均電圧降下量テーブルによれば、相対時刻0:00の平均電圧降下量は0.186Vである。現在時刻を含む時間ブロックの終期は14時00分である。その終期まで、時間ブロックの期間の半分が残っているので、相対時刻0:00の終期までの電圧降下量は、0.186V×30分/60分=0.093Vである。制御部21は、この電圧降下量を現在の電池電圧から減算する。7.541-0.093=7.448Vそして、相対時刻1:00の電池電圧予測値として格納する。得られた予測値は、Vlmtの6.5V以上であるから、制御部21は、相対時刻2:00における電池電圧予測値をさらに計算し格納する。この計算は、相対時刻1:00の電池電圧予測値から相対時刻1:00の平均電圧降下量を減算して得られる。7.448-0.151=7.297V得られた予測値は、Vlmtの6.5V以上であるから、制御部21は、相対時刻9:00の電池電圧予測値に至るまで同様の計算を繰り返す。相対時刻9:00の電池電圧予測値6.477Vは、Vlmtの6.5Vを下回るので、制御部21は電池電圧予測値の計算をここで打ち切る。そして、稼働可能時間を次のように算出する。まず、相対時刻0:00の終期までの時間を求める。この時間は30分である。さらに、基点電圧がVlmt以上の時間ブロックの総計を求める。ここでは、相対時刻1:00から7:00までの7時間である。さらに、相対時刻8:00の期間中に電池電圧がVlmtまで降下する期間を算出する。電圧降下特性が1次関数で表されるとすると、始期と終期の電池電圧予測値から、電池電圧がVlmtまで降下する期間は次の計算によって得られる。60×6.577-6.500/6.577-6.477=46分よって、現在時刻tを基点とする稼働可能時間の予測値は、これらの総和で求められる。即ち、30分7時間46分=8時間16分が予測される稼働可能時間である。現在時刻が13時30分であるから、21時46分になるまで稼働すると予測される。制御部21は、この稼働可能時間を表示部31に表示させる。≪フローチャート≫図10~図17は、この発明に係る制御部21が実行する処理の手順を示すフローチャートである。このうち、図10および図11は、時間ブロックごとの基点電圧と電圧降下量の測定および電池電圧ログ情報テーブルの生成に関する処理を示している。より詳細には、図10は、各時間ブロックの始期と終期に電池電圧を測定する態様を示し、図11は、各時間ブロックの期間より短い間隔で電池電圧を繰り返し測定する態様を示している。図12および図13は、平均電圧降下量テーブルの生成に関する処理を示している。図14および図15は、稼働可能時間の予測に関する処理を示している。図16および図17は、付加条件に係る処理を示している。以下、フローチャートに沿って制御部21が実行する処理を説明する。電池電圧の測定と電池電圧ログ情報テーブルの生成まず、図10の処理を説明する。各時間ブロックの始期と終期に電池電圧を測定し、電池電圧ログ情報テーブルを生成する処理である。図10に示すように、初期化処理として、制御部21は、まず電池電圧ログ先頭アドレスポインタLtを電池電圧ログ情報テーブルの先頭アドレスを参照するようにセットするステップS11。さらに、電池電圧ログ末尾アドレスポインタLIを電池電圧ログ先頭アドレスポインタLtより1つ手前のアドレスを参照するように初期化するステップS13。この初期値は、後述するステップS31で電池電圧ログ末尾アドレスポインタLIをインクリメントする分を見越したものである。最初は電池電圧ログが格納されないため、先頭と末尾のポインタの初期値はほぼ一致する。以上が初期化の処理である。次に、制御部21は、電池電圧測定データインデックスカウンタDiの初期値としてゼロをセットするステップS15。Diは、配列変数である電池電圧測定データVB[]の参照に用いるカウンタである。続いて、制御部21は、RTC35から現在の年月日、曜日および時刻を取得するステップS17。そして、予め定められた時間ブロックの基点および単位に照らして次回の電池電圧ログの取得日時Tを計算するステップS19。そして、RTCを逐次参照しつつステップS21、取得日時Tが到来するのを待つステップS23。取得日時Tが到来したらステップS23のYes、制御部21は、A/D変換器43を介して現在の電池電圧Vの測定を行うステップS25。そして、電池電圧測定データVB[Di]に測定された電池電圧Vと測定が行われた取得日時Tを格納するステップS27。続いて、DiをインクリメントするステップS29。図10では、各時間ブロックの始期と終期に電池電圧を測定するところ、Diがゼロのときが始期の測定に対応し、Diが1の時が終期の測定に対応する。よって、Diをインクリメントした結果が1の場合ステップS23のNoは、始期の測定が終了した状態に対応する。この場合、ルーチンはステップS19へ進み、終期の測定を行う取得日時Tを計算する。そして、ステップS21~S29で始期の測定と同様の処理を繰り返す。一方、Diが1より大きい場合ステップS31のYesは、終期の測定が完了した場合に対応する。この場合、制御部21は、電池電圧ログを格納するために用いる電池電圧ログ末尾アドレスポインタLIをインクリメントするステップS33。そして、始期と終期の電池電圧を減算することにより電圧降下量Vdを得るステップS35。制御部21は、電池電圧ログ末尾アドレスポインタLIで参照される電池電圧ログ情報テーブル51に、電池電圧測定データVB[]に格納されている基点電圧の測定に係る年月日、曜日、時刻のデータVB.t[0]を電池電圧ログの年月日、曜日、時刻として格納する。また、得られた電圧降下量Vdを電池電圧ログの電圧降下量として格納する。さらに、電池電圧測定データVB[]に格納された基点電圧のデータVB.V[0]を電池電圧ログの基点電圧として格納するステップS37。そして、ルーチンはステップS15へ戻り、次の時間ブロックの処理を同様に繰り返す。以上が、図10に示す処理である。これに対して図11は、各時間ブロックの始期と終期だけでなく、その時間ブロックの期間よりも短い間隔で電池電圧を繰り返し測定する。図11で、ステップS41、S43、S45、S47およびS49は、図10のステップS11、S13、S15、S17およびS19にそれぞれ対応しているので詳しい説明は省略する。なお、ステップS49で取得する取得日時Tは、次の時間ブロックの始期であり、かつ現在の時間ブロックの終期である。そのステップS49の処理に続き、制御部21は現在の電池電圧Vを測定するステップS51。そして、電池電圧測定データVB[Di]に測定された電池電圧Vと測定が行われた取得日時Tを格納するステップS53。続いて、DiをインクリメントするステップS55。制御部21は、RTC35から現在の年月日、曜日および時刻tを取得するステップS57。その時刻tが、取得日時T、即ち時間ブロックの終期に達したか否かを調べるステップS59。時間ブロックの終期に達していなければ、ルーチンはステップS51へ進み、電池電圧Vの測定と電池電圧測定データの追加を繰り返す。このようにして、電池電圧のデータは、電池電圧測定データVB[]の配列変数に順次格納される。なお、電池電圧Vの測定間隔が短すぎる場合は、測定周期に応じたタイマーの設定とそのタイマーの終了待ちの処理とをこの繰り返しループに追加すればよい。現在の時刻tが時間ブロックの終期に達したらステップS59のYes、制御部21は、電池電圧ログを格納するために用いる電池電圧ログ末尾アドレスポインタLIをインクリメントするステップS61。そして、電池電圧測定データVB[]に格納されたデータから回帰直線を算出し、その時間ブロックの基点電圧Vbとその時間ブロック中の降下電圧Vdとを求めるステップS63。制御部21は、電池電圧ログ末尾アドレスポインタLIで参照される電池電圧ログ情報テーブル51に、電池電圧測定データVB[]に格納されている基点電圧の測定に係る年月日、曜日、時刻のデータVB.t[0]を電池電圧ログの年月日、曜日、時刻として格納する。また、前記ステップS63で得られた電圧降下量Vdを電池電圧ログの電圧降下量として格納し、さらに、前記ステップS63で得られた基点電圧Vbを電池電圧ログの基点電圧として格納するステップS65。そして、ルーチンはステップS45へ戻り、次の時間ブロックの処理を同様に繰り返す。以上が、図11に示す処理である。平均電圧降下量テーブルの生成次に、図12および図13に示す平均電圧降下量テーブル53の生成に係る処理を説明する。電子キャッシュレジスタ11が電池41で駆動されている状態で、制御部21は、表示部31に稼働可能電圧の予測値を表示させる。その表示の更新時期が到来したとき、制御部21は、その時刻を基点とする平均電圧降下量テーブル53を作成する。制御部21は、まず、平均電圧降下量テーブル53に格納されている平均電圧降下量VA.Vad[]のデータを初期化するステップS71。初期化前には、直前に作成された平均電圧降下量テーブルの値が残っているからである。そして、RTC35から現在の年月日、曜日および時刻を取得するステップS73。さらに、A/D変換器43を介して現在の電池電圧Vの測定を行うステップS75。また、現在の年月日、曜日および時刻tが含まれる時間ブロック、即ち相対時刻0:00に対応する時間ブロックの始期の時刻T0を算出するステップS77。続いて、制御部21は、平均電圧降下量テーブル53において対象とすべき相対時刻を示すポインタTrの初期値としてゼロをセットするステップS79。さらに、平均電圧降下量テーブル参照カウンタCaの初期値としてゼロをセットするステップS81。ポインタTrの初期値は、相対時刻0:00の始期の時刻を示す。また、平均電圧降下量テーブル参照カウンタCaの初期値は、いま対象とする相対時刻が相対時刻0:00であることを示す。その後、制御部21は、電池電圧ログ情報テーブル51から平均電圧降下量の計算に用いるデータを抽出するための処理を行う。まず、電池電圧ログ参照アドレスポインタLに初期値としてLtをセットするステップS83。Ltは、電池電圧ログ情報テーブル51の先頭を示す。さらに、累積電圧降下量Vsにゼロをセットし、該当ログカウンタCIにゼロをセットするステップS85。なおCIは、条件に該当する電池電圧ログの数を格納しておき、電圧降下量の平均値を計算する際に用いるカウンタである。制御部21は、電池電圧ログ情報テーブル51のうち電池電圧ログ参照アドレスポインタLで参照される電池電圧ログが示す時刻Tと、ポインタTrで示される時刻例えば、初期値は前記ステップS77で求めた時刻T0をとが一致するかを調べるステップS87。一致しなければ、その電池電圧ログは平均電圧降下量の計算に用いないと判断しステップS87のNo、ルーチンは後述するステップS97へ進む。なお、ポインタTrで示される時刻は、いま対象としている相対時刻に対応する時刻である。そして、いま対象としている相対時刻は、平均電圧降下量テーブル参照カウンタCaが示す相対時刻である。一方、一致した場合はステップS87のYes、さらに付加条件を調べるために図16または図17に示す処理を実行するステップS89。なお、付加条件を付さない場合はステップS93の処理へスキップすればよい。ここで、ステップS89の処理に係る図16および図17の処理について説明する。図16は、曜日の一致を付加条件としてデータを抽出する場合の処理を示している。図17は、現在の電池電圧Vに近い電圧区分を付加条件としてデータを抽出する場合の処理を示している。両者を組み合わせる場合は、図16と図17の処理をいずれも行って、それぞれの判定が該当に相当する場合に最終の判定結果として該当とし、それ以外は最終の判定結果を非該当とすればよい。図16に示す処理で、制御部21は、電池電圧ログ情報テーブル51のうち、電池電圧ログ参照アドレスポインタLで参照される電池電圧ログが示す時刻Tと、ポインタTrに係る曜日とが一致するかを調べるステップS141。ポインタTrに係る曜日は、いま対象としている相対時刻の曜日例えば、初期値は時刻T0に係る曜日である。両者が一致する場合は、判定結果として該当を返しステップS145、一致しない場合は判定結果として非該当を返すステップS143。以上が、図16に示す処理の内容である。また、図17に示す処理で、制御部21は、電池電圧ログ参照アドレスポインタLで参照される電池電圧ログの基点電圧Vbが属する電圧区分が図8に示す電圧区間A,BおよびCの何れに該当するかを調べるステップS151。さらに、ポインタTrで示される時刻、即ち、いま対象としている相対時刻に係る基点電圧が、前記電圧区間A,BおよびCの何れに該当するかを調べるステップS153。そして、両者の電圧区分が一致するか否かを調べるステップS155。一致する場合は、判定結果として該当を返しステップS159、一致しない場合は判定結果として非該当を返すステップS157。以上が、図17に示す処理の内容である。図13の説明に戻る。制御部は、前記ステップS89の結果が該当か非該当かを調べるステップS91。結果が非該当であれば、その電池電圧ログは平均電圧降下量の計算に用いないと判断しステップS87のNo、ルーチンは後述するステップS97へ進む。一方、結果が該当の場合、制御部21は累積電圧降下量Vsに電池電圧ログ参照アドレスポインタLで参照される電池電圧ログの電圧降下量Vdを加算するステップS93。さらに、該当電池電圧ログカウンタCIをインクリメントするステップS95。そして、電池電圧ログ参照アドレスポインタLが電池電圧ログ情報テーブル51の末尾を指しているか否かを調べるステップS97。末尾でなければステップS97のNo、電池電圧ログ参照アドレスポインタLをインクリメントし、電池電圧ログ情報テーブル51の次の電池電圧ログを参照するようにした後ステップS99、ステップS87からの処理を繰り返す。このステップS87~S99の繰り返し処理によって、電池電圧ログ情報テーブル51に格納された電池電圧ログを順次参照するのである。前記ステップS97で、電池電圧ログ参照アドレスポインタLが電池電圧ログ情報テーブル51の末尾を指している場合ステップS97のYesは、電池電圧ログ情報テーブル51に格納されている電池電圧ログをすべて参照したことになる。この場合、ルーチンはステップS101へ進み、平均電圧降下量テーブル53のうちでいま対象としている相対時刻に係る電圧降下量の平均値計算に用いるべき電池電圧ログの数を調べる。その数は、前記ステップS95の処理でカウントされ、該当ログカウンタCIに格納されている。該当ログカウンタCIがゼロであればステップS101のNo、該当ログがないということであるから、いま対象としている相対時刻の電圧降下量はなにもせず初期値のままとし、ルーチンはステップS105へ進む。一方、該当ログカウンタCIがゼロでなければステップS101のYes、制御部21は、いま対象としている相対時刻、即ち、平均電圧降下量テーブル参照カウンタCaで示される相対時刻VA.t[Ca]の電圧降下量の平均を計算し、その結果を平均電圧降下量テーブル53の平均電圧降下量VA.Vad[Ca]に格納するステップS103。ここで、平均電圧降下量VA.Vad[Ca]は累積電圧降下量Vsを該当ログカウンタCIで除して求められる。VA.Vad[Ca]=Vs/CI制御部21は、次の相対時刻を参照すべく平均電圧降下量テーブル参照カウンタCaをインクリメントする。さらに、平均電圧降下量テーブル参照カウンタCaで示される相対時刻VA.t[Ca]の時間ブロックの始期の時刻に時間ブロックの間隔mを加算するステップS105。これによって、CaとTrが同期した状態で次の相対時刻を示すように更新される。続いて、制御部21は、平均電圧降下量テーブル参照カウンタCaが参照する相対時刻VA.t[Ca]が24時間を超えるか否かを調べるステップS107。具体的には、時間ブロックの間隔mに平均電圧降下量テーブル参照カウンタCaの値を乗じた値が、24時間より大きいかを調べる。24時間を超えない場合ステップS107のNo、ルーチンはS87へ戻り処理を繰り返す。この繰り返し処理によって、次の相対時間について電池電圧ログ情報テーブル51を参照しつつ電圧降下量の平均を計算し、得られた平均電圧降下量を平均電圧降下量テーブル53に格納する。一方、24時間を超える場合ステップS107のYesは、次に説明する稼働可能時間の予測を行う。稼働可能時間の予測前述のステップS107の判定がYesの場合に、制御部21は、稼働可能時間の予測を行う。図14および図15に示す処理である。まず制御部21は、稼働可能時間を格納する一時変数Twをゼロに初期化するステップS111。そして、平均電圧降下量テーブル参照カウンタCにゼロをセットするステップS113。平均電圧降下量テーブル参照カウンタCの初期値は、相対時刻0:00を指す。次に、制御部21は、相対時刻0:00の時間ブロックの終期までの時間Twとその終期における電池電圧の予測値、即ち次の時間ブロックの始期における電池電圧の予測値VA.Vb[1]とを算出するステップS115。算出に際して、前記ステップS73で取得した現在時刻tとそのときの電池電圧Vを基点とする。相対時刻0:00の時間ブロックの始期の時刻がT0であるから、終期までの時間Twは、Tw=T0m-tで求められる。また、終期、即ち次の時間ブロックの始期における電池電圧の予測値VA.Vb[1]は、VA.Vb[1]=V-VA.Vad[0]×Tw/mそして、制御部21は、平均電圧降下量テーブル参照カウンタCが示す相対時刻が終了するときに、即ち、Cが示す時間ブロックの終期が到来するときに、電池電圧が稼動可能な閾値電圧Vlmtを下回るかを判定するステップS117。下回らない場合ステップS117のNo、平均電圧降下量テーブル参照カウンタCをインクリメントし、次の時間ブロックを参照するようにするステップS119。次に、制御部21は、平均電圧降下量テーブル参照カウンタCで参照される相対時刻VA.t[C]の時間ブロックの終期までの時間Twとその終期、即ち次の時間ブロックの始期における電池電圧の予測値VA.Vb[C]とを算出するステップS121。終期までの時間Twは、直前の時間ブロックに係る終期の時刻Twに時間ブロックの間隔mを加算して、Tw=Twmで求められる。また、終期、即ち次の時間ブロックの始期における電池電圧の予測値VA.Vb[C1]は、VA.Vb[C1]=VA.Vb[C]-VA.Vad[C]で求められる。そして、制御部21は、平均電圧降下量テーブル参照カウンタCが示す時間ブロックの終期が到来するときに、電池電圧が稼動可能な閾値電圧Vlmtを下回るかを判定するステップS131。下回らない場合ステップS123のNo、平均電圧降下量テーブル参照カウンタCをインクリメントし、次の時間ブロックを参照するようにするステップS125。さらに、平均電圧降下量テーブル参照カウンタCaが参照する相対時刻VA.t[Ca]が24時間を超えるか否かを調べるステップS127。具体的には、時間ブロックの間隔mに平均電圧降下量テーブル参照カウンタCaの値を乗じた値が、24時間より大きいかを調べる。24時間を超える場合ステップS127のYes、稼働時間は24時間以上である旨の表示を表示部31に表示させステップS129、処理を終了する。一方、24時間を超える場合ステップS127のNo、ルーチンはS121へ戻り処理を繰り返す。この繰り返し処理によって、次の相対時間の終期が到来するときに、電池電圧が稼動可能な閾値電圧Vlmtを下回るかの判定を順次繰り返す。一方、前述のステップS117またはS123の判定で、その時間ブロックの終期が到来するときに、電池電圧が稼動可能な閾値電圧Vlmtを下回る場合と判断した場合、ルーチンはステップS131へ進み、その時間ブロックの中で電池電圧が稼働可能電圧に達するまでの時間Twを算出する。この時間Twは、前の時間ブロックの処理で終期までの時間として得られたTwに時間ブロックの間隔mに次の比率を乗じたものを加算して求められる。その比率とは、時間ブロックの始期における電池電圧予測値VA.Vb[C]とVlmtの差分をその時間ブロックの平均電圧降下量VA.Vad[C]で除した値である。そして、算出した稼働可能時間Twを表示部31に表示させステップS133、処理を終了する。以上が、制御部21の処理である。前述した実施の形態の他にも、この発明について種々の変形例があり得る。それらの変形例は、この発明の範囲に属さないと解されるべきものではない。この発明には、請求の範囲と均等の意味および前記範囲内でのすべての変形とが含まれるべきである。"