(57)【要約】【課題】インク使用量、インクカートリッジの交換を正確に管理し、これらの情報に関して不正な初期化を防止する。【解決手段】情報処理装置で生成された記録制御情報を受信し、その記録制御情報の属性を判定する（Ｓ１００５〜Ｓ１００８、Ｓ１０１１、Ｓ１０１４）。そして、その属性が、記録装置の状態を示すステータス情報を初期化するための要求情報である場合、記録装置に保持されているステータス情報の設定が、要求情報に応じて更新可能か否かを判定し（Ｓ１０１５、Ｓ１０１６）し、この判定結果に基づき、ステータス情報の更新を制御する（Ｓ１０１６、Ｓ１０１７）。【選択図】    図２
2005028753.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置が生成した記録制御情報に基づき、記録を制御する記録装置であって、
前記情報処理装置で生成された記録制御情報を受信し、該記録制御情報の属性を判定する第１判定手段と、
前記属性が、前記記録装置の状態を示すステータス情報を初期化するための要求情報である場合、該記録装置に保持されているステータス情報の設定が、該要求情報に応じて更新可能か否かを判定する第２判定手段と、
前記第２判定手段の判定結果に基づき、前記ステータス情報の設定を制御する制御手段と、
を有することを特徴とする記録装置。
【請求項２】
前記制御手段は、記録装置におけるインク使用量を算出し、該インク使用量の履歴値を記録するインク情報記録手段を更に有し、
該インク使用量の履歴値が、インク残量の基準値を超えた場合には、該インク残量警告に関する前記ステータス情報の設定を切り換えることを特徴とする請求項１に記載の記録装置。
【請求項３】
前記インク情報記録手段は、インクの初期使用量（０）に対して、累積の使用量を加算すること、または、未使用のインク量から使用量を減算すること、のいずれかにより、前記履歴値を算出することを特徴とする請求項２に記載の記録装置。
【請求項４】
前記制御手段は、記録装置におけるインク交換操作の有無を監視し、該操作の有無を記録するインク交換操作検知手段を更に有し、
該操作の有無の記録に従い、インク交換に関する前記ステータス情報の設定を切り換えることを特徴とする請求項１に記載の記録装置。
【請求項５】
前記第１判定手段により、前記受信した記録制御情報が、記録処理を実行するための記録データである場合、該記録データを記録媒体上に形成するための処理を実行する画像記録手段を更に備え、
前記インク情報記録手段は、該記録データの処理によるインク使用量を算出し、該使用量に基づきインク使用量の履歴値を更新することを特徴とする請求項１乃至３のいずれか１態様に記載の記録装置。
【請求項６】
前記第１判定手段により、前記受信した記録制御情報が、記録装置のメインテナンスを実行するための要求情報である場合、該メインテナンス処理を実行する手段を更に備え、
前記インク情報記録手段は、該メンテナンス処理によるインク使用量を算出し、該使用量に基づきインク使用量の履歴値を更新することを特徴とする請求項１乃至３のいずれか１態様に記載の記録装置。
【請求項７】
前記第２判定手段は、設定されている前記ステータス情報の内容と、前記ステータス情報を初期化するための要求情報の内容と、が整合する場合は、該要求情報に応じてステータス情報の更新が可能と判定することを特徴とする請求項１に記載の記録装置。
【請求項８】
前記第２判定手段は、前記ステータス情報がインク交換操作が行なわれたことを示す場合、前記ステータス情報を初期化するための要求情報の内容と整合する、と判定することを特徴とする請求項１に記載の記録装置。
【請求項９】
前記制御手段は、前記第２判定手段の判定結果に基づき、前記ステータス情報の設定内容と、前記ステータス情報を初期化するための要求情報の内容とが整合する場合、該ステータス情報の設定内容を更新し、
整合しない場合は、該ステータス情報の更新を中止し、設定内容を保持することを特徴とする請求項１または７に記載の記録装置。
【請求項１０】
前記情報処理装置の要求により、指定された内容のステータス情報を該情報処理装置に対して送信する手段を更に有することを特徴とする請求項１に記載の記録装置。
【請求項１１】
記録装置から受信したステータス情報に含まれる情報に基づいて、該ステータス情報の内容を確認するための入力手段を表示する表示制御手段と、
前記入力手段から入力に基づき、前記ステータス情報の内容が確認された場合、前記ステータス情報を初期化するための記録制御情報を生成する生成手段と、
を備えることを特徴とする情報処理装置。
【請求項１２】
請求項１乃至１０のいずれかに記載の記録装置と、
前記記録装置におけるステータス情報を初期化するための第１記録制御情報を生成し、該情報を記録装置に対して送信する第１情報処理装置と、
前記ステータス情報を初期化するための第２記録制御情報を生成し、該情報を前記記録装置に送信する第２情報処理装置と、を有し、
前記記録装置は、前記第１または第２記録制御情報のうち、先に受信した記録制御情報に基づいて前記ステータス情報を初期化し、後に受信した記録制御情報に対しては該ステータス情報の設定を保持することを特徴とする記録システム。
【請求項１３】
情報処理装置が生成した記録制御情報に基づき、記録を制御する記録装置の制御方法であって、
前記情報処理装置で生成された記録制御情報を受信し、該記録制御情報の属性を判定する第１判定工程と、
前記属性が、前記記録装置の状態を示すステータス情報を初期化するための要求情報である場合、該記録装置に保持されているステータス情報の設定が、該要求情報に応じて更新可能か否かを判定する第２判定工程と、
前記第２判定工程の判定結果に基づき、前記ステータス情報の設定を制御する制御工程と、
を有することを特徴とする記録装置の制御方法。
【請求項１４】
記録装置の制御方法をコンピュータで実行するための制御プログラムであって、該プログラムが
情報処理装置で生成された記録制御情報を受信し、該記録制御情報の属性を判定する第１判定モジュールと、
前記属性が、前記記録装置の状態を示すステータス情報を初期化するための要求情報である場合、該記録装置に保持されているステータス情報の設定が、該要求情報に応じて更新可能か否かを判定する第２判定モジュールと、
前記第２判定モジュールの判定結果に基づき、前記ステータス情報の設定を制御する制御モジュールと、
を有することを特徴とする制御プログラム。
【請求項１５】
請求項１４に記載の制御プログラムを格納したことを特徴とするコンピュータ可読の記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置が生成した記録制御情報に基づき、記録を制御する記録装置に関するもので、特に、記録装置における記録処理により消費したインク使用量、インクカートリッジの交換を正確に管理し、不正な初期化を防止することが可能な記録技術に関するものである。
【０００２】
【従来の技術】
従来のインクジェットプリンタにおいて、インク交換の時期を利用者に報知するための方式として、例えば、黒及びカラーインクについて、各インクタンクの使用開始時から、インクの総使用量に関する累積データを記録し、総使用量が予めインクタンクに充填された総インク量に近くなると、利用者にインク交換を促すという方法が知られている。
【０００３】
また、逆に、予めインクタンクに充填された総インク量を初期値とし、この初期値からインクの使用量を減算していき、その値が一定の値を下回ったら、利用者にインク交換を促すという方法も知られている。
【０００４】
これらの方法は、インク残量を直接計測するためのセンサ等を必要としないため、インクジェットプリンタの中でも比較的安価な機種において多く用いられている。これら方式において、正しくインク使用量を把握するためには、利用者がインク交換操作を行ったときに、インク使用量を示すカウンタが正しく初期化されることが必要である。
【０００５】
インク使用量のカウンタを初期化する方法として、特許文献１は、プリンタでインクタンクの交換操作を監視し、インクタンクの交換操作が行われたら、インクタンクが新しいものに交換されたとみなしてインク使用量のカウンタを自動的に初期化する方法を開示する。
【０００６】
また、別の方法として、特許文献２は、インク交換の操作を行った後、利用者があらかじめ定められたカウンタ初期化のための操作を行うことで、インク使用量のカウンタを初期化する方法を開示する。この際、初期化のための操作を容易にするために、プリンタと接続するホストコンピュータの画面上にインク使用量のカウンタを初期化するためのＧＵＩ（グラフィカル・ユーザ・インタフェース）を設け、このＧＵＩ上のボタン操作によって、インク使用量を初期化するためのコマンドをプリンタに転送し、このコマンドを受信するプリンタがカウンタを初期化するという構成を採用するものもある。
【０００７】
【特許文献１】
特開平９−３０００６号公報
【０００８】
【特許文献２】
特開平８−２２４８９１号公報
【０００９】
【発明が解決しようとする課題】
しかしながら、これらの方法には次のような課題がある。すなわち、インクタンクの交換操作を検知して自動的にカウンタを初期化する方法では、交換が検知された場合に、自動的にインク使用量のカウンタが初期化されてしまうため、一旦取り外した使用中のインクタンクを再度取り付けた場合のように、実際のインク残量が変化していない場合であってもインク使用量のカウンタが初期化されてしまい、カウンタがそのインクタンクのインク使用量を正しく反映しなくなってしまうという課題があった。更に、この課題を回避するために、インクタンクに個々のインクタンクを識別するためのマイクロチップを設けるものもあるが、これもコストが嵩むという課題もある。
【００１０】
また、インク交換の操作を行った後、利用者がインク使用量のカウンタを初期化する操作を行う方法では、利用者がカウンタ初期化の操作を正しく行わなかった場合に、インク使用量を示すカウンタは依然として交換前の使用量を指示することとなり、交換後におけるカウンタの値がインク使用量を正しく反映しなくなってしまうという課題がある。
【００１１】
本発明は上記の課題に鑑みてなされたものであり、インク交換の操作が行われた場合、インク使用量のカウンタのリセット処理を容易にし、かつ確実に行うことが可能な記録装置等を提供することを目的としている。
【００１２】
更に、この記録装置において、一台の記録装置に対して複数のホストコンピュータが接続され、複数のホストコンピュータからそれぞれ独立にインク使用量のカウンタを初期化するための操作が行われた場合にも、インク使用量のカウンタの初期化処理が何度も行われてカウンタが正しいインク使用量を反映しなくなるといった課題が発生しないような記録装置を提供することも目的としている。
【００１３】
【課題を解決するための手段】
上記の目的を達成するため、本発明にかかる、情報処理装置が生成した記録制御情報に基づき記録を制御する記録装置は、
前記情報処理装置で生成された記録制御情報を受信し、該記録制御情報の属性を判定する第１判定手段と、
前記属性が、前記記録装置の状態を示すステータス情報を初期化するための要求情報である場合、該記録装置に保持されているステータス情報の設定が、該要求情報に応じて更新可能か否かを判定する第２判定手段と、
前記第２判定手段の判定結果に基づき、前記ステータス情報の設定を制御する制御手段と、を有することを特徴とする。
【００１４】
【発明の実施の形態】
以下、図面を参照し、本発明にかかる記録装置及び記録装置に接続する情報処理装置の実施形態を説明する。
【００１５】
＜記録システムの構成＞
図１は情報処理装置（以下、「ホストコンピュータ」という。）及び記録装置とからなる記録システムの構成を示すブロック図である。図１中、１００１は記録システムにおけるホストコンピュータであり、後述するハードディスク内のアプリケーションプログラム等によって生成された文字、図形、およびイメージの混在するデータを、同じハードディスク内の記録装置制御プログラムによって記録データに変換し、データ転送制御プログラムを介して記録装置２００１に記録データを出力するものである。
【００１６】
１００２はホストコンピュータ本体１１００の制御を行うＣＰＵ、１００３はホストコンピュータ１００１内で動作するプログラムがロードされたり、プログラムが動作中にワークメモリとして使用されるＲＡＭである。１００４は前述したハードディスクであり、オペレーティングシステムやアプリケーションプログラムをはじめ、記録装置制御プログラムやデータ転送制御プログラム等の各種のプログラムのほか、各プログラムが動作する際に必要なデータ等が格納されている。
【００１７】
１００５はハードディスク１００４のデータやプログラムの読み書きの処理を行うハードディスクコントローラであり、１００６は上述の記録装置制御プログラムで生成された記録装置用のコマンドやデータを記録装置側へ転送したり、逆に記録装置側から送られてきたデータを受信して一時的に保持するデータ入出力コントローラであり、双方向のデータ通信インタフェースによって記録装置２００１と接続し、記録装置２００１との間でデータの送受信を行う。
【００１８】
１００７はホストコンピュータ１００１上で各種プログラムを実行したり、各種コントローラの制御を行うなどの様々な基本動作のためのプログラムおよびデータ等が格納されているＲＯＭである。
【００１９】
１００８はホストコンピュータ１００１に接続するキーボード１０１０からのキー入力を制御するキーボードコントローラであり、１０１２はホストコンピュータ１００１に接続するマウス１０１３からの入力を制御するマウスコントローラ、そして、１００９はディスプレイ用のＣＲＴ１０１１への表示を制御するＣＲＴコントローラである。
【００２０】
また、図１中、２００１は記録システムにおける記録装置であり、この記録装置には、例えば、プリンタが含まれる。記録装置２００１は、ホストコンピュータ１００１から記録データを受け取り、これを記録用紙上に画像記録するほか、ホストコンピュータ１００１からメンテナンスコマンドを受け取り、その内容に応じて、テストプリントやヘッドクリーニングを実行する。
【００２１】
２００２は、記録装置２００１に対してホストコンピュータ１００１から転送された記録データ等を受信したり、記録装置２００１側からの情報をホストコンピュータ１００１へ転送するデータ入出力コントローラであり、ホストコンピュータ１００１に対して記録装置２００１の状態（例えば、エラー情報、警告情報、記録装置でインク交換の可能性がある操作が検知されたか否かを表す情報等）を識別するためのステータス情報をホストコンピュータ１００１に送信することができる。
【００２２】
２００３は記録装置本体の制御を行うＣＰＵであり、２００４はプログラムＲＯＭであり、ホストコンピュータ１００１から受信した記録データを出力するなど、一連の記録動作を行うためのプログラムが格納されている。
【００２３】
２００５はプログラムＲＯＭ２００４内のプログラムによって生成された画像パターンを保持するフレームメモリ、２００６はイメージデータの描画処理をはじめとして画像記録の各種の処理およびホストコンピュータ１００１との通信処理において使用されるワークメモリである。
【００２４】
２００７はフレームメモリ２００５に保持した画像パターンを、ブラック、シアン、マゼンタ、イエローのインクを用いて記録媒体上に記録するカラー画像記録部である。そして、２００８は記録装置２００１の電源をオフにした状態でも保持する必要のある情報を記憶するＥＥＰＲＯＭである。ＥＥＰＲＯＭ２００８には、記録装置２００１の印刷枚数の累計などの情報のほか、各インクのインク残量に関する情報、インク交換操作の有無の情報が記録される。
【００２５】
ＣＰＵ２００３はカラー画像記録部２００７のインクタンクに対する利用者のアクセスを、カラー画像記録部２００７からの割り込み信号により認識することが可能であり、インクタンクへのアクセスを認識した場合には、前述のＥＥＰＲＯＭ２００８上の所定の領域にインク交換の可能性がある操作（インクタンクの交換、同一のインクタンクを再装着する場合を含む）が行われたことを記録する。
【００２６】
このインク交換の可能性がある操作があったことを示す記録は、ホストコンピュータ１００１から送信されるインク残量に関する情報を初期化し、インク交換操作が行われていないことを表す内容に変更することを指示するコマンドによって更新されるまでは、そのまま保持される。
【００２７】
記録装置２００１では、画像記録部２００７による画像記録や、クリーニング処理によってインクが消費された場合に、その消費量をもとにインク残量に関する情報を計算して、前述のＥＥＰＲＯＭ２００８の所定の領域に記録する。この情報は、各インクについて、初期化された状態（未使用の状態）を「０」とし、その後のインク使用量を加算して更新される。各インクについて、インク残量が少なくなったことを警告する値があらかじめ設けられており、インク残量に関する情報が加算され、更新される結果、インク残量に関する情報の示す値が、予め設定された値を超えた場合は、インク残量警告状態として、ステータス情報に反映させるようになっている。尚、インク残量の計算においては、上述のように、未使用の状態を「０」として、使用量の累積を求める方法の他、未使用のインク総量から、使用量に応じた値を減算していく方法でもよい。
【００２８】
記録装置２００１がインク消費量をもとに計算する「インク残量に関する情報」は、ホストコンピュータ１００１から送信される、インク残量に関する情報をリセットするコマンドにより初期化され、その際、「インク交換の可能性がある操作があったことを示す情報」は、「インク交換操作が行われていないことを示す情報」に変更することを指示するコマンドによって初期化される。
【００２９】
記録装置２００１は記録装置のステータス情報をホストコンピュータ１００１へ送信する機能をサポートしており、ホストコンピュータ１００１からステータス情報の送信要求があった際には、ホストコンピュータから指定された種類のステータス情報、たとえば記録装置で発生しているエラーや警告の有無、エラーが発生している場合にはその種類、記録装置でインク交換の可能性がある操作が行われたか否かの情報をホストコンピュータに対して送信する。
【００３０】
図６は、ホストコンピュータ１００１から記録装置２００１に対して要求するステータス情報の種類を指定するためのコマンドの例を示す図である。図６では、記録装置で発生しているエラー情報（ＥＲＲ）、警告情報（ＷＲＮ）、記録装置でインク交換の可能性がある操作が検知されたか否かを表す情報（ＣＨＧ）が指定されている。これらの指定に基づいて、記録装置２００１はホストコンピュータ１００１に対して所定のステータス情報を通知する。
【００３１】
記録装置２００１からホストコンピュータ１００１へ送信されるステータス情報は、図７および図８に示すようなものとなる。図７は記録装置２００１からホストコンピュータ１００１に送信される、記録装置２００１の状態を表すステータス情報の例であって、エラー情報（ＥＲＲ）および警告情報（ＷＲＮ）はいずれもエラー／警告が発生していないことを意味する「０」の値になっており、また、カートリッジ交換の可能性がある操作を検知したかどうかを示すステータス（ＣＨＧ）は交換を検知したことを意味する「１」の値になっている。図８は記録装置２００１からホストコンピュータ１００１に対して送信される、記録装置２００１のステータスを表すステータス情報の例であって、エラー情報（ＥＲＲ）および警告情報（ＷＲＮ）はいずれもエラー／警告が発生していないことを意味する「０」の値になっており、また、カートリッジ交換の可能性がある操作を検知したかどうかを示すステータス（ＣＨＧ）は交換を検知していないことを意味する「０」の値になっている。
【００３２】
図１２は、ホストコンピュータ１００１におけるデータ転送制御プログラムの処理の流れを説明するフローチャートである。データ入出力コントローラ１００６は、記録装置２００１に対して、種々の項目に関するステータス情報の送信を要求し、その要求に応じて記録装置２００１から送信されてきたステータス情報を受信する（Ｓ１２１０）。
【００３３】
受信したステータス情報のうち、インク交換操作が行われたことを表すステータス情報（ＣＨＧ＝「１」）が通知された場合には（Ｓ１２２０−Ｙｅｓ）、ＣＲＴコントローラ１００９は図１０に示すようなダイアログボックス１０４０をＣＲＴ１０１１上に表示して（Ｓ１２３０）、利用者に実際にインク交換操作を行ったか否かを確認するための入力を促す。ステータス情報（ＣＨＧ＝「０」）が通知された場合は（Ｓ１２２０−Ｎｏ）、インク交換操作の確認の必要がないので処理を終了する。
【００３４】
ダイアログボックス１０４０でインク交換操作を行った旨の確認操作が利用者より入力された場合（「はい」（１０２０）を選択した場合）には（Ｓ１２４０−Ｙｅｓ）、更に、図１１に示すようなダイアログボックス１１１０を表示して、交換したインクタンクの種類（ブラックインクタンク、あるいはカラーインクタンク）を入力させるよう促す（Ｓ１２５０）。
【００３５】
ステップＳ１２４０で、確認操作「いいえ」を選択した場合（Ｓ１２４０−Ｎｏ）、実際にはインク交換はされていないものとして処理を終了する（Ｓ１２６０）。この場合、例えば、インクタンクは一旦取り外されたが、同一のインクタンクを再度装着したような場合が該当する。
【００３６】
ダイアログボックス（１０４０、１１１０）からインク交換操作が行われた旨（Ｓ１２４０−Ｙｅｓ）、およびインクタンクの種類の指定（Ｓ１２５０）が入力された場合、その結果は、ホストコンピュータ１００１上で動作するデータ転送制御プログラムにより処理される。そして、データ転送制御プログラムは、交換されたインクタンクついて、インクの残量に関する情報を初期化し、インク交換操作の有無を判定する情報を、インク交換操作が行われていないことを示す内容に変更するよう指示するためのコマンドを生成し（Ｓ１２７０）、コマンドの送信処理を実行して終了する（Ｓ１２８０）。ホストコンピュータ１００１におけるデータ入出力コントローラ１００６は、送信処理が完了したコマンドを記録装置２００１に送信するよう動作する。
【００３７】
＜処理動作の説明＞
次に、本実施形態における記録装置の処理動作について説明する。図２は記録装置２００１上で動作する受信データ処理制御プログラムの処理の流れを説明するフローチャートである。記録装置２００１での受信データ処理は、一般に記録装置２００１と接続するホストコンピュータ１００１から送信される各種データが、データ入出力コントローラ２００２（図１）に設けられた受信バッファに一旦格納され、この格納されたデータを受信順に逐次受信バッファから取り出し、解析して、その内容に応じた処理を行うことで進められる。
【００３８】
受信データ処理制御プログラムは、記録装置２００１の起動時に記録装置のメインプロセスから起動される。受信データ処理制御プログラムが起動されると、まず初期化の処理を行う（Ｓ１００１）。ここでは、プログラムで使用するワークメモリ２００６上のメモリ領域の確保や変数の初期化が行われる。
【００３９】
ステップＳ２００２では、記録装置２００１のメインプロセスからの終了要求があるかを判断し、終了要求がある場合には（Ｓ１００２−ＹＥＳ）、ステップＳ１００３に処理を進めて終了処理を行い、終了する（Ｓ１００３）。ステップＳ１００３の終了処理は、プログラムで使用したメモリ領域の開放を行う。
【００４０】
一方、メインプロセスからの終了要求が無い場合（Ｓ１００２−ＮＯ）、処理をステップＳ１００４へ進める。ステップＳ１００４では、データ入出力コントローラ２００２に設けられた受信バッファにアクセスして、受信データの有無を確認する。受信データがある場合（Ｓ１００４−ＹＥＳ）は処理をステップＳ１００５へ進め、受信データが無い場合（Ｓ１００４−ＮＯ）には、処理を再びステップＳ１００２に戻し、ステップＳ１００２からの処理を繰り返す。
【００４１】
ステップＳ１００５では、受信バッファにあるデータを取り出し、取り出したデータを受信バッファから削除する処理を行う。また、ステップＳ１００６では取得したデータを解析し、Ｓ１００７、Ｓ１００８、Ｓ１０１１、Ｓ１０１４では、取得したデータが記録データか（Ｓ１００７）、メンテナンスコマンド（Ｓ１０１１）か、インク情報リセットコマンドか（Ｓ１０１４）を判断する。受信データが記録データである場合（Ｓ１００８−ＹＥＳ）、受信データは、例えば、図３に示すような形式になっている。記録データは記録データの先頭を表すコマンド（「１Ｂｈ  ＰＳＴ」）から始まり、用紙サイズ、記録領域、記録媒体、記録品位の設定コマンド（「１Ｂｈ  ＳＥＴ」）に続いて、各ラスタごとのラスタイメージデータ（「１Ｂｈ  ＩＭＧ」）を持ち、記録データの末尾を示すコマンド（「１Ｂｈ  ＰＥＤ」）で終わるようになっている。
【００４２】
受信データがメンテナンスコマンドである場合（Ｓ１０１１−ＹＥＳ）、そのコマンドデータは、例えば、図４または図５に示すような形式になっている。メンテナンスコマンドは記録データ以外のコマンドを表すコマンド（「１Ｂｈ  ＣＭＤ」）から始まり、その後に、実行するメンテナンスの種類（テストプリントの場合は「ＴＰＲ＝」、記録ヘッドのクリーニングの場合は「ＣＬＮ＝」）、それぞれの内容と、ノズルチェックプリントを表す「ＮＣ」、または、カラーインクタンクを表す「ＣＬ」）が組み合わされる。
【００４３】
受信データがインク情報に関する初期化を指示するコマンドである場合（Ｓ１０１４−ＹＥＳ）、データは、例えば、図９に示すような形式となる。インクカウント初期化コマンドは、記録データ以外のコマンドを表すコマンド（「１Ｂｈ    ＣＭＤ」）から始まり、その後に、インクカウントの初期化を表す「ＲＳＴ＝」と、その対象となるインクタンクの種類（ブラックインクタンクを表す「ＢＫ」とカラーインクタンクを表す「ＣＬ」）が、続くようになっている。
【００４４】
ここで、記録データの構造において示した、記録データの末尾を示すコマンド「１Ｂｈ  ＰＥＤ」（図３）を除く、他のコマンドには、各コマンドを識別するためのコマンド文字列に続き、コマンド全体のデータサイズを特定するための２バイトのバイナリデータを有しており、記録装置がコマンドの一部のみを取得した場合にも、そのデータサイズに基づき、受信したそのコマンドデータが完結しているものか否かを判断することができる。また、受信したデータが記録データの場合（「１Ｂｈ  ＰＳＴ」）は、記録データの全体サイズに関する２バイトのバイナリデータを有するものとし、この全体サイズに関する情報に基づき、記録データが完結しているか否かを判断することが可能になる。
【００４５】
受信データ処理制御プログラムは、受信バッファから取得したデータがコマンドとして完結しているかどうかを解析し（Ｓ１００６）、完結していない場合には、続きのデータが受信バッファに格納されるのを待ってから処理を行うか、すでに取得したデータに基づいて、続きのデータを待たずに処理を行うかを判断する（Ｓ１００７）。たとえば、完結していないコマンドが記録データの一部である場合は、すでに取得した記録データに基づいて記録可能な部分の記録処理を進め（Ｓ１００９）、その後、新たに受信バッファから取得したデータは、完結していない記録データの続きであると認識して処理を継続する。
【００４６】
一方、受信したコマンドがメンテナンスコマンドやインク情報をリセットするための初期化コマンドの場合は、最初にコマンドの一部を受信した場合であっても、後続のコマンドの受信を待ち、コマンドとして完結させてからその内容に応じた処理を行う。ステップＳ１００６（データの解析）、Ｓ１００８（記録データの判断）、Ｓ１０１１（メインテナンスコマンドの判断）、Ｓ１０１４（インク情報のリセットコマンドの判断）では、受信バッファから取得したデータがどのデータの属性に該当するかを判断し、コマンド情報を完結させるために、必要に応じて受信バッファから追加のデータを取得する処理を行う（Ｓ１００７）。
【００４７】
ステップＳ１００８の判断で、受信バッファから取得したデータが記録データであると判断した場合には（Ｓ１００８−ＹＥＳ）、処理をステップＳ１００９へ進め、取得した記録データを記録する処理を行う（Ｓ１００９）。記録処理では、取得したラスタイメージデータをフレームメモリ２００５に展開し、これを画像記録部２００７が記録するという処理を行う。さらにステップＳ１０１０で、ＥＥＰＲＯＭ２００８の所定の領域に記録されているインク残量に関する情報を読み出し、これとステップＳ１００９の記録処理で実際に吐出したインクの量の情報を用いて新たなインク残量に関する情報を計算し、インクカウントを更新する処理を行なう。そして、この計算結果をＥＥＰＲＯＭ２００８の所定の領域に書き戻す処理を行う。ステップＳ１０１０における更新処理が完了すると、処理を再びステップＳ１００２に戻し、ステップＳ１００２以降の各処理を実行する。
【００４８】
ＥＥＰＲＯＭ２００８に記録するインク残量に関する情報は、初期化の際に「０」がセットされ、その後の使用により、吐出したインク量を加算していく方法でも、インク総量からインク吐出による使用量を減算してく方法でもよい。インク残量に関する情報は、インクの色ごとに管理するものとし、ブラックインクタンクのインク残量に関する情報を初期化する場合にはブラックインクのインク残量に関する情報を初期化し、カラーインクタンクのインク残量に関する情報を初期化する場合には、ブラックインク以外のすべてのインク（本実施形態ではシアン、マゼンタ、イエローとする）のインク残量に関する情報を初期化するよう動作するものとする。
【００４９】
ステップＳ１０１１で、受信バッファから取得したデータがメンテナンスコマンドであると判断した場合（Ｓ１０１１−ＹＥＳ）、処理をステップＳ１０１２に進め、そのコマンドで指定された、「テストプリント」、もしくは「ヘッドクリーニング」のメンテナンス処理を行う（Ｓ１０１２）。テストプリントの処理では、あらかじめプログラムＲＯＭに記録されている特定の記録パターンをフレームメモリ２００５に展開し、これを画像記録部２００７が記録するという処理を行う。
【００５０】
また、ヘッドクリーニングの処理では、指定された記録ヘッドについて、画像記録部２００７があらかじめ決められたヘッドクリーニング動作を行う。メインテナンス処理（Ｓ１０１２）の終了後、処理をステップＳ１０１３に進め、ＥＥＰＲＯＭ２００８の所定の領域に記録されているインク残量に関する情報を読み出し、ステップＳ１０１２のテストプリント処理もしくはヘッドクリーニング処理で実際に吐出したインクの量の情報を用いて新たなインク残量に関する情報を計算し、計算結果をＥＥＰＲＯＭの所定の領域に書き戻す処理を行う（Ｓ１０１３）。ステップＳ１０１３の処理が完了すると、処理を再びステップＳ１００２に戻し、ステップＳ１００２以降の各処理を実行する。
【００５１】
ステップＳ１０１４で、受信バッファから取得したデータがインク残量に関する情報をリセットし、インク交換操作の有無の情報をインク交換操作が行われていないことを表す内容に変更するよう指示する、インク情報リセットコマンドであると判断した場合は（Ｓ１０１４−ＹＥＳ）、処理をステップＳ１０１５へ進める。ステップＳ１０１５では、ＥＥＰＲＯＭ２００８の所定の領域に記録された、インク交換操作の有無を表示するステータス情報を確認し（Ｓ１０１５）、次のステップＳ１０１６で、このステータス情報がインク交換の可能性がある操作（インクタンクを新しいものに交換する操作や、現在装着されているインクタンクを取外し、交換によらずに、再度同一のインクタンクを記録ヘッドに装着する操作が含まれる。）が行われたことを示しているかを確認する。
【００５２】
ここで、ＥＥＰＲＯＭ２００８に記録された情報が、インク交換の可能性がある操作が行われたことを示す、交換検知のステータス情報を示す場合には（Ｓ１０１６−ＹＥＳ）、処理をステップＳ１０１７へ進め、ＥＥＰＲＯＭ２００８上からインク残量に関する情報を読み出して、受信バッファから取得したコマンドで指定されたインクタンクに対応するインク残量に関する情報を初期化し、その内容をＥＥＰＲＯＭ２００８に書き戻す処理を行う。また、ＥＥＰＲＯＭ２００８上のインク交換操作の有無を示すステータス情報を、インク交換操作が行われていないことを示す内容に変更する処理も行う。
【００５３】
一方、ＥＥＰＲＯＭ２００８に記録された情報が、インク交換の可能性がある操作が行われていないことを示す場合には（Ｓ１０１６−Ｎｏ）、インク残量に関する情報の初期化処理は行わないで、処理をステップＳ１００２に戻す。
【００５４】
ステップＳ１０１５からステップＳ１０１７の一連の処理は、ホストコンピュータ１００１から送信された、インク残量に関する情報を初期化し、インク交換操作の有無を示す情報をインク交換操作が行われていないことを表す内容に変更するよう指示するコマンドの処理であり、実際に記録装置側でインクの交換操作が行われたか、また、交換操作が行われた後、インク残量に関する情報がすでに初期化されてた後ではないかを判断し、交換操作が行われていない場合や、すでにインク残量に関する情報が初期化された後である場合には、不正なインク残量情報初期化要求であるとして、コマンドに対応する処理を行わないようになっている。
【００５５】
この処理は、たとえば一台の記録装置に複数のホストコンピュータが接続され、ぞれぞれから個別にインク残量情報を初期化するための要求が行われた場合に、無条件に各初期化要求に応じて処理をすると、記録装置２００１で管理するインク残量に関する情報が、実際にはインク吐出によりインクは消費されているにも関わらず不正に初期化され、実際のインクの残量を反映しなくなることを回避するための処理である。
【００５６】
受信バッファから取得したデータが、記録データ、メンテナンスコマンド、インク情報リセットコマンドのいずれにも該当しない場合（Ｓ１０１４−ＮＯ）には、そのデータ自体が不正なものであると判断して、このデータを破棄する（Ｓ１０１８）。そして、その後、処理を再びステップＳ１００２に戻して以降の処理を繰り返す。
【００５７】
以上説明したように、記録装置２００１がホストコンピュータ１００１から受信した受信データの処理を行なう際、その受信したデータの属性を判断し、その属性がインク情報をリセットするコマンドである場合は、記録装置が保持しているステータス情報を確認する。ホストコンピュータ側のリセットコマンドと、記録装置側のステータス情報の内容と、が整合しているか否かの確認に基づくことで、記録装置が保持するインク情報の更新を容易かつ確実に行うことができる。
【００５８】
また、インク交換の可能性のある操作、例えば、インクタンクの交換ではなく、再装着をする場合であっても、ダイアログボックスからの入力に従い、実際にインク交換がなされたか否かを確認することが、初期化等のためのコマンドを生成する条件となるので、単に、記録装置側の情報だけに依りインク情報が更新されることを防止することが可能になる。
【００５９】
また、ホストコンピュータ側の初期化の要求に対して、記録装置側が保持しているステータス情報が整合しない場合、例えば、既にステータス情報が更新されている場合等、は初期化処理を中止し、現在の設定を保持することで、複数のホストコンピュータからそれぞれ独立にインク残量に関する情報の初期化操作が行われた場合にも、その都度、データが初期化されて正しいインク残量を反映しなくなるといった問題を解消することができる。
【００６０】
＜他の実施形態＞
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、記録装置にはプリンタ、ファクシミリ装置などが含まれる）から構成されるシステムに適用してもよい。
【００６１】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００６２】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００６３】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００６４】
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００６５】
【発明の効果】
以上説明したように、本発明によれば、情報処理装置側のステータス情報の初期化要求に対して、記録装置側が保持しているステータス情報の内容が整合するか否かを判定することで、記録装置におけるインク使用量や、インクカートリッジの交換の有無を正確に管理し、初期化することが可能になる。
【００６６】
または、情報処理装置側の初期化要求に対して、記録装置側が保持しているステータス情報の内容が整合しない場合は、初期化を中止し、現設定を保持することで、不正な初期化を防止することができる。
【図面の簡単な説明】
【図１】本発明の実施形態に係るホストコンピュータ及び記録装置とを有する記録システムの構成を示すブロック図である。
【図２】本発明の実施形態に係る記録装置上で動作する受信データ処理制御プログラムの処理の流れを説明するフローチャートである。
【図３】ホストコンピュータから記録装置へ送信される記録データの例を示す図である。
【図４】ホストコンピュータから記録装置へ送信されるメンテナンスコマンドの例を示す図である。
【図５】ホストコンピュータから記録装置へ送信されるメンテナンスコマンドの例を示す図である。
【図６】ホストコンピュータから記録装置へ送信されるステータス要求コマンドの例を示す図である。
【図７】記録装置からホストコンピュータへ送信されるステータス情報の例を示す図である。
【図８】記録装置からホストコンピュータへ送信されるステータス情報の例を示す図である。
【図９】ホストコンピュータから記録装置へ送信される、インク情報に関する初期化を指示するコマンドの例を示す図である。
【図１０】ホストコンピュータで表示される、インク交換操作の確認ダイアログボックスの表示例を示す図である。
【図１１】ホストコンピュータで表示される、インク交換操作の確認ダイアログボックスの表示例を示す図である。
【図１２】ホストコンピュータにおけるデータ転送制御プログラムの処理の流れを説明するフローチャートである。
【符号の説明】
１００１  ホストコンピュータ
１００２  ＣＰＵ
１００３  ＲＡＭ
１００４  ハードディスク
１００６  データ入出力コントローラ（ホストコンピュータ）
１００７  ＲＯＭ
１００８  キーボードコントローラ
１００９  ＣＲＴコントローラ
１０１０  キーボード
１０１１  ＣＲＴ
１０１２  マウスコントローラ
１０１３  マウス
２００１  プリンタ
２００２  データ入出力コントローラ（プリンタ）
２００３  プリンタＣＰＵ
２００４  プログラムＲＯＭ
２００５  フレームメモリ
２００６  ワークメモリ
２００７  画像記録部
２００８  ＥＥＰＲＯＭ
【図１】
2005028753.tif 000003
【図２】
2005028753.tif 000004
【図３】
2005028753.tif 000005
【図４】
2005028753.tif 000006
【図５】
2005028753.tif 000007
【図６】
2005028753.tif 000008
【図７】
2005028753.tif 000009
【図８】
2005028753.tif 000010
【図９】
2005028753.tif 000011
【図１０】
2005028753.tif 000012
【図１１】
2005028753.tif 000013
【図１２】
2005028753.tif 000014