IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ブラザー工業株式会社の特許一覧

<>
  • 特許-画像記録装置 図1
  • 特許-画像記録装置 図2
  • 特許-画像記録装置 図3
  • 特許-画像記録装置 図4
  • 特許-画像記録装置 図5
  • 特許-画像記録装置 図6
  • 特許-画像記録装置 図7
  • 特許-画像記録装置 図8
  • 特許-画像記録装置 図9
  • 特許-画像記録装置 図10
  • 特許-画像記録装置 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-05
(45)【発行日】2022-12-13
(54)【発明の名称】画像記録装置
(51)【国際特許分類】
   B41J 29/38 20060101AFI20221206BHJP
   G06F 3/12 20060101ALI20221206BHJP
   H04N 1/00 20060101ALI20221206BHJP
【FI】
B41J29/38 204
B41J29/38 301
G06F3/12 303
G06F3/12 329
G06F3/12 334
G06F3/12 335
H04N1/00 127Z
【請求項の数】 7
(21)【出願番号】P 2019063836
(22)【出願日】2019-03-28
(65)【公開番号】P2020163593
(43)【公開日】2020-10-08
【審査請求日】2022-03-18
(73)【特許権者】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】100117101
【弁理士】
【氏名又は名称】西木 信夫
(74)【代理人】
【識別番号】100120318
【弁理士】
【氏名又は名称】松田 朋浩
(72)【発明者】
【氏名】奥野 哲也
(72)【発明者】
【氏名】江▲崎▼ 信也
(72)【発明者】
【氏名】南川 俊輔
(72)【発明者】
【氏名】疇地 悠
(72)【発明者】
【氏名】出浦 祐視
【審査官】大浜 登世子
(56)【参考文献】
【文献】特開平07-137358(JP,A)
【文献】特開2013-025548(JP,A)
【文献】特開2006-091985(JP,A)
【文献】特開2004-094585(JP,A)
【文献】米国特許出願公開第2006/0136424(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B41J 29/38
G06F 3/12
H04N 1/00
(57)【特許請求の範囲】
【請求項1】
カートリッジが装着される装着部と、印刷を行う印刷部と、通信インタフェースと、メモリと、コントローラと、を備えており、
前記コントローラは、
情報処理装置の送信アドレス宛に、前記通信インタフェースを通じて、
前記情報処理装置が読み込み可能なフォーマットデータと、
自機の識別情報との置換を指定する第1置換指示データと、
消耗品に関する消耗品情報と故障に関する故障情報との少なくとも一方との置換を指定する第2置換指示データと、
を含むテンプレートデータを返信することを要求する返信要求を送信し、
前記通信インタフェースを通じて取得した前記テンプレートデータを前記メモリに記憶し、
前記メモリに記憶された前記テンプレートデータの前記第1置換指示データを、前記メモリに記憶された前記識別情報に置換し、
前記メモリに記憶された前記テンプレートデータの前記第2置換指示データを、前記メモリに記憶された前記消耗品情報と前記故障情報との少なくとも一方に置換し、
前記フォーマットデータ、前記識別情報、及び前記消耗品情報と前記故障情報との少なくとも一方を含む送信データを生成し、
生成した前記送信データを前記通信インタフェースを通じて送信する
画像記録装置。
【請求項2】
前記コントローラは、
所定タイミングにて前記テンプレートデータが前記メモリに記憶されているか否かを判断し、
前記所定タイミングにて前記テンプレートデータが前記メモリに記憶されていないと判断したことに応じて、
前記返信要求を送信して取得した前記テンプレートデータを前記メモリに記憶し、
前記メモリに記憶された前記テンプレートデータに従って前記送信データを生成し、
前記所定タイミングにて前記テンプレートデータが前記メモリに記憶されていると判断したことに応じて、前記メモリに記憶された前記テンプレートデータに従って前記送信データを生成する
請求項1に記載の画像記録装置。
【請求項3】
前記テンプレートデータは、第1テンプレートデータと第2テンプレートデータとを含み、且つ前記第1テンプレートデータが含む前記第2置換指示データの置換対象と、前記第2テンプレートデータが含む第2置換指示データの置換対象とが異なり、
前記コントローラは、
前記送信アドレス宛に、前記通信インタフェースを通じて、前記第1テンプレートデータと前記第2テンプレートデータとのいずれかを指定するテンプレート指定情報を含む前記返信要求を、送信する
請求項1または2に記載の画像記録装置。
【請求項4】
前記第1テンプレートデータに含まれる前記第2置換指示データは、前記消耗品情報との置換を指定するデータであり、
前記第2テンプレートデータに含まれる前記第2置換指示データは、前記故障情報との置換を指定するデータであり、
前記コントローラは、
前記画像記録装置における故障を検知すると、前記メモリに故障情報を記憶させ、
前記メモリに前記故障情報が記憶されたことに応じて、当該故障情報と対応付けられた前記テンプレート指定情報を含む前記返信要求を、前記通信インタフェースを通じて送信し、
前記返信要求の返信として、前記第2テンプレートデータを前記通信インタフェースを通じて取得する
請求項3に記載の画像記録装置。
【請求項5】
前記第1テンプレートデータに含まれる前記第2置換指示データは、前記消耗品情報との置換を指定するデータであり、
前記第2テンプレートデータに含まれる前記第2置換指示データは、前記消耗品情報と前記カートリッジの交換を示す情報との置換を指定するデータであり、
前記コントローラは、
前記装着部に装着された前記カートリッジが収容する消耗品の量を特定可能なカウント値が閾値に達したか否かを判断し、
前記カウント値が前記閾値に達したと判断したことに応じて、前記第2テンプレートデータを返信することを示す前記返信要求を前記通信インタフェースを通じて送信し、
前記返信要求の返信として、前記第2テンプレートデータを前記通信インタフェースを通じて取得する
請求項3に記載の画像記録装置。
【請求項6】
前記コントローラは、
前記第1テンプレートデータに基づいて生成した前記送信データを送信する第1送信タイミングを示す第1タイミング情報を前記通信インタフェースを通じて前記情報処理装置から取得し、
前記第2テンプレートデータに基づいて生成した前記送信データを送信する第2送信タイミングを示す第2タイミング情報を前記通信インタフェースを通じて前記情報処理装置から取得し、
前記第1送信タイミングは、前記第1タイミング情報を前記コントローラが取得したときから前記送信データを送信するまでの第1期間を示し、
前記第2送信タイミングは、前記第2タイミング情報を前記コントローラが取得したときから前記送信データを送信するまでの第2期間を示し、
前記第2期間は、前記第1期間よりも短い
請求項5に記載の画像記録装置。
【請求項7】
前記コントローラは、
送信した前記返信要求或いは送信した前記送信データの返信として、前記通信インタフェースを通じて、前記送信データを送信するタイミングを示すタイミング情報を取得する
請求項1から6のいずれかに記載の画像記録装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置に情報を送信する画像記録装置に関する。
【背景技術】
【0002】
画像記録装置のユーザがサービス提供者と契約を締結して、画像記録装置からサービス提供者のサーバに消耗品に関する情報などの装置情報を通知するシステムがある。このようなシステムに用いられる画像記録装置は、サーバが解析できるデータ形式で装置情報を送信する(例えば、特許文献1参照)。
【0003】
特許文献1に記載された画像記録装置は、装置情報を、ユーザの入力操作を受け付けて、ユーザが指示するデータ形式に変換し、変換したデータ形式で消耗品等に関する情報をサーバに送信する。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2013-25548号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載の技術では、データ形式の変換をするために、ユーザによる入力操作が必要である。また、データ形式を誤って指示すると、サーバが装置情報を取得できなくなる。
【0006】
本発明は、入力操作を必要とせず、消耗品等に関する情報を情報処理装置に取得させることができる技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本明細書では様々な開示を行う。開示例の画像記録装置は、カートリッジが装着される装着部と、印刷を行う印刷部と、通信インタフェースと、メモリと、コントローラと、を備える。前記コントローラは、情報処理装置の送信アドレス宛に、前記通信インタフェースを通じて、前記情報処理装置が読み込み可能なフォーマットデータと、自機の識別情報との置換を指定する第1置換指示データと、消耗品に関する消耗品情報と故障に関する故障情報との少なくとも一方との置換を指定する第2置換指示データと、を含むテンプレートデータを返信することを要求する返信要求を送信し、前記通信インタフェースを通じて取得した前記テンプレートデータを前記メモリに記憶し、前記メモリに記憶された前記テンプレートデータの前記第1置換指示データを、前記メモリに記憶された前記識別情報に置換し、前記メモリに記憶された前記テンプレートデータの前記第2置換指示データを、前記メモリに記憶された前記消耗品情報と前記故障情報との少なくとも一方に置換し、前記フォーマットデータ、前記識別情報、及び前記消耗品情報と前記故障情報との少なくとも一方を含む送信データを生成し、生成した前記送信データを前記通信インタフェースを通じて送信する。
【0008】
コントローラは、フォーマットデータと、識別情報と置換される第1置換指示データと、装置情報と置換される第2置換指示データと、を含むテンプレートデータを情報処理装置から取得する。そして、コントローラは、取得したテンプレートデータの第1置換指示データを、メモリに記憶された識別情報に置換し、第2置換指示データを、メモリに記憶された前記消耗品情報と前記故障情報との少なくとも一方に置換して、送信データを生成する。コントローラは、生成した送信データを情報処理装置に送信する。コントローラは、情報処理装置から取得したテンプレートデータから生成した送信データを情報処理装置に送信するので、情報処理装置が要求するフォーマット及びデータ形式で送信データを情報処理装置に送信することができる。すなわち、開示例の画像記録装置は、作業者等の入力操作を必要とすることなく、消耗品等に関する情報を情報処理装置に取得させることができる。
【発明の効果】
【0009】
本発明によれば、画像記録装置は、入力操作を必要とせずに、消耗品等に関する情報を情報処理装置に取得させることができる。
【図面の簡単な説明】
【0010】
図1図1は、プリンタ10及び情報処理装置11の機能ブロック図である。
図2図2(A)は、カバー22が閉じられた状態のプリンタ10の斜視図であり、図2(B)は、カバー22が開かれた状態のプリンタ10の斜視図である。
図3図3は、プリンタ10の模式的な断面図である。
図4図4(A)は、テンプレートデータ1(第1サービス提供者)を示す図であり、図4(B)は、テンプレートデータ1(第2サービス提供者)を示す図であり、図4(C)は、完成テンプレートデータ1を示す図であり、図4(D)は、テンプレートデータ2(第1サービス提供者)を示す図である。
図5図5(A)は、テンプレートデータ3(第1サービス提供者)を示す図であり、図5(B)は、テンプレートデータ4(第1サービス提供者)を示す図であり、図5(C)は、テンプレートデータ5(第1サービス提供者)を示す図であり、図5(D)は、テンプレートデータ6(第1サービス提供者)を示す図である。
図6図6は、プリンタ10が情報処理装置11からテンプレートデータを取得する処理の一部である。
図7図7は、プリンタ10が情報処理装置11からテンプレートデータを取得する処理の他の一部である。
図8図8は、プリンタ10が情報処理装置11からテンプレートデータを取得する処理のさらに他の一部である。
図9図9は、プリンタ10が情報処理装置11からテンプレートデータを取得する処理の残りの一部である。
図10図10(A)は、カウント処理のフローチャートであり、図10(B)は、残量値算出処理のフローチャートであり、図10(C)は、故障判断処理のフローチャートである。
図11図11はデータベースを示す図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。
【0012】
本実施形態では、図1に示されるプリンタ10を説明する。プリンタ10は、インターネット12を通じて種々の情報を情報処理装置11に送信する機能を有する。情報処理装置11は、サービス提供者が所有或いは使用権限を有するサーバなどである。サービス提供者は、プリンタ10の使用に関するサービスをプリンタ10のユーザに提供する者である。サービス提供者は、例えば、プリンタ10から情報処理装置11に送信された情報によって、カートリッジ13(図1)が貯留するトナーやインクの残量などを監視する。そして、サービス提供者は、トナーやインクの残量が少なくなると、新しいカートリッジ13を発送する。ユーザは、トナーやインクを使い切る前に、新しいカートリッジ13を手に入れる。以下、詳しく説明する。プリンタ10は、画像記録装置の一例である。
【0013】
情報処理装置11は、例えば、URLをインターネット12上に公開するサーバである。情報処理装置11は、コントローラ61と、ディスプレイ62と、ユーザI/F63と、通信I/F64と、を備える。「I/F」は、インタフェースの略である。ユーザI/F63は、マウスやキーボードなどである。
【0014】
コントローラ61は、中央演算処理装置であるCPU65と、メモリ66と、不図示の通信バスとを主に備える。CPU65、メモリ66、ディスプレイ62、ユーザI/F63、及び通信I/F64は、通信バスに接続されている。すなわち、CPU65は、通信バスを通じて、メモリ66、ディスプレイ62、ユーザI/F63、及び通信I/F64と情報やデータを受け渡し可能に接続されている。
【0015】
メモリ66は、ROMやRAMやハードディスクなどである。ハードディスクは、オペレーティングシステムであるOS67と、管理プログラム68と、を記憶する。OS67及び管理プログラム68に記述された命令は、CPU65によって実行される。すなわち、OS67及び管理プログラム68は、CPU65によって実行される。CPU65によって実行されるOS67及び管理プログラム68は、ディスプレイ62に画像を表示させ、ユーザI/F63を通じてユーザの入力を受け付け、通信I/F64を通じて情報やデータを送受信し、受信した情報やデータをメモリ66に記憶させる。
【0016】
管理プログラム68は、メモリ66に記憶された種々の装置情報を対応付けたデータベースを管理するプログラムである。管理プログラム68は、データベースを用いて、複数のプリンタ10の管理を行う。具体的には、管理プログラム68は、プリンタ10が送信した種々の装置情報をデータベースに登録する登録処理を行う。データベースは、図11に示されるように、項目名「ユーザ名」、「住所」、「シリアル番号」、「モデル名」、「インク残量」、「排液量」、「印刷枚数」、「イベント」などの複数の項目と、一乃至複数のレコードと、を有する。一のレコードは、一のプリンタ10の装置情報を示す。図示例では、項目名「ユーザ名」と対応付けられた「ABCDE」、かつ項目名「シリアル番号」と対応付けられた「12345678」で特定されるレコードにおける装置情報は、項目名「モデル名」と対応付けられた「KLMN」、項目名「インク残量」と対応付けられた「4,5,6,7」、項目名「排液量」と対応付けられた「10」、項目名「印刷枚数」と対応付けられた「130」、項目名「イベント」と対応付けられた「インククロー」である。プリンタ10は、項目名と装置情報とを対応付けて送信する。そして、管理プログラム68は、プリンタ10が送信した情報に含まれる項目名「シリアル番号」と対応付けられた装置情報「KLMN」と一致する装置情報「KLMN」を有するレコードをデータベースにおいて特定する。管理プログラム68は、特定したレコードの各フィールドに、プリンタ10が送信した情報に含まれる他の装置情報を登録する。詳しくは後述する。なお、項目「ユーザ名」及び「住所」は、プリンタ10が送信する装置情報ではなく、サービス提供者或いは管理プログラム68の管理者が、シリアル番号と対応付けてデータベースに登録する情報である。
【0017】
管理プログラム68は、XML(ExtensibleMarkupLanguageの略)形式や、JSON(JavaScript Object Notationの略)形式や、CSV(comma-separated valuesの略)形式で記述されたプログラムである。例えば、一のサービス提供者はXML形式で記述された管理プログラム68を使用し、他の一のサービス提供者はJSON形式で記述された管理プログラム68を使用し、さらに他の一のサービス提供者はCSV形式で記述された管理プログラム68を使用する。XML形式で記述された管理プログラム68は、XML形式で記述された項目名及び装置情報をプリンタ10に要求する。JSON形式で記述された管理プログラム68は、JSON形式で記述された項目名及び装置情報をプリンタ10に要求する。CSV形式で記述された管理プログラム68は、CSV形式で記述された項目名及び装置情報をプリンタ10に要求する。すなわち、プリンタ10は、管理プログラム68の記述言語に応じた種々のデータ形式で項目名及び装置情報を要求される。
【0018】
プリンタ10が、管理プログラム68の記述言語に応じたデータ形式で項目名及び装置情報を情報処理装置11に送信可能とするため、プリンタ10のベンダは、図4及び図5に示されるテンプレートデータ等を管理プログラム68の開発者に提供する。テンプレートデータ等は、テンプレートデータ自体や、テンプレートデータを生成するための基本データや、テンプレートデータを生成するためのプログラムなどである。或いは、プリンタ10のベンダは、UI(User Interfaceの略)モジュールから項目名を受け取るSDK(Software Development Kitの略)を管理プログラム68の開発者に提供してもよい。SDKは、例えば、API(Application Programming Interfaceの略)などを用いてUIモジュールから項目名を受け取り、受け取った項目名を用いてテンプレートデータを生成する。そして、SDKは、生成したテンプレートデータを、インターネット12を通じてプリンタ10に送信し、プリンタ10から、後述の完成テンプレートデータをインターネット12を通じて受信する。そして、SDKは、受信した完成テンプレートデータに含まれる装置情報を上述のデータベースに登録する。上述の開発者は、SDKに項目名等を受け渡すUIモジュールを開発することにより、管理プログラム68を開発する。
【0019】
プリンタ10は、ユーザがサービス提供者と契約を締結して使用する態様で用いられる専用仕様のプリンタであってもよいし、ユーザとサービス提供者との契約の有無に拘わらず使用されるプリンタであってもよい。以下では、ユーザがサービス提供者と契約を締結して使用する態様を契約使用態様と記載し、ユーザがサービス提供者と契約を締結せずに使用する態様を通常使用態様と記載して説明する。
【0020】
プリンタ10は、図2に示されるように、筐体20と、筐体20に保持されるパネルユニット21、カバー22、給紙トレイ23、及び排紙トレイ24と、を備える。
【0021】
パネルユニット21は、パネル本体41と、パネル本体41に保持されたタッチパネル42及び複数の操作スイッチ45とを備える。パネル本体41は、矩形板状であり、筐体20の一面に取り付けられている。以下では、プリンタ10が水平面に載置された状態において、パネル本体41が位置する筐体20の一面を前面として前後方向8を定義し、鉛直方向に沿う方向を上下方向7として説明する。また、プリンタ10を前方から見た場合の左右を左右方向9として定義して説明する。前後方向8及び左右方向9は、水平面と平行であって、かつ上下方向7とそれぞれ直交しており、さらにかつ、互いに直交している。
【0022】
タッチパネル42は、図1に示されるように、画像を表示する表示パネル43と、表示パネル43に重畳された透明な膜状のタッチセンサ44と、を有する。タッチセンサ44は、ユーザがタッチした表示パネル43における位置を示す位置情報を出力する。位置情報は、例えば、表示パネル43の左上端を原点とし、右向きをx軸の正の向き、下向きをy軸の正の向きとした場合のx-y平面上の座標(x,y)である。
【0023】
タッチパネル42の表示パネル43及びタッチセンサ44は、ケーブルなどによって、後述のコントローラ51(図1)と接続されている。コントローラ51は、表示パネル43に画像データを出力して表示パネル43に画像を表示させる。また、コントローラ51は、タッチセンサ44が出力した位置情報を受け付ける。コントローラ51は、タッチセンサ44から入力された位置情報が示す位置に表示させているアイコンなどのオブジェクトを、ユーザが選択したオブジェクトと判断する。
【0024】
操作スイッチ45は、ユーザ操作に応じて開閉される接点を有する。操作スイッチ45は、接点が開かれた場合と、閉じられた場合とで、異なる電圧値を出力する。操作スイッチ45は、ケーブルなどによって、コントローラ51と接続されている。コントローラ51は、操作スイッチ45から入力された電圧値によって、操作スイッチ45がユーザによって操作されたか否かを判断する。なお、タッチセンサ44と操作スイッチ45との一方のみがパネルユニット21に設けられていてもよい。
【0025】
給紙トレイ23は、図2に示されるように筐体20の下部に位置しており、着脱可能に筐体20に保持されている。排紙トレイ24は、筐体20の下部であって、給紙トレイ23の上に位置しており、給紙トレイ23或いは筐体20に保持されている。カバー22は、筐体20の前面の右部に位置しており、回動可能に筐体20に保持されている。カバー22は、筐体20の右部に設けられた開口30を閉塞する閉塞位置と、開口30を開放する開放位置との間で回動する。装着ケース32が、開口30の奥に配置されており、筐体20に保持されている。装着ケース32は、カートリッジ13を着脱可能に保持する構成を有する。当該構成は周知であるので、詳しい説明は省略する。装着ケース32は、装着部の一例である。
【0026】
装着ケース32は、複数のカートリッジ13を着脱可能に保持する。図示例では、装着ケース32は、4つのカートリッジ13を着脱可能に保持している。4つのカートリッジ13は、例えば、マゼンタ、シアン、イエロー、ブラックの色のインクのうちの1つの色のインクをそれぞれ貯留する。すなわち、プリンタ10は、いわゆるインクジェットプリンタ、かつ、カラープリンタである。ただし、装着ケース32は、ブラックの色のインクを貯留する1つのカートリッジ13のみを着脱可能に保持してもよい。すなわち、プリンタ10は、いわゆるモノクロプリンタであってもよい。また、装着ケース32は、インクではなく、トナーを収容する一乃至複数のカートリッジ13を着脱可能に保持してもよい。すなわち、プリンタ10は、いわゆるレーザプリンタであってもよい。インク及びトナーは、消耗品の一例である。
【0027】
装着ケース32は、図2に示されるカートリッジI/F49を有する。カートリッジI/F49は、例えば端子である。カートリッジI/F49は、装着ケース32に装着されたカートリッジ13が有するICチップ14の不図示の電極と当接する位置に設けられている。カートリッジI/F49は、不図示のケーブルによって、後述のコントローラ51と接続されている。
【0028】
なお、カートリッジI/F49は、アンテナであってもよい。例えば、カートリッジI/F49として、パターンアンテナを有する基板が装着ケース32に設けられる。ICチップ14は、同様にアンテナを設けられる。カートリッジI/F49は、ICチップ14のアンテナに受信される電波を出力し、ICチップ14のアンテナが出力した電波を受信する。すなわち、カートリッジI/F49は、電波によって、ICチップ14から情報やデータを受信し、ICチップ14に対して情報やデータを送信する。
【0029】
また、カートリッジI/F49は、発光ダイオード及びフォトダイオードであってもよい。例えば、カートリッジI/F49として、発光ダイオード及びフォトダイオードを有する基板が装着ケース32に設けられる。ICチップ14は、同様に発光ダイオード及びフォトダイオードを設けられる。カートリッジI/F49は、ICチップ14のフォトダイオードに受光される光を出射し、ICチップ14の発光ダイオードが出射した光を受信する。すなわち、カートリッジI/F49は、光によって、ICチップ14から情報やデータを受信し、ICチップ14に対して情報やデータを送信してもよい。
【0030】
液面センサ38が、装着ケース32に設けられている。液面センサ38は、例えば、発光ダイオードとフォトダイオードとを有するフォトインタラプタである。液面センサ38は、発光ダイオードとフォトダイオードとの光路上に、装着ケース32に装着されたカートリッジ13が位置するように設けられている。カートリッジ13は、上述の光路上に位置する部分において、透光性を有する。例えば、カートリッジ13は、透光性を有する樹脂成型品を少なくとも一部に用いて製造される。
【0031】
液面センサ38は、その上記光路が上下方向7におけるカートリッジ13の上端と下端との間となるように位置している。図示例では、液面センサ38の光路は、上下方向7におけるカートリッジ13の上端と下端との中間となる位置よりも下方に位置している。液面センサ38は、上述の光路上にインクが有る場合に第1検出信号を出力し、光路上にインクがない場合に、第1検出信号とは異なる第2検出信号を出力する。なお、以下では、液面センサ38の光路の位置を「検出位置」と記載して説明する。
【0032】
液面センサ38は、不図示のケーブルなどを用いて、コントローラ51と接続されている。すなわち、液面センサ38が出力する第1検出信号及び第2検出信号は、コントローラ51に入力される。コントローラ51は、液面センサ38から入力された信号が第1検出信号と第2検出信号のいずれかによって、装着ケース32に装着されたカートリッジ13が貯留するインクの液面が検出位置に到達したか否かを判断する。詳しくは後述する。
【0033】
カートリッジ13は、インクを貯留する内部空間を有する箱状である。カートリッジ13の基本的な構成は周知であるので、詳しい説明は省略する。カートリッジ13は、ICチップ14を備える。図示例では、ICチップ14は、カートリッジ13の上面に取り付けられている。ICチップ14は、端子であるカートリッジI/F49と当接する不図示の電極と、当該電極と電気的に接続されたICメモリ15と、を有する。或いは、ICチップ14は、電極に代えて、パターンアンテナなどのアンテナ、或いは発光ダイオード及びフォトダイオードを有する。ICメモリ15は、種々の情報を記憶する。具体的には、ICメモリ15は、型番、使用種別情報、初期貯留量値、及びCTGシリアル番号を記憶する。
【0034】
型番は、カートリッジ13が貯留するインクの色や、染料や顔料などのインクの種別に応じてカートリッジ13に付与される識別情報である。使用種別情報は、カートリッジ13が契約使用態様で使用されるカートリッジであるか、通常使用態様で使用されるカートリッジであるかを示す情報である。例えば、使用種別情報は、ICメモリ15の所定のアドレスに記憶された「0」又は「1」を示す1ビットのデータである。例えば、「1」は、契約使用態様で使用されるカートリッジであることを示し、「0」は、通常使用態様で使用されるカートリッジであることを示す。ただし、使用種別情報は、型番に含まれていてもよい。すなわち、一の型番は、一のインクの色及び種別と、通常使用態様で使用されるか契約使用態様で使用されるかを示していてもよい。なお、プリンタ10が、ユーザがサービス提供者と契約を締結して使用する態様でのみ使用される専用仕様である場合、使用種別情報は、ICメモリ15に記憶されない。
【0035】
初期貯留量値は、カートリッジ13が貯留する初期のインクの量を示す。初期貯留量値は、コントローラ51におけるカートリッジ13内のインクの残量の算出等に使用される。CTGシリアル番号は、カートリッジ13を個々に識別する番号である。また、CTGシリアル番号は、コントローラ51が、カートリッジ13が交換されたか否かの判断をするために用いられる。例えば、後述のコントローラ51は、ICメモリ15から取得したCTGシリアル番号が、メモリ53に記憶されたCTGシリアル番号と一致しないことに応じて、カートリッジ13が交換されたと判断する。詳しくは後述する。
【0036】
筐体20は、印刷エンジン40を内部に保持する。印刷エンジン40は、給紙ローラ25、搬送ローラ26、排紙ローラ27、プラテン28、及び記録ユニット29を主に備える。印刷エンジン40は、印刷部の一例であり、当該印刷部は、少なくとも記録ユニット29を備える。給紙ローラ25は、給紙トレイ23に載置されたシート6に当接可能に、筐体20内に設けられた不図示のフレームに保持されている。給紙ローラ25は、不図示のモータによって回転される。回転する給紙ローラ25は、シート6を搬送路37に送り出す。搬送路37は、不図示のガイド部材によって区画された空間である。図示例では、搬送路37は、給紙トレイ23の後端から給紙トレイ23の上方となる位置まで湾曲して延びており、次いで、前方に向かって延びている。
【0037】
搬送ローラ26は、シート6の搬送向きにおける給紙トレイ23の下流に位置している。搬送ローラ26は、従動ローラ35とともに、ローラ対を構成している。搬送ローラ26は、不図示のモータによって回転される。回転する搬送ローラ26及び従動ローラ35は、給紙ローラ25によって搬送路37に送り出されたシート6を挟持しつつ搬送する。排紙ローラ27は、シート6の搬送向きにおける搬送ローラ26の下流に位置している。排紙ローラ27は、従動ローラ36とともに、ローラ対を構成している。排紙ローラ27は、不図示のモータによって回転される。回転する排紙ローラ27及び従動ローラ36は、シート6を挟持しつつ搬送し、排紙トレイ24に排出する。プラテン28は、前後方向8における搬送ローラ26と排紙ローラ27との間であって、シート6の搬送向きにおける搬送ローラ26の下流、かつ排紙ローラ27の上流に位置している。
【0038】
記録ユニット29は、プラテン28の上方に位置している。記録ユニット29は、フレームの一部であるガイドレールによって左右方向9に移動可能に保持されていてもよいし、フレームに固定されていてもよい。すなわち、プリンタは、いわゆるシリアルプリンタであってもよいし、いわゆるラインプリンタであってもよい。記録ユニット29は、ヘッド34を有する。ヘッド34は、インクが流通する流路を内部に有する。当該流路は、チューブ31によって、装着ケース32に装着されたカートリッジ13の内部空間と連通されている。すなわち、チューブ31を通じて、カートリッジ13が貯留するインクがヘッド34に供給される。
【0039】
ヘッド34は、図1に示されるように、駆動素子50を有している。駆動素子50の一部は、ヘッド34内の流路を構成する。駆動素子50は、不図示のケーブルなどによってコントローラ51と電気的に接続されている。駆動素子50は、圧電素子やヒータである。圧電素子である駆動素子50は、直流電圧を供給されることによって変形し、流路内のインクに圧力を加え、流路の開口であるノズルからインク滴を吐出させる。ヒータである駆動素子50は、直流電圧を供給されることによって発熱し、流路内のインクを突沸させて、ノズルからインク滴を吐出させる。
【0040】
駆動素子50への直流電圧又は直流電流の供給回数から、ノズルから吐出されたインクの滴数が特定可能である。すなわち、コントローラ51は、上記供給回数をカウントすることで、インク滴の吐出回数のカウント値として算出する。カウント値は、インクの残量の算出などに使用される。詳しくは後述する。
【0041】
プリンタ10は、図1に示されるコントローラ51と、タイマカウンタ48と、通信I/F47と、をさらに備える。タイマカウンタ48は、例えば、クロック周波数の波数をカウントすることにより、計時を行う。通信I/F47は、例えば、有線LAN(Local Area Networkの略)(登録商標)や無線LANなどのローカルネットワークと接続される。当該ローカルネットワークは、ルータ16を介してインターネット12と接続されている。或いは、通信I/F47は、USBケーブルなどの通信ケーブルによってパーソナルコンピュータやタブレットなどの端末装置と接続されている。端末装置は、通信ケーブルやローカルネットワークと、ルータ16とを介してインターネット12と接続されている。すなわち、プリンタ10は、ルータ16を介してインターネット12と接続されている。
【0042】
コントローラ51は、中央演算処理装置であるCPU52と、メモリ53と、通信バス54と、を有する。CPU52、メモリ53、タッチパネル42、操作スイッチ45、通信I/F47、タイマカウンタ48、及びカートリッジI/F49は、通信バス54と接続されている。すなわち、CPU52は、通信バス54を通じて、メモリ53、タッチパネル42、操作スイッチ45、通信I/F47、タイマカウンタ48、及びカートリッジI/F49と情報やデータを受け渡し可能に接続されている。
【0043】
メモリ53は、ROM55と、RAM56と、EEPROM57と、を有する。ROM55は、オペレーティングシステムであるOS58と、制御プログラム59と、を予め記憶する。OS58及び制御プログラム59に記述された命令は、CPU52によって実行される。すなわち、OS58及び制御プログラム59は、CPU52によって実行される。CPU52によって実行されるOS58及び制御プログラム59は、表示パネル43に画像を表示させ、タッチセンサ44や操作スイッチ45を通じてユーザの入力を受け付ける。また、CPU52によって実行されるOS58及び制御プログラム59は、通信I/F47やカートリッジI/F49を通じて情報やデータを送受信し、受信した情報やデータをメモリ53に記憶させる。
【0044】
制御プログラム59は、単一のプログラムであってもよいし、複数のモジュールからなるプログラムであってもよい。制御プログラム59は、例えば、UIモジュール、通信モジュール、及び印刷制御モジュールを有する。各モジュールは、いわゆるマルチタスク処理により、疑似的に並行して実行される。
【0045】
UIモジュールは、画像データを表示パネル43に入力して、アイコンなどのオブジェクトを含む画像を表示パネル43に表示させ、タッチセンサ44や操作スイッチ45が出力する信号を受け付けるプログラムである。
【0046】
通信モジュールは、通信I/F47が接続される通信回線の通信プロトコルにしたがって情報やデータを送受信するプログラムである。例えば、通信モジュールは、通信I/F47がUSBケーブルと接続される場合、RS232Cなどの通信プロトコルを用いて情報やデータを送受信する。通信モジュールは、通信I/F47がLANケーブルと接続される場合、或いは無線LANで接続される場合、TCP/IPなどの通信プロトコルを用いて情報やデータを送受信する。
【0047】
印刷制御モジュールは、印刷データに基づいて、上述のモータの駆動回路や駆動素子50の駆動回路に入力する駆動信号を生成して出力するプログラムである。
【0048】
RAM56は、OS58及び制御プログラム59の実行に用いられ、また、OS58及び制御プログラム59の実行において、情報やデータを一時的に記憶する。EEPROM57は、第1閾値及び第2閾値と、モデル名とを予め記憶する。なお、第1閾値、第2閾値及びモデル名は、ROM55に記憶されていてもよい。
【0049】
また、EEPROM57は、コントローラ51がICメモリ15やタッチセンサ44や操作スイッチ45や通信I/F47等を通じて取得した送信アドレスを記憶する。送信アドレスは、情報処理装置11が公開するURLやIPアドレスである。以下では、プリンタ10のシリアル番号を、カートリッジ13のシリアル番号であるCTGシリアル番号と区別するため、プリンタシリアル番号と記載して説明する。プリンタシリアル番号は、自機の識別情報の一例である。自機の識別情報は、プリンタシリアル番号の他、プリンタ10のMACアドレスやIPアドレスやユーザIDなどであってもよい。
【0050】
また、EEPROM57は、コントローラ51が通信I/F47を通じて情報処理装置11から取得した種々のテンプレートデータを記憶する。図4及び図5を参照して、テンプレートデータについて詳しく説明する。
【0051】
図4(A)及び図4(B)に示されるテンプレートデータ1は、残量値や排液量などの基本的な装置情報の送信に用いられるテンプレートデータである。図4(D)に示されるテンプレートデータ2は、カートリッジ13に貯留されるインクの量が少なくなったことを情報処理装置11に通知するために用いられるテンプレートデータである。図5(A)に示されるテンプレートデータ3は、プリンタ10においてカートリッジ13の交換が行われたことを情報処理装置11に通知するために用いられるテンプレートデータである。図5(B)に示されるテンプレートデータ4は、カートリッジ13が貯留するインクが使い切られたことを情報処理装置11に通知するために用いられるテンプレートデータである。図5(C)に示されるテンプレートデータ5は、プリンタ10において紙詰まりなどの故障が生じたことを情報処理装置11に通知するために用いられるテンプレートデータである。図5(D)に示されるテンプレートデータ6は、故障が解消したことを情報処理装置11に通知するために用いられるテンプレートデータである。図4(A)及び図4(B)に示されるテンプレートデータ1は、第1テンプレートデータの一例である。
【0052】
さらに詳しく説明すると、図4(A)に示されるテンプレートデータ1は、第1サービス提供者が用いるテンプレートデータである。図4(B)に示されるテンプレートデータ1は、第1サービス提供者とは異なる第2サービス提供者が用いるテンプレートデータである。以下では、図4(A)に示されるテンプレートデータ1を「第1サービス提供者テンプレート1」と記載し、図4(B)に示されるテンプレートデータ1を「第2サービス提供者テンプレート1」と記載して説明する。第1サービス提供者テンプレート1と、第2サービス提供者テンプレート1とは、項目名の名称及び項目名のデータ形式が互いに相違する。項目名は、フォーマットデータの一例である。第1サービス提供者テンプレート1では、「serial_number」と項目名「シリアル番号」とが対応付けられており、第2サービス提供者テンプレート1では、「serial_number」と項目名「serial_number」とが対応付けられている。また、第1サービス提供者テンプレート1では、「firm_version」と、項目名「ファームバージョン」とが対応付けられており、第2サービス提供者テンプレート1では、「firm_version」と、項目名「program_version」とが対応付けられている。
【0053】
図4(A)に示される第1サービス提供者テンプレート1が有する「シリアル番号」と対応付けられた「serial_number」は、置換する情報を指定する置換指示データである。プリンタ10のメモリ53は、「serial_number」と対応付けられた装置情報を記憶する。例えば、メモリ53のEEPROM57或いはROM55は、「serial_number」と対応付けられた「12345678」などのプリンタシリアル番号を記憶する。プリンタ10の制御プログラム59は、置換指示データが指定する装置情報を特定し、特定した装置情報と、置換指示データとを置換して、完成テンプレートデータを生成する。図4(C)に示す例では、制御プログラム59は、置換指示データ「serial_number」と「12345678」とを置換し、「firm_version」と「A001」とを置換し、「print_page」と「130」とを置換する。また、制御プログラム59は、「waste_ink」と「10」とを置換し、「remaining_amount」と「4,5,6,7」とを置換している。なお、インク残量「4」はマゼンタの色のインクの残量を示し、インク残量「5」はシアンの色のインクの残量を示し、インク残量「6」はイエローの色のインクの残量を示し、インク残量「7」はブラックの色のインクの残量を示す。置換指示データ「serial_number」は、第1置換指示データの一例である。置換指示データ「print_page」、「remaining_amount」は、第2置換指示データの一例である。「130」、「4,5,6,7」は、消耗品情報の一例である。
【0054】
以下、制御プログラム59が、インクの残量を示す残量値などを用いて完成テンプレートデータを生成して情報処理装置11に送信する処理について、図4から図11までを参照して説明する。なお、以下では、制御プログラム59が実行する処理は、コントローラ51(特にCPU52)が実行する処理として説明する。
【0055】
まず、図10(A)に示されるカウント処理、図10(B)に示される残量値算出処理、及び図10(C)に示される故障判断処理について説明する。カウント処理は、ヘッド34から流出したインクの量を示す総カウント値を算出してメモリ53に記憶させる処理である。残量値算出処理は、装着ケース32に装着されたカートリッジ13が貯留するインクの量を示す残量値を、総カウント値に基づいて算出する処理である。故障判断処理は、故障が生じた場合に実行される処理である。まず、図10(A)に示されるカウント処理について説明する。
【0056】
カウント処理は、ヘッド34からインクが流出したことに応じて実行される。例えば、コントローラ51は、印刷エンジン40に印刷データを入力して印刷エンジン40に印刷の実行を指示したことに応じて、カウント処理を実行する。或いは、コントローラ51は、不図示のメンテナンス機構が有するポンプを駆動させたことに応じて、カウント処理を実行する。さらに或いは、コントローラ51は、ヘッド34のメンテナンスのために駆動素子50を駆動させたことに応じて、カウント処理を実行する。
【0057】
まず、コントローラ51は、駆動素子50が駆動した回数をカウントし、カウント値を取得する(S91)。カウント値は、ヘッド34のノズルからインク滴が吐出された回数、すなわち、ヘッド34から流出したインクの量を示す。また、コントローラ51は、上述のポンプを駆動させた場合、ポンプによってヘッド34から吸引されたインクの量を、インク滴の吐出の回数に換算してカウント値を決定する(S91)。なお、フローチャートには示されていないが、コントローラ51は、ポンプによってヘッド34から吸引されたインクの量を示すカウント値を決定したことに応じて、決定したカウント値を、EEPROM57に記憶させる。EEPROM57に記憶される当該カウント値は、積算値である。すなわち、コントローラは、決定したカウント値を、EEPROM57に記憶された排液カウント値に積算し、新たな排液カウント値としてEEPROM57に記憶させる。排液カウント値は、「waste_ink」と対応付けられている。例えば、コントローラ51は、「waste_ink」の装置情報が記憶される記憶領域として予め決められた所定の記憶領域に排液カウント値を記憶させることにより、排液カウント値を「waste_ink」と対応付けてEEPROM57に記憶させる。すなわち、「waste_ink」は、ヘッド34からポンプによって吸引されて不図示の排液タンクに排出されたインクの総量を示す。サービス提供者は、例えば、「waste_ink」を監視することにより、排液タンクに収容されたパッドを交換すべきか否かを判断する。
【0058】
次に、コントローラ51は、ヘッド34からインクが流出する前と、インクが流出した後とにおいて、液面センサ38から入力する信号が第1検出信号から第2検出信号に変化したか否かを判断する(S92)。すなわち、ステップS92では、ヘッド34からのインクの流出によって、装着ケース32に装着されたカートリッジ13が貯留するインクの液面が検出位置未満になったか否かが判断される。コントローラ51は、液面センサ38から入力する信号が第1検出信号から第2検出信号に変化したと判断すると(S92:第2検出信号)、「ON」の値のセンサフラグをメモリ53のEEPROM57に記憶させる(S93)。センサフラグの値の初期値は「OFF」である。また、コントローラ51は、総カウント値をリセットする。総カウント値は、ヘッド34から流出したインクの総量を示す値である。すなわち、装着ケース32に装着されたカートリッジ13が貯留するインクの液面が検出位置に達すると、総カウント値が一度リセットされる。一方、コントローラ51は、液面センサ38から入力する信号が第1検出信号から第2検出信号に変化していないと判断すると(S92:第1検出信号)、ステップS93、S94の処理をスキップする。
【0059】
コントローラ51は、ステップS91で決定したカウント値を、EEPROM57に記憶された総カウント値に加え、新たな総カウント値としてEEPROM57に記憶させる(S95)。総カウント値は、センサフラグが「OFF」の場合、装着ケース32に装着されたカートリッジ13が貯留するインクの初期貯留量からの消費量を示す。センサフラグが「OFF」の場合、総カウント値は、装着ケース32に装着されたカートリッジ13が貯留するインクの液面が検出位置にある状態からの消費量を示す。なお、当該状態においてカートリッジ13が貯留するインクの量を示す固定貯留値が、ROM55或いはEEPROM57に予め記憶される。後述の残量値算出処理では、センサフラグが「OFF」の場合の総カウント値を第1総カウント値と記載し、センサフラグが「ON」の場合の総カウント値を第2総カウント値と記載して説明する。なお、ステップS94において総カウント値がリセットされずに、第1総カウント値と第2総カウント値とが別個にEEPROM57に記憶されてもよい。第1総カウント値及び第2総カウント値は、カウント値の一例である。
【0060】
次に、コントローラ51は、カートリッジ13が交換されたか否かの判断に相当する処理を実行する(S96)。カートリッジ13の交換の判断の一例について説明する。コントローラ51は、カートリッジ13が装着ケース32に装着されると、カートリッジI/F49を通じてCTGシリアル番号をICメモリ15から取得する。そして、コントローラ51は、メモリ53のEEPROM57に記憶されたCTGシリアル番号と、ICメモリ15から取得したCTGシリアル番号とが一致するか否かを判断する。コントローラ51は、メモリ53のEEPROM57に記憶されたCTGシリアル番号と、ICメモリ15から取得したCTGシリアル番号とが一致しないと判断したことに応じて、カートリッジ13が交換されたと判断する。また、コントローラ51は、カートリッジ13が交換されたと判断したことに応じて、メモリ53のEEPROM57に記憶されたCTGシリアル番号を、ICメモリ15から取得したCTGシリアル番号で上書きする。
【0061】
フローチャートには示されていないが、コントローラ51は、カートリッジ13が交換されたと判断すると、カートリッジ13の交換が完了したことを示す「交換済」を、「event_content」と対応付けてメモリ53のEEPROM57に記憶させる。また、コントローラ51は、交換されたインクの色を示す「マゼンタ」などの装置情報を、「ink_color」と対応付けてEEPROM57に記憶させる。また、コントローラ51は、交換されたカートリッジの型番を示す「M9876」などの装置情報を、「cartrige_modelnumber」と対応付けてEEPROM57に記憶させる。例えば、コントローラ51は、「event_content」、「cartrige_modelnumber」、「ink_color」の装置情報が記憶される記憶領域として予め決められた所定の記憶領域に、「交換済」、「M9876」、「マゼンタ」をそれぞれ記憶させる。これらの装置情報は、例えば、後述のテンプレートデータを含む送信データが情報処理装置11に送信されたことに応じて、メモリ53から消去される。
【0062】
コントローラ51は、カートリッジ13が交換されたと判断すると(S96:Yes)、EEPROM57に記憶された総カウント値をリセットし(S97)、カウント処理を終了する。一方、コントローラ51は、カートリッジ13が交換されていないと判断すると(S96:No)、「OFF」の値のセンサフラグをEEPROM57に記憶させ(S98)、カウント処理を終了する。
【0063】
次に、図10(B)を参照して、残量値算出処理について説明する。コントローラ51は、例えば、表示パネル43にインクの残量を表示すると決定したことに応じて、或いは、情報処理装置11にインクの残量を送信すると決定したことに応じて、残量値算出処理を実行する。まず、コントローラ51は、EEPROM57に記憶されたセンサフラグの値が「ON」であるか「OFF」であるかを判断する(S101)。すなわち、ステップS101では、EEPROM57に記憶された総カウント値が第1総カウント値であるか第2総カウント値であるかが判断される。コントローラ51は、EEPROM57に記憶されたセンサフラグの値が「OFF」であると判断すると(S101:OFF)、初期貯留値をEEPROM57、或いは、カートリッジI/F49を通じてICメモリ15から読み出す(S102)。また、コントローラ51は、第1総カウント値をEEPROM57から読み出す(S103)。そして、コントローラ51は、読み出した初期貯留値から、読み出した第1総カウント値を減じて残量値を算出する(S104)。
【0064】
一方、コントローラ51は、EEPROM57に記憶されたセンサフラグの値が「ON」であると判断すると(S101:ON)、固定貯留値をROM55或いはEEPROM57から読み出す(S105)。また、コントローラ51は、第2総カウント値をEEPROM57から読み出す(S106)。そして、コントローラ51は、読み出した固定初期値から、読み出した第2総カウント値を減じて残量値を算出する(S107)。コントローラ51は、ステップS104或いはステップS107で算出した残量値をRAM56或いはEEPROM57に記憶させて(S108)、残量値算出処理を終了する。
【0065】
なお、図10(A)に示されるカウント処理及び図10(B)に示される残量算出処理は、装着ケース32に装着された全てのカートリッジ13に対して実行される。すなわち、マゼンタ、シアン、イエロー、ブラックの各色のインクについて、カウント処理及び残量算出処理が実行される。そして、ステップS108において、各色の残量値がメモリ53にそれぞれ記憶される。各色の残量値は、「remain_amount」と対応付けてメモリ53に記憶される。例えば、コントローラ51は、「remain_amount」を示す情報が記憶される記憶領域として予め決められた所定の記憶領域に、各色の残量値を記憶させることにより、各色の残量値を「remain_amount」と対応付けて記憶させる。
【0066】
次に、図10(C)を参照して、故障判断処理について説明する。コントローラ51は、例えば、故障判断処理を定期的に実行する。まず、コントローラ51は、故障が発生したか否かを判断する(S111)。故障は、印刷エンジン40における故障の他、プリンタ10がスキャナ等を備える場合は、スキャナ等における故障も含む。故障は、紙詰まりなどである。コントローラ51が、故障が発生したか否かを判断する処理は、周知であるので、詳しい説明は省略する。コントローラ51は、故障が発生していないと判断すると(S111:No)、故障判断処理を終了する。一方、コントローラ51は、故障が発生していると判断すると(S111:Yes)、故障種別を特定する(S112)。そして、コントローラ51は、故障を示す情報と、特定した故障種別とを、「event_content」、「failure_type」とそれぞれ対応付けてメモリ53のEEPROM57に記憶させる。例えば、コントローラ51は、「event_content」を示す装置情報が記憶される記憶領域として予め決められた所定の記憶領域に、「故障」を示す装置情報を記憶させる(S113)。また、コントローラ51は、「failure_type」を示す装置情報が記憶される記憶領域として予め決められた所定の記憶領域に、「紙詰まり」などの故障種別を示す装置情報を記憶させる。コントローラ51は、ステップS113の処理の実行後、故障判断処理を終了する。ステップS11の処理を実行するタイミングは、所定タイミングの一例である。
【0067】
なお、フローチャートには示されていないが、コントローラ51は、カウント処理や残量算出処理の他、印刷エンジン40が印刷を行ったシート6の枚数をカウントする印刷枚数カウント処理を実行する。コントローラ51は、印刷枚数を示す印刷枚数カウント値を、「print_page」と対応付けてEEPROM57に記憶させる。例えば、コントローラ51は、「print_page」の装置情報が記憶される記憶領域として予め決められた所定の記憶領域に印刷枚数カウント値を記憶させることにより、印刷枚数カウント値を「print_page」と対応付けて記憶させる。
【0068】
次に、プリンタ10に実装された制御プログラム59と、情報処理装置11に実装された管理プログラム68とがそれぞれ実行する処理を、図6から図9を参照して説明する。具体的には、制御プログラム59が管理プログラム68からテンプレートデータを取得し、取得したテンプレートデータを用いて完成テンプレートデータを生成し、生成した完成テンプレートデータを情報処理装置11に送信する処理について説明する。なお、以下では、制御プログラム59が実行する処理を、コントローラ51が実行する処理として説明し、管理プログラム68が実行する処理を、コントローラ61が実行する処理として説明する。なお、フローチャートには示されていないが、プリンタ10のコントローラ51は、例えば、カートリッジI/F49を通じてICメモリ15から取得した上述の使用種別情報が契約使用態様を示すことにより、図6から図9に示される処理を実行してもよい。
すなわち、プリンタ10の装着ケース32に、契約使用態様で使用されるカートリッジ13が装着された場合にのみ、プリンタ10は、装置情報を情報処理装置11に対して送信する。
【0069】
プリンタ10のコントローラ51は、例えば、図6から図9に示される処理を定期的に実行する。まず、コントローラ51は、テンプレートデータ1がEEPROM57に記憶されているか否かを判断する(S11)。例えば、プリンタ10が設置されてインターネット12に接続された後、最初に電源が投入された場合、コントローラ51は、テンプレートデータ1がEEPROM57に記憶されていないと判断する(S11:No)。コントローラ51は、テンプレートデータ1がEEPROM57に記憶されていないと判断すると(S11:No)、返信要求を含むリクエストを、通信I/F47及びインターネット12を通じて情報処理装置11に送信する(S12)。具体的には、コントローラ51は、当該リクエストを、メモリ53のEEPROM57に記憶された送信アドレス宛てに送信する。当該リクエストは、HTTPやHTTPsなどの通信プロトコルに準拠したHTTPリクエストである。当該リクエストに含まれる返信要求は、第1種別情報を含む。返信要求は、例えば、第1種別情報を付帯するコマンドである。第1種別情報は、テンプレートデータ1を示す情報である。すなわち、コントローラ51は、ステップS11において、テンプレートデータ1の返信を情報処理装置11に要求する。第1種別情報は、テンプレート指定情報の一例である。
【0070】
情報処理装置11のコントローラ61は、通信I/F64を通じて、返信要求を含むリクエストを受信する(S12)。コントローラ61は、受信した返信要求を解析する(S13)。具体的には、コントローラ61は、返信要求が要求するテンプレートデータの種別を判断する。情報処理装置11のメモリ66は、第1種別情報とテンプレートデータ1とを対応付けて予め記憶している。コントローラ61は、返信要求に含まれる第1種別情報と対応付けられたテンプレートデータ1を含むレスポンスを生成する。コントローラ61が生成するレスポンスに含まれるテンプレートデータ1は、管理プログラム68が処理可能なデータ形式で記述された項目名を有するテンプレートデータである。後述のテンプレートデータ2からテンプレートデータ6についても同様である。
【0071】
情報処理装置11のコントローラ61は、生成したレスポンスを、通信I/F64及びインターネット12を通じてプリンタ10に返信する(S14)。コントローラ61が生成するレスポンスは、テンプレートデータ1に加え、第1タイマ値を含む。第1タイマ値は、プリンタ10が次のリクエストを送信する送信タイミングを示す情報である。第1タイマ値は、例えば、3時間は6時間や24時間などの期間を示す。詳しくは後述する。第1タイマ値は、第1タイミング情報の一例である。第1タイマ値が示す期間は、第1期間の一例である。
【0072】
プリンタ10のコントローラ51は、通信I/F47を通じて、情報処理装置11が返信したレスポンスを受信する(S14)。そして、コントローラ51は、受信したレスポンスに含まれるテンプレートデータ1をEEPROM57に記憶させるとともに、第1タイマ値を初期値としてタイマカウンタ48のカウントを開始させる(S15)。一方、コントローラ51は、ステップS11において、テンプレートデータ1がEEPROM57に記憶されていると判断すると(S11:Yes)、ステップS12からステップS15までの処理をスキップする。
【0073】
プリンタ10のコントローラ51は、第1タイマ値を初期値としてカウントダウンを開始したタイマカウンタ48がタイムアップしたか否かを判断する(S16)。なお、タイマカウンタ48が、カウントダウンを行うタイマカウンタではなく、カウントアップを行うカウンタタイマであってもよい。その場合コントローラ51は、ステップS16において、タイマカウンタのカウント値が第1タイマ値に到達したか否かを判断する。コントローラ51は、タイマカウンタ48がタイムアップしていないと判断すると(S16:No)、後述のステップS17からステップS22までの処理をスキップする。コントローラ51は、タイマカウンタ48がタイムアップしたと判断すると(S16:Yes)、テンプレートデータ1をEEPROM57から読み出し、読み出したテンプレートデータ1に基づいて、完成テンプレートデータ1を生成する(S17)。図4(A)及び図4(C)を参照して詳しく説明する。
【0074】
図4(A)には示されていないが、テンプレートデータ1は、プリンタ10のコントローラ51が解釈可能なコマンドを有する。当該コマンドは、「serial_number」などの置換指示データと、置換指示データが示す情報との置換を指示する。コントローラ51は、当該コマンドにしたがって、置換指示データが指定する装置情報をメモリ53において特定し、特定した装置情報と、置換指示データとを置換する。具体的には、コントローラ51は、「serial_number」と対応付けられてメモリ53に記憶されたプリンタシリアル番号である「12345678」を特定し、「serial_number」を、特定した「12345678」で置き換えて置換する。また、コントローラ51は、「firm_version」と対応付けられてメモリ53に記憶された制御プログラム59のバージョンである「A001」を特定し、「firm_version」を、特定した「A001」で置き換えて置換する。また、コントローラ51は、「print_page」と対応付けられてメモリ53のEEPROM57に記憶された印刷枚数カウント値である「130」を特定し、「print_page」を、特定した「130」で置き換えて置換する。また、コントローラ51は、「waste_ink」と対応付けられてメモリ53のEEPROM57に記憶された排液カウント値である「10」を特定し、「waste_ink」を、特定した「10」で置き換えて置換する。また、コントローラ51は、「remaining_amount」と対応付けられてメモリ53のRAM56或いはEEPROM57に記憶されたインクの残量を示す残量値「4,5,6,7」を特定し、「remaining_amount」を、特定した「4,5,6,7」で置き換えて置換する。なお、図示例では、置換指示データとして「serial_number」、「firm_version」、「print_page」、「waste_ink」、及び「remaining_amount」が示されている。しかしながら、置換指示データは、これらに限られない。例えば、プリンタ10のモデル名と置換される「printer_model」などの置換指示データがテンプレートデータ1に含まれていてもよい。
【0075】
プリンタ10のコントローラ51は、読み出したテンプレートデータ1に基づいて、完成テンプレートデータ1を生成した後(S17)、生成した完成テンプレートデータ1を含む送信データを生成する(S18)。送信データは、例えば、完成テンプレートデータ1を付帯するコマンドである。当該コマンドは、情報処理装置11のコントローラ61に、完成テンプレートデータ1に含まれる装置情報をデータベースに登録することを指示するコマンドである。コントローラ51は、生成した送信データを含むリクエストを、通信I/F47及びインターネット12を通じて、メモリ53に記憶された送信アドレスが示す情報処理装置11宛てに送信する(S19)。
【0076】
情報処理装置11のコントローラ61は、プリンタ10が送信したリクエストを受信する(S19)。そして、コントローラ61は、完成テンプレートデータ1に含まれる装置情報をデータベースに登録する(S20)。図11を参照して詳しく説明する。まず、コントローラ61は、完成テンプレートデータ1に含まれるシリアル番号「12345678」を用いて、データベースに登録された一のレコードを特定する。そして、コントローラ61は、完成テンプレートデータ1に含まれる項目名と一致するデータベース上の項目名を特定する。コントローラ61は、特定した項目名に、完成テンプレートデータ1において当該項目名と対応付けられた装置情報を登録する。具体的には、コントローラ61は、項目名「インク残量」に「4,5,6,7」を登録し、項目名「排液量」に「10」を登録し、項目名「印刷枚数」に「130」を登録する。なお、データベースにおいて一のレコードを特定するために、以下に説明するテンプレートデータ2からテンプレートデータ6は、「serial_number」の置換指示データを全て有している。
【0077】
なお、プリンタ10が「4,5,6,7」や「10」や「130」などの装置情報のみを送信し、項目名を送信しない場合、管理プログラム68は、プリンタ10が送信した装置情報を、どの項目名と対応付けてデータベースに登録すればよいかを決定できない。また、プリンタ10が項目名及び装置情報を送信する場合であっても、管理プログラム68が処理できないデータ形式で項目名が記述されていると、管理プログラム68は、当該装置情報を、どの項目名と対応付けてデータベースに登録すればよいかを決定できない。テンプレートデータ1が、管理プログラム68が処理することができるデータ形式で記述された項目名を有し、テンプレートデータ1に基づいて生成した完成テンプレートデータ1が情報処理装置11に送信されることにより、管理プログラム68は、装置情報をデータベースに登録することができる。
【0078】
フローチャートには示されていないが、情報処理装置11のコントローラ61は、ユーザI/F63を通じてサービス提供者の操作を受け付け、データベースに登録された情報をディスプレイ62に表示させる。
【0079】
コントローラ61は、ステップS20の登録処理の実行後、第1タイマ値を含むレスポンスを生成する。コントローラ61は、生成したレスポンスを、通信I/F64及びインターネット12を通じて、プリンタ10に返信する(S21)。
【0080】
プリンタ10のコントローラ51は、通信I/F47を通じて、情報処理装置11が送信したレスポンスを受信する(S21)。そして、コントローラ51は、受信したレスポンスに含まれる第1タイマ値を初期値として、タイマカウンタ48のカウントダウンを開始させる(S22)。
【0081】
次に、プリンタ10のコントローラ51は、図7に示されるように、上述のカウント処理(図10(A))でEEPROM57に記憶させた第2総カウント値が、EEPROM57に記憶された第1閾値以上であるか否かを判断する(S31)。すなわち、ステップS31では、装着ケース32に装着されたカートリッジ13が貯留するインクの液面が検出位置未満となった後、第1閾値が示すインクの量以上の量のインクがヘッド34から流出したか否かが判断される。換言すると、ステップS31では、装着ケース32に装着されたカートリッジ13が貯留するインクの量が少なくなったか否かが判断される。なお、コントローラ51は、ステップS31において、装着ケース32に装着された全てのカートリッジ13について、第2総カウント値が第1閾値以上か否かを判断する。そして、コントローラ51は、全てのカートリッジ13について、第2総カウント値が第1閾値以上でないことに応じて、第2総カウント値が第1閾値以上でないと判断する。一方、コントローラ51は、装着ケース32に装着された全てのカートリッジ13のうち1つのカートリッジ13でも、第2総カウント値が第1閾値以上でないことに応じて、第2総カウント値が第1閾値以上であると判断する。ステップS31の処理を実行するタイミングは、所定タイミングの一例である。第1閾値は、閾値の一例である。
【0082】
プリンタ10のコントローラ51は、第2総カウント値が第1閾値以上でないと判断すると(S31:No)、後述のステップS32からステップS49までの処理をスキップする。一方、コントローラ51は、第2総カウント値が第1閾値以上であると判断すると(S31)、テンプレートデータ2及びテンプレートデータ3がメモリ53のEEPROM57に記憶されているか否かを判断する(S32)。上述したように、テンプレートデータ2は、装着ケース32に装着されたカートリッジ13が貯留するインクの量が少ないことを情報処理装置11に通知するためのテンプレートデータである。テンプレートデータ3は、装着ケース32に装着されたカートリッジ13が交換されたことを情報処理装置11に通知するためのテンプレートデータである。テンプレートデータ2は、第2テンプレートデータの一例である。
【0083】
なお、フローチャートには示されていないが、コントローラ51は、第2総カウント値が第1閾値以上であると判断すると(S31:Yes)、インクロー情報を、「event_content」と対応付けてメモリ53のEEPROM57に記憶させる。インクロー情報は、貯留するインクの量が少ないカートリッジ13があることを示す情報である。また、コントローラ51は、貯留するインクの量が少ないカートリッジ13の型番と、「cartrige_modelnunber」とを対応付けてEEPROM57に記憶させる。例えば、コントローラ51は、「event_content」の装置情報が記憶される記憶領域として予め決められた所定の記憶領域にインクロー情報を記憶させることにより、インクロー情報を「event_content」と対応付けてEEPROM57に記憶させる。また、コントローラ51は、「cartrige_modelnunber」の装置情報が記憶される記憶領域として予め決められた所定の記憶領域に型番を記憶させることにより、型番を「cartrige_modelnunber」と対応付けてEEPROM57に記憶させる。
【0084】
プリンタ10のコントローラ51は、テンプレートデータ2及びテンプレートデータ3がメモリ53のEEPROM57に記憶されていると判断すると(S32:Yes)、ステップS33からステップS36までの処理をスキップする。一方、コントローラ51は、テンプレートデータ2及びテンプレートデータ3がメモリ53のEEPROM57に記憶されていないと判断すると(S32:No)、返信要求を含むリクエストを情報処理装置11に送信する(S33)。具体的には、コントローラ51は、当該リクエストを、メモリ53のEEPROM57に記憶された送信アドレス宛てに送信する。当該リクエストに含まれる返信要求は、第2種別情報及び第3種別情報を含む。返信要求は、例えば、第1種別情報及び第2種別情報を付帯するコマンドである。第2種別情報は、テンプレートデータ2を示す情報である。第3種別情報は、テンプレートデータ3を示す情報である。すなわち、コントローラ51は、ステップS33において、テンプレートデータ2及びテンプレートデータ3の返信を情報処理装置11に要求する。第2種別情報及び第3種別情報は、テンプレート指定情報の一例である。
【0085】
情報処理装置11のコントローラ61は、通信I/F64を通じて、返信要求を含むリクエストを受信する(S33)。コントローラ61は、受信した返信要求を解析する(S34)。具体的には、コントローラは61は、返信要求が要求するテンプレートデータの種別を判断する。情報処理装置11のメモリ66は、第2種別情報とテンプレートデータ2とを対応付けて、かつ第3種別情報とテンプレートデータ3とを対応付けて予め記憶している。コントローラ61は、テンプレートデータ2及びテンプレートデータ3を含むレスポンスを生成する。そして、コントローラ61は、生成したレスポンスを、通信I/F64及びインターネット12を通じてプリンタ10に返信する(S35)。
【0086】
プリンタ10のコントローラ51は、通信I/F47を通じて、情報処理装置11が返信したレスポンスを受信する(S35)。そして、コントローラ51は、受信したレスポンスに含まれるテンプレートデータ2及びテンプレートデータ3をEEPROM57に記憶させる(S36)。そして、コントローラ51は、テンプレートデータ2を読み出し、読み出したテンプレートデータ2に基づいて、完成テンプレートデータ2を生成する(S37)。図4(D)を参照して詳しく説明する。
【0087】
コントローラ51は、テンプレートデータ1と同様にして、「serial_number」などの置換指示データと、置換指示データが示す装置情報とを置換する。具体的には、コントローラ51は、「12345678」を「serial_number」と置き換えて置換し、「インクロー」を「event_content」と置き換えて置換し、インクの色を示す「マゼンタ」を「ink_color」と置き換えて置換する。また、コントローラ51は、型番を示す「M9876」を「cartrige_modelnumber」と置き換えて置換する。なお、図示例では、置換指示データとして「serial_number」、「event_content」、「ink_color」、及び「cartrige_modelnumber」が示されているが、置換指示データは、これらに限られない。
【0088】
プリンタ10のコントローラ51は、完成テンプレートデータ2を生成した後(S37)、生成した完成テンプレートデータ2を含む送信データを生成する(S38)。送信データは、例えば、完成テンプレートデータ2を付帯するコマンドである。当該コマンドは、情報処理装置11のコントローラ61に、完成テンプレートデータ2に含まれる装置情報をデータベースに登録することを指示するコマンドである。コントローラ51は、生成した送信データを含むリクエストを、通信I/F47及びインターネット12を通じて、メモリ53に記憶された送信アドレスが示す情報処理装置11宛てに送信する(S39)。
【0089】
情報処理装置11のコントローラ61は、プリンタ10が送信したリクエストを受信する(S39)。そして、コントローラ61は、完成テンプレートデータ2に含まれる装置情報を、上述と同様にしてデータベースに登録する(S40)。コントローラ61は、ステップS40の登録処理の実行後、第2タイマ値を含むレスポンスを生成する。コントローラ61は、生成したレスポンスを、通信I/F64及びインターネット12を通じて、プリンタ10に返信する(S41)。第2タイマ値は、例えば、上述の第1タイマ値よりも短い期間を示す値である。第2タイマ値は、例えば30分や1時間や2時間などの期間を示す。第2タイマ値は、第2タイミング情報の一例である。第2タイマ値が示す期間は、第2期間の一例である。
【0090】
フローチャートには示されていないが、情報処理装置11のコントローラ61は、項目名「イベント」、「インク色」、「カートリッジ型番」とそれぞれ対応して「インクロー」、「マゼンタ」、「M9876」をディスプレイ62に表示させる。サービス提供者は、ディスプレイ62に表示された型番のカートリッジ13をユーザに対して発送する。発送されたカートリッジ13は、ユーザに届けられる。ユーザは、装着ケース32に装着されたカートリッジ13であって、インクが使い切られたカートリッジ13を、配達された新しいカートリッジ13に交換する。
【0091】
プリンタ10のコントローラ51は、第2タイマ値を含むレスポンスを、通信I/F47を通じて受信する(S41)。そして、コントローラ51は、受信したレスポンスに含まれる第2タイマ値を初期値として、タイマカウンタ48のカウントダウンを開始させる(S42)。コントローラ51は、第2タイマ値を初期値としてカウントダウンを開始したタイマカウンタ48がタイムアップしたか否かを判断する(S43)。また、コントローラ51は、装着ケース32に装着されたカートリッジ13が交換されたか否かを判断する(S43)。カートリッジ13が交換されたか否かの判断は、上述と同様にして行われる。コントローラ51は、タイマカウンタ48がタイムアップしておらず、かつカートリッジ13が交換されていないと判断すると(S43:No)、ステップS44からS49までの処理をスキップする。なお、プリンタ10は、複数のタイマカウンタ48を備える。一のタイマカウンタ48は、第1タイマ値を初期値値としてカウントダウンを行い、他の一のタイマカウンタは、第2タイマ値を初期値としてカウントダウンを行う。
【0092】
プリンタ10のコントローラ51は、ステップS43において、タイマカウンタ48がタイムアップしたと判断すると(S43:Yes)、ステップS37と同様にして完成テンプレートデータ2を生成する(S44)。コントローラ51は、ステップS43において、カートリッジ13が交換されたと判断すると(S43:Yes)、上述と同様にして、完成テンプレートデータ3を生成する(S44)。
【0093】
プリンタ10のコントローラ51は、完成テンプレートデータ2或いは完成テンプレートデータ3を生成した後(S44)、生成した完成テンプレートデータ2或いはテンプレートデータ3を含む送信データを生成する(S45)。送信データは、例えば、完成テンプレートデータ2或いは完成テンプレートデータ3を付帯するコマンドである。当該コマンドは、情報処理装置11のコントローラ61に、完成テンプレートデータ2或いは完成テンプレートデータ3に含まれる情報をデータベースに登録することを指示するコマンドである。コントローラ51は、生成した送信データを含むリクエストを、通信I/F47及びインターネット12を通じて、メモリ53に記憶された送信アドレスが示す情報処理装置11宛てに送信する(S46)。
【0094】
情報処理装置11のコントローラ61は、プリンタ10が送信したリクエストを受信する(S46)。そして、コントローラ61は、完成テンプレートデータ2或いは完成テンプレートデータ3に含まれる装置情報を、上述と同様にしてデータベースに登録する(S47)。コントローラ61は、ステップS47の登録処理の実行後、第2タイマ値を含むレスポンスを生成する。コントローラ61は、生成したレスポンスを、通信I/F64及びインターネット12を通じて、プリンタ10に返信する(S48)。
【0095】
プリンタ10のコントローラ51は、第2タイマ値を含むレスポンスを、通信I/F47を通じて受信する(S48)。そして、コントローラ51は、受信したレスポンスに含まれる第2タイマ値を初期値として、タイマカウンタ48のカウントダウンを開始させる(S49)。
【0096】
次に、プリンタ10のコントローラ51は、図8に示されるように、上述のカウント処理(図10(A))でEEPROM57に記憶させた第2総カウント値が、EEPROM57に記憶された第2閾値以上であるか否かを判断する(S51)。すなわち、ステップS51では、装着ケース32に装着されたカートリッジ13が貯留するインクの液面が検出位置未満となった後、第2閾値が示すインクの量以上の量のインクがヘッド34から流出したか否かが判断される。換言すると、ステップS31では、装着ケース32に装着されたカートリッジ13が貯留するインクが使い切られたか否かが判断される。なお、コントローラ51は、ステップS51において、装着ケース32に装着された全てのカートリッジ13について、第2総カウント値が第2閾値値以上か否かを判断する。そして、コントローラ51は、全てのカートリッジ13について、第2総カウント値が第2閾値以上でないことに応じて、第2総カウント値が第2閾値以上でないと判断する。一方、コントローラ51は、装着ケース32に装着された全てのカートリッジ13のうち1つのカートリッジ13でも、第2総カウント値が第2閾値以上であることに応じて、第2総カウント値が第2閾値以上であると判断する。ステップS51の処理を実行するタイミングは、所定タイミングの一例である。
【0097】
プリンタ10のコントローラ51は、第2総カウント値が第2閾値以上でないと判断すると(S51:No)、後述のステップS52からステップ69までの処理をスキップする。一方、コントローラ51は、第2総カウント値が第2閾値以上であると判断すると(S51:Yes)、テンプレートデータ4がメモリ53のEEPROM57に記憶されているか否かを判断する(S52)。上述したように、テンプレートデータ4は、カートリッジ13が貯留するインクが使い切られたことを情報処理装置11に通知するために用いられるテンプレートデータである。
【0098】
プリンタ10のコントローラ51は、テンプレートデータ4がメモリ53のEEPROM57に記憶されていると判断すると(S52:Yes)、テンプレートデータ4を取得するステップS53からステップS56までの処理をスキップする。一方、コントローラ51は、テンプレートデータ4がメモリ53のEEPROM57に記憶されていないと判断すると(S52:No)、返信要求を含むリクエストを、通信I/F47及びインターネット12を通じて情報処理装置11に送信する(S53)。具体的には、コントローラ51は、当該リクエストを、メモリ53のEEPROM57に記憶された送信アドレス宛てに送信する。当該リクエストに含まれる返信要求は、第4種別情報を含む。返信要求は、例えば、第4種別情報を付帯するコマンドである。第4種別情報は、テンプレートデータ4を示す情報である。すなわち、コントローラ51は、ステップS53において、テンプレートデータ4の返信を情報処理装置11に要求する。第4種別情報は、テンプレート指定情報の一例である。
【0099】
情報処理装置11のコントローラ61は、通信I/F64を通じて、返信要求を含むリクエストを受信する(S53)。コントローラ61は、受信した返信要求を解析する(S54)。具体的には、コントローラは61は、返信要求が要求するテンプレートデータの種別を判断する。情報処理装置11のメモリ66は、第4種別情報とテンプレートデータ4とを対応付けて予め記憶している。コントローラ61は、返信要求に含まれる第4種別情報と対応付けられたテンプレートデータ4を含むレスポンスを生成する。そして、コントローラ61は、生成したレスポンスを、通信I/F64及びインターネット12を通じてプリンタ10に返信する(S55)。
【0100】
プリンタ10のコントローラ51は、通信I/F47を通じて、情報処理装置11が返信したレスポンスを受信する(S55)。そして、コントローラ51は、受信したレスポンスに含まれるテンプレートデータ4をEEPROM57に記憶させる(S56)。そして、コントローラ51は、テンプレートデータ4をEEPROM57から読み出し、読み出したテンプレートデータ4に基づいて、上述と同様にして、完成テンプレートデータ4を生成する(S57)。
【0101】
プリンタ10のコントローラ51は、完成テンプレートデータ4を生成した後(S57)、生成した完成テンプレートデータ4を含む送信データを生成する(S58)。送信データは、例えば、完成テンプレートデータ4を付帯するコマンドである。当該コマンドは、情報処理装置11のコントローラ61に、完成テンプレートデータ4に含まれる装置情報をデータベースに登録することを指示するコマンドである。コントローラ51は、生成した送信データを含むリクエストを、通信I/F47及びインターネット12を通じて、メモリ53に記憶された送信アドレスが示す情報処理装置11宛てに送信する(S59)。
【0102】
情報処理装置11のコントローラ61は、プリンタ10が送信したリクエストを受信する(S59)。そして、コントローラ61は、完成テンプレートデータ4に含まれる装置情報を、上述と同様にしてデータベースに登録する(S60)。コントローラ61は、ステップS60の登録処理の実行後、第3タイマ値を含むレスポンスを生成する。コントローラ61は、生成したレスポンスを、通信I/F64及びインターネット12を通じて、プリンタ10に返信する(S61)。第3タイマ値は、上述の第2タイマ値と同一の期間を示す値であってもよいし、異なる期間を示す値であってもよい。
【0103】
プリンタ10のコントローラ51は、第3タイマ値を含むレスポンスを、通信I/F47を通じて受信する(S61)。そして、コントローラ51は、受信したレスポンスに含まれる第3タイマ値を初期値として、タイマカウンタ48のカウントダウンを開始させる(S62)。コントローラ51は、第3タイマ値を初期値としてカウントを開始したタイマカウンタ48がタイムアップしたか否かを判断する(S63)。また、コントローラ51は、装着ケース32に装着されたカートリッジ13が交換されたか否かを判断する(S63)。カートリッジ13が交換されたか否かは、上述と同様にして行われる。コントローラ51は、タイマカウンタ48がタイムアップしておらず、かつカートリッジ13が交換されていないと判断すると(S63:No)、ステップS64からS69までの処理をスキップする。
【0104】
プリンタ10のコントローラ51は、ステップS63において、タイマカウンタ48がタイムアップしたと判断すると(S63:Yes)、ステップS57と同様にして完成テンプレートデータ4を生成する(S64)。コントローラ51は、ステップS43において、カートリッジ13が交換されたと判断すると(S63:Yes)、完成テンプレートデータ3を生成する(S64)。
【0105】
プリンタ10のコントローラ51は、完成テンプレートデータ4或いは完成テンプレートデータ3を生成した後(S64)、生成した完成テンプレートデータ4或いは完成テンプレートデータ3を含む送信データを生成する(S65)。送信データは、例えば、完成テンプレートデータ4或いは完成テンプレートデータ3を付帯するコマンドである。当該コマンドは、情報処理装置11のコントローラ61に、完成テンプレートデータ4或いは完成テンプレートデータ3に含まれる装置情報をデータベースに登録することを指示するコマンドである。コントローラ51は、生成した送信データを含むリクエストを、通信I/F47及びインターネット12を通じて、メモリ53に記憶された送信アドレスが示す情報処理装置11宛てに送信する(S66)。
【0106】
情報処理装置11のコントローラ61は、プリンタ10が送信したリクエストを受信する(S66)。そして、コントローラ61は、完成テンプレートデータ4或いは完成テンプレートデータ3に含まれる装置情報を、上述と同様にしてデータベースに登録する(S67)。コントローラ61は、ステップS67の登録処理の実行後、第3タイマ値を含むレスポンスを生成する。コントローラ61は、生成したレスポンスを、通信I/F64及びインターネット12を通じて、プリンタ10に返信する(S68)。
【0107】
プリンタ10のコントローラ51は、第3タイマ値を含むレスポンスを、通信I/F47を通じて受信する(S68)。そして、コントローラ51は、受信したレスポンスに含まれる第3タイマ値を初期値として、タイマカウンタ48のカウントダウンを開始させる(S69)。
【0108】
次に、プリンタ10のコントローラ51は、図9に示されるように、故障が発生しているか否かを判断する(S71)。コントローラ51は、故障が発生していないと判断すると(S71:No)、ステップS72からステップS89までの処理をスキップし、処理を終了する。一方、コントローラ51は、故障が発生していると判断すると(S71:Yes)、テンプレートデータ5及びテンプレートデータ6がメモリ53のEEPROM57に記憶されているか否かを判断する(S72)。上述したように、テンプレートデータ5は、故障が発生したことを情報処理装置11に通知するためのテンプレートデータである。テンプレートデータ6は、故障が解消したことを情報処理装置11に通知するためのテンプレートデータである。ステップS71の処理を実行するタイミングは、所定タイミングの一例である。テンプレートデータ5は、第2テンプレートデータの一例である。
【0109】
プリンタ10のコントローラ51は、テンプレートデータ5及びテンプレートデータ6がメモリ53のEEPROM57に記憶されていると判断すると(S72:Yes)、ステップS73からステップS76までの処理をスキップする。一方、コントローラ51は、テンプレートデータ5及びテンプレートデータ6がメモリ53のEEPROM57に記憶されていないと判断すると(S72:No)、返信要求を含むリクエストを情報処理装置11に送信する(S73)。具体的には、コントローラ51は、当該リクエストを、メモリ53のEEPROM57に記憶された送信アドレス宛てに送信する。当該リクエストに含まれる返信要求は、第5種別情報及び第6種別情報を含む。返信要求は、例えば、第5種別情報及び第6種別情報を付帯するコマンドである。第5種別情報は、テンプレートデータ5を示す情報である。第6種別情報は、テンプレートデータ6を示す情報である。すなわち、コントローラ51は、ステップS73において、テンプレートデータ5及びテンプレートデータ6の返信を情報処理装置11に要求する。第5種別情報及び第6種別情報は、テンプレート指定情報の一例である。
【0110】
情報処理装置11のコントローラ61は、通信I/F64を通じて、返信要求を含むリクエストを受信する(S73)。コントローラ61は、受信した返信要求を解析する(S74)。具体的には、コントローラ61は、返信要求が要求するテンプレートデータの種別を判断する。情報処理装置11のメモリ66は、第5種別情報とテンプレートデータ5とを対応付け、かつ第6種別情報とテンプレートデータ6とを対応付けて予め記憶している。コントローラ61は、テンプレートデータ5及びテンプレートデータ6を含むレスポンスを生成する。そして、コントローラ61は、生成したレスポンスを、通信I/F64及びインターネット12を通じてプリンタ10に返信する(S75)。
【0111】
プリンタ10のコントローラ51は、通信I/F47を通じて、情報処理装置11が返信したレスポンスを受信する(S75)。そして、コントローラ51は、受信したレスポンスに含まれるテンプレートデータ5及びテンプレートデータ6をEEPROM57に記憶させる(S76)。そして、コントローラ51は、テンプレートデータ5をEEPROM57から読み出し、読み出したテンプレートデータ5に基づいて、上述と同様にして、完成テンプレートデータ5を生成する(S77)。
【0112】
プリンタ10のコントローラ51は、完成テンプレートデータ5を生成した後(S77)、生成した完成テンプレートデータ5を含む送信データを生成する(S78)。送信データは、例えば、完成テンプレートデータ5を付帯するコマンドである。当該コマンドは、情報処理装置11のコントローラ61に、完成テンプレートデータ5に含まれる装置情報をデータベースに登録することを指示するコマンドである。コントローラ51は、生成した送信データを含むリクエストを、通信I/F47及びインターネット12を通じて、メモリ53に記憶された送信アドレスが示す情報処理装置11宛てに送信する(S79)。
【0113】
情報処理装置11のコントローラ61は、プリンタ10が送信したリクエストを受信する(S79)。そして、コントローラ61は、完成テンプレートデータ5に含まれる装置情報を、上述と同様にしてデータベースに登録する(S80)。コントローラ61は、ステップS80の登録処理の実行後、第4タイマ値を含むレスポンスを生成する。コントローラ61は、生成したレスポンスを、通信I/F64及びインターネット12を通じて、プリンタ10に返信する(S81)。第4タイマ値は、例えば、上述の第1タイマ値よりも短い期間を示す値である。第4タイマ値は、例えば30分や1時間や3時間などの期間を示す。第4タイマ値は、上述の第2タイマ値や第3タイマ値と同一の期間を示す値であってもよいし、異なる期間を示す値であってもよい。
【0114】
プリンタ10のコントローラ51は、第4タイマ値を含むレスポンスを、通信I/F47を通じて受信する(S81)。そして、コントローラ51は、受信したレスポンスに含まれる第4タイマ値を初期値として、タイマカウンタ48のカウントダウンを開始させる(S82)。コントローラ51は、第4タイマ値を初期値としてカウントを開始したタイマカウンタ48がタイムアップしたか否かを判断する(S83)。また、コントローラ51は、故障が解消したか否かを判断する(S83)。コントローラ51は、タイマカウンタ48がタイムアップしておらず、かつ故障が解消していないと判断すると(S83:No)、ステップS84からS89までの処理をスキップする。
【0115】
プリンタ10のコントローラ51は、ステップS83において、タイマカウンタ48がタイムアップしたと判断すると(S83:Yes)、上述と同様にして、完成テンプレートデータ5を生成する(S84)。コントローラ51は、ステップS83において、故障が解消されたと判断すると(S83:Yes)、上述と同様にして、完成テンプレートデータ6を生成する(S84)。コントローラ51は、完成テンプレートデータ5或いは完成テンプレートデータ6を生成した後(S84)、生成した完成テンプレートデータ5或いは完成テンプレートデータ6を含む送信データを生成する(S85)。送信データは、例えば、完成テンプレートデータ5或いは完成テンプレートデータ6を付帯するコマンドである。当該コマンドは、情報処理装置11のコントローラ61に、完成テンプレートデータ5或いは完成テンプレートデータ6に含まれる装置情報をデータベースに登録することを指示するコマンドである。コントローラ51は、生成した送信データを含むリクエストを、通信I/F47及びインターネット12を通じて、メモリ53に記憶された送信アドレスが示す情報処理装置11宛てに送信する(S86)。
【0116】
情報処理装置11のコントローラ61は、プリンタ10が送信したリクエストを受信する(S86)。そして、コントローラ61は、完成テンプレートデータ5或いは完成テンプレートデータ6に含まれる装置情報を、上述と同様にして、データベースに登録する(S87)。コントローラ61は、ステップS87の登録処理の実行後、第4タイマ値を含むレスポンスを生成する。コントローラ61は、生成したレスポンスを、通信I/F64及びインターネット12を通じて、プリンタ10に返信する(S88)。
【0117】
プリンタ10のコントローラ51は、第4タイマ値を含むレスポンスを、通信I/F47を通じて受信する(S88)。そして、コントローラ51は、受信したレスポンスに含まれる第4タイマ値を初期値として、タイマカウンタ48のカウントダウンを開始させ(S89)、処理を終了する。
【0118】
[実施形態の作用効果]
情報処理装置11のコントローラ61は、管理プログラム68が処理できるデータ形式で記述された項目名を有するテンプレートデータをプリンタ10に送信する。そして、プリンタ10のコントローラ51は、情報処理装置11から取得したテンプレートデータに含まれるコマンドの指示にしたがって、置換指示データが示す装置情報を特定し、特定した装置情報を置換指示データと置換して完成テンプレートデータを生成する。すなわち、プリンタ10のコントローラ51は、管理プログラム68が処理可能なデータ形式で記述され、かつ管理プログラム68が要求する装置情報を含む完成テンプレートデータを生成することができる。したがって、プリンタ10は、作業者等の入力操作を必要とすることなく、消耗品等に関する装置情報を情報処理装置11に取得させることができる。その結果、情報処理装置11に実装された管理プログラム68に、装置情報が登録されるデータベースを管理させることができる。
【0119】
また、プリンタ10のコントローラ61は、情報処理装置11から取得したテンプレートデータに基づいて完成テンプレートデータを生成するので、サービス提供者は、項目名を自由に決定することができる。すなわち、プリンタ10は、データベースの項目名をサービス提供者に自由に決定させることができる。
【0120】
また、プリンタ10のコントローラ61は、テンプレートデータがメモリ53に記憶されているか否かを判断し(S11等)、テンプレートデータがメモリ53に記憶されている場合、情報処理装置11からテンプレートデータを取得する処理をスキップする。したがって、プリンタ10は、送信データを情報処理装置11に送信する必要が生じるたびに情報処理装置11からテンプレートデータを取得する場合に比べ、情報処理装置11の処理の負担を軽減することができる。また、プリンタ10は、送信データの生成に要する時間を短くすることができる。
【0121】
また、プリンタ10のコントローラ61は、第1種別情報や第2種別情報や第3種別情報や第4種別情報や第5種別情報や第6種別情報を含むリクエストを情報処理装置11に送信する。したがって、プリンタ10は、テンプレートデータの種別を指定し、指定した種別のテンプレートデータを情報処理装置11から取得することができる。
【0122】
また、プリンタ10のコントローラ61は、故障が発生したと判断すると(S71)、テンプレートデータ5を取得し、故障が生じたことを情報処理装置11に通知する。すなわち、プリンタ10は、消耗品に関する消耗品情報に加え、プリンタ10において故障が発生したことも、情報処理装置11の管理プログラム68に通知することができる。
【0123】
また、プリンタ10のコントローラ61は、第2総カウント値が第1閾値以上になったことに応じて、完成テンプレートデータ2を情報処理装置11に送信して、カートリッジ13が貯留するインクの量が少なくなったことを管理プログラム68に通知する。その結果、プリンタ10は、カートリッジ13の発送が必要であることを、サービス提供者に認識させることができる。
【0124】
本実施形態では、テンプレートデータ2やテンプレートデータ3を送信する送信タイミングを決定する第2タイマ値が示す期間は、テンプレートデータ1を送信する送信タイミングを決定する第1タイマ値が示す期間よりも短い。すなわち、カートリッジ13が貯留するインクが少なくなると、プリンタ10がテンプレートデータを送信してから次のテンプレートデータを送信するまでの期間が短くなる。したがって、プリンタ10は、カートリッジ13が貯留するインクの量が少なくなったことに応じて、残量を示す情報などを情報処理装置11に詳細に送信することができる。
【0125】
また、プリンタ10のコントローラ61は、テンプレートデータを含むリクエストに対する応答として、第1タイマ値や第2タイマ値などのタイマ値を含むレスポンスを受信する。したがって、プリンタ10は、送信タイミングを示す情報を取得するためだけに情報処理装置11と通信する場合に比べ、情報処理装置11との通信回数を低減することができる。その結果、情報処理装置11の処理負担を軽減することができる。
【0126】
[変形例]
図4及び図5に示されるテンプレートデータが有する置換指示データは一例である。テンプレートデータは、図示された種別の置換指示データ以外の置換指示データを有していてもよいし、図示された種別の置換指示データに代えて、他の種別の置換指示データを有していてもよい。
【0127】
また、図4及び図5に示されるテンプレートデータが有する「インク残量」や「ink_remaining」などの項目名は一例であって、項目名は、サービス提供者が指定する表現で表記されることができる。
【0128】
上述の実施形態では、プリンタ10は、テンプレートデータ1を返信することを要求する返信要求と、テンプレートデータ2を返信することを要求する返信要求と、を別個に行う例を説明した。しかしながら、プリンタ10は、全ての種別或いは複数の種別のテンプレートデータを1つの返信要求で要求してもよい。
【0129】
上述の実施形態では、カートリッジ13が貯留するインクの液面の位置を検出する液面センサ38をセンサの一例として説明した。しかしながら、センサは、カートリッジ13が貯留するインクの液面の位置に応じて変化する値を検出可能であれば、どのようなセンサであってもよい。例えば、液面センサ38の光路上には、カートリッジ13の液面が来るようにするのではなく、例えば、液面位置に応じて移動するアクチュエータや液面位置に応じて屈折率が変化するプリズムが位置していてもよい。
【符号の説明】
【0130】
10・・・プリンタ
11・・・情報処理装置
13・・・カートリッジ
32・・・装着ケース
40・・・印刷エンジン
43・・・表示パネル
44・・・タッチセンサ
45・・・操作スイッチ
47・・・通信I/F
49・・・カートリッジI/F
51・・・コントローラ
53・・・メモリ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11