(57)【要約】【課題】処理負荷の上昇を抑制しつつ、第１液室及び第２液室に貯留された液体の量を個別に把握することが可能な液体排出装置を提供する。【解決手段】コントローラは、第１信号を受信、又は、特定動作を開始することに基づいて、高さＨｃ、Ｈｓ及び流路抵抗Ｒｃ、Ｒｓ、Ｒｎに基づいて流出量Ｑｃを算出し、装置メモリから読み出した液体量Ｖｃから流出量Ｑｃを減じて新たな液体量Ｖｃを算出し、装置メモリから読み出した液体量Ｖｓに流出量Ｑｃを加えて新たな液体量Ｖｓを算出し、算出した液体量Ｖｓを装置メモリに記憶させ、算出した液体量Ｖｃを装置メモリ又はカートリッジメモリに記憶させる。【選択図】図７
2019177632.tif 000002
【特許請求の範囲】
【請求項１】
液体が貯留された第１液室、一端が上記第１液室と連通され且つ他端が外部と連通される第１流路、及び一端が上記第１液室と連通され且つ他端が外部と連通される第２流路を有するカートリッジが装着される装着ケースと、
第２液室を有するタンクであって、
一端が外部と連通され且つ他端が上記第２液室と連通される第３流路と、
上記第３流路よりも下方に位置する一端が上記第２液室と連通される第４流路と、
一端が上記第２液室に連通され且つ他端が外部と連通される第５流路と、
を有する上記タンクと、
上記第４流路の他端と連通されるヘッドと、
装置メモリと、
コントローラとを備え、
上記第１流路及び上記第３流路の少なくとも一方は、上記カートリッジが上記装着ケースに装着されたときに、上記第１液室及び上記第２液室を連通し、
上記コントローラは、
上記装着ケースに上記カートリッジが装着されたか否かを判定し、
上記カートリッジが装着されたと判定したことに基づいて、第１信号を受信したか否かを判定し、又は、特定動作を開始するか否かを判定し、
上記第１信号を受信したと判定したことに基づいて、又は、上記特定動作を開始すると判定したことに基づいて、
上記装着ケースに上記カートリッジが装着されたと判定してから上記第１信号を受信するまで、又は、上記特定動作を開始すると判定するまでの期間を第１期間Δｔ１として決定し、
上記装置メモリから、上記第２液室に貯留されている液体量Ｖｓ及び基準位置から上記第２液室の液面までの高さＨｓを読み出し、
上記カートリッジが備えるカートリッジメモリ又は上記装置メモリから、上記第１液室に貯留されている液体量Ｖｃ、上記基準位置から上記第１液室の液面までの高さＨｃ、上記第２流路の流路抵抗Ｒｃ、上記第５流路の流路抵抗Ｒｓ、及び上記第１流路及び上記第３流路の双方の抵抗又は一方の抵抗である流路抵抗Ｒｎを読み出し、
決定された上記第１期間Δｔ１の間に上記第１液室から上記第２液室へ流出する液体の流出量Ｑｃを、読み出された上記高さＨｃ、Ｈｓ、及び読み出された上記流路抵抗Ｒｃ、Ｒｓ、Ｒｎに基づいて決定し、
読み出された上記液体量Ｖｃと決定された上記流出量Ｑｃとに基づいて、上記第１期間Δｔ１が経過した後の上記液体量Ｖｃを決定し、
読み出された上記液体量Ｖｓと決定された上記流出量Ｑｃとに基づいて、上記第１期間Δｔ１が経過した後の上記液体量Ｖｓを決定し、
決定された上記液体量Ｖｓによって、上記装置メモリに記憶されている上記液体量Ｖｓを更新し、
決定された上記液体量Ｖｃによって、上記装置メモリ及び上記カートリッジメモリのうち少なくとも一方に記憶されている上記液体量Ｖｃを更新する液体排出装置。
【請求項２】
上記コントローラは、
決定された上記第１期間Δｔ１が経過した後の上記液体量Ｖｃ、Ｖｓを決定したことに基づいて、
決定された上記液体量Ｖｓに対応する上記高さＨｓを決定し且つ決定された上記高さＨｓにて上記装置メモリに記憶されている上記高さＨｓを更新し、
決定された上記液体量Ｖｃに対応する上記高さＨｃを決定し且つ決定された上記高さＨｃにて上記装置メモリ及び上記カートリッジが有するカートリッジメモリのうち少なくとも一方に記憶されている上記高さＨｃを更新し、
更新された上記高さＨｃ、Ｈｓの差が閾値高さ以上か否かを判定し、
更新された上記高さＨｃ、Ｈｓの差が上記閾値高さ以上だと判定し且つ上記第１信号を受信したと判定したことに基づいて、又は、
更新された上記高さＨｃ、Ｈｓの差が上記閾値高さ以上だと判定し且つ上記特定動作を開始すると判定したことに基づいて、
決定された上記第１期間Δｔ１が経過した後の上記液体量Ｖｃ、Ｖｓを決定してから上記第１信号を受信するまで、又は、上記特定動作を開始すると判定するまでの期間を第２期間Δｔ２として決定し、
上記装置メモリから、更新された上記液体量Ｖｓ及び更新された上記高さＨｓを読み出し、
上記装置メモリ又は上記カートリッジが備えるカートリッジメモリから、更新された上記液体量Ｖｃ及び更新された上記高さＨｃを読み出し、
決定された上記第２期間Δｔ２の間に上記第１液室から上記第２液室へ流出する液体の流出量Ｑｃを、更新された上記高さＨｃ、Ｈｓ、及び上記流路抵抗Ｒｃ、Ｒｓ、Ｒｎに基づいて決定し、
読み出された上記液体量Ｖｃと決定された上記流出量Ｑｃとに基づいて、上記第２期間Δｔ２が経過した後の上記液体量Ｖｃを決定し、
読み出された上記液体量Ｖｓと決定された上記流出量Ｑｃとに基づいて、上記第２期間Δｔ２が経過した後の上記液体量Ｖｓを決定し、
決定された上記液体量Ｖｓによって、上記装置メモリに記憶されている上記液体量Ｖｓを更新し、
決定された上記液体量Ｖｃによって、上記装置メモリ及び上記カートリッジメモリのうち少なくとも一方に記憶されている上記液体量Ｖｃを更新する
請求項１に記載の液体排出装置。
【請求項３】
上記コントローラは、更新された上記高さＨｃ、Ｈｓの差が上記閾値高さ未満だと判定したことに基づいて、上記流出量Ｑｃ及び上記液体量Ｖｃ、Ｖｓを決定し且つ決定した上記液体量Ｖｃ、Ｖｓを記憶させる処理を停止する
請求項２に記載の液体排出装置。
【請求項４】
上記コントローラは、上記装着ケースに上記カートリッジが装着されたと判定した後であって、上記第１信号を受信したと判定する前、且つ、上記特定動作を開始すると判定する前に、上記装着ケースに上記カートリッジが装着されたと判定してから第１所定時間が経過したと判定したことに基づいて、
上記装置メモリから、上記液体量Ｖｓを読み出し、
上記装置メモリ又は上記カートリッジが備えるカートリッジメモリから、上記液体量Ｖｃを読み出し、
読み出した上記液体量Ｖｃ、Ｖｓに基づいて、上記第１液室から上記第２液室への液体の流入が終了した状態にあるときの上記液体量Ｖｃ、Ｖｓを決定し、
決定された上記液体量Ｖｓによって、上記装置メモリに記憶されている上記液体量Ｖｓを更新し、
決定された上記液体量Ｖｃによって、上記装置メモリ及び上記カートリッジメモリのうち少なくとも一方に記憶されている上記液体量Ｖｃを更新する
請求項１から３のいずれかに記載の液体排出装置。
【請求項５】
液体が貯留された第１液室、一端が上記第１液室と連通され且つ他端が外部と連通される第１流路、及び一端が上記第１液室と連通され且つ他端が外部と連通される第２流路を有するカートリッジが装着される装着ケースと、
第２液室を有するタンクであって、
一端が外部と連通され且つ他端が上記第２液室と連通される第３流路と、
上記第３流路よりも下方に位置する一端が上記第２液室と連通される第４流路と、
一端が上記第２液室に連通され且つ他端が外部と連通される第５流路と、
を有する上記タンクと、
上記第４流路の他端と連通されるヘッドと、
装置メモリと、
コントローラとを備え、
上記第１流路及び上記第３流路の少なくとも一方は、上記カートリッジが上記装着ケースに装着されたときに、上記第１液室及び上記第２液室を連通し、
上記コントローラは、
液体を排出する排出指示を受け付け、
上記排出指示に従って上記ヘッドに液体を排出させ、
上記排出指示に示される液体の排出量Ｄｈを決定し、
上記ヘッドを通じた液体の排出中の排出期間Δｔｈの間に上記第４流路から上記ヘッドに向けて流出する液体の流出量Ｑａを、決定した上記排出量Ｄｈに基づいて決定し、
上記装置メモリから、上記第２液室に貯留されている液体量Ｖｓ及び基準位置から上記第２液室の液面までの高さＨｓを読み出し、
上記カートリッジが備えるカートリッジメモリ又は上記装置メモリから、上記第１液室に貯留されている液体量Ｖｃ、上記基準位置から上記第１液室の液面までの高さＨｃ、上記第２流路の流路抵抗Ｒｃ、上記第５流路の流路抵抗Ｒｓ、及び上記第１流路及び上記第３流路の双方の抵抗又は一方の抵抗である流路抵抗Ｒｎを読み出し、
上記排出期間Δｔｈの間に上記第１液室から上記第２液室へ流出する液体の上記流出量Ｑｃを、読み出された上記高さＨｃ、Ｈｓ、決定された上記流出量Ｑａ、及び上記流路抵抗Ｒｃ、Ｒｓ、Ｒｎに基づいて決定し、
読み出された上記液体量Ｖｃと決定された上記流出量Ｑｃとに基づいて、上記排出期間Δｔｈが経過した後の上記液体量Ｖｃを決定し、
読み出された上記液体量Ｖｓ、決定された上記流出量Ｑｃ及び決定された上記流出量Ｑａに基づいて、上記排出期間Δｔｈが経過した後の上記液体量Ｖｓを決定し、
決定された上記液体量Ｖｓによって、上記装置メモリに記憶されている上記液体量Ｖｓを更新し、
決定された上記液体量Ｖｃによって、上記装置メモリ及び上記カートリッジメモリのうち少なくとも一方に記憶されている上記液体量Ｖｃを更新し、
決定された上記液体量Ｖｓに対応する上記高さＨｓを決定し且つ決定された上記高さＨｓにて上記装置メモリに記憶されている上記高さＨｓを更新し、決定された上記液体量Ｖｃに対応する上記高さＨｃを決定し且つ決定された上記高さＨｃにて上記装置メモリ及び上記カートリッジが有するカートリッジメモリのうち少なくとも一方に記憶されている上記高さＨｃを更新し、
更新された上記高さＨｃ、Ｈｓの差が閾値高さ以上か否かを判定し、
更新された上記高さＨｃ、Ｈｓの差が上記閾値高さ以上だと判定し且つ上記第１信号を受信したと判定したことに基づいて、又は、
更新された上記高さＨｃ、Ｈｓの差が上記閾値高さ以上だと判定し且つ上記特定動作を開始すると判定したことに基づいて、
決定された上記排出期間Δｔｈが経過した後の上記液体量Ｖｃ、Ｖｓを決定してから上記第１信号を受信するまで、又は、上記特定動作を開始すると判定するまでの期間を排出後第１期間Δｔｈ１として決定し、
上記装置メモリから、更新された上記液体量Ｖｓ及び更新された上記高さＨｓを読み出し、
上記装置メモリ又は上記カートリッジが備えるカートリッジメモリから、更新された上記液体量Ｖｃ及び更新された上記高さＨｃを読み出し、
決定された上記排出後第１期間Δｔｈ１の間に上記第１液室から上記第２液室へ流出する液体の流出量Ｑｃを、更新された上記高さＨｃ、Ｈｓ、及び上記流路抵抗Ｒｃ、Ｒｓ、Ｒｎに基づいて決定し、
読み出された上記液体量Ｖｃと決定された上記流出量Ｑｃとに基づいて、上記排出後第１期間Δｔｈ１が経過した後の上記液体量Ｖｃを決定し、
読み出された上記液体量Ｖｓと決定された上記流出量Ｑｃとに基づいて、上記排出後第１期間Δｔｈ１が経過した後の上記液体量Ｖｓを決定し、
決定された上記液体量Ｖｓによって、上記装置メモリに記憶されている上記液体量Ｖｓを更新し、
決定された上記液体量Ｖｃによって、上記装置メモリ及び上記カートリッジメモリのうち少なくとも一方に記憶されている上記液体量Ｖｃを更新する液体排出装置。
【請求項６】
上記コントローラは、
決定された上記排出後第１期間Δｔｈ１が経過した後の上記液体量Ｖｃ、Ｖｓを決定したことに基づいて、決定された上記液体量Ｖｓに対応する上記高さＨｓを決定し且つ決定された上記高さＨｓにて上記装置メモリに記憶されている上記高さＨｓを更新し、決定された上記液体量Ｖｃに対応する上記高さＨｃを決定し且つ決定された上記高さＨｃにて上記装置メモリ及び上記カートリッジが有するカートリッジメモリのうち少なくとも一方に記憶されている上記高さＨｃを更新し、
更新された上記高さＨｃ、Ｈｓの差が閾値高さ以上か否かを判定し、
更新された上記高さＨｃ、Ｈｓの差が上記閾値高さ以上だと判定し且つ上記第１信号を受信したと判定したことに基づいて、又は、
更新された上記高さＨｃ、Ｈｓの差が上記閾値高さ以上だと判定し且つ上記特定動作を開始すると判定したことに基づいて、
決定された上記排出後第１期間Δｔｈ１が経過した後の上記液体量Ｖｃ、Ｖｓを決定してから上記第１信号を受信するまで、又は、上記特定動作を開始すると判定するまでの期間を排出後第２期間Δｔｈ２として決定し、
上記装置メモリから、更新された上記液体量Ｖｓ及び更新された上記高さＨｓを読み出し、
上記装置メモリ又は上記カートリッジが備えるカートリッジメモリから、更新された上記液体量Ｖｃ及び更新された上記高さＨｃを読み出し、
決定された上記排出後第２期間Δｔｈ２の間に上記第１液室から上記第２液室へ流出する液体の流出量Ｑｃを、更新された上記高さＨｃ、Ｈｓ、及び上記流路抵抗Ｒｃ、Ｒｓ、Ｒｎに基づいて決定し、
読み出された上記液体量Ｖｃと決定された上記流出量Ｑｃとに基づいて、上記排出後第２期間Δｔｈ２が経過した後の上記液体量Ｖｃを決定し、
読み出された上記液体量Ｖｓと決定された上記流出量Ｑｃとに基づいて、上記排出後第２期間Δｔｈ２が経過した後の上記液体量Ｖｓを決定し、
決定された上記液体量Ｖｓによって、上記装置メモリに記憶されている上記液体量Ｖｓを更新し、
決定された上記液体量Ｖｃによって、上記装置メモリ及び上記カートリッジメモリのうち少なくとも一方に記憶されている上記液体量Ｖｃを更新する
請求項５に記載の液体排出装置。
【請求項７】
上記コントローラは、更新された上記高さＨｃ、Ｈｓの差が上記閾値高さ未満だと判定したことに基づいて、上記流出量Ｑｃ及び上記液体量Ｖｃ、Ｖｓを決定し且つ決定した上記液体量Ｖｃ、Ｖｓを記憶させる処理を停止する
請求項６に記載の液体排出装置。
【請求項８】
上記コントローラは、上記排出指示に従って上記ヘッドに液体を排出させた後であって、上記第１信号を受信したと判定する前、且つ、上記特定動作を開始すると判定する前に、上記排出指示に従って上記ヘッドに液体を排出させてから第２所定時間が経過したと判定したことに基づいて、
上記装置メモリから、上記液体量Ｖｓを読み出し、
上記装置メモリ又は上記カートリッジが備えるカートリッジメモリから、上記液体量Ｖｃを読み出し、
読み出した上記液体量Ｖｃ、Ｖｓに基づいて、上記第１液室から上記第２液室への液体の流入が終了した状態にあるときの上記液体量Ｖｃ、Ｖｓを決定し、
決定された上記液体量Ｖｓによって、上記装置メモリに記憶されている上記液体量Ｖｓを更新し、
決定された上記液体量Ｖｃによって、上記装置メモリ及び上記カートリッジメモリのうち少なくとも一方に記憶されている上記液体量Ｖｃを更新する
請求項５から７のいずれかに記載の液体排出装置。
【請求項９】
上記コントローラは、
上記装着ケースの開口を開閉するカバーが開かれたこと、又は、閉じられたことに基づいてカバーセンサが出力する第１信号を受信、又は、
上記装着ケースに上記カートリッジが装着されたこと、又は、上記カートリッジが取り外されたことに基づいて装着センサが出力する第１信号を受信、又は、
給送トレイが装着されたこと、又は、取り外されたことに基づいてトレイセンサが出力する第１信号を受信、又は、
ユーザからの操作を受け付けたことに基づいてユーザインタフェースが出力する第１信号を受信、又は、
上記ヘッドから液体を排出する指示を通信インタフェースを通じて外部装置から受信したことに基づいて上記通信インタフェースが出力する第１信号を受信、
するように構成されている
請求項１から８のいずれかに記載の液体排出装置。
【請求項１０】
上記コントローラは、
上記特定動作として、上記ヘッドからの液体の排出を開始する、又は、スリープ状態への移行を開始するように構成されている
請求項１から９のいずれかに記載の液体排出装置。
【請求項１１】
インタフェースを更に有し、
上記コントローラは、
上記液体量Ｖｃを決定したことに基づいて、決定した上記液体量Ｖｃを上記インタフェースを通じて上記カートリッジが有するカートリッジメモリに記憶させる
請求項１から１０のいずれかに記載の液体排出装置。
【請求項１２】
ディスプレイを更に有し、
上記コントローラは、
決定した上記液体量Ｖｃ、Ｖｓ、又は上記液体量Ｖｃと上記液体量Ｖｓとの和を示す情報を上記ディスプレイに表示させる
請求項１から１１のいずれかに記載の液体排出装置。
【請求項１３】
報知器を更に有し、
上記コントローラは、
決定した上記液体量Ｖｓが閾値量未満になったことに基づいて、上記報知器を作動させる
請求項１から１２のいずれかに記載の液体排出装置。
【請求項１４】
上記コントローラは、
決定した上記液体量Ｖｓが閾値量未満になったことに基づいて、上記ヘッドを通じた液体の排出を禁止する
請求項１から１３のいずれかに記載の液体排出装置。
【請求項１５】
液体が貯留された第１液室、一端が上記第１液室と連通され且つ他端が外部と連通される第１流路、及び一端が上記第１液室と連通され且つ他端が外部と連通される第２流路を有するカートリッジと、
上記カートリッジが装着される装着ケースと、
第２液室を有するタンクであって、
一端が外部と連通され且つ他端が上記第２液室と連通される第３流路と、
上記第３流路よりも下方に位置する一端が上記第２液室と連通される第４流路と、
一端が上記第２液室に連通され且つ他端が外部と連通される第５流路と、
を有する上記タンクと、
上記第４流路の他端と連通されるヘッドと、
装置メモリと、
コントローラとを備え、
上記第１流路及び上記第３流路の少なくとも一方は、上記カートリッジが上記装着ケースに装着されたときに、上記第１液室及び上記第２液室を連通し、
上記コントローラは、
上記装着ケースに上記カートリッジが装着されたか否かを判定し、
上記カートリッジが装着されたと判定したことに基づいて、第１信号を受信したか否かを判定し、又は、特定動作を開始するか否かを判定し、
上記第１信号を受信したと判定したことに基づいて、又は、上記特定動作を開始すると判定したことに基づいて、
上記装着ケースに上記カートリッジが装着されたと判定してから上記第１信号を受信するまで、又は、上記特定動作を開始すると判定するまでの期間を第１期間Δｔ１として決定し、
上記装置メモリから、上記第２液室に貯留されている液体量Ｖｓ及び基準位置から上記第２液室の液面までの高さＨｓを読み出し、
上記カートリッジが備えるカートリッジメモリ又は上記装置メモリから、上記第１液室に貯留されている液体量Ｖｃ、上記基準位置から上記第１液室の液面までの高さＨｃ、上記第２流路の流路抵抗Ｒｃ、上記第５流路の流路抵抗Ｒｓ、及び上記第１流路及び上記第３流路の双方の抵抗又は一方の抵抗である流路抵抗Ｒｎを読み出し、
決定された上記第１期間Δｔ１の間に上記第１液室から上記第２液室へ流出する液体の流出量Ｑｃを、読み出された上記高さＨｃ、Ｈｓ、及び読み出された上記流路抵抗Ｒｃ、Ｒｓ、Ｒｎに基づいて決定し、
読み出された上記液体量Ｖｃと決定された上記流出量Ｑｃとに基づいて、上記第１期間Δｔ１が経過した後の上記液体量Ｖｃを決定し、
読み出された上記液体量Ｖｓと決定された上記流出量Ｑｃとに基づいて、上記第１期間Δｔ１が経過した後の上記液体量Ｖｓを決定し、
決定された上記液体量Ｖｓによって、上記装置メモリに記憶されている上記液体量Ｖｓを更新し、
決定された上記液体量Ｖｃによって、上記装置メモリ及び上記カートリッジメモリのうち少なくとも一方に記憶されている上記液体量Ｖｃを更新する液体排出装置。
【請求項１６】
液体が貯留された第１液室、一端が上記第１液室と連通され且つ他端が外部と連通される第１流路、及び一端が上記第１液室と連通され且つ他端が外部と連通される第２流路を有するカートリッジと、
上記カートリッジが装着される装着ケースと、
第２液室を有するタンクであって、
一端が外部と連通され且つ他端が上記第２液室と連通される第３流路と、
上記第３流路よりも下方に位置する一端が上記第２液室と連通される第４流路と、
一端が上記第２液室に連通され且つ他端が外部と連通される第５流路と、
を有する上記タンクと、
上記第４流路の他端と連通されるヘッドと、
装置メモリと、
コントローラとを備え、
上記第１流路及び上記第３流路の少なくとも一方は、上記カートリッジが上記装着ケースに装着されたときに、上記第１液室及び上記第２液室を連通し、
上記コントローラは、
液体を排出する排出指示を受け付け、
上記排出指示に従って上記ヘッドに液体を排出させ、
上記排出指示に示される液体の排出量Ｄｈを決定し、
上記ヘッドを通じた液体の排出中の排出期間Δｔｈの間に上記第４流路から上記ヘッドに向けて流出する液体の流出量Ｑａを、決定した上記排出量Ｄｈに基づいて決定し、
上記装置メモリから、上記第２液室に貯留されている液体量Ｖｓ及び基準位置から上記第２液室の液面までの高さＨｓを読み出し、
上記カートリッジが備えるカートリッジメモリ又は上記装置メモリから、上記第１液室に貯留されている液体量Ｖｃ、上記基準位置から上記第１液室の液面までの高さＨｃ、上記第２流路の流路抵抗Ｒｃ、上記第５流路の流路抵抗Ｒｓ、及び上記第１流路及び上記第３流路の双方の抵抗又は一方の抵抗である流路抵抗Ｒｎを読み出し、
上記排出期間Δｔｈの間に上記第１液室から上記第２液室へ流出する液体の上記流出量Ｑｃを、読み出された上記高さＨｃ、Ｈｓ、決定された上記流出量Ｑａ、及び上記流路抵抗Ｒｃ、Ｒｓ、Ｒｎに基づいて決定し、
読み出された上記液体量Ｖｃと決定された上記流出量Ｑｃとに基づいて、上記排出期間Δｔｈが経過した後の上記液体量Ｖｃを決定し、
読み出された上記液体量Ｖｓ、決定された上記流出量Ｑｃ及び決定された上記流出量Ｑａに基づいて、上記排出期間Δｔｈが経過した後の上記液体量Ｖｓを決定し、
決定された上記液体量Ｖｓによって、上記装置メモリに記憶されている上記液体量Ｖｓを更新し、
決定された上記液体量Ｖｃによって、上記装置メモリ及び上記カートリッジメモリのうち少なくとも一方に記憶されている上記液体量Ｖｃを更新し、
決定された上記液体量Ｖｓに対応する上記高さＨｓを決定し且つ決定された上記高さＨｓにて上記装置メモリに記憶されている上記高さＨｓを更新し、決定された上記液体量Ｖｃに対応する上記高さＨｃを決定し且つ決定された上記高さＨｃにて上記装置メモリ及び上記カートリッジが有するカートリッジメモリのうち少なくとも一方に記憶されている上記高さＨｃを更新し、
更新された上記高さＨｃ、Ｈｓの差が閾値高さ以上か否かを判定し、
更新された上記高さＨｃ、Ｈｓの差が上記閾値高さ以上だと判定し且つ上記第１信号を受信したと判定したことに基づいて、又は、
更新された上記高さＨｃ、Ｈｓの差が上記閾値高さ以上だと判定し且つ上記特定動作を開始すると判定したことに基づいて、
決定された上記排出期間Δｔｈが経過した後の上記液体量Ｖｃ、Ｖｓを決定してから上記第１信号を受信するまで、又は、上記特定動作を開始すると判定するまでの期間を排出後第１期間Δｔｈ１として決定し、
上記装置メモリから、更新された上記液体量Ｖｓ及び更新された上記高さＨｓを読み出し、
上記装置メモリ又は上記カートリッジが備えるカートリッジメモリから、更新された上記液体量Ｖｃ及び更新された上記高さＨｃを読み出し、
決定された上記排出後第１期間Δｔｈ１の間に上記第１液室から上記第２液室へ流出する液体の流出量Ｑｃを、更新された上記高さＨｃ、Ｈｓ、及び上記流路抵抗Ｒｃ、Ｒｓ、Ｒｎに基づいて決定し、
読み出された上記液体量Ｖｃと決定された上記流出量Ｑｃとに基づいて、上記排出後第１期間Δｔｈ１が経過した後の上記液体量Ｖｃを決定し、
読み出された上記液体量Ｖｓと決定された上記流出量Ｑｃとに基づいて、上記排出後第１期間Δｔｈ１が経過した後の上記液体量Ｖｓを決定し、
決定された上記液体量Ｖｓによって、上記装置メモリに記憶されている上記液体量Ｖｓを更新し、
決定された上記液体量Ｖｃによって、上記装置メモリ及び上記カートリッジメモリのうち少なくとも一方に記憶されている上記液体量Ｖｃを更新する液体排出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、液体を排出する液体排出装置に関する。
【背景技術】
【０００２】
従来より、着脱可能なメインタンクと、装着されたメインタンクから供給されたインクを貯留するサブタンクと、サブタンクに貯留されたインクを吐出して画像を記録する画像記録ユニットとを備えるインクジェットプリンタが知られている（例えば、特許文献１）。また、メインタンク及びサブタンクの内部空間は、大気に開放されている。そのため、メインタンクをインクジェットプリンタに装着すると、メインタンクの内部空間の水頭及びサブタンクの内部空間の水頭の差（以下、「水頭差」と表記する。）によって、メインタンク及びサブタンクの液面が同一高さに揃うようにインクが移動する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２１３１６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
画像記録ユニットがインクを吐出すると、メインタンク及びサブタンクがそれぞれ貯留する液量が変化する。例えば、カートリッジが貯留するインク量がゼロ付近になれば、カートリッジの交換が必要であることをユーザに知らせることが望ましい。他方、サブタンクが貯留するインク量がゼロ付近になれば、サブタンクから画像記録ユニットへ空気が進入しないように、ユーザに知らせたり、画像記録を禁止したりすることが望ましい。したがって、メインタンク及びサブタンクのそれぞれのインク量は、把握されることが望ましい。ここで、インク量の把握のため、メインタンクからサブタンクへインクが流入する間、所定時間毎にメインタンク及びサブタンクのインク量を計算する手法が考えられる。しかしこの手法には、プリンタで行われる処理の負荷が高くなるという問題がある。
【０００５】
本発明は、上記の事情に鑑みてなされたものであり、その目的は、処理負荷の上昇を抑制しつつ、第１液室及び第２液室に貯留された液体の量を個別に把握することが可能な液体排出装置を提供することにある。
【課題を解決するための手段】
【０００６】
(1)  本発明に係る液体排出装置は、液体が貯留された第１液室、一端が上記第１液室と連通され且つ他端が外部と連通される第１流路、及び一端が上記第１液室と連通され且つ他端が外部と連通される第２流路を有するカートリッジが装着される装着ケースと、第２液室を有するタンクであって、一端が外部と連通され且つ他端が上記第２液室と連通される第３流路と、上記第３流路よりも下方に位置する一端が上記第２液室と連通される第４流路と、一端が上記第２液室に連通され且つ他端が外部と連通される第５流路と、を有する上記タンクと、上記第４流路の他端と連通されるヘッドと、装置メモリと、コントローラとを備える。上記第１流路及び上記第３流路の少なくとも一方は、上記カートリッジが上記装着ケースに装着されたときに、上記第１液室及び上記第２液室を連通する。上記コントローラは、上記装着ケースに上記カートリッジが装着されたか否かを判定し、上記カートリッジが装着されたと判定したことに基づいて、第１信号を受信したか否かを判定し、又は、特定動作を開始するか否かを判定し、上記第１信号を受信したと判定したことに基づいて、又は、上記特定動作を開始すると判定したことに基づいて、上記装着ケースに上記カートリッジが装着されたと判定してから上記第１信号を受信するまで、又は、上記特定動作を開始すると判定するまでの期間を第１期間Δｔ１として決定し、上記装置メモリから、上記第２液室に貯留されている液体量Ｖｓ及び基準位置から上記第２液室の液面までの高さＨｓを読み出し、上記カートリッジが備えるカートリッジメモリ又は上記装置メモリから、上記第１液室に貯留されている液体量Ｖｃ、上記基準位置から上記第１液室の液面までの高さＨｃ、上記第２流路の流路抵抗Ｒｃ、上記第５流路の流路抵抗Ｒｓ、及び上記第１流路及び上記第３流路の双方の抵抗又は一方の抵抗である流路抵抗Ｒｎを読み出し、決定された上記第１期間Δｔ１の間に上記第１液室から上記第２液室へ流出する液体の流出量Ｑｃを、読み出された上記高さＨｃ、Ｈｓ、及び読み出された上記流路抵抗Ｒｃ、Ｒｓ、Ｒｎに基づいて決定し、読み出された上記液体量Ｖｃと決定された上記流出量Ｑｃとに基づいて、上記第１期間Δｔ１が経過した後の上記液体量Ｖｃを決定し、読み出された上記液体量Ｖｓと決定された上記流出量Ｑｃとに基づいて、上記第１期間Δｔ１が経過した後の上記液体量Ｖｓを決定し、決定された上記液体量Ｖｓによって、上記装置メモリに記憶されている上記液体量Ｖｓを更新し、決定された上記液体量Ｖｃによって、上記装置メモリ及び上記カートリッジメモリのうち少なくとも一方に記憶されている上記液体量Ｖｃを更新する。
【０００７】
上記構成によれば、カートリッジが装着された後、第１信号を受信又は特定動作を開始することに基づいて、液体量Ｖｃ、Ｖｓが決定される。第１信号は例えば、各種センサやユーザインタフェースからの信号である。特定動作は例えば、液体排出装置が自動的に実行する動作である。すなわち、ユーザから何らかの操作を受け付けたり、液体排出装置が動作したりするときに、液体量Ｖｃ、Ｖｓの決定が行われる。これにより、処理負荷の上昇を抑制しつつ、第１液室及び第２液室に貯留された液体の量を個別に把握することができる。
【０００８】
(2)  好ましくは、上記コントローラは、決定された上記第１期間Δｔ１が経過した後の上記液体量Ｖｃ、Ｖｓを決定したことに基づいて、決定された上記液体量Ｖｓに対応する上記高さＨｓを決定し且つ決定された上記高さＨｓにて上記装置メモリに記憶されている上記高さＨｓを更新し、決定された上記液体量Ｖｃに対応する上記高さＨｃを決定し且つ決定された上記高さＨｃにて上記装置メモリ及び上記カートリッジが有するカートリッジメモリのうち少なくとも一方に記憶されている上記高さＨｃを更新し、更新された上記高さＨｃ、Ｈｓの差が閾値高さ以上か否かを判定し、更新された上記高さＨｃ、Ｈｓの差が上記閾値高さ以上だと判定し且つ上記第１信号を受信したと判定したことに基づいて、又は、更新された上記高さＨｃ、Ｈｓの差が上記閾値高さ以上だと判定し且つ上記特定動作を開始すると判定したことに基づいて、決定された上記第１期間Δｔ１が経過した後の上記液体量Ｖｃ、Ｖｓを決定してから上記第１信号を受信するまで、又は、上記特定動作を開始すると判定するまでの期間を第２期間Δｔ２として決定し、上記装置メモリから、更新された上記液体量Ｖｓ及び更新された上記高さＨｓを読み出し、上記装置メモリ又は上記カートリッジが備えるカートリッジメモリから、更新された上記液体量Ｖｃ及び更新された上記高さＨｃを読み出し、決定された上記第２期間Δｔ２の間に上記第１液室から上記第２液室へ流出する液体の流出量Ｑｃを、更新された上記高さＨｃ、Ｈｓ、及び上記流路抵抗Ｒｃ、Ｒｓ、Ｒｎに基づいて決定し、読み出された上記液体量Ｖｃと決定された上記流出量Ｑｃとに基づいて、上記第２期間Δｔ２が経過した後の上記液体量Ｖｃを決定し、読み出された上記液体量Ｖｓと決定された上記流出量Ｑｃとに基づいて、上記第２期間Δｔ２が経過した後の上記液体量Ｖｓを決定し、決定された上記液体量Ｖｓによって、上記装置メモリに記憶されている上記液体量Ｖｓを更新し、決定された上記液体量Ｖｃによって、上記装置メモリ及び上記カートリッジメモリのうち少なくとも一方に記憶されている上記液体量Ｖｃを更新する。
【０００９】
上記構成によれば、液体量Ｖｃ、Ｖｓが決定された後、第１信号を受信又は特定動作を開始することに基づいて、再び、液体量Ｖｃ、Ｖｓが決定される。これにより、処理負荷の上昇を抑制しつつ、第１液室及び第２液室の液体量を継続的に把握することができる。
【００１０】
(3)  好ましくは、上記コントローラは、更新された上記高さＨｃ、Ｈｓの差が上記閾値高さ未満だと判定したことに基づいて、上記流出量Ｑｃ及び上記液体量Ｖｃ、Ｖｓを決定し且つ決定した上記液体量Ｖｃ、Ｖｓを記憶させる処理を停止する。
【００１１】
(4)  好ましくは、上記コントローラは、上記装着ケースに上記カートリッジが装着されたと判定した後であって、上記第１信号を受信したと判定する前、且つ、上記特定動作を開始すると判定する前に、上記装着ケースに上記カートリッジが装着されたと判定してから第１所定時間が経過したと判定したことに基づいて、上記装置メモリから、上記液体量Ｖｓを読み出し、上記装置メモリ又は上記カートリッジが備えるカートリッジメモリから、上記液体量Ｖｃを読み出し、読み出した上記液体量Ｖｃ、Ｖｓに基づいて、上記第１液室から上記第２液室への液体の流入が終了した状態にあるときの上記液体量Ｖｃ、Ｖｓを決定し、決定された上記液体量Ｖｓによって、上記装置メモリに記憶されている上記液体量Ｖｓを更新し、決定された上記液体量Ｖｃによって、上記装置メモリ及び上記カートリッジメモリのうち少なくとも一方に記憶されている上記液体量Ｖｃを更新する。
【００１２】
カートリッジが装着されてからある程度の時間が経過すると、カートリッジからタンクへの液体の流入が終了する。上記構成によれば、カートリッジが装着されてから所定時間が経過したときに、第１信号を受信又は特定動作を開始すると判定していないことに基づいて、第１液室から第２液室への液体の流入が終了した状態にあるときの液体量Ｖｃ、Ｖｓが決定されメモリに記憶される。従って、所定時間が経過するとユーザからの操作や装置動作が無くとも、液体量Ｖｃ、Ｖｓが、カートリッジからタンクへの液体の流入が終了した状態の量へ決定され、メモリに記憶される。これにより、処理負荷の上昇を抑制しつつ、第１液室及び第２液室の液体量を、より適切な値に更新することができる。
【００１３】
(5)  本発明に係る液体排出装置は、液体が貯留された第１液室、一端が上記第１液室と連通され且つ他端が外部と連通される第１流路、及び一端が上記第１液室と連通され且つ他端が外部と連通される第２流路を有するカートリッジが装着される装着ケースと、第２液室を有するタンクであって、一端が外部と連通され且つ他端が上記第２液室と連通される第３流路と、上記第３流路よりも下方に位置する一端が上記第２液室と連通される第４流路と、一端が上記第２液室に連通され且つ他端が外部と連通される第５流路と、を有する上記タンクと、上記第４流路の他端と連通されるヘッドと、装置メモリと、コントローラとを備る。上記第１流路及び上記第３流路の少なくとも一方は、上記カートリッジが上記装着ケースに装着されたときに、上記第１液室及び上記第２液室を連通する。上記コントローラは、液体を排出する排出指示を受け付け、上記排出指示に従って上記ヘッドに液体を排出させ、上記排出指示に示される液体の排出量Ｄｈを決定し、上記ヘッドを通じた液体の排出中の排出期間Δｔｈの間に上記第４流路から上記ヘッドに向けて流出する液体の流出量Ｑａを、決定した上記排出量Ｄｈに基づいて決定し、上記装置メモリから、上記第２液室に貯留されている液体量Ｖｓ及び基準位置から上記第２液室の液面までの高さＨｓを読み出し、上記カートリッジが備えるカートリッジメモリ又は上記装置メモリから、上記第１液室に貯留されている液体量Ｖｃ、上記基準位置から上記第１液室の液面までの高さＨｃ、上記第２流路の流路抵抗Ｒｃ、上記第５流路の流路抵抗Ｒｓ、及び上記第１流路及び上記第３流路の双方の抵抗又は一方の抵抗である流路抵抗Ｒｎを読み出し、上記排出期間Δｔｈの間に上記第１液室から上記第２液室へ流出する液体の上記流出量Ｑｃを、読み出された上記高さＨｃ、Ｈｓ、決定された上記流出量Ｑａ、及び上記流路抵抗Ｒｃ、Ｒｓ、Ｒｎに基づいて決定し、読み出された上記液体量Ｖｃと決定された上記流出量Ｑｃとに基づいて、上記排出期間Δｔｈが経過した後の上記液体量Ｖｃを決定し、読み出された上記液体量Ｖｓ、決定された上記流出量Ｑｃ及び決定された上記流出量Ｑａに基づいて、上記排出期間Δｔｈが経過した後の上記液体量Ｖｓを決定し、決定された上記液体量Ｖｓによって、上記装置メモリに記憶されている上記液体量Ｖｓを更新し、決定された上記液体量Ｖｃによって、上記装置メモリ及び上記カートリッジメモリのうち少なくとも一方に記憶されている上記液体量Ｖｃを更新し、決定された上記液体量Ｖｓに対応する上記高さＨｓを決定し且つ決定された上記高さＨｓにて上記装置メモリに記憶されている上記高さＨｓを更新し、決定された上記液体量Ｖｃに対応する上記高さＨｃを決定し且つ決定された上記高さＨｃにて上記装置メモリ及び上記カートリッジが有するカートリッジメモリのうち少なくとも一方に記憶されている上記高さＨｃを更新し、更新された上記高さＨｃ、Ｈｓの差が閾値高さ以上か否かを判定し、更新された上記高さＨｃ、Ｈｓの差が上記閾値高さ以上だと判定し且つ上記第１信号を受信したと判定したことに基づいて、又は、更新された上記高さＨｃ、Ｈｓの差が上記閾値高さ以上だと判定し且つ上記特定動作を開始すると判定した��とに基づいて、決定された上記排出期間Δｔｈが経過した後の上記液体量Ｖｃ、Ｖｓを決定してから上記第１信号を受信するまで、又は、上記特定動作を開始すると判定するまでの期間を排出後第１期間Δｔｈ１として決定し、上記装置メモリから、更新された上記液体量Ｖｓ及び更新された上記高さＨｓを読み出し、上記装置メモリ又は上記カートリッジが備えるカートリッジメモリから、更新された上記液体量Ｖｃ及び更新された上記高さＨｃを読み出し、決定された上記排出後第１期間Δｔｈ１の間に上記第１液室から上記第２液室へ流出する液体の流出量Ｑｃを、更新された上記高さＨｃ、Ｈｓ、及び上記流路抵抗Ｒｃ、Ｒｓ、Ｒｎに基づいて決定し、読み出された上記液体量Ｖｃと決定された上記流出量Ｑｃとに基づいて、上記排出後第１期間Δｔｈ１が経過した後の上記液体量Ｖｃを決定し、読み出された上記液体量Ｖｓと決定された上記流出量Ｑｃとに基づいて、上記排出後第１期間Δｔｈ１が経過した後の上記液体量Ｖｓを決定し、決定された上記液体量Ｖｓによって、上記装置メモリに記憶されている上記液体量Ｖｓを更新し、決定された上記液体量Ｖｃによって、上記装置メモリ及び上記カートリッジメモリのうち少なくとも一方に記憶されている上記液体量Ｖｃを更新する。
【００１４】
上記構成によれば、ヘッドからの液体の排出が行われた後、第１信号を受信又は特定動作を開始することに基づいて、液体量Ｖｃ、Ｖｓが決定される。第１信号は例えば、各種センサやユーザインタフェースからの信号である。特定動作は例えば、液体排出装置が所定時間毎に自動的に実行する動作である。すなわち、ユーザから何らかの操作を受け付けたり、液体排出装置が動作したりするときに、液体量Ｖｃ、Ｖｓの決定が行われる。これにより、処理負荷の上昇を抑制しつつ、第１液室及び第２液室に貯留された液体の量を個別に把握することができる。
【００１５】
(6)  好ましくは、上記コントローラは、決定された上記排出後第１期間Δｔｈ１が経過した後の上記液体量Ｖｃ、Ｖｓを決定したことに基づいて、決定された上記液体量Ｖｓに対応する上記高さＨｓを決定し且つ決定された上記高さＨｓにて上記装置メモリに記憶されている上記高さＨｓを更新し、決定された上記液体量Ｖｃに対応する上記高さＨｃを決定し且つ決定された上記高さＨｃにて上記装置メモリ及び上記カートリッジが有するカートリッジメモリのうち少なくとも一方に記憶されている上記高さＨｃを更新し、更新された上記高さＨｃ、Ｈｓの差が閾値高さ以上か否かを判定し、更新された上記高さＨｃ、Ｈｓの差が上記閾値高さ以上だと判定し且つ上記第１信号を受信したと判定したことに基づいて、又は、更新された上記高さＨｃ、Ｈｓの差が上記閾値高さ以上だと判定し且つ上記特定動作を開始すると判定したことに基づいて、決定された上記排出後第１期間Δｔｈ１が経過した後の上記液体量Ｖｃ、Ｖｓを決定してから上記第１信号を受信するまで、又は、上記特定動作を開始すると判定するまでの期間を排出後第２期間Δｔｈ２として決定し、上記装置メモリから、更新された上記液体量Ｖｓ及び更新された上記高さＨｓを読み出し、上記装置メモリ又は上記カートリッジが備えるカートリッジメモリから、更新された上記液体量Ｖｃ及び更新された上記高さＨｃを読み出し、決定された上記排出後第２期間Δｔｈ２の間に上記第１液室から上記第２液室へ流出する液体の流出量Ｑｃを、更新された上記高さＨｃ、Ｈｓ、及び上記流路抵抗Ｒｃ、Ｒｓ、Ｒｎに基づいて決定し、読み出された上記液体量Ｖｃと決定された上記流出量Ｑｃとに基づいて、上記排出後第２期間Δｔｈ２が経過した後の上記液体量Ｖｃを決定し、読み出された上記液体量Ｖｓと決定された上記流出量Ｑｃとに基づいて、上記排出後第２期間Δｔｈ２が経過した後の上記液体量Ｖｓを決定し、決定された上記液体量Ｖｓによって、上記装置メモリに記憶されている上記液体量Ｖｓを更新し、決定された上記液体量Ｖｃによって、上記装置メモリ及び上記カートリッジメモリのうち少なくとも一方に記憶されている上記液体量Ｖｃを更新する。
【００１６】
上記構成によれば、液体量Ｖｃ、Ｖｓが決定された後、第１信号を受信又は特定動作を開始することに基づいて、再び、液体量Ｖｃ、Ｖｓが決定される。これにより、処理負荷の上昇を抑制しつつ、第１液室及び第２液室の液体量を継続的に把握することができる。
【００１７】
(7)  好ましくは、上記コントローラは、更新された上記高さＨｃ、Ｈｓの差が上記閾値高さ未満だと判定したことに基づいて、上記流出量Ｑｃ及び上記液体量Ｖｃ、Ｖｓを決定し且つ決定した上記液体量Ｖｃ、Ｖｓを記憶させる処理を停止する。
【００１８】
(8)  好ましくは、上記コントローラは、上記排出指示に従って上記ヘッドに液体を排出させた後であって、上記第１信号を受信したと判定する前、且つ、上記特定動作を開始すると判定する前に、上記排出指示に従って上記ヘッドに液体を排出させてから第２所定時間が経過したと判定したことに基づいて、上記装置メモリから、上記液体量Ｖｓを読み出し、上記装置メモリ又は上記カートリッジが備えるカートリッジメモリから、上記液体量Ｖｃを読み出し、読み出した上記液体量Ｖｃ、Ｖｓに基づいて、上記第１液室から上記第２液室への液体の流入が終了した状態にあるときの上記液体量Ｖｃ、Ｖｓを決定し、
決定された上記液体量Ｖｓによって、上記装置メモリに記憶されている上記液体量Ｖｓを更新し、決定された上記液体量Ｖｃによって、上記装置メモリ及び上記カートリッジメモリのうち少なくとも一方に記憶されている上記液体量Ｖｃを更新する。
【００１９】
ヘッドから液体を排出してからある程度の時間が経過すると、カートリッジからタンクへの液体の流入が終了する。上記構成によれば、ヘッドに液体を排出させてから所定時間が経過したときに、第１信号を受信又は特定動作を開始していないことに基づいて、第１液室から第２液室への液体の流入が終了した状態にあるときの液体量Ｖｃ、Ｖｓが決定されメモリに記憶される。従って、所定時間が経過するとユーザからの操作や装置動作が無くとも、液体量Ｖｃ、Ｖｓが、カートリッジからタンクへの液体の流入が終了した状態の量へ決定され、メモリに記憶される。これにより、処理負荷の上昇を抑制しつつ、第１液室及び第２液室の液体量を、より適切な値に更新することができる。
【００２０】
(9)  好ましくは、上記コントローラは、上記装着ケースの開口を開閉するカバーが開かれたこと、又は、閉じられたことに基づいてカバーセンサが出力する第１信号を受信、又は、上記装着ケースに上記カートリッジが装着されたこと、又は、上記カートリッジが取り外されたことに基づいて装着センサが出力する第１信号を受信、又は、給送トレイが装着されたこと、又は、取り外されたことに基づいてトレイセンサが出力する第１信号を受信、又は、ユーザからの操作を受け付けたことに基づいてユーザインタフェースが出力する第１信号を受信、又は、上記ヘッドから液体を排出する指示を通信インタフェースを通じて外部装置から受信したことに基づいて上記通信インタフェースが出力する第１信号を受信するように構成されている。
【００２１】
(10)  好ましくは、上記コントローラは、上記特定動作として、上記ヘッドからの液体の排出を開始する、又は、スリープ状態への移行を開始するように構成されている。
【００２２】
(11)  好ましくは、上記液体排出装置は、インタフェースを更に有する。上記コントローラは、上記液体量Ｖｃを決定したことに基づいて、決定した上記液体量Ｖｃを上記インタフェースを通じて上記カートリッジが有するカートリッジメモリに記憶させる。
【００２３】
上記構成によれば、液体排出装置から抜かれたカートリッジが他の液体排出装置に装着された場合において、当該他の液体排出装置が第１液室に貯留された液体の量を適切に把握することができる。
【００２４】
(12)  好ましくは、上記液体排出装置は、ディスプレイを更に有する。上記コントローラは、決定した上記液体量Ｖｃ、Ｖｓ、又は上記液体量Ｖｃと上記液体量Ｖｓとの和を示す情報を上記ディスプレイに表示させる。
【００２５】
上記構成によれば、適切に決定された液体量Ｖｃ、Ｖｓ、又はＶｃとＶｓの和をディスプレイに表示することができる。
【００２６】
(13)  好ましくは、上記液体排出装置は、報知器を更に有する。上記コントローラは、決定した上記液体量Ｖｓが閾値量未満になったことに基づいて、上記報知器を作動させる。
【００２７】
上記構成によれば、適切に決定された液体量Ｖｓに基づいて報知器を作動させることができる。
【００２８】
(14)  好ましくは、上記コントローラは、決定した上記液体量Ｖｓが閾値量未満になったことに基づいて、上記ヘッドを通じた液体の排出を禁止する。
【００２９】
上記構成によれば、適切に決定された液体量Ｖｓに基づいて液体の排出の禁止を行うことができる。
【００３０】
(15)  本発明に係る液体排出装置は、液体が貯留された第１液室、一端が上記第１液室と連通され且つ他端が外部と連通される第１流路、及び一端が上記第１液室と連通され且つ他端が外部と連通される第２流路を有するカートリッジと、上記カートリッジが装着される装着ケースと、第２液室を有するタンクであって、一端が外部と連通され且つ他端が上記第２液室と連通される第３流路と、上記第３流路よりも下方に位置する一端が上記第２液室と連通される第４流路と、一端が上記第２液室に連通され且つ他端が外部と連通される第５流路と、を有する上記タンクと、上記第４流路の他端と連通されるヘッドと、装置メモリと、コントローラとを備える。上記第１流路及び上記第３流路の少なくとも一方は、上記カートリッジが上記装着ケースに装着されたときに、上記第１液室及び上記第２液室を連通する。上記コントローラは、上記装着ケースに上記カートリッジが装着されたか否かを判定し、上記カートリッジが装着されたと判定したことに基づいて、第１信号を受信したか否かを判定し、又は、特定動作を開始するか否かを判定し、上記第１信号を受信したと判定したことに基づいて、又は、上記特定動作を開始すると判定したことに基づいて、上記装着ケースに上記カートリッジが装着されたと判定してから上記第１信号を受信するまで、又は、上記特定動作を開始すると判定するまでの期間を第１期間Δｔ１として決定し、上記装置メモリから、上記第２液室に貯留されている液体量Ｖｓ及び基準位置から上記第２液室の液面までの高さＨｓを読み出し、上記カートリッジが備えるカートリッジメモリ又は上記装置メモリから、上記第１液室に貯留されている液体量Ｖｃ、上記基準位置から上記第１液室の液面までの高さＨｃ、上記第２流路の流路抵抗Ｒｃ、上記第５流路の流路抵抗Ｒｓ、及び上記第１流路及び上記第３流路の双方の抵抗又は一方の抵抗である流路抵抗Ｒｎを読み出し、決定された上記第１期間Δｔ１の間に上記第１液室から上記第２液室へ流出する液体の流出量Ｑｃを、読み出された上記高さＨｃ、Ｈｓ、及び読み出された上記流路抵抗Ｒｃ、Ｒｓ、Ｒｎに基づいて決定し、読み出された上記液体量Ｖｃと決定された上記流出量Ｑｃとに基づいて、上記第１期間Δｔ１が経過した後の上記液体量Ｖｃを決定し、読み出された上記液体量Ｖｓと決定された上記流出量Ｑｃとに基づいて、上記第１期間Δｔ１が経過した後の上記液体量Ｖｓを決定し、決定された上記液体量Ｖｓによって、上記装置メモリに記憶されている上記液体量Ｖｓを更新し、決定された上記液体量Ｖｃによって、上記装置メモリ及び上記カートリッジメモリのうち少なくとも一方に記憶されている上記液体量Ｖｃを更新する。
【００３１】
上記構成によれば、カートリッジが装着された後、第１信号を受信又は特定動作を開始することに基づいて、液体量Ｖｃ、Ｖｓが決定される。第１信号は例えば、各種センサやユーザインタフェースからの信号である。特定動作は例えば、液体排出装置が自動的に実行する動作である。すなわち、ユーザから何らかの操作を受け付けたり、液体排出装置が動作したりするときに、液体量Ｖｃ、Ｖｓの決定が行われる。これにより、処理負荷の上昇を抑制しつつ、第１液室及び第２液室に貯留された液体の量を個別に把握することができる。
【００３２】
(16)  本発明に係る液体排出装置は、液体が貯留された第１液室、一端が上記第１液室と連通され且つ他端が外部と連通される第１流路、及び一端が上記第１液室と連通され且つ他端が外部と連通される第２流路を有するカートリッジと、上記カートリッジが装着される装着ケースと、第２液室を有するタンクであって、一端が外部と連通され且つ他端が上記第２液室と連通される第３流路と、上記第３流路よりも下方に位置する一端が上記第２液室と連通される第４流路と、一端が上記第２液室に連通され且つ他端が外部と連通される第５流路と、を有する上記タンクと、上記第４流路の他端と連通されるヘッドと、装置メモリと、コントローラとを備る。上記第１流路及び上記第３流路の少なくとも一方は、上記カートリッジが上記装着ケースに装着されたときに、上記第１液室及び上記第２液室を連通する。上記コントローラは、液体を排出する排出指示を受け付け、上記排出指示に従って上記ヘッドに液体を排出させ、上記排出指示に示される液体の排出量Ｄｈを決定し、上記ヘッドを通じた液体の排出中の排出期間Δｔｈの間に上記第４流路から上記ヘッドに向けて流出する液体の流出量Ｑａを、決定した上記排出量Ｄｈに基づいて決定し、上記装置メモリから、上記第２液室に貯留されている液体量Ｖｓ及び基準位置から上記第２液室の液面までの高さＨｓを読み出し、上記カートリッジが備えるカートリッジメモリ又は上記装置メモリから、上記第１液室に貯留されている液体量Ｖｃ、上記基準位置から上記第１液室の液面までの高さＨｃ、上記第２流路の流路抵抗Ｒｃ、上記第５流路の流路抵抗Ｒｓ、及び上記第１流路及び上記第３流路の双方の抵抗又は一方の抵抗である流路抵抗Ｒｎを読み出し、上記排出期間Δｔｈの間に上記第１液室から上記第２液室へ流出する液体の上記流出量Ｑｃを、読み出された上記高さＨｃ、Ｈｓ、決定された上記流出量Ｑａ、及び上記流路抵抗Ｒｃ、Ｒｓ、Ｒｎに基づいて決定し、読み出された上記液体量Ｖｃと決定された上記流出量Ｑｃとに基づいて、上記排出期間Δｔｈが経過した後の上記液体量Ｖｃを決定し、読み出された上記液体量Ｖｓ、決定された上記流出量Ｑｃ及び決定された上記流出量Ｑａに基づいて、上記排出期間Δｔｈが経過した後の上記液体量Ｖｓを決定し、決定された上記液体量Ｖｓによって、上記装置メモリに記憶されている上記液体量Ｖｓを更新し、決定された上記液体量Ｖｃによって、上記装置メモリ及び上記カートリッジメモリのうち少なくとも一方に記憶されている上記液体量Ｖｃを更新し、決定された上記液体量Ｖｓに対応する上記高さＨｓを決定し且つ決定された上記高さＨｓにて上記装置メモリに記憶されている上記高さＨｓを更新し、決定された上記液体量Ｖｃに対応する上記高さＨｃを決定し且つ決定された上記高さＨｃにて上記装置メモリ及び上記カートリッジが有するカートリッジメモリのうち少なくとも一方に記憶されている上記高さＨｃを更新し、更新された上記高さＨｃ、Ｈｓの差が閾値高さ以上か否かを判定し、更新された上記高さＨｃ、Ｈｓの差が上記閾値高さ以上だと判定し且つ上記第１信号を受信したと判定したことに基づいて、又は、更新された上記高さＨｃ、Ｈｓの差が上記閾値高さ以上だと判定し且つ上記特定動作���開始すると判定したことに基づいて、決定された上記排出期間Δｔｈが経過した後の上記液体量Ｖｃ、Ｖｓを決定してから上記第１信号を受信するまで、又は、上記特定動作を開始すると判定するまでの期間を排出後第１期間Δｔｈ１として決定し、上記装置メモリから、更新された上記液体量Ｖｓ及び更新された上記高さＨｓを読み出し、上記装置メモリ又は上記カートリッジが備えるカートリッジメモリから、更新された上記液体量Ｖｃ及び更新された上記高さＨｃを読み出し、決定された上記排出後第１期間Δｔｈ１の間に上記第１液室から上記第２液室へ流出する液体の流出量Ｑｃを、更新された上記高さＨｃ、Ｈｓ、及び上記流路抵抗Ｒｃ、Ｒｓ、Ｒｎに基づいて決定し、読み出された上記液体量Ｖｃと決定された上記流出量Ｑｃとに基づいて、上記排出後第１期間Δｔｈ１が経過した後の上記液体量Ｖｃを決定し、読み出された上記液体量Ｖｓと決定された上記流出量Ｑｃとに基づいて、上記排出後第１期間Δｔｈ１が経過した後の上記液体量Ｖｓを決定し、決定された上記液体量Ｖｓによって、上記装置メモリに記憶されている上記液体量Ｖｓを更新し、決定された上記液体量Ｖｃによって、上記装置メモリ及び上記カートリッジメモリのうち少なくとも一方に記憶されている上記液体量Ｖｃを更新する。
【００３３】
上記構成によれば、ヘッドからの液体の排出が行われた後、第１信号を受信又は特定動作を開始することに基づいて、液体量Ｖｃ、Ｖｓが決定される。第１信号は例えば、各種センサやユーザインタフェースからの信号である。特定動作は例えば、液体排出装置が所定時間毎に自動的に実行する動作である。すなわち、ユーザから何らかの操作を受け付けたり、液体排出装置が動作したりするときに、液体量Ｖｃ、Ｖｓの決定が行われる。これにより、処理負荷の上昇を抑制しつつ、第１液室及び第２液室に貯留された液体の量を個別に把握することができる。
【発明の効果】
【００３４】
本発明によれば、処理負荷の上昇を抑制しつつ、第１液室及び第２液室に貯留された液体の量を個別に把握することができる。
【図面の簡単な説明】
【００３５】
【図１】図１は、プリンタ１０の外観斜視図であって、（Ａ）はカバー８７が被覆位置の状態を、（Ｂ）はカバー８７が露出位置の状態を示す。
【図２】図２は、プリンタ１０の内部構造を模式的に示す模式断面図である。
【図３】図３は、装着ケース１５０の縦断面図である。
【図４】図４は、カートリッジ２００の構造を示す図であって、（Ａ）は前方斜視図を、（Ｂ）は縦断面図を示す。
【図５】図５は、装着ケース１５０にカートリッジ２００が装着された状態の縦断面図である。
【図６】図６は、プリンタ１０のブロック図である。
【図７】図７は、カートリッジ装着処理のフローチャートである。
【図８】図８は、画像記録処理のフローチャートである。
【図９】図９は、カウント処理のフローチャートである。
【図１０】図１０は、残量更新処理のフローチャートである。
【図１１】図１１は、タンク１６０及びカートリッジ２００が連通された状態の模式図であって、（Ａ）はインクが貯留されていないタンク１６０に新品のカートリッジ２００が連通された状態を、（Ｂ）はカートリッジ２００に貯留されたインクの一部がタンク１６０にインクが移動した状態を示す。
【図１２】図１２は、タンク１６０及びカートリッジ２００が連通された状態の模式図であって、（Ａ）はタンク１６０及びカートリッジ２００の液面が揃った状態を、（Ｂ）はカートリッジエンプティ状態を示す。
【図１３】図１３は、インク残量画面の例である。
【発明を実施するための形態】
【００３６】
以下、本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。また、プリンタ１０が使用可能に水平面に設置された使用姿勢を基準として上下方向７が定義され、プリンタ１０の開口１３が形成された面を前面として前後方向８が定義され、プリンタ１０を前面から見て左右方向９が定義される。本実施形態では、使用姿勢において、上下方向７が鉛直方向に相当し、前後方向８及び左右方向９が水平方向に相当する。前後方向８及び左右方向９は、直交している。
【００３７】
［プリンタ１０の概要］
本実施形態に係るプリンタ１０は、インクジェット記録方式でシートに画像を記録する液体排出装置の一例である。プリンタ１０は、概ね直方体形状の筐体１４を有している。また、プリンタ１０は、ファクシミリ機能、スキャン機能、及びコピー機能などの機能を有する、所謂、「複合機」であってもよい。
【００３８】
筐体１４の内部には、図１及び図２に示されるように、給送トレイ１５と、給送ローラ２３と、搬送ローラ２５と、複数のノズル２９を有するヘッド２１と、ヘッド２１に対面するプラテン２６と、排出ローラ２７と、排出トレイ１６と、カートリッジ２００が着脱される装着ケース１５０と、ヘッド２１及び装着ケース１５０に装着されたカートリッジ２００を連通させるチューブ３２とが位置している。
【００３９】
プリンタ１０は、給送ローラ２３及び搬送ローラ２５を駆動させて、給送トレイ１５に支持されたシートをプラテン２６の位置まで搬送する。次に、プリンタ１０は、装着ケース１５０に装着されたカートリッジ２００からチューブ３２を通じて供給されるインクを、ヘッド２１にノズル２９を通じて吐出させる。これにより、プラテン２６に支持されたシートにインクが着弾して、シート上に画像が記録される。そして、プリンタ１０は、排出ローラ２７を駆動させて、画像が記録されたシートを排出トレイ１６に排出する。
【００４０】
より詳細には、ヘッド２１は、搬送ローラ２５によるシートの搬送向きと交差する主走査方向に往復移動するキャリッジに搭載されていてもよい。そして、プリンタ１０は、主走査方向の一方から他方へキャリッジを移動させる過程で、ヘッド２１にノズル２９を通じてインクを吐出させてもよい。これにより、ヘッド２１に対面するシートの一部の領域（以下、「１パス」と表記する。）に画像が記録される。次に、プリンタ１０は、次に画像が記録されるべき領域がヘッド２１に対面するように、搬送ローラ２５にシートを搬送させてもよい。そして、これらの処理を交互に繰り返し実行させることによって、１枚のシートに画像が記録される。
【００４１】
なお、本実施形態においては、画像記録におけるヘッド２１のノズル２９からのインクの排出が「吐出」と称され、他方、パージにおけるヘッド２１のノズル２９からのインクの排出が「吐出」と称されないが、「吐出」は「排出」に含まれる概念である。
【００４２】
本実施形態では、給送トレイ１５は筐体１４に対して着脱可能に構成されている。プリンタ１０は、トレイセンサ１９を有する。トレイセンサ１９は、例えば給送トレイ１５が接離するスイッチ等の機械式センサであってもよいし、給送トレイ１５の位置によって光が遮断或いは透過される光学式センサであってもよい。トレイセンサ１９は、給送トレイ１５の位置に応じた信号をコントローラ１３０に出力する。より詳細には、トレイセンサ１９は、給送トレイ１５が筐体１４取り付けられていることに応じて、ローレベル信号をコントローラ１３０へ出力する。一方、トレイセンサ１９は、給送トレイ１５が筐体１４から取り外されていることに応じて、ローレベル信号より信号強度の高いハイレベル信号をコントローラ１３０へ出力する。ローレベル信号及びハイレベル信号は、第１信号の一例である。
【００４３】
［カバー８７］
図１に示されるように、筐体１４の前面１４Ａで且つ左右方向９の右端部には、開口８５が形成されている。筐体１４は、さらにカバー８７を備える。カバー８７は、開口８５を覆う被覆位置（図１（Ａ）に示される位置）と、開口８５を露出させる露出位置（図１（Ｂ）に示される位置）との間を回動可能である。カバー８７は、例えば、上下方向７における筐体１４の下端近傍において、左右方向９に沿う回動軸線周りに回動可能に、筐体１４によって支持されている。そして、開口８５より後方に広がる筐体１４内部の収容空間８６には、装着ケース１５０が位置している。
【００４４】
［カバーセンサ８８］
プリンタ１０は、カバーセンサ８８（図６参照）を有する。カバーセンサ８８は、例えば、カバー８７が接離するスイッチ等の機械式センサであってもよいし、カバー８７の位置によって光が遮断或いは透過される光学式センサであってもよい。カバーセンサ８８は、カバー８７の位置に応じた信号をコントローラ１３０に出力する。より詳細には、カバーセンサ８８は、カバー８７が被覆位置に位置していることに応じて、ローレベル信号をコントローラ１３０へ出力する。一方、カバーセンサ８８は、カバー８７が被覆位置と異なる位置に位置していることに応じて、ローレベル信号より信号強度の高いハイレベル信号をコントローラ１３０へ出力する。換言すれば、カバーセンサ８８は、カバー８７が露出位置に位置していることに応じて、ハイレベル信号をコントローラ１３０へ出力する。
ローレベル信号及びハイレベル信号は、第１信号の一例である。
【００４５】
［装着ケース１５０］
装着ケース１５０は、図３に示されるように、接点１５２と、ロッド１５３と、装着センサ１５４と、液面センサ１５５と、ロックピン１５６とを備えている。装着ケース１５０には、ブラック、シアン、マゼンタ、イエローの各色に対応する４つのカートリッジ２００が収容可能である。すなわち、装着ケース１５０は、接点１５２、ロッド１５３、装着センサ１５４、液面センサ１５５を、４つのカートリッジ２００それぞれに対応して、４つずつ備えている。なお、装着ケース１５０に装着されるカートリッジ２００の数は、４つに限定されず、１つでも良いし、５つ以上でも良い。
【００４６】
装着ケース１５０は、装着されたカートリッジ２００を収容する内部空間を有する箱形状である。装着ケース１５０の内部空間は、上端を画定する天壁と、下端を画定する底壁と、前後方向８の後端を画定する奥壁と、左右方向９の両端を画定する一対の側壁とで画定される。一方、装着ケース１５０の奥壁と対面する位置は、開口８５となっている。すなわち、開口８５は、カバー８７を露出位置に配置したときに、装着ケース１５０の内部空間を、プリンタ１０の外部に露出させる。
【００４７】
そして、カートリッジ２００は、筐体１４の開口８５を通じて、装着ケース１５０に挿入され、装着ケース１５０から抜かれる。より詳細には、カートリッジ２００は、開口８５を前後方向８の後ろ向きに通過して、装着ケース１５０に装着される。装着ケース１５０から抜かれるカートリッジ２００は、開口８５を前後方向８の前向きに通過する。
【００４８】
［接点１５２］
接点１５２は、装着ケース１５０の天壁に位置している。接点１５２は、天壁から装着ケース１５０の内部空間へ向けて下方に突出している。接点１５２は、装着ケース１５０にカートリッジ２００が装着された状態において、カートリッジ２００の後述する電極２４８に接する位置に位置している。接点１５２は、導電性を有しており、さらに上下方向７に沿って弾性的に変形可能である。接点１５２は、コントローラ１３０に電気的に接続されている。
【００４９】
［ロッド１５３］
ロッド１５３は、装着ケース１５０の奥壁から前方へ突出している。ロッド１５３は、装着ケース１５０の奥壁において、後述するジョイント１８０より上方に位置している。ロッド１５３は、カートリッジ２００が装着ケース１５０に装着される過程において、カートリッジ２００の後述する大気連通口２２１を通じて大気バルブ室２１４に進入する。ロッド１５３が大気バルブ室２１４に進入すると、後述する大気バルブ室２１４が大気に連通される。
【００５０】
［装着センサ１５４］
装着センサ１５４は、装着ケース１５０の天壁に位置している。装着センサ１５４は、カートリッジ２００が装着ケース１５０に装着されているか否かを検出するためのセンサである。装着センサ１５４は、左右方向９に離間した発光部及び受光部を備える。装着ケース１５０にカートリッジ２００が装着された状態において、カートリッジ２００の後述する遮光リブ２４５は、装着センサ１５４の発光部及び受光部の間に位置する。換言すれば、装着センサ１５４の発光部及び受光部は、装着ケース１５０に装着されたカートリッジ２００の遮光リブ２４５を挟んで、互いに対向した状態で位置している。
【００５１】
装着センサ１５４は、発光部から左右方向９に沿って照射された光が受光部で受光されたか否かに応じて、異なる信号（図中では、「装着信号」と表記する。）を出力する。装着センサ１５４は、例えば、受光部で受光された光の受光強度が閾値強度未満であることに応じて、ローレベル信号をコントローラ１３０へ出力する。一方、装着センサ１５４は、受光部で受光された光の受光強度が閾値強度以上であることに応じて、ローレベル信号より信号強度の高いハイレベル信号をコントローラ１３０へ出力する。ハイレベル信号及びローレベル信号は、第１信号の一例である。
【００５２】
［液面センサ１５５］
液面センサ１５５は、後述するアクチュエータ１９０の被検出部１９４が検出位置に位置しているか否かを検出するためのセンサである。液面センサ１５５は、左右方向９に離間した発光部及び受光部を備える。換言すれば、液面センサ１５５の発光部及び受光部は、検出位置に位置した被検出部１９４を挟んで、互いに対向した状態で位置している。液面センサ１５５は、発光部から出力された光が受光部で受光されたか否かに応じて異なる信号（図中では、「液面信号」と表記する。）を出力する。液面センサ１５５は、例えば、受光部で受光された光の受光強度が閾値強度未満であることに応じて、ローレベル信号をコントローラ１３０へ出力する。一方、液面センサ１５５は、受光部で受光された光の受光強度が閾値強度以上であることに応じて、ローレベル信号より信号強度の高いハイレベル信号をコントローラ１３０へ出力する。
【００５３】
[ロックピン１５６]
ロックピン１５６は、装着ケース１５０の内部空間の上端で且つ開口８５付近において、左右方向９に沿って延びる棒状の部材である。ロックピン１５６の左右方向９の両端は、装着ケース１５０の一対の側壁に固定されている。ロックピン１５６は、４つのカートリッジ２００が収納可能な４つの空間に亘って左右方向９に延びている。ロックピン１５６は、装着ケース１５０に装着されたカートリッジ２００を、図５に示される装着位置に保持するためのものである。カートリッジ２００は、装着ケース１５０に装着された状態で、ロックピン１５６に係合される。
【００５４】
［タンク１６０］
プリンタ１０は、４つのカートリッジ２００それぞれに対応して、４つのタンク１６０を備える。タンク１６０は、装着ケース１５０の奥壁よりさらに後方に位置している。タンク１６０は、図３に示されるように、上壁１６１と、前壁１６２と、下壁１６３と、後壁１６４と、不図示の一対の側壁とで構成されている。なお、前壁１６２は、各々が前後方向８にずれた複数の壁によって構成される。タンク１６０の内部は、液室１７１が形成されている。液室１７１は、第２液室の一例である。
【００５５】
タンク１６０を構成する壁のうち、少なくとも液面センサ１５５に対面する壁は、透光性を有している。これにより、液面センサ１５５が出力した光は、液面センサ１５５に対面する壁を透過することができる。後壁１６４の少なくとも一部は、上壁１６１、下壁１６３、及び側壁の端面に溶着されるフィルムでもよい。また、タンク１６０の側壁は、装着ケース１５０と共通でもよいし、装着ケース１５０とは独立していてもよい。さらに、左右方向９に隣接するタンク１６０の間は、不図示の隔壁によって仕切られている。４つのタンク１６０の構成は、概ね共通する。
【００５６】
液室１７１は、流出口１７４を通じて不図示のインク流路に連通されている。流出口１７４の下端は、液室１７１の下端を画定する下壁１６３によって画定されている。流出口１７４は、ジョイント１８０（より詳細には、貫通孔１８４の下端）より上下方向７の下方に位置している。流出口１７４に連通された不図示のインク流路は、チューブ３２に連通されている。これにより、液室１７１は、流出口１７４からインク流路及びチューブ３２を通じて、ヘッド２１と連通する。つまり、液室１７１に貯留されたインクは、流出口１７４からインク流路及びチューブ３２を通じて、ヘッド２１へ供給される。流出口１７４に連通されたインク流路及びチューブ３２は、一端（流出口１７４）が液室１７１に連通され、且つ他端３３（図２参照）がヘッド２１に連通された第４流路の一例である。
【００５７】
液室１７１は、大気連通室１７５を通じて大気に連通されている。より詳細には、大気連通室１７５は、前壁１６２を貫通する貫通孔１７６を通じて液室１７１に連通されている。また、大気連通室１７５は、大気連通ポート１７７及び大気連通ポート１７７に接続された不図示のチューブを通じて、プリンタ１０の外部に連通されている。すなわち、大気連通室１７５は、一端（貫通孔１７６）が液室１７１に連通され、且つ他端（大気連通ポート１７７）がプリンタ１０の外部に連通された第５流路の一例である。なお、大気連通室１７５は、大気連通ポート１７７及び不図示のチューブを通じて、大気に連通している。
【００５８】
［ジョイント１８０］
ジョイント１８０は、図３に示されるように、ニードル１８１と、ガイド１８２とを備えている。ニードル１８１は、内部に流路が形成された管である。ニードル１８１は、液室１７１を画定する前壁１６２から前方へ突出している。ニードル１８１の突出先端には、開口１８３が形成されている。また、ニードル１８１の内部空間は、前壁１６２を貫通する貫通孔１８４を通じて液室１７１に連通されている。ニードル１８１は、一端（開口１８３）がタンク１６０の外部に連通され、且つ他端（貫通孔１８４）が液室１７１に連通された第３流路の一例である。ガイド１８２は、ニードル１８１の周囲に配置された円筒形状の部材である。ガイド１８２は、前壁１６２から前方に突出して、突出端が開口している。
【００５９】
ニードル１８１の内部空間には、バルブ１８５と、コイルバネ１８６とが位置している。バルブ１８５は、ニードル１８１の内部空間において、閉塞位置と開放位置との間を、前後方向８に沿って移動可能である。バルブ１８５は、閉塞位置に位置すると開口１８３を閉塞する。またバルブ１８５は、開放位置に位置すると開口１８３を開放する。コイルバネ１８６は、バルブ１８５を開放位置から閉塞位置に移動させる向き、すなわち前後方向８の前向きに付勢している。
【００６０】
［アクチュエータ１９０］
液室１７１には、アクチュエータ１９０が位置している。アクチュエータ１９０は、液室１７１内に配置された不図示の支持部材によって、矢印１９８、１９９の向きに回動可能に支持されている。アクチュエータ１９０は、図３の実線で示される位置及び破線で示される位置の間を回動することができる。さらに、アクチュエータ１９０は、不図示のストッパ（例えば、液室１７１の内壁）によって、実線の位置より矢印１９８の向きへの回動が規制される。アクチュエータ１９０は、フロート１９１と、軸１９２と、アーム１９３と、被検出部１９４とを備える。
【００６１】
フロート１９１は、液室１７１に貯留されるインクより比重が小さい材料で形成されている。軸１９２は、フロート１９１の右面及び左面から左右方向９に突出している。軸１９２は、支持部材に形成された不図示の孔に挿入されている。これにより、アクチュエータ１９０は、軸１９２を中心として回動可能に支持部材によって支持される。アーム１９３は、フロート１９１から略上方へ延びている。被検出部１９４は、アーム１９３の突出先端部に位置している。被検出部１９４は、上下方向７及び前後方向８に延びる板状の部材である。被検出部１９４は、液面センサ１５５の発光部から出力された光を遮光する材料又は色で形成されている。
【００６２】
液室１７１内のインクの液面が境界位置Ｐ以上のとき、浮力によって矢印１９８の向きに回動されたアクチュエータ１９０は、ストッパによって図３の実線で示される検出位置に保持される。一方、インクの液面が境界位置Ｐ未満のとき、アクチュエータ１９０は、液面の降下に追従して矢印１９９の向きに回動される。これにより、被検出部１９４は、検出位置から外れた位置に移動する。すなわち、被検出部１９４は、液室１７１に貯留されたインクの量に対応する位置に移動する。
【００６３】
境界位置Ｐは、上下方向７において、ニードル１８１の軸中心と同じ高さであり、且つ後述するインク供給口２３４の中心と同じ高さである。しかしながら、境界位置Ｐは、上下方向７における流出口１７４より上方の位置であれば、前述の位置に限定されない。他の例として、境界位置Ｐは、ニードル１８１の内部空間の上端や下端の高さでもよいし、インク供給口２３４の上端や下端の高さでもよい。
【００６４】
液室１７１に貯留されたインクの液面が境界位置Ｐ以上のとき、液面センサ１５５の発光部から出力された光が被検出部１９４で遮られる。これにより、液面センサ１５５は、発光部からの光が受光部に到達しないので、ローレベル信号をコントローラ１３０へ出力する。一方、液室１７１に貯留されたインクの液面が境界位置Ｐ未満のとき、液面センサ１５５は、発光部から出力された光が受光部に到達するので、ハイレベル信号をコントローラ１３０へ出力する。すなわち、コントローラ１３０は、液室１７１内のインクの液面が境界位置Ｐ以上か否かを、液面センサ１５５から出力される信号によって検出することができる。
【００６５】
［カートリッジ２００］
カートリッジ２００は、液体の一例であるインクを内部に貯留可能な液室２１０（図２参照）を有する容器である。液室２１０は、例えば、樹脂製の壁によって画定されている。カートリッジ２００は、図４（Ａ）に示されるように、上下方向７及び前後方向８それぞれに沿った寸法が、左右方向９に沿った寸法よりも大きい扁平形状である。なお、異なる色のインクが貯留されるカートリッジ２００の外形形状は同一でもよいし、異なっていてもよい。カートリッジ２００を構成する壁のうちの少なくとも一部は、透光性を有している。これにより、ユーザは、カートリッジ２００の液室２１０内に貯留されたインクの液面をカートリッジ２００の外部から視認することができる。
【００６６】
カートリッジ２００は、筐体２０１と、供給管２３０とを備える。筐体２０１は、後壁２０２と、前壁２０３と、上壁２０４と、下壁２０５と、一対の側壁２０６、２０７とで構成されている。なお、後壁２０２は、各々が前後方向８にずれた複数の壁によって構成されている。また、上壁２０４は、各々が上下方向７にずれた複数の壁によって構成されている。さらに、下壁２０５は、各々が上下方向７にずれた複数の壁によって構成されている。
【００６７】
カートリッジ２００の内部空間には、図４（Ｂ）に示されるように、液室２１０、インクバルブ室２１３、及び大気バルブ室２１４が形成されている。液室２１０は、上部液室２１１と、下部液室２１２とを有する。上部液室２１１、下部液室２１２、及び大気バルブ室２１４は、筐体２０１の内部空間である。一方、インクバルブ室２１３は、供給管２３０の内部空間である。液室２１０は、インクを貯留する。大気バルブ室２１４は、液室２１０とカートリッジ２００の外部とを連通させる。液室２１０は、第１液室の一例である。
【００６８】
液室２１０の上部液室２１１及び下部液室２１２は、筐体２０１の内部空間を仕切る隔壁２１５によって、上下方向７に隔てられている。そして、上部液室２１１及び下部液室２１２は、隔壁２１５に形成された貫通孔２１６によって連通されている。また、上部液室２１１及び大気バルブ室２１４は、筐体２０１の内部空間を仕切る隔壁２１７によって、上下方向７に隔てられている。そして、上部液室２１１及び大気バルブ室２１４は、隔壁２１７に形成された貫通孔２１８によって連通されている。さらに、インクバルブ室２１３は、貫通孔２１９を通じて下部液室２１２の下端に連通されている。
【００６９】
大気バルブ室２１４は、カートリッジ２００の上部において、後壁２０２に形成された大気連通口２２１を通じてカートリッジ２００の外部に連通されている。すなわち、大気バルブ室２１４は、一端（貫通孔２１８）が液室２１０（より詳細には、上部液室２１１）に連通され、且つ他端（大気連通口２２１）がカートリッジ２００の外部に連通された第２流路の一例である。なお、大気バルブ室２１４は、大気連通口２２１を通じて、大気に連通している。また、大気バルブ室２１４には、バルブ２２２と、コイルバネ２２３とが位置している。バルブ２２２は、閉塞位置と開放位置との間を、前後方向８に沿って移動可能である。バルブ２２２は、閉塞位置に位置すると、大気連通口２２１を閉塞する。また、バルブ２２２は、開放位置に位置すると大気連通口２２１を開放する。コイルバネ２２３は、バルブ２２２を開放位置から閉塞位置に移動させる向き、すなわち前後方向８の後ろ向きに付勢している。
【００７０】
カートリッジ２００が装着ケース１５０に装着される過程において、ロッド１５３が大気連通口２２１を通じて大気バルブ室２１４内に進入する。大気バルブ室２１４内に進入したロッド１５３は、閉塞位置のバルブ２２２をコイルバネ２２３の付勢力に抗して前向きに移動させる。そして、バルブ２２２が開放位置に移動することによって、上部液室２１１が大気に連通される。なお、大気連通口２２１を開放するための構成は、前述の例に限定されない。他の例として、大気連通口２２１を封止するフィルムをロッド１５３が突き破る構成でもよい。
【００７１】
供給管２３０は、筐体２０１の下部において、後壁２０２から後方に突出している。供給管２３０は、その突出端（すなわち、後端）が開口されている。すなわち、インクバルブ室２１３は、貫通孔２１９を通じて連通された液室２１０と、カートリッジ２００の外部とを連通させる。インクバルブ室２１３は、一端（貫通孔２１９）が液室２１０（より詳細には下部液室２１２）と連通され、且つ他端（後述するインク供給口２３４）がカートリッジ２００の外部と連通された第１流路の一例である。また、インクバルブ室２１３には、パッキン２３１と、バルブ２３２と、コイルバネ２３３とが位置している。
【００７２】
パッキン２３１の中央には、前後方向８に貫通したインク供給口２３４が形成されている。インク供給口２３４の内径は、ニードル１８１の外径より僅かに小さい。バルブ２３２は、閉塞位置と開放位置との間を、前後方向８に沿って移動可能である。バルブ２３２は、閉塞位置に位置すると、パッキン２３１と当接してインク供給口２３４を閉塞する。また、バルブ２３２は、開放位置に位置すると、パッキン２３１から離間してインク供給口２３４を開放する。コイルバネ２３３は、バルブ２３２を開放位置から閉塞位置に移動させる向き、すなわち前後方向８の後ろ向きに付勢している。また、コイルバネ２３３の付勢力は、コイルバネ１８６より大きい。
【００７３】
カートリッジ２００が装着ケース１５０に装着される過程において、供給管２３０がガイド１８２内に進入し、やがてニードル１８１がインク供給口２３４を通じてインクバルブ室２１３に進入する。このとき、ニードル１８１は、パッキン２３１を弾性変形させつつ、インク供給口２３４を画定する内周面に液密に接触する。カートリッジ２００が装着ケース１５０へさらに挿入されると、ニードル１８１は、バルブ２３２をコイルバネ２３３の付勢力に抗して前向きに移動させる。また、バルブ２３２は、ニードル１８１の開口１８３から突出するバルブ１８５を、コイルバネ１８６の付勢力に抗して後ろ向きに移動させる。
【００７４】
これにより、図５に示されるように、インク供給口２３４及び開口１８３が開放されて、供給管２３０のインクバルブ室２１３と、ニードル１８１の内部空間とが連通される。すなわち、装着ケース１５０にカートリッジ２００が装着された状態において、インクバルブ室２１３及びニードル１８１の内部空間は、カートリッジ２００の液室２１０とタンク１６０の液室１７１とを連通させる流路を構成する。
【００７５】
また、装着ケース１５０にカートリッジ２００が装着された状態において、液室２１０の一部と、液室１７１の一部とは、水平方向から見て互いに重なる。その結果、液室２１０に貯留されたインクは、接続された供給管２３０及びジョイント１８０を通じて、水頭差によってタンク１６０の液室１７１に移動する。
【００７６】
上壁２０４には、突起２４１が形成されている。突起２４１は、上壁２０４の外面から上方に突出し且つ前後方向８に沿って延びている。突起２４１は、ロック面２４２と、傾斜面２４３とを有する。ロック面２４２及び傾斜面２４３は、上壁２０４より上方に位置している。ロック面２４２は、前後方向８の前方を向き且つ上下方向７及び左右方向９に延びている（すなわち、上壁２０４と概ね直交する）。傾斜面２４３は、上下方向７の上方及び前後方向８の後方を向くように、上壁２０４に対して傾斜している。
【００７７】
ロック面２４２は、装着ケース１５０にカートリッジ２００が装着された状態において、ロックピン１５６に当接される面である。傾斜面２４３は、カートリッジ２００が装着ケース１５０に装着される過程において、ロックピン１５６をロック面２４２と当接する位置まで案内する面である。ロック面２４２とロックピン１５６とが当接した状態では、コイルバネ１８６、２２３、２３３の付勢力に抗して、カートリッジ２００が図５に示される装着位置に保持される。
【００７８】
ロック面２４２より前方において上壁２０４から上方へと延びるようにして、平板状の部材が形成されている。この平板状の部材の上面は、カートリッジ２００を装着ケース１５０から抜去する際に、ユーザが操作する操作部２４４である。カートリッジ２００が装着ケース１５０に装着された状態で且つカバー８７が露出位置に位置しているとき、操作部２４４は、ユーザが操作可能となる。操作部２４４が下方へ押されると、カートリッジ２００が回動することによって、ロック面２４２がロックピン１５６より下方へ移動する。その結果、カートリッジ２００が装着ケース１５０から抜去することが可能となる。
【００７９】
上壁２０４の外面で且つ突起２４１より後方には、遮光リブ２４５が形成されている。遮光リブ２４５は、上壁２０４の外面から上方に突出し且つ前後方向８に沿って延びている。遮光リブ２４５は、装着センサ１５４の発光部から出力される光を遮光する材料又は色で形成されている。遮光リブ２４５は、装着ケース１５０にカートリッジ２００が装着された状態において、装着センサ１５４の発光部から受光部に至る光路上に位置する。すなわち、装着センサ１５４は、装着ケース１５０にカートリッジ２００が装着されていることに応じて、ローレベル信号をコントローラ１３０に出力する。一方、装着センサ１５４は、装着ケース１５０にカートリッジ２００が装着されていないことに応じて、ハイレベル信号をコントローラ１３０に出力する。すなわち、コントローラ１３０は、装着ケース１５０にカートリッジ２００が装着されているか否かを、装着センサ１５４から出力される信号によって検出することができる。
【００８０】
上壁２０４の外面で且つ前後方向８における遮光リブ２４５及び突起２４１の間には、ＩＣチップ２４７が位置している。ＩＣチップ２４７には、電極２４８が形成されている。また、ＩＣチップ２４７は、不図示のメモリを備える。電極２４８は、ＩＣチップ２４７の上記メモリと電気的に接続されている。電極２４８は、ＩＣチップ２４７の上面において、接点１５２と導通可能に露出されている。すなわち、カートリッジ２００が装着ケース１５０に装着された状態において、電極２４８は、接点１５２と電気的に導通する。コントローラ１３０は、接点１５２及び電極２４８を通じてＩＣチップ２４７のメモリから情報を読み出し、接点１５２及び電極２４８を通じてＩＣチップ２４７のメモリに情報を書き込むことができる。
【００８１】
ＩＣチップ２４７のメモリは、最大インク量Ｖｃ０と、粘度ρと、後述するインク量Ｖｃ、高さＨｃ、流路抵抗Ｒｃ、及び関数Ｆｃとを記憶する。ＩＣチップ２４７のメモリはカートリッジメモリの一例である。最大インク量Ｖｃ０は、カートリッジ２００に貯留可能なインクの最大量を示す。換言すれば、インク量Ｖｃ０は、新品のカートリッジ２００に貯留されているインクの量を示す。粘度ρは、カートリッジ２００に貯留されているインクの粘度を示す。以下、ＩＣチップ２４７のメモリに記憶されている情報を総称して、「ＣＴＧ情報」と表記することがある。また、「新品」とは、カートリッジ２００から、カートリッジ２００内のインクが一度も流出していない状態を示す。
【００８２】
ＩＣチップ２４７のメモリの記憶領域は、例えば、第１領域と、第２領域と、第３領域とを含む。第１領域、第２領域、及び第３領域は、互いに異なるメモリ領域である。第１領域及び第３領域は、コントローラ１３０によって情報が上書きされない領域である。一方、第２領域は、コントローラ１３０によって情報が上書き可能な領域である。そして、第１領域に流路抵抗Ｒｃ及び関数Ｆｃが記憶され、第２領域にインク量Ｖｃ及び高さＨｃが記憶され、第３領域に最大液体量Ｖｃ０が記憶される。
【００８３】
［コントローラ１３０］
コントローラ１３０は、図６に示されるように、ＣＰＵ１３１、ＲＯＭ１３２、ＲＡＭ１３３、ＥＥＰＲＯＭ１３４、及びＡＳＩＣ１３５を備えている。ＲＯＭ１３２には、ＣＰＵ１３１が各種動作を制御するためのプログラムなどが格納されている。ＲＡＭ１３３は、ＣＰＵ１３１が上記プログラムを実行する際に用いるデータや信号等を一時的に記録する記憶領域、或いはデータ処理の作業領域として使用される。ＥＥＰＲＯＭ１３４には、電源オフ後も保持すべき設定情報が格納される。ＲＯＭ１３２、ＲＡＭ１３３、及びＥＥＰＲＯＭ１３４は、装置メモリの一例である。
【００８４】
ＡＳＩＣ１３５は、給送ローラ２３、搬送ローラ２５、排出ローラ２７、及びヘッド２１を作動させるためのものである。コントローラ１３０は、ＡＳＩＣ１３５を通じて不図示のモータを駆動させることによって、給送ローラ２３、搬送ローラ２５、及び排出ローラ２７を回転させる。また、コントローラ１３０は、ＡＳＩＣ１３５を通じてヘッド２１の駆動素子に駆動信号を出力することによって、ヘッド２１にノズル２９を通じてインクを吐出させる。ＡＳＩＣ１３５は、ノズル２９を通じて吐出すべきインクの量に応じて、複数種類の駆動信号を出力可能である。
【００８５】
また、ＡＳＩＣ１３５には、ディスプレイ１７と、操作パネル２２と、通信インタフェース９５（通信Ｉ／Ｆ９５）が接続されている。ディスプレイ１７は、液晶ディスプレイ、有機ＥＬディスプレイ等であり、各種情報を表示する表示面を備える。ディスプレイ１７は、報知機の一例である。但し、報知機の具体例はディスプレイ１７に限定されず、スピーカ、ＬＥＤランプ、或いはこれらの組み合わせでもよい。操作パネル２２は、ユーザによる操作に応じた操作信号をコントローラ１３０に出力する。操作パネル２２は、例えば、押ボタンを有していてもよいし、ディスプレイ１７に重畳されたタッチセンサを有していてもよい。通信インタフェース９５は、通信ネットワーク等を通じて外部装置と通信可能なインタフェースである。通信インタフェース９５の具体的な通信手段は特に限定されないが、例えば、Ｗｉ−Ｆｉ（登録商標）を採用することができる。通信インタフェース９５は、ＵＳＢケーブルを着脱可能なＵＳＢインタフェースであってもよい。通信インタフェース９５は、外部装置から受信した情報に応じた受信信号をコントローラ１３０に出力する。操作パネル２２は、ユーザインタフェースの一例である。操作信号は、第１信号の一例である。受信信号は、第１信号の一例である。
【００８６】
さらに、ＡＳＩＣ１３５には、接点１５２と、トレイセンサ１９と、カバーセンサ８８と、装着センサ１５４と、液面センサ１５５とが電気的に接続されている。コントローラ１３０は、装着ケース１５０に装着されたカートリッジ２００のＩＣ基板２４７のメモリに、接点１５２を通じてアクセスする。コントローラ１３０は、給送トレイ１５の着脱をトレイセンサ１９を通じて検出する。コントローラ１３０は、カバー８７の位置をカバーセンサ８８を通じて検出する。また、コントローラ１３０は、カートリッジ２００の挿抜を装着センサ１５４を通じて検出する。さらに、コントローラ１３０は、液室１７１内のインクの液面が所定位置Ｐ以上か否かを液面センサ１５５を通じて検出する。
【００８７】
ＲＯＭ１３２には、後述するカートリッジ装着処理及び残量更新処理においてコントローラ１３０が実行する判定に用いられる閾値時間Ｔｈ１、Ｔｈ２が記憶されている。閾値時間Ｔｈ１は、第１所定時間の一例である。閾値時間Ｔｈ２は、第２所定時間の一例である。
【００８８】
ＥＥＰＲＯＭ１３４は、装着ケース１５０に装着される４つのカートリッジ２００それぞれに対応付けて、換言すれば、カートリッジ２００と連通されるタンク１６０それぞれに対応付けて、各種情報を記憶している。各種情報とは、例えば、液体量の一例であるインク量Ｖｃ、Ｖｓと、最大インク量Ｖｃ０と、高さＨｃ、Ｈｓと、流路抵抗Ｒｃ、Ｒｓ、Ｒｎと、関数Ｆｃ、Ｆｓと、関数Ｆ１、Ｆ２と、閾値Ｖｈと、Ｃ＿Ｅｍｐｔｙフラグと、Ｓ＿Ｅｍｐｔｙフラグと、第１初回フラグと、第２初回フラグと、カウント値Ｎとを含む。
【００８９】
なお、最大インク量Ｖｃ０、インク量Ｖｃ、高さＨｃ、流路抵抗Ｒｃ、及び関数Ｆｃは、カートリッジ２００が装着ケース１５０に装着された状態で、接点１５２を通じてＩＣチップ２４７のメモリからコントローラ１３０によって読み出される情報である。また、流路抵抗Ｒｃ、Ｒｎ及び関数Ｆｓは、ＥＥＰＲＯＭ１３４に代えて、ＲＯＭ１３２に記憶されていてもよい。
【００９０】
インク量Ｖｃは、カートリッジ２００の液室２１０に貯留されているインクの量を示す。インク量Ｖｓは、タンク１６０の液室１７１に貯留されているインクの量を示す。インク量Ｖｃ、Ｖｓは、例えば、後述する式３、４によって算出される。また、インク量Ｖｓは、関数Ｆ１又は関数Ｆ２によって算出される。インク量Ｖｃは、関数Ｆ１又は関数Ｆ２によって算出されたインク量Ｖｓと、総量Ｖｔとによって算出される。
【００９１】
高さＨｃは、カートリッジ２００に貯留されているインクの液面と基準位置との上下方向の高さを示す。高さＨｓは、タンク１６０に貯留されているインクの液面と基準位置との上下方向の高さを示す。一例として、基準位置は、ニードル１８１の内部空間の中心を通り水平方向（より詳細には、前後方向８）に沿って延びる仮想線の位置でもよい。他の例として、基準位置は、境界位置Ｐと同じ位置でもよい。高さＨｃ、Ｈｓは、例えば、式５、６によって算出される。
【００９２】
流路抵抗Ｒｃは、大気バルブ室２１４を通過する空気が受ける抵抗の大きさを示す。より詳細には、流路抵抗Ｒｃは、大気連通口２２１から貫通孔２１８に至る流路に位置する半透膜を空気が通過する際の抵抗を示す。流路抵抗Ｒｓは、大気連通室１７５を通過する空気が受ける抵抗の大きさを示す。より詳細には、流路抵抗Ｒｓは、大気連通ポート１７７から貫通孔１７６に至る流路に位置する半透膜を空気が通過する際の抵抗を示す。流路抵抗Ｒａは、連通されたインクバルブ室２１３及びニードル１８１の内部空間を通過するインクが受ける抵抗の大きさを示す。より詳細には、流路抵抗Ｒａは、インクバルブ室２１３を通過するインクが受ける抵抗の大きさ、ニードル１８１の内部空間を通過するインクが受ける抵抗の大きさの一方或いは両方を示す。
【００９３】
関数Ｆｃは、インク量Ｖｃ及び高さＨｃの対応関係を示す。カートリッジ２００の液室２１０の水平断面積Ｄｃが上下方向７において変化する場合、関数Ｆｃは、インク量Ｖｃ及び高さＨｃを変数として、カートリッジ２００の設計時に予め決定される。一方、上下方向７における水平断面積Ｄｃが一定の場合、関数Ｆｃ＝Ｖｃ／Ｄｃとなる。なお、関数Ｆｃに代えて、対応するインク量Ｖｃ及び高さＨｃの複数のセットを含むテーブルが用いられてもよい。
【００９４】
関数Ｆｓは、インク量Ｖｓ及び高さＨｓの対応関係を示す。タンク１６０の液室１７１の水平断面積Ｄｓが上下方向７において変化する場合、関数Ｆｓは、インク量Ｖｓ及び高さＨｓを変数として、タンク１６０の設計時に予め決定される。一方、上下方向７における水平断面積Ｄｓが一定の場合、関数Ｆｓ＝Ｖｓ／Ｄｓとなる。なお、関数Ｆｓに代えて、対応するインク量Ｖｓ及び高さＨｓの複数のセットを含むテーブルが用いられてもよい。
【００９５】
関数Ｆ１及び関数Ｆ２は、インクの総量Ｖｔと、インク量Ｖｓとの対応関係を示す情報である。カートリッジ２００の液室２１０内のインクと、タンク１６０の液室１７１内のインクとは、それぞれのインクの液面の上下方向７の位置が一致した状態で平衡になる。つまり、平衡状態では、液室２１０と液室１７１との間でのインクの移動が停止する。平衡状態におけるインクの総量Ｖｔとインク量Ｖｓとの関係は、実測値を関数で近似することができる。
【００９６】
例えば、総量Ｖｔに対するインク量Ｖｓの関係は、２つの関数Ｆ１及び関数Ｆ２によって近似的に表すことができる。関数Ｆ１は、総量Ｖｔが閾値Ｖｈ以上であるときのインク量Ｖｓとの関係を示しており、例えば、Ｖｓ＝ａ×Ｖｔ＋ｂ（ａ，ｂは定数）で表される。関数Ｆ２は、総量Ｖｔが閾値Ｖｈ未満であるときのインク量Ｖｓとの関係を示しており、例えば、Ｖｓ＝ｃ×Ｖｔ＋ｄ（ｃ，ｄは定数）で表される。
【００９７】
閾値Ｖｈは、カートリッジ２００の液室２１０の上部液室２１１に貯留されたインクの液面が、隔壁２１５の上面２１５Ｕ又は下面２１５Ｌと接触するときの総量Ｖｔに相当する値である。したがって、カートリッジ２００の液室２１０において、インクの液面が隔壁２１５より上方にあるときには、すなわち総量Ｖｔが閾値Ｖｈ以上であるときには、関数Ｆ１によってインク量Ｖｓが算出される。カートリッジ２００の液室２１０において、インクの液面が隔壁２１５に接触しているか、或いは隔壁２１５より下方にあるときには、すなわち総量Ｖｔが閾値Ｖｈ未満であるときには、関数Ｆ２によってインク量Ｖｓが算出される。インク量Ｖｃは、総量Ｖｔとインク量Ｖｓとの差として算出される。
【００９８】
カウント値Ｎは、液面センサ１５５から出力される信号がローレベル信号からハイレベル信号に変化した後に、ヘッド２１に排出を指示したインク排出量Ｄｈ（すなわち、駆動信号で示されるインク量）に相当する値で、閾値Ｎｔｈに近づく向きに更新される値である。カウント値Ｎは、初期値を“０”としてカウントアップされる値である。また、閾値Ｎｔｈは、流出口１７４の上端と境界位置Ｐとの間の液室１７１の容積Ｖｔｈに相当する。但し、カウント値Ｎは、容積Ｖｔｈに相当する値を初期値として、カウントダウンされる値でもよい。この場合の閾値Ｎｔｈは、０となる。
【００９９】
カウント値ＴＮは、装着センサ１５４から出力される信号がハイレベル信号からローレベル信号に変化した後に、ヘッド２１に排出を指示したインク排出量Ｄｈ（すなわち、駆動信号で示されるインク量）に相当する値であり、初期値を“０”としてカウントアップされる値である。
【０１００】
Ｃ＿Ｅｍｐｔｙフラグは、カートリッジ２００がカートリッジエンプティ状態か否かを示す情報である。Ｃ＿Ｅｍｐｔｙフラグには、カートリッジエンプティ状態であることに対応する値“ＯＮ”、或いはカートリッジエンプティ状態でないことに対応する値“ＯＦＦ”が設定される。カートリッジエンプティ状態とは、カートリッジ２００（より詳細には、液室２１０）にインクが実質的に貯留されていない状態である。換言すれば、カートリッジエンプティ状態とは、連通されたカートリッジ２００からタンク１６０にインクが移動しない状態である。さらに換言すれば、カートリッジエンプティ状態とは、当該カートリッジ２００に連通されたタンク１６０の液面が境界位置Ｐ未満の状態である。
【０１０１】
Ｓ＿Ｅｍｐｔｙフラグは、タンク１６０がインクエンプティ状態か否かを示す情報である。Ｓ＿Ｅｍｐｔｙフラグには、インクエンプティ状態であることに対応する値“ＯＮ”、或いはインクエンプティ状態でないことに対応する値“ＯＦＦ”が設定される。インクエンプティ状態とは、例えば、タンク１６０（より詳細には、液室１７１）に貯留されたインクの液面が流出口１７４の上端の位置に達した状態である。換言すれば、インクエンプティ状態とは、カウント値Ｎが閾値Ｎｔｈ以上の状態である。インクエンプティ状態になった後にヘッド２１によるインクの吐出を継続すると、ノズル２９内がインクで満たされず、空気が混入してしまう（所謂、エアイン）可能性がある。すなわち、インクエンプティ状態は、ヘッド２１を通じたインクの排出を禁止しなければならない状態である。
【０１０２】
第１初回フラグは、コントローラ１３０が、カートリッジ装着処理にて算出期間の決定に用いられる情報である。第１初回フラグには、カートリッジ装着処理における算出期間の決定が１回目であることに対応する値“ＯＮ”、或いは２回目以降であることに対応する値“ＯＦＦ”が設定される。第２初回フラグは、コントローラ１３０が、残量更新処理にて算出期間の決定に用いられる情報である。第２初回フラグには、残量更新処理算出期間の決定が１回目であることに対応する値“ＯＮ”、或いは２回目以降であることに対応する値“ＯＦＦ”が設定される。
【０１０３】
［プリンタ１０の動作］
図７〜図１０を参照して、本実施形態に係るプリンタ１０の動作を説明する。図７〜図１０に示される各処理は、コントローラ１３０のＣＰＵ１３１によって実行される。なお、以下の各処理は、ＲＯＭ１３２に記憶されているプログラムをＣＰＵ１３１が読み出して実行してもよいし、コントローラ１３０に搭載されたハードウェア回路によって実現されてもよい。また、以下の各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更することができる。
【０１０４】
［カートリッジ装着処理］
コントローラ１３０は、カバーセンサ８８からハイレベル信号を受信したことに応じて、図７に示されるカートリッジ装着処理を実行する。カートリッジ装着処理は、コントローラ１３０が、カバー８７が開かれたことに応じて、カートリッジ２００の装着を待機し、さらにコントローラ１３０が、ＥＥＰＲＯＭ１３４に記憶されたインク量Ｖｃ、Ｖｓ及び高さＨｃ、Ｈｓを更新する処理である。なお、コントローラ１３０は、４つのカートリッジ２００のそれぞれに対して、カートリッジ装着処理を独立して実行する。カートリッジ２００毎のカートリッジ装着処理は共通するので、１つのカートリッジ２００に対応するカートリッジ装着処理のみを説明する。また、以下の説明では、図１１（Ａ）に示されるように、タンク１６０内にインクが貯留されていない状態の装着ケース１５０に、新品（すなわち、最大インク量Ｖｃ０のインクが貯留された）カートリッジ２００が装着された場合を前提とする。
【０１０５】
まず、コントローラ１３０は、装着センサ１５４が出力する信号を受信する（Ｓ１１）。次に、コントローラ１３０は、装着センサ１５４から受信した信号がハイレベル信号及びローレベル信号のどちらであるかを判定する（Ｓ１２）。そして、コントローラ１３０は、装着センサ１５４が出力する信号が、ローレベル信号からハイレベル信号に変化し、再びハイレベル信号からローレベル信号に変化するまで（Ｓ１２：Ｎｏ）、所定の時間間隔でＳ１１、Ｓ１２の処理を繰り返し実行する。換言すれば、コントローラ１３０は、カートリッジ２００が装着ケース１５０から抜き出され、新たにカートリッジ２００が装着ケース１５０に装着されるまで、Ｓ１１、Ｓ１２の処理を繰り返し実行する。
【０１０６】
そして、コントローラ１３０は、装着センサ１５４からローレベル信号を受信し、その後に装着センサ１５４からハイレベル信号を受信し、さらにその後に装着センサ１５４からローレベル信号を受信したことに応じて（Ｓ１２：Ｙｅｓ）、Ｓ１３以降の処理を実行する。まず、コントローラ１３０は、接点１５２を通じてＩＣチップ２４７のメモリからＣＴＧ情報を読み出し、読み出したＣＴＧ情報をＥＥＰＲＯＭ１３４に記憶させる（Ｓ１３）。詳しくは、コントローラ１３０は、接点１５２を通じてＩＣチップ２４７のメモリから、最大インク量Ｖｃ０、粘度ρ、インク量Ｖｃ、高さＨｃ、流路抵抗Ｒｃ、及び関数Ｆｃを読み出して、ＥＥＰＲＯＭ１３４に記憶させる（Ｓ１３）。また、コントローラ１３０は、Ｃ＿Ｅｍｐｔｙフラグに初期値“ＯＦＦ”を設定し、Ｓ＿Ｅｍｐｔｙフラグに初期値“ＯＦＦ”を設定し、カウント値Ｎに初期値“０”を設定する（Ｓ１４）。
【０１０７】
続いて、コントローラ１３０は、現在の時刻を経過時間Ｔ１の開始時刻としてＲＡＭ１３３に記憶させて、経過時間Ｔ１の計測を開始する（Ｓ１５）。
【０１０８】
次に、コントローラ１３０は、第１初回フラグの設定値に“ＯＮ”を設定する（Ｓ１６）。
【０１０９】
次に、コントローラ１３０は、ＥＥＰＲＯＭ１３４に記憶されている現在のインク量Ｖｓを交換後インク量Ｖｓ１としてＥＥＰＲＯＭ１３４に記憶させ、カートリッジ２００のＩＣチップ２４７のメモリに記憶されているインク量Ｖｃを、交換後インク量Ｖｃ１としてＥＥＰＲＯＭ１３４に記憶させる（Ｓ１７）。
【０１１０】
続いて、コントローラ１３０は、コントローラ１３０が信号を受信したか否か、及び、特定動作を開始するか否かを判定する（Ｓ１８）。詳しくは、コントローラ１３０は、カバーセンサ８８からハイレベル信号又はローレベル信号を受信したか否かを判定する。コントローラ１３０は、装着センサ１５４からハイレベル信号又はローレベル信号を受信したか否かを判定する。コントローラ１３０は、トレイセンサ１９からハイレベル信号又はローレベル信号を受信したか否かを判定する。コントローラ１３０は、操作パネル２２から操作信号を受信したか否かを判定する。コントローラ１３０は、通信インタフェース９５から受信信号を受信したか否かを判定する。コントローラ１３０は、パージ処理を開始するか否かを判定する。コントローラ１３０は、スリープ状態への移行を開始するか否かを判定する。
【０１１１】
コントローラ１３０は、上記のいずれかの信号を受信したと判定したこと、又は、パージ処理を開始すると判定したこと、又は、スリープ状態への移行を開始すると判定したことに応じて（Ｓ１８：Ｙｅｓ）、Ｓ１９以降の処理を実行する。詳しくは、コントローラ１３０は、カバーセンサ８８からハイレベル信号又はローレベル信号を受信したと判定したことに応じて（Ｓ１８：Ｙｅｓ）、Ｓ１９以降の処理を実行する。コントローラ１３０は、装着センサ１５４からハイレベル信号又はローレベル信号を受信したと判定したことに応じて（Ｓ１８：Ｙｅｓ）、Ｓ１９以降の処理を実行する。コントローラ１３０は、トレイセンサ１９からハイレベル信号又はローレベル信号を受信したと判定したことに応じて（Ｓ１８：Ｙｅｓ）、Ｓ１９以降の処理を実行する。コントローラ１３０は、操作パネル２２から操作信号を受信したと判定したことに応じて（Ｓ１８：Ｙｅｓ）、Ｓ１９以降の処理を実行する。コントローラ１３０は、通信インタフェース９５から受信信号を受信したと判定したことに応じて（Ｓ１８：Ｙｅｓ）、Ｓ１９以降の処理を実行する。コントローラ１３０は、パージ処理を開始すると判定したことに応じて（Ｓ１８：Ｙｅｓ）、Ｓ１９以降の処理を実行する。コントローラ１３０は、スリープ状態への移行を開始すると判定したことに応じて（Ｓ１８：Ｙｅｓ）、Ｓ１９以降の処理を実行する。
【０１１２】
コントローラ１３０は、第１初回フラグの設定値について判定する（Ｓ１９）。コントローラ１３０は、第１初回フラグの設定値が“ＯＮ”であると判定したことに応じて（Ｓ１９：ＯＮ）、Ｓ１５でＲＡＭ１３３に記憶させた経過時間Ｔ１の開始時刻と現在の時刻とから、経過時間Ｔ１を算出し、算出した経過時間Ｔ１を算出期間Δｔとして決定し、ＲＡＭ１３３に記憶させる（Ｓ２０）。ここで、経過時間Ｔ１は、Ｓ１２にてＹｅｓと判定されてから、Ｓ１８にて初めてＹｅｓと判定されるまでの時間である。決定された算出期間Δｔは、第１期間Δｔ１の一例である。
【０１１３】
コントローラ１３０は、第１初回フラグの設定値が“ＯＦＦ”であると判定したことに応じて（Ｓ１９：ＯＦＦ）、後述するＳ２７でＲＡＭ１３３に記憶させる経過時間Ｔ２の開始時刻と現在の時刻とから、経過時間Ｔ２を算出し、算出した経過時間Ｔ２を算出期間Δｔとして決定し、ＲＡＭ１３３に記憶させる（Ｓ２１）。ここで、経過時間Ｔ２は、Ｓ１８にてＹｅｓと判定されてから、次にＳ１８でＹｅｓと判定されるまでの時間である。決定された算出期間Δｔは、第２期間Δｔ２の一例である。
【０１１４】
また、コントローラ１３０は、Ｓ２０及びＳ２１にて、算出期間Δｔの開始時刻を時刻ｔｋ−１、終了時刻を時刻ｔｋとして決定し、ＲＡＭ１３３に記憶させる（Ｓ２０，Ｓ２１）。時刻ｔｋ−１は、経過時間Ｔ１の開始時刻又は経過時間Ｔ２の開始時刻である。時刻ｔｋは、現在の時刻、すなわちＳ１９の処理を実行した時刻である。
【０１１５】
続いて、コントローラ１３０は、流出量Ｑａ、Ｑｃ、インク量Ｖｃ、Ｖｓ、及び高さＨｃ、Ｈｓを、下記の式１〜式６を用いて算出する（Ｓ２２、Ｓ２３）。
【０１１６】
まず、流出量Ｑａは、流出口１７４を通じて液室１７１から算出期間Δｔの間に流出するインクの量を示す。コントローラ１３０は、式１を用いて、流出量Ｑａを算出する（Ｓ２２）。算出期間Δｔの間にシートへの画像の記録（Ｓ４６）やパージ処理等、ヘッド２１を通じたインクの排出が行われていない場合には、Ｑａ＝０となる。
【０１１７】
【数１】
2019177632.tif 000003
【０１１８】
次に、流出量Ｑｃは、連通されたニードル１８１の内部空間及びインクバルブ室２１３を通じて、算出期間Δｔの間に液室２１０から液室１７１に流出するインクの量を示す。コントローラ１３０は、ＥＥＰＲＯＭ１３４に記憶された高さＨｃ、Ｈｓを、時刻ｔｋ−１における高さＨｃ’、Ｈｓ’として読み出す。また、コントローラ１３０は、粘度ρ、流路抵抗Ｒｃ、Ｒｓ、ＲｎをＥＥＰＲＯＭ１３４から読み出す。そして、コントローラ１３０は、ＥＥＰＲＯＭ１３４から読み出した情報と、重力加速度ｇと、直前に算出した流出量Ｑａ（ヘッド２１を通じたインクの排出が行われていない場合には、Ｑａ＝０）とを式２に代入して、流出量Ｑｃを算出する（Ｓ２２）。
【０１１９】
【数２】
2019177632.tif 000004
【０１２０】
流出量Ｑｃは、式２で示されるように、高さＨｃ’、Ｈｓ’の差（すなわち、水頭差）が大きいほど大きくなり、水頭差が小さいほど小さくなる。また、流出量Ｑｃは、インクが実際に通過するインクバルブ室２１３及びニードル１８１の内部空間の流路抵抗Ｒｎが大きいほど小さくなり、流路抵抗Ｒｎが小さいほど大きくなる。
【０１２１】
また、液室２１０から液室１７１にインクが移動すると、液室２１０は一時的に大気圧から減圧され、液室１７１は一時的に大気圧より加圧される。液室２１０内の圧力と大気圧との圧力差は、大気バルブ室２１４を通じて液室２１０に空気が流入することによって解消される。さらに、流出量Ｑａ＝０の場合において、液室１７１内の圧力と大気圧との圧力差は、大気連通室１７５を通じて液室１７１から空気が流出することによって解消される。
【０１２２】
そして、これらの圧力差は、液室２１０から液室１７１へのインクの移動を阻害する。すなわち、流出量Ｑｃは、流路抵抗Ｒｃが大きいほど小さくなり、流路抵抗Ｒｃが小さいほど大きくなる。また、流出量Ｑａ＝０のときの流出量Ｑｃは、流路抵抗Ｒｓが大きいほど小さくなり、流路抵抗Ｒｓが小さいほど大きくなる。
【０１２３】
次に、コントローラ１３０は、ＥＥＰＲＯＭ１３４に記憶されたインク量Ｖｃを、時刻ｔｋ−１におけるインク量Ｖｃ’として読み出す。そして、コントローラ１３０は、ＥＥＰＲＯＭ１３４から読み出したインク量Ｖｃ’と、直前に算出した流出量Ｑｃとを式３に代入して、時刻ｔｋにおけるインク量Ｖｃを算出する（Ｓ２３）。すなわち、コントローラ１３０は、時刻ｔｋ−１におけるインク量Ｖｃ’から、算出期間Δｔの間に液室２１０から液室１７１に流出したインクの流出量Ｑｃを減じて、時刻ｔｋにおけるインク量Ｖｃを算出する。
【０１２４】
【数３】
2019177632.tif 000005
【０１２５】
またＳ２３において、コントローラ１３０は、ＥＥＰＲＯＭ１３４に記憶されたインク量Ｖｓを、時刻ｔｋ−１におけるインク量Ｖｓ’として読み出す。そして、コントローラ１３０は、ＥＥＰＲＯＭ１３４から読み出したインク量Ｖｓ’と、直前に算出した流出量Ｑａ、Ｑｃとを式４に代入して、時刻ｔｋにおけるインク量Ｖｓを算出する。すなわち、コントローラ１３０は、時刻ｔｋ−１におけるインク量Ｖｓ’に、算出期間Δｔの間にタンク１６０から流出したインクの流出量Ｑａを減じ、且つ算出期間Δｔの間に液室２１０から液室１７１に流出したインクの流出量Ｑｃを加えて、時刻ｔｋにおけるインク量Ｖｓを算出する。
【０１２６】
【数４】
2019177632.tif 000006
【０１２７】
またＳ２３において、コントローラ１３０は、ＥＥＰＲＯＭ１３４に記憶された関数Ｆｃを読み出す。そして、コントローラ１３０は、式５で示されるように、式３で算出したインク量Ｖｃを関数Ｆｃに代入して、時刻ｔｋにおける高さＨｃを特定する。さらにＳ２３において、コントローラ１３０は、式４で算出したインク量Ｖｓと容積Ｖｔｈとを比較する。そして、コントローラ１３０は、式４で算出したインク量Ｖｓが容積Ｖｔｈ以下（すなわち、図１１（Ａ）に示されるように、液室１７１の液面が境界位置Ｐ以下）だと判定したことに応じて、式６で示されるように時刻ｔｋにおける高さＨｓ＝０と特定する。一方、コントローラ１３０は、インク量Ｖｓが容積Ｖｔｈより多い（すなわち、図１１（Ｂ）及び図１２（Ａ）に示されるように、液室１７１の液面が境界位置Ｐより高い）と判定したことに応じて、ＥＥＰＲＯＭ１３４から関数Ｆｓを読み出す。そして、コントローラ１３０は、式６で示されるように、式４で算出したインク量Ｖｓを関数Ｆｓに代入して、時刻ｔｋにおける高さＨｓを特定する（Ｓ２３）。
【０１２８】
【数５】
2019177632.tif 000007
【０１２９】
【数６】
2019177632.tif 000008
【０１３０】
次に、コントローラ１３０は、Ｓ２３で算出したインク量Ｖｃ、Ｖｓ及び高さＨｃ、ＨｓをＥＥＰＲＯＭ１３４に記憶させる（Ｓ２４）。より詳細には、コントローラ１３０は、ＥＥＰＲＯＭ１３４に記憶されているインク量Ｖｃ、Ｖｓ及び高さＨｃ、Ｈｓを、直前のＳ２３で算出したインク量Ｖｃ、Ｖｓ及び高さＨｃ、Ｈｓで上書きする。
【０１３１】
また、コントローラ１３０は、Ｓ２３で算出したインク量Ｖｃ及び高さＨｃを、接点１５２を通じてＩＣチップ２４７のメモリに記憶させる（Ｓ２５）。より詳細には、コントローラ１３０は、ＩＣチップ２４７のメモリの第２領域に記憶されているインク量Ｖｃ及び高さＨｃを、直前のＳ２３で算出したインク量Ｖｃ及び高さＨｃで上書きする。
【０１３２】
そして、コントローラ１３０は、インク残量画面をディスプレイ１７に表示させる（Ｓ２６）。インク残量画面は、算出したインク量Ｖｃ及びインク量Ｖｓの双方をユーザに報知するための画面である。図１３に、インク残量画面の例を示す。図示例のインク残量画面は、マゼンタ、シアン、イエロー、及びブラックの各カートリッジ２００のインク量Ｖｃを示すオブジェクト２７４Ｍ、２７４Ｃ、２７４Ｙ、２７４Ｂを有する。これらオブジェクトの縦方向７１の大きさが、各色のインク量Ｖｃを示している。インク残量画面は、マゼンタ、シアン、イエロー、及びブラックの各タンク１６０のインク残量Ｖｓを示すオブジェクト２７５Ｍ、２７５Ｃ、２７５Ｙ、２７５Ｂを有する。これらオブジェクトの縦方向７１の大きさが、各色のインク量Ｖｓを示している。オブジェクト２７４Ｍの縦方向７１の大きさと、オブジェクト２７５Ｍの縦方向７１の大きさの和が、マゼンタのインク残量ＶｃとＶｓとの和、すなわちマゼンタのインクの総量Ｖｔを示している。シアン、イエロー、及びブラックについても同様である。
【０１３３】
次に、コントローラ１３０は、現在の時刻を経過時間Ｔ２の開始時刻としてＲＡＭ１３３に記憶させて、経過時間Ｔ２の計測を開始する（Ｓ２７）。
【０１３４】
続いて、コントローラ１３０は、第１初回フラグの設定値に“ＯＦＦ”を設定する（Ｓ２８）。
【０１３５】
次に、コントローラ１３０は、直前のＳ２３で算出した高さＨｃ、Ｈｓの差と閾値高さＨｔｈとを比較する（Ｓ２９）。閾値高さＨｔｈは、液室２１０、１７１の間において、実質的にインクが移動しないと考えられる水頭差を示す。閾値高さＨｔｈは、例えば、０である。液室２１０、１７１の間において、実質的にインクが移動しない状態を、平衡状態とする。すなわち、この平衡状態では、液室２１０、１７１の水頭差が実質的に０である。コントローラ１３０は、高さＨｃ、Ｈｓの差が閾値高さＨｔｈ以上だと判定したことに応じて（Ｓ２９：Ｎｏ）、Ｓ１８以降の処理を再び実行する。コントローラ１３０は、高さＨｃ、Ｈｓの差が閾値高さＨｔｈ未満だと判定したことに応じて（Ｓ２９：Ｙｅｓ）、カートリッジ装着処理を終了する。
【０１３６】
コントローラ１３０は、Ｓ１８にて、いずれの信号も受信しておらず、且つ、パージ処理を開始せず、且つ、スリープ状態への移行を開始しないと判定したことに応じて（Ｓ１８：Ｎｏ）、上記経過時間Ｔ１が閾値時間Ｔｈ１を越えたか否かを判定する（Ｓ３０）。経過時間Ｔ１は、Ｓ１５でＲＡＭ１３３に記憶させた経過時間Ｔ１の開始時刻と現在の時刻との差の時間である。コントローラ１３０は、経過時間Ｔ１が閾値時間Ｔｈ１を越えていないと判定したことに応じて（Ｓ３０：Ｎｏ）、Ｓ１８の処理を再び実行する。
【０１３７】
コントローラ１３０は、経過時間Ｔ１が閾値時間Ｔｈ１を越えたと判定したことに応じて（Ｓ３０：Ｙｅｓ）、カートリッジ２００からタンク１６０へのインクの流入が完了した状態のインク量Ｖｃ、Ｖｓ、液面高さＨｃ、Ｈｓを算出する（Ｓ３１）。
【０１３８】
まず、コントローラ１３０は、Ｓ１７でＥＥＰＲＯＭ１３４に記憶させた交換後インク量Ｖｃ１とＶｓ１との和を、交換後の総量Ｖｔ１として算出する（Ｖｔ１＝Ｖｃ１＋Ｖｓ１）。次に、コントローラ１３０は、算出した総量Ｖｔと、ＥＥＰＲＯＭ１３４から読み出した関数Ｆ１又は関数Ｆ２に基づいて、液室２１０から液室１７１へのインクの移動が終了したときのインク量Ｖｃ及びインク量Ｖｓを算出する。カートリッジが交換されると、新たなカートリッジ２００の液室２１０に貯留されているインクが、インクニードル１８１を通じてタンク１６０の液室１７１に流入する。その結果、液室２１０のインク量Ｖｃは減少し、また、液室１７１のインク量Ｖｓは増加する。そして、カートリッジ２００の液室２１０と、タンク１６０の液室１７１とは、それぞれの液面の上下方向７の位置が一致した状態で平衡になる。
【０１３９】
コントローラ１３０は、算出した総量Ｖｔが閾値Ｖｈ以上であるかを判定する。例えば、新品のカートリッジ２００が装着ケース１５０に装着されると、総量Ｖｔは閾値Ｖｈ以上である。コントローラ１３０は、総量Ｖｔが閾値Ｖｈ以上であれば、関数Ｆ１を用いて、総量Ｖｔからインク量Ｖｓを算出する。すなわち、コントローラ１３０は、関数Ｆ１が示すＶｓ＝ａ×Ｖｔ＋ｂに従って、インク量Ｖｓを算出する。そして、コントローラ１３０は、算出したインク量Ｖｓを現在の総量Ｖｔから減じて、インク量Ｖｃを算出する。すなわち、コントローラ１３０は、Ｖｃ＝Ｖｔ−Ｖｓに従って、インク量Ｖｃを算出する。続いて、コントローラ１３０は、算出したインク量Ｖｃ、Ｖｓと、ＥＥＰＲＯＭ１３４から読み出した関数Ｆｃ，Ｆｓとに基づいて、Ｓ２３と同様の処理により、高さＨｃ、Ｈｓを決定する。
【０１４０】
次に、コントローラ１３０は、Ｓ３１で算出したインク量Ｖｃ、Ｖｓ及び高さＨｃ、ＨｓをＥＥＰＲＯＭ１３４に記憶させる（Ｓ３２）。より詳細には、コントローラ１３０は、ＥＥＰＲＯＭ１３４に記憶されているインク量Ｖｃ、Ｖｓ及び高さＨｃ、Ｈｓを、直前のＳ３１で算出したインク量Ｖｃ、Ｖｓ及び高さＨｃ、Ｈｓで上書きする。
【０１４１】
また、コントローラ１３０は、Ｓ３１で算出したインク量Ｖｃ及び高さＨｃを、接点１５２を通じてＩＣチップ２４７のメモリに記憶させる（Ｓ３３）。より詳細には、コントローラ１３０は、ＩＣチップ２４７のメモリの第２領域に記憶されているインク量Ｖｃ及び高さＨｃを、直前のＳ３１で算出したインク量Ｖｃ及び高さＨｃで上書きする。
【０１４２】
続いて、コントローラ１３０は、インク残量画面をディスプレイ１７に表示させる（Ｓ３４）。インク残量画面は、Ｓ２６でディスプレイ１７に表示させるインク残量画面と同様であってよい。そして、コントローラ１３０は、カートリッジ装着処理を終了する。
【０１４３】
［画像記録処理］
コントローラ１３０は、プリンタ１０に記録指示が入力されたことに応じて、図８に示される画像記録処理を実行する。記録指示は、画像データで示される画像をシートに記録する記録処理をプリンタ１０に実行させるための排出指示の一例である。記録指示の取得方法は特に限定されないが、例えば、記録指示に対応するユーザ操作を操作パネル２２を通じて受け付けてもよいし、不図示の通信インタフェースを通じて外部装置から受信してもよい。
【０１４４】
まず、コントローラ１３０は、４つのＳ＿Ｅｍｐｔｙフラグそれぞれの設定値を判定する（Ｓ４１）。そして、コントローラ１３０は、４つのＳ＿Ｅｍｐｔｙフラグの少なくとも１つに“ＯＮ”が設定されていると判定したことに応じて（Ｓ４１：ＯＮ）、Ｓ＿Ｅｍｐｔｙ報知画面をディスプレイ１７に表示させる（Ｓ４２）。Ｓ＿Ｅｍｐｔｙ報知画面は、対応するタンク１６０がインクエンプティ状態になったことを、ユーザに報知するための画面である。Ｓ＿Ｅｍｐｔｙ報知画面は、例えば、インクエンプティ状態のタンク１６０に貯留されているインクの色及びインク量Ｖｃ、Ｖｓを示す情報を含んでもよい。
【０１４５】
続いて、コントローラ１３０は、“ＯＮ”が設定されたＳ＿Ｅｍｐｔｙフラグに対応するカートリッジ２００それぞれに対して、上述したカートリッジ装着処理を実行する（Ｓ４３）。そして、コントローラ１３０は、Ｓ＿Ｅｍｐｔｙフラグに“ＯＦＦ”が設定された後（Ｓ１４）、カートリッジ装着処理と平行して、Ｓ４１以降の処理を再び実行する。そして、コントローラ１３０は、４つのＳ＿Ｅｍｐｔｙフラグの全てに“ＯＦＦ”が設定されていることに応じて（Ｓ４１：ＯＦＦ）、現時点で４つの液面センサ１５５それぞれから出力されている信号を受信する（Ｓ４４）。さらにＳ４４において、コントローラ１３０は、液面センサ１５５から受信した信号がハイレベル信号及びローレベル信号のどちらかを示す情報を、ＲＡＭ１３３に記憶させる。
【０１４６】
そして、コントローラ１３０は、記録指示に含まれる画像データで示される画像をシートに記録する（Ｓ４５）。より詳細には、コントローラ１３０は、給送トレイ１５上のシートを給送ローラ２３及び搬送ローラ２５に搬送させ、ヘッド２１にインクを吐出させ、画像が記録されたシートを排出ローラ２７に排出トレイ１６へ排出させる。すなわち、コントローラ１３０は、４つのＳ＿Ｅｍｐｔｙフラグの全てに“ＯＦＦ”が設定されているときにインクの吐出を許可する。一方、コントローラ１３０は、４つのＳ＿Ｅｍｐｔｙフラグの少なくとも１つに“ＯＮ”が設定されているときにインクの吐出を禁止する。
【０１４７】
次に、コントローラ１３０は、記録指示に従ってシートに画像を記録したことに応じて、現時点で４つの液面センサ１５５それぞれから出力されている信号を受信する（Ｓ４６）。Ｓ４６において、Ｓ４４と同様に、コントローラ１３０は、液面センサ１５５から受信した信号がハイレベル信号及びローレベル信号のどちらかを示す情報を、ＲＡＭ１３３に記憶させる。
【０１４８】
続いて、コントローラ１３０は、現在の時刻を経過時間Ｔ３の開始時刻としてＲＡＭ１３３に記憶させて、経過時間Ｔ３の計測を開始する（Ｓ４７）。また、コントローラ１３０は、２ページ目以降のシートへの画像記録（Ｓ４５）を行った場合には、第３タイマの再スタート又は開始時刻の記憶（Ｓ４７）を実行せず、経過時間Ｔ３の計測を継続する。
【０１４９】
そして、コントローラ１３０は、カウント処理を実行する（Ｓ４８）。カウント処理は、Ｓ４４、Ｓ４６で液面センサ１５５から受信した信号に基づいて、カウント値Ｎ、Ｃ＿Ｅｍｐｔｙフラグ、及びＳ＿Ｅｍｐｔｙフラグを更新する処理である。カウント処理の詳細は、図９を参照して後述する。
【０１５０】
次に、コントローラ１３０は、記録指示で示された全ての画像をシートに記録するまで（Ｓ４９：Ｙｅｓ）、Ｓ４１〜Ｓ４８の処理を繰り返し実行する。そして、コントローラ１３０は、記録指示で示される全ての画像をシートに記録したことに応じて（Ｓ４９：Ｎｏ）、残量更新処理を実行する（Ｓ５０）。残量更新処理は、コントローラ１３０が、ヘッド２１からインクが吐出されたことに応じて、ＥＥＰＲＯＭ１３４に記憶されたインク量Ｖｃ、Ｖｓ及び高さＨｃ、Ｈｓを更新する処理である。残量更新処理の詳細は、図１０を参照して後述する。コントローラ１３０は、残量更新処理と並行して或いは残量更新処理が終了したことに応じて、Ｓ５１以降の処理を実行する。
【０１５１】
コントローラ１３０は、４つのＳ＿Ｅｍｐｔｙフラグそれぞれの設定値及び４つのＣ＿Ｅｍｐｔｙフラグそれぞれの設定値を判定する（Ｓ５１、Ｓ５２）。
【０１５２】
コントローラ１３０は、４つのＳ＿Ｅｍｐｔｙフラグの少なくとも１つに“ＯＮ”が設定されていることに応じて（Ｓ５１：ＯＮ）、Ｓ＿Ｅｍｐｔｙ報知画面をディスプレイ１７に表示させる（Ｓ５３）。また、コントローラ１３０は、４つのＳ＿Ｅｍｐｔｙフラグの全てに“ＯＦＦ”が設定されており、且つ４つのＣ＿Ｅｍｐｔｙフラグの少なくとも１つに“ＯＮ”が設定されていることに応じて（Ｓ５１：ＯＦＦ＆Ｓ５２：ＯＮ）、Ｃ＿Ｅｍｐｔｙ報知画面をディスプレイ１７に表示させる（Ｓ５４）。Ｓ５３、Ｓ５４の処理は、報知機を作動させることの一例である。
【０１５３】
Ｓ５３で表示されるＳ＿Ｅｍｐｔｙ報知画面は、Ｓ４２と同様であってもよい。また、Ｃ＿Ｅｍｐｔｙ報知画面は、“ＯＮ”が設定されたＣ＿Ｅｍｐｔｙフラグに対応するカートリッジ２００がカートリッジエンプティ状態になったことを、ユーザに報知するための画面である。Ｃ＿Ｅｍｐｔｙ報知画面は、例えば、カートリッジエンプティ状態のカートリッジ２００に貯留されているインクの色及びインク量Ｖｃ、Ｖｓを示す情報を含んでもよい。一方、コントローラ１３０は、４つのＳ＿Ｅｍｐｔｙフラグ及び４つのＣ＿Ｅｍｐｔｙフラグの全てに“ＯＦＦ”が設定されていることに応じて（Ｓ５２：ＯＦＦ）、Ｓ５３、Ｓ５４の処理を実行せずに、画像記録処理を終了する。
【０１５４】
なお、排出指示の具体例は記録指示に限定されず、ノズル２９のメンテナンスを指示するメンテナンス指示等であってもよい。コントローラ１３０は、例えばメンテナンス指示を受信したことに応じて、図８と同様の処理を実行する。メンテナンス指示を受信した場合の前述の処理との相違点は、以下の通りである。まず、コントローラ１３０は、Ｓ４５において、不図示のメンテナンス機構を駆動させて、ノズル２９を通じてインクを排出させる。また、コントローラ１３０は、カウント処理を実行した後にＳ４９の処理を実行することなく、Ｓ５０以降の処理を実行する。
【０１５５】
［カウント処理］
次に図９を参照して、Ｓ４８でコントローラ１３０が実行するカウント処理の詳細を説明する。なお、コントローラ１３０は、４つのカートリッジ２００のそれぞれに対して、カウント処理を独立して実行する。カートリッジ２００毎のカウント処理は共通するので、１つのカートリッジ２００に対応するカウント処理のみを説明する。
【０１５６】
まず、コントローラ１３０は、Ｓ４４、Ｓ４６でＲＡＭ１３３に記憶させた液面センサ１５５の信号を示す情報を比較する（Ｓ６１）。すなわち、コントローラ１３０は、カウント処理（Ｓ４８）を実行する直前のＳ４５の処理を実行する前と後とで、４つの液面センサ１５５それぞれの信号が変化したか否かを判定する。
【０１５７】
コントローラ１３０は、Ｓ４４、Ｓ４６でＲＡＭ１３３に記憶させた情報が共にローレベル信号を示す（すなわち、Ｓ４５の処理の前後で液面センサ１５５の信号出力が変化していない）ことに応じて（Ｓ６１：Ｌ→Ｌ）、カウント値ＴＮを更新する（Ｓ６２）。すなわち、コントローラ１３０は、直前のＳ４５で排出を指示したインク量に相当する値で、カウント値ＴＮをカウントアップする。そして、コントローラ１３０は、カウント処理を終了する。
【０１５８】
コントローラ１３０は、Ｓ４４でＲＡＭ１３３に記憶させた情報がローレベル信号を示し、Ｓ４６でＲＡＭ１３３に記憶させた情報がハイレベル信号を示す（すなわち、Ｓ４５の処理の前後で液面センサ１５５の信号出力が変化した）ことに応じて（Ｓ６１：Ｌ→Ｈ）、Ｃ＿Ｅｍｐｔｙフラグに“ＯＮ”を設定する（Ｓ６３）。
【０１５９】
また、コントローラ１３０は、ＥＥＰＲＯＭ１３４に記憶されたインク量Ｖｃを、予め定められた所定値（＝０）で上書きする（Ｓ６４）。同様に、コントローラ１３０は、ＥＥＰＲＯＭ１３４に記憶されたインク量Ｖｓを、予め定められた所定値（＝容積Ｖｔｈ−インク排出量Ｄｈ）で上書きする（Ｓ６４）。第１、残量更新処理で算出されるインク量Ｖｃ、Ｖｓは誤差を含むので、算出の繰り返し回数が増えるほど、インク量Ｖｃ、Ｖｓに累積される誤差が大きくなる。そこで、コントローラ１３０は、液面センサ１５５の出力がローレベル信号からハイレベル信号に変化したタイミングで、インク量Ｖｃ、Ｖｓに予め定められた値を代入して、累積した誤差をリセットする。
【０１６０】
なお前述したように、インク排出量Ｄｈは、直前のＳ４５で１枚のシートに吐出されるインク量に相当する。一方、液面センサ１５５の信号出力が変化するのは、Ｓ４５の処理の途中である。すなわち、Ｓ６４で上書きされたインク量Ｖｓは、液面センサ１５５の信号出力が変化した瞬間にタンク１６０に貯留されているインクの量とは僅かにズレを生じている。しかしながら、このズレは僅かなので、Ｓ６４で上書きしたインク量Ｖｓを、液面センサ１５５の信号出力が変化した時点のインク量Ｖｓとして扱うものとする。
【０１６１】
また、コントローラ１３０は、ＥＥＰＲＯＭ１３４に記憶されたカウント値Ｎに、インク排出量Ｄｈを代入する（Ｓ６５）。すなわち、コントローラ１３０は、直前のＳ４５で排出を指示したインク量に相当する値で、カウント値Ｎのカウントアップを開始する。換言すれば、コントローラ１３０は、液面センサ１５５の出力がローレベル信号からハイレベル信号に変化したことに応じて、カウント値Ｎの更新を開始する。
【０１６２】
次に、コントローラ１３０は、Ｓ６５で更新したカウント値Ｎと、閾値Ｎｔｈとを比較する（Ｓ６６）。そして、コントローラ１３０は、Ｓ６５で更新したカウント値Ｎが閾値Ｎｔｈ未満だと判定したことに応じて（Ｓ６６：Ｎｏ）、カウント処理を終了する。一方、コントローラ１３０は、Ｓ６５で更新したカウント値Ｎが閾値Ｎｔｈ以上だと判定したことに応じて（Ｓ６６：Ｙｅｓ）、Ｓ＿Ｅｍｐｔｙフラグに“ＯＮ”を設定して（Ｓ６７）、カウント処理を終了する。
【０１６３】
また、コントローラ１３０は、Ｓ４４、Ｓ４６でＲＡＭ１３３に記憶させた情報が共にハイレベル信号を示すことに応じて（Ｓ６１：Ｈ→Ｈ）、ＥＥＰＲＯＭ１３４に記憶されているインク量Ｖｓを読み出す。そして、コントローラ１３０は、読み出したインク量Ｖｓからインク排出量Ｄｈを減じて、再びＥＥＰＲＯＭ１３４に記憶させる（Ｓ６８）。また、コントローラ１３０は、ＥＥＰＲＯＭ１３４に記憶されているカウント値Ｎを読み出す。そして、コントローラ１３０は、読み出したカウント値Ｎにインク排出量Ｄｈを加算して、再びＥＥＰＲＯＭ１３４に記憶させる（Ｓ６９）。すなわち、コントローラ１３０は、直前のＳ４５で排出を指示したインク排出量Ｄｈで、ＥＥＰＲＯＭ１３４に記憶されたインク量Ｖｓ及びカウント値Ｎを更新する。
【０１６４】
次に、コントローラ１３０は、Ｓ６９で更新したカウント値Ｎと、閾値Ｎｔｈとを比較する（Ｓ６６）。そして、コントローラ１３０は、Ｓ６９で更新したカウント値Ｎが閾値Ｎｔｈ未満だと判定したことに応じて（Ｓ６６：Ｎｏ）、カウント処理を終了する。一方、コントローラ１３０は、Ｓ６９で更新したカウント値Ｎが閾値Ｎｔｈ以上だと判定したことに応じて（Ｓ６６：Ｙｅｓ）、Ｓ＿Ｅｍｐｔｙフラグに“ＯＮ”を設定して（Ｓ６７）、カウント処理を終了する。
【０１６５】
［残量更新処理］
次に図１０を参照して、コントローラ１３０がＳ５０で実行する残量更新処理の詳細を説明する。なお、コントローラ１３０は、４つのカートリッジ２００のそれぞれに対して、残量更新処理を独立して実行する。カートリッジ２００毎の残量更新処理は共通するので、１つのカートリッジ２００に対応する残量更新処理のみを説明する。
【０１６６】
まず、コントローラ１３０は、Ｃ＿Ｅｍｐｔｙフラグの設定値について判定する（Ｓ７１）。コントローラ１３０は、Ｃ＿Ｅｍｐｔｙフラグの設定値が“ＯＮ”であると判定したことに応じて（Ｓ７１：ＯＮ）、残量更新処理を終了する。Ｃ＿Ｅｍｐｔｙに“ＯＮ”が設定されるのは（Ｓ６３）、液面センサ１５５の出力がローレベル信号からハイレベル信号に変化した場合である（Ｓ：５１：Ｌ→Ｈ）。このとき、タンク１６０の液室１７１の液面が、図１２（Ｂ）に示されるように、Ｓ４５の処理中に境界位置Ｐに達している。そして、これ以降は、カートリッジ２００とタンク１６０との間でインクが移動しないため、インク量Ｖｃを更新する必要がない。そこで図１０に示されるように、コントローラ１３０は、Ｃ＿Ｅｍｐｔｙフラグに“ＯＮ”が設定されていることに応じて（Ｓ７１：ＯＮ）、残量更新処理を終了する。なお、インク量Ｖｓは、Ｃ＿Ｅｍｐｔｙフラグに“ＯＮ”が設定された後、カウント処理のＳ６８で更新される。
【０１６７】
コントローラ１３０は、Ｃ＿Ｅｍｐｔｙフラグの設定値が“ＯＦＦ”であると判定したことに応じて（Ｓ７１：ＯＦＦ）、算出期間Δｔを決定する（Ｓ７２）。詳しくは、コントローラ１３０は、Ｓ４５で１ページ目のシートの画像記録のためにヘッド２１からのインクの排出が開始されてから、全ページのシートの画像記録が終了するまで（Ｓ４９：Ｎｏ）の期間を、算出期間Δｔとして決定し、ＲＡＭ１３３に記憶させる（Ｓ７２）。また、コントローラ１３０は、算出期間Δｔの開始時刻を時刻ｔｋ−１、終了時刻を時刻ｔｋとして決定し、ＲＡＭ１３３に記憶させる。時刻ｔｋ−１は、Ｓ４５で１ページ目のシートの画像記録のためにヘッド２１からのインクの排出を開始した時刻である。時刻ｔｋは、全ページのシートの画像記録が終了した（Ｓ４９：Ｎｏ）時刻であり、Ｓ７２の処理を実行した時刻である。決定された算出期間Δｔは、排出期間Δｔｈの一例である。
【０１６８】
次に、コントローラ１３０は、流出量Ｑａ、Ｑｃ、インク量Ｖｃ、Ｖｓ、及び高さＨｃ、Ｈｓを、上述の式１〜式６を用いて算出する（Ｓ７３、Ｓ７４）。まず、コントローラ１３０は、式１を用いて、算出期間Δｔの間の流出量Ｑａを算出する（Ｓ７３）。インク排出量Ｄｈ（ｔｋ−１）は、今回の画像記録処理のＳ４５の開始までに排出を指示したインク量に相当する。なお、時刻ｔｋ−１は、Ｓ４５で１ページ目のシートへの画像記録のためにヘッド２１からのインクの排出を開始した時刻であり、時刻ｔｋ−１では未だインクの排出を行っていないので、インク排出量Ｄｈ（ｔｋ−１）はゼロである。インク排出量Ｄｈ（ｔｋ）は、今回の画像記録処理の全ページの画像記録が終了したときまでに排出を指示したインク量に相当する。
【０１６９】
次に、コントローラ１３０は、式２を用いて、算出期間Δｔの間の液室２１０から液室１７１へのインクの流出量Ｑｃを算出する。コントローラ１３０は、ＥＥＰＲＯＭ１３４に記憶された高さＨｃ、Ｈｓを、時刻ｔｋ−１における高さＨｃ’、Ｈｓ’として読み出す。また、コントローラ１３０は、粘度ρ、流路抵抗Ｒｃ、Ｒｓ、ＲｎをＥＥＰＲＯＭ１３４から読み出す。そして、コントローラ１３０は、ＥＥＰＲＯＭ１３４から読み出した情報と、重力加速度ｇと、直前に算出した流出量Ｑａとを式２に代入して、流出量Ｑｃを算出する（Ｓ７３）。
【０１７０】
次に、コントローラ１３０は、ＥＥＰＲＯＭ１３４に記憶されたインク量Ｖｃを、時刻ｔｋ−１におけるインク量Ｖｃ’として読み出す。そして、コントローラ１３０は、ＥＥＰＲＯＭ１３４から読み出したインク量Ｖｃ’と、直前に算出した流出量Ｑｃとを式３に代入して、時刻ｔｋにおけるインク量Ｖｃを算出する（Ｓ７４）。すなわち、コントローラ１３０は、時刻ｔｋ−１におけるインク量Ｖｃ’から、算出期間Δｔの間に液室２１０から液室１７１に流出したインクの流出量Ｑｃを減じて、時刻ｔｋにおけるインク量Ｖｃを算出する。
【０１７１】
またＳ７４において、コントローラ１３０は、ＥＥＰＲＯＭ１３４に記憶されたインク量Ｖｓを、時刻ｔｋ−１におけるインク量Ｖｓ’として読み出す。そして、コントローラ１３０は、ＥＥＰＲＯＭ１３４から読み出したインク量Ｖｓ’と、直前に算出した流出量Ｑａ、Ｑｃとを式４に代入して、時刻ｔｋにおけるインク量Ｖｓを算出する。すなわち、コントローラ１３０は、時刻ｔｋ−１におけるインク量Ｖｓ’に、算出期間Δｔの間にタンク１６０から流出したインクの流出量Ｑａを減じ、且つ算出期間Δｔの間に液室２１０から液室１７１に流出したインクの流出量Ｑｃを加えて、時刻ｔｋにおけるインク量Ｖｓを算出する。
【０１７２】
またＳ７４において、コントローラ１３０は、ＥＥＰＲＯＭ１３４に記憶された関数Ｆｃを読み出す。そして、コントローラ１３０は、式５で示されるように、式３で算出したインク量Ｖｃを関数Ｆｃに代入して、時刻ｔｋにおける高さＨｃを特定する。さらにＳ７４において、コントローラ１３０は、ＥＥＰＲＯＭ１３４から関数Ｆｓを読み出す。そして、コントローラ１３０は、式６で示されるように、式４で算出したインク量Ｖｓを関数Ｆｓに代入して、時刻ｔｋにおける高さＨｓを特定する（Ｓ７４）。
【０１７３】
次に、コントローラ１３０は、Ｓ７４で算出したインク量Ｖｃ、Ｖｓ及び高さＨｃ、ＨｓをＥＥＰＲＯＭ１３４に記憶させる（Ｓ７５）。より詳細には、コントローラ１３０は、ＥＥＰＲＯＭ１３４に記憶されているインク量Ｖｃ、Ｖｓ及び高さＨｃ、Ｈｓを、直前のＳ７４で算出したインク量Ｖｃ、Ｖｓ及び高さＨｃ、Ｈｓで上書きする。
【０１７４】
また、コントローラ１３０は、Ｓ７４で算出したインク量Ｖｃ及び高さＨｃを、接点１５２を通じてＩＣチップ２４７のメモリに記憶させる（Ｓ７６）。より詳細には、コントローラ１３０は、ＩＣチップ２４７のメモリの第２領域に記憶されているインク量Ｖｃ及び高さＨｃを、直前のＳ７４で算出したインク量Ｖｃ及び高さＨｃで上書きする。
【０１７５】
続いて、コントローラ１３０は、インク残量画面をディスプレイ１７に表示させる（Ｓ７７）。インク残量画面は、Ｓ２６でディスプレイ１７に表示させるインク残量画面と同様であってよい。
【０１７６】
次に、コントローラ１３０は、現在の時刻を経過時間Ｔ４の開始時刻としてＲＡＭ１３３に記憶させて、経過時間Ｔ４の計測を開始する（Ｓ７８）。
【０１７７】
続いて、コントローラ１３０は、第２初回フラグの設定値に“ＯＮ”を設定する（Ｓ７９）。
【０１７８】
次に、コントローラ１３０は、直前のＳ７４で算出した高さＨｃ、Ｈｓの差と閾値高さＨｔｈとを比較する（Ｓ８０）。コントローラ１３０は、高さＨｃ、Ｈｓの差が閾値高さＨｔｈ以上だと判定したことに応じて（Ｓ８０：Ｎｏ）、Ｓ８１以降の処理を実行する。コントローラ１３０は、高さＨｃ、Ｈｓの差が閾値高さＨｔｈ未満だと判定したことに応じて（Ｓ８０：Ｙｅｓ）、残量更新処理を終了する。
【０１７９】
コントローラ１３０は、コントローラ１３０が信号を受信したか否か、及び、特定動作を開始するか否かを判定する（Ｓ８１）。詳しくは、コントローラ１３０は、カバーセンサ８８からハイレベル信号又はローレベル信号を受信したか否かを判定する。コントローラ１３０は、装着センサ１５４からハイレベル信号又はローレベル信号を受信したか否かを判定する。コントローラ１３０は、トレイセンサ１９からハイレベル信号又はローレベル信号を受信したか否かを判定する。コントローラ１３０は、操作パネル２２から操作信号を受信したか否かを判定する。コントローラ１３０は、通信インタフェース９５から受信信号を受信したか否かを判定する。コントローラ１３０は、パージ処理を開始するか否かを判定する。コントローラ１３０は、スリープ状態への移行を開始するか否かを判定する。
【０１８０】
コントローラ１３０は、上記のいずれかの信号を受信したと判定したこと、又は、パージ処理を開始すると判定したこと、又は、スリープ状態への移行を開始すると判定したことに応じて（Ｓ８１：Ｙｅｓ）、Ｓ８２以降の処理を実行する。詳しくは、コントローラ１３０は、カバーセンサ８８からハイレベル信号又はローレベル信号を受信したと判定したことに応じて（Ｓ８１：Ｙｅｓ）、Ｓ８２以降の処理を実行する。コントローラ１３０は、装着センサ１５４からハイレベル信号又はローレベル信号を受信したと判定したことに応じて（Ｓ８１：Ｙｅｓ）、Ｓ８２以降の処理を実行する。コントローラ１３０は、トレイセンサ１９からハイレベル信号又はローレベル信号を受信したと判定したことに応じて（Ｓ８１：Ｙｅｓ）、Ｓ８２以降の処理を実行する。コントローラ１３０は、操作パネル２２から操作信号を受信したと判定したことに応じて（Ｓ８１：Ｙｅｓ）、Ｓ８２以降の処理を実行する。コントローラ１３０は、通信インタフェース９５から受信信号を受信したと判定したことに応じて（Ｓ８１：Ｙｅｓ）、Ｓ８２以降の処理を実行する。コントローラ１３０は、パージ処理を開始すると判定したことに応じて（Ｓ８１：Ｙｅｓ）、Ｓ８２以降の処理を実行する。コントローラ１３０は、スリープ状態への移行を開始すると判定したことに応じて（Ｓ８１：Ｙｅｓ）、Ｓ８２以降の処理を実行する。
【０１８１】
コントローラ１３０は、第２初回フラグの設定値について判定する（Ｓ８２）。コントローラ１３０は、第２初回フラグの設定値が“ＯＮ”であると判定したことに応じて（Ｓ８２：ＯＮ）、Ｓ７８でＲＡＭ１３３に記憶させた経過時間Ｔ４の開始時刻と現在の時刻とから、経過時間Ｔ４を算出し、算出した経過時間Ｔ４を算出期間Δｔとして決定し、ＲＡＭ１３３に記憶させる（Ｓ８３）。ここで、経過時間Ｔ４は、Ｓ４０でＮｏと判定されてから、Ｓ８１にて初めてＹｅｓと判定されるまでの時間である。決定された算出期間Δｔは、排出後第１期間Δｔｈ１の一例である。
【０１８２】
コントローラ１３０は、第２初回フラグの設定値が“ＯＦＦ”であると判定したことに応じて（Ｓ８２：ＯＦＦ）、後述するＳ９０でＲＡＭ１３３に記憶させる経過時間Ｔ５の開始時刻と現在の時刻とから、経過時間Ｔ５を算出し、算出した経過時間Ｔ５を算出期間Δｔとして決定し、ＲＡＭ１３３に記憶させる（Ｓ８４）。ここで、経過時間Ｔ５は、Ｓ８１にてＹｅｓと判定されてから、次にＳ８１でＹｅｓと判定されるまでの時間である。決定された算出期間Δｔは、排出後第２期間Δｔｈ２の一例である。
【０１８３】
また、コントローラ１３０は、Ｓ８３及びＳ８４にて、算出期間Δｔの開始時刻を時刻ｔｋ−１、終了時刻を時刻ｔｋとして決定し、ＲＡＭ１３３に記憶させる（Ｓ８３，Ｓ８４）。時刻ｔｋ−１は、経過時間Ｔ４の開始時刻又は経過時間Ｔ５の開始時刻である。時刻ｔｋは、現在の時刻、すなわちＳ８２の処理を実行した時刻である。
【０１８４】
次に、コントローラ１３０は、流出量Ｑａ、Ｑｃ、インク量Ｖｃ、Ｖｓ、及び高さＨｃ、Ｈｓを、上述の式１〜式６を用いて算出する（Ｓ８５、Ｓ８６）。まず、コントローラ１３０は、式１を用いて、算出期間Δｔの間の流出量Ｑａを算出する（Ｓ８５）。算出期間Δｔの間にシートへの画像の記録（Ｓ４６）やパージ処理等、ヘッド２１を通じたインクの排出が行われていない場合には、Ｑａ＝０となる。
【０１８５】
次に、コントローラ１３０は、式２を用いて、算出期間Δｔの間の液室２１０から液室１７１へのインクの流出量Ｑｃを算出する。コントローラ１３０は、ＥＥＰＲＯＭ１３４に記憶された高さＨｃ、Ｈｓを、時刻ｔｋ−１における高さＨｃ’、Ｈｓ’として読み出す。また、コントローラ１３０は、粘度ρ、流路抵抗Ｒｃ、Ｒｓ、ＲｎをＥＥＰＲＯＭ１３４から読み出す。そして、コントローラ１３０は、ＥＥＰＲＯＭ１３４から読み出した情報と、重力加速度ｇと、直前に算出した流出量Ｑａ（ヘッド２１を通じたインクの排出が行われていない場合には、Ｑａ＝０）とを式２に代入して、流出量Ｑｃを算出する（Ｓ８５）。
【０１８６】
次に、コントローラ１３０は、ＥＥＰＲＯＭ１３４に記憶されたインク量Ｖｃを、時刻ｔｋ−１におけるインク量Ｖｃ’として読み出す。そして、コントローラ１３０は、ＥＥＰＲＯＭ１３４から読み出したインク量Ｖｃ’と、直前に算出した流出量Ｑｃとを式３に代入して、時刻ｔｋにおけるインク量Ｖｃを算出する（Ｓ８６）。すなわち、コントローラ１３０は、時刻ｔｋ−１におけるインク量Ｖｃ’から、算出期間Δｔの間に液室２１０から液室１７１に流出したインクの流出量Ｑｃを減じて、時刻ｔｋにおけるインク量Ｖｃを算出する。
【０１８７】
またＳ８６において、コントローラ１３０は、ＥＥＰＲＯＭ１３４に記憶された関数Ｆｃを読み出す。そして、コントローラ１３０は、式５で示されるように、式３で直前に算出したインク量Ｖｃを関数Ｆｃに代入して、時刻ｔｋにおける高さＨｃを特定する。さらにＳ７４において、コントローラ１３０は、ＥＥＰＲＯＭ１３４から関数Ｆｓを読み出す。そして、コントローラ１３０は、式６で示されるように、式４で算出したインク量Ｖｓを関数Ｆｓに代入して、時刻ｔｋにおける高さＨｓを特定する（Ｓ８６）。
【０１８８】
次に、コントローラ１３０は、Ｓ８６で算出したインク量Ｖｃ、Ｖｓ及び高さＨｃ、ＨｓをＥＥＰＲＯＭ１３４に記憶させる（Ｓ８７）。より詳細には、コントローラ１３０は、ＥＥＰＲＯＭ１３４に記憶されているインク量Ｖｃ、Ｖｓ及び高さＨｃ、Ｈｓを、直前のＳ７４で算出したインク量Ｖｃ、Ｖｓ及び高さＨｃ、Ｈｓで上書きする。
【０１８９】
また、コントローラ１３０は、Ｓ８６で算出したインク量Ｖｃ及び高さＨｃを、接点１５２を通じてＩＣチップ２４７のメモリに記憶させる（Ｓ８８）。より詳細には、コントローラ１３０は、ＩＣチップ２４７のメモリの第２領域に記憶されているインク量Ｖｃ及び高さＨｃを、直前のＳ８６で算出したインク量Ｖｃ及び高さＨｃで上書きする。
【０１９０】
続いて、コントローラ１３０は、インク残量画面をディスプレイ１７に表示させる（Ｓ８９）。インク残量画面は、Ｓ２６でディスプレイ１７に表示させるインク残量画面と同様であってよい。
【０１９１】
次に、コントローラ１３０は、現在の時刻を経過時間Ｔ５の開始時刻としてＲＡＭ１３３に記憶させて、経過時間Ｔ５の計測を開始する（Ｓ９０）。
【０１９２】
続いて、コントローラ１３０は、第２初回フラグの設定値に“ＯＦＦ”を設定する（Ｓ９１）。
【０１９３】
次に、コントローラ１３０は、直前のＳ８６で算出した高さＨｃ、Ｈｓの差と閾値高さＨｔｈとを比較する（Ｓ９２）。コントローラ１３０は、高さＨｃ、Ｈｓの差が閾値高さＨｔｈ以上だと判定したことに応じて（Ｓ９２：Ｎｏ）、Ｓ８１以降の処理を再び実行する。コントローラ１３０は、高さＨｃ、Ｈｓの差が閾値高さＨｔｈ未満だと判定したことに応じて（Ｓ９２：Ｙｅｓ）、残量更新処理を終了する。
【０１９４】
コントローラ１３０は、Ｓ８１にて、いずれの信号も受信しておらず、且つ、パージ処理を開始せず、且つ、スリープ状態への移行を開始しないと判定したことに応じて（Ｓ８１：Ｎｏ）、上記経過時間Ｔ３が、閾値時間Ｔｈ２を越えたか否かを判定する（Ｓ９３）。経過時間Ｔ３は、Ｓ４７でＲＡＭ１３３に記憶させた経過時間Ｔ３の開始時刻と現在の時刻との差の時間である。コントローラ１３０は、経過時間Ｔ３が閾値時間Ｔｈ２を越えていないと判定したことに応じて（Ｓ９３：Ｎｏ）、Ｓ８１の処理を再び実行する。
【０１９５】
コントローラ１３０は、経過時間Ｔ３が閾値時間Ｔｈ２を越えたと判定したことに応じて（Ｓ９３：Ｙｅｓ）、カートリッジ２００からタンク１６０へのインクの流入が完了した状態のインク量Ｖｃ、Ｖｓ、液面高さＨｃ、Ｈｓを算出する（Ｓ９４）。
【０１９６】
まず、コントローラ１３０は、Ｓ１７でＥＥＰＲＯＭ１３４に記憶させた交換後インク量Ｖｃ１とＶｓ１との和を、交換後総量Ｖｔ１として算出する（Ｖｔ１＝Ｖｃ１＋Ｖｓ１）。次に、コントローラ１３０は、交換後総量Ｖｔ１から、カウント値ＴＮに相当するインク量を差し引いた値として、現在の総量Ｖｔを算出する（Ｖｔ＝Ｖｔ１−ＴＮ）。そして、コントローラ１３０は、算出した総量Ｖｔと、ＥＥＰＲＯＭ１３４から読み出した関数Ｆ１又は関数Ｆ２に基づいて、液室２１０から液室１７１へのインクの移動が終了したときのインク量Ｖｃ及びインク量Ｖｓを算出する。
【０１９７】
コントローラ１３０は、算出した総量Ｖｔが閾値Ｖｈ以上であるかを判定する。コントローラ１３０は、総量Ｖｔが閾値Ｖｈ以上であれば、関数Ｆ１を用いて、総量Ｖｔからインク量Ｖｓを算出する。すなわち、コントローラ１３０は、関数Ｆ１が示すＶｓ＝ａ×Ｖｔ＋ｂに従って、インク量Ｖｓを算出する。コントローラ１３０は、総量Ｖｔが閾値Ｖｈ未満であれば、関数Ｆ２を用いて、総量Ｖｔからインク量Ｖｓを算出する。すなわち、コントローラ１３０は、Ｖｃ＝Ｖｔ−Ｖｓに従って、インク量Ｖｃを算出する。そして、コントローラ１３０は、算出したインク量Ｖｓを現在の総量Ｖｔから減じて、インク量Ｖｃを算出する。続いて、コントローラ１３０は、算出したインク量Ｖｃ、Ｖｓと、ＥＥＰＲＯＭ１３４から読み出した関数Ｆｃ，Ｆｓとに基づいて、Ｓ２３と同様の処理により、高さＨｃ、Ｈｓを決定する。
【０１９８】
次に、コントローラ１３０は、Ｓ９４で算出したインク量Ｖｃ、Ｖｓ及び高さＨｃ、ＨｓをＥＥＰＲＯＭ１３４に記憶させる（Ｓ９５）。より詳細には、コントローラ１３０は、ＥＥＰＲＯＭ１３４に記憶されているインク量Ｖｃ、Ｖｓ及び高さＨｃ、Ｈｓを、直前のＳ３１で算出したインク量Ｖｃ、Ｖｓ及び高さＨｃ、Ｈｓで上書きする。
【０１９９】
また、コントローラ１３０は、Ｓ９４で算出したインク量Ｖｃ及び高さＨｃを、接点１５２を通じてＩＣチップ２４７のメモリに記憶させる（Ｓ９６）。より詳細には、コントローラ１３０は、ＩＣチップ２４７のメモリの第２領域に記憶されているインク量Ｖｃ及び高さＨｃを、直前のＳ９４で算出したインク量Ｖｃ及び高さＨｃで上書きする。
【０２００】
続いて、コントローラ１３０は、インク残量画面をディスプレイ１７に表示させる（Ｓ９７）。インク残量画面は、Ｓ２６でディスプレイ１７に表示させるインク残量画面と同様であってよい。そして、コントローラ１３０は、残量更新処理を終了する。
【０２０１】
［作用効果］
上記実施形態によれば、装着センサ１５４からの信号がハイレベル信号からローレベル信号へ変化した後、コントローラ１３０が第１信号を受信又は特定動作を開始することに基づいて、インク量Ｖｃ、Ｖｓ、液面高さＨｃ，Ｈｓの決定の処理が行われる。つまり、ユーザから何らかの操作を受け付けたり、プリンタ１０が動作したりするときに、インク量の決定処理が行われる。そして、決定された液面高さＨｃ，Ｈｓの差が閾値高さＨｔｈ以上であることに応じて、ユーザからの操作やプリンタ動作を待機し、再びインク量Ｖｃ、Ｖｓの決定の処理が行われる。従って、処理負荷の上昇を抑制しつつ、インク量Ｖｃ、Ｖｓを個別に把握することができる。
【０２０２】
また、上記実施形態によれば、ヘッド２１からインクの排出を行った後、液面高さＨｃ，Ｈｓの差が閾値高さＨｔｈ以上である場合には、コントローラ１３０が第１信号を受信又は特定動作を開始することに基づいて、インク量Ｖｃ、Ｖｓ、液面高さＨｃ，Ｈｓの決定の処理が行われる。そして、決定された液面高さＨｃ，Ｈｓの差が閾値高さＨｔｈ以上であることに応じて、ユーザからの操作やプリンタ動作を待機し、再びインク量Ｖｃ、Ｖｓの決定の処理が行われる。従って、処理負荷の上昇を抑制しつつ、インク量Ｖｃ、Ｖｓを個別に把握することができる。
【０２０３】
［変形例］
上記実施形態では、Ｓ１８及びＳ８１の判定に用いる信号（第１信号）の例として、カバーセンサ８８が出力する信号、装着センサ１５４が出力する信号、トレイセンサ１９が出力する信号、操作パネル２２が出力する信号、及び通信インタフェース９５が出力する信号が例示されたが、コントローラ１３０が受信する他の信号を用いてもよい。また、上記実施形態では、Ｓ１８及びＳ８１の判定に用いる特定動作の例として、パージ処理の開始と、スリープ状態への移行の開始が例示されたが、コントローラ１３０が実行する他の動作を用いてもよい。
【０２０４】
上記実施形態では、コントローラ１３０は、装着センサ１５４からローレベル信号を受信し、その後に装着センサ１５４からハイレベル信号を受信し、さらにその後に装着センサ１５４からローレベル信号を受信したことに応じて（Ｓ１２：Ｙｅｓ）、Ｓ１３に示す処理を実行した。コントローラ１３０がＳ１３に示す処理を実行するのは、装着ケース１５０内にカートリッジ２００が存在しない装着ケース１５０内に、カートリッジ２００が装着されたことを契機としている。つまり、コントローラ１３０は、装着ケース１５０内にカートリッジ２００が装着されたと判定したことに応じて、Ｓ１３に示す処理を実行すればよい。なお、コントローラ１３０が、装着センサ１５４からローレベル信号を受信し、その後に装着センサ１５４からハイレベル信号を受信し、さらにその後に装着センサ１５４からローレベル信号を受信したことは、コントローラ１３０が、装着ケース１５０内にカートリッジが装着されたと判定したことの一例である。コントローラ１３０が、装着ケース１５０内にカートリッジ２００が装着されたと判定する、他の例を以下に説明する。
【０２０５】
例えば、コントローラ１３０が、カバーセンサ８８からハイレベル信号を受信した後にローレベル信号を受信する。そして、コントローラ１３０は、ＩＣ基板２４７のメモリから識別情報を読み出して、ＥＥＰＲＯＭ１３４に記憶された交換前のカートリッジ２００の識別情報と比較する。ＩＣ基板２４７のメモリから読み出した識別情報と、ＥＥＰＲＯＭ１３４に記憶された識別情報とが異なると判定したことに応じて、コントローラ１３０は、Ｓ１７に示す処理を実行してもよい。つまり、「コントローラ１３０は、ＩＣ基板２４７のメモリから識別情報を読み出して、ＥＥＰＲＯＭ１３４に記憶された交換前のカートリッジ２００の識別情報と比較する。その結果、ＩＣ基板２４７のメモリから読み出した識別情報と、ＥＥＰＲＯＭ１３４に記憶された識別情報とが異なると判定した」ことが、コントローラ１３０が、装着ケース１５０内にカートリッジ２００が装着されたと判定することの一例である。
【０２０６】
また、例えば、コントローラ１３０が、カバーセンサ８８からハイレベル信号を受信した後にローレベル信号を受信する。そして、コントローラ１３０は、ディスプレイ１７を通じてユーザに、装着ケース１５０内に新たなカートリッジ２００の装着をしたか、を示す確認画面を表示させる。コントローラ１３０は、ディスプレイ１７に確認画面を表示させている一方で、操作パネル２２を通じて、当該確認画面に対応する、入力を受信する。受信した当該入力が、装着ケース１５０内に新たなカートリッジ２００の装着した、ことに対応していることに応じて、コントローラ１３０は、Ｓ１７に示す処理を実行する。つまり、「コントローラ１３０が、カバーセンサ８８からハイレベル信号を受信した後にローレベル信号を受信する。そして、コントローラ１３０は、ディスプレイ１７を通じてユーザに、装着ケース１５０内に新たなカートリッジ２００の装着をしたか、を示す確認画面を表示させる。コントローラ１３０は、ディスプレイ１７に確認画面を表示させている一方で、操作パネル２２を通じて、当該確認画面に対応する、入力を受信する。受信した当該入力が、装着ケース１５０内に新たなカートリッジ２００の装着した、ことに対応している」ことが、コントローラ１３０が、装着ケース１５０内にカートリッジ２００が装着されたと判定することの一例である。
【０２０７】
上記実施形態では、供給管２３０に設けられたインク供給口２３４と、ニードル１８１の開口１８３とが開放されて、供給管２３０のインクバルブ室２１３と、ニードル１８１の内部空間とが連通される例が説明された。インク供給口２３４は、カートリッジ２００の後壁２０２に設けられてもよい。例えば、インク供給口２３４として、後壁２０２を厚み方向に貫通する貫通孔が後壁２０２に形成されてもよい。インク供給口２３４の内部空間は、第１流路の一例である。この変形例では、カートリッジ２００が装着ケース１５０に装着される過程において、ニードル１８１がインク供給口２３４を通じてカートリッジ２００の液室２１０に進入し、ニードル１８１の一端（開口１８３）が、カートリッジ２００の液室２１０の内部に位置する状態となる。これにより、カートリッジ２００の液室２１０と、ニードル１８１の内部空間とが連通される。すなわち、装着ケース１５０にカートリッジ２００が装着された状態において、ニードル１８１の内部空間は、カートリッジ２００の液室２１０とタンク１６０の液室１７１とを連通させる流路を形成する。
【０２０８】
また、開口１８３が、タンク１６０の前壁１６２に設けられてもよい。例えば、開口１８３として、前壁１６２を厚み方向に貫通する貫通孔が前壁１６２に形成されてもよい。開口１８３の内部空間は、第１流路の一例である。この変形例では、カートリッジ２００が装着ケース１５０に装着される過程において、供給管２３０が開口１８３を通じてタンク１６０の液室１７１に進入し、供給管２３０の他端（インク供給口２３４）が、タンク１６０の液室１７１の内部に位置する状態となる。これにより、カートリッジ２００の液室２１０と、ニードル１８１の内部空間とが連通される。すなわち、装着ケース１５０にカートリッジ２００が装着された状態において、インクバルブ室２１３は、カートリッジ２００の液室２１０とタンク１６０の液室１７１とを連通させる流路を形成する。
【０２０９】
また、上記実施形態では、コントローラ１３０は、Ｓ＿Ｅｍｐｔｙフラグが”ＯＮ”であれば、ヘッド２１を通じたインクの排出を禁止するが、ヘッド２１を通じたインクの排出は必ずしも禁止される必要はなく、コントローラ１３０は、Ｓ＿Ｅｍｐｔｙフラグが”ＯＮ”であれば、Ｓ＿Ｅｍｐｔｙ報知画面をディスプレイ１７に表示させるのみであってもよい。
【０２１０】
また、ＩＣ基板２４７は、接点１５２と接触して導通されるが、これにかえて、ＮＦＣ（near field communication）やＲＦＩＤ（radio frequency identification）のような電波を用いて非接触でデータを読み書きする情報媒体とインターフェースとが採用されてもよい。
【０２１１】
また、上記実施形態では、インクが液体の一例として説明されているが、液体は、例えば、画像記録時にインクに先立って用紙などに吐出される前処理液でもよいし、ヘッド２１を洗浄するための水でもよい。
【符号の説明】
【０２１２】
１０・・・プリンタ（液体排出装置）
１７・・・ディスプレイ（報知機）
１９・・・トレイセンサ
２１・・・ヘッド
２２・・・操作パネル（ユーザインタフェース）
３２・・・チューブ（第４流路）
８８・・・カバーセンサ
９５・・・通信インタフェース
１３０・・・コントローラ
１３２・・・ＲＯＭ（メモリ）
１３３・・・ＲＡＭ（メモリ）
１３４・・・ＥＥＰＲＯＭ（メモリ）
１５０・・・装着ケース
１５２・・・接点（インターフェース）
１５４・・・装着センサ
１５５・・・液面センサ
１６０・・・タンク
１７１・・・液室（第２液室）
１７５・・・大気連通室（第５流路）
１８１・・・ニードル（第３流路）
２００・・・カートリッジ
２１０・・・液室（第１液室）
２１３・・・インクバルブ室（第１流路）
２１４・・・大気バルブ室（第２流路）
【図１】
2019177632.tif 000009
【図２】
2019177632.tif 000010
【図３】
2019177632.tif 000011
【図４】
2019177632.tif 000012
【図５】
2019177632.tif 000013
【図６】
2019177632.tif 000014
【図７】
2019177632.tif 000015
【図８】
2019177632.tif 000016
【図９】
2019177632.tif 000017
【図１０】
2019177632.tif 000018
【図１１】
2019177632.tif 000019
【図１２】
2019177632.tif 000020
【図１３】
2019177632.tif 000021