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