以下、本発明をラテラル方式のインクジェット式プリンターの印刷制御装置に具体化した一実施形態を図1〜図9に従って説明する。
図1は、ラテラル方式のインクジェット式プリンターを備えた印刷システムの模式図である。図1に示すように、印刷システム100は、画像データを生成する画像生成装置110と、画像生成装置110から受信した画像データを基に印刷データを生成する上位装置の一例としてのホスト装置120と、ホスト装置120から受信した印刷データに基づく画像を印刷する印刷装置の一例としてのラテラル方式のインクジェット式プリンター(以下、単に「プリンター11」と称す)とを備えている。
画像生成装置110は、例えばパーソナルコンピューターにより構成され、その本体111内のCPUが画像作成用ソフトウェアを実行することで構築される画像生成部112を備える。ユーザーは、画像生成部112を起動して入力装置113の操作でモニター114上で画像を作成し、入力装置113を操作して画像の印刷を指示する。すると、その画像に係る画像データが所定の通信インターフェイスを介してホスト装置120へ送信される。
ホスト装置120は、例えばパーソナルコンピューターにより構成され、その本体121内のCPUがプリンタードライバー用ソフトウェアを実行することで構築されるプリンタードライバー122を備える。プリンタードライバー122は、画像生成装置110から受信した画像データを基に印刷データを生成し、プリンター11に設けられた制御装置Cへ送信する。制御装置Cは、プリンタードライバー122から受信した印刷データに基づいてプリンター11を制御し、プリンター11に印刷データに基づく画像を印刷させる。なお、モニター123には、プリンター11に制御用設定値を入力設定するためのメニュー画面や印刷対象の画像等が表示される。
次に、図1に示すプリンター11の構成について説明する。なお、以下における明細書中の説明において、「左右方向」、「上下方向」をいう場合は、図1に矢印で示した方向を基準として示すものとする。また、図1において手前側を前側、奥側を後側とする。
図1に示すように、プリンター11は、直方体状の本体ケース12を備える。本体ケース12内には、長尺状のシート13を繰り出す繰出し部14と、そのシート13にインクの噴射により印刷を施す印刷室15と、その印刷によりインクが付着したシート13に乾燥処理を施す乾燥装置16と、乾燥処理が施されたシート13を巻き取る巻取り部17とが設けられている。
すなわち、本体ケース12内におけるやや上寄りの位置には、本体ケース12内を上下に区画する平板状の基台18が設けられており、この基台18よりも上側の領域が矩形板状の支持部材19を基台18上に支持してなる印刷室15となっている。そして、基台18よりも下側の領域において、シート13の搬送方向で上流側となる左側寄りの位置に、繰出し部14が配設されると共に、下流側となる右側寄りの位置に、乾燥装置16及び巻取り部17が配設されている。
図1に示すように、繰出し部14には、前後方向に延びる巻き軸20が回転自在に設けられ、その巻き軸20に対してシート13が予めロール状に巻かれた状態で一体回転可能に支持されている。すなわち、シート13は、巻き軸20が回転することにより、繰出し部14から繰り出されるようになっている。また、繰出し部14から繰り出されたシート13は、巻き軸20の右側に位置する第1ローラー21に巻き掛けられて上方へ案内される。
一方、支持部材19の左側であって下側の第1ローラー21と上下方向で対応する位置には、第2ローラー22が下側の第1ローラー21と平行な状態で設けられている。そして、第1ローラー21によって搬送方向が鉛直上方向に変換されたシート13は、この第2ローラー22に左側下方から巻き掛けられることにより、その搬送方向が水平右方向に変換されて支持部材19の上面に摺接するようになっている。
また、支持部材19の右側には、左側の第2ローラー22と支持部材19を挟んで対向する第3ローラー23が第2ローラー22と平行な状態で設けられている。なお、第2ローラー22及び第3ローラー23は各々の周面の頂部が支持部材19の上面と同一高さとなるように位置調整されている。
印刷室15内で左側の第2ローラー22により搬送方向が水平右方向に変換されたシート13は、支持部材19の上面に摺接しつつ下流側となる右側に搬送された後、第3ローラー23に右側上方から巻き掛けられることにより搬送方向が鉛直下方向に変換されて基台18よりも下側の乾燥装置16に向けて搬送されるようになっている。そして、乾燥装置16内を通過することにより乾燥処理が施されたシート13は、更に鉛直下方向に搬送された後、第4ローラー24に巻き掛けられて搬送方向を水平右方向に変換され、この第4ローラー24の右側に配設された巻取り部17の巻取り軸25が搬送モーター61(図2参照)の駆動力に基づいて回転することによりロール状に巻き取られる。
図1に示すように、印刷室15内における支持部材19の前後両側には、左右方向に延びるガイドレール26(図1では2点鎖線で示す)が対をなすように設けられている。ガイドレール26の上面は支持部材19の上面よりも高くなっており、両ガイドレール26の上面には、矩形状のキャリッジ27が第1キャリッジモーター62(図2参照)の駆動に基づき両ガイドレール26に沿って図1に示す主走査方向X(図1では左右方向)への往復移動が可能な状態で支持されている。また、キャリッジ27は第2キャリッジモーター63(図2参照)の駆動に基づき副走査方向(図1では紙面と直交する前後方向)への移動も可能となっている。そして、このキャリッジ27の下面側には支持板28を介して記録手段の一例である複数の記録ヘッド29が支持されている。
支持部材19の左端から右端までの一定範囲が印刷領域とされており、この印刷領域単位でシート13は間欠的に搬送されるようになっている。そして、支持部材19上に停止したシート13に対してキャリッジ27の往復移動に伴い記録ヘッド29からインクが噴射されることでシート13に印刷が施される。
なお、印刷時には、支持部材19の下側に設けられた吸引装置30が駆動され、支持部材19の上面に開口する多数の吸引孔に及ぶ負圧による吸引力により、シート13は支持部材19の上面に吸着される。そして、シート13への1回分の印刷が終わると、吸引装置30の負圧が解除され、シート13の搬送が行われるようになっている。
また、印刷室15内において、第3ローラー23よりも右側となる非印刷領域には、非印刷時に記録ヘッド29のメンテナンスを行うためのメンテナンス装置32が設けられている。メンテナンス装置32は、記録ヘッド29毎にキャップ33と昇降装置34とを備える。各キャップ33は昇降装置34の駆動により、記録ヘッド29のノズル形成面に当接するキャッピング位置と、ノズル形成面から離間する退避位置との間を移動する。
また、図1に示すように、本体ケース12内には、異なる色のインクをそれぞれ収容した複数(例えば8個)のインクカートリッジIC1〜IC8が着脱可能に装着されている。そして、各インクカートリッジIC1〜IC8はインク供給路等(図示省略)を通じて記録ヘッド29に接続され、各記録ヘッド29は各インクカートリッジIC1〜IC8から供給されたインクを噴射する。このため、本例のプリンター11では、8色のインクを用いたカラー印刷が可能となっている。なお、本体ケース12においてインクカートリッジIC1〜IC8の配置位置と対応する箇所には開閉式のカバー38が設けられている。インクカートリッジIC1〜IC8の交換作業はカバー38を開けて行われる。インクカートリッジ交換等を行う際のカバー38の開閉操作は、制御装置Cにより検出されるようになっている。
8個のインクカートリッジIC1〜IC8は、例えば黒(K)、シアン(C)、マゼンタ(M)、イエロー(Y)等の各インクを収容する。なお、保湿液を収容する保湿液カートリッジが装填される構成も採用できる。もちろん、インクの種類(色数)は適宜設定でき、黒インクだけでモノクロ印刷する構成や、インクを2色としたり、8色以外で3色以上の任意の色数としたりした構成も採用できる。
各インクカートリッジIC1〜IC8はカートリッジホルダー(図示省略)を介して制御装置Cと電気的に接続されており、各インクカートリッジIC1〜IC8に実装された不揮発性の記憶素子47(図2参照)には、対応する色のインク残量情報が書き込まれるようになっている。また、本実施形態では、制御装置Cには、無停電電源48が接続されており、プリンター11の各種駆動系及び表示系への電力供給は、無停電電源48から制御装置Cを介して行われるようになっている。なお、無停電電源48に替えて、無停電機能を備えない通常の電源を用いてもよい。
図2は、印刷システム100の電気構成を示すブロック図である。図2に示すホスト装置120内のプリンタードライバー122は、モニター123に表示させるべきメニュー画面及び印刷条件設定画面などの各種画面の表示制御を行うと共に、各画面の表示状態において操作部124から入力した操作信号に応じた所定処理を行うホスト制御部125を備えている。ホスト制御部125は、プリンタードライバー122を統括的に制御する。また、プリンタードライバー122には、上位の画像生成装置110から受信した画像データに対して印刷データの生成に必要な画像処理を施す、解像度変換部126、色変換部127及びハーフトーン処理部128を備えている。解像度変換部126は、画像データを表示解像度から印刷解像度へ変換する解像度変換処理を行う。色変換部127は、表示用の表色系(例えばRGB表色系やYCbCr表色系)から印刷用の表色系(例えばCMYK表色系)に色変換する色変換処理を行う。さらにハーフトーン処理部128は、表示用の高階調(例えば256階調)の画素データを印刷用の低階調(例えば2階調又は4階調)の画素データに階調変換するハーフトーン処理などを行う。そして、プリンタードライバー122は、これらの画像処理を施した結果生成された印刷画像データに、印刷制御コード(例えばESC/P)で記述されたコマンドを付して印刷ジョブデータ(以下、単に「印刷データPD」と称す)を生成する。
ホスト装置120はデータの転送制御を行う転送制御部129を備える。転送制御部129は、プリンタードライバー122が生成した印刷データPDを所定容量のパケットデータずつプリンター11へ順次シリアル転送する。
一方、プリンター11側の制御装置Cは、ホスト装置120から印刷データPDを受信して記録系の制御をはじめとする各種制御を行うコントローラー40を備えている。コントローラー40は、複数個(本例では15個)の記録ヘッド29を制御する。
図2に示すように、本実施形態のホスト装置120は、シリアル通信ポートU1を備えている。また、コントローラー40もシリアル通信ポートU2を備えている。そして、転送制御部129は、シリアル通信ポートU1,U2間の通信を介してコントローラー40へ対応する印刷データPDをシリアル転送するようになっている。
図2に示すように、コントローラー40には、複数個(N個(本例では8個))のヘッド制御ユニット45(以下、単に「HCU45」という)が接続され、各HCU45にはそれ一個につき記録ヘッド29が複数個(M個(本例では2個))ずつ接続されている。
また、コントローラー40に接続された各通信回路46には、8個のインクカートリッジIC1〜IC8に実装された8個の記憶素子47がそれぞれ接続されている。コントローラー40は8個のインクカートリッジIC1〜IC4に実装された記憶素子47と通信可能である。記憶素子47は不揮発性の記憶素子により構成されている。記憶素子47には、対応するインクカートリッジICのインク残量情報、インク色、使用期限、メンテナンス情報、品番などの各種のインク関連情報が記憶される。なお、インクカートリッジIC(図1参照)がカートリッジホルダーに装着された状態で、記憶素子47とカートリッジホルダー側の端子部とが電気的に接続されることにより、通信回路46は記憶素子47に対して読み取り及び書き込みのための通信が可能となる。
コントローラー40は、8個のインクカートリッジIC1〜IC8のインク残量等を管理する。コントローラー40は、通信回路46を介してインクカートリッジIC1〜IC8の各記憶素子47と通信してインク関連情報の読出し及び書込みが可能となっている。
さらに、制御装置Cは、コントローラー40の出力側(制御下流側)に通信線SL1を通じて接続されたメカコントローラー43を備えている。メカコントローラー43は主に搬送系及びキャリッジ駆動系を含むメカニカル機構44の制御を司る。コントローラー40は、自身が受け持つ複数個(例えば15個)の記録ヘッド29の印刷準備ができた段階(つまりインク滴噴射制御に使用する印刷画像データが準備された段階)でキャリッジ起動コマンドをメカコントローラー43へ送信するようになっている。これにより、コントローラー40のうち一方の印刷準備完了前にキャリッジ27が起動されてしまうことに起因し、記録ヘッド29が噴射位置に到達したにも拘わらずインク滴が噴射されない噴射ミスが防止される。
また、コントローラー40は、自身が受け持つ複数個の記録ヘッド29の印刷を完了した段階で、シート13の搬送を指令する搬送コマンドをメカコントローラー43へ送信する。これにより、印刷完了前の段階でシート13が搬送開始(又は支持部材19上のシートの吸着解除)されてしまうことに起因し、記録ヘッド29から噴射されたインク滴のシート13に対する着弾位置ずれ(印刷位置ずれ)が防止される。
図2に示すように、コントローラー40にはリニアエンコーダー50が接続されている。このリニアエンコーダー50はキャリッジ27の移動経路に沿って設けられ、コントローラー40には、このリニアエンコーダー50からキャリッジ27の移動距離に比例する数のパルスをもつ検出信号(エンコーダーパルス信号)が入力される。コントローラー40に入力されたエンコーダーパルス信号は、キャリッジ27の主走査方向における位置(キャリッジ位置)及びキャリッジ移動方向の取得や、記録ヘッド29へ出力される噴射タイミング信号の生成に用いられる。
図2に示すように、コントローラー40は、CPU51(中央処理装置)、ASIC52(Application Specific IC(特定用途向け集積回路))、ROM53、第2の記憶手段の一例としてのRAM54、及び第1の記憶手段の一例としての不揮発性メモリー55を備えている。CPU51は、ROM53に記憶されたプログラムを実行することにより、印刷制御に必要な各種タスクを実行する。また、ASIC52は、印刷データPDの処理など記録系のデータ処理などを行う。もちろん、各タスクを含むプログラムは不揮発性メモリー55に記憶されてもよい。
本実施形態では、RAM54にはDRAM(Dynamic Random Access Memory)が用いられている。DRAMとしては、SDRAM(Synchronous DRAM)、DDR SDRAM(Double-Data-Rate SDRAM)、DDR2 SDRAM、DDR3 SDRAMなどが用いられているが、その他、EDO DRAM(Extended Data Out DRAM)、バーストEDO DRAMなどを用いることもできる。もちろん、RAM54には、SRAM(Static Random Access Memory)を用いてもよい。
また、本実施形態では、不揮発性メモリー55として、例えばFeRAM(強誘電体メモリー)が用いられているが、MRAM(Magnetoresistive RAM)、PRAM(Phase change RAM)、ReRAM(Resistive RAM)でもよい。もちろん、書込み可能回数が比較的多ければ、EEPROMやフラッシュメモリーでもよい。
一方、メカコントローラー43には、モーター駆動回路60を介してメカニカル機構44を構成する搬送モーター61、第1キャリッジモーター(以下、「第1CRモーター62」ともいう)及び第2キャリッジモーター(以下、「第2CRモーター63」ともいう)がそれぞれ接続されている。また、メカコントローラー43には、吸引装置30及びメンテナンス装置32がそれぞれ接続されている。なお、本実施形態では、記録ヘッド29及びメカニカル機構44により印刷手段の一例が構成される。このため、第1CRモーター62及び第2CRモーター63も、印刷手段の構成要素の一例を構成している。また、メカニカル機構44のうち搬送モーター61と各ローラー21〜24と軸20,25等により、印刷手段のうちの搬送手段の一例が構成される。
また、メカコントローラー43には、入力系として、電源スイッチ65、エンコーダー66及び温度センサー67がそれぞれ接続されている。電源スイッチ65がオン操作されたときのオン信号及びオフ操作されたときのオフ信号はメカコントローラー43を介してコントローラー40へ送信される。コントローラー40及びメカコントローラー43には、無停電電源48が接続されており、コントローラー40は電源スイッチ65のオン信号の入力に基づき無停電電源48の電力供給を指示し、電源スイッチ65のオフ信号の入力に基づき無停電電源48に電力供給の停止を指示する。
また、メカコントローラー43は、コントローラー40から通信線SL1を通じて受信した各種コマンドに従って、各モーター61〜63、吸引装置30及びメンテナンス装置32を駆動制御する。エンコーダー66は、搬送モーター61を動力源とする搬送駆動系の回転軸の回転を検出するものであり、メカコントローラー43は、エンコーダー66の検出信号(エンコーダーパルス信号)を用いてシート13の搬送量及び搬送位置を検出する。
また、温度センサー67は、シート13の温度を検出するためのものであり、メカコントローラー43には温度センサー67からシート温度に応じた温度検出信号が入力される。このシート温度は、プリンター11が動作するのに必要な調整値を求めるために使用される。
制御装置Cは、印刷時に、搬送モーター61を駆動してシート13の次の被印刷領域を支持部材19上に配置すべくシート13を搬送する搬送動作と、シート搬送後に次の被印刷領域を支持部材19に吸着させる吸着動作と、記録ヘッド29によるシート13への印刷動作と、1回分(1ページ分)の印刷終了後にシート13の吸着を解除する吸着解除動作とを行う。このとき、印刷動作(記録動作)は、キャリッジ27の主走査方向Xへの移動中に記録ヘッド29からインク滴を噴射することにより行われる。この印刷動作は、第1CRモーター62の駆動によるキャリッジ27の主走査方向Xへの移動(1パス動作)と、1パス終了毎に行われる第2CRモーター63の駆動によるキャリッジ27の副走査方向への移動とを、所定回数繰り返すことにより行われる。
図4は、コントローラー40内のコンピューターに係る部分の電気的構成を示すブロック図である。図4に示すように、CPU51、ASIC52、ROM53、RAM54、及び不揮発性メモリー55は、バス56に接続されており、CPU51及びASIC52はバス56を介してROM53、RAM54及び不揮発性メモリー55にアクセスすることが可能になっている。また、バス56にはメモリーコントローラー57が接続されており、このメモリーコントローラー57にはバス58を介して他のRAM59が接続されている。このRAM59は、主に印刷データの画像処理の際に、処理前、処理途中、処理後の各種データを格納するためのバッファーとして用いられる。ASIC52はメモリーコントローラー57を介してRAM59にアクセスすることで、印刷データ、その処理途中の印刷画像データの読み出し、及び読み出したデータに画像処理を施した後のデータ(プレーンデータ、ヘッド制御データ等)の書き込みを行う。また、画像処理のうち一部はCPU51が行い、CPU51もメモリーコントローラー57を介してRAM59にアクセスして印刷画像データ等の読み出し及び画像処理後のデータの書き込みを行う。また、ASIC52とRAM59間のデータ転送(DMA転送)はメモリーコントローラー57が行う。このメモリーコントローラー57へのデータ転送処理の指示及びその転送条件などの設定は、CPU51がメモリーコントローラー57にアクセスして行う。
CPU51とASIC52により、印刷データに各種の画像処理が施されることにより、プレーンデータ、ヘッド制御データが順番に生成される。すなわち、CPU51により、印刷データの解凍処理、印刷画像データの画素をノズルに割り付けるマイクロウィーブ処理などが施されることによりプレーンデータは生成され、ASIC52により、プレーンデータに縦横変換処理などの画像処理が施されることによりヘッド制御データが生成される。
RAM59に格納されたヘッド制御データは、図2に示すHCU45を介して各記録ヘッド29へ転送される。記録ヘッド29には不図示のヘッド駆動回路が内蔵され、ヘッド駆動回路がノズル毎に設けられた不図示の噴射駆動素子をヘッド制御データに基づいて駆動制御することにより記録ヘッド29のノズルからインク滴が噴射される。なお、噴射駆動素子としては、電圧を振動に変換する圧電素子(ピエゾ素子)や静電駆動素子の他、インクを加熱して沸騰した際の気泡の力を利用してインク滴を噴射させるヒーター素子を用いることもできる。
図3は、コントローラー40の機能構成を説明するブロック図である。図3に示すコントローラー40内の各種機能構成部分は、CPU51がプログラムを実行することにより構築されている。
図3に示すように、コントローラー40は、OS(Operating System)として、リアルタイムOS71を備えている。そして、コントローラー40内には、このリアルタイムOS71の管理下で選択的に起動される複数のタスク部81〜92等が備えられている。複数のタスク部には、図3に示すように、主制御部81、通信部82、画像処理部83、コマンド解析部84、印刷タスク部85、メカ制御部86、メカ通信部87、ヘッド制御部88、インク管理部89、緊急タスク部90(エマージェンシータスク部)、書込みタスク部91、及び書戻し手段の一例である書戻しタスク部92などがある。主制御部81は、各タスク部82〜92を統括的に制御する。なお、本実施形態では、リアルタイムOS71、各タスク部81〜92、RAM54及び不揮発性メモリー55により、データ記憶処理装置の一例が構成される。
リアルタイムOS71は、スケジューラー72及び優先順位変更部73を備える。スケジューラー72は、タスク管理部74及びディスパッチ部75を備えている。
スケジューラー72は、タスク部81〜92のスケジュール管理を行う。すなわち、タスク部81〜92の起動要求を受け付けると、空きがあればそのタスク部を起動するが、既に他のタスク部が実行中(Run状態)であれば、そのタスク部をReady状態とする。そして、実行中のタスク部から処理を終了した旨あるいは待ちが発生した旨の通知SC(サービスコール)を受け付けると、そのときReady状態のタスク部が存在すればそのうち優先順位の一番高いタスク部を起動させることで実行タスク(起動タスク)を切り換えるようになっている。タスク管理部74は、タスクの状態(Wait,Ready,Run等)を管理する。ディスパッチ部75は、スケジューラー72がタスク切り換えイベントとなる通知SC(サービスコール)を受け付けると、タスク管理部74が管理するタスクの状態を参照してReady状態のタスク部のうち優先順位の一番高いタスク部に起動指示を通知してこれを起動させる。
タスク管理部74は、図5に示す優先順位管理テーブル97を有している。この優先順位管理テーブル97には、タスクが優先順位の順番に配列されている。図5の例では、複数のタスクが上側から優先順位の高い順番に配列されており、上側に位置するタスクほど優先順位が高く設定されている。
優先順位変更部73は、優先順位管理テーブル97の優先順位の順番を並び替え、スケジューラー72が起動させるべきタスクの優先順位を変更する機能を有する。電源オン時には、リアルタイムOS71は図5に示す優先順位管理テーブル97を設定する。優先順位変更部73は、優先順位を変更する必要が生じた所定時期に優先順位の順番に変更する。ここで、各タスクのうちCPU51が一のタスクを実行することにより、図3に示す各タスク部81〜92のうち一のタスク部が起動される。図3に示す各タスク部81〜92は、CPU51の実行対象である、主制御タスク、通信タスク、コマンド解析タスク、画像処理タスク、印刷タスク、メカ制御タスク、メカ通信タスク、ヘッド制御タスク、インク管理タスク、緊急タスク、書込みタスク及び書戻しタスクとそれぞれ対応している。
図5に示す優先順位管理テーブル97には、緊急タスク、書込みタスク、書戻しタスク、ヘッド制御タスク、画像処理タスク、…の順番に優先順位が設定されている。つまり、印刷系タスク部81〜89よりも書込みタスク部91及び書戻しタスク部92の優先順位が高く設定されている。ここで、印刷系タスク部81〜89とは、印刷データPDに基づく印刷処理を行ううえで必要な処理を担うタスク部を指す。本実施形態では、印刷系タスク部には、通信系タスク部に属する通信部82及びメカ通信部87と、記録系タスク部に属する主制御部81、画像処理部83及びヘッド制御部88と、メカ駆動系タスク部(コマンド処理系タスク部)に属するコマンド解析部84、印刷タスク部85及びメカ制御部86とが含まれる。なお、通信系タスク部82,87は、記録系及びメカ駆動系の両方に属する通信部82と、メカ駆動系のみに属するメカ通信部87とに分かれる。
図3に戻って、各タスク部82〜92の機能について説明する。
通信部82は、シリアル通信ポートU2を制御する通信ドライバーソフトウェアを含み、シリアル通信ポートU2を介してホスト装置120との間で行われるシリアル通信を制御する。通信部82が受信した印刷データPDは、画像バッファー59Aに格納される。この画像バッファー59AはRAM59の少なくとも一部の記憶領域により構成される。画像バッファー59Aは、詳しくは、受信バッファーと中間バッファー(プレーンバッファ)と印刷バッファー(イメージバッファー)とを含み、印刷データPDはまず受信バッファーに格納される。
画像処理部83は、画像バッファー59Aから印刷データPDを読み出し、印刷データPDをまず解凍する。ここで、印刷データPDは印刷画像データと印刷言語記述コマンドとを含み、画像処理部83は、解凍後の印刷画像データを画像バッファー59A(詳しくはプレーンバッファー)に一時格納するとともに、印刷言語記述コマンドをコマンド解析部84に送る。
コマンド解析部84は、解凍後の印刷データPD中の印刷言語記述コマンドを解析して制御用のコマンドを取得し、その取得したコマンドを印刷タスク部85へ送る。
画像処理部83は、印刷データPDの解凍後の処理として、画像バッファー59Aから読み出した印刷画像データ(プレーンデータ)にマイクロウィーブ処理(ノズル割付処理)などの画像処理を順次施し、記録ヘッド29の制御に用いられるヘッド制御データを生成して画像バッファー59A(詳しくはイメージバッファー)に格納する。なお、マイクロウィーブ処理とは、記録ヘッド29のノズル形成面において副走査方向に隣接するノズルにより記録される主走査ライン(ドットライン)が隣接しないように印刷画像データ(プレーンデータ)の各ドットを各ノズルに割り付ける特定の割付処理を指す。なお、本実施形態では、縦横変換処理などの一部の画像処理は、ASIC52内の縦横変換回路などの画像処理用回路(図示省略)により行われる。この縦横変換処理の際には、ASIC52はRAM59との間でメモリーコントローラー57(図4参照)を介してデータ転送を行う。このメモリーコントローラー57に対する転送開始指示や転送条件設定処理は、CPU51が行う。本実施形態では、CPU51がデータ転送処理及び転送条件設定処理などを行うソフトウェア部分によって、主制御部81の一部が構成されている。この点において、主制御部81は、記録ヘッド29の記録動作に用いられるデータ生成のための画像処理の一部を担う。
ヘッド制御部88は、画像バッファー59Aからヘッド制御データを読み出し、このヘッド制御データを記録ヘッド29毎に分割して各HCU45へ割り振りつつ転送する。さらに、HCU45は受け付けたヘッド制御データを、対応する各記録ヘッド29へ逐次送信する。記録ヘッド29内の不図示のヘッド駆動回路は、ヘッド制御データに基づきノズル毎の噴射駆動素子を駆動制御することで、ノズルからインク滴を噴射させる。このとき、ヘッド駆動回路は、リニアエンコーダー50のエンコーダーパルス信号を基に生成された噴射タイミング信号を入力し、この噴射タイミング信号に基づく噴射タイミング毎に噴射駆動素子を駆動させることにより、シート13上の主走査方向Xに所定の印刷解像度でインク滴によるドットを形成する。
図3に示す印刷タスク部85は、コマンド解析部84から受け付けたコマンドを、メカコントローラー43へ指示できる形態のコマンドに処理するコマンド処理を行い、処理後のコマンドをメカ制御部86へ送る。
メカ制御部86は、受け付けたコマンドを実行順に管理してジョブを制御するジョブ制御部93と、ジョブ制御部93から実行順に受け付けたコマンドの出力先及び出力タイミングを制御して、ヘッド駆動系・搬送系・キャリッジ駆動系等の各種デバイスを制御するデバイス制御部94とを備えている。ジョブ制御部93は、印刷ジョブで指示された印刷動作を行う過程でヘッド駆動系、搬送系、キャリッジ駆動系のシーケンス動作の完了通知コマンドを、デバイス制御部94を介して受け付けるため、ヘッド駆動系、搬送系、キャリッジ駆動系の駆動タイミングの把握が可能である。このため、ジョブ制御部93は、印刷動作の切れ目となるタイミングを把握することが可能である。ここで、印刷動作の切れ目とは、1ページ分の印刷が終わった改ページのタイミング(印刷動作中のページの切れ目)、あるいはキャリッジ27が主走査方向Xに一回移動して1行分の印刷(1パス)を終了したタイミング(印刷動作中のパスの切れ目)などを指す。この印刷動作の切れ目は、印刷関連情報の取得に係る各タスク部85,88〜90,93,94が、印刷関連情報を構成する各種情報を取得すための演算、及び取得した情報をRAM54に書き込むタイミングとして把握される。本実施形態では、印刷動作の切れ目として、印刷動作中のページの切れ目を採用する。なお、各タスク部85,88〜90,93,94がそれぞれ取得する各種の情報の詳細については後述する。
デバイス制御部94は、メカ通信部87、ヘッド制御部88、インク管理部89及び緊急タスク部90などと接続され、これら各部宛のコマンドを出力したり、各部からの通知を受け付けたりして、これらのデバイスを制御等する一種のデバイスマネージャー機能を有している。デバイス制御部94は、例えばヘッド制御部88の処理の進捗を監視し、次パスの印刷に使用するヘッド制御データが準備できた段階で、メカシーケンス用のコマンドをメカ通信部87へ送る。また、デバイス制御部94は、メカコントローラー43から通知された装置状態情報(ステータス情報)に基づいて、メカニカル機構44における搬送系及びキャリッジ駆動系の状態を把握し、噴射開始に適切な状態になったタイミングでヘッド制御部88に噴射開始の旨を指示する。
シーケンス制御用のコマンドには、例えば搬送コマンド、吸着コマンド、第1キャリッジ起動コマンド(キャリッジ主走査方向移動コマンド)、第2キャリッジ起動コマンド(キャリッジ副走査方向移動コマンド)、吸着解除コマンドなどがある。デバイス制御部94は、これらのコマンドを、ヘッド制御部88の進捗に合わせた適宜なタイミング、あるいはメカコントローラー43側の進捗に合わせた適宜なタイミングで発行する。
メカ通信部87は、メカ制御部86からコマンドを受け付けると、そのコマンドをメカコントローラー43へ送信する。また、メカ通信部87は、メカコントローラー43からコマンド受信成功の応答(ACK信号)、コマンド受信失敗の応答であるリトライ要求(NACK信号)、メカコントローラー43が発行したコマンドや状態情報を受け付けると、上位のメカ制御部86へ送る。
図3に示すインク管理部89は、各インクカートリッジIC1〜IC8のインク関連情報を管理する。インク管理部89は演算部95を備えている。演算部95は、記録ヘッド29及びメンテナンス装置32で消費されたインク消費量及び各インクカートリッジIC1〜IC8のインク残量を演算する。詳しくは、演算部95は、各記録ヘッド29が消費した8色分のインク消費量を演算する。ここで、ヘッド制御部88は、ヘッド制御データに基づき記録ヘッド29のインク滴噴射回数に相当するドット数を色別に計数するドットカウンター(図示せず)を内蔵している。演算部95は、ヘッド制御部88から各記録ヘッド29の色別のドット数を取得し、その取得したドット数を色別に合計し、さらにその合計した色別のドット数を基に全記録ヘッド29が消費したインク色別のインク消費量を演算する。また、インク管理部89は、メンテナンス装置32が記録ヘッド29に施したクリーニングの種類(強度・時間等)に応じたインク消費量を取得する。
そして、インク管理部89は、印刷動作中のページの切れ目のタイミング、インクカートリッジ交換が行われたとき、クリーニング終了時などの所定時期に、全ての記録ヘッド29で消費されたインク消費量を色別(インクカートリッジ別)に算出する。さらにその演算部95は、この8色分の各インク消費量を、色毎の前回のインク残量からそれぞれ減算することで、各色の現在のインク残量を算出する。本実施形態では、インク管理部89は、インク残量情報とこれ以外のインクに係る情報などとを含むインク関連情報(印刷関連情報の一部)を取得する。
さらにインク管理部89は、インクカートリッジICの状態を監視し、インク関連のエラー検出も行う。インク管理部89は、例えば演算部95が算出したインク残量がインクエンド閾値未満になったか否かを判定し、インク残量がその閾値未満である場合にインクエンドと判定する。例えばインクエンドになってから、一定の許容印刷時間又は一定の許容インク量が消費されるまでの期間を過ぎると、強制的に印刷動作を停止させるためのエラーが、メカ制御部86を介して緊急タスク部90に通知される。また、インクカートリッジICの外れや、色違いのインクカートリッジICの装着を検出したときにも、メカ制御部86を介して緊急タスク部90にエラーが通知される。このエラー通知には、エラー内容を把握できる識別子(例えばエラーコマンド番号)やパラメーター値が付与される。このようにインク管理部89は、インク関連のエラー検出情報もインク関連情報の一部として取得する。
緊急タスク部90は、インク管理部89からエラー通知を受け付けると、その識別子やパラメーター値を基にそのエラーの内容を判断し、その判断したエラー内容に応じた種類のエラーコマンドを発行する。エラーコマンドはメカ制御部86を介して適切な送信先へ送られる。例えばインクエンド通知用のエラーコマンドは、メカコントローラー43及びホスト制御部125に送られ、メカニカル機構44の動作の非常停止や、ホスト装置120のモニター123へのインクエンドの旨の表示が行われる。また、緊急タスク部90は、電源オフ機能及び電源遮断検出機能を備えている。緊急タスク部90は、電源スイッチ65がオフ操作された際のオフ信号を入力すると、電源オフ機能により、プリンター11の終了処理を行った後に電源を遮断させる。
書込みタスク部91は、電源スイッチ65がオン操作された際のプリンター11の起動時に、CPU51とバス56を介して接続された不揮発性メモリー55からデータD(印刷関連情報を含む)を読み込み、その読み込んだデータDをRAM54に書き込む書込み処理を行う。なお、データDには、印刷関連情報以外に、主制御部81が印刷タスク部85に指示し、印刷タスク部85が記録ヘッド29及びメカニカル機構44を駆動させる調整処理を行わせた際に、調整処理の結果として取得された調整値データ(補正値データ)(調整情報)などが含まれる。調整処理としては、キャリッジ27の往動時と復動時における記録ヘッド29の噴射タイミングを、プリンター11の個体差や、シート13の厚み(媒体厚)に応じて調整する噴射タイミング調整処理などを挙げることができる。この噴射タイミング調整処理では、例えばテストパターンを印刷し、そのテストパターンの中からユーザーが最適と判断した番号又は数値を入力する方法、テストパターンをスキャナーに読み取らせて取得した画像データを画像解析してその画像解析結果から最適な調整値をプリンター11が求める方法などが挙げられる。この場合、主制御部81は、ミラー記憶部131のデータD中の噴射タイミング用の調整値(補正値)を更新する。この種の調整値(補正値)は、ユーザーが調整処理の実施を選択したときに限り更新されるものであり、プリンター11が起動されても通常更新されることのないほとんど固定値に近い情報である。よって、この種の調整値(調整情報)は、プリンター11の電源オン時に一度読み出されて設定されれば、その後、ほとんど読み出しも書き替えも行われることがない。
また、書戻しタスク部92は、RAM54に記憶されているデータDを読み出し、その読み出したデータDを不揮発性メモリー55に書き戻す書戻し処理を行う。
図3に示すように、RAM54は、プログラムデータ記憶部130と、ミラー記憶部131(ミラー記憶領域部)とを有する。プログラムデータ記憶部130は、ROM53(又は不揮発性メモリー55)から読み出されたプログラムデータや各種の設定値の書込み先となる記憶領域である。
ミラー記憶部131(ミラー記憶領域部)は、不揮発性メモリー55から読み出されたデータDの書込み先となる記憶領域である。ミラー記憶部131は、データD(印刷関連情報)を構成する各種の情報を取得する複数のタスク部85,88〜90,93,94がアクセスしてデータの読出し及び書込みが可能な記憶領域である。電源オン時に不揮発性メモリー55からミラー記憶部131に書き込まれたデータDは、プリンター11の稼働中(電源オン中)において各タスク部85,88〜90,93,94からの書込みアクセスにより逐次更新される。例えばインク管理部89がミラー記憶部131に書込みアクセスし、インク残量やインクカートリッジ使用期限残り時間などのインク関連情報を、ミラー記憶部131に書き込むことにより、データDのうちインク関連情報が更新される。なお、各タスク部85,88〜90,93,94のデータ更新内容の詳細については後述する。
書戻しタスク部92は、各タスク部85,88〜90,93,94の中で緊急タスク部90を除けば一番優先順位が高い(図5参照)。但し、書戻しタスク部92は、各タスク部85,88〜90,93,94がミラー記憶部131への情報の書込み(情報更新)を終了し、各タスク部85,88〜90,93,94から書込み終了(情報更新終了)の旨の通知を受け付けると、起動される。そして、この通知を受け付けて起動された書戻しタスク部92は、ミラー記憶部131に記憶されたデータDのうち、その通知元のタスク部と対応する記憶領域に記憶された情報を不揮発性メモリー55へ書き戻す処理(書戻し処理)を行う。書戻しタスク部92は、書戻し処理を完了すると、通知元のタスク部又はリアルタイムOS71に対して書戻し完了通知を行うようになっている。リアルタイムOS71は、書戻し完了通知を受け付けると、次に優先順位の高いタスク部を起動させる。こうして各タスク部85,88〜90,93,94は優先順位の高いものから順番に起動され、それぞれの担当する情報の取得(演算)及び取得した情報のミラー記憶部131における対応する記憶領域への書込み(情報更新)を行う。
ここで、不揮発性メモリー55をFeRAMとしている本例では、不揮発性メモリー55に保存できるデータ記憶容量が、例えばフラッシュメモリーに比べ比較的小さい。本実施形態では、これまで不揮発性メモリー(例えばフラッシュメモリー)に保存していたデータを、プリンター稼働中に全く更新されないか殆ど更新されないデータ(不変データ)と、印刷の実施や時間経過などに伴って更新されるデータ(可変データ)とに大きく分け、不変データのかなりの部分についてはホスト装置120のホスト記憶部120Mに保存することにしている。このため、不揮発性メモリー55に保存しておくべきデータDの容量が比較的小さくなり、不揮発性メモリー55としてFeRAMを使用することが可能になった。フラッシュメモリーは、書込み可能回数がFeRAMに比べ非常に少なく、書戻し処理を電源オフ時などに制限する必要があったが、本実施形態では、不揮発性メモリー55としてFeRAMを使用するため、電源オフ時以外のプリンター11の稼働中においても不揮発性メモリー55へのデータDの書戻しを行うことができる。
図6は、データ記憶処理装置に係る構成を示すブロック図である。図6に示すように、本実施形態のRAM54のミラー記憶部131には、各タスク部85,88〜90,93,94に対応する複数の記憶領域131A〜131Fが設けられている。各タスク部85,88〜90,93,94は、複数の記憶領域131A〜131Fのうちそれぞれが対応する一つの記憶領域にのみ書込みアクセスと読み出しアクセスが許可されている。このため、各タスク部85,88〜90,93,94は、複数の記憶領域131A〜131Fのうちそれぞれが対応する一つの記憶領域以外の他の記憶領域への書込みアクセスと読み出しアクセスが禁止されている。
インク管理部89は、演算して取得したインク関連情報を記憶領域131Aに書き込む。ジョブ制御部93は、取得したジョブ情報を記憶領域131Bに書き込む。デバイス制御部94はメカパラメーター情報を記憶領域131Cに書き込む。ヘッド制御部88は、ヘッド情報を記憶領域131Dに書き込む。印刷タスク部85は、調整情報を記憶領域131Eに書き込む。緊急タスク部90は、エラー情報を記憶領域131Fに書き込む。
各タスク部85,88〜90,93,94は、取得した担当の情報を、複数の記憶領域131A〜131Fのうち対応する一つの記憶領域に書き込むことにより、担当の情報を更新する。各タスク部85,88〜90,93,94は、担当の情報を、対応する記憶領域の既存の情報に上書きして情報を更新し終わると、書戻しタスク部92に対して書戻し要求(通知)を送る。書戻しタスク部92は、各タスク部85,88〜90,93,94より優先順位が高いので、各タスク部85,88〜90,93,94のうち一つのタスク部がRAM54の情報を更新する度に、そのタスク部からの書戻し要求によって逐次起動され、その更新された情報をRAMの記憶領域から不揮発性メモリー55の所定記憶領域に書き戻す。なお、本実施形態では、各タスク部が各々取得した情報(印刷関連情報)を個別対応する記憶領域に書き込むとともに、書込みのあった記憶領域から不揮発性メモリー55へ情報の書戻しを要求する書戻し要求(指示)を書戻しタスク部92に送る段階により、情報更新段階が構成される。また、書戻しタスク部92が書戻し要求(指示)に従ってRAM54に記憶された記憶領域毎の情報(印刷関連情報)を不揮発性メモリー55に書き戻す書戻し処理を行う段階により、書戻し段階が構成される。
図6に示すように、本実施形態では、不揮発性メモリー55にはデータD(印刷関連情報)のうち、インク関連情報、ジョブ情報、メカパラメーター情報、ヘッド情報、調整情報、エラー情報をそれぞれ格納するための複数の記憶領域55A〜55Fが設けられている。書戻しタスク部92は、書戻し要求(通知)を受け付けると、RAM54における複数の記憶領域131A〜131Fのうちその要求元(通知元)のタスク部と対応する記憶領域から情報を読み出し、その読み出した情報を、不揮発性メモリー55における複数の記憶領域55A〜55Fのうち対応する記憶領域に書き戻す。
書込みタスク部91は、プリンター11の電源オン時に起動され、不揮発性メモリー55からデータDを読み出してRAM54のミラー記憶部131に書き込む。この結果、前回の電源オフ時に不揮発性メモリー55に記憶されていたデータDが、今回電源オン時に不揮発性メモリー55から読み出されてRAM54の記憶領域131A〜131Fに書き込まれる。
次に、各タスク部85,88〜90,93,94が取得する情報について詳しく説明する。インク管理部89は、印刷動作、フラッシング動作、クリーニング動作などのインクの消費を伴う所定動作が行われるときには、予め決められた所定時期に、演算部95にインク消費量及びインク残量の演算を行わせる。例えばインク残量は、今回算出したインク消費量を前回のインク残量から減算して求められる。インク管理部89は、RAM54のミラー記憶部131のデータDのうち前回のインク消費量及びインク残量等のデータを、今回のインク消費量及びインク残量等のデータに書き替える。
また、インク管理部89は、電源オン時やインクカートリッジ交換時などの所定時期に、記憶素子47にアクセスし、インクカートリッジICの装着状態(装着外れ、装着間違い(色間違い)の有無など)、使用期限、インクエンド(インク切れ)などを検出する。例えば記憶素子47にアクセスできなければ装着外れであると検出する。また、記憶素子47には、インク色、使用期限、インク残量等のインクに関する各種情報が記憶されている。インク管理部89は、記憶素子47から読み出したインク色とそのときアクセスした装着位置に装着されるべきインクカートリッジのインク色とが対応していなければ、装着間違い(色間違い)であると検出する。また、インク管理部89は、記憶素子47から読み出した使用日限情報とリアルタイムクロック(図示せず)の時刻情報とを基にインクカートリッジ使用期限残り時間を演算する。インク管理部89は、このインクカートリッジ使用期限残り時間が「0」未満の値であると、使用日限エラーであると検出する。さらにインク管理部89は、記憶素子47から読み出したインク残量が、予め決められたインクエンド情報の値以下になっていると、インク切れ(インクエンド)であると検出する。なお、記憶素子47のインク残量は、初期には満充填(フル)の値が設定され、少なくとも電源オフの度にミラー記憶部131のインク残量等が書き込まれることで更新される。
インク管理部89は、インク関連情報(インク消費量、インク残量、インク切れ情報、使用期限残り時間、装着外れ、装着間違い、使用日限エラー情報など)を、RAM54のミラー記憶部131中の記憶領域131Aにアクセスして更新する。
また、ジョブ制御部93は、ホスト装置120から指示された印刷ジョブに関するジョブ情報を取得する。ジョブ制御部93は、メカコントローラー43から取得した搬送系の稼働情報を基にジョブ毎の印刷長又は印刷枚数(印刷ページ数)を求める。さらにジョブ制御部93は、その印刷長又は印刷枚数を基にジョブ毎の課金情報を算出する。そして、ジョブ制御部93は、印刷枚数、課金情報を含むこれらのジョブ情報を、RAM54のミラー記憶部131中の記憶領域131Bにアクセスして更新する。
また、メカコントローラー43には、搬送系のエンコーダー66の出力パルス数を計数してシート13の搬送量に相当する計数値を取得する不図示のカウンターが設けられ、印刷中におけるそのカウンターの計数値の変化量を基に、印刷されたシート13の長さである印刷長又は印刷枚数の情報が取得される。また、メカコントローラー43は、搬送系、キャリッジ駆動系及びクリーニング系などに関する種々のメカパラメーター情報を取得する。メカパラメーター情報には、例えば搬送状態(位置・速度等)、キャリッジ駆動状態(位置・速度等)、クリーニング状態などのステータス情報の他、搬送系、キャリッジ駆動系、クリーニング系の各種モーター等の駆動時間や駆動回転数などの稼働履歴情報が含まれる。この種のメカパラメーター情報は、メカコントローラー43からコントローラー40へ定期的に送信される。このメカパラメーター情報はコントローラー40内のデバイス制御部94が受信する。また、デバイス制御部94は、リアルタイムクロックの時刻情報を基に、プリンター11の稼働時間を取得する。そして、デバイス制御部94は、メカコントローラー43から取得した情報にこの稼働時間等を加えたメカパラメーター情報を、RAM54のミラー記憶部131中の記憶領域131Cにアクセスして書き替える。
ヘッド制御部88は、記録ヘッド29のインク滴噴射回数(ドット数)をインク色別に計数するドットカウンターを備え、その計数値からインク色毎のインク滴噴射回数(ドット数)を含むヘッド情報を取得する。そして、ヘッド制御部88は、取得したヘッド情報をRAM54のミラー記憶部131中の記憶領域131Dにアクセスして更新する。
また、プリンター11は、種々の調整値(補正値)を取得するための調整機能を備える。例えば、ある調整機能はその測定部を動作させて実測値を計測し、初期設定値と実測値との差分を基に、初期設定値を調整(補正)するための調整値(補正値)を取得する。この種の調整値には、主走査方向Xにおけるフラッシング開始位置・終了位置、キャップ位置、印刷時の噴射開始位置を決める基準位置、搬送基準位置、シート温度に応じたシート13の伸びを考慮して搬送量を補正するための調整値(補正値)などがある。ここで、シート温度は、温度センサー67により検出され、メカコントローラー43からコントローラー40へ送信される。印刷タスク部85は、検出されたシート温度に応じた搬送調整値を演算する。
また、他の調整機能としては、テストパターンを印刷し、そのテストパターンの中から最適な印刷結果であるとユーザーが判断して入力した1つのテストパターンに対応する番号を基に、その番号に対応する噴射タイミング調整値を取得する機能がある。この種の調整値には、一方向印刷時における記録ヘッド29の主走査方向Xの噴射タイミングを調整するUni-d調整値、双方向印刷におけるキャリッジ27の往動時と復動時の噴射タイミングを調整するBi-d調整値がある。キャリッジ27が主走査方向Xに移動している過程で記録ヘッド29の最適な噴射タイミングは、記録ヘッド29とシート13間のギャップ(間隔)を規定するシート厚に依存するので、このUni-d調整値又はBi-d調整値を用いて、シート厚(例えば紙厚)に応じた噴射タイミングを演算できるようになっている。この種の調整情報は、ユーザーの操作によりプリンター11の調整機能が動作したとき、又はユーザーの操作で最適なテストパターンなど最適な指標に対応する番号等が入力されたときに更新される。この更新された調整情報は、印刷タスク部85がRAM54のミラー記憶部131中の記憶領域131Eにアクセスすることで更新される。これらの調整情報データは、プリンター11の出荷検査段階、プリンター11をユーザーが初めて使用する際の最初の起動時、ユーザーが調整機構を動作させて行う調整作業時、故障修理のメンテナンス時などに設定され、一度設定されると、しばらくは更新されることのない種類のデータである。
緊急タスク部90は、印刷動作上のエラーが発生すると、そのエラー内容の解析が可能な程度の情報を含むエラー情報を、RAM54のミラー記憶部131の記憶領域131Fに書き込む。本実施形態では、ホスト装置120はインターネットを介してユーザーサポート用のサーバー(図示せず)に接続されており、エラー情報はホスト装置120からサーバーに送信されるようになっている。このサーバーは、エラー情報を解析してエラーの原因をつきとめたり、プリンター11をエラーから回復させる方法を探し出したりする処理を行う。
このようにデータDには、プリンター11の稼働中に比較的頻繁に更新されるインク関連情報、ジョブ情報、メカパラメーター情報及びヘッド情報等を含む稼働情報データD1と、プリンター11の稼働中もほとんど更新されることのない(更新頻度の低い)調整情報や解析用のエラー情報を含む固定情報データD2とがある。本実施形態では、データDには、先頭側に稼働情報データD1が配置され、その後側に続けて固定情報データD2が配置されている。データDの書替え(更新)に係る各タスク部85,88〜90,93,94のうち、緊急タスク部90を除く各タスク部の優先順位が、一例としてヘッド制御タスク、インク管理タスク、ジョブ制御タスク、デバイス制御タスク、印刷タスクの順番になっている。つまり、稼働情報データD1を扱う各タスク部の優先順位が高く、調整情報などの固定情報データD2を扱うタスク部の優先順位が低く設定されている。このため、各タスク部85,88〜90,93,94間で情報生成処理や書戻し処理が競合した場合、稼働情報データD1を扱う各タスク部が先に起動され、固定情報データD2を扱うタスク部が後から起動される。この結果、書戻し処理では最初に稼働情報データD1が書戻しされ、これに続けて固定情報データD2が書戻しされることになる。なお、調整情報の中に、コントローラー40が定期的に調整機能を動作させて最適な調整情報を比較的頻繁に更新する種類の調整情報が含まれていれば、印刷タスク部85の優先順位を高くしてもよい。
こうして印刷系タスク部81〜89が起動される印刷処理時には、適宜のタイミングで、ミラー記憶部131のデータDが更新される(データ更新段階)。更新されたミラー記憶部131のデータDは、起動された書戻しタスク部92により不揮発性メモリー55へ書戻しされる。なお、本実施形態では、インク関連情報、ジョブ情報、メカパラメーター情報、ヘッド情報、調整情報及びエラー情報が、プリンター11の動作によって更新される印刷関連情報に相当する。また、データDの中には、プリンター11の印刷動作によって更新される訳ではないが、不揮発性メモリー55(第1の記憶手段)に書き込まれる情報が存在してもよい。
図7は、データ記憶処理装置の情報更新処理機能を示すブロック図である。ジョブ制御部93が、印刷動作の切れ目となるタイミングで書替要求を各タスク部85,88〜90,94に送る。すなわち、各タスク部85,88〜90,93,94が情報更新処理を実行するタイミングは、ジョブ制御部93が管理する。ジョブ制御部93は印刷動作のページの切れ目のタイミングで書替え要求を各タスク部85,88〜90,94に送る。
図7に示すように、ジョブ制御部93は、管理手段の一例としての書替えタイミング出力部141と、コマンドキュー142と、ジョブ情報生成部143とを備えている。ホスト装置120からの印刷データのうちコマンド解析部84が解析して取得したコマンドは、ジョブ制御部93のコマンドキュー142に格納される。コマンドには、緊急コマンド、シーケンスコマンド、ホスト系コマンド、メカコン系コマンドなどの種類がある。コマンドキュー142には、コマンドが種類別の複数のキュー(図示せず)を備え、各種のコマンドは対応するキューにそれぞれ格納される。
書替えタイミング出力部141は、印刷ジョブにおけるコマンド等を基に印刷動作の状態を把握しており、印刷動作の切れ目のタイミングになると、各タスク部88,89,94に書替え要求を出力する。また、ジョブ制御部93内では、書替えタイミング出力部141からジョブ情報生成部143へ書替え要求が送られるようになっている。ジョブ情報生成部143は、書替えタイミング出力部141からの書替え要求を受け付けると、リアルタイムOS71に起動要求を送る。同様に、各タスク部88,89,94も、書替えタイミング出力部141からの書替え要求を受け付けると、リアルタイムOS71に起動要求を送る。このように各タスク部88,89,94及びジョブ制御部93内のジョブ情報生成部143からの各起動要求は、リアルタイムOS71へほぼ同時に送られる。
リアルタイムOS71は、各タスク部88,89,93,94からの各起動要求を受け付けると、その受け付けた起動要求が複数ある場合は、その受け付け元のタスク部を優先順位の高いものから優先して起動させる。一例として優先順位が、ヘッド制御部88、インク管理部89、ジョブ制御部93、デバイス制御部94の順番であるとすると、この優先順位の順番にタスク部88,89,93,94は起動されることになる。
ヘッド制御部88は、ヘッド制御データに基づき記録ヘッド29のインク滴噴射回数に相当するドット数を色別にドットカウンターで計数する。
ジョブ情報生成部143は、ジョブ情報を生成する。ジョブ情報とは、ジョブ毎の情報を指す。ジョブ情報には、ジョブ毎の印刷長又は印刷枚数(印刷ページ数)、インク消費量、印刷時間、課金情報などがあり、ジョブ情報生成部143は、新規の印刷ジョブが開始される度に、その開始されたジョブのジョブ情報を新規に起こし、その実行中のジョブにおける印刷動作の切れ目のタイミングにジョブ情報を演算して逐次取得する。
また、インク管理部89は書替え要求を受け付けたとき以外にも、カバー38(図1参照)の閉操作が検知された際のカバー閉通知を受け付けたときにも起動され、インク関連情報を取得する。また、印刷タスク部85は、調整処理の実施後、ユーザーが調整処理の結果から得られた調整情報(調整値や補正値)を設定するために操作部124を操作した際の設定信号を受け付けると起動される。そして、印刷タスク部85は、入力した設定信号の値を基に演算処理を行って調整情報を取得する。
緊急タスク部90は、インク管理部89やホスト制御部125、メカコントローラー43などからエラー通知を受け付けると、そのエラー通知に付随する識別値やパラメーター値を基にエラー内容を判定し、その判定結果に基づきエラー情報を生成し取得する。
各タスク部81〜90がRAM54の各記憶領域131A〜131Fの情報の読み出す場合は、その情報にアクセスできるタスク部を介して行う。記憶領域毎にアクセスできるタスク部は一義的に決まっているので、その記憶領域から情報を読み出したいタスク部は、その記憶領域と対応するタスク部へ情報の読み出しを依頼する。例えばタスク部は、他のタスク部がアクセス可能な記憶領域から情報を読み出したい場合は、その他のタスク部へ読出依頼通知(例えばメール)を送る。タスク部は、読出依頼通知を受け付けると、アクセス可能な記憶領域から情報を読出し、その読出した情報を読出依頼元のタスク部へ送る。読出依頼元のタスク部への情報の送信も、例えばメールで送る。
以下、プリンター11が電源オンされてから電源オフされるまでの稼働中に行われるデータ記憶処理を、図5〜図9等を参照しつつ説明する。図8は、各タスク部85,88〜90、93,94による情報生成処理(情報取得処理)、書替え処理(更新処理)、及び書戻しタスク部92による書戻し処理の流れを示すシーケンス図である。また、図9は、RAM54から情報を読み出す際の読出処理の流れを示すシーケンス図である。
電源オン時には、ROM53のプログラムデータ等がRAM54のプログラムデータ記憶部130に書き込まれ、CPU51がそのうちブートプログラム等を実行することによりリアルタイムOS71が起動される。このとき、リアルタイムOS71は、図5に示す優先順位管理テーブル97を設定する。このリアルタイムOS71の起動後、最初に書込みタスク部91が起動され、書込みタスク部91は、不揮発性メモリー55の記憶領域55A〜55FのデータDを、RAM54のミラー記憶部131に書き込む書込み処理を行う(書込み段階)。すなわち、書込みタスク部91は、電源オン時に、前回の電源オフ時(電源遮断時)に不揮発性メモリー55に保存されていたデータDを、その不揮発性メモリー55から読み出し、その読み出したデータDをRAM54のミラー記憶部131に書き込む。
この電源オン時には、プリンター11はメカニカル機構44の初期化処理を行う。その後、ユーザーが画像生成装置110で印刷実行の指示操作を行うと、ホスト装置120からプリンター11へ印刷データPDが送られてくる。プリンター11へ送られてきた印刷データPDは、コントローラー40内のリアルタイムOS71によって起動された通信部82が受信する。以下、リアルタイムOS71は、印刷系タスク部81〜89のうち、記録処理系のデータの流れ、コマンド処理系のコマンドの流れに従って起動させるべき一つのタスク部を選択的に切り替えることにより、印刷系タスク部81〜89に、記録系処理及びコマンド処理(搬送系・キャリッジ駆動系処理)を含む印刷系処理をマルチタスク処理で実施させる。
記録系処理では、画像処理部83が印刷データPDを解凍する解凍処理、解凍処理で得られた印刷画像データ(プレーンデータ)からヘッド制御データを生成する画像処理、ヘッド制御部88がヘッド制御データをHCU45を介して記録ヘッド29へ転送する転送処理などが行われる。搬送系・CR駆動系のコマンド処理では、コマンド解析部84が印刷言語記述コマンドを解析するコマンド解析、印刷タスク部85がコマンド解析で得られたコマンドに必要な処理を施すコマンド処理、メカ制御部86が行うコマンドのキュー管理及びメカシーケンスに従ったコマンドの出力タイミング制御、メカ通信部87がコマンドをメカコントローラー43へ送信するコマンド送信処理などが行われる。このように搬送系及びキャリッジ駆動系のコマンドに従ったメカニカル機構44のメカシーケンス制御と、記録ヘッド29のインク噴射制御とが、適切なタイミングで行われることで、プリンター11は印刷データPDに基づく画像をシート13に印刷する印刷動作を行う。
この印刷動作では、キャリッジ起動コマンドに基づき第1CRモーター62が駆動されてキャリッジ27が主走査方向Xへ移動し、その移動途中で記録ヘッド29内のヘッド駆動回路がヘッド制御データに基づいて噴射駆動素子を駆動してノズルからインク滴を噴射させることにより1パス分の印刷が行われる。そして、キャリッジ27が1パス分の移動を終える度に第2CRモーター63が駆動されてキャリッジ27が副走査方向に移動し、これを複数パス繰り返すことで1ページ分の印刷が行われる。また、印刷動作中の所定時期には、キャリッジ27をフラッシング位置に移動させ、記録ヘッド29のノズルからキャップ33(廃液受容器)に向けて、印刷とは関係のないインク滴を噴射することで、ノズルの目詰まりを予防又は解消するフラッシング(空吐出)が行われる。
1ページ分の印刷を終えると、メカコントローラー43は、コントローラー40からの吸着解除コマンドに基づいて吸引装置30の吸引を開放した後、搬送コマンドに基づいて搬送モーター61を駆動してシート13を所定の搬送ピッチ(例えば1ページ分)だけ搬送させる。つまり、1ページ分の印刷を終える度に、改頁のためシート13の搬送が行われる。
この改頁のときは、次頁の印刷のための画像処理などを行う必要があるものの、キャリッジ27及び記録ヘッド29を駆動させて行われる印刷動作中に比べ、起動されるタスク部及びその起動頻度が比較的少ない。この印刷動作の切れ目に当たる改頁の時期は、ジョブ制御部93の書替えタイミング出力部141が把握する。
書替えタイミング出力部141は、印刷動作の切れ目に当たる改頁の時期になると、印刷動作によって更新される情報の取得及びその更新を担当する各タスク部88,89,94とジョブ制御部93内のジョブ情報生成部143に、書替え要求を送る(図7参照)。
各タスク部88,89,93,94は、書替え要求を受け付けると、リアルタイムOS71に起動要求を送る。リアルタイムOS71は、起動要求を受け付けると、図5に示す優先順位管理テーブル97を参照し、起動要求のあった各タスク部88,89,93,94を優先順位の高いものから順番に起動させる。本例では、例えばヘッド制御部88、インク管理部89、ジョブ制御部93、デバイス制御部94の順番に起動される。
ここで、各タスク部85,88〜90,93,94がRAM54の情報を書替える書替え処理(情報更新処理)及び、書戻しタスク部92がRAM54の情報を不揮発性メモリー55に書き戻す書戻し処理について、図8を用いて説明する。図8に示すように、各タスク部85,88〜90,93,94のうち起動された一のタスク部は、情報を生成(取得)する情報生成処理(情報取得処理)を行い、取得した情報をRAM54の対応する記憶領域に書き込んで、情報を書き替える書替え処理(更新処理)を行う。情報の更新を終えたタスク部が書戻し要求を送ると、書戻しタスク部92が起動する。起動した書戻しタスク部92は、書戻し要求元のタスク部に対応するRAM54内の記憶領域の情報を、不揮発性メモリー55に書き戻す書戻し処理を行う。書戻し処理を終えた書戻しタスク部92は、書戻し要求元のタスク部に書戻し完了通知を送った後、休止する。
印刷動作の切れ目で、書替え要求を受け付けた各タスク部88,89,93,94は、優先順位の高いものから順番に起動される。具体的には、まず、ヘッド制御部88は、ヘッド制御データに基づき記録ヘッド29のインク滴噴射回数に相当するドット数を色別にドットカウンターを用いて計数する。そして、ヘッド制御部88は計数した色別のドット数を含むヘッド情報を、RAM54の記憶領域131Dに書き込むことにより、ヘッド情報を更新する。ヘッド情報の更新を終えると、ヘッド制御部88は書戻しタスク部92に書戻し要求を送る。
書戻しタスク部92は書戻し要求を受け付けると、リアルタイムOS71に起動要求を送る。書戻しタスク部92は印刷系タスク部81〜89より優先順位が高いので、リアルタイムOS71は、起動待ちの他のタスク部に優先して書戻しタスク部92を起動させる。そして、起動した書戻しタスク部92は、その書戻し要求元のタスク部であるヘッド制御部88に対応する記憶領域131Dからヘッド情報を読み出し、その読み出したヘッド情報を不揮発性メモリー55の対応する記憶領域55Eに書き戻す書戻し処理を行う。この書戻し処理を終えた書戻しタスク部92は、書戻し完了通知を送った後に休止する。
書戻しタスク部92が休止すると、次にリアルタイムOS71は、起動待ちのタスク部のうち次に優先順位の高いタスク部であるインク管理部89を起動させる。インク管理部89は、全記録ヘッド29で消費されたインク消費量を色別(インクカートリッジ別)に算出し、さらに8色分の各インク消費量を色毎の前回のインク残量からそれぞれ減算することで、各色の現在のインク残量を算出する。インク管理部89は、インク消費量及びインク残量情報を含むインク関連情報(印刷関連情報の一部)を取得する。
インク管理部89は、取得したインク関連情報を、RAM54の記憶領域131Aに書き込むことにより、インク関連情報を更新する。インク関連情報の更新を終えると、インク管理部89は書戻しタスク部92に書戻し要求を送る。
書戻しタスク部92は書戻し要求を受け付けると、リアルタイムOS71に起動要求を送る。書戻しタスク部92は印刷系タスク部81〜89より優先順位が高いので、リアルタイムOS71は、起動待ちの他のタスク部に優先して書戻しタスク部92を起動させる。そして、起動した書戻しタスク部92は、その書戻し要求元のタスク部であるインク管理部89に対応する記憶領域131Aからインク関連情報を読み出し、その読み出したインク関連情報を不揮発性メモリー55の対応する記憶領域55Aに書き戻す書戻し処理を行う。この書戻し処理を終えた書戻しタスク部92は、書戻し完了通知を送った後に休止する。
書戻しタスク部92が休止すると、次にリアルタイムOS71は、起動待ちのタスク部のうち次に優先順位の高いタスク部であるジョブ制御部93を起動させる。ジョブ情報生成部143は、ジョブ当たりの印刷長又は印刷枚数、インク消費量、印刷時間、課金情報などを含むジョブ情報を生成する。
ジョブ制御部93は、取得したジョブ情報を、RAM54の記憶領域131Bに書き込むことにより、ジョブ情報を更新する。ジョブ情報の更新を終えると、ジョブ制御部93は書戻しタスク部92に書戻し要求を送る。
書戻しタスク部92は書戻し要求を受け付けると、リアルタイムOS71に起動要求を送り、その結果、起動待ちの他のタスク部に優先して起動する。そして、起動した書戻しタスク部92は、その書戻し要求元のタスク部であるジョブ制御部93に対応する記憶領域131Bからジョブ情報を読み出し、その読み出したジョブ情報を不揮発性メモリー55の対応する記憶領域55Bに書き戻す書戻し処理を行う。この書戻し処理を終えた書戻しタスク部92は、書戻し完了通知を送った後に休止する。
書戻しタスク部92が休止すると、次にリアルタイムOS71は、起動待ちのタスク部のうち次に優先順位の高いタスク部であるデバイス制御部94を起動させる。デバイス制御部94は、それまでメカコントローラー43から定期的に搬送系、キャリッジ駆動系及びクリーニング系などに関する種々のメカパラメーター情報を受信しており、直近に受信した最新のメカパラメーター情報を取得し、RAM54の記憶領域131Cに書き込むことにより、メカパラメーター情報を更新する。メカパラメーター情報の更新を終えると、デバイス制御部94は書戻しタスク部92に書戻し要求を送る。
書戻しタスク部92は書戻し要求を受け付けると、リアルタイムOS71に起動要求を送り、その結果、起動待ちの他のタスク部に優先して起動する。そして、起動した書戻しタスク部92は、その書戻し要求元のタスク部であるデバイス制御部94に対応する記憶領域131Cからメカパラメーター情報を読み出し、その読み出したメカパラメーター情報を不揮発性メモリー55の対応する記憶領域55Cに書き戻す書戻し処理を行う。この書戻し処理を終えた書戻しタスク部92は、書戻し完了通知を送った後に休止する。
こうして印刷動作中は、印刷動作の切れ目である改頁の度に、データDのうち印刷動作によって更新される情報が、RAM54の所定記憶領域に書き込まれ、更新された情報に書き替えられる。また、各タスク部85,88〜90,93,94の情報取得及び書替えのための起動が、印刷動作の切れ目で行われることにより、印刷動作中に印刷動作のために比較的忙しく行われる処理(画像処理やコマンド処理等)の遅延を回避し易くなる。このため、印刷動作中に情報の書替え処理及び書戻し処理を行う構成の場合に危惧される印刷動作の遅延や、印刷動作がぎこちない動作となる現象を回避できる。
また、書戻しタスク部92が一回の書戻し処理で書き戻す情報量は、書戻し要求元の一つのタスク部に対応する記憶領域の分だけと少ないので、仮に印刷処理が書戻しタスク部92の起動により遅延しても、その遅延時間は、データDを一度に書き戻す構成に比べ非常に短いものとなる。すなわち、データDの書戻し処理が、その一部の情報ずつ複数回に分けて行われるので、印刷処理が著しく長く遅延する事態を回避できる。
また、印刷動作以外のときにも、情報の更新は行われる。図7に示すように、インク管理部89は、カバー38(図1参照)の閉操作が検知された際のカバー閉通知を受け付けたときにも起動され、インク関連情報を取得し、RAM54の記憶領域131Aに書き込む。このときにもインク管理部89は書替えを終えると、書戻しタスク部92に書戻し要求を送り、書戻しタスク部92がその更新されたインク関連情報を不揮発性メモリー55の記憶領域55Aに書き戻す。このカバー38が閉じられたときは、インクカートリッジICが交換された可能性があるため、インクカートリッジICの検出なども行われ、その検出情報も含むインク関連情報がRAM54の記憶領域131Aに書き込まれる。
また、印刷タスク部85は、プリンター11が調整機能の動作を終えた後、ユーザーが調整情報(調整値や補正値)の設定のために操作部124を操作してその設定信号を受け付けると、起動される。そして、印刷タスク部85は、入力した設定信号の値を基に調整情報を演算する。そして、印刷タスク部85は、取得した調整情報をRAM54の記憶領域131Eに書き込んで更新する。このときにも印刷タスク部85は調整情報の更新を終えると、書戻しタスク部92に書戻し要求を送り、書戻しタスク部92がその更新された調整情報を不揮発性メモリー55の記憶領域55Eに書き戻す。
さらに、緊急タスク部90は、エラー通知を受け付けると起動し、エラー通知に付随する識別子又はパラメーター値を基にエラー情報を生成し、その生成したエラー情報をRAM54の記憶領域131Fに書き戻す。
本実施形態では、ホスト装置120のホスト制御部125は、定期的又は不定期にコントローラー40へデータDの送信を要求する。コントローラー40はその要求に応答する形で、印刷動作やクリーニング動作等が行われていない空いた時期(例えば待機状態のとき)や電源オフ時の終了処理の際に、RAM54のミラー記憶部131のデータDをホスト制御部125へ送信する。ホスト制御部125は、受信したデータDをホスト記憶部120Mに保存する。よって、ホスト装置120のホスト記憶部120Mにも、書戻し頻度に比べ低い頻度ではあるものの定期又は不定期に更新されたデータDが保存される。また、データDの一部又は全部がホスト装置120からインターネットを経由してプリンターメーカーのサーバーに送られ、プリンター11の稼働状況の解析などに用いられるようになっている。
次に、タスク部85,88〜90,93,94のうち一つのタスク部が、他のタスク部のみアクセスが許可されている記憶領域から情報を読み出す際の読出し処理を、図9を用いて説明する。図9は、一例として、タスク部85,88,90,93,94のうち一つのタスク部が、インク管理部89のみアクセスが許可されている記憶領域131Aからインク関連情報を読み出す場合を示している。読出し処理の基本的な処理内容は、どのタスク部であっても同じであるので、図9の例で説明する。図9に示すように、各タスク部85,88,90,93,94のうち一つのタスク部は、インク管理部89に読出要求を送る。インク管理部89は読出要求を受け付けると、対応する記憶領域131Aにアクセスして要求されたインク関連情報を読み出す。そして、インク管理部89は、その読み出したインク関連情報を、読出要求元のタスク部へデータ送信する。読出要求元のタスク部はデータ受信処理を行ってインク管理部89から送られてきたインク関連情報を取得する。このように記憶領域毎にアクセスできるタスク部が一つに決められていても、RAM54に保存された所望の情報を他のタスク部に依頼することにより読み出すことができる。なお、各タスク部85,88〜90,93,94以外の他のタスク部81〜84が、ミラー記憶部131の情報を読み出す場合も同様である。
また、本実施形態では、電源遮断(電源オフ)時は書戻し処理は行わない。ユーザーが電源スイッチ65を操作した際の正常電源オフ(正常電源遮断)は、オフ信号がコントローラー40内に入力されることにより検出される。一方、電源プラグ抜けや電源故障、あるいはシステムダウン(ハングアップ等)などが原因で発生した異常電源オフ(異常電源遮断)は、コントローラー40内の緊急タスク部90の電源遮断検出機能により検出される。
正常電源オフ時には、終了処理を行った後、電源を遮断する。この終了処理は、電源オフ時にプリンター11を終了時にあるべき状態にする処理であり、電源遮断前の準備処理に相当する。終了処理ではデータの退避処理など所定の処理が行われる。この終了処理には、記憶素子47へのインク関連情報等の一部のデータの書戻し処理も行われる。もちろん、終了処理は、例えばキャリッジ27がホームポジションになければ、ホームポジションに移動させて記録ヘッド29をキャッピングするなど、各種の動作部を初期位置に戻すなどの終了動作を含んでもよい。
また、電源プラグ抜けや電源故障などの不意な電源遮断、あるいはシステムダウン時の異常電源遮断(異常電源オフ)時には、終了処理を行うことなく電源を遮断する。本実施形態では、プリンター11は二次電池を備えており、電源プラグ抜けや電源故障などの不意な電源遮断(異常電源オフ)発生時でも、二次電池が放電されるまでの例えば10〜500ミリ秒の範囲内の所定時間の間は二次電池から電力が供給されるようになっている。電源遮断時には、この二次電池の電力を利用して、例えば記憶素子47へのデータの書戻しを行う。
本実施形態では、電源遮断時には、RAM54のデータDを不揮発性メモリー55へ書き戻す書戻し処理は行っていない。但し、電源遮断時に書戻し中であった場合は、緊急タスク部90からCPU実行権が切り換わった際に書戻しタスク部92が再起動し、データDの書戻し処理を中断した箇所から開始して最後まで終了させる。また、不意な電源遮断(異常電源遮断)時に、その電源遮断が原因で発生したエラーに係る情報(エラー情報)を書き戻す必要があるときは、緊急タスク部90がエラー情報の書戻し処理を行う場合もある。
このように電源遮断時に書戻し処理を行わない理由は、不意な電源遮断(異常電源遮断)のうち電源48からの電力供給さえ停止して二次電池の電力供給のみになった状態で書戻し処理を行うことを回避するためである。二次電池の充電が不十分である場合には、電力供給可能時間が想定より短くなり、電力供給停止により書戻し処理が中断される虞があるためである。電源遮断時に書戻し処理が中断されると、次回の電源オン時に間違ったデータDを不揮発性メモリー55からRAM54に書き込むことになる。例えばデータD中の間違った情報が、インク消費量、インク残量、印刷ページ数、印刷時間、課金情報などの累積される情報の場合、以後、間違った情報に変化分の数値が加算又は減算されることになり、その情報が間違ったままとなる。このような不都合な状況を回避するため、本実施形態では、電源遮断時の書戻し処理を行わないようにしている。
もちろん、電源遮断検出時にその電源遮断の種類を判別する機能、あるいは電源48の電力供給が停止したか否か又は停止する虞があるか否かを判断する機能を設け、電源48の電力供給が停止されない場合には書戻し処理を行い、電源48の電力供給が停止した又は停止する虞がある場合には書戻し処理を行わない構成を採用することもできる。
以上詳述したように、本実施形態によれば、以下に示す効果を得ることができる。
(1)複数のタスク部85,88〜90,93,94は、各々が取得した情報を個別対応する記憶領域に書き込むと、書戻しタスク部92に対して個別対応する記憶領域から不揮発性メモリー55への書戻しを要求(指示)する。書戻しタスク部92は、要求元のタスク部からの要求(指示)に従ってその要求元のタスク部と個別対応するRAM54の記憶領域から不揮発性メモリー55へ情報を書き戻す。この場合、書戻し中の情報が記憶されている記憶領域に対して他のタスク部は書込みが許可されていないので、優先順位の高い他のタスク部が起動されても、この他のタスク部によって書戻し中の情報が記憶されている記憶領域に上書きされることがない。よって、書戻しタスク部92により、間違った情報がRAM54から不揮発性メモリー55に書き戻される事態を回避できる。
(2)書替えタイミング出力部141(管理手段)は、印刷動作の切れ目のタイミングになると、複数の各タスク部88,89,93,94に書替え要求を通知する。複数のタスク部88,89,93,94は、書替えタイミング出力部141から書替え要求(通知)を受け付けると、個別対応する記憶領域への情報の書替えを行う。書戻しタスク部92は書替えを終えたタスク部から書戻し要求(指示)を受け付けると、起動してその書戻し要求元のタスク部に対応する記憶領域の情報を不揮発性メモリー55に書き戻す書戻し処理を行う。印刷動作の切れ目に情報の書替え及び書戻しが行われるので、書替え及び書戻しが印刷動作のための処理の途中に割り込むことに起因する印刷動作の遅延などの不都合を回避し易くなる。
(3)書戻しタスク部92は、RAM54に情報の書込みを行う複数のタスク部85,88〜90,93,94よりも起動優先順位が高いので、書戻し途中で書戻し元のデータが、タスク部85,88〜90,93,94に上書きされることを回避できる。このため、正しい情報をRAM54から不揮発性メモリー55へ書き戻すことができる。
(4)書替えタイミング出力部141は印刷動作のページ単位の切れ目になると、複数のタスク部88,89,93,94へ書替え要求を通知する。複数のタスク部88,89,93,94は書替え要求(通知)を受け付けると、情報をRAM54の個別対応する記憶領域へ書込み、その書込みの後、さらに書戻しタスク部92に書戻し要求する。書込みタスク部91はタスク部88,89,93,94からの書戻し要求に従ってその書替えられた更新情報をRAM54の記憶領域から不揮発性メモリー55へ書戻す。搬送手段によりページの切れ目で搬送動作が行われ、複数のタスク部88,89,93,94の処理が行われないか行われても非常に実行頻度の低い搬送動作実行時期に、タスク部88,89,93,94による書込み及び書戻しタスク部92による書戻し行われるので、ほとんど印刷動作のための処理を妨げない。
(5)複数のタスク部85,88〜90,93,94は個別対応する記憶領域以外の記憶領域に対する書込みアクセス及び読出しアクセスが禁止されているので、情報が他のタスク部により上書きされたり、記憶領域への書込み途中の間違った情報がその記憶領域から他のタスク部が読み出したりする事態を回避できる。また、複数のタスク部85,88〜90,93,94のうち一のタスク部が他のタスク部と個別対応する記憶領域から情報を読み出す際は、他のタスク部を介してその記憶領域から情報を読み出すので、他のタスク部は、一のタスク部による更新の書込みが完了した正しい情報を読み出すことができる。
(6)印刷関連情報は、ページ情報とページ単位毎の課金情報とのうち少なくとも一方を含むので、印刷動作のページの切れ目に印刷関連情報をRAM54へ書込むことにより、ページ情報とページ単位毎の課金情報のうち少なくとも一方を適切なタイミングで更新することができる。
(7)書戻しタスク部92の優先順位を印刷系タスク部81〜89よりも高くしているので、書替え処理後、直ぐにその書き替えた更新情報の書戻し処理を行うことができる。例えば、書戻しタスク部92が書き戻すべき情報が溜まる事態を回避できる。
(8)印刷動作の切れ目で、情報の書戻し処理を行う。よって、印刷系処理の最中に書替え処理及び書戻し処理のための割り込みが発生しにくくなる。この結果、印刷処理の遅延を回避し易くなり、印刷スループットの低下を抑制できる。
なお、上記実施形態は以下のような形態に変更することもできる。
・印刷動作の切れ目は、ページの切れ目に限定されない。パスの切れ目でもよい。この場合、第2の記憶手段への書込み及び第1の記憶手段への書戻しを行うパスの切れ目は、1パス毎でもよいし、2パス以上の複数パス毎でもよい。また、第2の記憶手段への書込みを行う際のパスの切れ目と、第1の記憶手段への書戻しを行う際のパスの切れ目とが、異なるパス数であってもよい。また、1回の印刷(印刷ジョブ)が終わったときでもよい。
・複数のタスク部による書込み処理(書替え処理)の実行時期は、印刷動作の切れ目に限定されない。例えば印刷動作及び印刷動作のための処理(印刷処理)の途中に、第2の記憶手段への書込み(書替え)を行ってもよい。複数のタスク部による書込み処理に関しては、ページの切れ目に限らず、任意のタイミングを設定できる。書込み処理(書替え処理)は、例えばパスの切れ目でもよく、さらにはタスク部毎の情報が更新された個別のタイミングでもよい。タスク部が個別に書き込む情報のデータ量は比較的小さく、しかもタスク部は内部のRAM54に書き込むので、その書込み速度は比較的速い。これに対し、タスク部の担当する記憶領域毎に情報を不揮発性メモリー55へ書き戻す処理を実施する際には、RAM54に書込む場合と比較して、その書戻しに時間もかかるので、ページの切れ目などの印刷動作の切れ目のタイミングで実施することが有効である。例えば、ジョブ制御部93は、図7における書替えタイミング出力部141に替え、書戻しタイミング出力部(管理手段)を備える構成とする。そして、各タスク部は、任意の時期に書込み処理(書替え処理)を行い、書戻しタイミング出力部から要求(通知)を受け付けると、書戻しタスク部92へ書戻し要求を出力する構成とする。
・また、書戻し処理の実行時期は、印刷動作の切れ目に限定されない。例えば印刷動作及び印刷動作のための処理(印刷処理)の途中に、書戻しを行ってもよい。書戻しに関しても、印刷動作の目立った遅延を生じさせるほどの割り込み処理が発生しなければ特に問題はない。
・さらに、印刷動作中に書込み処理(書替え処理)及び書戻し処理を行う構成としてもよい。この場合、書戻しタスク部92の優先順位が、各タスク部85,88〜90,93,94の優先順位より高ければ、書戻しタスク部92は、書き戻すべき情報を溜めることなく逐次書き戻すことができる。
・書戻し処理の実施時期は、印刷動作の切れ目に限定されない。例えばクリーニング終了後のタイミングでもよい。さらに記録ヘッド29のノズルからインク滴を噴射させてノズル目詰まりの有無を検査するノズル検査装置を備えた印刷装置にあっては、ノズル検査終了後のタイミングでもよい。
・例えば書戻しタスク部(書戻し手段)の優先順位が印刷系タスク部のそれより高くすることは必須ではない。例えば印刷動作の切れ目に書戻し処理を行う場合など印刷系タスク部が起動される頻度が著しく低い時期に書戻し処理を行う構成であれば、書戻し途中に他のタスク部が割り込みで起動されて書戻し元のデータを書き替えてしまう事態はほとんど発生しない。さらに書戻し処理が非常に短時間に処理される場合には、書戻し処理が中断される頻度が極めて低くなるので問題はない。また、たまたま書戻し途中で書戻し元データが書き替えられて間違ったデータを買い戻してしまった場合、その第1記憶手段のデータがその状態のまま電源遮断される頻度は極めて低く、通常は、その後に正しいデータが上書きされて書き戻されるので、大抵の場合は正しいデータを保存した状態で電源が遮断されることになる。
・複数のタスク部は、前記実施形態で示したタスク部に限定されない。第2の記憶手段への書込み(データ更新処理)を行うタスク部は、前記実施形態で示した複数のタスク部81〜90のうち2個以上の所定個数以下の一部のタスク部であってもよい。例えばインク管理部89とジョブ制御部93との2つのタスク部だけがデータ更新のための書込みを行う構成であってもよい。さらに前記実施形態で示した複数のタスク部よりも多い数の複数のタスク部を採用することもできる。
・第2の記憶手段への書込みは印刷動作中において逐次行い、第2の記憶手段から第1の記憶手段への書戻しのみを印刷動作の切れ目の時期に行う構成としてもよい。また、これとは逆に、書戻し処理を印刷動作の切れ目の時期に行い、第2の記憶手段への書込み(情報更新処理)は印刷動作中に行う構成としてもよい。この場合、情報更新処理と書戻し処理との実行時期が異なるので、更新途中の情報を記憶領域から第1の記憶手段へ書き戻したり、書戻し途中に書戻し元の情報が書き替えられたりすることを回避して、正しい印刷関連情報を第1の記憶手段に書戻すことができる。
・インクカートリッジICの記憶素子47を不揮発性メモリーとして、データ記憶処理装置を構成してもよい。
・タスク部の優先順位は、図5に示す順序に限定されず、適宜変更してもよい。例えば、書戻しタスク部92の優先順位は、印刷系タスク部81〜89のうち記録系タスク部81〜83,88よりも低く他のタスク部84〜87よりも高く設定されてもよい。つまり、書戻しタスク部92を、印刷系タスク部のうちコマンド処理系のタスク部84〜87(搬送系・キャリッジ駆動系のタスク部を含む)よりも高い優先順位に設定する。また、書戻しタスク部92の優先順位は、印刷系タスク部81〜89よりも低く設定されてもよい。この場合、印刷動作の切れ目で、情報の書替え及び書戻しを行うので、各タスク部88,89,93,94の全てが書替え処理を終えれば、印刷動作の切れ目で他に起動されるべきタスク部が無くなれば、印刷系タスク部よりも優先順位の低い書戻しタスク部92が起動されるので、それまで溜まっていた情報を書き戻すことはできる。
・複数のタスク部が書戻し手段に書戻しを指示(書戻し要求)する構成に限定されない。例えば、ミラー記憶部131において複数のタスク部毎の記憶領域別にデータ更新の有無を監視する監視部(監視手段)を設け、監視部からデータ更新の旨の通知(書戻し要求)を受け付けたときに書戻しタスク部92は起動し、その更新された情報の書戻し処理を行う構成を採用してもよい。例えばジョブ制御部93に監視部としての機能を持たせ、ジョブ制御部93が書戻しタスク部92に書戻し要求を行う構成を採用できる。
・OSはリアルタイムOSに限定されない。その他のOSを採用してもよい。要するに、複数のタスクのうち優先度の高いタスクにCPUの実行権を割り当てる機能を有するOSであればよい。
・データ記憶処理装置は、例えばCPUによるソフトウェアではなく、ASIC等の集積回路によるハードウェアで構成してもよい。さらには、ソフトウェアとハードウェアとの協働により構成してもよい。また、ソフトウェアで構成する場合、マルチタスク処理に限定されない。
・前記実施形態において、第2の記憶手段を不揮発性メモリーとしてもよい。例えばプリンター稼働中には、プリンター本体側の不揮発性メモリー(第2の記録手段)に更新データを逐次書込み、この不揮発性メモリーのデータをインクカートリッジに実装された不揮発性の記憶素子47(第1の記憶手段)に書き戻す構成も採用できる。例えば電源オン時には記憶素子47からインク残量等のインク関連情報を含むデータDを本体側の不揮発性メモリーに書き込む構成とする。
・制御装置Cを、コントローラー40とメカコントローラー43とを一体とした構成としてもよい。この場合、コントローラーには、搬送制御タスク部やキャリッジ制御タスク部などのメカ駆動制御系のタスク部が追加される。この搬送制御タスク部は、搬送制御手段の一例を構成する。
・印刷媒体は、紙又は樹脂などからなる長尺状のシートに限定されず、単票紙や単票状の樹脂フィルムでもよい。また、金属製フィルム、布、フィルム基板、樹脂基板、半導体ウェハなどでもよい。また、CD、DVDなどの光ディスクや磁気ディスクなどでもよい。さらに、印刷媒体はシート状に限定されず、所定の立体形状の表面に印刷できる機構を有する印刷装置の場合、そのような所定の立体形状を有する物体も含む。
・印刷装置は、ラテラル式のプリンター11に限定されず、シリアルプリンター、ラインプリンター、ページプリンターでもよい。さらにインクジェット式に限定されず、ドットインパクト式プリンター、レーザープリンターなどでもよい。
・前記実施形態では、印刷装置として、インクジェット式のプリンター11が採用されているが、インク以外の他の流体を噴射したり吐出したりする流体噴射装置を採用してもよい。また、微小量の液滴を吐出させる液体噴射ヘッド等を備える各種の液体噴射装置に流用可能である。この場合、液滴とは、上記液体噴射装置から吐出される液体の状態を言い、粒状、涙状、糸状に尾を引くものも含むものとする。また、ここでいう液体とは、液体噴射装置が噴射させることができるような材料であればよい。例えば、物質が液相であるときの状態のものであればよく、粘性の高い又は低い液状体、ゾル、ゲル水、その他の無機溶剤、有機溶剤、溶液、液状樹脂、液状金属(金属融液)のような流状体、また物質の一状態としての液体のみならず、顔料や金属粒子などの固形物からなる機能材料の粒子が溶媒に溶解、分散または混合されたものなどを含む。また、液体の代表的な例としては上記実施形態で説明したようなインクや液晶等が挙げられる。ここで、インクとは一般的な水性インクおよび油性インク並びにジェルインク、ホットメルトインク等の各種液体組成物を包含するものとする。液体噴射装置の具体例としては、例えば液晶ディスプレイ、EL(エレクトロルミネッセンス)ディスプレイ、面発光ディスプレイ、カラーフィルタの製造などに用いられる電極材や色材などの材料を分散または溶解のかたちで含む液体を噴射する液体噴射装置が挙げられる。さらに、バイオチップ製造に用いられる生体有機物を噴射する液体噴射装置、精密ピペットとして用いられ試料となる液体を噴射する液体噴射装置、捺染装置やマイクロディスペンサ等であってもよい。さらに、時計やカメラ等の精密機械にピンポイントで潤滑油を噴射する液体噴射装置、光通信素子等に用いられる微小半球レンズ(光学レンズ)などを形成するために紫外線硬化樹脂等の透明樹脂液を基板上に噴射する液体噴射装置、基板などをエッチングするために酸又はアルカリ等のエッチング液を噴射する液体噴射装置を採用してもよい。そして、これらのうちいずれか一種の液体噴射装置に本発明を適用することができる。また、流体は、トナーなどの粉粒体でもよい。なお、本明細書でいう流体には、気体のみからなるものは含まないものとする。