JP2012045873A - 印刷装置におけるデータ記憶処理装置、印刷装置及びデータ記憶処理方法 - Google Patents
印刷装置におけるデータ記憶処理装置、印刷装置及びデータ記憶処理方法 Download PDFInfo
- Publication number
- JP2012045873A JP2012045873A JP2010191834A JP2010191834A JP2012045873A JP 2012045873 A JP2012045873 A JP 2012045873A JP 2010191834 A JP2010191834 A JP 2010191834A JP 2010191834 A JP2010191834 A JP 2010191834A JP 2012045873 A JP2012045873 A JP 2012045873A
- Authority
- JP
- Japan
- Prior art keywords
- data
- write
- unit
- storage
- task
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Record Information Processing For Printing (AREA)
Abstract
【課題】印刷制御手段が書き込んだ第2の記憶手段の更新データを第1の記憶手段に正しく書き戻すことができ、しかも不要な書戻し処理を低減することで、書戻し処理の中断により第1の記憶手段に間違ったデータが保存される事態を低減できる印刷装置におけるデータ記憶処理装置、印刷装置及びデータ記憶処理方法を提供する。
【解決手段】書戻しタスク部は第2記憶部のデータDを不揮発性メモリーに書き戻し、このとき、書戻したデータ量に応じた計数値CTとすべくカウンターの計数処理を行う。不意な電源遮断時に起動された書戻しタスク部は、カウンターの計数値CTが書戻し完了値Bであるか否かを判定し(S110)、CT≠Bであればデータの書戻し処理を行うが(S130,S140)、CT=Bであればデータの書戻し処理を行わない。
【選択図】図3
【解決手段】書戻しタスク部は第2記憶部のデータDを不揮発性メモリーに書き戻し、このとき、書戻したデータ量に応じた計数値CTとすべくカウンターの計数処理を行う。不意な電源遮断時に起動された書戻しタスク部は、カウンターの計数値CTが書戻し完了値Bであるか否かを判定し(S110)、CT≠Bであればデータの書戻し処理を行うが(S130,S140)、CT=Bであればデータの書戻し処理を行わない。
【選択図】図3
Description
本発明は、印刷装置の稼働中に更新される印刷関連情報を含むデータを不揮発性記憶手段に記憶させて保存する印刷装置におけるデータ記憶処理装置、印刷装置及びデータ記憶処理方法に関する。
例えば特許文献1、2には、インク残量の情報などのデータを不揮発性メモリーに記憶して保存する印刷装置が開示されている。
例えば特許文献1に記載の記録装置では、記録ヘッドに搭載されている不揮発性メモリーと、インクタンクに搭載されている不揮発性メモリーとを備え、記録ヘッドに搭載されている不揮発性メモリーに、インクタンクに搭載された不揮発性メモリーの内容をコピーする技術が開示されている。印刷終了時、回復動作完了時など、インクを消費する動作を行った場合に、インクタンクの不揮発性メモリーと記録ヘッドの不揮発性メモリーの内容を同時に書き換える。このため、データ書込み中のインクタンクの着脱などの不意な行為によりインクタンクの不揮発性メモリーへのデータの書き換えが失敗しても、記録ヘッドの不揮発性メモリーの内容でインクタンクの不揮発性メモリーの内容を復元することができる。
例えば特許文献1に記載の記録装置では、記録ヘッドに搭載されている不揮発性メモリーと、インクタンクに搭載されている不揮発性メモリーとを備え、記録ヘッドに搭載されている不揮発性メモリーに、インクタンクに搭載された不揮発性メモリーの内容をコピーする技術が開示されている。印刷終了時、回復動作完了時など、インクを消費する動作を行った場合に、インクタンクの不揮発性メモリーと記録ヘッドの不揮発性メモリーの内容を同時に書き換える。このため、データ書込み中のインクタンクの着脱などの不意な行為によりインクタンクの不揮発性メモリーへのデータの書き換えが失敗しても、記録ヘッドの不揮発性メモリーの内容でインクタンクの不揮発性メモリーの内容を復元することができる。
また、特許文献2には、1ページの印刷が完了する度に、インク残量を演算し、これを不揮発性メモリー(EEPROM)に書き戻す印刷装置が開示されている。そして、パワーダウン命令が出力された場合には、不揮発性メモリーのインク残量のデータを、インクカートリッジの不揮発性の記憶素子に書き込むようになっていた。
しかし、RAM又は不揮発性メモリーから他の不揮発性メモリー(不揮発性の記憶素子)へのデータの書き戻しは、電源オフ時に行っていたので、停電の発生時や電源プラグが抜けたときには、電源が遮断されるまでの短時間(例えば二次電池機能をもつコンデンサーの放電時間)のうちに書き戻し処理を完了しなければならなかった。この場合、データの書き戻しを最後まで行うことができず、不揮発性メモリーに一部旧いデータが混在するなどの問題が発生する虞があった。
このようにEEPROMのような不揮発性メモリーでは、書込み回数に制限があるため、データの書戻しは、パワーダウン命令が出力されたとき、インクカートリッジ交換時などに制限されていたので、上記の問題が発生する。近年、書込み回数に実質的に制限がない程度に耐久性のあるFeRAMのような不揮発性メモリーも使用されるようになってきている。この場合、逐次更新されたインク残量などの更新データはRAMに記憶しておき、RAMの書込み頻度よりも少ない書込み頻度で不揮発性メモリーに書き込むことができる。
しかしながら、不意な電源遮断時に、RAM又は不揮発性メモリーなどの一の記憶手段(第2の記憶手段)から不揮発性メモリーからなる他の記憶手段(第1の記憶手段)へデータを書き戻す場合、電力供給が早めに止まって、第2の記憶手段から第1の記憶手段へのデータの書戻しを行っている書戻し途中に中断された場合、書戻し中断までの新しいデータと、書戻しによる更新がなされなかった前回の旧いデータとを繋げた間違ったデータが、不揮発性メモリーに保存されてしまうという問題があった。例えば、この新旧のデータの境界が1つの情報の途中にあった場合、その情報は間違った情報になってしまう。
不揮発性メモリー(第1の記憶手段)に間違ったデータが保存されたまま電源が遮断されると、次回電源オン時に不揮発性メモリーから読み出された間違ったデータを基に取得される例えばインク残量の情報が実際のインク残量と異なっている場合が起こり得た。この場合、インク残量情報の上ではインクエンドになっていないにも拘らず、実際のインク残量が無くなって印刷途中でインク切れとなったり、実際にはインクが残っているにも拘らずインクエンドと判定されて印刷動作が強制的に停止されたりする不都合が発生するという問題がある。もちろん、不揮発性メモリー(第1の記憶手段)にはインク残量以外にも種々のデータが保存されるので、間違ったデータにより引き起こされる問題はデータ種ごとに異なる。
本発明は、上記課題に鑑みてなされたものであり、その目的の一つは、印刷制御手段が書き込んだ第2の記憶手段の更新データを第1の記憶手段に正しく書き戻すことができ、しかも不要な書戻し処理を低減することで、書戻し処理の中断により第1の記憶手段に間違ったデータが保存される事態を低減できる印刷装置におけるデータ記憶処理装置、印刷装置及びデータ記憶処理方法を提供することにある。
上記目的の一つを達成するために、本発明の態様の一つは、印刷手段を駆動させるための処理を行うとともに前記印刷手段による動作によって更新される印刷関連情報を取得する印刷制御手段と、前記印刷関連情報を含むデータが記憶される第1の記憶手段と、前記第1の記憶手段のデータが書き込まれるとともに当該データの更新のために前記印刷制御手段による書込みアクセスが許可された第1記憶部と前記印刷制御手段による書込みアクセスが禁止された第2記憶部とを有する第2の記憶手段と、計数手段と、前記第1の記憶手段のデータを第1記憶部に書き込む書込み手段と、前記第1記憶部の前記データを前記第2記憶部にコピーするとともに当該データのコピーを完了すると前記計数手段の計数値をコピー完了値とするコピー手段と、前記第2記憶部のデータを前記第1の記憶手段に書き戻す書戻し処理を行うとともに、書戻したデータの量に応じた計数値となるように前記計数手段の計数処理を行う書戻し手段と、を備え、前記書戻し手段は、前記計数値が前記データの書戻しを完了した書戻し完了値であるか否かを判定し、前記計数値が前記書戻し完了値であれば、前記書戻し処理を行わず、前記計数値が前記書戻し完了値でなければ、前記計数値と対応する箇所から前記書戻し処理を行うことを要旨とする。
この発明の一態様によれば、コピー手段が、第1記憶部のデータを第2記憶部にコピーし終わると、計数手段の計数値をコピー完了値とする。また、書戻し手段は、第2記憶部のデータを第1の記憶手段に書き戻す書戻し処理を行うとともに、書戻したデータの量に応じた計数値となるように計数手段の計数処理を行う。例えば、書戻し手段による書戻し処理が中断された場合、計数値は書戻し完了値になっていない。その後、書戻し手段が起動された際、書戻し手段は、計数手段の計数値が書戻し完了値であるか否かを判定する。そして、書戻し手段は、その計数値が書戻し完了値でなければ、計数値と対応する箇所からデータの書戻し処理を行うが、その計数値が書戻し完了値であれば書戻し処理を行わない。よって、不要な書戻し処理を行わずに済む。例えば電源遮断時に不要に書戻し処理を行ったために、電源遮断により書戻し途中で中断され、第1の記憶手段に書戻し途中の間違ったデータが保存される事態を回避できる。
本発明の態様の一つであるデータ記憶処理装置では、前記書戻し手段は、前記計数値が前記コピー完了値になったか否かを判定し、前記計数値が前記コピー完了値になったら前記書戻し処理を開始し、前記コピー完了値にならず前記書戻し完了値のままであれば前記書戻し処理を開始しないことが好ましい。
この発明の一態様によれば、コピー手段が、第1記憶部のデータを第2記憶部にコピーし終わると、計数手段の計数値をコピー完了値とする。つまり、コピーが完了していなければ、計数値がコピー完了値になっていない(例えば計数値は書戻し完了値のままである)。書戻し手段は、計数値がコピー完了値になったら書戻しを開始するが、コピー完了値にならず書戻し完了値のままであれば、書戻し処理を開始しない。このため、コピーが完了していない前回のデータ又はコピー途中の間違ったデータを第1の記憶手段へ書き戻す事態を回避できる。
本発明の態様の一つであるデータ記憶処理装置では、前記第1の記憶手段は不揮発性の記憶手段であり、前記書戻し手段は、少なくとも印刷装置の電源遮断時に起動されることが好ましい。
この発明の一態様によれば、書戻し手段は、少なくとも印刷装置の電源遮断時に起動される。この電源遮断時に、書戻し手段は、計数手段の計数値が書戻し完了値であると判定すれば、書戻し処理を行わないので、不要な書戻し処理を回避できる。例えば電源遮断時の書戻し処理が電力供給停止により中断されたために、書戻し途中の間違ったデータが第1の記憶手段に保存される事態を回避できる。
本発明の態様の一つであるデータ記憶処理装置では、前記書込み手段は、印刷装置の電源投入時に起動され、前記計数手段の計数値が書戻し完了値であるか否かを判定し、前記計数値が書戻し完了値であれば、前記第1の記憶手段のデータを第1記憶部に書き込む書込み処理を行い、前記計数値が書戻し完了値でなければ、前記書込み処理を行わない。
この発明の一態様によれば、印刷装置の電源投入時に起動された書込み手段は、計数手段の計数値が書戻し完了値であるか否かを判定する。そして、書込み手段は、計数値が書戻し完了値であれば、第1の記憶手段のデータを第1記憶部に書き込む書込み処理を行う。一方、計数値が書戻し完了値でなければ、書込み手段は書込み処理を行わない。この結果、印刷装置の電源遮断時に書戻し処理を完了した場合の正しいデータを第2の記憶手段に書き込むことができるうえ、印刷装置の電源遮断時に書戻し処理が中断されたことによる間違ったデータを第2の記憶手段に書き込む不都合を回避できる。
本発明の態様の一つであるデータ記憶処理装置では、前記書込み手段により前記計数値が書戻し完了値ではないと判定された場合に、エラーを報知する報知手段を更に備えている。
この発明の一態様によれば、電源投入時に、書込み手段により計数手段の計数値が書戻し完了値ではないと判定された場合、報知手段によりエラーが報知される。この結果、ユーザーは、このエラーの報知によって、前回の電源遮断時に書戻し処理を失敗した虞がある旨(つまり第1の記憶手段のデータが間違っている虞がある旨)のエラーの発生を知ることができる。このため、ユーザーはデータの修復が必要であることを知ることができる。
本発明の態様の一つであるデータ記憶処理装置では、前記書込み手段により前記計数値が書戻し完了値ではないと判定された場合、前記第1の記憶手段における前記計数手段の計数値に相当する分までの一部のデータを用いて前記データを修復する修復手段を更に備えている。
この発明の一態様によれば、書込み手段により前記計数値が書戻し完了値ではないと判定された場合、計数手段の計数値は途中まで書戻し処理が行われた旨の値になっている。修復手段は、第1の記憶手段のそのときの計数値に相当する分までの一部のデータを用いて、データを修復する。よって、書戻しが行われた分までの一部のデータを利用してデータの修復が行われるので、少なくともその部分についてはなるべく新しいデータを採用できる。
本発明の態様の一つであるデータ記憶処理装置では、前記書込み手段は、前記計数値が書戻し完了値ではないと判定した場合、前記第1の記憶手段における前記計数手段の計数値に相当する分までの少なくとも一部のデータを、印刷装置と通信可能に接続された上位装置に送り、当該上位装置で修復されて当該上位装置から受信した修復後のデータを前記第2の記憶手段の前記第1記憶部に書き込むことが好ましい。
この発明の一態様によれば、書込み手段は計数値が書戻し完了値ではないと判定した場合は、第1の記憶手段のデータのうち計数手段の計数値に相当する分までの少なくとも一部のデータを上位装置に送る。そして、上位装置で修復されて上位装置から受信した修復後のデータを第2の記憶手段の第1記憶部に書き込むことが好ましい。
本発明の態様の一つであるデータ記憶処理装置では、前記データは印刷装置が動作するのに必要な調整情報を含むことが好ましい。この発明の一態様によれば、調整情報が正しく保存されることにより、印厚装置が次回起動されたときの動作を正しく行うことができる。
本発明の態様の一つは、前記印刷手段と、前記印刷手段を制御する制御装置とを備えた印刷装置であって、前記制御装置は、上記発明の一態様に係る前記データ記憶処理装置を備えたことを要旨とする。
この発明の一態様によれば、上記発明の幾つかの態様のいずれか一つに係る前記データ記憶処理装置を備えているので、前記データ記憶処理装置に係る発明の幾つかの態様のうちいずれか一つが有する効果を同様に得ることができる。
本発明の態様の一つは、印刷装置におけるデータ記憶処理方法であって、印刷装置には、印刷関連情報を含むデータが記憶される第1の記憶手段と、前記第1の記憶手段のデータが書き込まれるとともに当該データの更新のために印刷制御手段による書込みアクセスが許可された第1記憶部と、前記印刷制御手段による書込みアクセスが禁止された第2記憶部とを有する第2の記憶手段とが備えられ、前記第1の記憶手段のデータを前記第2の記憶手段の第1記憶部に書き込む書込み段階と、印刷手段を駆動させるための処理を行うとともに前記印刷手段による動作によって更新される印刷関連情報を取得する印刷制御段階と、前記印刷制御段階で取得した印刷関連情報を前記第1記憶部に書き込むデータ更新段階と、前記第1記憶部の前記データを前記第2記憶部にコピーするとともに当該データのコピーを完了すると前記計数手段の計数値をコピー完了値とするコピー段階と、前記第2記憶部のデータを前記第1の記憶手段に書き戻す書戻し処理を行うとともに、書戻したデータの量に応じた計数値となるように前記計数手段の計数処理を行う書戻し段階と、を備え、前記書戻し段階では、前記計数値が前記データの書戻しを完了した書戻し完了値であるか否かを判定し、前記計数値が前記書戻し完了値であれば、前記第2記憶部のデータを前記第1の記憶手段に書き戻す書戻し処理を行わず、前記計数値が前記書戻し完了値でなければ、前記計数値と対応する箇所から前記データの前記書戻し処理を行うことを要旨とする。この発明の一態様によれば、上記発明の態様の一つに係る前記データ記憶処理装置と同様の効果を得ることができる。
以下、本発明をラテラル方式のインクジェット式プリンターの印刷制御装置に具体化した一実施形態を図1〜図12に従って説明する。
図1は、ラテラル方式のインクジェット式プリンターを備えた印刷システムの模式図である。図1に示すように、印刷システム100は、画像データを生成する画像生成装置110と、画像生成装置110から受信した画像データを基に印刷データを生成する上位装置の一例としてのホスト装置120と、ホスト装置120から受信した印刷データに基づく画像を印刷する印刷装置の一例としてのラテラル方式のインクジェット式プリンター(以下、単に「プリンター11」と称す)とを備えている。
図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(a)に示す通常時の優先順位管理テーブル97を設定する。優先順位変更部73は、電源スイッチ65のオフ操作によるプリンター11の電源オフ時(通常電源オフ時)と、電源プラグ抜けや電源故障などによる電源遮断時(異常電源オフ時)に、優先順位管理テーブル97を、図5(a)に示す通常時の優先順位の順番から、図5(b)に示す電源オフ時の優先順位の順番に変更する。ここで、各タスクのうちCPU51が一のタスクを実行することにより、図3に示す各タスク部81〜92のうち一のタスク部が起動される。図3に示す各タスク部81〜92は、CPU51の実行対象である、主制御タスク、通信タスク、コマンド解析タスク、画像処理タスク、印刷タスク、メカ制御タスク、メカ通信タスク、ヘッド制御タスク、インク管理タスク、緊急タスク、書込みタスク及び書戻しタスクとそれぞれ対応している。なお、無停電機能を備えない通常の電源を用いた構成の場合は、停電も異常電源オフの原因となる。
図5(a)に示す通常時の優先順位管理テーブル97には、緊急タスク、書込みタスク、ヘッド制御タスク、画像処理タスク、…、書戻しタスクの順番に優先順位が設定されている。つまり、印刷系タスク部81〜89よりも書込みタスク部91の優先順位が高く設定されるとともに、書戻しタスク部92が印刷系タスク部81〜89よりも低い優先順位に設定されている。ここで、印刷系タスク部81〜89とは、印刷データPDに基づく印刷処理を行ううえで必要な処理を担うタスク部を指す。本実施形態では、印刷系タスク部には、通信系タスク部に属する通信部82及びメカ通信部87と、記録系タスク部に属する主制御部81、画像処理部83及びヘッド制御部88と、メカ駆動系タスク部(コマンド処理系タスク部)に属するコマンド解析部84、印刷タスク部85及びメカ制御部86とが含まれる。なお、通信系タスク部82,87は、記録系及びメカ駆動系の両方に属する通信部82と、メカ駆動系のみに属するメカ通信部87とに分かれる。また、本実施形態では、印刷系タスク部81〜89により、印刷制御手段の一例が構成される。
本実施形態では、このように通常時には、書込みタスク部91は緊急タスク部90を除くタスクの中で一番高い優先順位に設定されており、書戻しタスク部92は一番低い優先順位に設定されている。よって、書込みタスク部91は印刷系タスク部81〜89よりも高い優先順位に設定され、書戻しタスク部92は印刷系タスク部81〜89よりも低い一優先順位に設定されている。
また、図5(b)に示す電源オフ時の優先順位管理テーブル97には、緊急タスク、書込みタスク、書戻しタスク、ヘッド制御タスク、画像処理タスク、…の順番に優先順位が設定されている。つまり、書込みタスク部91と書戻しタスク部92との優先順位の関係を通常時と同じ関係に保持したまま、緊急タスク部90以外のタスクの中で書込みタスク部91と書戻しタスク部92とをそれぞれ第1位と第2位の優先順位に設定されるようになっている。このように電源オフ時には、書込みタスク部91と書戻しタスク部92は、書込みタスク部91の方が書戻しタスク部92よりも高い優先順位になる関係を保持したまま、共に印刷系タスク部81〜89よりも高い優先順位に設定される。換言すれば、電源オフ時には、書戻しタスク部92は、書込みタスク部91との優先順位の関係を保持したまま、印刷系タスク部81〜89よりも低い優先順位から、印刷系タスク部81〜89よりも高い優先順位へ変更される。
図3に戻って、各タスク部82〜92の機能について説明する。
通信部82は、シリアル通信ポートU2を制御する通信ドライバーソフトウェアを含み、シリアル通信ポートU2を介してホスト装置120との間で行われるシリアル通信を制御する。通信部82が受信した印刷データPDは、画像バッファー59Aに格納される。この画像バッファー59AはRAM59の少なくとも一部の記憶領域により構成される。画像バッファー59Aは、詳しくは、受信バッファーと中間バッファー(プレーンバッファ)と印刷バッファー(イメージバッファー)とを含み、印刷データPDはまず受信バッファーに格納される。
通信部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の記録動作に用いられる噴射系データ生成のための画像処理を含む記録系処理を行う記録系タスク部81〜83,88に属する。本実施形態では、記録系タスク部81〜83,88により、記録系処理手段の一例が構成される。
画像処理部83は、印刷データPDの解凍後の処理として、画像バッファー59Aから読み出した印刷画像データ(プレーンデータ)にマイクロウィーブ処理(ノズル割付処理)などの画像処理を順次施し、記録ヘッド29の制御に用いられるヘッド制御データを生成して画像バッファー59A(詳しくはイメージバッファー)に格納する。なお、マイクロウィーブ処理とは、記録ヘッド29のノズル形成面において副走査方向に隣接するノズルにより記録される主走査ライン(ドットライン)が隣接しないように印刷画像データ(プレーンデータ)の各ドットを各ノズルに割り付ける特定の割付処理を指す。なお、本実施形態では、縦横変換処理などの一部の画像処理は、ASIC52内の縦横変換回路などの画像処理用回路(図示省略)により行われる。この縦横変換処理の際には、ASIC52はRAM59との間でメモリーコントローラー57(図4参照)を介してデータ転送を行う。このメモリーコントローラー57に対する転送開始指示や転送条件設定処理は、CPU51が行う。このため、本実施形態では、CPU51がデータ転送処理及び転送条件設定処理などを行うソフトウェア部分によって、主制御部81の一部が構成されている。この点において、主制御部81は、記録ヘッド29の記録動作に用いられる噴射系データ生成のための画像処理を含む記録系処理を行う記録系タスク部81〜83,88に属する。本実施形態では、記録系タスク部81〜83,88により、記録系処理手段の一例が構成される。
ヘッド制御部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パス)を終了したタイミングなどを指す。
デバイス制御部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は、1回の印刷が終わったとき、インクカートリッジ交換が行われたとき、電源スイッチ65がオフ操作された際の電源遮断時などの所定時期に、全ての記録ヘッド29で消費された8色分のインク消費量を算出する。さらに演算部95は、この8色分の各インク消費量を、この8色の前回のインク残量からそれぞれ減算することで、現在の8色のインク残量を算出する。本実施形態では、インク管理部89は、インク残量情報とこれ以外のインクに係る情報などとを含む印刷関連情報(データの一部)を取得する。本実施形態では、印刷関連情報には、インク残量、インク消費量及びインクカートリッジ使用期限残り時間などのインク関連情報と、印刷ページ数、課金情報、メンテナンス情報(メンテナンス項目毎の実施回数)、印刷実施時刻情報などが含まれている。
さらにインク管理部89は、印刷関連情報を管理する他、インクカートリッジICの状態を監視し、インク関連のエラー検出も行う。インク管理部89は、例えば演算部95が算出したインク残量がインクエンド閾値未満になったか否かを判定し、インク残量がその閾値未満である場合にインクエンドと判定する。例えばインクエンドになってから、一定の許容印刷時間又は一定の許容インク量が消費されるまでの期間を過ぎると、強制的に印刷動作を停止させるためのエラーが、メカ制御部86を介して緊急タスク部90に通知される。また、インクカートリッジICの外れや、色違いのインクカートリッジICの装着を検出したときにも、メカ制御部86を介して緊急タスク部90にエラーが通知される。このエラー通知には、エラー内容を把握できる識別子(例えばエラーコマンド番号)やパラメーター値が付与される。
緊急タスク部90は、インク管理部89からエラー通知を受け付けると、そのエラーの内容を判断し、その判断したエラー内容に応じた種類のエラーコマンドを発行する。エラーコマンドはメカ制御部86を介して適切な送信先へ送られる。例えばインクエンド通知用のエラーコマンドは、メカコントローラー43及びホスト制御部125に送られ、メカニカル機構44の動作の非常停止や、ホスト装置120のモニター123へのインクエンドの旨を報知する表示が行われる。また、緊急タスク部90は、電源オフ機能及び電源遮断検出機能を備えている。緊急タスク部90は、電源スイッチ65がオフ操作された際のオフ信号を入力すると、電源オフ機能により、前述の優先順位変更要求をリアルタイムOS71へ出力し、その後、データバックアップ処理終了の旨の書戻し完了通知を受け付けると、プリンター11の終了処理を行い、終了処理の後に電源を遮断させる。また、緊急タスク部90は、電源遮断検出機能により、電源プラグ抜けや電源故障などの不意な電源遮断を検出したときにも、同様の優先順位変更要求をリアルタイムOS71へ出力する。なお、電源オフ時の書戻し完了通知は、書込みタスク部91と書戻しタスク部92によるデータバックアップ処理完了の旨を通知するものである。
書込みタスク部91は、電源スイッチ65がオン操作された際のプリンター11の起動時に、CPU51とバス56を介して接続された不揮発性メモリー55からデータD(印刷関連情報を含む)を読み込み、その読み込んだデータDをRAM54に書き込む書込み処理を行う。なお、データDには、印刷関連情報以外に、主制御部81が記録ヘッド29及びメカニカル機構44を駆動させる調整処理を行わせた際に、調整処理の結果として取得された調整値データ(補正値データ)などが含まれる。調整処理としては、キャリッジ27の往動時と復動時における記録ヘッド29の噴射タイミングを、プリンター11の個体差や、シート13の厚み(媒体厚)に応じて調整する噴射タイミング調整処理などを挙げることができる。この噴射タイミング調整処理では、例えばテストパターンを印刷し、そのテストパターンの中からユーザーが最適と判断した番号又は数値を入力する方法、テストパターンをスキャナーに読み取らせて取得した画像データを画像解析してその画像解析結果から最適な調整値をプリンター11が求める方法などが挙げられる。この場合、主制御部81は、第1記憶部131のデータD中の噴射タイミング用の調整値(補正値)を更新する。この種の調整値(補正値)は、ユーザーが調整処理の実施を選択したときに限り更新されるものであり、通常、過去に一度設定されたほとんど固定値である。よって、この種の調整値は、プリンター11の電源オン時に一度読み出されて設定されれば、その後、ほとんど読み出しも書き替えも行われることがない。
また、書戻しタスク部92は、RAM54に記憶されているデータDを読み出し、その読み出したデータDを不揮発性メモリー55に書き戻す書戻し処理を行う。
図3に示すように、RAM54は、プログラムデータ記憶部130と、第1記憶部131(ミラー記憶領域部)と、第2記憶部132(コピー記憶領域部)とを有する。プログラムデータ記憶部130は、ROM53(又は不揮発性メモリー55)から読み出されたプログラムデータや各種の設定値の書込み先となる記憶領域である。
図3に示すように、RAM54は、プログラムデータ記憶部130と、第1記憶部131(ミラー記憶領域部)と、第2記憶部132(コピー記憶領域部)とを有する。プログラムデータ記憶部130は、ROM53(又は不揮発性メモリー55)から読み出されたプログラムデータや各種の設定値の書込み先となる記憶領域である。
第1記憶部131(ミラー記憶領域部)は、不揮発性メモリー55から読み出されたデータDの書込み先となる記憶領域である。第1記憶部131は、印刷系タスク部81〜89、緊急タスク部90がアクセスしてデータの読出し及び書込みが可能な記憶領域である。電源オン時に不揮発性メモリー55から第1記憶部131に書き込まれたデータDは、プリンター11の稼働中(電源オン中)において各タスク部81〜90からの書込みアクセスにより逐次更新される。例えばインク管理部89が第1記憶部131に書込みアクセスし、インク残量やインクカートリッジ使用期限残り時間などの印刷関連情報を、第1記憶部131に書き込むことにより、データDのうちインク残量情報などの一部の情報が更新される。もちろん、他の印刷系タスク部の書込みアクセスによっても、第1記憶部131のデータDは更新される。なお、各タスク部毎のデータ更新内容の詳細については後述する。
第2記憶部132(コピー記憶領域部)は、第1記憶部131から読み出されたデータDのコピー先となる記憶領域である。この第2記憶部132は、書込みタスク部91による書込みアクセスと書戻しタスク部92による読み出しアクセスは許可されているものの、各タスク部81〜90の第2記憶部132への書込みアクセスが禁止されている。但し、各タスク部81〜90の第2記憶部132への読出しアクセスは許可しても構わない。
書戻しタスク部92は、各タスク部81〜92の中で一番優先順位が低いので(図5(a)参照)、印刷動作やメンテナンス動作などが行われていないプリンター11の待機中に起動されることになる。そして、プリンター11が待機状態にあるときに起動された書戻しタスク部92は、第2記憶部132に記憶されたデータDを不揮発性メモリー55へ書き戻す処理(書戻し処理)を行う。書戻しタスク部92は、書戻し処理を完了すると、書込みタスク部91に対して書戻し完了通知を行うようになっている。
書込みタスク部91は、書戻しタスク部92から書戻し完了通知を受け付けると、リアルタイムOS71に起動要求を出す。書込みタスク部91は、緊急タスク部90以外の各タスク部81〜89,91,92の中で一番優先順位が高いので、書戻しタスク部92による書戻し処理の完了後直ぐに起動される。書込みタスク部91は、書戻し完了通知を受け付けて起動されたときは、第1記憶部131のデータD(更新データ)を第2記憶部132に上書きすることでコピーする。もちろん、前回コピー時と今回コピー時との間に、第1記憶部131のデータDの更新が行われていないときなどは、コピーしても第2記憶部132のデータDが変らない場合もある。
また、電源オフ操作時、電源プラグ抜けや電源故障などの電源オフ時(電源遮断時)は、緊急タスク部90が起動され、この緊急タスク部90が優先順位変更部73に優先順位変更処理を要求する。優先順位変更部73は、優先順位管理テーブル97を、図5(b)に示す優先順、すなわち、書戻しタスク部92を印刷系タスク部81〜89の優先順位より高い順位(本例では第3位の優先順位)に変更する優先順位変更処理を行う。このため、電源遮断時は、書戻しタスク部92が直ぐ起動され、そのときの第2記憶部132の最新のデータDが不揮発性メモリー55へ書戻しされるようになっている。なお、コピー処理中の電源遮断時は、より優先順位の高い書込みタスク部91が起動されて、その途中のコピー処理を終えてから、書戻しタスク部92が起動される。
ここで、不揮発性メモリー55をFeRAMとしている本例では、不揮発性メモリー55に保存できるデータ記憶容量が、例えばフラッシュメモリーに比べ比較的小さい。本実施形態では、これまで不揮発性メモリー(例えばフラッシュメモリー)に保存していたデータを、プリンター稼働中に全く更新されないか殆ど更新されないデータ(不変データ)と、印刷の実施や時間経過などに伴って更新されるデータ(可変データ)とに大きく分け、不変データのかなりの部分についてはホスト装置120のホスト記憶部120Mに保存することにしている。このため、不揮発性メモリー55に保存しておくべきデータDの容量が比較的小さくなり、不揮発性メモリー55としてFeRAMを使用することが可能になった。フラッシュメモリーは、書込み可能回数がFeRAMに比べ非常に少なく、書戻し処理を電源オフ時などに制限する必要があったが、本実施形態では、不揮発性メモリー55としてFeRAMを使用するため、電源オフ時以外のプリンター11の稼働中においても不揮発性メモリー55へのデータDの書戻しを行うことができる。なお、電源オフ時には、書戻しタスク部91は、RAM54の第2記憶部132から読み出した最新のデータDを記憶素子47にも書き戻すようになっている。
図6は、書込み処理、コピー処理、書戻し処理を説明するブロック図である。図6に示すように、本実施形態の不揮発性メモリー55には、計数手段の一例としてのカウンター68が設けられている。電源オン時には、ROM53のプログラムデータ等がRAM54のプログラムデータ記憶部130に書き込まれ、CPU51がそのうちブートプログラムを実行することによりリアルタイムOS71が起動される。このリアルタイムOS71が起動された最初に、書込みタスク部91が起動される。図6に示すように、電源オン時に書込みタスク部91により不揮発性メモリー55からRAM54の第1記憶部131へのデータDの書込み処理が行われる(図6中の(1))(書込み段階)。すなわち、書込みタスク部91は、電源オン時に、前回の電源オフ時(電源遮断時)に不揮発性メモリー55に保存されたデータDを、その不揮発性メモリー55から読み出し、その読み出したデータDをRAM54の第1記憶部131に書き込む。
書込みタスク部91は、この電源オン時の書込み処理のときに限り、書込み処理に続けてコピー処理も行い、第1記憶部131のデータDを第2記憶部132にコピーする(図6中の(2))(コピー段階)。書込みタスク部91は、コピー処理を完了すると、カウンター68の計数値をコピー完了値A(例えば「0」)に変更する。
その後、プリンター11が待機状態になると、各タスク部81〜92の中で一番優先順位の低い書戻しタスク部92が起動される。そして、書戻しタスク部92は、カウンター68の計数値を確認し、計数値がコピー完了値Aであれば、第2記憶部132のデータDを不揮発性メモリー55に書き戻す(図6中の(3))(書戻し段階)。書戻しタスク部92は、データDの書戻し中は、Kバイトのデータを書き戻す度にカウンター68の計数処理を行う。本実施形態では、書戻しタスク部92は、Kバイトのデータを書き戻す度にカウンターをインクリメントする。
書戻しタスク部92が、データDを全て書戻し、書戻し処理を完了すると、書戻し完了通知を書込みタスク部91へ送る。この書戻し完了通知の送信時は、カウンター68の計数値CTは書戻し完了値B(例えば最大値)となっている。書込みタスク部91は、書戻し完了通知を受け付けると起動し、第1記憶部131から第2記憶部132へデータDをコピーするコピー処理を行う(図6中の(2))。書込みタスク部91は、印刷系タスク部より優先順位の高いタスクであるため書戻し完了通知を受け付ければ大抵の場合は直ぐに起動される。書込みタスク部91は、まずカウンター68の計数値CTを確認し、計数値CTが書戻し完了値Bであれば、第1記憶部131のデータDを第2記憶部132にコピーするコピー処理を行う(図6中の(2))。そして、前述のようにコピー処理を完了すると、カウンター68の計数値をコピー完了値Aに変更する。こうしてプリンター11が待機状態になる度に、書戻しタスク部92が起動し、第2記憶部132のデータDを不揮発性メモリー55に書戻す(図6中の(3))。この書戻し完了の度に書戻しタスク部91から送られてくる書戻し完了通知を受け付ける度に書込みタスク部91は起動し、前回コピー時と今回コピー時の間の期間に更新された第1記憶部131のデータDを、第2記憶部132へコピーする(図6中の(2))。
図7は、不揮発性メモリー55の構成を示す。図7に示すように、不揮発性メモリー55は、カウンター68として使用されるカウンター領域55Aと、読み出しのみされて変更されることのない固定データ(例えばバージョン情報等)を記憶するための固定データ記憶領域55Bと、データD(バックアップデータ)を記憶させるためのデータ記憶領域55Cとを備えている。カウンター領域55A及び固定データ記憶領域55Bは、印刷系タスク部81〜89及び緊急タスク部90による書込み禁止領域となっているが、そのうちカウンター領域55Aについては、書込みタスク部91及び書戻しタスク部92による書込みアクセスは許可されている。そのため、書込みタスク部91及び書戻しタスク部92によるカウンター68の計数値を変更する処理(リセット、セット、計数処理など)が可能になっている。
カウンター領域55Aには、一例として1バイト確保されており、8ビットのカウンター68が構成されている。本実施形態では、データDを255分割した値であるKバイト(K=データDのデータ容量/255)を、カウンター68を「1」だけ計数する計数処理の単位としている。本例では、コピー完了値Aを最小値「00000000」(2進数)としており、書込みタスク部91によるコピー処理完了後に開始したデータDの書戻しを全て完了すると、カウンター68の計数値が最大値「11111111」(2進数)になるようになっている。このように本実施形態では、カウンター68のビット数をGとすると、書戻しすべきデータDの容量DB(バイト)を、「2のG乗−1」で除した値K(バイト)を、カウンター68の計数処理を行う単位としている。なお、容量DBはKの倍数になるように設定している。
以下、プリンター11において不揮発性メモリー55とRAM54との間におけるデータDの書込み、コピー、書戻しによって行われるデータ記憶処理を、図5〜図12等を参照しつつ説明する。図8及び図9は、書込みタスク部91、書戻しタスク部92及び印刷系タスク部81〜89の処理の流れを示すシーケンス図である。ここで、図8は通常時のデータ記憶処理の流れを示すシーケンス図、図9は電源遮断時のデータ記憶処理の流れを示すシーケンス図である。まず電源オンから電源オフ前までの通常時のデータ記憶処理について図5(a)、図6〜図8、図10及び図11等を用いて説明する。
図8に示すように、電源オン時には、ROM53のプログラムデータ等がRAM54のプログラムデータ記憶部130に書き込まれ、CPU51がそのうちブートプログラム等を実行することによりリアルタイムOS71が起動される。このとき、リアルタイムOS71は、図5(a)に示す優先順位管理テーブル97を設定する。通常時に、タスク管理部74が参照する優先順位管理テーブル97は、書込みタスクが印刷系タスクよりも高い優先順位であり、かつ書戻しタスクが印刷系タスクよりも低い優先順位に設定されている。このリアルタイムOS71の起動後、最初に書込みタスク部91が起動され、書込みタスク部91は、不揮発性メモリー55のデータDを、RAM54の第1記憶部131に書き込む書込み処理を行う(図6、図8中の(1))(書込み段階)。
書込みタスク部91は、この電源オン時に限り、書込み処理に続けてコピー処理も行う(図6中の(2)、図8中の最初の(2))(コピー段階)。すなわち、書込みタスク部91は、第1記憶部131のデータDを第2記憶部132にコピーする。この電源オン時には、プリンター11はメカニカル機構44の初期化処理を行う。この初期化処理の前又は後にプリンター11が待機状態になると、各タスク部81〜92の中で一番優先順位の低い書戻しタスク部92が起動される。そして、書戻しタスク部92は、第2記憶部132のデータDを不揮発性メモリー55に書き戻す(図6、図8中の(3))(書戻し段階)。書戻しタスク部92は、データDを全て書戻すと、書戻し完了通知を書込みタスク部91へ送る。書込みタスク部91は、書戻し完了通知を受け付けると起動し、第1記憶部131のデータDを第2記憶部132へコピーするコピー処理を行う(図6中の(2)、図8中の2回目以降の(2))。
こうしてプリンター11が待機状態にある間は、書込みタスク部91による第1記憶部131のデータDの第2記憶部132へのコピー(図8中の(2))と、書戻しタスク部92による第2記憶部132のデータDの不揮発性メモリー55への書戻し(図8中の(3))とが繰り返し行われる。
以下、書込みタスク部91が起動して行われるコピー処理と、書戻しタスク部92が起動して行われる書戻し処理とを、図10及び図11に示すフローチャートに従って説明する。図10は、書込みタスクのうちコピー処理部分の内容をフローチャートで示すコピー処理ルーチンである。また、図11は、書戻しタスクの内容をフローチャートで示す書戻し処理ルーチンである。
書込みタスク部91は書戻し完了通知を受け付けて起動すると、コピー処理を開始する。
まず図10におけるステップS10において、カウンター68の計数値CTが書戻し完了値Bであるか否かを判定する。計数値CT=BであればステップS20に進む。また、計数値CT=Bでなければ当該ルーチンを終了する。つまり、書込みタスク部91は起動を終了する。
まず図10におけるステップS10において、カウンター68の計数値CTが書戻し完了値Bであるか否かを判定する。計数値CT=BであればステップS20に進む。また、計数値CT=Bでなければ当該ルーチンを終了する。つまり、書込みタスク部91は起動を終了する。
ステップS20では、第1記憶部131のデータDを第2記憶部132へコピーする。
次のステップS30では、コピー処理完了であるか否かを判断する。コピー処理を完了していなければコピー処理を継続し、全てのデータDのコピーを完了すると(S30で肯定判定)、ステップS40に進む。
次のステップS30では、コピー処理完了であるか否かを判断する。コピー処理を完了していなければコピー処理を継続し、全てのデータDのコピーを完了すると(S30で肯定判定)、ステップS40に進む。
ステップS40では、カウンター68をコピー完了値A(本例では「00000000」)に変更する。そして、書込みタスク部91は起動を終了する。
その後、プリンター11が待機状態になると、書戻しタスク部92が起動する。まず図11におけるステップS110において、カウンター68の計数値CTが書戻し完了値Bであるか否かを判定する。計数値CT=BでなければステップS120に進む。また、計数値CT=Bであれば当該ルーチンを終了する。つまり、書戻しタスク部92は起動を終了する。
その後、プリンター11が待機状態になると、書戻しタスク部92が起動する。まず図11におけるステップS110において、カウンター68の計数値CTが書戻し完了値Bであるか否かを判定する。計数値CT=BでなければステップS120に進む。また、計数値CT=Bであれば当該ルーチンを終了する。つまり、書戻しタスク部92は起動を終了する。
ステップS120では、カウンター68の計数値CTがコピー完了値Aであるか否かを判定する。計数値CT=AであればステップS130に進み、計数値CT=Aでなければ(つまり計数値CTがA,B以外の値であれば)ステップS140に進む。なお、ステップS110の否定判定とS120の肯定判定とによって、計数値CTが書戻し完了値Bからコピー完了値Aになったか否かを判定する。
ステップS130では、書戻し処理を開始する。すなわち、前回の書戻し処理終了後、書込みタスク部91による第1記憶部131から第2記憶部132へのデータDのコピーが行われているので、そのコピーされたデータDの最初から書戻し処理を開始する。なお、この書戻し処理は、コピー完了値A(計数値CT=A)と対応する箇所からの書戻し処理に相当する。
一方、ステップS140では、そのときの計数値CTと対応する箇所からデータDの書戻し処理を開始する。計数値CTは、本例の場合、A<CT<Bの範囲の値なので、書戻しタスク部92が前回起動した際の書戻し処理が、他のタスク部の割り込みなどによって中断されたことを意味する。今回はその中断された続きの箇所からデータDの書戻し処理を行うことになる。このとき、計数値CT≠Bなので、前回と今回の間でコピーが行われることはなく、同一のデータDの続きを書戻しできることになる。
ステップS150では、第2記憶部132のデータDのうちJバイト分のデータを不揮発性メモリー55に書き戻す。新たに第2記憶部132にコピーされたデータDを書き戻す場合は、データDの最初からJバイトずつ順番に書戻しを行う。また、前回中断した続きから同一のデータDを書き戻す場合は、そのときの計数値CTに対応する箇所からJバイトずつ順番に書戻しを行う。ここで、Jバイトは書戻しの最小単位であり、本例では、カウンター68の計数処理を行う単位であるKバイトの自然数n分の1の値(J=K/n)である。
次のステップS160では、Kバイト分を書き戻したか否かを判断する。Kバイト分を書き戻していなければ次のJバイト分のデータを不揮発性メモリー55に書き戻す(S150)。そして、Jバイト分ずつの書戻しをn回繰り返してK(=J×n)バイト分を書き戻すと(ステップS160で肯定判定)、ステップS170に進む。
ステップS170では、カウンター68の計数処理を行う。本例では、計数処理として、カウンター68の計数値CTを「1」だけインクリメントする。
そして、ステップS180において、カウンター68の計数値CTが書戻し完了値Bに達したか否かを判断する。書戻し完了値Bに達していなければステップS150に戻り、以下同様に、S150〜S180の各処理を、計数値CTが書戻し完了値Bに達するまで(S180で肯定判定)繰り返す。この結果、Kバイト分の書戻しを完了する度に、カウンター68が計数処理でインクリメントされる。そして、データDを全て不揮発性メモリー55に書戻し終えると、カウンター68の計数値CTが書戻し完了値Bに達して(S180で肯定判定)当該ルーチンを終了する。つまり、書戻しタスク部92は起動を終了する。なお、書戻しタスク部92より優先順位の高い他のタスク部の割り込みがあれば、カウンター68の計数値CTが書戻し完了値Bに達していなくても、その時点で書戻しタスク部92の起動が終了し、書戻し処理が中断される。
そして、ステップS180において、カウンター68の計数値CTが書戻し完了値Bに達したか否かを判断する。書戻し完了値Bに達していなければステップS150に戻り、以下同様に、S150〜S180の各処理を、計数値CTが書戻し完了値Bに達するまで(S180で肯定判定)繰り返す。この結果、Kバイト分の書戻しを完了する度に、カウンター68が計数処理でインクリメントされる。そして、データDを全て不揮発性メモリー55に書戻し終えると、カウンター68の計数値CTが書戻し完了値Bに達して(S180で肯定判定)当該ルーチンを終了する。つまり、書戻しタスク部92は起動を終了する。なお、書戻しタスク部92より優先順位の高い他のタスク部の割り込みがあれば、カウンター68の計数値CTが書戻し完了値Bに達していなくても、その時点で書戻しタスク部92の起動が終了し、書戻し処理が中断される。
例えばプリンター11の電源オン後、ユーザーが画像生成装置110で印刷実行の指示操作を行うと、ホスト装置120からプリンター11へ印刷データPDが送られてくる。プリンター11へ送られてきた印刷データPDは、コントローラー40内のリアルタイムOS71によって起動された通信部82が受信する。以下、リアルタイムOS71は、印刷系タスク部81〜89のうち、記録処理系のデータの流れ、コマンド処理系のコマンドの流れに従って起動させるべき一つのタスク部を選択的に切り替えることにより、印刷系タスク部81〜89に、記録系処理及びコマンド処理(搬送系・キャリッジ駆動系処理)を含む印刷系処理をマルチタスク処理で実施させる。
記録系処理では、通信部82が受信した印刷データPDの画像処理部83による解凍処理、印刷画像データ(プレーンデータ)からヘッド制御データを生成する画像処理、ヘッド制御データをヘッド制御部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頁分の印刷が行われる。1頁分の印刷を終えると、メカコントローラー43はコントローラー40からの吸着解除コマンドに基づいて吸引装置30の吸引を開放した後、搬送コマンドに基づいて搬送モーター61を駆動してシート13を所定の搬送ピッチだけ搬送させる。また、印刷中の所定時期には、キャリッジ27をフラッシング位置に移動させ、記録ヘッド29のノズルからキャップ33(廃液受容器)に向けて、印刷とは関係のないインク滴を噴射することで、ノズルの目詰まりを予防又は解消するフラッシング(空吐出)が行われる。また、前回のクリーニング実施時期からの経過時間が一定時間を経過したとき、又は電源オン時にその経過時間が一定時間を超えていたときには、メンテナンス装置32を駆動して、記録ヘッド29のノズルからインクを強制的に排出させるクリーニングが行われる。このクリーニングは、昇降装置34の駆動によってキャップ33を記録ヘッド29のノズル形成面に当接させたキャッピング状態下で、不図示の吸引ポンプを駆動させてキャップ33内に負圧を導入することにより行われる。なお、フラッシング動作やクリーニング動作も、その一部は、印刷系タスク部81〜89の一部が起動されることにより行われる。
インク管理部89は、印刷動作、フラッシング動作、クリーニング動作などのインクの消費を伴う所定動作が行われるときには、例えばその動作の途中(例えば動作の切れ目)又は動作の直後など予め決められた所定時期に、演算部95にインク消費量及びインク残量の演算を行わせる。例えばインク残量は、今回算出したインク消費量を前回のインク残量から減算して求められる。インク管理部89は、RAM54の第1記憶部131のデータDのうち前回のインク消費量及びインク残量等のデータを、今回のインク消費量及びインク残量等のデータに書き替える。
また、インク管理部89は、電源オン時やインクカートリッジ交換時などの所定時期に、記憶素子47にアクセスし、インクカートリッジICの装着状態(装着外れ、装着間違い(色間違い)の有無など)、使用期限、インクエンド(インク切れ)などを検出する。例えば記憶素子47にアクセスできなければ装着外れであると検出される。また、記憶素子47には、インク色、使用期限、インク残量等のインクに関する各種情報が記憶されている。インク管理部89は、記憶素子47から読み出したインク色とそのときアクセスした装着位置に装着されるべきインクカートリッジのインク色とが対応していなければ、装着間違い(色間違い)であると検出する。また、インク管理部89は、記憶素子47から読み出した使用日限情報とリアルタイムクロック(図示せず)の時刻情報とを基にインクカートリッジ使用期限残り時間を演算する。インク管理部89は、このインクカートリッジ使用期限残り時間が「0」未満の値であると、使用日限エラーであると検出する。さらにインク管理部89は、記憶素子47から読み出したインク残量が、予め決められたインクエンド情報の値以下になっていると、インク切れ(インクエンド)であると検出する。なお、記憶素子47のインク残量は、初期には満充填(フル)のインク残量が設定され、少なくとも電源オフの度に第1記憶部131のインク残量等が書き込まれることで更新される。
インク管理部89は、インク関連情報(インク消費量、インク残量、インク切れ情報、使用期限残り時間、装着外れ、装着間違い、使用日限エラー情報など)を、RAM54の第1記憶部131の所定記憶領域にアクセスして更新する。
また、ジョブ制御部93は、ホスト装置120から指示された印刷ジョブに関するジョブ情報を取得する。ジョブ制御部93は、メカコントローラー43から取得した搬送系の稼働情報を基にジョブ毎の印刷長又は印刷枚数を求める。さらにジョブ制御部93は、その印刷長又は印刷枚数を基に課金情報を算出する。そして、ジョブ制御部93は、課金情報を含むこれらのジョブ情報を、第1記憶部131の所定記憶領域にアクセスして更新する。
また、メカコントローラー43には、搬送系のエンコーダー66の出力パルス数を計数してシート13の搬送量に相当する計数値を取得する不図示のカウンターが設けられ、印刷中におけるそのカウンターの計数値の変化量を基に、印刷されたシート13の長さである印刷長又は印刷枚数の情報が取得される。また、メカコントローラー43は、搬送系、キャリッジ駆動系及びクリーニング系などに関する種々のメカパラメーター情報を取得する。メカパラメーター情報には、例えば搬送状態(位置・速度等)、キャリッジ駆動状態(位置・速度等)、クリーニング状態などのステータス情報の他、搬送系、キャリッジ駆動系、クリーニング系の各種モーター等の駆動時間や駆動回転数などの稼働履歴情報が含まれる。この種のメカパラメーター情報はメカコントローラー43からコントローラー40へ定期的に送信される。このメカパラメーター情報はコントローラー40内のデバイス制御部94が受信する。また、デバイス制御部94は、リアルタイムクロックの時刻情報を基に、プリンター11の稼働時間を取得する。そして、デバイス制御部94は、メカコントローラー43から取得した情報にこの稼働時間等を加えたメカパラメーター情報を、RAM54の第1記憶部131にアクセスして書き替える。
ヘッド制御部88は、記録ヘッド29のインク滴噴射回数(ドット数)をインク色別に計数するドットカウンターを備え、その計数値からインク色毎のインク滴噴射回数(ドット数)を含むヘッド情報を取得する。そして、ヘッド制御部88は、取得したヘッド情報をRAM54の第1記憶部131にアクセスして更新する。
また、プリンター11は、種々の調整値(補正値)を取得するための調整機能を備える。例えば、ある調整機能はその測定部を動作させて実測値を計測し、初期設定値と実測値との差分を基に、初期設定値を調整(補正)するための調整値(補正値)を取得する。この種の調整値には、主走査方向Xにおけるフラッシング開始位置・終了位置、キャップ位置、印刷時の噴射開始位置を決める基準位置、搬送基準位置、シート温度に応じたシート13の伸びを考慮して搬送量を補正するための調整値(補正値)などがある。ここで、シート温度は、温度センサー67により検出され、メカコントローラー43からコントローラー40へ送信される。印刷タスク部85は、検出されたシート温度に応じた搬送調整値を演算する。
また、他の調整機能としては、テストパターンを印刷し、そのテストパターンの中から最適な印刷結果であるとユーザーが判断して入力した1つのテストパターンに対応する番号を基に、その番号に対応する噴射タイミング調整値を取得する機能がある。この種の調整値には、一方向印刷時における記録ヘッド29の主走査方向Xの噴射タイミングを調整するUni-d調整値、双方向印刷におけるキャリッジ27の往動時と復動時の噴射タイミングを調整するBi-d調整値がある。このUni-d調整値又はBi-d調整値を用いて、シート厚(例えば紙厚)に応じた噴射タイミングを演算できるようになっている。この種の調整情報は、ユーザーの操作によりプリンター11の調整機能が動作したとき、又はユーザーの操作で最適なテストパターンなど最適な指標に対応する番号等が入力されたときに更新される。この更新された調整情報は、印刷タスク部85がRAM54の第1記憶部131にアクセスすることで更新される。これらの調整情報データは、プリンター11の出荷検査段階、プリンター11をユーザーが初めて使用する際の最初の起動時、ユーザーが調整機構を動作させて行う調整作業時、故障修理のメンテナンス時などに設定され、一度設定されると、しばらくは更新されることのない種類のデータである。
緊急タスク部90は、印刷動作上のエラーが発生すると、そのエラー内容の解析が可能な程度の情報を含むエラー情報を、RAM54の第1記憶部131に書き込む。本実施形態では、ホスト装置120はインターネットを介してユーザーサポート用のサーバー(図示せず)に接続されており、エラー情報はホスト装置120からサーバーに送信されるようになっている。このサーバーは、エラー情報を解析してエラーの原因をつきとめたり、プリンター11をエラーから回復させる方法を探し出したりする処理を行う。
このようにデータDには、プリンター11の稼働中に比較的頻繁に更新されるインク関連情報、ジョブ情報、メカパラメーター情報及びヘッド情報等を含む稼働情報データD1と、プリンター11の稼働中もほとんど更新されることのない(更新頻度の低い)調整情報や解析用のエラー情報を含む固定情報データD2とがある。本実施形態では、データDには、先頭側に稼働情報データD1が配置され、その後側に続けて固定情報データD2が配置されている。このため、書戻し処理では最初に稼働情報データD1が書戻しされ、これに続けて固定情報データD2が書戻しされることになる。但し、調整情報の中には、コントローラー40が定期的に調整機能を動作させて最適な調整情報を比較的頻繁に更新する種類のものもあり、この種の調整情報は、稼働情報データD1の領域に配置されている。
こうして印刷系タスク部81〜89が起動される印刷処理時には、適宜のタイミングで、第1記憶部131のデータDが更新される(データ更新段階)。こうして更新された第1記憶部131のデータDは、起動された書込みタスク部91により図10のフローチャートに従った処理により第2記憶部132にコピーされる。なお、本実施形態では、インク関連情報、ジョブ情報、メカパラメーター情報、ヘッド情報、調整情報及びエラー情報が、プリンター11の動作によって更新される印刷関連情報に相当する。また、データDの中には、プリンター11の動作によって更新される訳ではないが、不揮発性メモリー55(第1の記憶手段)に書き込まれる情報も存在する。
本実施形態では、ホスト装置120のホスト制御部125は、定期的又は不定期にコントローラー40へデータDの送信を要求する。コントローラー40はその要求に応答する形で、印刷動作やクリーニング動作等が行われていない空いた時期や電源オフ時の終了処理の際に、RAM54の第1記憶部131又は第2記憶部132のデータDをホスト制御部125へ送信する。ホスト制御部125は、受信したデータDをホスト記憶部120Mに保存する。よって、ホスト装置120のホスト記憶部120Mにも、書戻し頻度に比べ低い頻度ではあるものの定期又は不定期に更新されたデータDが保存される。また、データDの一部又は全部がホスト装置120からインターネットを経由してプリンターメーカーのサーバーに送られ、プリンター11の稼働状況の解析などに用いられるようになっている。
印刷処理や印刷動作が行われているときは、優先順位の一番低い書戻しタスク部92が起動されることはない。このため、書込みタスク部91が書戻し完了通知を受け付けることがないので、書込みタスク部91によるデータDのコピー処理は行われない。
印刷動作もクリーニング動作も行われていない待機状態になると、書戻しタスク部92が起動される。そして、書戻しタスク部92は、第2記憶部132のデータDを不揮発性メモリー55へ書き戻す(図8中の(3))。このときのデータDは、最後に書き戻しタスク部92がコピーしたものなので、印刷動作前の旧いデータである。しかし、書込みタスク部91から書戻し完了通知を受け付けると、書込みタスク部91は、第1記憶部131の最新のデータDを第2記憶部132へコピーする(図8中の(2))。このコピー処理後、再び起動された書戻しタスク部92が第2記憶部132の最新のデータDを不揮発性メモリー55へ書き戻す。こうしてプリンター11が待機状態になる度にデータDの書戻しが行われる。
そして、コピー処理を終えたときには、カウンター68の計数値CTがコピー完了値Aになっている。書戻しタスク部92が書戻し処理を開始すると、データの書戻しが進むに連れて、カウンター68の計数値CTはコピー完了値A(本例では「0000000」)からインクリメントされる。そして、データDの書戻しを完了すると、カウンター68の計数値CTが書戻し完了値Bとなる。
ここで、書込みタスク部91は、印刷系タスク部81〜89よりも優先順位が高いので、コピー処理の途中に印刷系タスク部81〜89の割込みが入りコピー元データが書き替えられる事態は発生しない。また、第2記憶部132が、印刷系タスク部81〜89及び緊急タスク部90による書込みアクセスが禁止されているので、書戻しタスク部92による書戻し途中で書戻し元データが印刷系タスク部81〜89により書き替えられる事態が回避される。さらに、書込みタスク部91の起動条件は書戻しタスク部92がデータDを書戻し終わったときの書戻し完了通知を受け付けたときであるので、書戻しタスク部92による書戻し途中で、コピー処理が割り込んで書戻し元データを書き替えてしまう事態を回避できる。この結果、書戻しタスク部92により、RAM54から不揮発性メモリー55へ正しいデータDを書き戻すことができる。なお、印刷系タスク部が印刷のための処理を行って、印刷関連情報を取得する段階が、印刷制御段階に相当する。
次に電源遮断(電源オフ)時におけるデータ記憶処理について、図5及び図9等を参照しつつ説明する。なお、電源遮断(電源オフ)には、ユーザーが電源スイッチ65をオフ操作したときの正常電源遮断(正常電源オフ)と、電源プラグ抜けや電源故障などの不意に発生する異常電源遮断(異常電源オフ)とがある。電源遮断時のデータ記憶処理において、正常電源オフと異常電源オフとの違いは、図9に示す終了処理(図9中の(15))の有無である。図9の例は、正常電源オフ時におけるデータ記憶処理を示すが、図9において終了処理を廃止したものが異常電源オフ時におけるデータ記憶処理になる。なお、本実施形態では、プリンター11は二次電池を備えており、電源プラグ抜けや電源故障などの不意な電源遮断(異常電源オフ)発生時でも、二次電池が放電されるまでの例えば10〜500ミリ秒の範囲内の所定時間の間は二次電池から電力が供給されるようになっている。
ユーザーが電源スイッチ65を操作した際の正常電源オフ(正常電源遮断)は、オフ信号がコントローラー40内に入力されることにより検出される。一方、電源プラグ抜けや電源故障などが原因で発生した異常電源オフ(異常電源遮断)は、コントローラー40内の緊急タスク部90の電源遮断検出機能により検出される。
図9に示すように、正常又は異常の電源オフ(電源遮断)が検出されると、緊急タスク部90が起動される。すなわち、リアルタイムOS71は、起動要求を受け付けているタスク部のうち一番優先順位の高い緊急タスク部90を起動させる。例えば電源遮断が印刷動作中に発生する場合もあり得るが、印刷系タスク部81〜89より優先順位が高いため、緊急タスク部90が起動される。起動された緊急タスク部90は、まずリアルタイムOS71に優先順位変更要求を行う(図9中の(11))。この優先順位変更要求はリアルタイムOS71内の優先順位変更部73が受け付け、優先順位変更部73は、タスク管理部74によって参照される優先順位管理テーブル97を、図5(a)に示す通常時のタスク優先順から図5(b)に示す電源オフ時のタスク優先順に変更するタスク優先順位変更処理を行う(図9中の(12))。優先順位変更部73は、例えば優先順位管理テーブル97のタスクの順番を並び替える処理を行う。もちろん、このタスク優先順位変更処理は、複数用意された優先順位管理テーブル97のうち参照すべきテーブルを図5(b)に示すものに切り替える処理としてもよい。
このタスク優先順位変更処理の結果、書込みタスク部91及び書戻しタスク部92の優先順位の関係を保持したまま、両タスク部91,92の優先順位が、印刷系タスク部81〜89よりも高くなる。つまり、書戻しタスク部92が、書込みタスク部91よりも低く、かつ印刷系タスク部81〜89よりも高い優先順位に変更される。
このため、電源遮断(電源オフ)時には、仮にそのとき印刷動作中であっても、書戻しタスク部92が起動される。また、プリンター11の待機中の電源遮断時は、書込みタスク部91又は書戻しタスク部92が起動されている。例えば印刷動作中の電源遮断時は、その印刷動作開始直前に書き戻されたデータDが不揮発性メモリー55に保存されている。また、印刷動作が行われていない待機中の電源遮断時は、それまでの待機中に最新のデータDが繰り返し書き戻され、不揮発性メモリー55には最新のデータDが保存されている。
図9の例のように、この電源オフ(電源遮断)の際に、仮に書込みタスク部91がコピー処理中であった場合は、より優先順位の高い書込みタスク部91のコピー処理を終えた後に、次に優先順位の高い書戻しタスク部92が起動される。このとき、カウンター68の計数値CTが書戻し完了値Bではなくかつコピー完了値Aなので(図11のS110で否定判定かつS120で肯定判定)、そのコピーされたデータDの書戻し処理を行う(図9中の(13),(14)、図11のS130〜S180)。このような起動優先順位により、書込みタスク部91によるコピー途中の電源遮断時に書戻しタスク部92が割り込んで、コピー途中のデータDを書き戻す事態が回避される。このため、電源遮断時において、書込みタスク部91によるコピーが完了した正しい最新のデータDを不揮発性メモリー55に書き戻すことができる。
また、電源遮断時に書戻し中であった場合は、緊急タスク部90からCPU実行権が切り換わった際に書戻しタスク部92が再起動される。このとき、カウンター68の計数値CTは書戻し完了値Bでもコピー完了値Aでもないので(図11のS110,S120で共に否定判定)、書戻しタスク部92は、計数値CTと対応する箇所からデータDの書戻し処理を行う(図11のS140、S150〜S180)。
この電源遮断時に書戻し処理を正常に終えたときには、カウンター68の計数値CTは書戻し完了値Bとなっている(CT=B)。一方、書戻し処理を正常に終えられなかったときには、カウンター68の計数値CTが書戻し完了値B以外の値(CT≠B)となる。
一方、印刷動作中の電源遮断時は、まず書込みタスク部91がコピー処理を行う。カウンター68の計数値CTが書戻し完了値Bではなくコピー完了値Aなので(図11のS110で否定判定かつS120で肯定判定)、起動した書戻しタスク部92は最新のデータDの書戻し処理を行う。この場合、不揮発性メモリー55には、印刷動作中断時の最新のデータDが保存されている。また、プリンター待機中の電源遮断時であって、カウンター68の計数値CTが書戻し完了値Bであった場合(図11のS110で肯定判定)は、起動した書戻しタスク部92は直ぐにその起動を終了する。この場合、不揮発性メモリー55には最新のデータDが保存されている。
正常電源オフ時の場合、書戻し処理を終えた書戻しタスク部92から書戻し完了通知を受け付けた緊急タスク部90が起動し、プリンター11の終了処理を行う。この終了処理は、電源オフ時にプリンター11を終了時にあるべき状態にする処理であり、電源遮断前の準備処理に相当する。終了処理ではデータの退避処理など所定の処理が行われる。もちろん、終了処理は、例えばキャリッジ27がホームポジションになければ、ホームポジションに移動させて記録ヘッド29をキャッピングするなど、各種の動作部を初期位置に戻すなどの終了動作を含んでもよい。緊急タスク部90は、終了処理を終わると、電源を遮断する。なお、正常電源オフ時は、電源遮断までの電力供給時間に余裕があるので、終了処理を先に行ってから、書戻しタスク部92によるデータDの書戻し処理を行ってもよい。
電源オフ時は、インク関連情報もインクカートリッジICの記憶素子47にも書き込まれる。
電源オン時には、書込みタスク部91が起動される。図12のフローチャートに従って書込み処理を説明する。
電源オン時には、書込みタスク部91が起動される。図12のフローチャートに従って書込み処理を説明する。
まずステップS210では、カウンター68の計数値CTが書戻し完了値Bであるか否かを判断する。計数値CTが書戻し完了値BであればステップS220に進み、書戻し完了値BでなければステップS230に進む。
ステップS220では、不揮発性メモリー55のデータDをRAM54の第1記憶部131に書き込む(書込み処理)。この書込み処理を終えると、本ルーチンを終了する。すなわち、書込みタスク部91は起動を終了する。
一方、ステップS230では、書戻しエラーを報知する。つまり、計数値CTが書戻し完了値Bに達していない場合は、データD全ての書戻しが完了していないことを意味するので、その旨をユーザーに知らせるために書戻しエラーを報知する。このとき、書込みタスク部91は主制御部81へ書戻しエラー通知を行い、さらに主制御部81が通信部82を介してホスト制御部125へその書戻しエラー通知を送ることにより、ホスト制御部125へ書戻しエラーの旨が通知される。
ホスト制御部125は、書戻しエラー通知を受け付けると、モニター123に書戻しエラー発生の旨(例えばエラー画面)を表示する。この結果、書戻しエラー発生の旨がユーザーに報知される。
ステップS240では、不揮発性メモリー55のデータDのうち計数値CTに相当する分までの一部のデータをRAM54の第1記憶部131に書き込む。つまり、不揮発性メモリー55のデータDのうち、前回の電源遮断時に書戻しができたところまでの一部のデータを第1記憶部131に書き込む。前回の電源遮断時に、データDのうちそのときの計数値CTの属する一つの情報の途中で電源が遮断された場合、当該1つの情報の1つ前までの情報は信頼できるが、当該1つの情報は途中までしか書き戻されていないので信頼できない情報となる。
ステップS250では、ホスト装置120へ不揮発性メモリー55のデータDを送信する。このデータDの送信は、そのときの計数値CTに相当する前記1つの情報以降の信頼できないデータを修復するために行われる。このデータDを受信したホスト装置120では、ホスト制御部125がデータDの修復処理を行う。
データDの修復は、次の方法で行う。データDのうちそのときの計数値CTに相当する部分に位置する1つの情報で丁度書戻しが中断されており、この1つの情報よりも前のデータは電源遮断時に書き戻された信頼できるデータであり、これより後のデータは電源遮断時に書き戻されなかった1回分旧いデータとなっている。
また、本実施形態では、プリンター11は、定期的にデータDをホスト制御部125へ送信しているため、ホスト装置120内のホスト記憶部120Mには前回の電源遮断前に最後に送信されたデータDが保存されている。ホスト制御部125は、このホスト記憶部120Mに保存されている最後のデータDと、ホスト制御部125へ送られてきた修復用のデータDのうち前回の電源遮断時より1回前に不揮発性メモリー55に書き戻された部分のデータとのうちどちらが新しいかを判断する。そして、ホスト制御部125は、その判断結果を基により新しい方のデータを修復用に採用し、最後のデータDのうちそのときのカウンター68の計数値CTに相当する部分の1つの情報(つまり書戻しが途中で中断された情報)を修正用に採用し、これら修正用のデータを合体させて修正データを作成する。そして、ホスト制御部125は、修復データをプリンター11へ送信する。
ステップS260では、ホスト装置120からの修復データを第1記憶部131に書き込む。すなわち、ホスト装置120のホスト制御部125から送られてきて通信部82が受信した修正データは主制御部81を介して書込みタスク部91が受け取る。そして、書込みタスク部91は、修復データをそのときのカウンター68の計数値CTに相当する部分に位置する1つの情報を含むそれ以降の部分に書き込む。この結果、第1記憶部131のデータDが修復される。この修復を終えると、書込みタスク部91は本ルーチンを終了する。すなわち、書込みタスク部91は起動を終了する。
本実施形態では、データDの修復処理のうち、電源オン時の計数値CTに相当する1つの情報の修復は、ホスト制御部125へ定期的に送信したデータを利用して行う構成とした。これに対して、この部分の修復は、不揮発性メモリー55に記憶された電源遮断時より1回旧いデータを使用し、計数値CTに相当する部分のみホスト側のデータに置き換える構成としてもよい。
以上詳述したように、本実施形態によれば、以下に示す効果を得ることができる。
(1)電源遮断時にカウンター68の計数値CTが書戻し完了値Bであるか否かを判断し、書戻し完了値Bでなければ書戻し処理を行うが、書戻し完了値Bであれば書戻し処理を行わない構成とした。よって、例えば電源プラグ抜けや電源48の故障等による不意な電源遮断時に、書戻しタスク部92が、そのとき計数値CTが書戻し完了値Bであって最新のデータDが保存されているにも拘らず、書戻し処理を開始したために電力不足で書戻し処理が中断されて書戻し途中の間違ったデータが不揮発性メモリー55に保存される事態を極力回避できる。このため、電源オン時には不揮発性メモリー55に最新の正しいデータDを極力保存された状態にすることができる。
(1)電源遮断時にカウンター68の計数値CTが書戻し完了値Bであるか否かを判断し、書戻し完了値Bでなければ書戻し処理を行うが、書戻し完了値Bであれば書戻し処理を行わない構成とした。よって、例えば電源プラグ抜けや電源48の故障等による不意な電源遮断時に、書戻しタスク部92が、そのとき計数値CTが書戻し完了値Bであって最新のデータDが保存されているにも拘らず、書戻し処理を開始したために電力不足で書戻し処理が中断されて書戻し途中の間違ったデータが不揮発性メモリー55に保存される事態を極力回避できる。このため、電源オン時には不揮発性メモリー55に最新の正しいデータDを極力保存された状態にすることができる。
(2)書込みタスク部91は第1記憶部131から第2記憶部132へのデータDのコピー処理を完了すると、カウンター68の計数値CTをコピー完了値Aとする。書戻しタスク部92は、計数値CTがコピー完了値Aになったら、第2記憶部132のデータDを不揮発性メモリー55に書き戻す書戻し処理を行い、計数値CTがコピー完了値Aにならず書戻し完了値Bのままであれば、書戻し処理を行わない。このため、コピーが完了していない前回のデータ又はコピー途中の間違ったデータを不揮発性メモリー55へ書き戻す事態を回避できる。
(3)書戻しタスク部92はプリンター11の電源遮断時に起動され、カウンター68の計数値CTが書戻し完了値Bであれば書戻し処理を行わないので、不要な書戻し処理を回避できる。例えば電源遮断時の書戻し処理が電力供給遮断のため中断され、その中断された間違ったデータが不揮発性メモリー55に保存される事態を回避できる。
(4)電源オン時(電源投入時)には、不揮発性メモリー55のカウンター68を確認し、その計数値CTが書戻し完了値Bであるか否かを判断し、書戻し完了値Bであれば書込み処理を行うが、書戻し完了値Bでなければ書戻し処理を行わない。よって、前回の電源遮断時にデータDが全て書戻されていた場合に限り、電源オン時にそのデータDの書込み処理を行うので、不揮発性メモリー55からRAM54の第1記憶部131へ正しいデータDを書き込むことができる。また、プリンター11の電源遮断時に書戻し処理が中断されたことによる間違ったデータをRAM54の第1記憶部131に書き込む不都合を回避できる。
(5)電源オン時に、書込みタスク部91はカウンター68の計数値CTが書戻し完了値Bではないと判定した場合、その旨をホスト制御部125へ通知し、モニター123(報知手段)に書戻しエラーの旨を表示させることによりエラー報知を行う。この結果、ユーザーは、このエラーの報知によって、前回の電源遮断時に書戻し処理を失敗した虞がある旨(つまり不揮発性メモリー55のデータが間違っている虞がある旨)を知ることができる。このため、ユーザーはデータの修復が必要であることを知ることができる。
(6)書込みタスク部91によりカウンター68の計数値CTが書戻し完了値Bではないと判定された場合、カウンター68の計数値CTは途中まで書戻し処理が行われた旨の値になっている。書込みタスク部91は、カウンター68の計数値CTが書戻し完了値Bではないと判定した場合は、不揮発性メモリー55のデータDのうちカウンター68の計数値CTに相当する分までの少なくとも一部のデータをホスト装置120(上位装置)に送る。そして、ホスト装置120においてホスト制御部125が少なくとも一部のデータを基にデータDを修復する。コントローラー40内の書込みタスク部91は、ホスト装置120から受信した修復後のデータをRAM54の第1記憶部131に書き込む。この結果、書戻しが行われた分までの一部のデータを利用して少なくともその部分については新しいデータが用いられた修復データを取得できる。
(7)例えばカウンターに替えてフラグを採用した構成とすると、書戻し処理が中断された場合にデータD中のどの箇所で中断されたかを把握することができないが、カウンター68であるので、その計数値CTから、データDにおいて書戻し処理が中断された箇所を特定することができる。この結果、例えば書戻しが中断された一部のデータを利用して適切な修復処理を行うことができ、修復データの信頼性を高めることができる。
(8)印刷系タスク部より優先順位の高い書込みタスク部91が、第1記憶部131のデータDを、印刷系タスク部による書込みが禁止された第2記憶部132にコピーし、書戻しタスク部92が第2記憶部132のデータDを不揮発性メモリー55に書き戻すので、不揮発性メモリー55に正確なデータDを書き戻すことができる。例えば書戻し途中に優先順位の高いタスクが起動されても、第2記憶部132のデータDは書き替えられることはないので、その後、書戻しタスク部92が起動し、中断した続きからデータの書戻し処理を再開した場合に、前回と今回で同一のデータを対象に書き戻しをすることができる。よって、印刷系タスク部の割り込みによる中断によって複数回に分けて断続的に書戻し処理を行っても、不揮発性メモリー55に正しいデータDを書き戻すことができる。
(9)書込みタスク部91の優先順位を印刷系タスク部よりも高くしているので、第1記憶部131から第2記憶部132へのデータDのコピーを、印刷系タスク部に優先して行うことができる。このため、書込みタスク部91によるコピーが印刷系タスク部の起動により中断され、コピー途中でコピー元のデータDが書き替えられる事態を回避できる。よって、第1記憶部131のデータを第2記憶部132に正しくコピーすることができる。
(10)書込みタスク部91は、書戻しタスク部92から受け付けた書戻し完了通知をトリガーにして、データDのコピーを開始する。このため、書戻し途中にその書戻し元データが書き替えられてしまう事態を回避できる。よって、正しいデータDを不揮発性メモリー55に書き戻すことができる。
(11)書戻しタスク部92の優先順位を、印刷系タスク部81〜89よりも低く設定した。このため、印刷画像データ及びヘッド制御データなどの噴射系データ生成処理と、記録ヘッド29への噴射系データの転送処理の最中に、書戻しタスク部の割り込みが発生せず、これらの記憶ヘッド系処理が書戻し処理に優先して行われる。このため、例えば噴射系データが間に合わず、ノズルからインクが噴射されない噴射不良(ドット抜け)の発生や、ヘッド制御データの準備が遅れキャリッジ27の起動タイミングが遅延する頻度をなるべく低減することができる。よって、噴射不良に起因する印刷不良の発生を防止しつつ、キャリッジ27の起動タイミングの遅延発生頻度を低減して印刷スループットの低下を抑制することができる。
また、印刷動作(記録系動作及び搬送系動作)やクリーニング動作などの所定動作が行われていないプリンター11の待機状態のときに、データDの書戻し処理を行う。よって、印刷系処理が書戻し処理に優先して実施され、書戻し処理の割り込みによる印刷スループットの低下を抑制できる。
(12)緊急タスク部90は、電源オフ時にタスク優先順位の変更をリアルタイムOS71に要求し、優先順位管理テーブル97を電源オフ時のタスク優先順位(図5(b))に更新する。この優先順位の変更によって、書込みタスクと書戻しタスクとの優先順位の関係を保ちつつ、両タスクの優先順位を印刷系タスクよりも高くする。このため、電源オフ時にも、書戻しタスク部92の起動が可能となり、なるべく最新のデータDを不揮発性メモリー55に書き戻すことができる。また、書込みタスク部91の優先順位を書戻しタスク部92より高く設定したので、例えばコピー途中に電源遮断を検出しても、そのコピーを全て終えてからそのデータDの書き戻しを開始できる。例えば、書戻しタスク部92を書込みタスク部91よりも高い優先順位とすると、電源遮断時にコピー途中であった場合、そのコピー途中のデータDを書き戻すことになり、データDの信頼性が損なわれる。これに対し、本実施形態では、コピー途中の電源遮断時にも、コピーをし終わった正しいデータDを不揮発性メモリー55に書き戻すことができる。
なお、上記実施形態は以下のような形態に変更することもできる。
・データの修復は、ホスト装置が行う方法に限定されない。例えば書込みタスク部91がデータの修復を行う修復手段とする構成も採用できる。書込みタスク部91は不揮発性メモリー55のそのときの計数値CTに相当する分までの一部のデータ(但し計数値CTに相当する位置の情報の1つ前の情報まで)と、不揮発性メモリー55のデータDのうち計数値CTに相当する位置(但し計数値CTに相当する位置の情報を含まない)から残りの部分のデータと、ホスト制御部125から取得した計数値CTに相当する位置の情報とを合成して、修復されたデータを再現する。この構成によれば、計数値CTに相当する位置よりも後側についても、ホスト装置120のホスト記憶部120Mに保存されたデータよりも新しい前回のデータを用いて修復できるので、より最新に近いデータに修復できる。よって、書戻しが行われた分までの一部のデータについてはなるべく新しいデータを採用した修復データを得ることができる。
・データの修復は、ホスト装置が行う方法に限定されない。例えば書込みタスク部91がデータの修復を行う修復手段とする構成も採用できる。書込みタスク部91は不揮発性メモリー55のそのときの計数値CTに相当する分までの一部のデータ(但し計数値CTに相当する位置の情報の1つ前の情報まで)と、不揮発性メモリー55のデータDのうち計数値CTに相当する位置(但し計数値CTに相当する位置の情報を含まない)から残りの部分のデータと、ホスト制御部125から取得した計数値CTに相当する位置の情報とを合成して、修復されたデータを再現する。この構成によれば、計数値CTに相当する位置よりも後側についても、ホスト装置120のホスト記憶部120Mに保存されたデータよりも新しい前回のデータを用いて修復できるので、より最新に近いデータに修復できる。よって、書戻しが行われた分までの一部のデータについてはなるべく新しいデータを採用した修復データを得ることができる。
・データ修復のためホスト装置へ送るデータは、不揮発性メモリー55のデータDのうちカウンター68の計数値CTに相当する分までのデータでもよい。この場合、ホスト装置120は、不揮発性メモリー55のデータDのうちカウンター68の計数値CTに相当する分までのデータ(但し計数値CTに相当する位置の情報の1つ前の情報まで)と、ホスト記憶部120MのデータDのうち計数値CTに相当する位置(但し計数値CTに相当する位置の情報を含む)から残りの部分のデータとを合成して、正しいデータDに修復する。
・書込みタスク部91(コピー手段)が起動したときにカウンター68の計数値CTが書戻し完了値Bに達する前の中間値(A値でもB値でもない計数値)であり書戻し途中であった場合は、そのときの計数値CTから把握できる書戻しが終わっている位置までのデータを第1記憶部131から第2記憶部132へコピーしてもよい。
・図11に示す書戻し処理は、電源遮断時にのみ行ってもよい。この場合、電源遮断時以外の書戻し処理は、例えばステップS110の判定処理を廃止し、計数値CTが書戻し完了値Bであっても書戻し処理(S130〜S180)を行う構成としてもよい。
・計数手段の一例であるカウンター68は、RAM54又はRAM59に設けてもよい。また、RAMと不揮発性メモリーの両方に設けてもよい。また、カウンター68をRAM54に設ける場合は、書き替えがなされないようにRAMのアクセス禁止領域に設けることが望ましく、例えば第2記憶部に設ける場合は、さらにコピーによる書き替えがなされないようにコピー先領域以外の領域に設けることが望ましい。カウンター68をRAMに設けたこの構成によれば、書戻しタスク部92がデータの書戻しを中断した場合、その後、再起動されたときに計数値CTが書戻し完了値Bでないことから、その計数値CTと対応する続きの箇所からデータの書戻しを行うことができる。また、計数値CTが書戻し完了値Bであれば、不要に書戻し処理を行わないので、電源遮断時における書戻し処理の中断を低減できる。この場合、電源オン時は計数値に基づく判定ができなくなるが、電源遮断時に書戻し処理が中断されたことに起因して不揮発性メモリーに間違ったデータが保存される事態は低減できる。
・計数手段は、不揮発性メモリー55やRAMなどのメモリーに設けることに限定されない。例えばCPU51内に設けられたカウンター回路を用いてもよい。
・計数手段の一例としてのカウンターは適宜のビット数に変更してもよい。要するに、書戻し処理が中断された場合に、データDのどの箇所まで書戻しが完了しているかを把握できるビット数であればよい。例えば2〜7ビットのうち任意のビット数のカウンターでもよい。さらに1バイトを超えてもよく、例えば9ビット、10ビット、さらには2バイトのカウンターを採用することもできる。
・計数手段の一例としてのカウンターは適宜のビット数に変更してもよい。要するに、書戻し処理が中断された場合に、データDのどの箇所まで書戻しが完了しているかを把握できるビット数であればよい。例えば2〜7ビットのうち任意のビット数のカウンターでもよい。さらに1バイトを超えてもよく、例えば9ビット、10ビット、さらには2バイトのカウンターを採用することもできる。
・計数手段の一例としてのカウンターの計数処理は、計数値のデクリメントでもよい。例えばコピー完了値Aを最大値(例えば「255」)、書戻し完了値Bを最小値(例えば「0」)とし、最大値から書戻し処理を開始するとともに書戻し処理が進むに連れて計数値CTをデクリメントする。
・電源オン時の計数値CTを用いた書込み判定処理を行わない構成でもよい。例えば電源オン時は、電源オフ時にホスト装置120のホスト記憶部120Mに保存したデータを読み込む構成としてもよい。また、電源オン時は、電源オフ時にインクカートリッジの記憶素子47に保存したデータを読み込む構成としてもよい。
・コピー完了値Aは、最小値の「0」(A=0)に限定されない。例えば最大値としてもよい。さらに最小値と最大値の間の中間値としてもよい。要するにコピーが完了したことを判別できる値であって、書戻し完了値Bと異なる値であれば足りる。例えば中間値であっても、書戻し処理中にとりうる計数値と識別できる計数値であれば問題はない。
・書戻し完了値Bは、最大値の「255」(B=255)に限定されない。例えば最小値としてもよい。さらに最小値と最大値の間の中間値としてもよい。要するに書戻しが完了したことを判別できる値であって、コピー完了値Aと異なる値であれば足りる。例えば中間値であっても、書戻し処理中にとりうる計数値と識別できる計数値であれば問題はない。
・データの最大容量(RAM又は不揮発性メモリーのデータ記憶領域容量)を255で分割したデータ量を1単位としてカウンターの計数処理を行ったが、これに限定されない。つまりNビットのカウンターであれば、データの最大容量(データ記憶領域)の分割数は「2のN乗−1」に限定されず、「2のN乗−1」未満の値でもよい。例えば1バイトカウンターであれば、200とし、201〜255を他の判定値又は計数値のために使用してもよい。
・コピーされたデータ量に応じた計数値を取得できるように、コピー処理時にもカウンター68の計数処理を行ってもよい。
・電源オン時に計数値CTが書戻し完了値Bでなかった場合、データ修復のために書戻し完了箇所までの一部のデータの書込みは行わず、エラー報知のみ行う構成としてもよい。
・電源オン時に計数値CTが書戻し完了値Bでなかった場合、データ修復のために書戻し完了箇所までの一部のデータの書込みは行わず、エラー報知のみ行う構成としてもよい。
・通常時のタスク部の優先順位は、図5(a)に示す順序に限定されない。例えば、書戻しタスク部92の優先順位は、印刷系タスク部81〜89のうち記録系タスク部81〜83,88よりも低く、印刷系タスク部のうちその他のタスク部84〜87よりも高く設定されてもよい。つまり、書戻しタスク部92を、印刷系タスク部のうちコマンド処理系のタスク部84〜87(搬送系・キャリッジ駆動系のタスク部を含む)よりも高い優先順位に設定する。この構成によれば、記録系処理中に書戻しタスク部92による割り込みが発生せず、記録系処理の遅延が発生し難い。また、書戻しタスク部92の優先順位が、タスク部84〜87よりも高いので、印刷動作中における記録系処理の合間に、搬送系やキャリッジ駆動系の処理動作に優先して、データDの書戻し処理を行うことができる。よって、印刷スループットの低下の抑制を図りつつ、データDの書戻し頻度を高めることができる。この結果、電源遮断時における不揮発性メモリー55のデータDの信頼性を高めることができ、またデータ修復時における修復データの信頼性も高めることができる。
・第1記憶部131(ミラー記憶領域)のデータ更新の有無を監視する監視部(監視手段)を設け、監視部からデータ更新の旨の通知を受け付けたときに書戻しタスク部92は起動し、そのときカウンター68がコピー完了値Aであれば、第2記憶部132のデータを不揮発性メモリー55へ書き戻す書戻し処理を行う構成としてもよい。上記の監視部は、データ更新の旨を書込みタスク部91(コピー手段)に通知し、書込みタスク部91が更新の旨の通知を受け付けると、コピー処理を開始する構成も採用できる。さらにコピー処理を完了すると、書込みタスク部91がコピー完了通知を書戻しタスク部92へ送り、書戻しタスク部92がコピー完了通知を受け付けると起動される構成としてもよい。
・書込みタスク部91が、データの書込み機能とコピー機能とを兼ねる構成に替え、不揮発性メモリー55のデータDを第1記憶部131に書き込む書込みタスク部(書込み手段)と、第1記憶部131のデータDを第2記憶部132にコピーするコピータスク部(コピー手段)とを別々に設けてもよい。この場合、書込みタスク部とコピータスク部との優先順位を異ならせてもよい。
・書戻しタスク部の優先順位は適宜変更してもよい。例えば書戻しタスクの優先順位を、記録系タスク部に属する一部のタスク部よりも低く、かつ記録系タスク部に属する他の一部のタスク部よりも高くしてもよい。このように書戻しタスク部は、記録系タスク部に属する全てのタスク部よりも優先順位が低いことには限定されず、記録系タスク部が複数のタスクから構成される場合は、記録系タスク部に属する少なくとも1つのタスク部よりも優先順位が低ければ足りる。この場合、その優先順位の高い1つのタスク部が書戻しタスク部より優先的に起動することで、記録系処理の遅延を回避し易くなる。また、書戻しタスクの優先順位を、キャリッジ駆動系と搬送駆動系タスクとの間に設定してもよい。
・コピー手段は、印刷制御手段が複数のタスク部から構成される場合、その全てのタスク部よりも優先順位が高い必要はなく、そのうち第1記憶部に書込みを行う全てのタスク部よりも優先順位が高ければ足りる。この構成によっても、コピー手段によるコピー途中に第1記憶部のコピー元データが印刷制御手段を構成するタスク部によって書き替えられることは回避できる。例えば、書込みタスク部91(コピー手段)の優先順位を、印刷系タスク部に属する複数のタスク部のうち、第1記憶部に書込みアクセスする一部のタスク部より高く設定とする。この構成であっても、コピー途中にコピー元データが書き替えられる事態を回避できる。
・電源遮断時には、書戻しタスク部92を書込みタスク部91よりも高い優先順位としてもよい。この場合、コピー処理の中断もありうるが、計数値CTが書戻し完了値Bになっているので、そのコピー中断のデータが書戻しされることがないので、何ら問題はない。印刷動作中の電源遮断の場合は、不揮発性メモリー55には最新ではないが印刷動作開始直前の比較的新しいデータDが保存される。
・書込みタスク部91及び書戻しタスク部92の起動優先順位は適宜変更してよい。例えば書込みタスク部91及び書戻しタスク部92を共に、記録系タスク部よりも低い優先順位としたり、印刷系タスク部よりも低い優先順位としたりしてもよい。さらに例えば書込みタスク部91及び書戻しタスク部92を共に、記録系タスク部よりも高い優先順位としたり、印刷系タスク部よりも高い優先順位としたりしてもよい。
・書込みタスク部91(コピー手段)は、書戻し完了通知をトリガーとしてコピーを開始する構成に限定されない。例えば書戻し手段(書戻しタスク部92)が起動されると、まず書込みタスク部91(コピー手段)にコピー要求を送り、書込みタスク部91はこのコピー要求を受け付けるとコピー処理を開始する。書込みタスク部91がコピーを終えてプリンター11が待機状態になると、書戻しタスク部92が再び起動されてこの再起動のときに書戻しタスク部92は第2記憶部132のデータDを不揮発性メモリー55に書戻す。この構成によれば、最新のデータをコピーした直後に書戻しを行うことができる。前記実施形態の方法では、印刷が終わって待機状態になった最初は第1記憶部131のデータDが印刷開始前にコピーされた旧いデータになるので、最初の書戻しで旧いデータの書き戻しを行う。これに対してこの変形例の方法であれば、最初の書戻しで最新データを書き戻すことができる。
・OSはリアルタイムOSに限定されない。その他のOSを採用してもよい。要するに、複数のタスクのうち優先度の高いタスクにCPUの実行権を割り当てる機能を有するOSであればよい。
・電源オフ時にタスク優先順位を変更しない構成も採用できる。例えば電源オフ時に優先的に起動される緊急タスク部が書戻し処理を行ってもよい。
・データ記憶処理装置は、例えばCPUによるソフトウェアではなく、ASIC等の集積回路によるハードウェアで構成してもよい。さらには、ソフトウェアとハードウェアとの協働により構成してもよい。また、ソフトウェアで構成する場合、マルチタスク処理に限定されない。
・データ記憶処理装置は、例えばCPUによるソフトウェアではなく、ASIC等の集積回路によるハードウェアで構成してもよい。さらには、ソフトウェアとハードウェアとの協働により構成してもよい。また、ソフトウェアで構成する場合、マルチタスク処理に限定されない。
・前記実施形態において、第2の記憶手段を不揮発性メモリーとしてもよい。例えばプリンター稼働中(電源オン中)には、プリンター本体側の不揮発性メモリー(第2の記録手段)に更新データを逐次書込み、この不揮発性メモリーのデータをインクカートリッジに実装された不揮発性の記憶素子47(第1の記憶手段)に書き戻す構成も採用できる。例えば電源オン時には記憶素子47からインク残量等のインク関連情報を含むデータDを本体側の不揮発性メモリーに書き込む構成とする。
・制御装置Cを、コントローラー40とメカコントローラー43とを一体とした構成としてもよい。この場合、コントローラーには、搬送制御タスク部やキャリッジ制御タスク部などのメカ駆動制御系のタスク部が追加される。この搬送制御タスク部は、搬送制御手段の一例を構成する。
・印刷媒体は、紙又は樹脂などからなる長尺状のシートに限定されず、単票紙や単票状の樹脂フィルムでもよい。また、金属製フィルム、布、フィルム基板、樹脂基板、半導体ウェハなどでもよい。また、CD、DVDなどの光ディスクや磁気ディスクなどでもよい。さらに、印刷媒体はシート状に限定されず、所定の立体形状の表面に印刷できる機構を有する印刷装置の場合、そのような所定の立体形状を有する物体も含む。
・印刷装置は、ラテラル式のプリンター11に限定されず、シリアルプリンター、ラインプリンター、ページプリンターでもよい。さらにインクジェット式に限定されず、ドットインパクト式プリンター、レーザープリンターなどでもよい。
・前記実施形態では、印刷装置として、インクジェット式のプリンター11が採用されているが、インク以外の他の流体を噴射したり吐出したりする流体噴射装置を採用してもよい。また、微小量の液滴を吐出させる液体噴射ヘッド等を備える各種の液体噴射装置に流用可能である。この場合、液滴とは、上記液体噴射装置から吐出される液体の状態を言い、粒状、涙状、糸状に尾を引くものも含むものとする。また、ここでいう液体とは、液体噴射装置が噴射させることができるような材料であればよい。例えば、物質が液相であるときの状態のものであればよく、粘性の高い又は低い液状体、ゾル、ゲル水、その他の無機溶剤、有機溶剤、溶液、液状樹脂、液状金属(金属融液)のような流状体、また物質の一状態としての液体のみならず、顔料や金属粒子などの固形物からなる機能材料の粒子が溶媒に溶解、分散または混合されたものなどを含む。また、液体の代表的な例としては上記実施形態で説明したようなインクや液晶等が挙げられる。ここで、インクとは一般的な水性インクおよび油性インク並びにジェルインク、ホットメルトインク等の各種液体組成物を包含するものとする。液体噴射装置の具体例としては、例えば液晶ディスプレイ、EL(エレクトロルミネッセンス)ディスプレイ、面発光ディスプレイ、カラーフィルタの製造などに用いられる電極材や色材などの材料を分散または溶解のかたちで含む液体を噴射する液体噴射装置が挙げられる。さらに、バイオチップ製造に用いられる生体有機物を噴射する液体噴射装置、精密ピペットとして用いられ試料となる液体を噴射する液体噴射装置、捺染装置やマイクロディスペンサ等であってもよい。さらに、時計やカメラ等の精密機械にピンポイントで潤滑油を噴射する液体噴射装置、光通信素子等に用いられる微小半球レンズ(光学レンズ)などを形成するために紫外線硬化樹脂等の透明樹脂液を基板上に噴射する液体噴射装置、基板などをエッチングするために酸又はアルカリ等のエッチング液を噴射する液体噴射装置を採用してもよい。そして、これらのうちいずれか一種の液体噴射装置に本発明を適用することができる。また、流体は、トナーなどの粉粒体でもよい。なお、本明細書でいう流体には、気体のみからなるものは含まないものとする。
前記実施形態及び変形例から把握できる技術的思想を以下に記載する。
(1)前記印刷制御手段、前記書込み手段、前記コピー手段及び前記書戻し手段を、設定された起動優先順位に従って選択的に起動させる制御手段(71)を更に備え、前記印刷制御手段は、前記印刷手段に印刷媒体への記録動作を行わせる記録系処理を行う記録処理手段を有しており、前記コピー手段が前記印刷制御手段及び前記書戻し手段よりも起動優先順位が高く設定され、かつ前記書戻し手段が前記印刷制御手段のうち少なくとも記録系処理手段よりも起動優先順位が低く設定されていることを特徴とする請求項1乃至8のいずれか一項に記載の印刷装置におけるデータ記憶処理装置。この技術的思想の一態様によれば、コピー手段は、印刷制御手段及び書戻し手段よりも起動優先順位が高いので、コピーの途中でそのコピー元データが印刷制御手段によって書き替えられることがない。また、書戻し手段が第2の記憶部のデータを第1の記憶手段に書き戻すとき、印刷制御手段は第2記憶部への書込みアクセスが禁止されているので、この書戻し中に第2記憶部のデータが書き替えられることはない。この結果、第1の記憶手段へ正しいデータを書き戻しできる。
(1)前記印刷制御手段、前記書込み手段、前記コピー手段及び前記書戻し手段を、設定された起動優先順位に従って選択的に起動させる制御手段(71)を更に備え、前記印刷制御手段は、前記印刷手段に印刷媒体への記録動作を行わせる記録系処理を行う記録処理手段を有しており、前記コピー手段が前記印刷制御手段及び前記書戻し手段よりも起動優先順位が高く設定され、かつ前記書戻し手段が前記印刷制御手段のうち少なくとも記録系処理手段よりも起動優先順位が低く設定されていることを特徴とする請求項1乃至8のいずれか一項に記載の印刷装置におけるデータ記憶処理装置。この技術的思想の一態様によれば、コピー手段は、印刷制御手段及び書戻し手段よりも起動優先順位が高いので、コピーの途中でそのコピー元データが印刷制御手段によって書き替えられることがない。また、書戻し手段が第2の記憶部のデータを第1の記憶手段に書き戻すとき、印刷制御手段は第2記憶部への書込みアクセスが禁止されているので、この書戻し中に第2記憶部のデータが書き替えられることはない。この結果、第1の記憶手段へ正しいデータを書き戻しできる。
11…印刷装置の一例であるプリンター、13…印刷媒体の一例であるシート、27…キャリッジ、29…印刷手段の構成要素の一例である記録ヘッド、40…コントローラー、43…メカコントローラー、44…印刷手段の構成要素の一例である印刷用のメカニカル機構、45…ヘッド制御ユニット(HCU)、46…通信回路、47…記憶素子、50…リニアエンコーダー、51…CPU、52…ASIC、53…ROM、54…第2の記憶手段の一例であるRAM、55…第1の記憶手段の一例である不揮発性メモリー、59A…画像バッファー、61…印刷手段及び搬送手段の構成要素の一例である搬送モーター、62…印刷手段の構成要素の一例である第1CRモーター、63…印刷手段の構成要素の一例である第2CRモーター、65…電源スイッチ、68…計数手段の一例であるカウンター、71…制御手段の一例であるリアルタイムOS、72…制御手段の一例を構成するスケジューラー、73…優先順位変更手段の一例である優先順位変更部、74…タスク管理部、75…ディスパッチ部、81…主制御部、82…通信部、83…画像処理部、84…コマンド解析部、85…印刷タスク部、86…メカ制御部、87…メカ通信部、88…ヘッド制御部、89…インク管理部、90…緊急タスク部、91…書込みタスク部、92…書戻しタスク部、93…ジョブ制御部、94…デバイス制御部、95…演算部、97…優先順位管理テーブル、100…印刷システム、110…画像生成装置、120…上位装置の一例であるホスト装置、120M…ホスト記憶部、122…プリンタードライバー、125…上位装置の一例を構成するホスト制御部、131…第1記憶部、132…第2記憶部、C…制御装置、U2…シリアル通信ポート、IC1〜IC8…印刷材収容体の一例であるインクカートリッジ、PD…印刷データ、D…データ(印刷関連情報を含む)、CT…計数値、A…コピー完了値、B…書戻し完了値。
Claims (10)
- 印刷手段を駆動させるための処理を行うとともに前記印刷手段による動作によって更新される印刷関連情報を取得する印刷制御手段と、
前記印刷関連情報を含むデータが記憶される第1の記憶手段と、
前記第1の記憶手段のデータが書き込まれるとともに当該データの更新のために前記印刷制御手段による書込みアクセスが許可された第1記憶部と前記印刷制御手段による書込みアクセスが禁止された第2記憶部とを有する第2の記憶手段と、
計数手段と、
前記第1の記憶手段のデータを第1記憶部に書き込む書込み手段と、
前記第1記憶部の前記データを前記第2記憶部にコピーするとともに当該データのコピーを完了すると前記計数手段の計数値をコピー完了値とするコピー手段と、
前記第2記憶部のデータを前記第1の記憶手段に書き戻す書戻し処理を行うとともに、書戻したデータの量に応じた計数値となるように前記計数手段の計数処理を行う書戻し手段と、を備え、
前記書戻し手段は、前記計数値が前記データの書戻しを完了した書戻し完了値であるか否かを判定し、前記計数値が前記書戻し完了値であれば、前記書戻し処理を行わず、前記計数値が前記書戻し完了値でなければ、前記計数値と対応する箇所から前記データの前記書戻し処理を行うことを特徴とする印刷装置におけるデータ記憶処理装置。 - 前記書戻し手段は、前記計数値が前記コピー完了値になったか否かを判定し、前記計数値が前記コピー完了値になったら前記書戻し処理を開始し、前記コピー完了値にならず前記書戻し完了値のままであれば前記書戻し処理を開始しないことを特徴とする請求項1に記載の印刷装置におけるデータ記憶処理装置。
- 前記第1の記憶手段は不揮発性の記憶手段であり、
前記書戻し手段は、少なくとも印刷装置の電源遮断時に起動されることを特徴とする請求項1に記載の印刷装置におけるデータ記憶処理装置。 - 前記書込み手段は、印刷装置の電源投入時に起動され、前記計数手段の計数値が書戻し完了値であるか否かを判定し、前記計数値が書戻し完了値であれば、前記第1の記憶手段のデータを第1記憶部に書き込む書込み処理を行い、前記計数値が書戻し完了値でなければ、前記書込み処理を行わないことを特徴とする請求項3に記載の印刷装置におけるデータ記憶処理装置。
- 前記書込み手段により前記計数値が書戻し完了値ではないと判定された場合に、エラーを報知する報知手段を更に備えたことを特徴とする請求項4に記載の印刷装置におけるデータ記憶処理装置。
- 前記書込み手段により前記計数値が書戻し完了値ではないと判定された場合、前記第1の記憶手段における前記計数手段の計数値に相当する分までの一部のデータを用いて前記データを修復する修復手段を更に備えたことを特徴とする請求項4又は5に記載の印刷装置におけるデータ記憶処理装置。
- 前記書込み手段は、前記計数値が書戻し完了値ではないと判定した場合、前記第1の記憶手段における前記計数手段の計数値に相当する分までの少なくとも一部のデータを、印刷装置と通信可能に接続された上位装置に送り、当該上位装置で修復されて当該上位装置から受信した修復後のデータを前記第2の記憶手段の前記第1記憶部に書き込むことを特徴とする請求項4又は5に記載の印刷装置におけるデータ記憶処理装置。
- 前記データは印刷装置が動作するのに必要な調整情報を含むことを特徴とする請求項1乃至7のいずれか一項に記載の印刷装置におけるデータ記憶処理装置。
- 前記印刷手段と、前記印刷手段を制御する制御装置とを備えた印刷装置であって、
前記制御装置は、請求項1乃至8のいずれか一項に記載の前記データ記憶処理装置を備えたことを特徴とする印刷装置。 - 印刷装置におけるデータ記憶処理方法であって、
印刷装置には、印刷関連情報を含むデータが記憶される第1の記憶手段と、
前記第1の記憶手段のデータが書き込まれるとともに当該データの更新のために印刷制御手段による書込みアクセスが許可された第1記憶部と、前記印刷制御手段による書込みアクセスが禁止された第2記憶部とを有する第2の記憶手段とが備えられ、
前記第1の記憶手段のデータを前記第2の記憶手段の第1記憶部に書き込む書込み段階と、
印刷手段を駆動させるための処理を行うとともに前記印刷手段による動作によって更新される印刷関連情報を取得する印刷制御段階と、
前記印刷制御段階で取得した印刷関連情報を前記第1記憶部に書き込むデータ更新段階と、
前記第1記憶部の前記データを前記第2記憶部にコピーするとともに当該データのコピーを完了すると計数手段の計数値をコピー完了値とするコピー段階と、
前記第2記憶部のデータを前記第1の記憶手段に書き戻す書戻し処理を行うとともに、書戻したデータの量に応じた計数値となるように前記計数手段の計数処理を行う書戻し段階と、を備え、
前記書戻し段階では、前記計数値が前記データの書戻しを完了した書戻し完了値であるか否かを判定し、前記計数値が前記書戻し完了値であれば、前記第2記憶部のデータを前記第1の記憶手段に書き戻す書戻し処理を行わず、前記計数値が前記書戻し完了値でなければ、前記計数値と対応する箇所から前記データの前記書戻し処理を行うことを特徴とする印刷装置におけるデータ記憶処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010191834A JP2012045873A (ja) | 2010-08-30 | 2010-08-30 | 印刷装置におけるデータ記憶処理装置、印刷装置及びデータ記憶処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010191834A JP2012045873A (ja) | 2010-08-30 | 2010-08-30 | 印刷装置におけるデータ記憶処理装置、印刷装置及びデータ記憶処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012045873A true JP2012045873A (ja) | 2012-03-08 |
Family
ID=45901307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010191834A Withdrawn JP2012045873A (ja) | 2010-08-30 | 2010-08-30 | 印刷装置におけるデータ記憶処理装置、印刷装置及びデータ記憶処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012045873A (ja) |
-
2010
- 2010-08-30 JP JP2010191834A patent/JP2012045873A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5609436B2 (ja) | 印刷装置におけるデータ記憶処理装置、印刷装置及びデータ記憶処理方法 | |
JP4985797B2 (ja) | 印刷記録材容器の識別 | |
JP5651958B2 (ja) | 印刷制御装置、印刷制御システム、印刷装置及び印刷制御方法 | |
US7831156B2 (en) | Image forming apparatus having enhanced management for consumable-supplies | |
JP2009009382A (ja) | 画像形成装置及び画像形成方法 | |
JP5728855B2 (ja) | 印刷装置におけるデータ記憶処理装置、印刷装置及びデータ記憶処理方法 | |
JP4245411B2 (ja) | 画像形成装置 | |
US8651601B2 (en) | Printing apparatus | |
US8801143B2 (en) | Image forming apparatus, recording head maintenance operation control method, and computer-readable recording medium having a recording head maintenance operation control program | |
JP2007111915A (ja) | 電子機器 | |
JP2009187423A (ja) | 電子機器におけるデータ管理装置及びデータ管理方法 | |
JP2012045873A (ja) | 印刷装置におけるデータ記憶処理装置、印刷装置及びデータ記憶処理方法 | |
JP2004174832A (ja) | インクジェットプリンタ、これを備えたプリントシステム、印刷制御方法、この印刷制御方法を実現させるためのプログラム、および記録媒体 | |
JP2004358963A (ja) | 電力管理制御方法及び記録装置 | |
JP2012045715A (ja) | 印刷装置におけるデータ記憶処理装置、印刷装置及びデータ記憶処理方法 | |
JP2004237450A (ja) | インクジェット記録装置、および該装置の制御方法 | |
JP2007160602A (ja) | 画像形成装置 | |
JP2014051005A (ja) | 電子機器、制御方法およびプログラム | |
US11897266B2 (en) | Memory, liquid storage container, and printing system | |
JP4190319B2 (ja) | 画像形成装置 | |
JP2005041085A (ja) | 画像形成装置、インクの補給機構部、駆動制御プログラムおよびプログラムを格納した記録媒体 | |
JP2022086739A (ja) | システム、発注方法、サーバおよび画像処理装置 | |
JP5332579B2 (ja) | 画像形成装置および画像形成装置のヘッドユニット制御方法 | |
JP2004330503A (ja) | 画像形成装置 | |
JP2009196218A (ja) | インクジェット記録装置及びインク残量検知方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20131105 |