(57)【要約】【課題】  インクジェットプリンタ等の電子機器において内部管理される時間情報の精度を高め、時間情報に基づき処理される制御の信頼性を高める。【解決手段】  プリンタ１００内で、バッテリバックアップされたクロック１３０が内部時刻をカウントする。外部装置２００から絶対時刻の情報が来ると、コントローラ１２０はクロック１３０修正して内部時刻を絶対時刻に一致させる。電源ターンオン、電源ターンオフ、ヘッドクリーニングなど所定処理の実行時に、その時点の内部時刻がコントローラ１２０に記憶される。記憶された時刻は、クロック１３０の修正時に、絶対時刻に対応するよう修正される。記憶時刻と現在の内部時刻から経過時間が計算され、経過時間に応じてインク蒸発量やクリーニング実行判定が行われる。【選択図】図１
2006088589.tif 000002
【特許請求の範囲】
【請求項１】
絶対時刻の情報を間欠的に送る外部装置に接続することが可能な電子機器において、
前記電子機器の電源オン期間中は電源からの電力により動作し、電源オフ期間中は蓄電器に蓄えられた電力で動作して、継続的に内部時刻をカウントするクロック手段と、
前記外部装置から前記絶対時刻の情報を受けたとき、前記情報を用いて前記クロック手段を修正して、前記内部時刻を前記絶対時刻に対応させる内部クロック修正手段と、
前記電子機器で所定処理が実行された時点にて前記クロック手段から取得される処理時刻を記憶する時刻記憶手段と、
前記内部クロック修正手段により前記クロック手段が修正された場合、前記処理時刻記憶手段に保持されている前記処理時刻を、前記クロック手段と同じ修正幅だけ修正して、前記処理時刻を前記絶対時刻に対応させる記憶時刻修正手段と、
を備えた電子機器。
【請求項２】
前記処理時刻記憶手段に記憶された前記処理時刻と、現在時点で前記クロック手段から取得される現在時刻との差分を計算することで、前記所定処理の実行時点から現在までの経過時間を計算する経過時間計算手段を更に備える請求項１記載の電子機器。
【請求項３】
前記経過時間計算手段は、前記電子機器で特定作業が実行された時、及び電源ターンオフの直前に、それぞれ、前記経過時間を計算する請求項２記載の電子機器。
【請求項４】
前記所定処理には、前記特定作業、電源ターンオン、及び電源ターンオフが含まれる請求項３記載の電子機器。
【請求項５】
前記内部時刻が前記絶対時刻に対応しているか否かを判別し、判別結果を記憶する内部時刻判別手段を更に備えた請求項２乃至４記載の電子機器。
【請求項６】
前記内部時刻判別手段は、電源ターンオンの直後、及び前記内部クロック修正手段により前記クロック手段が修正された時に、前記判別を行う請求項５記載の電子機器。
【請求項７】
電源オフ期間中に前記クロック手段が停止したか、継続動作していたかを判断して、判断結果を記憶するクロック停止判断手段を更に備え、
前記内部時刻判別手段は、電源ターンオン直後において、
（１）  前記判断結果が停止を示していた場合、前記内部時刻が前記絶対時刻に対応していないという判別結果を出し、
（２）  前記判断結果が継続動作を示していた場合、前回の電源ターンオフ時点での記憶されていた判別結果に従った判別結果を出す
請求項６記載の電子機器。
【請求項８】
前記内部時刻判別手段は、前記内部クロック修正手段により前記クロック手段が修正された時に、前記内部時刻が前記絶対時刻に対応しているという判別結果を出す請求項６又は７記載の電子機器。
【請求項９】
前記電子機器で実行された特定作業に応答して、前記特定作業の結果に応じた結果データを計算する手段であって、
（１）  前記内部時刻が前記絶対時刻に対応している時に実行された前記特定作業に応答して絶対時刻ベース結果データを計算し、
（２）  前記内部時刻が前記絶対時刻に対応していない時に実行された前記所定作業に応答して相対時刻ベース結果データを計算し、
（３）  前記絶対時刻ベース結果データと前記相対時刻ベース結果データを分離して管理する作業結果管理手段を更に備えた請求項１記載の電子機器。
【請求項１０】
前記作業結果管理手段は、前記経過時間計算手段により前記経過時間が計算されたとき、前記絶対時刻ベース結果データと前記相対時刻ベース結果データを、それぞれ、計算された前記経過時間に応じて修正する請求項９記載の電子機器。
【請求項１１】
前記絶対時刻ベース結果データと前記相対時刻ベース結果データとを組み合わせたデータに基づいて、前記特定作業の結果に問題がないか否かを判断する作業結果判断手段を更に備えた請求項９又は１０記載の電子機器。
【請求項１２】
前記経過時間計算手段は、
（１）  前記クロック手段の停止が生じた電源オフ期間の時間長が算入され得る第１の経過時間を計算する手段と、
（２）  前記クロック手段の停止が生じた電源オフ期間の時間長が算入され得ない第２の経過時間を計算する手段と
を有し、
前記作業結果管理手段は、前記経過時間の計算時点にて前記内部時刻が前記絶対時刻に対応しているか否かをチェックし、チェックの結果、
（１）  前記絶対時刻に対応している場合には、
Ａ．  前記絶対時刻ベース結果データを、前記第１の経過時間に応じて修正し、
Ｂ．  前記相対時刻ベース結果データを、前記第２の経過時間に応じて修正し、
（２）  前記絶対時刻に対応していない場合には、前記絶対時刻ベース結果データと前記相対時刻ベース結果データとを、前記第２の経過時間に応じて修正する
請求項１０記載の電子機器。
【請求項１３】
前記電子機器は、インクジェットプリンタであり、
前記特定作業は、ヘッドメンテナンスであり、
前記結果データは、前記ヘッドメンテナンスにより印刷ヘッドから排出されてインク吸収体に保持された廃インク量を示す廃インク量データであり、
前記作業結果管理手段による前記修正は、前記廃インク量データから、前記経過時間に応じたインク蒸発量を差し引くことである
請求項９乃至１２記載の電子機器。
【請求項１４】
前記経過時間計算手段は、電源オフ期間中に前記クロック手段が停止したことにより前記内部時刻が前記絶対時刻に対応しなくなった場合、前記絶対時刻に対応していない前記内部時刻に基づいて前記経過時間を計算し、その後、前記外部装置から受信された前記情報により前記内部時刻及び前記処理時刻が前記絶対時刻に対応するように修正された場合、前記絶対時刻に対応する前記内部時刻及び前記処理時刻に基づいて前記経過時間を計算するとともに、前記絶対時刻に対応していない前記内部時刻に基づいて計算された前記経過時間を無効にする請求項２記載の電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内部クロックでカウントした時間と外部機器から与えられる時間とを用いて時間を管理する機能をもつ電子機器に関する。
【背景技術】
【０００２】
この種の電子機器の従来例として、例えば特許文献１に記載されたインクジェット式プリンタがある。このプリンタは、外部装置に接続され、外部装置から印刷実行時やヘッドクリーニング要求時に時刻情報を受け取る。受け取った時刻情報によって、RAMに記憶されている時刻情報が更新される。また、このプリンタの内部にタイマがあり、この内部タイマが時間を継続的にカウントし、カウントされた時間はRAM内の時刻情報に加算される。結果として、RAMには、外部装置でカウントされている時刻情報に実質的に一致した時刻情報が保持される。
【０００３】
なお、プリンタ内部の時間管理機能は、充電式のバッテリによりバックアップされるようになっていてもよい。その場合には、プリンタの電源がオフである間も、プリンタ内での時間カウントが継続的される。
【０００４】
【特許文献１】特開２００２−１４４５９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記のようにプリンタ内で管理される時刻情報は次のような制御に利用される。例えば、その時刻情報に基づいて、前回のヘッドクリーニングが行われた時刻から現在までの経過時間が計算され、その経過時間に基づいて、ヘッドクリーニングを行うべき時期が到来したか否かの判定や、ヘッドクリーニングによりヘッドから廃インク吸収体へと排出された廃インクの蒸発量（廃インク吸収体内に残存する廃インクの量）の計算などが行われる。
【０００６】
上述したような経過時間に基づく制御が適正に行われるためには、プリンタ内で管理される時刻情報又は経過時間情報が正確でなければならないことは言うまでも無い。しかしながら、次の（１）、（２）に示すような問題があるために、プリンタ内の時刻情報又は経過時間情報の正確さが損なわれる。
【０００７】
（１）  プリンタの電源が長期間にわたりオフであった場合、バックアップバッテリが完全に放電しプリンタ内の時間管理機能が停止する。その後電源がターンオンされて時間管理機能が再起動しても、プリンタ内で保持される時刻情報は、最早、以前に保持されていた時刻情報とは整合しないことになる。よって、電源ターンオフ以前からの経過時間が把握できなくなる。例えば前回のヘッドクリーニングが電源ターンオフ以前に実行されていた場合、前回のヘッドクリーニング実行時点から現在までの経過時間が不明となるため、次のヘッドクリーニングを何時実行すべきかの判定や、廃インク蒸発量の計算が正確に行えない。
【０００８】
（２）  上記（１）の問題が発生したとしても、電源ターンオン後に外部装置から時刻情報が改めて受信されれば、外部装置からの時刻情報によりプリンタ内の時刻情報が修正されるから、その整合性は再び回復される。しかし、外部装置に滅多に接続されることがなく、且つ、長期間電源オフとなる回数も多いプリンタの場合には、ヘッドクリーニング判定や廃インク蒸発量計算の精度は極めて悪くなる。
【０００９】
そのため、従来、定期ヘッドクリーニングや廃インク漏れ防止の機能を設計する場合、ある程度の制御精度の低下を許容して、適当に余裕のあるマージンを持った設計が行われている。しかし、これが製造コストやランニングコストの上昇の原因となる。
【００１０】
従って、本発明の目的は、プリンタやその他の電子機器において、電子機器内で管理される時間情報の精度を高めることにある。
【００１１】
また、別の目的は、電子機器内で管理される時間情報に基づいて処理される制御（例えば上述したヘッドクリーニング判定や廃インク蒸発量計算など）の信頼性を高めることにある。
【課題を解決するための手段】
【００１２】
本発明の一つの側面に従う、絶対時刻の情報を間欠的に送る外部装置に接続することが可能な電子機器は、前記電子機器の電源オン期間中は電源からの電力により動作し、電源オフ期間中は蓄電器に蓄えられた電力で動作して、継続的に内部時刻をカウントするクロック手段と、前記外部装置から前記絶対時刻の情報を受けたとき、前記情報を用いて前記クロック手段を修正して、前記内部時刻を前記絶対時刻に対応させる内部クロック修正手段と、前記電子機器で所定処理が実行された時点にて前記クロック手段から取得される処理時刻を記憶する時刻記憶手段と、前記内部クロック修正手段により前記クロック手段が修正された場合、前記処理時刻記憶手段に保持されている前記処理時刻を、前記クロック手段と同じ修正幅だけ修正して、前記処理時刻を前記絶対時刻に対応させる記憶時刻修正手段とを備える。
【００１３】
この電子機器によれば、外部装置から絶対時刻の情報が提供されると、その情報により、クロック手段からの内部時刻が絶対時刻に対応するよう修正される。また、電子機器で所定処理（例えば、電源ターンオフ、電源ターンオン、インクジェットプリンタの場合のヘッドクリーニングなど）が実行されると、その実行時点での内部時刻である処理時刻が記憶される。そして、クロック手段が絶対時刻に対応するよう修正されたとき、記憶されていた処理時刻も同じく絶対時刻に対応するように修正される。これにより、記憶されている処理時刻が、内部時刻と同じ時間軸上に並ぶことになる。例えば、内部時刻が絶対時間軸上にあれば、記憶されている処理時刻も絶対時間軸上にあり、また、内部時刻が相対時間軸上にあれば、記憶されている処理時刻も相対時間軸上にあるということになる。このように同じ時間軸上に並ぶことで、内部時刻と記憶された処理時刻とを用いて両時点の間の経過時間を精度よく求めることが可能になる。結果として、経過時間に基づき処理される制御の信頼性が向上する。
【００１４】
好適な実施形態では、前記処理時刻記憶手段に記憶された前記処理時刻と、現在時点で前記クロック手段から取得される現在時刻との差分を計算することで、前記所定処理の実行時点から現在までの経過時間を計算する経過時間計算手段が更に備えられる。
【００１５】
好適な実施形態では、前記経過時間計算手段は、前記電子機器で特定作業（例えば、インクジェットプリンタの場合のヘッドクリーニング）が実行された時、及び電源ターンオフの直前に、それぞれ、前記経過時間を計算する。少なくともこのタイミングで経過時間を計算することで、電源のオンオフが繰り返され、かつ、電源オフ期間中にクロック手段が停止することがあった場合でも、特定作業の実行時点からの経過時間を、ある程度の精度をもって把握することが可能である。その結果、例えば次の特定作業を何時行うべきかなどの、経過時間に基づく制御の信頼性が高まる。ここで、特定作業としては、例えば、インクジェットプリンタの場合のヘッドクリーニングなどがあり得る。
【００１６】
好適な実施形態では、前記所定処理として、前記特定作業、電源ターンオン、及び電源ターンオフが採用される。少なくともこれら処理の実行時刻を記憶しておくことで、電源のオンオフが繰り返され、かつ、電源オフ期間中にクロック手段が停止することがあった場合でも、特定作業の実行時点からの経過時間を、良好な精度をもって把握することが可能である。その結果、例えば次の特定作業を何時行うべきかなどの、経過時間に基づく制御の信頼性が高まる。
【００１７】
好適な実施形態では、前記内部時刻が前記絶対時刻に対応しているか否かを判別し、判別結果を記憶する内部時刻判別手段が更に備えられる。内部時刻が絶対時刻に対応しているか否かを判別することで、絶対時刻対応の内部時刻に基づいて経過時間を計算する場合と、絶対時刻に対応してない内部時刻（相対時刻）に基づいて経過時間を計算する場合とで、それぞれの場合に適した計算方法を選択することが可能になる。その結果、経過時間に基づく制御の信頼性が高まる。
【００１８】
好適な実施形態では、前記内部時刻判別手段は、電源ターンオンの直後、及び前記内部クロック修正手段により前記クロック手段が修正された時に、前記判別を行う。内部時刻が絶対時刻に対応するようになったり、対応しなくなったりする切替時点は、クロック手段が修正された時点又は電源ターンオン時点であるから、これらの時点で判別を行うことにより、遅れのないタイムリーな判別結果が得られる。
【００１９】
好適な実施形態では、電源オフ期間中に前記クロック手段が停止したか、継続動作していたかを判断して、判断結果を記憶するクロック停止判断手段が更に備えられる。そして、前記内部時刻判別手段は、電源ターンオン直後には、
（１）  前記判断結果が停止を示していた場合、前記内部時刻が前記絶対時刻に対応していないという判別結果を出し、
（２）  前記判断結果が継続動作を示していた場合、前回の電源ターンオフ時点での記憶されていた判別結果に従った判別結果を出し、
また、前記内部クロック修正手段により前記クロック手段が修正された時には、前記内部時刻が前記絶対時刻に対応しているという判別結果を出す。これにより、正確な判別結果が得られる。
【００２０】
好適な実施形態では、前記電子機器で実行された特定作業に応答して、前記特定作業の結果に応じた結果データを計算する手段であって、
（１）  前記内部時刻が前記絶対時刻に対応している時に実行された前記特定作業に応答して絶対時刻ベース結果データを計算し、
（２）  前記内部時刻が前記絶対時刻に対応していない時に実行された前記所定作業に応答して相対時刻ベース結果データを計算し、
（３）前記絶対時刻ベース結果データと前記相対時刻ベース結果データを分離して管理する
作業結果管理手段が更に備えられる。
【００２１】
このように、特定作業（例えば、インクジェットプリンタの場合のヘッドクリーニング）の実行結果に応じたデータ（例えば、ヘッドクリーニングでインク吸収体に吸収された廃インク量を計算したデータ）を、その特定作業が実行されたときの内部時刻が絶対時刻に対応していたか否かで区別して、別個に計算し管理することで、特定作業の結果データ（例えば、インク吸収体内の廃インク量の計算データ）の計算精度が向上する。
【００２２】
好適な実施形態では、前記作業結果管理手段は、前記経過時間計算手段により前記経過時間が計算されたとき、前記絶対時刻ベース結果データと前記相対時刻ベース結果データを、計算された前記経過時間に応じて修正する。このように特定作業の結果データに対して経過時間に応じた修正を行う（例えば、廃インク量の計算データから、経過時間に応じた蒸発量を差し引く）ことで、特定作業の結果データの計算精度が向上する。特に、絶対時刻ベース結果データに対する修正と、相対時刻ベース結果データに対する修正とを分離して行うことで、絶対時刻ベースと相対時刻ベースの性質の違いに応じた異なる修正方法が採用できるので、結果データの計算精度が向上する。
【００２３】
好適な実施形態では、前記絶対時刻ベース結果データと前記相対時刻ベース結果データとを組み合わせたデータに基づいて、前記特定作業の結果に問題がないか否かを判断する作業結果判断手段が更に備えられる。例えば、インクジェットプリンタの場合、絶対時刻ベースの廃インク量計算データと相対時刻ベースの廃インク量計算データとを加算した値に基づいて、廃インクの溢れ出しが生じないか否かが判断され得る。
【００２４】
好適な実施形態では、前記経過時間計算手段は、
（１）  前記クロック手段の停止が生じた電源オフ期間の時間長が算入され得る第１の経過時間を計算する手段と、
（２）  前記クロック手段の停止が生じた電源オフ期間の時間長が算入され得ない第２の経過時間を計算する手段と
を有する。そして、前記作業結果管理手段は、前記経過時間の計算時点にて前記内部時刻が前記絶対時刻に対応しているか否かをチェックし、チェックの結果、
（１）  前記絶対時刻に対応している場合には、
Ａ．  前記絶対時刻ベース結果データを、前記第１の経過時間に応じて修正し、
Ｂ．  前記相対時刻ベース結果データを、前記第２の経過時間に応じて修正し、
（２）  前記絶対時刻に対応していない場合には、前記絶対時刻ベース結果データと前記相対時刻ベース結果データとを、前記第２の経過時間に応じて修正する。
【００２５】
このように、結果データを経過時間に応じて修正する場合に、経過時間計算時点の内部時刻が絶対時刻に対応しているか否か、及び、修正対象が絶対時刻ベース結果データか相対時刻ベース結果データかに応じて、適用する経過時間を違えることで、それぞれの結果データを精度よく修正することができる。よって、経過時間に応じて修正された結果データに基づく判断制御（例えば、インクジェットプリンタにおける、経過時間に応じた蒸発量により修正された廃インク量に基づく、廃インクの溢れ出しの虞の判断制御）の信頼性が向上する。
【００２６】
好適な実施形態では、前記経過時間計算手段は、電源オフ期間中に前記クロック手段が停止したことにより前記内部時刻が前記絶対時刻に対応しなくなった場合、前記絶対時刻に対応していない前記内部時刻に基づいて前記経過時間を計算し、その後、前記外部装置から受信された前記情報により前記内部時刻及び前記処理時刻が前記絶対時刻に対応するように修正された場合、前記絶対時刻に対応する前記内部時刻及び前記処理時刻に基づいて前記経過時間を計算するとともに、前記絶対時刻に対応していない前記内部時刻に基づいて計算された前記経過時間を無効にする。これにより、長期の電源オフ期間中にクロック手段が停止して絶対時刻が不明になった場合、クロック手段が出力する相対時刻に基づいて経過時間をとりあえず計算するが、その後、外部装置から絶対時刻の情報が受信されれば、その絶対時刻に基づいた経過時間が計算し直され、相対時刻に基づいた経過時間が無かったものとされるので、経過時間に基づいて処理される制御の精度が向上する。
【発明の効果】
【００２７】
本発明によれば、プリンタやその他の電子機器において、電子機器内で管理される時間情報の精度が高まる。
【００２８】
本発明の好適な実施形態によれば、電子機器内で管理される時間情報に基づいて処理される制御の信頼性が高まる。
【発明を実施するための最良の形態】
【００２９】
図１は、本発明に従う電子機器の一実施形態にかかるインクジェットプリンタの全体のハードウェア構成を示す。
【００３０】
図１に示すように、インクジェットプリンタ（以下、プリンタという）１００は、外部装置（例えば、パーソナルコンピュータ、デジタルカメラ又は携帯電話機などのプリンタクライアント又は画像ソース装置など）２００に接続することができる。外部装置２００は、自ら絶対時刻（典型的には、標準時にほぼ相当する時刻）を継続的にカウントしており、現在時刻を示す時刻情報を、プリンタ１００との所定の通信時（例えば、プリンタ１００に印刷ジョブ又は画像データを送信する時、あるいは、プリンタ１００から時刻問い合わせが来た時など）に、現在の絶対時刻に対応する時刻情報をプリンタ１００へ送信する。外部装置２００からプリンタ１００へ送信される現在の絶対時刻情報を、以下、ＴＩ（タイムインデックス）という。
【００３１】
プリンタ１００は、印刷動作を行う機構である印刷機構１１０を有する。印刷機構１１０には、印刷ヘッド１１１、インクタンク１１２、ヘッドメンテナンス機構１１３、キャリッジ機構１１３、インク吸収体１１５、及び紙送り機構１１６などが含まれる。ヘッドメンテナンス機構１１３は、印刷ヘッド１１１に対する各種メンテナンス動作、例えば、新しいインクタンク１１２の装着時における印刷ヘッド１１１へのインクの充填や、印刷ヘッド１１１のクリーニング（インクジェットノズルのインク詰まりの除去や、ヘッド表面の汚れの除去など）を行うための機構であり、ヘッド保護キャップやインク吸引ポンプやワイパーなどから構成される。インク吸収体１１５は、印刷ヘッド１１１のメンテナンスが行われることで印刷ヘッド１１１から外へ排出される廃インクを吸収して、廃インクがプリンタ１０に漏れ出ないようにするスポンジ様の物体である。キャリッジ機構１１４は、印刷ヘッド１１１を搭載したキャリッジ（図示せず）を、シャフトに沿って走行させることで、印刷ヘッド１１１を移動させる機構である。
【００３２】
プリンタ１００は、また、印刷機構１１０を制御するためのコントローラ１２０を備える。コントローラ１２０は、ＣＰＵ１２２、ＲＡＭ１２４、及びＥＥＰＲＯＭ（不揮発性メモリ）１２６を有する。コントローラ１２０の機能、とりわけ本発明の原理に従う各種の制御機能については後に詳述する。
【００３３】
プリンタ１００は、また、プリンタ１００内で時間を継続的にカウントするためのＲＴＣ（リアルタイムクロック回路）１３０を有する。このＲＴＣ１３０にて継続的にカウントされている時刻を、以下、ＲＴＣ時刻という。ＲＴＣ１３０でカウントされているＲＴＣ時刻は、定期的に（例えば１時間間隔で）ＣＰＵ１２２に読み込まれるようになっている。また、ＲＴＣ１３０でカウントされているＲＴＣ時刻は、ＣＰＵ１２２からの指示で、ＣＰＵ１２２が指定する時刻にセットできるようになっている。
【００３４】
プリンタ１００は、さらに、上述した印刷機構１１０、コントローラ１２０及びＲＴＣ１３０に電力を供給する主電源回路１４０を有する。主電源回路１４０は、商用１００ＶＡＣ電源のような外部電源３００から電力を入力し、プリンタ１００内の上記各部へ各部用の電圧をもつ直流電力を供給する。主電源回路１４０は、ＣＰＵ１２２からの制御でターンオン及びターンオフされるようになっている。以下、主電源回路１４０を電源と略称する場合がある。
【００３５】
上述したＲＴＣ１３０は、電源オフである間も、蓄電器（例えば大容量のコンデンサ又はバッテリ）１５０から電力を受けて、継続して動作できるようになっている。蓄電器１５０は、電源オンの間に主電源回路１４０により充電される。しかし、電源オフの状態が所定時間以上に達すると、蓄電器１５０は完全に放電し、ＲＴＣ１３０は停止する。以下の説明では、電源オフの状態でＲＴＣ１３０が蓄電器１５０により動作できる最長時間は、一例として１６０時間であるとする。このように長い電源オフ期間中にＲＴＣ１３０が停止した場合でも、その後に主電源回路１４０がターンオンされればＲＴＣ１３０は再び動作を開始する。ＲＴＣ１３０は、電源オフ期間中に停止したか停止せず動作を継続していたかを示す動作情報を内部に保持するようになっている。ＣＰＵ１２２は、電源ターンオン後にＲＴＣ１３０の動作情報を参照することよって、ＲＴＣ１３０が電源オフ期間中に停止したか継続動作していたかを把握する。
【００３６】
図２は、コントローラ１２０の制御機能、とりわけ本発明に関連する各種制御の機能を示す。
【００３７】
図２に示すように、ＣＰＵ１２２は、予め組み込まれた制御プログラムを実行することにより、電源オン時時間制御２００、ＴＩ受信時時間制御２０２、キャリッジメンテナンス（ＣＭ）制御２０４、ヘッドメンテナンス（ＨＭ）制御２０６、及び廃インク制御２０８を行う。以下の説明では、キャリッジメンテナンスをＣＭ、ヘッドメンテナンスをＨＭと略称する場合がある。
【００３８】
電源オン時時間制御２００は、主電源回路１４０がターンオンされた時（直後）に実行される時間制御である。ＴＩ受信時時間制御２０２は、外部装置２００からＴＩが受信された時（直後）に実行される時間制御である。電源オン時時間制御２００とＴＩ受信時時間制御２０２とが組み合わさって、プリンタ１００内部での時間管理制御２０３を構成する。後の具体的な説明から明らかになるように、内部時間管理制御２０３は、外部装置２００からＴＩが受信された場合、ＴＩによりＲＴＣ時刻を修正することで、ＲＴＣ時刻が絶対時刻に対応するようにする。また、内部時間管理制御２０３は、ＲＴＣ時刻が絶対時刻に対応しているか、いないか（つまり、相対時刻に対応するに過ぎないか）を判別し、その判別結果を示す判別情報（後述するＴＩフラグ）を保持する。また、内部時間管理制御２０３は、電源ターンオン時、その前の電源オフ期間中にＲＴＣ１３０が停止したか継続して動作していたかを判定し、停止したと判定された場合には、電源オフ期間長が不明になったことに対処するための処理を行う。
【００３９】
キャリッジメンテナンス制御２０４は、キャリッジ機構１１４の状態を適正に保つため、特に、それに沿ってキャリッジが走行するためのシャフトに塗られた潤滑油の固化又は劣化を防止するための制御である。キャリッジメンテナンス制御２０４は、例えば電源ターンオン時（直後）に行われ、その前の電源オフ期間が所定のオイル閾値（潤滑油の固化を防止する観点から定められた閾値時間長）以上に長かったか判断し、そうならば、キャリッジを走行させて潤滑油を流動させて潤滑油の固化を防ぐ。
【００４０】
ヘッドメンテナンス制御２０６は、印刷ヘッド１１１の状態を適正に維持するために、ヘッドメンテナンス、とりわけクリーニングを、できるだけ適時に自動的に行うための制御である。ヘッドメンテナンス制御２０６は、例えば印刷開始時（直前）に行われる（電源ターンオン時（直後）に行われる場合もある）。ヘッドメンテナンス制御２０６は、前回のヘッドメンテナンスの実行時からの経過時間の長短に応じて、クリーニングを行う必要があるかどうかを判断し、必要があれば、それを実行する。ここで、クリーニングには、作業量のレベルの異なる複数種類のプロセスが用意されており、クリーニングを行う必要ありと判断された場合、上記経過時間の長短に応じてどのレベルのクリーニングプロセスを行うかが選択されるようになっている。
【００４１】
廃インク制御２０８は、インク吸収体１１５から保持されている廃インクの量（廃インク残量）をその蒸発量を考慮に入れて計算し、計算された廃インク残量に基づいて、インク吸収体１１５から廃インクが溢れて漏れ出ないように、ヘッドメンテナンス（特にクリーニング）の実行を調整するものである。廃インク制御２０８は、ヘッドメンテナンス制御２０６内で行われる。また、ユーザの要求によりヘッドメンテナンス（インクタンク装着時のインク充填、ユーザ要求によるクリーニング）が行われたときにも、廃インク制御２０８は実行される。後の説明から明らかになるように、廃インク制御２０８は、ＲＴＣ時刻が絶対時刻に対応しているときに実行されたヘッドメンテナンスで排出された廃インクの残量と、ＲＴＣ時刻が相対時刻に対応しているときに実行されたヘッドメンテナンスで排出された廃インクの残量とを別個に計算して保持し、そして、両者を合わせたトータルの廃インク残量に基づいて廃インクが溢れるか否かを判定する。それにより、信頼性の高い廃インク漏れ防止制御が行えることになる。
【００４２】
上述した各種の制御２００〜２０８を行うために、ＣＰＵ１２２は、ＲＡＭ１２４及びＥＥＰＲＯＭ１２６に次のような変数データを記録する。
【００４３】
すなわち、図２に示すように、ＲＡＭ１２４には、ＴＩフラグ２２０、電源オフ時間長２２２、蒸発時間長２２４、ＨＭ（ヘッドメンテナンス）タイマ２２６、及び、電源オン時刻２２８などの変数データが記憶される。また、ＥＥＰＲＯＭ１２６には、前回電源オフ時ＴＩフラグ２４０、前回ＨＭ（ヘッドメンテナンス）時刻２４２、前回電源オフ時刻２４４、前回蒸発計算時刻２４６、絶対時刻ベース廃インク総量（以下、ＳＡと略称する場合がある）２４８、絶対時刻ベース廃インク残量（以下、Ａと略称する場合がある）２５０、相対時刻ベース廃インク総量（以下、ＳＢと略称する場合がある）２５２、及び、相対時刻ベース廃インク残量（以下、Ｂと略称する場合がある）２５４などの変数データが記録される。ＥＥＰＲＯＭ１２６内のこれらの変数データは、電源オフ期間中も消えずに保持される。
【００４４】
ＲＡＭ１２４内の変数データ２２０〜２２６の意味は次のとおりである。
【００４５】
ＴＩフラグ２２０は、それが「１」であれば、ＲＴＣ時刻が現在絶対時刻に対応していることを示し、それが「０」であれば、ＲＴＣ時刻が現在絶対時刻に対応していない（相対時刻に対応している）ことを示す。
【００４６】
電源オフ時間長２２２は、直前の電源オフ期間の時間長を示し、これは、キャリッジメンテナンス制御２０４においてキャリッジメンテナンスを行うべきか否かの判断材料として用いられる。
【００４７】
蒸発時間長２２４は、廃インク蒸発量の計算を実行しようとする時点における、前回の同計算の実行時点から今回の実行時点までの経過時間を示すものであり、特に、絶対時刻（厳密には、絶対時刻に対応するＲＴＣ時刻）に基づいて計算される。蒸発時間長２２４は、廃インク制御２０８において廃インクの蒸発量の計算に使用される。
【００４８】
ＨＭタイマ２２６は、蒸発時間長２２４と同様の意味の経過時間を示すもので、廃インクの蒸発量の計算に使用される。但し、ＨＭタイマ２２６は、相対時刻（厳密には、相対時刻に対応するＲＴＣ時刻）に基づいて計算される。後の説明から明らかになるように、電源オフ期間中に蓄電器放電のためにＲＴＣ１３０が停止した場合、その電源オフ期間の長さが不明になるが、その不明な電源オフ期間長はＨＭタイマ２２６が示す経過時間には算入されない。結果として、不明になった電源オフ期間長が廃インクの蒸発量の計算から排除されることになり、廃インク制御２０８の信頼性が向上する。
【００４９】
電源オン時刻２２８は、電源がターンオンされた時点でのＲＴＣ時刻である。
【００５０】
ＥＥＰＲＯＭ１２６内の変数データ２４０〜２５４の意味は次のとおりである。
【００５１】
前回電源オフ時ＴＩフラグ２４０は、前回の電源ターンオフがなされた時点におけるＴＩフラグ２２０の値（つまり、ＲＴＣ時刻が絶対時刻と相対時刻のどちらを示したか）を示す。前回ＨＭ時刻２４２は、前回のヘッドメンテナンスを実行した時刻を示す。前回電源オフ時刻２４４は、前回の電源ターンオフがなされた時刻を示す。前回蒸発計算時刻２４６は、前回の蒸発量計算が実行された時刻（前回の廃インク制御２０８が実行された時刻）を示す。
【００５２】
絶対時刻ベース廃インク総量（ＳＡ）２４８は、ＲＴＣ時刻が絶対時刻に対応しているとき（ＴＩフラグ２２０が「１」であるとき）に実行されたヘッドメンテナンスでインク吸収体１１５へ排出されたインクの総量を示す。絶対時刻ベース廃インク残量（Ａ）２５０は、ＳＡ２４８のうち、蒸発量を除いた残量を示す。
【００５３】
相対時刻ベース廃インク総量（ＳＢ）２５２は、ＲＴＣ時刻が相対時刻に対応しているとき（ＴＩフラグ２２０が「０」であるとき）に実行されたヘッドメンテナンスでインク吸収体１１５へ排出されたインクの総量を示す。相対時刻ベース廃インク残量（Ｂ）２５４は、ＳＢ２５２のうち、蒸発量を除いた残量を示す。
【００５４】
以下、ＣＰＵ１２２が行う上記各種の制御２００〜２０８の具体的な流れを説明する。
【００５５】
図３は、電源オン時時間制御２００の流れを示す。
【００５６】
図３のステップＳ３００に示すように、電源（主電源回路１４０）のターンオン直後に、この電源オン時時間制御２００が開始される。ステップＳ３０２で、ＲＴＣ１３０が直前の電源オフ期間中に継続的に動作していたか、蓄電器放電のために停止していたかが、ＲＴＣ１３０がもつ動作情報に基づいて判断される。
【００５７】
ステップＳ３０２で、ＲＴＣ１３０が継続動作していたと判断された場合、制御はステップＳ３０４へ進み、前回電源オフ時刻２４４から現在のＲＴＣ時刻（現在時刻）までの経過時間が計算され、計算された経過時間が電源オフ時間長２２２として記録される。また、ステップ３０４で、ＨＭタイマに現在のＲＴＣ時刻（現在時刻）がセットされる。
【００５８】
さらに、ステップ３０８で、前回電源オフ時ＴＩフラグ２４０がチェックされる。前回電源オフ時ＴＩフラグ２４０が値「１」であれば、前回の電源ターンオフ時にＲＴＣ時刻が絶対時刻に対応していたこと（つまり、ＴＩを受信していたこと）を意味する。その場合には、ＴＩフラグ２２０に値「１」がセットされる。これは、現在もＲＴＣ時刻が絶対時刻に対応していることを意味する。他方、ステップ３０８の結果、前回電源オフ時ＴＩフラグ２４０が値「０」であれば、前回の電源ターンオフ時にＲＴＣ時刻が相対時刻に対応していたこと（つまり、ＴＩを受信していなかったこと）を意味する。その場合には、ＴＩフラグ２２０に値「０」がセットされる。これは、現在もＲＴＣ時刻が相対時刻に対応していることを意味する。
【００５９】
また、上述したステップＳ３０２の結果、ＲＴＣ１３０が直前の電源オフ期間中に停止していたと判定された場合には、制御はステップＳ３２０へ進む。この場合、電源オフ時間長は正確には不明であるが、蓄電器１５０の最大バックアップ時間長（例えば１６０時間）より長いことは判る。そこで、ステップＳ３２０で、電源オフ時間長の推定最低値（例えば１６１時間）が電源オフ時間長２２２にセットされる。また、この場合、ＲＴＣ時刻も信頼できない値になっているので、ステップ３２２でＲＴＣ１３０にＲＴＣ時刻として初期値「０」がセットされ、ステップ３２４でＨＭタイマ２２６にもＲＴＣ時刻の初期値「０」がセットされる。これにより、ＲＴＣ１３０は、電源ターンオン時点を相対時刻の原点として時間カウントを開始することになる。ステップ３１２で、ＴＩフラグ２２０に値「０」がセットされる。これは、現在のＲＴＣ時刻が相対時刻に対応していることを意味する。
【００６０】
以上の電源オン時時間制御２００により、現在のＲＴＣ時刻がＴＩと同様の絶対時刻に対応しているか、あるいは、相対時刻に対応しているかという、プリンタ内部で管理される時刻の性質が、ＴＩフラグ２２０によって識別されることになる。また、電源オフ期間中にＲＴＣ１３０が継続動作していた場合には、電源オフ期間の正確な時間長が、電源オフ時間長２２２として記録される。他方、電源オフ期間中にＲＴＣ１３０が停止した場合には、蓄電器のバックアップ能力（例えば１６０時間）から推定される電源オフ期間の最低時間長（例えば１６１時間）が、電源オフ時間長２２２として記録されることになる。また、電源オフ期間中にＲＴＣ１３０が停止した場合、ＲＴＣ時刻は、その後の電源ターンオン時点を原点としてカウントされ直されることになる。
【００６１】
図４は、ＴＩ受信時時間制御２０２に流れを示す。
【００６２】
図４のステップＳ４００に示すように、外部装置２００からＴＩが受信された直後に、このＴＩ受信時時間制御２０２が開始される。ステップ４０２で、今回のＴＩ受信が、電源ターンオン後最初の受信であるか否かがチェックされる。
【００６３】
その結果、最初の受信である場合には、ステップＳ４０４で、ＲＴＣ１３０にＲＴＣ時刻として、受信されたＴＩに対応する絶対時刻（ＴＩ対応時刻）がセットされる（つまり、ＲＴＣ時刻がＴＩ対応時刻に一致するように修正される）。ここで、ＴＩ対応時刻とは、ＴＩが示す例えば２００４年１０月１日１３時１５分のような絶対時刻を、例えば一定年数周期のリングカウンタであるＲＴＣ１３０のカウント値に換算した値である。なお、ＲＴＣ時刻と受信されたＴＩとの間の時間差が、外部装置２００が管理する時間の通常のばらつき程度に小さい場合（例えば２４時間以内）である場合には、その時間差は、外部装置２００での時間管理のばらつきに起因するものであり、ＲＴＣ時刻は正しい絶対時刻に対応しているとみなすことができる。そこで、そのように時間差が小さい場合には、ステップ４０４はパスされてもよい。
【００６４】
また、ＴＩが受信された場合、ステップ４０６でＴＩフラグ２２０に値「１」がセットされる。これは、現在のＲＴＣ時刻が絶対時刻に対応していることを意味する。
【００６５】
さらに、ステップＳ４０８で、今回のＴＩ受信が、このプリンタ１００の工場出荷後最初の受信であるかがチェックされる。その結果、最初の受信でないと判断された場合には、ＨＭタイマ２２６、電源オン時刻２２８、前回ＨＭ時刻２４２、前回電源オフ時刻２４４、及び、前回蒸発計算時刻２４６が、ステップ４０４でのＲＴＣ時刻とＴＩ対応時刻と差分（つまり、ＲＴＣ時刻の修正幅と同じ修正幅）だけ修正される。例えば、ステップ４０４でＲＴＣ時刻に１００時間がプラスされた場合、ＨＭタイマ２２６、電源オン時刻２２８、前回ＨＭ時刻２４２、前回電源オフ時刻２４４、及び、前回蒸発計算時刻２４６も同様に１００時間がプラスされる。この修正により、ＨＭタイマ２２６、電源オン時刻２２８、前回ＨＭ時刻２４２、前回電源オフ時刻２４４、及び、前回蒸発計算時刻２４６が、ＲＴＣ時刻と同じ絶対時刻の時間軸上の値となるので、これらの値の間の差分が意味ある経過時間を示すようになる（例えば、修正された前回電源オフ時刻２４４とＲＴＣ時刻との差分は、前回の電源オフから現在までの経過時間を示す）。他方、ステップＳ４０８の結果、工場出荷後最初の受信と判断された場合には、ステップ４１０の修正はパスされる。出荷後最初の受信の場合、ＨＭタイマ２２６、前回ＨＭ時刻２４２、前回電源オフ時刻２４４、及び、前回蒸発計算時刻２４６の値は不定であるため、これを修正することに意味がないからである。
【００６６】
上述したステップ４０２で、電源オン後最初の受信でない（２回目以降の受信）と判断された場合には、ステップＳ４０４〜Ｓ４１０はパスされる。この場合、既にＲＴＣ時刻はＴＩにより修正されて正しい現在の絶対時刻に対応しているので、改めて修正する必要がないからである。
【００６７】
以上のＴＩ受信時時間制御２０２により、プリンタ内で管理されているＲＴＣ時刻、ＨＭタイマ２２６、電源オン時刻２２８、前回ＨＭ時刻２４２、前回電源オフ時刻２４４、及び、前回蒸発計算時刻２４６などの時間情報が、外部装置２００で管理されている絶対時刻に対応した値にセットされる。
【００６８】
また、ＲＴＣ１３０の停止により絶対時刻が不明になった場合であっても、その後にＴＩが受信されると、ＲＴＣ時刻及び記憶されている前回蒸発計算時刻などの各種時刻はＴＩにより修正されて絶対時刻に対応するものに変る。後に詳述するように、廃インク制御２０８では、廃インクの蒸発量を計算するために、ＲＴＣ時刻に基づいて経過時間が計算される。相対時刻に対応するＲＴＣ時刻により計算された経過時間は、電源オフ期間中にＲＴＣ１３０が停止したことの影響を受けるので、正確でない可能性がある。これに対し、絶対時刻に対応するＲＴＣ時刻により計算された経過時間は、そのような影響を受けないので正確である。ＲＴＣ１３０の停止により絶対時刻が不明になった後、相対時刻で経過時間が計算された場合であっても、その後にＴＩが受信されてＲＴＣ時刻及び記憶されている前回蒸発計算時刻などが再び絶対時刻に対応することになったならば、その絶対時刻に基づいて正確な経過時間が計算されることになり、相対時間で計算された不正確な経過時間は無効にされることになる。このように、ＴＩによるＲＴＣ１３０の修正により、正確な経過時間の把握が可能になり、結果として、廃インク制御２０８のように経過時間に基づいて処理される制御の精度が向上する。
【００６９】
図５は、キャリッジメンテナンス制御２０４の流れを示す。
【００７０】
図５のステップＳ５００に示すように、電源ターンオンの直後にこのキャリッジメンテナンス制御２０４が開始される。ステップＳ５０２で、直前の電源オフ期間の時間長が所定のＣＭ（キャリッジメンテナンス）閾値以上であるかどうかが、電源オフ時間長２２２に基づいて判断される。ここで、ＣＭ閾値は、キャリッジメンテナンスのインターバルとして適当な時間長であり、例えば、キャリッジ機構１１４のシャフト等に塗られている潤滑油の固化を防止するために適切なインターバルの長さであり、蓄電器のバックアップ能力（例えば１６０時間）よりは短い。
【００７１】
ステップＳ５０２の結果、電源オフ時間長２２２がＣＭ閾値以上であるならば、ステップＳ５０４で、キャリッジのシャフトに沿うフル可動範囲にわたる往復走行が実行される。これにより、キャリッジ機構１１４の潤滑油が引き伸ばされ流動して固化が防止される。
【００７２】
以上のキャリッジメンテナンス制御２０４により、ＣＭ閾値以上に長い電源オフ期間があった場合、その後の電源ターンオン直後にキャリッジメンテナンスが必ず実行されることになる。特に長期間の電源オフ期間があった場合、その間にＲＴＣ１３０が停止しても、その後の電源ターンオン直後に確実にキャリッジメンテナンスが実行される。
【００７３】
図６は、ヘッドメンテナンス（ＨＭ）制御２０６の流れを示す。
【００７４】
図６のステップＳ６００に示すように、印刷を実行する直前に、このヘッドメンテナンス制御２０６が開始される。或いは、電源ターンオン直後にヘッドメンテナンス制御２０６が開始されてもよい。また、ステップＳ６０２に示すように、ユーザからヘッドメンテナンス実行要求（例えば、ヘッドクリーニングの実行要求、或いは、インクタンク装着完了の通知など）が入力されたときにも、このヘッドメンテナンス制御２０６が開始される。
【００７５】
ステップＳ６００により印刷実行直前（又は電源ターンオン直後）にヘッドメンテナンス制御２０６が開始された場合、ステップＳ６０４で、前回ＨＭ時刻２４２と現在のＲＴＣ時刻（現在時刻）との差分を計算することで前回のヘッドメンテナンス実行時から現在までの経過時間が計算され、ステップＳ６０６で、計算された経過時間が所定の複数レベルのＨＭ（ヘッドメンテナンス）閾値をどれかに該当（超えたか）するか否かが判定される。ここで、それぞれのレベルのＨＭ閾値とは、それぞれのレベルのヘッドメンテナンス（特にヘッドクリーニング）を実行するのに適したヘッドメンテナンス間のインターバルの長さである。レベルが高い（クリーニング作業が入念で重い）ほど、ＨＭ閾値はより長い時間に設定されている。
【００７６】
ステップＳ６０６の判定の結果、計算された経過時間が複数レベルのＨＭ閾値のいずれにも該当しない（つまり、最小のＨＭ閾値未満である）場合、ヘッドメンテナンスは実行されずにヘッドメンテナンス制御２０６は終了する。他方、計算された経過時間がいずれかのＨＭ閾値に該当する（「該当するＨＭ閾値」とは、経過時間以下のＨＭ閾値のうちの最大のＨＭ閾値をいう）場合、その該当するＨＭ閾値のレベルのヘッドメンテナンスを実行するために、制御はステップＳ６０８へ進む。
【００７７】
また、上述したステップ６０２で、ユーザ要求によりヘッドメンテナンス制御２０６が開始された場合にも、ユーザ要求されたヘッドメンテナンスを実行するために、制御はステップＳ６０８へ進む。
【００７８】
ステップＳ６０８で、予備的な廃インク制御が実行される。予備的な廃インク制御とは、後に詳述される廃インク制御２０８と実質的に同じ計算手順により、今行おうとしているヘッドメンテナンスを実際に行った場合にインク吸収体１１５の廃インク残量がどのような値になるかを予測的に計算して、インク吸収体１１５から廃インクが溢れ出るか否かを予測的に判定する処理である。この予備的な廃インク制御の計算では、ヘッドメンテナンスによって排出されるインク量として、予めレベルごとに定められているインク排出量値が用いられる。廃インク制御２０８では、後述するように、ＲＡＭ１２４やＥＥＰＲＯＭ１２６内の変数データが確定的に更新されるのに対し、予備的な廃インク制御では、変数データの確定的な更新は行われない。
【００７９】
ステップ６１０で、ステップ６０８の予備的な廃インク制御の結果により廃インク溢れが生じる可能性があるか否かが判断される。その可能性があると判定された場合、ヘッドメンテナンスの実行はパスされて、ヘッドメンテナンス制御２０６が終了する。この場合、予備的な廃インク制御の中で、廃インク溢れ用の所定のメンテナンスエラー処理（例えば、ユーザに所定のメッセージを通知する）が行われる。
【００８０】
ステップ６１０で、廃インク溢れが生じる可能性がないと判断された場合、制御はステップＳ６１２に進み、上記ステップ６０６で判定されたレベル（又は、ステップ６０２でユーザにより要求されたレベル）のヘッドメンテナンスが実行される。そして、ステップＳ６１２で、廃インク制御２０８が実行される。この廃インク制御２０８では、今実行されたヘッドメンテナンスの結果としてインク吸収体１１５の廃インク残量がどのような値になったが計算され、インク吸収体１１５から廃インクが溢れ出るか否かが判定される。また、ステップＳ６１６で、前回ＨＭ時刻２４２に現在のＲＴＣ時刻（現在時刻）がセットされる。
【００８１】
以上のようなヘッドメンテナンス制御２０６により、印刷実行前又は電源ターンオン時に、前回のヘッドメンテナンス実行時からの経過時間の長さに応じた適当なレベルのヘッドメンテナンスが選択的に実行される。また、インク吸収体１１５からの廃インクの溢れ出しを防止するように、ヘッドメンテナンスの実行可否が制御される。
【００８２】
図７と図８は、互いに繋がって廃インク制御２０８の流れを示す。
【００８３】
図７のステップＳ７００に示すように、電源ターンオフが行われる直前、及び、上述したヘッドメンテナンス制御２０６の中で、この廃インク制御２０８が実行される。ステップＳ７０２で、前回蒸発計算時刻２４６が不定か否かが判断される。前回蒸発計算時刻２４６が不定な場合とは、このプリンタ１０が工場集荷されてからまだ一度もヘッドメンテナンス又は電源ターンオフのいずれもが行われたことがない（廃インク制御２０８が一度も実行されてない）場合であり、この場合には、廃インク蒸発量の計算を行うことは意味がない。そこで、この場合には、制御は、廃インク蒸発量の計算にかかわる処理をパスして、図８に示すステップ８０６へ進み、そこで、今回のヘッドメンテナンスで排出したインク量を、ＳＢ（相対時刻ベース廃インク総量）２５２とＢ（相対時刻ベース廃インク残量）２５４に加算する。
【００８４】
上記ステップＳ７０２の結果、前回蒸発計算時刻２４６が特定されている場合（既にヘッドメンテナンス又は電源ターンオフのいずれかが行われたことがある場合（既に廃インク制御２０８が実行されたことがある場合））には、廃インクの蒸発量を計算するために、制御はステップＳ７０４に進む。ステップＳ７０４で、今回の蒸発量計算が電源ターンオン後の最初の計算回であるか否かが判断される。
【００８５】
ステップＳ７０４の結果、電源ターンオン後の最初の計算回であると判定された場合には、ステップＳ７０６で、その電源ターンオン時にＲＴＣ１３０が継続動作していたか停止していたかが判断される。そして、電源ターンオン時にＲＴＣ１３０が継続動作していた場合には、ステップＳ７０８で、前回電源オフ時刻２４４と現在のＲＴＣ時刻（現在時刻）との差分が計算され、その差分がＨＭタイマ２４２にセットされる。つまり、前回の電源ターンオフ時点（つまり、前回の蒸発量計算が行われた時点）から現在までの経過時間が、ＨＭタイマ２４２にセットされる。他方、電源ターンオン時にＲＴＣ１３０が停止していた場合には、現在のＲＴＣ時刻は前回の電源ターン時刻からカウントされ続けた値ではなく、電源ターンオン時からカウント開始された値になってしまっている。そこで、この場合には、ステップＳ７１０で、電源オン時刻２２８と現在のＲＴＣ時刻（現在時刻）との差分が計算され、その差分がＨＭタイマ２４２にセットされる。つまり、電源ターンオン時点から現在までの経過時間がＨＭタイマ２４２にセットされる。要するに、電源ターンオン後の最初の計算回では、前回の蒸発量計算が行われた時点から現在までの経過時間のうち、ＲＴＣ１３０の停止で不明に陥った電源オフ期間の長さを除いた、確実に経過していると認められる時間長が、ＨＭタイマ２４２にセットされる。
【００８６】
他方、ステップＳ７０４で、電源ターンオン後の最初の計算回でないと判定された場合（電源ターンオン後２回目以降の計算回の場合）には、ステップＳ７１２で、現在のＨＭタイマ２４２（前回の廃インク制御２０８におけるステップ７３２でセットされた、前回の廃インク制御２０８の実行時刻）と現在のＲＴＣ時刻（現在時刻）との差分が計算され、その差分がＨＭタイマ２４２に改めてセットされる。つまり、電源ターンオン後２回目以降の計算回では、前回の廃インク制御２０８の実行時点から現在までの経過時間（これは、確実に経過していると認められる）が、ＨＭタイマ２４２にセットされる。
【００８７】
この後、制御はステップＳ７１４に進み、ＴＩフラグ２２０（ＲＴＣ時刻が絶対時刻に対応するか相対時刻に対応するか）がチェックされる。ＴＩフラグ２２０が「１」の場合（ＲＴＣ時刻が絶対時刻に対応する場合）には、制御はステップＳ７１６へ進み、そこで、前回蒸発計算時刻２４６と現在のＲＴＣ時刻（現在時刻）との差分が計算され、その差分が蒸発時間長２２４にセットされる。こうしてセットされた蒸発時間長２２４は、ＲＴＣ時刻が示す絶対時刻に基づいて計算された、前回の蒸発計算実行時点から現在まで経過時間であり、これは、確実に経過していると認められる時間である。そして、ステップＳ７１８で、前回蒸発計算時刻２４６が、現在のＲＴＣ時刻（現在時刻）に更新される。
【００８８】
その後、ステップＳ７２０で、上記ステップＳ７１６でセットされた蒸発時間長２２４の所定の関数として廃インクの蒸発量が計算される。例えば、蒸発時間長２２４に所定の蒸発係数（単位時間当たりの蒸発量を定義した値）を乗算することで、蒸発量が計算される。このように蒸発時間長２２４に基づいて計算された蒸発量が、現在のＡ（絶対時刻ベース廃インク残量）２５０から差し引かれ、それにより得られた廃インク残量がＡ２５０に改めてセットされる。
【００８９】
さらに、ステップＳ７２２で、上記ステップＳ７０８、７１０又は７１２でセットされたＨＭタイマ２２０の所定の関数として廃インクの蒸発量が計算される。例えば、ＨＭタイマ２２０に上記蒸発係数を乗算することで、蒸発量が計算される。このようにＨＭタイマ２２０に基づいて計算された蒸発量が、現在のＢ（相対時刻ベース廃インク残量）２５４から差し引かれ、それにより得られた廃インク残量がＢ２５４に改めてセットされる。
【００９０】
ここで、上記ステップＳ７２０とＳ７２２での蒸発量計算の根拠として用いられる蒸発時間長２２４とＨＭタイマ２２０の意味について説明する。
【００９１】
蒸発時間長２２４は、絶対時刻に対応するＲＴＣ時刻を用いて計算されるもので、前回の蒸発量計算時点（ヘッドメンテナンス実行時点又は電源ターンオフ時点）から、今回の蒸発量計算時点（ヘッドメンテナンス実行時点又は電源ターンオフ時点）までの時間区間の長さである。前回の蒸発量計算時点と今回の蒸発量計算時点との間に電源オフ期間が挟まる場合がある。その電源オフ期間中にＲＴＣ１３０が停止したとしても、その電源オフ期間の長さは、必然的に、蒸発時間長２２４に算入されることになる。
【００９２】
これに対し、ＨＭタイマ２２０は、絶対時刻に対応するＲＴＣ時刻を用いて計算される場合もあれば、相対時刻に対応するＲＴＣ時刻を用いて計算される場合もある。これは、ＨＭタイマ２２０がセットされる時点でＲＴＣ時刻が絶対時刻に対応しているか相対時刻に対応しているかによって決まる。ＨＭタイマ２２０は次の時間長を示す。
【００９３】
（１）  電源ターンオン後の最初の蒸発量計算時（ヘッドメンテナンス実行時点又は電源ターンオフ時点）の場合
Ａ．  電源オフ期間中にＲＴＣ１３０が継続動作していた場合
前回の電源ターンオフ時点から現在（ヘッドメンテナンス実行時点又は電源ターンオフ時点）までの時間区間の長さ。
【００９４】
Ｂ．  電源オフ期間中にＲＴＣ１３０が停止した場合
電源ターンオン時点から現在（ヘッドメンテナンス実行時点又は電源ターンオフ時点）までの時間区間の長さ。
【００９５】
（２）  電源ターンオン後の２回目の蒸発量計算時（ヘッドメンテナンス実行時点又は電源ターンオフ時点）の場合
前回の蒸発量計算時点（ヘッドメンテナンス実行時点）から今回の蒸発量計算時点（ヘッドメンテナンス実行時点又は電源ターンオフ時点）までの時間区間の長さ。
【００９６】
ＨＭタイマ２２０は、蒸発時間長２２４と異なり、ＲＴＣ１３０の停止が生じた電源オフ期間の時間長は、これに算入されない。一方、ＲＴＣ１３０が継続動作している電源オフ期間の時間長は、ＨＭタイマ２２０に算入され得る。
【００９７】
蒸発時間長２２４とＨＭタイマ２２０とは、通常は同じ値になるのであるが、次の場合にだけ異なる値となる。その場合とは、電源オフ期間中にＲＴＣ１３０が停止した後に電源がターンオンされた後の最初の計算回の場合である。この場合、既に述べたように、蒸発時間長２２４には、前回蒸発計算時刻２４６から現在のＲＴＣ時刻との差分がセットされるのに対し、他方、ＨＭタイマ２２０には、電源ターンオン時刻から現在のＲＴＣ時刻との差分がセットされ、それには電源ターンオン以前の経過時間は含まれていない。このように異なる蒸発時間長２２４とＨＭタイマ２２０を使い分ることで、後に説明するように、Ａ２５０とＢ２５２の値の信頼性が向上することになる。
【００９８】
さて、Ａ２５０とＢ２５２が計算された後、ステップＳ７２４で、ＳＡ（絶対時刻ベース廃インク総量）２４８とＳＢ（相対時刻ベース廃インク総量）２５２と所定の蒸発残率（もうこれ以上は蒸発しないと認められる限界の廃インク残量の廃インク総量に対する比率）とに基づいて、上記計算されたＡ２５０とＢ２５４がそれぞれ過少ではないか（つまり、計算された廃インク蒸発量が過大でないか）がチェックされる。その結果、Ａ２５０又はＢ２５４が過少と判断されると、そのＡ２５０又はＢ２５４が修正される。例えば、ＳＡ２４８とＳＢ２５２にそれぞれ蒸発残率が乗算されることで、ＳＡ２４８に基づく限界廃インク残量と、ＳＢ２５２に基づく限界廃インク残量とが計算される。そして、Ａ２５０とＳＡ２４８に基づく限界廃インク残量とが比較され、Ａ２５０の方が小さければ、Ａ２５０が、ＳＡ２４８に基づく限界廃インク残量と同じ値に修正される。また、Ｂ２５４も同様に、ＳＢ２５２に基づく限界廃インク残量より小さければ、ＳＢ２５２に基づく限界廃インク残量と同じ値に修正される。
【００９９】
その後、ステップＳ７２６で、今回のヘッドメンテナンスで新たに排出された廃インク量が、ＳＡ２４８とＡ２５０に加算される。ＳＢ２５２とＢ２５４には、新たに排出された廃インク量の加算は行われない。その後、制御は、後述するステップＳ７２８へ進む。
【０１００】
他方、上記ステップＳ７１４で、ＴＩフラグ２２０が「０」と判定された場合（ＲＴＣ時刻が相対時刻に対応している場合）には、制御は図８に示すステップＳ８００へ進む。ステップＳ８００で、前回蒸発計算時刻２４６が、これに上記ステップＳ７０８、７１０又は７１２でセットされたＨＭタイマ２２０を加算した値に更新される。
【０１０１】
そして、ステップＳ８０２で、ＨＭタイマ２２０の関数として蒸発量が計算される。例えば、ＨＭタイマ２２０に上記蒸発係数を乗算することで、蒸発量が計算される。このようにＨＭタイマ２２０に基づいて計算された蒸発量が、現在のＡ２５０とＢ２５４からそれぞれ差し引かれ、それにより得られた廃インク残量がそれぞれＡ２５０とＢ２５４に改めてセットされる。
【０１０２】
その後、ステップ８０４で、前述のステップＳ７２４で行ったと同様の方法で、上記Ｓ８０２で計算されたＡ２５０とＢ２５４がそれぞれ過少ではないか（つまり、計算された廃インク蒸発量が過大でないか）がチェックされ、その結果、過少と判断されたＡ２５０又はＢ２５４が修正される。
【０１０３】
その後、ステップＳ８０６で、今回のヘッドメンテナンスで新たに排出された廃インク量が、ＳＢ２５２とＢ２５４に加算される。ＳＡ２４８とＡ２５０には、新たに排出された廃インク量の加算は行われない。その後、制御は、ステップＳ７２８へ進む。
【０１０４】
ステップＳ７２８では、Ａ２５０とＢ２５４が加算されてトータルの廃インク残量が計算され、そのトータルの廃インク残量が、所定の溢れ閾値以上になったかが判定される。ここで、溢れ閾値とは、廃インク残量が溢れ閾値以下であれば、インク吸収体１１５から廃インクが溢れ出るおそれがないと判断される値である。判定の結果、トータルの廃インク残量が溢れ閾値を越えた場合、ステップ７３０で、廃インク溢れ出しに対処するための所定のメンテナンスエラー制御（例えば、ユーザへのメッセージの表示）が行われる。その後、ステップＳ７３２で、ＨＭタイマに現在のＲＴＣ時刻（現在時刻）がセットされる。
【０１０５】
以上のような廃インク制御２０８により、Ａ２５０には、ＲＴＣ時刻が絶対時刻に対応しているときに排出された廃インクの残量が記録され、一方、Ｂ２５４には、ＲＴＣ時刻が相対時刻に対応しているときに排出された廃インクの残量が記録されることになる。
【０１０６】
ステップＳ７２０、Ｓ７２２に示したように、ＴＩフラグが「１」である場合（つまり、ＲＴＣ時刻が絶対時刻に対応している場合）には、Ａ２５０の蒸発量計算では蒸発時間長２２４が使用されるのに対し、Ｂ２５４の蒸発量計算ではＨＭタイマ２２０が使用される。その理由は次のとおりである。すなわち、Ｂ２５４（つまり、ＲＴＣ時刻が相対時刻に対応しているときに排出された廃インク量）については、電源オフ期間中にＲＴＣ１３０が停止する事態が生じると、そのインク排出が行われた時刻が不明になってしまう。そのような場合には、不明になったＢ２５４のインク排出時刻から現在までの経過時間より長い経過時間が、蒸発時間長２２４にセットされる虞がある。そのため、Ｂ２５４の蒸発量計算に蒸発時間長２２４を用いると、実際より大きい蒸発量が計算される場合があり、その結果、廃インクが溢れ出る事態が発生する可能性がある。ＨＭタイマ２２０は、電源ターンオン時点から現在までの確実に経過していると認められる時間を表している。そのため、不明になった経過時間での蒸発量は算入せず、確実に蒸発したと認められる蒸発量だけを計算するために、Ｂ２５４の蒸発量計算ではＨＭタイマ２２４が用いられる。他方、Ａ２５０（つまり、ＲＴＣ時刻が絶対時刻に対応しているときに排出された廃インク量）については、現在のＲＴＣ時刻が絶対時刻に対応している限り、現在のＲＴＣ時刻と前回の蒸発量計算時刻との差分である蒸発時間長２２４の方が、ＨＭタイマ２２０よりも、そのインク排出時刻から現在までの経過時間長により近い値を表すことになる。そこで、Ａ２５０の蒸発量計算では、蒸発時間長２２４が使用される。
【０１０７】
また、ステップＳ８０２に示したように、ＴＩフラグが「０」である場合（つまり、ＲＴＣ時刻が相対時刻に対応している場合）には、Ａ２５０についても、Ｂ２５４についても、蒸発量計算ではＨＭタイマ２２０が使用される。その理由は次のとおりである。すなわち、現在のＲＴＣ時刻が相対時刻に対応している場合には、その前の電源オフ期間中にＲＴＣ１３０が停止する事態が生じると、電源オフ期間中の経過時間が不明になってしまう。また、ＲＴＣ時刻が相対時刻に対応している限り、そのＲＴＣ時刻と前回蒸発計算時刻２４６との差分である蒸発時間長２２４を計算することは無意味である（ステップＳ７１８に示すように、前回蒸発計算時刻２４６には、絶対時刻に対応しているＲＴＣ時刻がセットされるから、相対時刻に対応する現在のＲＴＣ時刻との差分は無意味である）。このことは、Ａ２５０についても、Ｂ２５４についても同様である。要するに、ＴＩフラグが「０」である場合には、前回の蒸発量計算時点から確実に経過したと認められる時間を示すものはＨＭタイマ２２０だけである。よって、ＨＭタイマ２２０だけが蒸発量計算に使用されるのである。
【０１０８】
以上のような蒸発時間長２２４とＨＭタイマ２２０との使い分けによって、ＲＴＣ時刻が絶対時刻に対応しているときに排出された廃インク残量の計算値であるＡ２５０と、ＲＴＣ時刻が相対時刻に対応しているときに排出された廃インク残量の計算値であるＢ２５４が、共に、信頼性の高い値となる。Ａ２５０とＢ２５とを加算したトータルの廃インク残量に基づいて判断することにより、廃インク溢れ出し防止の精度と信頼性が向上する。
【０１０９】
また、電源オフ期間中のＲＴＣ１３０の停止により絶対時刻が不明になった後、相対時刻で経過時間（ＨＭタイマ２２６）が計算された場合であっても、その後にＴＩが受信されてＲＴＣ時刻や記憶されている前回蒸発計算時刻などが再び絶対時刻に対応することになったならば、それらの絶対時刻から正確な経過時間（蒸発時間長２２４）が計算されるので、相対時間で計算された不正確な経過時間（ＨＭタイマ２２６）ではなく、正確な経過時間（蒸発時間長２２４）を用いて廃インク残量が計算される。このように、ＴＩによるＲＴＣ１３０の修正により、正確な経過時間の把握が可能になり、結果として、廃インク制御２０８のように経過時間に基づいて処理される制御の精度が向上する。
【０１１０】
以上、本発明の実施形態を説明したが、この実施形態は本発明の説明のための例示にすぎず、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱することなく、その他の様々な態様でも実施することができる。
【０１１１】
例えば、上記実施形態では、図７の廃インク制御２０８におけるステップＳ７１０で、ＨＭタイマ２２６に、電源ターンオン時点から現在までの経過時間をセットしている。これは、ＲＴＣ１３０の停止で不明になった電源ターンオン以前の経過時間を蒸発量計算に算入しないようにする趣旨である。しかし、電源オフ期間中にＲＴＣ１３０が停止した場合、その電源オフ期間中に、少なくとも、蓄電器１５０のバックアップ能力（例えば１６０時間）を僅かに超える時間（例えばア１６１時間）が経過していると認められる。そこで、変形例として、ステップＳ７１０では、電源ターンオン時点から現在までの経過時間に、上記バックアップ能力を僅かに超える時間長（例えば１６１時間）を加算してもよい。
【図面の簡単な説明】
【０１１２】
【図１】本発明に従う電子機器の一実施形態にかかるインクジェットプリンタの全体のハードウェア構成を示すブロック図。
【図２】コントローラ１２０の制御機能、とりわけ本発明に関連する各種制御の機能を示すブロック図。
【図３】電源オン時時間制御２００の流れを示すフローチャート。
【図４】ＴＩ受信時時間制御２０２の流れを示すフローチャート。
【図５】キャリッジメンテナンス制御２０４の流れを示すフローチャート。
【図６】ヘッドメンテナンス（ＨＭ）制御２０６の流れを示すフローチャート。
【図７】廃インク制御２０８の流れ（図８とつながる）を示すフローチャート。
【図８】廃インク制御２０８の流れ（図７とつながる）を示すフローチャート。
【符号の説明】
【０１１３】
１００：プリンタ、１１０：印刷機構有、１１１：印刷ヘッド、１１３：ヘッドメンテナンス機構、１１３：キャリッジ機構、１１５：インク吸収体、１２０：コントローラ、１２２：ＣＰＵ、１２４：ＲＡＭ、１２６：ＥＥＰＲＯＭ（不揮発性メモリ）、１３０：ＲＴＣ（リアルタイムクロック回路）、１４０：主電源回路、１５０：蓄電器、２００：電源オン時時間制御、２０２：ＴＩ受信時時間制御、２０３：内部時間管理制御、２０４：キャリッジメンテナンス（ＣＭ）制御、２０６：ヘッドメンテナンス制御、２０８：廃インク制御。
【図１】
2006088589.tif 000003
【図２】
2006088589.tif 000004
【図３】
2006088589.tif 000005
【図４】
2006088589.tif 000006
【図５】
2006088589.tif 000007
【図６】
2006088589.tif 000008
【図７】
2006088589.tif 000009
【図８】
2006088589.tif 000010