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