(57)【要約】【課題】印刷剤を無駄にすることなく、複数のカートリッジをまとめて発注可能な手段を提供する。【解決手段】情報収集サーバのコントローラは、配達する宛先が同じ複数のカートリッジについて、発注日時が最も早いカートリッジを第１カートリッジとして、他のカートリッジを第２カートリッジとして、第１カートリッジの到着予定日時における第２カートリッジの合計残量割合を取得する（Ｓ１１４）。コントローラは、取得した合計残量割合から、第１カートリッジの到着予定日時に第２カートリッジに収容されたインクが使い切れているか否かを判断する（Ｓ１１７）。コントローラは、第１カートリッジの到着予定日時に、第２カートリッジに収容されたインクが使い切れていると判断すると（Ｓ１１７：Ｙｅｓ）、第１カートリッジと第２カートリッジとをまとめて発注する。【選択図】図１１
2019136972.tif 000002
【特許請求の範囲】
【請求項１】
コントローラを備えており、
前記コントローラは、
印刷剤を収容する第１カートリッジを装着可能な装着ケースと、当該装着ケースに装着された第１装着済みカートリッジに収容される印刷剤を収容可能な第１容器と、前記第１容器内の印刷剤を用いてシートに画像を記録する記録部と、を備えた記録ユニットから、前記第１装着済みカートリッジと前記第１容器とに収容されている印刷剤の残量に関係する第１指標値を取得する第１取得処理と、
取得済みの前記第１指標値を、前記第１指標値が取得された日付に関する第１日付情報と対応付けてメモリに記憶する第１記憶処理と、
前記第１カートリッジとは異なる第２カートリッジを装着可能な装着ケースと、当該装着ケースに装着された第２装着済みカートリッジに収容される印刷剤を収容可能な第２容器と、前記第２容器内の印刷剤を用いてシートに画像を記録する記録部を備えた記録ユニットから、前記第２装着済みカートリッジと前記第２容器とに収容されている印刷剤の残量に関係する第２指標値を取得する第２取得処理と、
取得済みの前記第２指標値を、前記第２指標値が取得された日付に関する第２日付情報と対応付けてメモリに記憶する第２記憶処理と、
前記第１指標値が繰り返し取得されたことに応じて前記メモリに記憶された複数の前記第１日付情報と複数の前記第１指標値とを用いて発注条件を決定する条件決定処理であって、前記発注条件は、前記第１装着済みカートリッジには印刷剤が残っておらず、かつ前記第１容器には印刷剤が残っている状態で、前記第１装着済みカートリッジに代えて前記装着ケースに装着されるべき第１発注カートリッジが所定の宛先に到着するように、前記第１発注カートリッジの発注日が、第１所定日から第１所定期間だけ前の日となるような条件であり、前記第１所定日は、前記第１装着済みカートリッジには印刷剤が残っておらず、かつ前記第１容器には印刷剤が残っていると予想される日である、前記条件決定処理と、
前記第２指標値が繰り返し取得されたことに応じて前記メモリに記憶された複数の前記第２日付情報と複数の前記第２指標値とを用いて、前記第１所定日における前記第２装着済みカートリッジと前記第２容器との状態が、前記第２装着済みカートリッジには印刷剤が残っておらず、かつ前記第２容器には印刷剤が残っている状態である、所定状態であるか否かを推定する状態推定処理と、
前記第１所定日における前記第２装着済みカートリッジと前記第２容器との状態が、前記所定状態であると推定される場合に、前記発注条件が満たされた後で、前記第１発注カートリッジと、前記第２装着済みカートリッジに代えて前記装着ケースに装着されるべき第２発注カートリッジと、の発注を指示する発注指示を送信する送信処理であって、前記第１発注カートリッジと前記第２発注カートリッジとは、前記発注指示が送信されることに応じて、前記所定の宛先に到着する、前記送信処理と、を実行する制御装置。
【請求項２】
前記コントローラは、さらに、
前記状態推定処理で前記所定状態でないと推定される場合に、前記メモリに記憶された複数の前記第１日付情報と複数の前記第１指標値とを用いて、前記第１装着済みカートリッジ及び前記第１容器に印刷剤が残っていない状態となる第２所定日を推定し、前記メモリに記憶された複数の前記第２日付情報と複数の前記第２指標値とを用いて、前記第２所定日から第２所定期間だけ前の日において、前記第２装着済みカートリッジと前記第２容器との状態が、前記所定状態であるか否かをさらに推定する前記状態推定処理と、
前記第２所定日から前記第２所定期間だけ前の日における前記第２装着済みカートリッジと前記第２容器との状態が前記所定状態であると推定される場合に、前記発注日が、前記第２所定日から、前記第１所定期間と前記第２所定期間との合計の日だけ前の日となるように前記発注条件を変更する変更処理と、を実行する請求項１に記載の制御装置。
【請求項３】
前記コントローラは、さらに、
前記第２装着済みカートリッジと前記第２容器との状態が、前記第２所定日から前記第２所定期間だけ前の日に前記所定状態であると推定される場合に、前記メモリに記憶された複数の前記第２日付情報と複数の前記第２指標値とを用いて、前記第２装着済みカートリッジ及び前記第２容器に印刷剤が残っていない状態となる日を推定し、推定した日が前記第２所定日より前であることに応じて、前記発注日が前記推定した日から、前記第１所定期間と前記第２所定期間との合計の日だけ前の日となるように前記発注条件をさらに変更する前記変更処理と、を実行する請求項２に記載の制御装置。
【請求項４】
前記コントローラは、
前記変更処理で前記発注条件を変更した後、前記第１取得処理で新たな前記第１指標値を取得したか否かに拘わらず、前記変更処理で変更した前記発注条件が満たされた後で、前記送信処理を実行する請求項２または３に記載の制御装置。
【請求項５】
前記コントローラは、
前記変更処理で前記発注条件を変更した後、前記第１取得処理で新たな前記第１指標値を取得したことに応じて、前記条件決定処理、前記状態推定処理、及び前記変更処理を再度実行して新たな前記発注条件を決定し、決定した新たな前記発注条件が満たされた後で、前記送信処理を実行する請求項２または３に記載の制御装置。
【請求項６】
前記コントローラは、
再度実行した前記条件決定処理で決定した前記発注条件が既に満たされていることに応じて、前記第２装着済みカートリッジと前記第２容器との状態が、前記第２所定日から前記第２所定期間だけ前の日に前記所定状態であるか否かを判断し、前記第２装着済みカートリッジと前記第２容器との状態が、前記第２所定日から前記第２所定期間だけ前の日に前記所定状態である場合に、前記変更処理を実行し、前記第２装着済みカートリッジと前記第２容器との状態が、前記第２所定日から前記第２所定期間だけ前の日に前記所定状態でない場合に、前記送信処理を実行する請求項５に記載の制御装置。
【請求項７】
前記条件決定処理は、
前記メモリに記憶された複数の前記第１日付情報と複数の前記第１指標値とを用いて、日付と前記第１指標値との関数を決定し、
決定した前記関数に基づいて、前記第１装着済みカートリッジの印刷剤が使い切られる日と、前記第１容器の印刷剤が使い切られる日とを推定し、推定した２つの日の間の日を前記第１所定日と推定する処理であり、
前記状態推定処理は、
前記メモリに記憶された複数の前記第２日付情報と複数の前記第２指標値とを用いて、日付と前記第２指標値との関数を決定し、
決定した関数から前記第１所定日における前記第２指標値を決定し、決定した前記第２指標値に基づいて、前記第２装着済みカートリッジと前記第２容器との状態が、前記所定状態であるか否かを推定する処理である、請求項１から６のいずれかに記載の制御装置。
【請求項８】
前記指標値は、
前記装着済みカートリッジの初期充填量を示す初期充填値に対する合計残量値の割合である合計残量割合であり、
前記合計残量値は、前記装着済みカートリッジに収容された印刷剤の残量値と、前記容器に収容された印刷剤の残量値と、の合計値である、請求項１から７のいずれかに記載の制御装置。
【請求項９】
前記記録ユニットは、複数の印刷装置であり、
前記各印刷装置は、前記装着ケースをそれぞれ有しており、
前記コントローラは、
前記第１装着済みカートリッジが装着された前記装着ケースを有する前記印刷装置から前記第１指標値を取得する前記第１取得処理と、
前記第２装着済みカートリッジが装着された前記装着ケースを有する前記印刷装置から前記第２指標値を取得する前記第２取得処理と、を実行する請求項１から８のいずれかに記載の制御装置。
【請求項１０】
前記第１装着済みカートリッジは、一の前記印刷装置が有する前記装着ケースに装着されており、前記第２装着済みカートリッジは、他の一の前記印刷装置が有する前記装着ケースに装着されており、
前記コントローラは、
前記メモリにおいて、前記一の印刷装置に対応付けられている前記所定の宛先が、前記他の一の印刷装置に対応付けられている前記所定の宛先と同じか否かを判断し、同じであると判断したことに応じて、前記状態推定処理を実行する請求項９に記載の制御装置。
【請求項１１】
前記印刷剤はインクであり、
前記カートリッジは、前記インクを収容し、かつ、大気に連通する第１室を有し、
前記容器は、前記インクを収容し、かつ、大気に連通する第２室を有し、
前記第２室の一部は、前記装着ケースに装着された前記カートリッジの前記第１室よりも下方に位置する請求項１から１０のいずれかに記載の制御装置。
【請求項１２】
コンピュータによって実行されるプログラムであって、
前記プログラムは、
印刷剤を収容する第１カートリッジを装着可能な装着ケースと、当該装着ケースに装着された第１装着済みカートリッジに収容される印刷剤を収容可能な第１容器と、前記第１容器内の印刷剤を用いてシートに画像を記録する記録部とを備えた記録ユニットから、前記第１装着済みカートリッジと前記第１容器とに収容されている印刷剤の残量に関係する第１指標値を取得する第１取得処理と、
取得済みの前記第１指標値を、前記第１指標値が取得された日付に関する第１日付情報と対応付けてメモリに記憶する第１記憶処理と、
前記第１カートリッジとは異なる第２カートリッジを装着可能な装着ケースと、当該装着ケースに装着された第２装着済みカートリッジに収容される印刷剤を収容可能な第２容器と、前記第２容器内の印刷剤を用いてシートに画像を記録する記録部を備えた記録ユニットから、前記第２装着済みカートリッジと前記第２容器とに収容されている印刷剤の残量に関係する第２指標値を取得する第２取得処理と、
取得済みの前記第２指標値を、前記第２指標値が取得された日付に関する第２日付情報と対応付けてメモリに記憶する第２記憶処理と、
前記第１指標値が繰り返し取得されたことに応じて前記メモリに記憶された複数の前記第１日付情報と複数の前記第１指標値とを用いて発注条件を決定する条件決定処理であって、前記発注条件は、前記第１装着済みカートリッジには印刷剤が残っておらず、かつ前記第１容器には印刷剤が残っている状態で、前記第１装着済みカートリッジに代えて前記装着ケースに装着されるべき第１発注カートリッジが所定の宛先に到着するように、前記第１発注カートリッジの発注日が、第１所定日から第１所定期間だけ前の日となるような条件であり、前記第１所定日は、前記第１装着済みカートリッジには印刷剤が残っておらず、かつ前記第１容器には印刷剤が残っていると予想される日である、前記条件決定処理と、
前記第２指標値が繰り返し取得されたことに応じて前記メモリに記憶された複数の前記第２日付情報と複数の前記第２指標値とを用いて、前記第１所定日における前記第２装着済みカートリッジと前記第２容器との状態が、前記第２装着済みカートリッジには印刷剤が残っておらず、かつ前記第２容器には印刷剤が残っている状態である、所定状態であるか否かを推定する状態推定処理と、
前記第１所定日における前記第２装着済みカートリッジと前記第２容器との状態が、前記所定状態であると推定される場合に、前記発注条件が満たされた後で、前記第１発注カートリッジと、前記第２装着済みカートリッジに代えて前記装着ケースに装着されるべき第２発注カートリッジと、の発注を指示する発注指示を送信する送信処理であって、前記第１発注カートリッジと前記第２発注カートリッジとは、前記発注指示が送信されることに応じて、前記所定の宛先に到着する、前記送信処理と、を実行するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷剤を収容するカートリッジの発注を行う制御装置及びプログラムに関する。
【背景技術】
【０００２】
特許文献１は、現象剤が収容されたカートリッジを発注するプリンタを開示する。プリンタはカートリッジ内の現象剤の残量を用いて現在使用しているカートリッジで印字不可能となると予測される日を算出し、印字不可能となると予測される日から注文信号を発信する信号発信日を決定する。プリンタは、信号発信日と同じ日付になった時に注文依頼信号を発信する。
【０００３】
また、カラー印刷機能を備えた画像記録装置が知られている。この種の画像記録装置には複数色のカートリッジが装着され、当該複数色のカートリッジを用いて印刷を実行する。各カートリッジは、シアンやマゼンタやイエローやブラックなどの印刷剤をそれぞれ貯留する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−１５４７７号公報
【特許文献２】特開２０１７−４７５３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載された発注方法を用いて、複数のカートリッジを有する画像記録装置に対してカートリッジの発注を行うと、或いは、複数の画像記録装置を対象にカートリッジの発注を行うと、各カートリッジが個別に手配される。そうすると、カートリッジの輸送にかかる費用が多くなる。複数のカートリッジをまとめて発注すると、カートリッジ内に印刷剤が残っている状態で、新しいカートリッジがユーザに届いてしまうおそれが生じる。カートリッジ内に印刷剤が残っている状態で新しいカートリッジがユーザに届くと、印刷剤が残っているカートリッジが新しいカートリッジに交換されて印刷剤が無駄になるおそれが生じる。
【０００６】
本発明は、前記の事情に鑑みてなされたものであり、その目的は、印刷剤を無駄にすることなく、複数のカートリッジをまとめて発注可能な手段を提供することにある。
【課題を解決するための手段】
【０００７】
本明細書では、様々な開示を行う。開示例の１つである制御装置は、コントローラを備える。前記コントローラは、印刷剤を収容する第１カートリッジを装着可能な装着ケースと、当該装着ケースに装着された第１装着済みカートリッジに収容される印刷剤を収容可能な第１容器と、前記第１容器内の印刷剤を用いてシートに画像を記録する記録部と、を備えた記録ユニットから、前記第１装着済みカートリッジと前記第１容器とに収容されている印刷剤の残量に関係する第１指標値を取得する第１取得処理と、取得済みの前記第１指標値を、前記第１指標値が取得された日付に関する第１日付情報と対応付けてメモリに記憶する第１記憶処理と、前記第１カートリッジとは異なる第２カートリッジを装着可能な装着ケースと、当該装着ケースに装着された第２装着済みカートリッジに収容される印刷剤を収容可能な第２容器と、前記第２容器内の印刷剤を用いてシートに画像を記録する記録部を備えた記録ユニットから、前記第２装着済みカートリッジと前記第２容器とに収容されている印刷剤の残量に関係する第２指標値を取得する第２取得処理と、取得済みの前記第２指標値を、前記第２指標値が取得された日付に関する第２日付情報と対応付けてメモリに記憶する第２記憶処理と、前記第１指標値が繰り返し取得されたことに応じて前記メモリに記憶された複数の前記第１日付情報と複数の前記第１指標値とを用いて発注条件を決定する条件決定処理であって、前記発注条件は、前記第１装着済みカートリッジには印刷剤が残っておらず、かつ前記第１容器には印刷剤が残っている状態で、前記第１装着済みカートリッジに代えて前記装着ケースに装着されるべき第１発注カートリッジが所定の宛先に到着するように、前記第１発注カートリッジの発注日が、第１所定日から第１所定期間だけ前の日となるような条件であり、前記第１所定日は、前記第１装着済みカートリッジには印刷剤が残っておらず、かつ前記第１容器には印刷剤が残っていると予想される日である、前記条件決定処理と、前記第２指標値が繰り返し取得されたことに応じて前記メモリに記憶された複数の前記第２日付情報と複数の前記第２指標値とを用いて、前記第１所定日における前記第２装着済みカートリッジと前記第２容器との状態が、前記第２装着済みカートリッジには印刷剤が残っておらず、かつ前記第２容器には印刷剤が残っている状態である、所定状態であるか否かを推定する状態推定処理と、前記第２装着済みカートリッジと前記第２容器との状態が、前記所定状態であると推定される場合に、前記発注条件が満たされた後で、前記第１発注カートリッジと、前記第２装着済みカートリッジに代えて前記装着ケースに装着されるべき第２発注カートリッジと、の発注を指示する発注指示を送信する送信処理であって、前記第１発注カートリッジと前記第２発注カートリッジとは、前記発注指示が送信されることに応じて、前記所定の宛先に到着する、前記送信処理と、を実行する。
【０００８】
上記構成によれば、複数のカートリッジがまとめて発注される。まとめて発注された複数のカートリッジは、まとめて所定の宛先に到着し得る。これによって、複数のカートリッジが個別に発注される場合に比べ、カートリッジの輸送費が低減される。また、カートリッジに印刷剤が残っておらず、かつ容器には印刷剤が残っている状態のときに新しいカートリッジがユーザに届く。したがって、ユーザは、容器には印刷剤が残っている状態でカートリッジを交換できるため、カートリッジが交換されるまでに印刷が行えなくなることを防ぐことができる。また、交換されるカートリッジには印刷剤が残っていないためカートリッジが交換されることによって印刷剤が、無駄になることを防ぐことができる。
【０００９】
上記の制御装置を実現するためのコンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記憶媒体も、新規で有用である。また、上記の制御装置によって実行される方法も、新規で有用である。
【図面の簡単な説明】
【００１０】
【図１】図１は、プリンタ１０及び情報収集サーバ４０の構成図である。
【図２】図２は、プリンタ１０の外観斜視図であって、（Ａ）はカバー８７が被覆位置である状態、（Ｂ）はカバー８７が開放位置である状態を示す。
【図３】図３は、プリンタ１０の内部構造を模式的に示す模式断面図である。
【図４】図４は、装着ケース１５０の縦断面図である。
【図５】図５は、カートリッジ２００の構造を示す図であって、（Ａ）は前方斜視図を、（Ｂ）は縦断面図を示す。
【図６】図６は、装着ケース１５０にカートリッジ２００が装着された状態の縦断面図である。
【図７】図７は、印刷処理のフローチャートである。
【図８】図８（Ａ）は、第１更新処理のフローチャートであり、図８（Ｂ）は、第２更新処理のフローチャートであり、図８（Ｃ）は、第３更新処理のフローチャートであり、図８（Ｄ）は、第４更新処理のフローチャートである。
【図９】図９は、管理情報送信処理のフローチャートである。
【図１０】図１０は、発注処理のフローチャートである。
【図１１】図１１（Ａ）は、発注日時決定処理のフローチャートであり、図１１（Ｂ）は、複数発注決定処理のフローチャートである。
【図１２】図１２は、１次関数、到着予定日時、及び発注日時の決定を説明する説明図である。
【図１３】図１３は、複数発注決定処理を説明する説明図である。
【図１４】図１４は、残量管理リストを示す図である。
【図１５】図１５は、カートリッジ管理リストを示す図である。
【図１６】図１６（Ａ）は、変形例１に係る発注日時変更処理のフローチャートであり、図１６（Ｂ）は、変形例１に係る発注日時再変更処理のフローチャートである。
【図１７】図１７は、変形例１に係る発注日時変更処理を説明する説明図であり、第１カートリッジと第２カートリッジとがまとめて発注される場合の図である。
【図１８】図１８は、変形例１に係る発注日時変更処理を説明する説明図であり、第１カートリッジと第２カートリッジとがまとめて発注されない場合の図である。
【図１９】図１９は、変形例１に係る発注日時再変更処理を説明する説明図である。
【図２０】図２０（Ａ）は、変形例２に係る到着予定日時及び発注日時の決定を説明する説明図であり、図２０（Ｂ）は、変形例３に係る到着予定日時及び発注日時の決定を説明する説明図である。
【図２１】図２１（Ａ）は、変形例４に係る発注条件決定処理を示すフローチャートであり、図２１（Ｂ）は、発注残量割合の決定を説明する説明図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。また、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更することができる。
【００１２】
[第１実施形態]
図１に示される発注システム５は、複数のプリンタ１０と、複数のプリンタ１０から情報を収集する情報収集サーバ４０とを備える。複数のプリンタ１０は、通信回線６１とそれぞれ接続されている。通信回線６１は、例えば、有線ＬＡＮや無線ＬＡＮやＷＡＮやこれらの組合せである。なお、通信回線６１と接続されたプリンタ１０とは、通信回線６１に接続されたパーソナルコンピュータとＵＳＢケーブルやプリンタケーブルによって接続されたプリンタ１０も含む意味である。
【００１３】
通信回線６１は、ルータやハブなどの不図示の通信機器を有する。通信機器は、プリンタ１０のＭＡＣアドレスや、プリンタ１０に設定したＩＰアドレス（プライベートＩＰアドレス）を用いて通信回線６１における通信を管理する。例えば、通信機器は、ＴＣＰ／ＩＰの通信プロトコルを用いて、通信回線６１における通信を管理する。
【００１４】
また、通信機器は、情報収集サーバ４０と接続された通信回線６２と接続されている。すなわち、通信機器は、通信回線６２を通じて接続されている。
【００１５】
通信回線６２は、例えばインターネットである。情報収集サーバ４０は、インターネットプロトコルなどの通信プロトコルを用いて通信機器と通信を行う。すなわち、情報収集サーバ４０は、通信回線６２、通信機器、及び通信回線６１を通じて、複数のプリンタ１０と通信を行う。情報収集サーバ４０は、各プリンタ１０と通信を行って、管理情報を各プリンタ１０からそれぞれ取得する。詳しくは後述する。
【００１６】
また、通信回線６２には、発注サーバ５０が接続されている。情報収集サーバ４０は、通信回線６２を通じて、発注サーバ５０と通信を行う。情報収集サーバ４０は、発注サーバ５０と通信を行って、発注指示を発注サーバ５０に送信する。詳しくは後述する。情報収集サーバ４０は、本発明の制御装置及びコンピュータの一例である。プリンタ１０は、印刷装置の一例である。
【００１７】
［プリンタ１０の概要］
図２に示されるプリンタ１０は、インク滴を吐出してシートに画像を記録するインクジェットプリンタである。プリンタ１０は、ファクシミリ機能、スキャン機能、及びコピー機能などの機能を有する複合機であってもよい。
【００１８】
以下では、プリンタ１０が使用可能に水平面に設置された使用姿勢を基準として上下方向７が定義され、プリンタ１０の開口１３が形成された面を前面として前後方向８が定義され、プリンタ１０を前面から見て左右方向９が定義される。すなわち、使用姿勢において、上下方向７が鉛直方向に相当し、前後方向８及び左右方向９が水平方向に相当する。前後方向８及び左右方向９は、直交している。
【００１９】
プリンタ１０は、給送ローラ２３及び搬送ローラ２５を駆動して、給送トレイ１５に支持されたシートをプラテン２６の位置まで搬送する。次に、プリンタ１０は、タンク１６０からチューブ１９を通じて供給されるインクを、ヘッド２１にノズル２９を通じて吐出させる。これにより、プラテン２６に支持されたシートにインクが着弾して、シート上に画像が記録される。そして、プリンタ１０は、排出ローラ２７を駆動して、画像が記録されたシートを排出トレイ１６に排出する。インクは、印刷剤の一例である。ヘッド２１は、記録部の一例である。
【００２０】
より詳細には、ヘッド２１は、搬送ローラ２５によるシートの搬送向きと交差する主走査方向（左右方向９と平行）に沿って往復移動するキャリッジ２０に搭載されている。キャリッジ２０は、不図示のモータの駆動力が伝達されて、主走査方向（図３の紙面と垂直な方向）に沿って移動する。プリンタ１０は、搬送ローラ２５によるシートの搬送が停止されている間に、主走査方向に沿ってキャリッジ２０を移動させつつ、ヘッド２１にノズル２９を通じてインクを吐出させる。これにより、ヘッド２１に対面するシートの一部の領域（以下、「１パス」と表記）に画像が記録される。次に、プリンタ１０は、次に画像が記録されるべき領域がヘッド２１に対面するように、搬送ローラ２５にシートを搬送させる。そして、これらの処理を交互に繰り返し実行させることによって、１枚のシートに画像が記録される。
【００２１】
[ディスプレイ２８]
筐体１４は、ディスプレイ２８を有する。ディスプレイ２８は、筐体１４の前面に位置している。ディスプレイ２８は、表示パネルの上にタッチセンサが配置された、所謂タッチパネルである。ただし、ディスプレイ２８に代えて、或いはディスプレイ２８とともに、表示パネル及び押しボタンが筐体１４の前面に位置していてもよい。ディスプレイ２８は、ユーザからの入力を受け付ける。
【００２２】
［カバー８７］
図２に示されるように、筐体１４の前面１４Ａで且つ左右方向９の右端部には、開口８５が形成されている。筐体１４は、さらにカバー８７を備える。カバー８７は、開口８５を被覆する被覆位置（図２（Ａ）に示される位置）と、開口８５を開放する開放位置（図２（Ｂ）に示される位置）との間を回動可能である。カバー８７は、例えば、上下方向７における筐体１４の下端近傍において、左右方向９に沿う回動軸線周りに回動可能に、筐体１４によって支持されている。そして、開口８５の奥に広がる筐体１４内部の収容空間８６には、カートリッジ２００が装着される装着ケース１５０が位置している。
【００２３】
［装着ケース１５０］
装着ケース１５０は、図４に示されるように、接点１５２と、ロッド１５３と、装着センサ３２と、液面センサ３３と、ロックピン１５６とを備えている。装着ケース１５０には、ブラック、シアン、マゼンタ、イエローの各色に対応する４つのカートリッジ２００が収容可能である。すなわち、装着ケース１５０は、接点１５２、ロッド１５３、装着センサ３２、液面センサ３３は、４つのカートリッジ２００それぞれに対応して、４つずつ備えている。なお、装着ケース１５０に収容可能なカートリッジ２００の数は、４つに限定されず、１つでも良いし、５つ以上でも良い。
【００２４】
装着ケース１５０は、装着されたカートリッジ２００を収容する内部空間を有する箱形状である。装着ケース１５０の内部空間は、上端を画定する天壁と、下端を画定する底壁と、前後方向８の後端を画定する奥壁と、左右方向９の両端を画定する一対の側壁とで画定される。一方、装着ケース１５０の奥壁と対面する位置は、開口８５となっている。すなわち、開口８５は、カバー８７が開放位置に位置したときに、装着ケース１５０の内部空間を、プリンタ１０の外部に開放させる。
【００２５】
そして、カートリッジ２００は、筐体１４の開口８５を通じて、装着ケース１５０に装着され、装着ケース１５０から抜かれる。より詳細には、カートリッジ２００は、開口８５を前後方向８の後ろ向きに通過して、装着ケース１５０に装着される。装着ケース１５０から抜かれるカートリッジ２００は、開口８５を前後方向８の前向きに通過する。装着ケース１５０に装着されたカートリッジ２００は、第１装着済みカートリッジ及び第２装着済みカートリッジの一例である。
【００２６】
［接点１５２］
接点１５２は、装着ケース１５０の天壁に位置している。接点１５２は、天壁から装着ケース１５０の内部空間へ向けて下方に突出している。接点１５２は、装着ケース１５０にカートリッジ２００が装着された状態において、カートリッジ２００の後述する電極２４８に接する位置に位置している。接点１５２は、導電性を有しており、さらに上下方向７に沿って弾性的に変形可能である。接点１５２は、コントローラ１３０に電気的に接続されている。
【００２７】
［ロッド１５３］
ロッド１５３は、装着ケース１５０の奥壁から前方へ突出している。ロッド１５３は、装着ケース１５０の奥壁において、後述するジョイント１８０より上方に位置している。ロッド１５３は、カートリッジ２００が装着ケース１５０に装着される過程において、カートリッジ２００の後述する大気連通口２２１を通じて大気バルブ室２１４に進入する。ロッド１５３が大気バルブ室２１４に進入すると、後述する大気バルブ室２１４が大気に連通される。
【００２８】
［装着センサ３２］
装着センサ３２は、装着ケース１５０の天壁に位置している。装着センサ３２は、カートリッジ２００が装着ケース１５０に装着されているか否かを検出するためのセンサである。装着センサ３２は、左右方向９に離間した発光部及び受光部を備える。装着ケース１５０にカートリッジ２００が装着された状態において、カートリッジ２００の後述する遮光リブ２４５は、装着センサ３２の発光部及び受光部の間に位置する。換言すれば、装着センサ３２の発光部及び受光部は、装着ケース１５０に装着されたカートリッジ２００の遮光リブ２４５を挟んで、互いに対向した状態で位置している。
【００２９】
装着センサ３２は、発光部から左右方向９に沿って照射された光が受光部で受光されたか否かに応じて、異なる信号（以下、「装着信号」と表記）を出力する。装着センサ３２は、例えば、受光部で受光された光の受光強度が閾値強度未満であることに応じて、ローレベル信号をコントローラ１３０へ出力する。一方、装着センサ３２は、受光部で受光された光の受光強度が閾値強度以上であることに応じて、ローレベル信号より信号強度の高いハイレベル信号をコントローラ１３０へ出力する。
【００３０】
［液面センサ３３］
液面センサ３３は、後述するアクチュエータ１９０の被検出部１９４が検出位置に位置しているか否かを検出するためのセンサである。液面センサ３３は、左右方向９に離間した発光部及び受光部を備える。換言すれば、被検出部１９４が検出位置に位置するとき、液面センサ３３の発光部及び受光部の間に、被検出部１９４が位置している。一方で、被検出部１９４が検出位置に位置していないとき、液面センサ３３の発光部及び受光部の間に、被検出部１９４が位置していない。液面センサ３３は、発光部から出力された光が受光部で受光されたか否かに応じて異なる信号（以下、「液面信号」と表記）を出力する。液面センサ３３は、例えば、受光部で受光された光の受光強度が閾値強度未満であることに応じて、ローレベル信号をコントローラ１３０へ出力する。一方、液面センサ３３は、受光部で受光された光の受光強度が閾値強度以上であることに応じて、ローレベル信号より信号強度の高いハイレベル信号をコントローラ１３０へ出力する。
【００３１】
[ロックピン１５６]
ロックピン１５６は、装着ケース１５０の内部空間の上端で且つ開口８５付近において、左右方向９に沿って延びる棒状の部材である。ロックピン１５６の左右方向９の両端は、装着ケース１５０の一対の側壁に固定されている。ロックピン１５６は、４つのカートリッジ２００が収容可能な４つの空間に亘って左右方向９に延びている。ロックピン１５６は、装着ケース１５０に装着されたカートリッジ２００を、図６に示される装着位置に保持するためのものである。カートリッジ２００は、装着ケース１５０に装着された状態で、ロックピン１５６に固定される。
【００３２】
［タンク１６０］
プリンタ１０は、４つのカートリッジ２００それぞれに対応して、４つのタンク１６０を備える。詳細には、マゼンタのインクが収容されるカートリッジ２００に対応して、マゼンタのインクが収容されるタンク１６０と、シアンのインクが収容されるカートリッジ２００に対応して、シアンのインクが収容されるタンク１６０と、イエローのインクが収容されるカートリッジ２００に対応して、イエローのインクが収容されるタンク１６０と、ブラックのインクが収容されるカートリッジ２００に対応して、ブラックのインクが収容されるタンク１６０と、を備える。４つのタンク１６０の構成は、概ね共通するため、以下では、１つのタンク１６０を説明する。タンク１６０は、第１容器及び第２容器の一例である。
【００３３】
タンク１６０は、装着ケース１５０の奥壁よりさらに後方に位置している。タンク１６０は、図４に示されるように、上壁１６１と、前壁１６２と、下壁１６３と、後壁１６４と、不図示の一対の側壁とで構成されている。なお、前壁１６２は、各々が前後方向８にずれた複数の壁によって構成される。タンク１６０の内部は、液室１７１が形成されている。液室１７１は、第２室の一例である。
【００３４】
タンク１６０を構成する壁のうち、少なくとも液面センサ３３に対面する壁は、透光性を有している。これにより、液面センサ３３が出力した光は、液面センサ３３に対面する壁を透過することができる。後壁１６４の少なくとも一部は、上壁１６１、下壁１６３、及び側壁の端面に溶着されるフィルムでもよい。また、タンク１６０の側壁は、装着ケース１５０と共通でもよいし、装着ケース１５０とは独立していてもよい。さらに、左右方向９に隣接するタンク１６０の間は、不図示の隔壁によって仕切られている。
【００３５】
液室１７１は、流出口１７４を通じて不図示のインク流路に連通されている。流出口１７４の下端は、液室１７１の下端を画定する下壁１６３によって画定されている。流出口１７４は、ジョイント１８０（より詳細には、貫通孔１８４の下端）より下方に位置している。流出口１７４に連通された不図示のインク流路は、チューブ１９に連通されている。これにより、液室１７１は、流出口１７４からインク流路及びチューブ１９を通じて、ヘッド２１と連通する。つまり、液室１７１に収容されたインクは、流出口１７４からインク流路及びチューブ１９を通じて、ヘッド２１へ供給される。流出口１７４に連通されたインク流路及びチューブ１９は、一端（流出口１７４）が液室１７１に連通され、且つ他端８９（図３参照）がヘッド２１に連通されている。
【００３６】
液室１７１は、大気連通室１７５を通じて大気に連通されている。より詳細には、大気連通室１７５は、前壁１６２を貫通する貫通孔１７６を通じて液室１７１に連通されている。また、大気連通室１７５は、大気連通ポート１７７及び大気連通ポート１７７に接続された不図示のチューブを通じて、プリンタ１０の外部に連通されている。すなわち、大気連通室１７５は、一端（貫通孔１７６）が液室１７１に連通され、且つ他端（大気連通ポート１７７）がプリンタ１０の外部に連通されている。なお、大気連通室１７５は、大気連通ポート１７７及び不図示のチューブを通じて、大気に連通している。
【００３７】
［ジョイント１８０］
ジョイント１８０は、図４に示されるように、ニードル１８１と、ガイド１８２とを備えている。ニードル１８１は、内部に流路が形成された管である。ニードル１８１は、液室１７１を画定する前壁１６２から前方へ突出している。ニードル１８１の前端には、開口１８３が形成されている。また、ニードル１８１の内部空間は、前壁１６２を貫通する貫通孔１８４を通じて液室１７１に連通されている。ニードル１８１は、一端（開口１８３）がタンク１６０の外部に連通され、且つ他端（貫通孔１８４）が液室１７１に連通されている。ガイド１８２は、ニードル１８１の周囲に配置された円筒形状の部材である。ガイド１８２は、前壁１６２から前方に突出して、前端が開口している。
【００３８】
ニードル１８１の内部空間には、バルブ１８５と、コイルバネ１８６とが位置している。バルブ１８５は、ニードル１８１の内部空間において、閉塞位置と開放位置との間を、前後方向８に沿って移動可能である。バルブ１８５は、閉塞位置に位置すると開口１８３を閉塞する。またバルブ１８５は、開放位置に位置すると開口１８３を開放する。コイルバネ１８６は、バルブ１８５を開放位置から閉塞位置に移動させる向き、すなわち前後方向８に沿う前向きに付勢している。
【００３９】
［アクチュエータ１９０］
図４に示されるように、液室１７１には、アクチュエータ１９０が位置している。アクチュエータ１９０は、液室１７１内に配置された不図示の支持部材によって、矢印１９８、１９９の向きに沿って回動可能に支持されている。アクチュエータ１９０は、図４の実線で示される位置及び破線で示される位置の間を回動することができる。さらに、アクチュエータ１９０は、不図示のストッパ（例えば、液室１７１の内壁）によって、実線の位置より矢印１９８の向きへの回動が規制される。アクチュエータ１９０は、フロート１９１と、軸１９２と、アーム１９３と、被検出部１９４とを備える。
【００４０】
フロート１９１は、液室１７１に収容されるインクより比重が小さい材料で形成されている。軸１９２は、フロート１９１の右面及び左面から左右方向９に沿って突出している。軸１９２は、支持部材に形成された不図示の孔に挿入されている。これにより、アクチュエータ１９０は、軸１９２を中心として回動可能に支持部材によって支持される。アーム１９３は、フロート１９１から略上方へ延びている。被検出部１９４は、アーム１９３の先端部に位置している。すなわち、アーム１９３は、被検出部１９４と軸１９２との間に位置する。被検出部１９４は、上下方向７及び前後方向８それぞれに沿って延びる板状の部材である。被検出部１９４は、液面センサ３３の発光部から出力された光を遮光する材料又は色で形成されている。
【００４１】
液室１７１内のインクの液面が基準位置Ｐ以上のとき、浮力によって矢印１９８の向きに回動されたアクチュエータ１９０は、ストッパによって図４の実線で示される検出位置に保持される。一方、インクの液面が基準位置Ｐ未満のとき、アクチュエータ１９０は、液面の降下に追従して矢印１９９の向きに回動する。これにより、アクチュエータ１９０の被検出部１９４は、検出位置とは異なる位置に移動する。被検出部１９４は、アクチュエータ１９０の一部であるため、当該被検出部１９４は、液室１７１に収容されたインクの量に対応する位置に移動する。
【００４２】
基準位置Ｐは、上下方向７において、ニードル１８１の軸中心と同じ高さであり、且つ後述するインク供給口２３４の中心と同じ高さである。しかしながら、基準位置Ｐは、上下方向７における流出口１７４より上方の位置であれば、前述の位置に限定されない。他の例として、基準位置Ｐは、ニードル１８１の内部空間の上端や下端の高さでもよいし、インク供給口２３４の上端や下端の高さでもよい。
【００４３】
液室１７１に収容されたインクの液面が基準位置Ｐ以上のとき、液面センサ３３の発光部から出力された光が、検出位置に位置する被検出部１９４で遮られる。これにより、液面センサ３３は、発光部からの光が受光部に到達しないので、ローレベル信号をコントローラ１３０へ出力する。一方、液室１７１に収容されたインクの液面が基準位置Ｐ未満のとき、液面センサ３３は、発光部から出力された光が受光部に到達するので、ハイレベル信号をコントローラ１３０へ出力する。すなわち、コントローラ１３０は、液室１７１内のインクの液面が基準位置Ｐ以上か否かを、液面センサ３３から出力される信号によって検出することができる。液面センサ３３と、タンク１６０と、装着ケース１５０と、ヘッド２１とは、記録ユニットの一例である。
【００４４】
［カートリッジ２００］
カートリッジ２００は、印刷剤の一例であるインクを内部に収容可能な液室２１０（図３参照）を有する容器である。カートリッジ２００は、第１カートリッジ及び第２カートリッジの一例である。液室２１０は、第１室の一例である。
【００４５】
液室２１０は、例えば、樹脂製の壁によって画定されている。カートリッジ２００は、図５（Ａ）に示されるように、上下方向７及び前後方向８それぞれに沿った寸法が、左右方向９に沿った寸法よりも大きい扁平形状である。なお、異なる色のインクが収容されるカートリッジ２００の外形形状は、同一でもよいし、異なっていてもよい。カートリッジ２００を構成する壁のうちの少なくとも一部は、透光性を有している。これにより、ユーザは、カートリッジ２００の液室２１０に収容されたインクの液面をカートリッジ２００の外部から視認することができる。
【００４６】
カートリッジ２００は、筐体２０１と、供給管２３０とを備える。筐体２０１は、後壁２０２と、前壁２０３と、上壁２０４と、下壁２０５と、一対の側壁２０６、２０７とで構成されている。なお、後壁２０２は、各々が前後方向８にずれた複数の壁によって構成されている。また、上壁２０４は、各々が上下方向７にずれた複数の壁によって構成されている。さらに、下壁２０５は、各々が上下方向７にずれた複数の壁によって構成されている。
【００４７】
カートリッジ２００の内部空間には、図５（Ｂ）に示されるように、液室２１０、インクバルブ室２１３、及び大気バルブ室２１４が形成されている。液室２１０は、上部液室２１１と、下部液室２１２とを有する。上部液室２１１、下部液室２１２、及び大気バルブ室２１４は、筐体２０１の内部空間である。一方、インクバルブ室２１３は、供給管２３０の内部空間である。液室２１０は、インクを収容する。大気バルブ室２１４は、液室２１０とカートリッジ２００の外部とを連通させる。
【００４８】
液室２１０の上部液室２１１及び下部液室２１２は、筐体２０１の内部空間を仕切る隔壁２１５によって、上下方向７に隔てられている。そして、上部液室２１１及び下部液室２１２は、隔壁２１５に形成された貫通孔２１６によって連通されている。また、上部液室２１１及び大気バルブ室２１４は、筐体２０１の内部空間を仕切る隔壁２１７によって隔てられている。そして、上部液室２１１及び大気バルブ室２１４は、隔壁２１７に形成された貫通孔２１８によって連通されている。さらに、インクバルブ室２１３は、貫通孔２１９を通じて下部液室２１２の下端に連通されている。
【００４９】
大気バルブ室２１４は、カートリッジ２００の上部において、後壁２０２に形成された大気連通口２２１を通じてカートリッジ２００の外部に連通されている。すなわち、大気バルブ室２１４は、一端（貫通孔２１８）が液室２１０（より詳細には、上部液室２１１）に連通され、且つ他端（大気連通口２２１）がカートリッジ２００の外部に連通されている。なお、大気バルブ室２１４は、大気連通口２２１を通じて、大気に連通している。また、大気バルブ室２１４には、バルブ２２２と、コイルバネ２２３とが位置している。バルブ２２２は、閉塞位置と開放位置との間を、前後方向８に沿って移動可能である。バルブ２２２は、閉塞位置に位置すると、大気連通口２２１を閉塞する。また、バルブ２２２は、開放位置に位置すると大気連通口２２１を開放する。コイルバネ２２３は、バルブ２２２を開放位置から閉塞位置に移動させる向き、すなわち前後方向８に沿う後ろ向きに付勢している。
【００５０】
カートリッジ２００が装着ケース１５０に装着される過程において、ロッド１５３が大気連通口２２１を通じて大気バルブ室２１４内に進入する。大気バルブ室２１４内に進入したロッド１５３は、閉塞位置のバルブ２２２をコイルバネ２２３の付勢力に抗して前後方向８における前向きに移動させる。そして、バルブ２２２が開放位置に移動することによって、上部液室２１１が大気に連通される。なお、大気連通口２２１を開放するための構成は、前述の例に限定されない。他の例として、大気連通口２２１を封止するフィルムをロッド１５３が突き破る構成でもよい。
【００５１】
供給管２３０は、筐体２０１の下部において、後壁２０２から前後方向８における後ろ向きに突出している。供給管２３０は、その後端が開口されている。すなわち、インクバルブ室２１３は、貫通孔２１９を通じて連通された液室２１０と、カートリッジ２００の外部とを連通させる。インクバルブ室２１３は、一端（貫通孔２１９）が液室２１０（より詳細には下部液室２１２）と連通され、且つ他端（後述するインク供給口２３４）がカートリッジ２００の外部と連通されている。また、インクバルブ室２１３には、パッキン２３１と、バルブ２３２と、コイルバネ２３３とが位置している。
【００５２】
パッキン２３１の中央には、前後方向８に貫通したインク供給口２３４が形成されている。インク供給口２３４の内径は、ニードル１８１の外径より僅かに小さい。バルブ２３２は、閉塞位置と開放位置との間を、前後方向８に沿って移動可能である。バルブ２３２は、閉塞位置に位置すると、パッキン２３１と当接してインク供給口２３４を閉塞する。また、バルブ２３２は、開放位置に位置すると、パッキン２３１から離間してインク供給口２３４を開放する。コイルバネ２３３は、バルブ２３２を開放位置から閉塞位置に移動させる向き、すなわち前後方向８に沿う後ろ向きに付勢している。また、コイルバネ２３３の付勢力は、コイルバネ１８６より大きい。
【００５３】
カートリッジ２００が装着ケース１５０に装着される過程において、供給管２３０がガイド１８２内に進入し、やがてニードル１８１がインク供給口２３４を通じてインクバルブ室２１３に進入する。このとき、ニードル１８１は、パッキン２３１を弾性変形させつつ、インク供給口２３４を画定する内周面に液密に接触する。カートリッジ２００が装着ケース１５０へさらに挿入されると、ニードル１８１は、バルブ２３２をコイルバネ２３３の付勢力に抗して前向きに移動させる。また、バルブ２３２は、ニードル１８１の開口１８３から突出するバルブ１８５を、コイルバネ１８６の付勢力に抗して後ろ向きに移動させる。
【００５４】
これにより、図６に示されるように、インク供給口２３４及び開口１８３が開放されて、供給管２３０のインクバルブ室２１３と、ニードル１８１の内部空間とが連通される。すなわち、装着ケース１５０にカートリッジ２００が装着された状態において、インクバルブ室２１３及びニードル１８１の内部空間は、カートリッジ２００の液室２１０とタンク１６０の液室１７１とを連通させる流路を構成する。
【００５５】
また、装着ケース１５０にカートリッジ２００が装着された状態において、液室２１０の一部と、液室１７１の一部とは、水平方向から見て互いに重なる。さらに、液室２１０の底部よりも液室１７１の底部の方が、下方に位置している。その結果、液室２１０に収容されたインクは、接続された供給管２３０及びジョイント１８０を通じて、液室２１０の水頭と液室１７１の水頭との差によってタンク１６０の液室１７１に流出する。
【００５６】
図５に示されるように、上壁２０４には、突起２４１が形成されている。突起２４１は、上壁２０４の外面から上方に突出し且つ前後方向８に沿って延びている。突起２４１は、ロック面２４２と、傾斜面２４３とを有する。ロック面２４２及び傾斜面２４３は、上壁２０４より上方に位置している。ロック面２４２は、前後方向８に沿って前方を向き且つ上下方向７及び左右方向９それぞれに沿って延びている（すなわち、上壁２０４と概ね直交する）。傾斜面２４３は、上方及び後方を向くように、上壁２０４に対して傾斜している。
【００５７】
ロック面２４２は、装着ケース１５０にカートリッジ２００が装着された状態において、ロックピン１５６に当接される面である。傾斜面２４３は、カートリッジ２００が装着ケース１５０に装着される過程において、ロックピン１５６をロック面２４２と当接する位置まで案内する面である。ロック面２４２とロックピン１５６とが当接した状態では、コイルバネ１８６、２２３、２３３の付勢力に抗して、カートリッジ２００が図６に示される装着位置に保持される。
【００５８】
ロック面２４２より前方において上壁２０４から上方へと延びるようにして、平板状の部材が形成されている。この平板状の部材の上面は、カートリッジ２００を装着ケース１５０から抜くする際に、ユーザが操作する操作部２４４である。カートリッジ２００が装着ケース１５０に装着された状態で且つカバー８７が開放位置に位置しているとき、操作部２４４は、ユーザに操作可能となる。操作部２４４が下方へ押されると、カートリッジ２００が回動することによって、ロック面２４２がロックピン１５６より下方へ移動する。その結果、カートリッジ２００が装着ケース１５０から抜くすることが可能となる。
【００５９】
図５に示されるように、上壁２０４の外面で且つ突起２４１より後方には、遮光リブ２４５が形成されている。遮光リブ２４５は、上壁２０４の外面から上方に突出し且つ前後方向８に沿って延びている。遮光リブ２４５は、装着センサ３２の発光部から出力される光を遮光する材料又は色で形成されている。遮光リブ２４５は、装着ケース１５０にカートリッジ２００が装着された状態において、装着センサ３２の発光部から受光部に至る光路上に位置する。すなわち、装着センサ３２は、装着ケース１５０にカートリッジ２００が装着されていることに応じて、ローレベル信号をコントローラ１３０に出力する。一方、装着センサ３２は、装着ケース１５０にカートリッジ２００が装着されていないことに応じて、ハイレベル信号をコントローラ１３０に出力する。すなわち、コントローラ１３０は、装着ケース１５０にカートリッジ２００が装着されているか否かを、装着センサ３２から出力される信号によって検出することができる。
【００６０】
図５に示されるように、上壁２０４の外面で且つ前後方向８における遮光リブ２４５及び突起２４１の間には、ＩＣチップ３４が位置している。ＩＣチップ３４には、電極２４８が形成されている。また、ＩＣチップ３４は、不図示のメモリを備える。電極２４８は、ＩＣチップ３４のメモリと電気的に接続されている。電極２４８は、ＩＣチップ３４の上面において、接点１５２と導通可能に露出されている。すなわち、カートリッジ２００が装着ケース１５０に装着された状態において、電極２４８は、接点１５２と導通する。コントローラ１３０は、接点１５２及び電極２４８を通じてＩＣチップ３４のメモリから情報を読み出し、接点１５２及び電極２４８を通じてＩＣチップ３４のメモリに情報を書き込むことができる。
【００６１】
ＩＣチップ３４のメモリは、カートリッジ２００の種別情報、シリアルナンバー、及びカートリッジ残量値を記憶する。種別情報とは、カートリッジ２００が小容量カートリッジであるか、又は、大容量カートリッジであるか、収容するインクの色などを示す情報である。シリアルナンバーは、カートリッジ２００を個々に識別する情報である。カートリッジ残量値は、カートリッジ２００が収容するインクの量を示す値である。なお、未使用のカートリッジ２００では、カートリッジ残量値は、初期インク残量を示す初期残量値がメモリに記憶されている。
【００６２】
［コントローラ１３０］
プリンタ１０は、コントローラ１３０を備える。コントローラ１３０は、図１に示されるように、ＣＰＵ３５、メモリ３６、及び通信バス３９を備えている。メモリ３６は、プログラムやデータを記憶するＲＯＭ３７と、データを記憶するＥＥＰＲＯＭ５１及びＲＡＭ５２を有する。
【００６３】
ＲＯＭ３７は、ＯＳ（Operating Systemの略）プログラム３７Ａや、制御プログラム３７Ｂや、通信プログラム３７Ｃなどを記憶する。ＯＳプログラム３７Ａは、他のプログラムの動作を制御するプログラムである。通信プログラム３７Ｃは、情報収集サーバ４０などの外部機器との通信を制御するプログラムである。制御プログラム３７Ｂは、後述の印刷処理などを行うプログラムである。ＯＳプログラム３７Ａ、制御プログラム３７Ｂ、及び通信プログラム３７Ｃは、ＣＰＵ３５によって、アドレスに記述された命令が処理されることによって実行される。以下では、ＯＳプログラム３７Ａ、制御プログラム３７Ｂ、及び通信プログラム３７Ｃが実行されることによって処理される動作を、コントローラ１３０の動作として記載することがある。なお、コントローラ１３０は、ＯＳプログラム３７Ａ、制御プログラム３７Ｂ、及び通信プログラム３７Ｃが実行する動作の一部または全部を実現するＩＣを用いたハード回路を有していてもよい。
【００６４】
ＥＥＰＲＯＭ５１は、プリンタ１０の装置情報を記憶する。装置情報は、プリンタ１０のモデル名や、プリンタ１０の識別情報を含む。プリンタ１０の識別情報は、プリンタ１０のＭＡＣアドレスやシリアルナンバーなどである。
【００６５】
また、ＥＥＰＲＯＭ５１は、第１排出値、第２排出値、初期カートリッジ残量値、初期タンク残量値、Ｓ＿Ｅｍｐｔｙフラグ、Ｃ＿Ｅｍｐｔｙフラグを記憶する。詳しくは、後述の印刷処理で説明する。
【００６６】
通信バス３９には、ヘッド２１や、通信インタフェース（以下、通信Ｉ／Ｆと記載）３１や、装着センサ３２や、液面センサ３３や、接点１５２や、クロック３０や、ディスプレイ２８や、不図示のモータなどが接続されている。クロック３０は、日時情報を出力する。通信Ｉ／Ｆ３１は、通信回線６に接続されている。
【００６７】
コントローラ１３０は、通信バス３９を通じて不図示のモータを駆動させることによって、給送ローラ２３、搬送ローラ２５、及び排出ローラ２７を回転させる。また、コントローラ１３０は、通信バス３９を通じてヘッド２１の駆動素子に駆動信号を出力することによって、ヘッド２１からインク滴を吐出させる。
【００６８】
また、コントローラ１３０は、装着ケース１５０にカートリッジ２００が装着されているか否かを装着センサ３２を通じて検出する。さらに、コントローラ１３０は、液室１７１内のインクの液面が基準位置Ｐ以上か否かを液面センサ３３を通じて検出する。
【００６９】
[情報収集サーバ４０]
情報収集サーバ４０は、プリンタ１０のベンダによってインターネット６に上に設置されてもよいし、当該ベンダとは異なる事業者によって設置されてもよい。情報収集サーバ４０は、ＣＰＵ４１と、メモリ４２と、通信Ｉ／Ｆ４３と、通信バス４４と、クロック４８とを備える。ＣＰＵ４１、メモリ４２、及び通信バス４４は、コントローラ４５を構成する。クロック４８は、日時情報を出力する。通信Ｉ／Ｆ４３は、通信回線６に接続されており、プリンタ１０や発送サーバ５０と通信を行う。
【００７０】
メモリ４２は、プログラム記憶領域４６と、データ記憶領域４７とを有する。プログラム記憶領域４６は、ハードディスクなどである。データ記憶領域４７は、ＲＡＭやハードディスクなどである。メモリ４２は、メモリの一例である。
【００７１】
データ記憶領域４７は、後述の残量管理リスト（図１４）及びカートリッジ管理リスト（図１５）を記憶する。
【００７２】
プログラム記憶領域４６は、ＯＳプログラム４６Ａや、制御プログラム４６Ｂや、通信プログラム４６Ｃなどのプログラムを記憶する。ＯＳプログラム４６Ａは、他のプログラムの動作を制御する。制御プログラム４６Ｂは、後述の発注処理などを実行する。通信プログラム４６Ｃは、プリンタ１０や発送サーバ５０との通信を制御する。ＯＳプログラム４６Ａ、制御プログラム４６Ｂ、及び通信プログラム４６Ｃは、ハードディスクからＲＡＭにコピーされ、ＲＡＭにコピーされた命令をＣＰＵが順に実行することによって実行される。以下では、ＯＳプログラム４６Ａ、制御プログラム４６Ｂ、及び通信プログラム４６Ｃが実行されることによって処理される動作を、コントローラ４５や情報収集サーバ４０の動作として記載することがある。制御プログラム４６Ｂは、プログラムの一例である。
【００７３】
[発送サーバ５０]
発送サーバ５０は、プリンタ１０のベンダによってインターネット６上に設置されてもよいし、当該ベンダとは異なる事業者によって設置されてもよい。発送サーバ５０は、情報収集サーバ４０からの要求に応じて、プリンタ１０のユーザにカートリッジ２００を発送するサービスを提供する。
【００７４】
[発注システム５によるインクの管理]
発注システム５では、情報収集サーバ４０がプリンタ１０からインクの残量情報を含む管理情報を収集し、インクの残量が少なくなると、発送サーバ５０に対してカートリッジ２００の発注を行う。このように、インク残量の管理及びカートリッジ２００の発注を情報収集サーバ４０が行うことで、プリンタ１０のユーザによるインク残量の管理及びカートリッジ２００の購入の手間を省くことができ、便利である。
【００７５】
具体的には、プリンタ１０のユーザが、インク残量の管理及びカートリッジ２００の発注サービスを行っているメーカと契約を締結する。インク残量の管理及びカートリッジ２００の発注サービスは、プリンタごとに契約されるサービスであり、契約時に、ユーザ情報や、契約対象のプリンタ１０の識別情報が情報収集サーバ４０に記憶される。ユーザ情報は、カートリッジ２００の配送先のユーザの氏名、住所などの宛先に関する情報である。
【００７６】
ユーザとメーカとの間で契約が締結されると、情報収集サーバ４０に、プリンタ１０の識別情報とユーザ情報とが対応付けられて記憶される。以下、カートリッジ２００の発注に関するプリンタ１０、情報収集サーバ４０、及び発送サーバ５０の処理について、詳しく説明する。
【００７７】
［プリンタ１０のコントローラ１３０が実行する処理］
図７〜図９に示されるフローチャートを参照して、プリンタ１０のコントローラ１３０が実行する処理を説明する。なお、以下の各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更することができる。
【００７８】
［印刷処理］
コントローラ１３０は、プリンタ１０に印刷指示が入力されたことに応じて、図７に示される印刷処理を実行する。印刷指示の取得元は特に限定されないが、例えば、印刷指示に対応するユーザ操作を操作パネル２２やディスプレイ２８を通じて受け付けてもよいし、通信Ｉ／Ｆ３４を通じて外部装置から受信してもよい。印刷指示には、画像を示す画像データが含まれる。当該画像データは、プリンタ１０のＲＡＭ５２に記憶される。
【００７９】
まず、コントローラ１３０は、ＥＥＰＲＯＭ５１が記憶しているＳ＿Ｅｍｐｔｙフラグの値がＯＮであるかＯＦＦであるかを判断する（Ｓ１１）。コントローラ１３０は、タンク１６０の液室１７１内のインクの液面が、タンク１６０からインクが流出する流出口１７４の上端に達する前にＥＥＰＲＯＭ５１のＳ＿Ｅｍｐｔｙフラグに「ＯＮ」を記憶させる。ＥＥＰＲＯＭ５１のＳ＿Ｅｍｐｔｙフラグの値は、「ＯＮ」を記憶するまでは「ＯＦＦ」を記憶している。なお、流出口１７４の上端にインクの液面が達すると、ヘッド２１のノズルにエア（空気）が進入してしまう虞がある。ヘッド２１のノズルに進入したエアがノズル内に滞留すると、ノズル内へのインクの進入が阻害されたり、ノズルからのインク滴の吐出が阻害されたりする虞が生じる。
【００８０】
すなわち、Ｓ＿Ｅｍｐｔｙフラグは、ヘッド２１のノズルにエアが進入することを防止するためのものである。コントローラ１３０は、後述のステップＳ１４において、ＥＥＰＲＯＭ５１のＳ＿ＥｍｐｔｙフラグにＯＦＦを記憶させ、ステップＳ５５においてＳ＿Ｅｍｐｔｙフラグに「ＯＮ」を記憶させる。具体的には、コントローラ１３０は、ＥＥＰＲＯＭ５１のＳ＿ＥｍｐｔｙフラグにＯＮを記憶させる。フローチャートには示されていないが、コントローラ１３０は、ＥＥＰＲＯＭ５１のＳ＿Ｅｍｐｔｙフラグが「ＯＮ」であることに応じて、ヘッド２１からのインクの吐出を禁止し、ＥＥＰＲＯＭ５１のＳ＿Ｅｍｐｔｙフラグが「ＯＦＦ」であることに応じて、インクの吐出を許容する。
【００８１】
コントローラ１３０は、ＥＥＰＲＯＭ５１のＳ＿Ｅｍｐｔｙフラグの値が「ＯＮ」であると判断すると（Ｓ１１：ＯＮ）、装着センサ３２から装着信号を所定の時間間隔で取得する。次に、コントローラ１３０は、取得した装着信号がローレベル信号（以下、「Ｌ」と記載）からハイレベル信号（以下、「Ｈ」と記載）に変化し、さらに、取得した装着信号が「Ｈ」から「Ｌ」に変化したか否かを判断する（Ｓ１２）。すなわち、装着信号の変化により、カートリッジ２００が装着されたか否かが判断される。以下、コントローラ１３０が、取得した装着信号が「Ｌ」から「Ｈ」に変化し、さらに取得した装着信号が「Ｈ」から「Ｌ」に変化したか否かを判断する、ことを、コントローラ１３０が、カートリッジ２００が交換されたか否かを判断する、とする。また、コントローラ１３０が、取得した装着信号が「Ｌ」から「Ｈ」に変化し、さらに、取得した装着信号が「Ｈ」から「Ｌ」に変化したかを判断する（Ｓ１２：Ｙｅｓ）ことを、コントローラ１３０が、カートリッジ２００が装着されたと判断することとする。
【００８２】
コントローラ１３０は、カートリッジ２００が装着されていないと判断すると（Ｓ１２：Ｎｏ）、装着センサ３２から装着信号の定期的な取得を継続する。コントローラ１３０は、カートリッジ２００が装着されたと判断すると（Ｓ１２：Ｙｅｓ）、第１更新処理（Ｓ１３）を実行する。なお、コントローラ１３０が、カートリッジ２００が装着されたか否かを判断する具体例として、ステップＳ１２の処理を挙げたが、これに限られない。例えば、シリアルナンバーを用いてカートリッジ２００が装着されたか否かが判断されてもよい。コントローラ１３０は、カートリッジ２００のＩＣチップ３４のメモリからカートリッジ２００のシリアルナンバーを読み出す。そして、コントローラ１３０は、読み出したシリアルナンバーと、ＥＥＰＲＯＭ５１が記憶しているシリアルナンバーとが一致するか否かを判断する。ＥＥＰＲＯＭ５１が記憶しているシリアルナンバーとは、装着ケース１５０に新しいカートリッジ２００が装着される前に装着ケース１５０に装着されていたカートリッジ２００のＩＣチップ３４のメモリが記憶しているシリアルナンバーである。この場合、コントローラが、カートリッジ２００が装着されたと判断するときの具体例は、コントローラ１３０は、ＩＣチップ３４のメモリから読み出したシリアルナンバーと、ＥＥＰＲＯＭ５１が記憶しているシリアルナンバーとが一致しないと判断することである。
【００８３】
［第１更新処理］
図８（Ａ）に示される第１更新処理は、コントローラ１３０が、ＥＥＰＲＯＭ５１に記憶された初期カートリッジ残量値及び初期タンク残量値と、カートリッジ２００のＩＣチップ３４に記憶されたカートリッジ残量値とを更新する処理である。
【００８４】
まず、コントローラ１３０は、接点１５２を通じて、装着ケース１５０に装着されたカートリッジ２００のＩＣチップ３４のメモリから、当該ＩＣチップ３４のメモリが記憶するカートリッジ残量値を読み出す（Ｓ３１）。コントローラ１３０は、読み出したカートリッジ残量値を初期カートリッジ残量値としてＥＥＰＲＯＭ５１に記憶させる（Ｓ３２）。
【００８５】
また、コントローラ１３０は、タンク残量値をＲＡＭ５２から読み出す（Ｓ３３）。なお、電源オフなどによってＲＡＭ５２にタンク残量値が記憶されていない場合、コントローラ１３０は、後述の第４更新処理と同様にして、タンク残量値を算出し、当該算出したタンク残量値をＲＡＭ５２に記憶する。ＲＡＭ５２から読み出されるタンク残量値は、カートリッジ２００が装着される直前にタンク１６０の液室１７１に貯留されていたインク残量を示す値である。換言すれば、タンク残量値は、カートリッジ２００が抜かれた際にタンク１６０の液室１７１に貯留されていたインク残量を示す値である。コントローラ１３０は、ＲＡＭ５２から読み出したタンク残量値を初期タンク残量値としてＥＥＰＲＯＭ５１に記憶させる（Ｓ３３）。
【００８６】
コントローラ１３０は、初期カートリッジ残量値及び初期タンク残量値を加算し、インクの合計残量を示す合計残量値を算出する（Ｓ３４）。コントローラ１３０は、算出した合計残量値から、新たなカートリッジ残量値及びタンク残量値を決定する（Ｓ３５）。
【００８７】
具体的に説明すると、新たなカートリッジ２００が装着ケース１５０に装着されると、カートリッジ２００の液室２１０から、当該液室２１０に収容されていたインクの一部がタンク１６０の液室１７１へと流出する。カートリッジ２００の液室２１０からタンク１６０の液室１７１へのインクの流出は、カートリッジ２００の液室２１０に収容されたインクの水頭と、タンク１６０の液室１７１に収容されたインクの水頭との差がほぼ無くなると、停止する。新たなカートリッジ残量値及び新たなタンク残量値は、カートリッジ２００の液室２１０に収容されたインクの水頭と、タンク１６０の液室１７１に収容されたインクの水頭との差がほぼ無くなった状態でのインク残量を示す。
【００８８】
カートリッジ残量値及びタンク残量値は、例えばコントローラ１３０が、ＥＥＰＲＯＭ５１やＲＯＭ３７が記憶する計算式に基づく算出をすることで決定してもよい。或いは、カートリッジ残量値及びタンク残量値は、例えばコントローラ１３０が、ＥＥＰＲＯＭ５１やＲＯＭ３７が記憶するテーブルに基づいて決定してもよい。具体的に説明すると、カートリッジ２００の液室２１０の形状及びタンク１６０の液室１７１の形状は、設計によって予め決められる。したがって、インクの合計残量値が判れば、カートリッジ２００に収容されたインクの水頭とタンク１６０に収容されたインクの水頭との差が無くなった状態におけるカートリッジ残量値及びタンク残量値も判る。ＥＥＰＲＯＭ５１やＲＯＭ３７は、合計残量値からカートリッジ残量値及びタンク残量値を計算する計算式を予め記憶している。或いは、ＥＥＰＲＯＭ５１やＲＯＭ３７は、合計残量値とカートリッジ残量値とタンク残量値との対応が示されたテーブルを予め記憶している。コントローラ１３０は、当該計算式やテーブルにより、新たなカートリッジ残量値及び新たなタンク残量値を決定する。
【００８９】
コントローラ１３０は、決定した新たなカートリッジ残量値をＲＡＭ５２に記憶させるとともに、ＩＣチップ３４のメモリに記憶されたカートリッジ残量値更新する（Ｓ３６）。また、コントローラ１３０は、決定した新たなタンク残量値をＲＡＭ５１に記憶させ（Ｓ３７）、第１更新処理を終了する。
【００９０】
コントローラ１３０は、図７に示されるように、第１更新処理が終了すると（Ｓ１３）、ＥＥＰＲＯＭ５１のＳ＿Ｅｍｐｔｙフラグに「ＯＦＦ」を記憶させ、ＥＥＰＲＯＭ５１のＣ＿Ｅｍｐｔｙフラグに「ＯＦＦ」を記憶させ、ＥＥＰＲＯＭ５１のカートリッジ交換フラグに「ＯＮ」を記憶させ、第１排出値及び第２排出値をゼロにリセット（Ｓ１４）して、ステップＳ１１の処理を再び実行する。なお、Ｃ＿Ｅｍｐｔｙフラグ、第１排出値、第２排出値、及びカートリッジ交換フラグについては後述する。
【００９１】
コントローラ１３０は、ＥＥＰＲＯＭ５１のＳ＿Ｅｍｐｔｙフラグの値が「ＯＦＦ」であると判断すると（Ｓ１１：ＯＦＦ）、液面センサ３３からの信号（以下、液面信号と記載）を取得する（Ｓ１５）。その後、コントローラ１３０は、ＲＡＭ５２が記憶する画像データに従って、シートに印刷を行う（Ｓ１６）。画像がシートに印刷されることにより、インクがヘッド２１を通じて排出される。インクが排出されたことにより、タンク１６０におけるインクの液面が下がる。コントローラ１３０は、印刷の実行後（Ｓ１６）、液面センサ３３から液面信号を取得する（Ｓ１７）。次に、コントローラ１３０は、ステップＳ１５で取得した液面信号とステップＳ１７で取得した液面信号との判断をする（Ｓ１８）。以下、コントローラ１３０が、液面センサ３３から取得するローレベル信号を、「Ｌ」と記載することがある。また、コントローラ１３０が、液面センサ３３から取得するハイレベル信号を、「Ｈ」と記載することがある。
【００９２】
コントローラ１３０は、ステップＳ１５及びＳ１７で取得した液面信号ががともに「Ｌ」であると判断すると（Ｓ１８：Ｌ→Ｌ）、第２更新処理（Ｓ１９）を実行する。ステップＳ１８で、コントローラ１３０が、ステップＳ１５及びＳ１７で取得した液面信号がともに「Ｌ」であると判断した際は、タンク１６０の液室１７１内のインクは、以下の状態である。すなわち、印刷の実行（Ｓ１６）前のタンク１６０の液室１７１に貯留されたインクの液面の位置が基準位置Ｐ以上（ステップＳ１５で取得した液面信号が「Ｌ」）である。及び、印刷の実行（Ｓ１６）後のタンク１６０の液室１７１に貯留されたインクの液面の位置が基準位置Ｐ以上（ステップＳ１７で取得した液面信号が「Ｌ」）である。すなわち、印刷の実行（Ｓ１６）後、コントローラ１３０がステップＳ１７で取得した液面信号が「Ｌ」である際の、カートリッジ２００の液室２１０には、インクが存在している。
【００９３】
[第２更新処理]
図８（Ｂ）に示される第２更新処理は、コントローラ１３０が、印刷やメンテナンスにおいてヘッド２１を通じて排出されたインクの量を示す第１排出値から、新たなカートリッジ残量値及びタンク残量値を決定する処理である。第１排出値は、例えば、ヘッド２１に吐出させるインク１滴の量に、当該インク１滴が吐出される回数を乗じた値である。コントローラ１３０は、ヘッド２１にインクの吐出を指示するごとに、指示に応じた第１排出値をカウントする。コントローラ１３０は、カートリッジ２００の装着後から現在までにヘッド２１が吐出した量に相当する第１排出値をカウントする。すなわち、第１排出値は、カートリッジ２００の装着後から現在までにヘッド２１が吐出したインクの量の積算値である。この第１排出値は、ＥＥＰＲＯＭ５１が記憶している。
【００９４】
まず、コントローラ１３０は、初期カートリッジ残量値と初期タンク残量値とをＥＥＰＲＯＭ５１から読み出す（Ｓ４１）。次に、コントローラ１３０は、読み出した初期カートリッジ残量値と初期タンク残量値とを加算して合計残量値を算出する（Ｓ４２）。コントローラ１３０は、算出した合計残量値から第１排出値を減算し、新たな合計残量値を算出する（Ｓ４３）。その後、コントローラ１３０は、上述と同様に、計算式やテーブルを用いて新たなカートリッジ残量値及び新たなタンク残量値を決定する（Ｓ４４）。
【００９５】
コントローラ１３０は、決定した新たなカートリッジ残量値をＲＡＭ５２に記憶させるとともに、ＩＣチップ３４のメモリに記憶されたカートリッジ残量値を更新する（Ｓ４５）。また、コントローラ１３０は、決定した新たなタンク残量値をＲＡＭ５２に記憶させ（Ｓ４６）、第２更新処理を終了する。
【００９６】
コントローラ１３０は、図７に示されるように、第２更新処理（Ｓ１９）が終了すると、次ページの画像データがＲＡＭ５２に記憶されているか否かを判断する（Ｓ２２）。コントローラ１３０は、次ページの画像データがＲＡＭ５２に記憶されていると判断すると（Ｓ２２：Ｙｅｓ）、ステップＳ１１の処理を再び実行する。コントローラ１３０は、次ページの画像データがＲＡＭ５２に記憶されていないと判断すると（Ｓ２２：Ｎｏ）、印刷処理を終了する。
【００９７】
なお、上述したカートリッジ残量値及びタンク残量値の決定方法は一例であり、他の方法によってカートリッジ残量値及びタンク残量値が決定されてもよい。
【００９８】
コントローラ１３０は、ステップＳ１１の処理で、ＥＥＰＲＯＭ５１のＳ＿Ｅｍｐｔｙフラグの値が「ＯＦＦ」であると判断すると（Ｓ１１：ＯＦＦ）、再び、ステップＳ１５からＳ１８までの処理を実行する。コントローラ１３０は、ステップＳ１５で取得した液面信号が「Ｌ」であり、且つステップＳ１７で取得した液面信号が「Ｈ」であると判断すると（Ｓ１８：Ｌ→Ｈ）、第３更新処理（Ｓ２０）を実行する。ステップＳ１８で、コントローラ１３０が、ステップＳ１５で取得した液面信号が「Ｌ」であり、且つＳ１７で取得した液面信号が「Ｈ」であると判断した際は、タンク１６０の液室１７１内のインクは、以下の状態である。すなわち、印刷の実行（Ｓ１６）前のタンク１６０の液室１７１に貯留されたインクの液面の位置が基準位置Ｐ以上（ステップＳ１５で取得した液面信号が「Ｌ」）である。及び、印刷の実行（Ｓ１６）後のタンク１６０の液室１７１に貯留されたインクの液面の位置が基準位置Ｐ未満（ステップＳ１７で取得した液面信号が「Ｈ」）である。すなわち、印刷の実行（Ｓ１６）中に、カートリッジ２００の液室２１０内にあったインクが存在しなくなったのである。換言すれば、印刷の実行（Ｓ１６）中にカートリッジ２００の液室２１０内にあったインクが使い切られたことを意味する。
【００９９】
[第３更新処理]
図８（Ｃ）に示される第３更新処理は、コントローラ１３０が、カートリッジ残量値を第１所定値に更新し、かつタンク残量値を第２所定値に更新する処理である。具体的に説明すると、印刷などによってヘッド２１を通じてから排出されたインクの量を示す第１排出値は、誤差を含む。例えば、コントローラ１３０は、ヘッド２１に、ある特定の量のインクの吐出を指示したとしても、実際にヘッド２１から吐出されるインクの量と、ヘッド２１に指示した特定の量、とに差が生じる場合がある。この差は、例えば、上記インクの吐出を指示した時の温度が原因で生じることがある。温度が低くなるほど、インクの粘度が高くなるため、ノズル２９を通じてインクが排出されにくくなるためである。さらに、コントローラ１３０は、ヘッド２１に繰り返し上記の指示を行うと、繰り返し実際にヘッド２１を通じて排出されるインクの量と、特定の量を繰り返した量とで、差がより開くこともある。つまり、印刷がされる度に、算出される第１排出値が示す量と、実際にヘッド２１を通じて排出された量とでは、誤差が積算される可能性がある。
【０１００】
カートリッジ残量値は、上記第１排出値に従って決定されるため、カートリッジ残量値が示すインク残量と、実際の液室２１０内のインク残量と、に誤差が発生する。また、タンク残量値は、上記第１排出値に従って決定されるため、タンク残量値が示すインク残量と、実際の液室１７１内のインク残量と、に誤差が発生する。したがって、印刷がされる度に決定されるカートリッジ残量値及びタンク残量値は、積算された誤差を含む。第３更新処理は、積算された誤差をリセットする処理である。
【０１０１】
具体的に説明すると、コントローラ１３０は、ＩＣチップ３４のメモリに記憶された初期カートリッジ残量値を第１所定値で更新する（Ｓ４７）。第１所定値は、例えば「ゼロ」である。また、コントローラ１３０は、初期タンク残量値を第２所定値としてＥＥＰＲＯＭ５１に記憶させる（Ｓ４８）。第２所定値は、基準位置Ｐにインクの液面がある場合にタンク１６０の液室１７１に貯留されているインクの量を示す値である。第１所定値及び第２所定値は、例えば、ＲＯＭ１３２に予め記憶される。
【０１０２】
次に、コントローラ１３０は、ＥＥＰＲＯＭ５１のＣ＿Ｅｍｐｔｙフラグに「ＯＮ」を記憶させ（Ｓ４９）、第３更新処理を終了する。すなわち、ＥＥＰＲＯＭ５１のＣ＿Ｅｍｐｔｙフラグは、カートリッジ２００に収容されたインクが使い切られると、「ＯＮ」を記憶される。
【０１０３】
コントローラ１３０は、図７に示されるように、第３更新処理（Ｓ２０）が終了すると、次ページの画像データがＲＡＭ５２に記憶されているか否かを判断する（Ｓ２２）。コントローラ１３０は、次ページの画像データがＲＡＭ５２に記憶されていると判断すると（Ｓ２２：Ｙｅｓ）、ステップＳ１１の処理を再び実行する。コントローラ１３０は、次ページの画像データがＲＡＭ５２に記憶されていないと判断すると（Ｓ２２：Ｎｏ）、印刷処理を終了する。
【０１０４】
コントローラ１３０は、ステップＳ１１の処理で、Ｓ＿Ｅｍｐｔｙフラグの値が「ＯＦＦ」であると判断すると（Ｓ１１：ＯＦＦ）、再び、ステップＳ１５からＳ１８までの処理を実行する。コントローラ１３０は、ステップＳ１５及びＳ１７で取得した液面信号がともに「Ｈ」であると判断すると（Ｓ１８：Ｈ→Ｈ）、第４更新処理（Ｓ２１）を実行する。ステップＳ１８で、コントローラ１３０が、ステップＳ１５及びＳ１７で取得した液面信号が共に「Ｈ」であると判断した際は、タンク１６０の液室１７１内のインクは、以下の状態である。すなわち、印刷の実行（Ｓ１６）前のタンク１６０の液室１７１に貯留されたインクの液面の位置が基準位置Ｐ未満（ステップＳ１５で取得した液面信号が「Ｈ」）である。及び、印刷の実行（Ｓ１６）後のタンク１６０の液室１７１に貯留されたインクの液面の位置が基準位置Ｐ未満（ステップＳ１７で取得した液面信号が「Ｈ」）である。すなわち、印刷の実行（Ｓ１６）の前後で、コントローラ１３０が、カートリッジ２００の液室２１０には、インクが存在していない。
【０１０５】
[第４更新処理]
図８（Ｄ）に示される第４更新処理は、コントローラ１３０が、タンク残量値を算出し、算出したタンク残量値が示すタンク残量が、印刷を継続できる量であるか否かを判断する処理である。まず、コントローラ１３０は、第２所定値に更新された初期タンク残量値をＥＥＰＲＯＭ５１から読み出す（Ｓ５１）。コントローラ１３０は、読み出した初期タンク残量値から第２排出値を減算し、新たなタンク残量値を算出する（Ｓ５２）。第２排出値は、第１排出値と同様に、例えば、ヘッド２１に吐出させるインク１滴の量に、当該インク１滴が吐出される回数を乗じた値である。コントローラ１３０は、ヘッド２１にインクの吐出を指示するごとに、指示に応じた第２排出値をカウントする。コントローラ１３０は、液面センサ３３から取得した液面信号が「Ｌ」から「Ｈ」に変化した後から、現在までにヘッド２１が排出したインクの量を示す第２排出値をカウントする。すなわち、第２排出値は、液面センサ３３から取得した液面信号が「Ｌ」から「Ｈ」に変化した後から現在までにヘッド２１が排出したインクの量の積算値である。この第２排出値は、ＥＥＰＲＯＭ５１が記憶している。
【０１０６】
コントローラ１３０は、ステップＳ５２で算出した新たなタンク残量値を、ＲＡＭ５２に記憶させる（Ｓ５３）。また、コントローラ１３０は、カウントした第２排出値が閾値に到達したか否かを判断する（Ｓ５４）。閾値は、ＲＯＭ３７やＥＥＰＲＯＭ５１に予め記憶された値である。コントローラ１３０は、カウントした第２排出値が閾値に到達していないと判断すると（Ｓ５４：Ｎｏ）、第４更新処理を終了する。一方、コントローラ１３０は、カウントした第２排出値が閾値に到達したと判断すると（Ｓ５４：Ｙｅｓ）、ＥＥＰＲＯＭ５１のＳ＿Ｅｍｐｔｙフラグに「ＯＮ」を記憶させ（Ｓ５５）、第４更新処理を終了する。フローチャートには示されていないが、コントローラ１３０は、ＥＥＰＲＯＭ５１のＳ＿Ｅｍｐｔｙフラグに「ＯＮ」が記憶されていると判断すると、印刷及びメンテナンスを含めて、ヘッド２１を通じたインクの排出を禁止する。
【０１０７】
閾値は、第２排出値が閾値に到達したときに、タンク１６０の液室１７１に貯留されたインクの液面が流出口１７４よりも若干上の位置になるような値とされる。詳しく説明すると、液面センサ３３が検知する設計上の基準位置Ｐと、液面センサ３３が実際に検知する基準位置Ｐとの間には、誤差がある場合がある。この誤差は、例えば、アクチュエータ１９０の動作の不具合等で発生したりする。閾値は、当該誤差が設計時に想定し得る最大の誤差であっても、第２排出値が閾値に到達したときに、タンク１６０の液室１７１に貯留されたインクの液面が流出口１７４に重ならないような値とされる。コントローラ１３０が、ヘッド２１を通じたインクの排出を禁止することにより、ヘッド２１にエアが混入することが抑制される。なお、閾値は、上述の誤差に加え、プリンタ１０が傾斜した面に載置されることも考慮して、プリンタ１０が所定の傾斜角度の面に載置されても、第２排出値が閾値に到達したときに、タンク１６０の液室１７１に貯留されたインクの液面が流出口１７４に重ならないような値とされてもよい。また、第２排出値は、第１排出値と同様に誤差を含む場合がある。閾値は、第２排出値が有する誤差が最大であっても、第２排出値が閾値に到達したときに、タンク１６０の液室１７１に貯留されたインクの液面が流出口１７４に重ならないような値とされてもよい。
【０１０８】
コントローラ１３０は、図７に示されるように、第４更新処理（Ｓ２１）が終了すると、次ページの画像データがＲＡＭ５２に記憶されているか否かを判断する（Ｓ２２）。コントローラ１３０は、次ページの画像データがＲＡＭ５２に記憶されていると判断すると（Ｓ２２：Ｙｅｓ）、ステップＳ１１の処理を再び実行する。コントローラ１３０は、次ページの画像データがＲＡＭ５２に記憶されていないと判断すると（Ｓ２２：Ｎｏ）、印刷処理を終了する。
【０１０９】
上述のように、コントローラ１３０は、ステップＳ１６の印刷を実行する度に、印刷に使用したインクの量に応じてカートリッジ残量値及びタンク残量値を決定する。なお、上述では、コントローラ１３０が、１ページ分の印刷を実行する度にカートリッジ残量値及びタンク残量値を決定する例を説明した。これに代えて、コントローラ１３０は、カートリッジ残量値及びタンク残量値を、１パスの印刷を実行する度に決定してもよい。また、コントローラ１３０は、第２更新処理、第３更新処理、及び第４更新処理を、印刷だけでなく、メンテナンスなどのためにヘッド２１を通じてインクが排出されるごとに実行する。
【０１１０】
図９を参照して、プリンタ１０が管理情報を生成して情報収集サーバ４０へ送信する管理情報送信処理を説明する。なお、管理情報送信処理は、全ての処理が終了すると、最初の処理に戻って再び実行される。
【０１１１】
プリンタ１０のコントローラ１３０は、クロック３０が出力する日時情報が、ＥＥＰＲＯＭ５１に記憶された所定の送信時刻になったか否かを判断する（Ｓ６１）。コントローラ１３０は、クロック３０が出力する日時情報が、所定の送信時刻になっていないと判断すると（Ｓ６１：Ｎｏ）、管理情報送信処理を終了する。
【０１１２】
コントローラ１３０は、クロック３０が出力する日時情報が所定の送信時刻になったと判断すると（Ｓ６１：Ｙｅｓ）、Ｃ＿Ｅｍｐｔｙフラグの値をＥＥＰＲＯＭ５１から読み出し、読み出したＣ＿Ｅｍｐｔｙフラグの値が「ＯＮ」か否かを判断する（Ｓ６２）。すなわち、ステップＳ６２では、装着ケース１５０に装着されたカートリッジ２００に収容されたインクが使い切られているか否かが判断される。
【０１１３】
コントローラ１３０は、Ｃ＿Ｅｍｐｔｙフラグの値が「ＯＦＦ」であると判断すると（Ｓ６２：Ｎｏ）、初期カートリッジ残量値、初期タンク残量値、及び初期充填値をＥＥＰＲＯＭ５１から読み出す（Ｓ６３）。なお、コントローラ１３０は、カートリッジ２００のＩＣチップ３４からカートリッジ２００の種別情報を読み出し、読み出した種別情報と対応する初期充填値をＥＥＰＲＯＭ５１から読み出す。
【０１１４】
また、コントローラ１３０は、、第１排出値をＥＥＰＲＯＭ５１から読み出す（Ｓ６４）。コントローラ１３０は、読み出した初期カートリッジ残量値と初期タンク残量値とを加算した値から、読み出した第１排出値を減算して合計残量値を算出する（Ｓ６５）。
【０１１５】
コントローラ１３０は、算出した合計残量値から、上述の第２更新処理と同様にして、新たなカートリッジ残量値及び新たなタンク残量値を決定する（Ｓ６６）。コントローラ１３０は、決定した新たなカートリッジ残量値をＲＡＭ５２及びＩＣチップ３４に記憶させる（Ｓ６７）。また、コントローラ１３０は、決定した新たなタンク残量値をＲＡＭ５２に記憶させる（Ｓ６８）。
【０１１６】
また、コントローラ１３０は、算出した合計残量値を、読み出した初期充填値で除し、かつ１００を乗じて合計残量割合（％）を算出する（Ｓ６９）。コントローラ１３０は、算出した合計残量割合が１００％を超えるか否かを判断する。合計残量割合が１００％を超える場合について、詳しく説明する。
【０１１７】
タンク１６０の液室１７１にインクが残った状態で、初期充填量のインクを収容する新しいカートリッジ２００が装着ケース１５０に装着されると、合計残量値は、初期充填値を超えた値になる。合計残量値が初期充填値を超えた値である場合、合計残量値を初期充填値で除し、かつ１００を乗じて算出される合計残量割合は、１００％を超える。すなわち、タンク１６０の液室１７１にインクが残った状態で、初期充填量のインクを収容する新しいカートリッジ２００が装着ケース１５０に装着されると、タンク１６０の液室１７１に残っていたインクが使用されるまでは、算出される合計残量割合は、１００％を超える。
【０１１８】
コントローラ１３０は、算出した合計残量割合が１００％を越えると判断すると（Ｓ７０：Ｙｅｓ）、算出した合計残量割合を１００％に変更する（Ｓ７１）。一方、コントローラ１３０は、算出した合計残量割合が１００％を越えないと判断すると（Ｓ７０：Ｎｏ）、ステップＳ７１の処理をスキップする。
【０１１９】
１００％を越えると、合計残量割合が１００％に変更されるのは、１００％を超える合計残量割合を送信することがないプリンタとの整合性を図るためである。１００％を超える合計残量割合を送信することがないプリンタとは、タンク１６０を備えず、装着ケース１５０を備えるプリンタを意味する。タンク１６０を備えず、装着ケース１５０を備えるプリンタは、現在の残量をカートリッジ２００の初期充填量で除して１００を乗じた値を残量割合として送信する。すなわち、タンク１６０を備えず、装着ケース１５０を備えるプリンタは、１００％以下となる残量割合を送信する。プリンタ１０は、１００％を超える合計残量割合を１００％に変更するので、タンク１６０を備えず、装着ケース１５０を備えるプリンタとの整合性を図ることができる。すなわち、プリンタ１０は、１００％を超える残量割合を処理できない情報収集サーバ４０に対しても、合計残量割合を送信して情報収集サーバ４０に処理を行わせることができる。
【０１２０】
一方、コントローラ１３０は、Ｃ＿Ｅｍｐｔｙフラグの値が「ＯＮ」であると判断すると（Ｓ６２：Ｙｅｓ）、第１所定値（ゼロ）であるカートリッジ残量値と、第２所定値であるタンク残量値と、初期充填値とをＩＣチップ３４及びＥＥＰＲＯＭ５１から読み出す（Ｓ７２）。また、コントローラ１３０は、第２排出値をＥＥＰＲＯＭ５１から読み出す（Ｓ７３）。コントローラ１３０は、読み出したタンク残量値から、読み出した第２排出値を減算し、新たなタンク残量値を算出する（Ｓ７４）。コントローラ１３０は、算出した新たなタンク残量値をＲＡＭ５２に記憶させる（Ｓ７５）。
【０１２１】
また、コントローラ１３０は、算出した新たなタンク残量値と、ステップＳ７２で読み出したカートリッジ値とを加算し、合計残量値を算出する（Ｓ７６）。コントローラ１３０は、算出した合計残量値を、ステップＳ７２で読み出した初期充填値で除し、かつ１００を乗じて、合計残量割合を算出する（Ｓ７７）。
【０１２２】
コントローラ１３０は、ステップＳ６９で算出した合計残量割合、または、ステップＳ７１で１００％に変更した合計残量割合、または、ステップＳ７７で算出した合計残量割合をＲＡＭ５２に記憶させる（Ｓ７８）。
【０１２３】
次に、コントローラ１３０は、Ｃ＿Ｅｍｐｔｙフラグの値、カートリッジ残量値、タンク残量値、合計残量割合、装置情報、カートリッジ２００の種別情報をＩＣチップ３４やＲＡＭ５２やＥＥＰＲＯＭ５１から読み出す（Ｓ７９）。コントローラ１３０は、読み出したＣ＿Ｅｍｐｔｙフラグの値と、カートリッジ残量値と、タンク残量値と、合計残量割合と、装置情報が示すプリンタ１０のモデル名及び識別情報と、カートリッジ２００の種別情報と、カートリッジ交換フラグと、を含む管理情報を生成する（Ｓ８０）。コントローラ１３０は、生成した管理情報を情報収集サーバ４０に送信する（Ｓ８１）。コントローラ１３０は、管理情報を送信した後、カートリッジ交換フラグに「ＯＦＦ」を設定し（Ｓ８２）、管理情報送信処理を終了する。すなわち、ステップＳ１４（図７）においてカートリッジ交換フラグに「ＯＮ」が設定された後に送信される管理情報には、「ＯＮ」を設定されたカートリッジ交換フラグが含まれ、「ＯＮ」を設定されたカートリッジ交換フラグを含む管理情報が送信された後、カートリッジ交換フラグは「ＯＦＦ」に設定される。管理情報に含まれる合計残量割合は、第１指標値及び第２指標値の一例である。
【０１２４】
プリンタ１０が送信した管理情報は、情報収集サーバ４０によって受信される。管理情報を受信した情報収集サーバ４０が実行する発注処理を、図１０を参照して説明する。なお、発注処理は、全ての処理が終了すると、最初の処理に戻って再び実行される。
【０１２５】
情報収集サーバ４０のコントローラ４５は、管理情報を受信したか否かを判断する（Ｓ９１）。コントローラ４５は、管理情報を受信していないと判断すると（Ｓ９１：Ｎｏ）、発注処理を終了する。一方、コントローラ４５は、管理情報を受信したと判断すると（Ｓ９１：Ｙｅｓ）、管理情報に含まれるカートリッジ交換フラグの値が「ＯＮ」であるか否かを判断する。すなわち、ステップＳ９２では、プリンタ１０でカートリッジ２００の交換が行われたか否かが判断される。情報収集サーバ４０のコントローラ４５が管理情報を取得するステップＳ９１の処理は、第１取得処理及び第２取得処理の一例である。
【０１２６】
コントローラ４５は、カートリッジ交換フラグの値がＯＮであると判断すると（Ｓ９２：Ｙｅｓ）、発注フラグにＯＦＦを設定する（Ｓ９３）。発注フラグは、カートリッジ２００が重複して発注されることを防止するためのフラグである。詳しくは後述する。一方、コントローラ４５は、カートリッジ交換フラグの値がＯＮでないと判断すると（Ｓ９２：Ｎｏ）、ステップＳ９３の処理をスキップする。
【０１２７】
次に、コントローラ４５は、受信した管理情報に含まれる識別情報に基づいて、管理情報を送信したプリンタ１０が、カートリッジ２００が装着される装着ケース１５０及びタンク１６０を有するタンク付プリンタであるか否かを判断する（Ｓ９４）。なお、タンク付プリンタでないプリンタとは、装着ケース１５０を備え、タンク１６０を備えないプリンタを意味する。
【０１２８】
コントローラ４５は、タンク付プリンタでないと判断すると（Ｓ９４：Ｎｏ）、従来の方法に従ってカートリッジ２００の発注を行い、発注処理を終了する。従来の方法の一例は、特開２０１７−４７５３７に記載の方法であるが、当該方法に限られたものではない。一方、コントローラ４５は、タンク付プリンタであると判断すると（Ｓ９４：Ｙｅｓ）、受信した管理情報に含まれるＣ＿Ｅｍｐｔｙフラグの値が「ＯＮ」であるか否かを判断する（Ｓ９５）。すなわち、ステップＳ９５では、カートリッジ２００が収容するインクが使い切られているか否かが判断される。コントローラ４５は、Ｃ＿Ｅｍｐｔｙフラグの値が「ＯＮ」でないと判断すると（Ｓ９５：Ｎｏ）、発注日時決定処理を実行する（Ｓ９６ａ）。
【０１２９】
発注日時決定処理（Ｓ９６ａ）は、受信した管理情報に基づいて、カートリッジ２００を発注する発注日時を決定する処理である。図１１（Ａ）を参照して、発注日時決定処理について説明する。なお、発注日時決定処理は、プリンタ１０に装着される各カートリッジ２００についてそれぞれ実行される。具体的には、マゼンタ、シアン、イエロー、ブラックの４種類のカートリッジ２００がプリンタ１０に装着可能である場合、発注日時決定処理は、各色のカートリッジ２００についてそれぞれ（すなわち、４回）実行される。発注日時決定処理（Ｓ９６ａ）は、発注条件を決定する条件決定処理の一例である。発注日時決定処理（Ｓ９６ａ）で決定される発注日時は、発注条件の一例である。
【０１３０】
まず、コントローラ４５は、カートリッジ２００の種別情報に基づいて、エンプティ時残量割合を取得する（Ｓ１０１）。エンプティ時残量割合は、カートリッジ２００に収容されたインクが使い切られた直後の合計残量割合である。メモリ４２には、カートリッジ２００の種別情報とエンプティ時残量割合との対応が示されたテーブルが予め記憶される。コントローラ４５は、管理情報に含まれる種別情報と対応するエンプティ時残量割合をメモリ４２から読み出して取得する。なお、エンプティ時残量割合は、プリンタ１０が送信する管理情報に含まれていてもよい。すなわち、プリンタ１０は、ステップＳ８１で、エンプティ時残量割合を含む管理情報を情報収集サーバ４０に送信する。コントローラ４５は、管理情報からエンプティ時残量割合を取得する。
【０１３１】
次に、コントローラ４５は、取得した合計残量割合及びエンプティ時残量割合を、残量情報を取得した時にクロック４８が出力した日時である取得日時と対応付けて、図１４に示される残量管理リストのレコードとしてメモリ４２に記憶する（Ｓ１０２）。残量リストは、各プリンタ１０の各色のインクカートリッジ２００ごとに作成される。各残量リストは、例えば、識別ＩＤによって識別される。なお、コントローラ４５は、取得日時に代えて、時刻を含まない取得日と、合計残量割合及びエンプティ時残量割合とを対応付けて残量管理リストに記憶してもよい。管理情報を取得日時と対応付けてメモリ４２に記憶するステップＳ１０２の処理は、第１記憶処理及び第２記憶処理の一例である。取得日時は、第１日付情報及び第２日付情報の一例である。
【０１３２】
残量管理リストは、取得日時ごとのレコードと、複数の項目とを有する。複数の項目は、「取得日時」、「合計残量割合」、「カートリッジ残量値」、「タンク残量値」、「交換フラグ」、「交換回数」などを有する。なお、残量管理リストは、図示例以外の項目を有していてもよい。
【０１３３】
項目「取得日時」は、管理情報を取得した日時である。項目「合計残量割合」は、管理情報に含まれる合計残量割合である。項目「合計残量」は、プリンタ１０のカートリッジ２００及びタンク１６０に収容されたインクの合計残量を示す値である。合計残量値は、合計残量割合とともに管理情報に含まれていてもよいし、管理情報に含まれる種別情報と合計残量割合とモデル名とからコントローラ４５が算出してもよい。項目「カートリッジ残量値」は、管理情報に含まれるカートリッジ残量値である。項目「タンク残量値」は、管理情報に含まれるタンク残量値である。項目「発注フラグ」は、「ＯＮ」または「ＯＦＦ」を示す値である。発注フラグは、新しいカートリッジ２００が発注されると「ＯＮ」に設定され、プリンタ１０においてカートリッジ２００の交換が行われると、「ＯＦＦ」が設定されるフラグである。項目「交換回数」は、プリンタ１０において現在までに行われたカートリッジ２００の交換回数を示す値である。
【０１３４】
残量管理リストの各レコードは、プリンタ１０がそれぞれ異なる日時に送信した合計残量割合を、取得日時と対応付けてそれぞれ記憶したものである。コントローラ４５は、新たな管理情報を取得すると、残量管理リストに新たなレコードを追加する。
【０１３５】
コントローラ４５は、図１１（Ａ）に示されるように、同一のカートリッジ２００について、１００％未満の２つ以上のレコードが残量管理リストにあるか否かを判断する（Ｓ１０３）。コントローラ４５は、２つ以上のレコードがないと判断すると（Ｓ１０３：Ｎｏ）、発注日時決定処理を終了する。一方、コントローラ４５は、２つ以上のレコードがあると判断すると（Ｓ１０３：Ｙｅｓ）、日時と合計残量割合との１次関数を決定する（Ｓ１０４）。１次関数の決定について、図１２を参照して具体的に説明する。なお、図における横軸（ｘ軸）は日時を示し、縦軸（ｙ軸）は合計残量割合を示している。
【０１３６】
コントローラ４５は、合計残量割合が１００％未満になった最初のレコードを残量管理リストの項目「合計残量割合」及び「取得日時」に基づいて決定する。コントローラ４５は、決定したレコードの取得日時「Ｔ１」と合計残量割合「Ｐ１」とを残量管理リストから取得する。また、コントローラ４５は、最も新しいレコードを残量管理リストの項目「取得日時」に基づいて決定する。コントローラ４５は、決定したレコードの取得日時「Ｔ２」と合計残量割合「Ｐ２」とを残量管理リストから取得する。
【０１３７】
コントローラ４５は、傾きが（（Ｐ２−Ｐ１）／Ｔ２−Ｔ１）で、点（Ｔ１，Ｐ１）または点（Ｔ２，Ｐ２）を通る直線を１次関数として決定する。なお、コントローラ４５は、１００％未満である任意の２つのレコードが示す点を通る直線を１次関数に決定してもよい。
【０１３８】
図１０に示されるように、コントローラ４５は、１次関数を決定した後、ＣＴＧエンプティ日時及びインクエンプティ日時を決定する（Ｓ１０５）。なお、「ＣＴＧ」は、「カートリッジ」を意味する。
【０１３９】
コントローラ４５は、決定したＣＴＧエンプティ日時及びインクエンプティ日時から到着予定日時を推定する（Ｓ１０６）。コントローラ４５は、推定した到着予定日時から、カートリッジ２００を発注する日時である発注日時を決定する（Ｓ１０７）。ＣＴＧエンプティ日時は、カートリッジ２００が収容するインクが使い切られる日時を意味する。インクエンプティ日時は、カートリッジ２００及びタンク１６０が収容するインクが使い切られる日時を意味する。到着予定日時は、第１所定日の一例である。発注日時は、発注日の一例である。なお、ＣＴＧエンプティ日時、インクエンプティ日時、到着予定日時、及び発注日時は、時刻まで含まない「日」であってもよい。
【０１４０】
図１２を参照して、ステップＳ１０５、Ｓ１０６、及びＳ１０７について詳しく説明する。コントローラ４５は、決定した１次関数に基づいて、合計残量割合がエンプティ時残量割合になる日時であるＣＴＧエンプティ日時を決定する（Ｓ１０５）。すなわち、コントローラ４５は、カートリッジ２００が空になる日時を推定し、ＣＴＧエンプティ日時として決定する。次に、コントローラ４５は、決定した１次関数に基づいて、合計残量割合がゼロになる日時であるインクエンプティ日時を決定する（Ｓ１０５）。すなわち、コントローラ４５は、カートリッジ２００及びタンク１６０が収容するインクが使い切られる日時を推定し、インクエンプティ日時として決定する。コントローラ４５は、決定したＣＴＧエンプティ日時とインクエンプティ日時との中間となる日時を、カートリッジ２００がユーザに届く到着予定日時として推定し、メモリ４２に記憶させる（Ｓ１０６）。
【０１４１】
到着予定日時をＣＴＧエンプティ日時とインクエンプティ日時との中間の日時にするのは、カートリッジ２００がユーザに実際に届く日が、到着予定日時に対して前後しても、カートリッジ２００が収容するインクが使い切られた後であって、かつ、カートリッジ２００及びタンク１６０が収容するインクが使い切られる前に、新しいカートリッジ２００がユーザに届くようにするためである。
【０１４２】
なお、合計残量割合が１００％未満になった最初のレコードと、最も新しいレコードとを用いて１次関数を決定するのは、ＣＴＧエンプティ日時及びインクエンプティ日時の推定の精度の低下を低減するためである。インクエンプティ日時及びＣＴＧエンプティ日時の推定の精度の低下とは、推定したインクエンプティ日時とプリンタ１０において実際にインクが無くなる日との差が大きくなること、及び、推定したＣＴＧエンプティ日時とカートリッジ２００が収容するインクが実際に使い切られる日との差が大きくなることを意味する。
【０１４３】
詳しく説明すると、プリンタ１０は、上述の通り合計残量割合が１００％を超える場合に、合計残量割合を１００％として情報収集サーバ４０に送信する。したがって、情報収集サーバ４０が合計残量割合を１００％として記憶している場合は、プリンタ１０では１００％を超えている可能性がある。１００％を超える合計残量割合を１００％として１次関数を決定すると、インクエンプティ日時及びＣＴＧエンプティ日時の推定の精度が低下するおそれが生じる。１００％未満のレコードを用いて１次関数を決定することにより、インクエンプティ日時及びＣＴＧエンプティ日時の推定の精度の低下を低減することができると考えられる。
【０１４４】
また、上述したように、カートリッジ残量値が示すインク残量及びタンク残量値が示すインク残量は、カートリッジ２００が実際に収容するインク残量及びタンク１６０が実際に収容するインク残量に対して誤差を含む。当該誤差は、ヘッド２１でのインクの排出量が多くなるほど、大きくなる場合がある。したがって、合計残量割合が１００％未満になった最初のレコードの合計残量割合は、当該レコードより後に送信されたレコードの合計残量割合よりも、誤差が小さい可能性が高いと考えられる。したがって、合計残量割合が１００％未満になった最初のレコードを用いることにより、到着予定日の推定の精度の低下を低減することができると考えられる。
【０１４５】
また、インクの使用量は日々変化するので、最も新しいレコードの合計残量値を用いた方が、古いレコードの合計残量値を用いるよりも、到着予定日の推定の精度の低下を低減することができると考えられる。
【０１４６】
コントローラ４５は、決定した到着予定日時から、配達期間（例えば３日間）だけ前の日時を、新しいカートリッジ２００の発注日時として決定する（Ｓ１０７）。配達期間は、新しいカートリッジ２００が発注されてから、情報収集サーバ４０に記憶されたユーザ情報に含まれる住所に届くまでに必要と想定される期間であり、メモリ４２に予め記憶される。配達期間は、第１所定期間の一例である。
【０１４７】
図９（Ｂ）に示されるように、コントローラ４５は、決定した到着予定日時をメモリ４２に記憶させる。また、コントローラ４５は、カートリッジ管理リスト（図１５）に発注日時及び１次関数を記憶し（Ｓ１０８）、発注日時決定処理を終了する。
【０１４８】
図１５に示されるカートリッジ管理リストは、複数のプリンタ１０をまとめて管理するためのリストであり、例えば、情報収集サーバ４０の管理者がカートリッジ２００の発注を管理または監視するために用いられる。カートリッジ管理リストの各レコードは、ユーザとの契約時作成され、カートリッジ管理リストに記憶される。
【０１４９】
カートリッジ管理リストは、各プリンタ１０の各色のカートリッジ２００ごとに記憶されるレコードと、複数の項目とを有する。複数の項目は、「識別情報」、「色情報」、「ユーザ情報」、「宛先情報」、「モデル名」、「到着予定日時」、「発注日時」、「交換フラグ」、「交換回数」、「エンプティ時残量割合」、「１次関数」などである。なお、カートリッジ管理リストは、図示例以外の項目を有していてもよい。
【０１５０】
項目「識別情報」は、各プリンタ１０をそれぞれ個別に識別するものであり、例えば、プリンタ１０のＭＡＣアドレスやシリアルナンバーなどである。
【０１５１】
項目「色情報」は、カートリッジ２００が収容するインクの色を示す。図示例では、識別情報「００１」で示されるプリンタ１０は、ブラック、マゼンタ、シアン、及びイエローの４つのカートリッジ２００を有するカラープリンタである。識別情報「００２」〜「００７」で示される各プリンタ１０は、ブラックのカートリッジ２００を有するモノクロプリンタである。
【０１５２】
項目「ユーザ情報」は、ユーザの名称や、お客様コードや、ユーザの名称及びお客様コードなどである。図示例では、識別情報「００１」〜「００５」で示される５台のプリンタ１０がユーザ情報「ユーザＡ」で示されるユーザ（以下、ユーザＡと記載）に所属し、識別情報「００６」及び「００７」で示される２台のプリンタ１０がユーザ情報「ユーザＢ」で示されるユーザに所属している。
【０１５３】
項目「宛先情報」は、カートリッジ２００が配達される住所である。図示例では、ユーザＡに所属する識別情報「００１」及び「００２」の２台のプリンタ１０のカートリッジ２００が配達される宛先が「ａａａ」であり、同じくユーザＡに所属する識別情報「００３」〜「００５」の３台のプリンタ１０のカートリッジ２００が配達される宛先が「ｂｂｂ」である。例えば、宛先情報「ａａａ」は、ユーザＡの本社であり、「ｂｂｂ」はユーザＡの支店である。
【０１５４】
項目「モデル名」は、プリンタ１０のモデル名を示す。項目「発注日時」は、ステップＳ１０７で決定した発注日時を示す。コントローラ４５は、管理情報をプリンタ１０から受信する度に発注日時を決定し、カートリッジ管理リストの項目「発注日時」を、決定した最新の発注日時で更新する。
【０１５５】
項目「交換フラグ」及び項目「交換回数」は、残量管理リストの項目「交換フラグ」及び項目「交換回数」と同じである。項目「エンプティ時残量割合」は、ステップＳ１０１で取得したエンプティ時残量割合を示す。
【０１５６】
項目「１次関数」は、ステップＳ１０４で決定した１次関数を示す。なお、項目「１次関数」は、非表示にされていてもよい。項目「１次関数」は、上述のステップＳ９６ａ（図１０）の発注日時決定処理の後に実行されるステップＳ９６ｂの複数発注決定処理に用いられる。
【０１５７】
カートリッジ管理リストに記憶されるレコードの各項目のうち、「識別情報」、「ユーザ情報」、及び「宛先情報」の各項目は、例えば、ユーザとの契約後、管理者やオペレータによって情報収集サーバ４０に入力され、カートリッジ管理リストに記憶される。
【０１５８】
「モデル名」、「色情報」、及び「エンプティ時残量割合」の各項目は、例えば、管理者やオペーレータが入力したプリンタ１０の識別情報及びカートリッジ２００の種別情報に基づいてコントローラ４５が決定する。具体的には、プリンタ１０の識別情報とモデル名との対応、及び、カートリッジ２００の種別情報と色情報とエンプティ時残量割合との対応がメモリ４２に予め記憶されている。コントローラ４５は、入力された識別情報及び種別情報と対応するモデル名、色情報、及びエンプティ時残量割合をメモリ４２から読み出して、カートリッジ管理リストに記憶する。
【０１５９】
項目「交換フラグ」は、プリンタ１０から管理情報を受信した後、管理情報に含まれる交換フラグの値（オン又はオフ）がカートリッジ管理リストに記憶される。項目「交換回数」は、プリンタ１０から管理情報を受信した後、算出された交換回数がカートリッジ管理リストに記憶される。
【０１６０】
項目「到着予定日時」は、ステップＳ１０６で推定した後、カートリッジ管理リストに記憶される。項目「発注日時」は、ステップＳ１０７で決定した後、カートリッジ管理リストに記憶される。項目「１次関数」は、ステップＳ１０４で決定した後、カートリッジ管理リストに記憶される。
【０１６１】
複数発注決定処理は、複数のカートリッジ２００を同時に発注するか否かを判断して決定する処理である。図１１（Ｂ）を参照して詳しく説明する。なお、以下では、ステップＳ１０７で発注日時を決定したカートリッジ２００をカートリッジ２００ａと記載し、カートリッジ２００ａと同時に発注可能か否かを判断するカートリッジ２００をカートリッジ２００ｂと記載して説明する。カートリッジ２００ａは、第１カートリッジの一例である。カートリッジ２００ｂは、第２カートリッジの一例である。
【０１６２】
コントローラ４５は、カートリッジ２００ａの宛先情報をカートリッジ管理リストの項目「宛先情報」から取得し、取得した宛先情報と同一の宛先情報を有するレコードがカートリッジ管理リストにあるか否かを判断する（Ｓ１１１）。コントローラ４５は、取得した宛先情報と同一の宛先情報を有するレコードがカートリッジ管理リストにないと判断すると（Ｓ１１１：Ｎｏ）、複数発注決定処理を終了する。
【０１６３】
一方、コントローラ４５は、取得した宛先情報と同一の宛先情報を有するレコードがカートリッジ管理リストにあると判断すると（Ｓ１１１：Ｙｅｓ）、同一の宛先情報を有するレコードの発注日時をカートリッジ管理リストからそれぞれ読み出す（Ｓ１１２）。コントローラ４５は、カートリッジ２００ａの発注日時が、読み出した発注日時より早いか否かを判断する（Ｓ１１３）。すなわち、ステップＳ１１３では、カートリッジ２００ａの発注日が最も早いか否かが判断される。
【０１６４】
コントローラ４５は、読み出した発注日時の方がカートリッジ２００ａの発注日時よりも早いと判断すると（Ｓ１１３：Ｎｏ）、複数発注決定処理を終了する。一方、コントローラ４５は、カートリッジ２００ａの発注日時が最も早いと判断すると（Ｓ１１３：Ｙｅｓ）、カートリッジ２００ａの宛先情報と同一の宛先情報を有するレコードが示す各カートリッジ２００（カートリッジ２００ｂ）それぞれについて、ステップＳ１１４以降の処理を実行する。すなわち、コントローラ４５は、発注日時が最も早いカートリッジ２００をカートリッジ２００ａとし、カートリッジ２００ａと同一の宛先情報を有するカートリッジ２００をカートリッジ２００ｂとし、カートリッジ２００ｂについて、同時に発注してもよいカートリッジ２００であるか否かを判断する。
【０１６５】
まず、コントローラ４５は、第２カートリッジの管理情報を読み出す（Ｓ１１４）。コントローラ４５は、読み出したカートリッジ２００ｂの管理情報に１次関数が記憶されているか否かを判断する（Ｓ１１５）。カートリッジ管理リストに１次関数が記憶されていない状態とは、ステップＳ１０３において２つ以上のレコードがないと判断され、ステップＳ１０４で１次関数が決定されていない状態を意味する。
【０１６６】
コントローラ４５は、読み出したカートリッジ２００ｂの管理情報に１次関数が記憶されていないと判断すると（Ｓ１１５：Ｎｏ）、複数発注決定処理を終了する。一方、コントローラ４５は、読み出したカートリッジ２００ｂの管理情報に１次関数が記憶されていると判断すると（Ｓ１１５：Ｙｅｓ）、読み出した１次関数を用いて、ステップＳ１０６で推定したカートリッジ２００ａの到着予定日時におけるカートリッジ２００ｂの合計残量割合を算出する（Ｓ１１６）。すなわち、ステップＳ１１６では、カートリッジ２００ａがユーザに届く日におけるカートリッジ２００ｂの合計残量割合（以下、推定残量割合と記載）を算出する。
【０１６７】
コントローラ４５は、ステップＳ１１６で算出した推定残量割合がエンプティ時残量割合未満であるか否かを判断する（Ｓ１１７）。すなわち、ステップＳ１１７では、カートリッジ２００ａがユーザに届けられる日において、カートリッジ２００ｂのインクが使い切られているか否かが判断される。推定残量割合がエンプティ時残量割合未満であるか否かを判断するステップＳ１１７の処理は、状態推定処理の一例である。
【０１６８】
コントローラ４５は、推定残量割合がエンプティ時残量割合未満であると判断すると（Ｓ１１７：Ｙｅｓ）、同時発注フラグに「ＯＮ」を設定し（Ｓ１１８）、複数発注決定処理を終了する。図１５では不図示であるが、同時発注フラグは、カートリッジ管理リストに記憶されるフラグである。
【０１６９】
図１３に、カートリッジ２００ａの１次関数と、同時発注フラグに「ＯＮ」が設定されるカートリッジ２００ｂの１次関数とを示す。カートリッジ２００ａの１次関数と、カートリッジ２００ｂの１次関数とが、図に示されるような関係にある場合、カートリッジ２００ａの到着予定日時におけるカートリッジ２００ｂの合計残量割合（推定残量割合）が、エンプティ時残量割合よりも小さくなる。
【０１７０】
一方、コントローラ４５は、推定残量割合がエンプティ時残量割合未満でないと判断すると（Ｓ１１７：Ｎｏ）、同時発注フラグに「ＯＦＦ」を設定し（Ｓ１１９）、複数発注決定処理を終了する。すなわち、発注日時が最も早いカートリッジ２００（カートリッジ２００ａ）に対して、同時に発注するカートリッジ２００のレコードの同時発注フラグに「ＯＦＦ」が設定される。なお、破線で示されたステップＳ１２０の処理は、変形例１において実行される処理であり、第１実施形態では実行されない処理である。ステップＳ１２０の処理については、変形例１で説明する。
【０１７１】
コントローラ４５は、図１０に示されるように、ステップＳ９６ｂの複数発注決定処理の実行後、現在日時が発注日時に達したか否かを判断する（Ｓ９７）。コントローラ４５は、現在日時が発注日時に達していないと判断すると（Ｓ９７：Ｎｏ）、発注処理を終了する。一方、コントローラ４５は、現在日時が発注日時に達したと判断すると（Ｓ９７：Ｙｅｓ）、発注フラグの値が「ＯＦＦ」であるか否かを判断する（Ｓ９８ａ）。すなわち、ステップＳ９８ａでは、新しいカートリッジ２００が既に発注されているか否かが判断される。例えば、同一の宛先情報を有する他のカートリッジ２００の発注と同時にカートリッジ２００が既に発注されている場合、発注フラグの値は「ＯＦＦ」である。
【０１７２】
コントローラ４５は、発注フラグの値が「ＯＦＦ」でないと判断すると（Ｓ９８ａ：Ｎｏ）、発注処理を終了する。すなわち、新しいカートリッジ２００が既に発注されている場合、カートリッジ２００の発注が再度行われることなく、発注処理が終了する。一方、コントローラ４５は、発注フラグの値が「ＯＦＦ」であると判断すると（Ｓ９８ａ：Ｙｅｓ）、カートリッジ管理リストにおいて、宛先情報が同一で、かつ同時発注フラグが「ＯＮ」であるカートリッジ２００があるか否かを判断する（Ｓ９８ｂ）。
【０１７３】
コントローラ４５は、宛先情報が同一で、かつ同時発注フラグが「ＯＮ」であるカートリッジ２００がないと判断すると（Ｓ９８ｂ：Ｎｏ）、カートリッジ２００ａの発注を指示する発注指示を発送サーバ５０に送信する（Ｓ９９ａ）。具体的には、コントローラ４５は、１０時や１２時など、毎日の定刻に、発注日時になっているレコードがあるか否かを判断し、発注日時になっていると判断したレコードのカートリッジ２００（カートリッジ２００ａ）を対象に、発注指示を発送サーバ５０宛てに送信する。発注指示には、品番など、カートリッジ２００の種類を特定する情報（種別情報）、カートリッジ２００を配達すべき宛先（即ち、宛名情報と住所情報）などが含まれる。発注指示を受信した発送サーバ５０は、発注指示に含まれる宛先に、発注指示に含まれる品番（種別情報）が示すカートリッジ２００の発送を手配する。
【０１７４】
一方、コントローラ４５は、宛先情報が同一で、かつ同時発注フラグが「ＯＮ」であるカートリッジ２００があると判断すると（Ｓ９８ｂ：Ｙｅｓ）、カートリッジ２００ａ、及び、宛先情報が同一で、かつ同時発注フラグが「ＯＮ」であるカートリッジ２００の発注を指示する発注指示を発送サーバ５０に送信する（Ｓ９９ｂ）。すなわち、複数のカートリッジ２００がまとめて発注される。発注指示を送信するステップＳ９９ｂの処理は、送信処理の一例である。
【０１７５】
ステップＳ９９ａ、Ｓ９９ｂの処理の実行後、コントローラ４５は、発注したカートリッジ２００の発注フラグに「ＯＮ」を設定し、かつ、発注したカートリッジ２００の交換回数をインクリメントし、発注処理を終了する。
【０１７６】
一方、コントローラ４５は、Ｃ＿Ｅｍｐｔｙフラグの値が「ＯＮ」であると判断すると、（Ｓ９５：Ｙｅｓ）、ステップＳ９６ａ、Ｓ９６ｂ、Ｓ９７の処理をスキップし、ステップＳ９８ａ以降の処理を実行する。すなわち、カートリッジ２００が収容するインクが使い切られている場合は、発注日時を決定することなく、すぐに新しいカートリッジ２００が発注される。
【０１７７】
コントローラ４５は、上述の発注処理を、管理情報を取得する度に実行する。したがって、宛先情報が同じ複数のカートリッジ２００のうち、カートリッジ２００ａとなるカートリッジ２００は、管理情報を取得する度に決定される。
【０１７８】
[第１実施形態の効果]
第１実施形態では、複数のカートリッジをまとめて発注することができる。まとめて発注された複数のカートリッジは、まとめて所定の宛先に到着し得る。これによって、複数のカートリッジが個別に発注される場合に比べ、カートリッジの輸送費が低減される。また、カートリッジ２００にインクが残っておらず、かつタンク１６０にはインクが残っている状態のときに新しいカートリッジ２００がユーザに届く。したがって、カートリッジ２００の交換の前後においてタンク１６０にはインクが残っているため、タンク１６０に残っているインクを用いて継続して印刷を行うことができる。また、交換されるカートリッジ２００にはインクが残っていないのため、カートリッジ２００に残ったインクが無駄になることを防ぐことができる。
【０１７９】
また、第１実施形態では、２つの合計残量割合と取得日時とを用いて１次関数を決定して到着予定日を算出するので、２次以上の関数を決定する場合や、標準偏差を用いて１次関数を決定する場合に比べ、到着予定日の算出に要するＣＰＵ３５の演算回数が低減する。その結果、到着予定日の算出が容易になる。
【０１８０】
また、第１実施形態では、ＣＴＧエンプティ日時とインクエンプティ日時との中間の日時を到着予定日時に決定するので、新しいカートリッジ２００がユーザに予想よりも早く届けられても、遅延して届けられても、カートリッジ２００にはインクが残っておらず、かつタンク１６０にはインクが残っている状態のときに、新たなカートリッジ２００がユーザに届き得る。
【０１８１】
また、第１実施形態では、新たな管理情報（合計残量割合）を取得する度に発注日時を決定するので、決定する発注日時の精度を上げることができる。その結果、装着済みカートリッジ２００にはインクが残っておらず、かつタンク１６０にはインクが残っている状態のときに新たなカートリッジ２００がユーザに届く可能性を高めることができる。
【０１８２】
また、第１実施形態では、プリンタ１０が送信する合計残量割合は１００％以下であるので、情報収集サーバ４０は、タンク１６０を有さないプリンタから入力される残量割合も、タンク１６０を有するプリンタ１０から入力される合計残量割合も、同様に扱うことができる。その結果、プリンタの種類ごとに情報収集サーバを用いなくともよく、一の情報収集サーバ４０で、タンク１６０を有さないプリンタについてのカートリッジの発注も、タンク１６０を有するプリンタ１０についてのカートリッジ２００の発注も行うことができる。
【０１８３】
また、第１実施形態では、合計残量割合が１００％未満になったレコードを用いて１次関数を決定しているので、インクエンプティ日時及びＣＴＧエンプティ日時の推定の精度の低下を低減することができる。
【０１８４】
また、第１実施形態では、管理情報に含まれるＣ＿Ｅｍｐｔｙフラグが「ＯＮ」であると、発注日時を決定することなく、新しいカートリッジ２００が発注される。したがって、タンク１６０にはインクが残っている状態のときに新たなカートリッジ２００がユーザに届く可能性を高めることができる。
【０１８５】
また、第１実施形態では、プリンタ１０がタンク１６０を備えるタンク付きプリンタであるか否かを判断し、タンク付きプリンタであると判断すると、図１０に示される発注処理を実行する。したがって、タンク１６０を有さないプリンタにおけるカートリッジの発注と、タンク１６０を有するプリンタ１０におけるカートリッジ２００の発注とを情報収集サーバ４０に行わせることができる。
【０１８６】
[第２実施形態]
上述の第１実施形態では、図１２に示されるように、カートリッジ２００のインクが使い切られると予想されるＣＴＧエンプティ日時と、タンク１６０のインクが使い切られると予想されるインクエンプティ日時との中間の日時を到着予定日時に決定した例を説明した。このように到着予定日時に決定することにより、タンク１６０のインクが使い切られると予想されるインクエンプティ日時よりも十分前にカートリッジ２００がユーザに届く。第２実施形態では、到着予定日時を遅らせた場合に、同時に発注してもよいカートリッジ２００が増えるか否かが判断され、同時に発注してもよいカートリッジ２００が増えると判断されると、発注日時が遅らされ、さらに多くのカートリッジ２００がまとめて発注される。以下、図１１（Ｂ）及び図１６から図１９を参照して詳しく説明する。なお、以下で説明する処理以外の処理や構成は、実施形態で説明した処理や構成と同じである。
【０１８７】
コントローラ４５は、図１１（Ｂ）で説明したステップＳ１１８及びＳ１１９の処理の実行後、破線で示されたステップＳ１２０の発注日時変更処理を実行する。ステップＳ１２０の発注日時変更処理は、変更処理の一例である。
【０１８８】
まず、コントローラ４５は、図１６（Ａ）に示されるように、カートリッジ２００ａと同一の宛先情報を有するカートリッジ２００ｂのうち、同時発注フラグが「ＯＦＦ」のカートリッジ２００ｂがあるか否かを判断する。コントローラ４５は、同時発注フラグが「ＯＦＦ」のカートリッジ２００ｂがないと判断すると（Ｓ１２１：Ｎｏ）、発注日時変更処理を終了する。すなわち、同時発注フラグが「ＯＦＦ」のカートリッジ２００ｂがない場合、カートリッジ２００ａの発注日時が変更されることなく、発注日時変更処理は終了する。
【０１８９】
一方、コントローラ４５は、同時発注フラグが「ＯＦＦ」のカートリッジ２００ｂがあると判断すると（Ｓ１２１：Ｙｅｓ）、同時発注フラグが「ＯＦＦ」のカートリッジ２００ｂを対象に、ステップＳ１２２以降の処理を実行する。
【０１９０】
まず、コントローラ４５は、カートリッジ２００ａのインクエンプティ日時を取得する（Ｓ１２２）。例えば、コントローラ４５は、カートリッジ管理リストから１次関数を取得し、取得した１次関数からインクエンプティ日時を算出して取得する。または、ステップＳ１０５で決定されたインクエンプティ日時がカートリッジ管理リストの項目の１つとして記憶され、コントローラ４５は、カートリッジ管理リストからインクエンプティ日時を取得する。
【０１９１】
次に、コントローラ４５は、図１７に示されるように、インクエンプティ日時から安全期間だけ前の日を変更後の到着予定日時に決定する。安全期間は、メモリ４２に予め記憶される。安全期間は、カートリッジ２００の配達が遅延した場合における遅延の最大期間である。すなわち、カートリッジ２００の配達が最大限遅れたとしても、タンク１６０のインクが使い切られるインクエンプティ日時までには、カートリッジ２００がユーザに届く。安全期間は、第２所定期間の一例である。
【０１９２】
次に、コントローラ４５は、図１６（Ａ）に示されるように、変更後の到着予定日時における第２カートリッジの合計残量割合（以下、推定残量割合と記載）を算出する（Ｓ１２４）。具体的には、コントローラ４５は、図１７に示されるように、カートリッジ２００ｂの１次関数を用いて、変更後の到着予定日時における第２カートリッジの推定残量割合を算出する。
【０１９３】
コントローラ４５は、図１６（Ａ）に示されるように、算出した推定残量割合がエンプティ時残量割合未満か否かを判断する（Ｓ１２５）。すなわち、ステップＳ１２５では、変更後の到着予定日時において、カートリッジ２００ｂに収容されたインクが使い切られているか否かが判断される。図１７は、推定残量割合がエンプティ時残量割合未満である場合の例を示している。図１８は、推定残量割合がエンプティ時残量割合未満でない場合の例を示している。
【０１９４】
コントローラ４５は、図１６（Ａ）に示されるように、推定残量割合がエンプティ時残量割合未満でないと判断すると（Ｓ１２５：Ｎｏ）、発注日時変更処理を終了する。すなわち、変更後の到着予定日時において、カートリッジ２００ｂに収容されたインクが使い切られていないと予想される場合、カートリッジ２００ａの発注日時が変更されることなく、発注日時変更処理が終了する。
【０１９５】
一方、コントローラ４５は、推定残量割合がエンプティ時残量割合未満でないと判断すると（Ｓ１２５：Ｙｅｓ）、カートリッジ管理リストの同時発注フラグに「ＯＮ」を設定する（Ｓ１２６）。すなわち、カートリッジ２００ｂは、カートリッジ２００ａの発注と同時に発注するカートリッジ２００とされる。
【０１９６】
次に、コントローラ４５は、変更後の到着予定日時から、変更後の発注日時を決定する（Ｓ１２７）。具体的には、コントローラ４５は、図１７に示されるように、変更後の到着予定日時から配達期間（例えば３日）だけ前の日を変更後の発注日時に決定する。なお、変更後の発注日時は、カートリッジ２００ａのインクエンプティ日時から、安全期間と配達期間との合計の期間だけ前の日時である。
【０１９７】
コントローラ４５は、図１６のステップＳ１２７で決定した変更後の発注日時をカートリッジ２００ａの発注日時としてカートリッジ管理リストに記憶する（Ｓ１２８）。
【０１９８】
次に、コントローラ４５は、発注日時再変更処理を実行する（Ｓ１２９）。図１９に示されるように、カートリッジ２００ｂの１次関数の傾き等によっては、カートリッジ２００ｂのインクエンプティ日時の方が、カートリッジ２００ａのインクエンプティ日時よりも早くなることがある。そうすると、カートリッジ２００ａのインクエンプティ日時を基準に発注日時を決定すると、カートリッジ２００の配達が遅れた場合に、タンク１６０のインクが使い切られるまでにカートリッジ２００がユーザに届かないおそれが生じる。ステップＳ１２９の発注日時再変更処理は、タンク１６０のインクが使い切られるまでにカートリッジ２００がユーザに届くように、発注日時を再度変更する処理である。図１６（Ｂ）を参照して詳しく説明する。発注日時再変更処理は、変更処理の一例である。
【０１９９】
まず、コントローラ４５は、カートリッジ２００ａと同様にして、カートリッジ２００ｂのインクエンプティ日時を取得する（Ｓ１３１）。次に、コントローラ４５は、カートリッジ２００ｂのインクエンプティ日時がカートリッジ２００ａのインクエンプティ日時より前か否かを判断する（Ｓ１３２）。コントローラ４５は、カートリッジ２００ｂのインクエンプティ日時がカートリッジ２００ａのインクエンプティ日時より前でないと判断すると（Ｓ１３２：Ｎｏ）、発注日時再変更処理を終了する。すなわち、カートリッジ２００ｂのインクエンプティ日時がカートリッジ２００ａのインクエンプティ日時より後であると、発注日時は変更されない。
【０２００】
一方、コントローラ４５は、カートリッジ２００ｂのインクエンプティ日時がカートリッジ２００ａのインクエンプティ日時より前であると判断すると（Ｓ１３２：Ｙｅｓ）、再変更後の発注日時を決定する（Ｓ１３３）。具体的には、コントローラ４５は、図１９に示されるように、カートリッジ２００ｂのインクエンプティ日時から、配達期間と安全期間との合計の期間だけ前の日を、再変更後の発注日時に決定する。このように決定された再変更後の発注日時に発注されたカートリッジ２００は、例え最大限に配達が遅延したとしても、カートリッジ２００ｂに係るタンク１６０に収容されたインクが使い切られる前に、ユーザに届く。
【０２０１】
コントローラ４５は、ステップＳ１２３で決定した再変更後の発注日時を、カートリッジ管理リストにおけるカートリッジ２００ａのレコードの項目「発注日時」に記憶し（Ｓ１３４）、発注日時再変更処理を終了する。
【０２０２】
コントローラ４５は、実施形態と同様に、管理情報を取得する度に、図１０に示される発注処理を実行する。再度実行される発注処理においては、ステップＳ１０７（図１１（Ａ））で決定された発注日時が現在日時を過ぎていることが考えられる。すなわち、ステップＳ１２０（図１１（Ｂ））の発注日時変更処理（発注日時再変更処理を含む）で発注日時が遅らされた結果、新たな管理情報を取得して決定した発注日時が現在日時を過ぎる可能性がある。その場合、上述したフローチャートの処理によると、ステップＳ１２０の発注日時変更処理で発注日時を変更してカートリッジ２００ａ及びカートリッジ２００ｂをまとめて発注できると判断された場合は（図１６（Ａ）のＳ１２５：Ｙｅｓ）、発注日時が変更される。一方、ステップＳ１２０の発注日時変更処理で発注日時を変更してカートリッジ２００ａ及びカートリッジ２００ｂをまとめて発注できない場合は（Ｓ１２５：Ｎｏ）、発注日時は変更されず、すぐに発注指示が送信される（図１０のＳ９７：Ｙｅｓ、Ｓ９８：Ｎｏ、Ｓ９９ａ）。
【０２０３】
なお、コントローラ４５は、発注日時変更処理及び発注日時再変更処理を実行したことに応じて、メモリ４２に記憶される不図示のフラグに「ＯＮ」を設定してもよい。コントローラ４５は、当該フラグに「ＯＮ」が設定されていることに応じて、新たな管理情報を取得しても、ステップＳ９６ａの発注日時決定処理や、発注日時変更処理や、発注日時再変更処理を実行せず、現在日時が発注日時に到達したか否かを判断し（Ｓ９７）、発注指示を送信する（Ｓ９９ａ、Ｓ９９ｂ）。当該フラグは、発注指示が送信されたことに応じて、「ＯＦＦ」を設定される。すなわち、発注日時変更処理及び発注日時再変更処理が１度実行されると、発注指示が送信されるまで、発注日時は、再度変更されない。
【０２０４】
[第２実施形態の作用効果]
第２実施形態では、発注日時を遅らせることにより、実施形態の場合よりも多くのカートリッジ２００をまとめて発注することができる。
【０２０５】
また、第２実施形態では、変更後の発注日時は、カートリッジ２００ａに係るタンク１６０に収容されたインクが使い切られると予想されるインクエンプティ日時から、配達期間と安全期間との合計の期間だけ前の日とされる。したがって、新しいカートリッジ２００の配達が最大限遅延したとしても、タンク１６０に収容されたインクが使い切られる前に、新しいカートリッジ２００がユーザに届く。
【０２０６】
また、第２実施形態では、発注日時を遅らせても同時に発注できるカートリッジ２００の数が増えない場合、発注日時は変更されない。したがって、新しいカートリッジ２００は、発注日時が変更される場合よりも早くユーザに届くので、新しいカートリッジ２００が届いてからタンク１６０に収容されたインクが使い切られるまでの期間が、発注日時が変更される場合よりも長くなる。その結果、余裕をもってユーザにカートリッジ２００を交換させることができる。
【０２０７】
また、第２実施形態では、カートリッジ２００ｂのインクエンプティ日時の方が、カートリッジ２００ａのインクエンプティ日時よりも早い場合、早い方のカートリッジ２００ｂのインクエンプティ日時を基準に、発注日時が再度変更される。したがって、タンク１６０に収容されたインクが使い切られる前に、より確実に、新しいカートリッジ２００がユーザに届く。
【０２０８】
[変形例１]
上述の第１実施形態では、ＣＴＧエンプティ日時とインクエンプティ日時との中間の日時を到着予定日時に決定する例を説明した。本変形例では、到着予定日時を決定する他の例を、図２０（Ａ）を参照して説明する。
【０２０９】
コントローラ４５は、ステップＳ１０１（図１１（Ａ））で取得したエンプティ時残量割合に基づいて、判断の基準となる基準割合を決定する。例えば、コントローラ４５は、エンプティ時残量割合の半分の値を基準割合に決定する。コントローラ４５は、ステップＳ１０４（図１１（Ａ））で決定した１次関数に基づいて、合計残量割合が基準割合になる日時を到着予定日時に決定する。その後、コントローラ４５は、上述の実施形態と同様に、決定した到着予定日時をメモリ４２に記憶させるとともに、到着予定日時から配達期間だけ前の日時を発注日時に決定し、カートリッジ管理リスト（図１５）の項目「発注日時」に記憶する。なお、基準割合は、エンプティ時残量割合から、メモリ４２に記憶された所定値だけ小さい値に決定されてもよい。到着予定日時は、第１所定日の一例である。発注日時は、発注日の一例である。
【０２１０】
[変形例１の効果]
エンプティ時残量割合に基づいて到着予定日時を決定しても、カートリッジ２００にはインクが残っておらず、かつタンク１６０にはインクが残っている可能性が高い日時を到着予定日時に決定することができる。すなわち、カートリッジ２００にはインクが残っておらず、かつタンク１６０にはインクが残っている日に新しいカートリッジ２００が届くように、新しいカートリッジ２００の発注を行うことができる。
【０２１１】
[変形例２]  
上述の第１実施形態では、ＣＴＧエンプティ日時とインクエンプティ日時とを決定して、到着予定日時を推定する例を説明した。本変形例では、インクエンプティ日時を決定せずに到着予定日時を推定する例を、図２０（Ｂ）を参照して説明する。
【０２１２】
コントローラ４５は、ステップＳ１０４（図１１（Ａ））で決定した１次関数に基づいて、合計残量割合がエンプティ時残量割合になるＣＴＧエンプティ日時を決定する。コントローラ４５は、決定したＣＴＧエンプティ日時から、メモリ４２に記憶された安全期間（例えば２日間）だけ後の日時を到着予定日時に決定する。安全期間は、例えば、発注された新しいカートリッジ２００が到着予定日よりも早い日時に届けられる際の、早くなる期間の最大値に等しい期間として決められる。
【０２１３】
その後、コントローラ４５は、上述の実施形態と同様に、決定した到着予定日時をメモリ４２に記憶させるとともに、到着予定日時から配達期間だけ前の日時を発注日時に決定し、カートリッジ管理リスト（図１５）の項目「発注日時」に記憶する。
【０２１４】
[変形例２の効果]
安全期間は、発注された新しいカートリッジ２００が到着予定日よりも早い日時に届けられる際の、早くなる期間の最大値に等しい期間として決められるので、発注された新しいカートリッジ２００は、例え早くユーザに届けられたとしても、少なくともカートリッジ２００に収容されたインクが使い切られた後にユーザに届けられる。したがって、インクが残ったカートリッジ２００が新しいカートリッジ２００に交換されてインクが無駄になるおそれが低減する。
【０２１５】
[変形例３]
上述の第１実施形態では、発注日時を決定し、現在時刻が発注日時に到達すると、発注指示が情報収集サーバ４０から発送サーバ５０に送信される例を説明した。本変形例では、合計残量割合が発注残量（図２１（Ｂ））に到達すると、発注指示が情報収集サーバ４０から発送サーバ５０に送信される例を説明する。
【０２１６】
本変形例では、情報収集サーバ４０は、発注日時決定処理（図１０のＳ９６ａ）に代えて、図２１（Ａ）に示される発注条件決定処理を実行する。なお、以下で説明する処理以外の処理は、実施形態で説明した処理と同じである。また、発注日時決定処理と同一の処理については、実施形態と同一の符号を付して説明を省略する。
【０２１７】
情報収集サーバ４０のコントローラ４５は、実施形態で説明した発注日時決定処理と同様に、ステップＳ１０１からＳ１０４までの処理を実行する。次に、コントローラ４５は、ステップＳ１０４で決定した１次関数の傾きの絶対値に、メモリ４２に予め記憶された配達期間を乗じ、乗じて得た値にステップＳ１０２で取得したエンプティ時残量割合を加算して、発注残量割合を算出する（Ｓ１４１）。コントローラ４５は、算出した発注残量をメモリ４２に記憶し（Ｓ１４２）、発注条件決定処理を終了する。
【０２１８】
コントローラ４５は、発注日時決定処理の代わりに実行した発注条件決定処理の実行後、図１０に示される発注処理のステップＳ９７に代えて、受信した管理情報に含まれる合計残量割合がメモリ４２に記憶された発注残量割合以上か否かを判断する処理を実行する。
【０２１９】
コントローラ４５は、受信した管理情報に含まれる合計残量割合が発注残量割合以上であると判断すると、発注処理を終了する。一方、コントローラ４５は、受信した管理情報に含まれる合計残量割合が発注残量割合未満であると判断すると、実施形態と同様に、ステップＳ９８ａからＳ１００までの処理を実行し、発注処理を終了する。
【０２２０】
[変形例３の効果]
本変形例では、発注日時を特定することなく、発注指示を発送サーバ５０に送信することができる。
【０２２１】
[その他の変形例]
上述の第１実施形態では、送信時刻になると、管理情報がプリンタ１０から情報収集サーバ４０に送信される例を説明した。しかしながら、管理情報は、２４時間ごとや４８時間ごとなど、所定の時間間隔でプリンタ１０から情報収集サーバ４０に送信されてもよい。また、管理情報は、印刷が行われる度に、或いは、メンテナンスなども含めてインクがヘッド２１を通じて排出される度にプリンタ１０から情報収集サーバ４０に送信されてもよい。或いは、情報収集サーバ４０からプリンタ１０へ管理情報の送信を要求するリクエスト情報が送信されたことを条件に、プリンタ１０から情報収集サーバ４０に管理情報が送信されてもよい。プリンタ１０のコントローラ１３０は、ステップＳ６１に代えて、ＥＥＰＲＯＭ５１に記憶された所定の時間（２４時間や４８時間）が経過したか否かを判断する処理、或いは、情報収集サーバ４０からリクエスト情報が入力されたか否かを判断する処理を実行する。
【０２２２】
また、上述の第１実施形態では、情報収集サーバ４０がプリンタ１０から情報を収集して発注指示を送信する例を説明した。しかしながら、情報収集サーバ４０のコントローラ４５が実行する処理を、プリンタ１０のコントローラ１３０が実行してもよい。すなわち、プリンタ１０のコントローラ１３０は、決定した合計残量割合やカートリッジ残量割合やタンク残量割合に基づいて、１次関数や到着予定日時や発注日時を決定し、発注指示を送信する。その場合、プリンタ１０は、制御装置の一例である。ＩＣチップ３４のメモリ、ＲＯＭ３６、ＥＥＰＲＯＭ５１、及びＲＡＭ５２は、メモリの一例である。コントローラ１３０は、コントローラの一例である。
【０２２３】
また、上述の第１実施形態では、１００％未満になった最初のレコードと、最も新しいレコードとを用いて１次関数に決定する例を説明した。しかしながら、３つ以上のレコードから１次関数が決定されてもよい。３つ以上のレコードにおいて、例えば標準偏差が求められ、１次関数が決定される。
【０２２４】
また、上述の第１実施形態では、情報収集サーバ４０が管理情報を受信する度に発注日時が決定され、カートリッジ管理リストの項目「発注日時」が更新される例を説明した。しかしながら、情報収集サーバ４０のコントローラ４５は、発注日時を１度決定した後は、発注指示を送信するまでは、発注日時の決定を再度行わない構成が採用されてもよい。
【０２２５】
また、上述の第１実施形態では、プリンタ１０が合計残量割合を情報収集サーバ４０に送信する例を説明した。しかしならが、プリンタ１０は、合計残量値や、カートリッジ残量値や、タンク残量値を情報収集サーバ４０に送信してもよい。
【０２２６】
また、上述の第１実施形態では、算出した合計残量割合が１００％を超えると、合計残量割合が１００％に変更され、１００％以下の合計残量割合が情報収取サーバ４０に送信される例を説明した。しかしながら、プリンタ１０は、１００％を超える合計残量割合を情報収集サーバ４０に送信してもよい。
【０２２７】
また、上述の第１実施形態では、管理情報にＣ＿Ｅｍｐｔｙフラグが含まれ、管理情報に含まれるＣ＿Ｅｍｐｔｙフラグの値が「ＯＮ」であると、発注日時に到達したか否かが判断されることなく、発注指示が発送サーバ５０に送信される例を説明した。しかしながら、管理情報にＣ＿Ｅｍｐｔｙフラグが含まれておらず、現在日時が発注日時に到達したか否かのみによって発注指示を送信するか否かが判断されてもよい。
【０２２８】
また、上述の第１実施形態では、インクを印刷剤の一例として説明した。しかしながら、印刷剤はインクに限らず、トナーであってもよい。
【０２２９】
また、上述の第１実施形態では、水頭差によってカートリッジ２００からタンク１６０にインクが流出する例を説明した。しかしながら、重力によって、カートリッジ２００からタンクにインクが流出されてもよいし、ポンプなどの駆動源を用いてカートリッジ２００からタンク１６０にインクが流出されてもよい。駆動源を用いる場合、タンク１６０は、例えばヘッド２１に搭載される。
【０２３０】
また、上述の第１実施形態では、プリンタ１０と情報収集サーバ４０とがインターネットなどの通信回線６によって接続されている例を説明した。しかしながら、プリンタ１０と情報収集サーバ４０とは、ＬＡＮによって接続されていてもよい。
【０２３１】
また、上述の第１実施形態では、複数のプリンタ１０が通信回線６１に接続されている例を説明した。しかしながら、複数のカートリッジ２００を装着可能なカラープリンタである一乃至複数のプリンタ１０が通信回線６１に接続されていてもよいし、ブラックのカートリッジ２００を装着可能なモノクロプリンタである複数のプリンタ１０が通信回線６１に接続されていてもよい。
【符号の説明】
【０２３２】
１０・・・プリンタ
２１・・・ヘッド
３０・・・クロック
３１・・・通信Ｉ／Ｆ
３３・・・液面センサ
３６・・・メモリ
４０・・・情報収集サーバ
４２・・・メモリ
４３・・・通信Ｉ／Ｆ
４５・・・コントローラ
４７・・・プログラム
４８・・・クロック
５０・・・発注サーバ
１３０・・・コントローラ
１６０・・・タンク
１７１・・・液室
２００・・・カートリッジ
２１０・・・液室
【図１】
2019136972.tif 000003
【図２】
2019136972.tif 000004
【図３】
2019136972.tif 000005
【図４】
2019136972.tif 000006
【図５】
2019136972.tif 000007
【図６】
2019136972.tif 000008
【図７】
2019136972.tif 000009
【図８】
2019136972.tif 000010
【図９】
2019136972.tif 000011
【図１０】
2019136972.tif 000012
【図１１】
2019136972.tif 000013
【図１２】
2019136972.tif 000014
【図１３】
2019136972.tif 000015
【図１４】
2019136972.tif 000016
【図１５】
2019136972.tif 000017
【図１６】
2019136972.tif 000018
【図１７】
2019136972.tif 000019
【図１８】
2019136972.tif 000020
【図１９】
2019136972.tif 000021
【図２０】
2019136972.tif 000022
【図２１】
2019136972.tif 000023