印刷装置、及び、印刷方法
【課題】 印刷装置の各ユニットの制御を行なう制御回路において、不具合等により各ユニットの動作が停止した場合であっても、不具合の発生箇所を特定して正常な動作を再開させる。
【解決手段】 複数のタスクが時系列順に並んだシーケンスの開始から終了までの間の所定のタスクの位置に復旧点が定義された情報シーケンスと、実際に実行されたタスクのデータログからなる実行シーケンスと、を比較して、前記情報シーケンスと前記実行シーケンスとの間で一致しない箇所が見つかった場合には、前記復旧点まで戻って前記所定のタスクを実行させる制御部を備える。
【解決手段】 複数のタスクが時系列順に並んだシーケンスの開始から終了までの間の所定のタスクの位置に復旧点が定義された情報シーケンスと、実際に実行されたタスクのデータログからなる実行シーケンスと、を比較して、前記情報シーケンスと前記実行シーケンスとの間で一致しない箇所が見つかった場合には、前記復旧点まで戻って前記所定のタスクを実行させる制御部を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷装置、及び、印刷方法に関する。
【背景技術】
【0002】
ヘッド部に設けられたノズルから液体を吐出して媒体上に液滴(ドット)を着弾させることで画像等の記録(印刷)を行う印刷装置が知られている。一般的な印刷装置では、該ヘッド部以外にも、媒体を搬送する搬送部やヘッドを移動させるキャリッジ部等、様々なユニットが備えられている。そして、印刷を行う際には、媒体の搬送、ヘッドの移動に関する動作や、液滴を吐出する位置及びその量等を正確に制御することで、高画質な画像の印刷を実現している。
【0003】
このような印刷装置では、各ユニットに不具合等が発生して正常な制御が行なえなくなった場合、印刷画質が劣化したり、印刷動作自体が途中で停止したりすることがある。この場合、不具合の発生箇所を特定して正常な制御動作に復旧させなければならないが、不具合の発生箇所を特定することが難しいため、正常な制御動作に復旧させることも困難であった。
【0004】
これに対して、ヘッドを多数備える印刷装置において、多数のヘッドのそれぞれについて、駆動制御回路と該駆動制御回路にデータを転送するデータ処理部とを備え、これらを1セットとして、セット毎に着脱可能にした印刷装置が提案されている(例えば特許文献1)。このような印刷装置であれば、例えば、印刷中にいずれかのヘッドで不具合が発生した場合でも、そのヘッドを含むセット(ヘッド・駆動制御回路・データ処理部のセット)を新品のセットと交換することで、容易に不具合を解消することができる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2004−25551号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、特許文献1に記載の方法では、結局不具合箇所を正確に特定することができないため、不具合が発生したユニットを含む一連の部品をまるごと交換する必要が生じ、非効率的である。また、交換対象となっていない部分で不具合が発生した場合、特許文献1の方法では対応することができず、正常な制御動作に復旧させることはできない。
【0007】
本発明では、印刷装置の各ユニットの制御を行なう制御回路において、不具合等により各ユニットの動作が停止した場合であっても、不具合の発生箇所を特定して正常な動作を再開させることを目的としている。
【課題を解決するための手段】
【0008】
上記目的を達成するための主たる発明は、複数のタスクが時系列順に並んだシーケンスの開始から終了までの間の所定のタスクの位置に復旧点が定義された情報シーケンスと、実際に実行されたタスクのデータログからなる実行シーケンスと、を比較して、前記情報シーケンスと前記実行シーケンスとの間で一致しない箇所が見つかった場合には、前記復旧点まで戻って前記所定のタスクを実行させる制御部を備えることを特徴とする印刷装置である。
【0009】
本発明の他の特徴については、本明細書及び添付図面の記載により明らかにする。
【図面の簡単な説明】
【0010】
【図1】プリンター1の構成を示すブロック図である。
【図2】図2Aは、本実施形態のプリンターの構成を説明する概略断面図である。図2Bは、本実施形態のプリンターの構成を説明する概略上面図である。
【図3】ヘッドユニットにおけるヘッドの配置を示す図である。
【図4】プリンター1で印刷を行う際の印刷処理のフローを表す図である。
【図5】第1実施形態で用いられるシーケンスを一部抜粋したものの例を示す図である。
【図6】第1実施形態において、不具合が発生した場合に正常な制御動作に復旧させるためのフローを示す図である。
【図7】復旧点・開始点・終了点がそれぞれ設定されたシーケンスの例を示す図である。
【図8】制御動作の復旧方法について説明する図である。
【図9】第2実施形態におけるプリンター1の構成を示すブロック図である。
【図10】第2施形態において、正常な制御動作に復旧させるためのフローを示す図である。
【図11】第2施形態の変形例において、正常な制御動作に復旧させるためのフローを示す図である。
【発明を実施するための形態】
【0011】
本明細書及び添付図面の記載により、少なくとも、以下の事項が明らかとなる。
【0012】
複数のタスクが時系列順に並んだシーケンスの開始から終了までの間の所定のタスクの位置に復旧点が定義された情報シーケンスと、実際に実行されたタスクのデータログからなる実行シーケンスと、を比較して、前記情報シーケンスと前記実行シーケンスとの間で一致しない箇所が見つかった場合には、前記復旧点まで戻って前記所定のタスクを実行させる制御部を備えることを特徴とする印刷装置。
このような印刷装置によれば、印刷装置の制御回路において、不具合等により制御動作が停止した場合であっても、自動的に不具合の発生箇所を判断して制御動作を再開させることができる。
【0013】
かかる印刷装置であって、媒体に液体を吐出するヘッドを複数備え、前記制御部として、所定のシーケンスにしたがって、複数の前記ヘッドのうち所定数のヘッドの動作を制御する第1制御部と、前記所定のシーケンスと同一のシーケンスにしたがって、複数の前記ヘッドのうち前記所定数のヘッド以外のヘッドの動作を制御する第2制御部と、を有し、前記第1制御部及び前記第2制御部は、各々、前記情報シーケンスと前記実行シーケンスとを比較して、前記第1制御部及び前記第2制御部のうちのどちらか一方で、前記情報シーケンスと前記実行シーケンスとの間で一致しない箇所が見つかった場合には、前記一致しない箇所についての情報を、前記一方から他方に向けて送信し、前記他方は、送信された前記一致しない箇所についての情報に基づいて、前記一方が戻るべき前記復旧点まで戻って、前記所定のタスクを実行させることが望ましい。
このような印刷装置によれば、複数の制御部によって並行してヘッドの制御を行ないつつ、ある制御部において不具合等が生じた場合でも、その情報を共有させることによって、それぞれの制御部について、同じ処理から制御動作を復旧させることができる。
【0014】
かかる印刷装置であって、前記復旧点は、前記第1制御部が実行するタスクと、前記第2制御部が実行するタスクと、の同期をとる点であることが望ましい。
このような印刷装置によれば、異なる制御部同士で制御動作のタイミングにズレが生じた場合でも、制御動作を同期させた状態から復旧させることができる。
【0015】
かかる印刷装置であって、前記制御部は、画像を表示可能な表示装置に、前記情報シーケンス及び前記実行シーケンスを表示させることが望ましい。
このような印刷装置によれば、シーケンスが視覚情報として得られるようになるため、開発者やユーザーは、シーケンスのどの位置に復旧点を設けるかを検討しやすくなる。
【0016】
かかる印刷装置であって、前記制御部は、前記情報シーケンスと前記実行シーケンスとの間で一致しない箇所が見つかった場合には、前記表示装置に表示された前記情報シーケンス及び前記実行シーケンス上に、前記一致しない箇所を示すことが望ましい。
このような印刷装置によれば、印刷時において、シーケンス上のどの部分で不具合等が発生したのかを視覚的に確認することができるため、デバッグなどの対策を効率的に行なうことができるようになる。
【0017】
また、(A)複数のタスクが時系列順に並んだシーケンスの開始から終了までの間の所定のタスクの位置に復旧点が定義された情報シーケンスと、実際に実行されたタスクのデータログからなる実行シーケンスと、を制御部によって比較することと、(B)前記情報シーケンスと前記実行シーケンスとの間で一致しない箇所が見つかった場合には、前記復旧点まで戻って前記所定のタスクを実行させることと、を有する印刷方法が明らかになる。
【0018】
===印刷装置の基本的構成===
発明を実施するための印刷装置の形態として、インクジェットプリンター(プリンター1)を例に挙げて説明する。
【0019】
<プリンター1の構成>
図1に、プリンター1の全体構成を示すブロック図を示す。図2Aに、プリンター1の概略断面図を、図2Bに、プリンター1の概略上面図を示す。
【0020】
プリンター1は、紙・布・フィルム等の媒体にインクを吐出することで文字や画像を記録(印刷)する装置であり、外部装置であるコンピューター110と通信可能に接続されている。
コンピューター110はプリンター1に画像を印刷させるため、印刷対象となる画像に応じた画像データをプリンター1に出力する。
プリンター1は、搬送ユニット20と、駆動ユニット30と、ヘッドユニット40と、検出器群50と、コントローラー60と、を有する(図1)。コントローラー60は、外部装置であるコンピューター110から受信した画像データから印刷データを生成し、該印刷データに基づいて各ユニットを制御して、媒体に画像を印刷する。プリンター1内の状況は検出器群50によって監視されており、検出器群50は検出結果をコントローラー60に出力する。コントローラー60は検出器群50から出力された検出結果に基づいて各ユニットを制御する。
【0021】
<搬送ユニット20>
搬送ユニット20は、媒体S(例えば紙など)を搬送方向(またはX方向という)の上流側から下流側に搬送させるためのものである。搬送モーター(不図示)によって駆動する搬送ローラー21により、印刷前のロール状の媒体Sを印刷領域に供給し、その後、印刷済みの媒体Sを巻取機構によりロール状に巻き取ったり、適当な長さにカッティングして排出したりする。搬送モーターの動作はプリンター側のコントローラー60により制御される。なお、印刷中の印刷領域では、媒体Sが下からバキューム吸着され、媒体Sは所定の位置に保持される。
【0022】
<駆動ユニット30>
駆動ユニット30は、ヘッドユニット40を、搬送方向に対応するX方向と、媒体Sの紙幅方向(搬送方向と直交する方向)に対応するY方向とに自在に移動させるものである。駆動ユニット30は、ヘッドユニット40をX方向に移動させるX軸ステージ31と、X軸ステージ31をY方向に移動させるY軸ステージ32と、これらを移動させるモーター(不図示)とで、構成されている。
【0023】
<ヘッドユニット40>
ヘッドユニット40は、紙Sにインクを吐出して画像を形成するためのものであり、複数のヘッド41を有する。ヘッド41の下面には、インク吐出部であるノズルが複数設けられ、各ノズルにはインクが入ったインク室が設けられている。
このヘッドユニット40はX軸ステージ31に設けられ、X軸ステージ31がX方向(搬送方向)に移動すると、ヘッドユニット40もX方向に移動する。そして、ヘッドユニット40がX方向(搬送方向)を移動中にノズルからインクを断続的に吐出することによって、X方向に沿ったドットライン(ラスタライン)が媒体S上に形成される。その後、ヘッドユニット40は、Y軸ステージ32により、X軸ステージ31を介してY方向(紙幅方向)に移動し、その後、再び、ヘッドユニット40がX方向に移動しながら印刷を行う。
【0024】
このように、ヘッドユニット40のX方向への移動によりラスタラインを形成する動作と、ヘッドユニット40のY方向への移動を繰り返すことで、印刷領域の媒体Sに画像を印刷することができる。印刷領域に供給された媒体Sに画像を印刷する動作(画像形成動作)と、搬送ユニット20により媒体Sを搬送方向に搬送して新たな媒体S部分を印刷領域に供給する動作(搬送動作)とを、交互に繰り返すことで連続媒体Sに多数の画像を印刷する。
【0025】
図3は、ヘッドユニット40における複数のヘッド41の配置を示す図である。なお、実際にはヘッドユニット40の下面にノズル面が形成されるが、図3は上面からノズルを仮想的に見た図である(以下の図も同様)。
【0026】
Y方向(紙幅方向)に多数のノズルが並ぶことで、ヘッドユニット40のX方向(搬送方向)への1回の移動により、大きな幅の画像を印刷することができる。そうすることで、印刷の高速化を図れる。ただし、製造上の問題により長尺のヘッドを形成することが出来ない。そこで、プリンター1では、複数の短尺ヘッド41(1)〜41(n)をY方向に並べて配置する。図3に示されるように複数のヘッド41はベースプレートBPに取り付けられている。
【0027】
各ヘッド41のノズル面には、ブラックインクを吐出するブラックノズル列Kと、シアンインクを吐出するシアンノズル列Cと、マゼンタインクを吐出するマゼンタノズル列Mと、イエローインクを吐出するイエローノズル列Yとが形成されている。各ノズル列はノズルを180個ずつ備え、180個のノズルはY方向に一定のノズルピッチ(180dpi)で整列している。図示するようにY方向の奥側のノズルから順に小さい番号を付す(#1〜#180)。
【0028】
また、Y方向に隣り合う2つのヘッド(例えば41(1)と41(2))のうちの奥側のヘッド41(1)の最も手前側のノズル#180と、手前側のヘッド41(2)の最も奥側のノズル#1との間隔も一定の間隔(180dpi)となっている。つまり、ヘッドユニット40の下面では、ノズルがY方向に一定のノズルピッチ(180dpi)で並んでいることになる。なお、図3に示すように、異なるヘッド41の端部ノズルの間隔を180dpiにするためには、ヘッド41の構造上の問題により、ヘッド41を千鳥状に配置する必要がある。また、異なるヘッド41の端部ノズルが重複していてもよい。
【0029】
<検出器群50>
検出器群50には、ロータリー式エンコーダーや、リニア式エンコーダー(共に不図示)などが含まれる。ロータリー式エンコーダーは搬送ローラー21の回転量を検出し、その検出結果に基づいて媒体の搬送量が検出される。リニア式エンコーダーは、X軸ステージ31やY軸ステージ32の移動方向の位置を検出する。
【0030】
<コントローラー60>
コントローラー60は、プリンターの制御を行うための制御ユニット(制御部)である。コントローラー60は、インターフェース部61と、内部PC62と、メモリー63と、ユニット制御回路64と、印刷データ制御基板65とを有する(図1)。
【0031】
インターフェース部61は、外部装置であるコンピューター110とプリンター1との間でデータの送受信を行う。内部PC62は、プリンター1の全体の制御を行うための演算処理装置である。メモリー63は、内部PC62が用いるプログラムを格納する領域や作業領域等を確保するためのものであり、RAM、EEPROM等の記憶素子によって構成される。そして、内部PC62は、メモリー63に格納されているプログラムに従って、ユニット制御回路64や印刷データ制御基板65を介して搬送ユニット20、ヘッドユニット40等の各ユニットを制御する。
【0032】
また、内部PC62にはプリンタードライバーがインストールされる。プリンタードライバーは、表示装置(不図示)にユーザーインターフェースを表示させ、コンピューター110から送信された画像データを印刷データに変換させるためのプログラムである。このプリンタードライバーは、プリンター1の製造段階においてメモリー63に記録されている。また、フレキシブルディスクFDやCD−ROMなどの記録媒体(コンピューターが読み取り可能な記録媒体)に記録されたものを利用したり、インターネットを介してダウンロードしたりすることも可能である。プリンタードライバーは、各種の機能を実現するためのコードから構成されている。
【0033】
なお、プリンタードライバーをコンピューター110にインストールして、コンピューター110によって印刷データを生成し、プリンター1に送信する構成とすることも可能である。
【0034】
印刷データ制御基板65は、内部PC62で生成された印刷データにしたがって、ヘッドユニット40の各ヘッド41からインクを吐出させるための制御を行なう。また、印刷データ制御基板65は、内部にCPUとメモリーとを備える。これにより、内部PC62と同様に、プリンタードライバー等の各種プログラムをインストールして実行したり、後述のシーケンスに基づいてヘッド41の動作を制御したりすることが可能である。
【0035】
<印刷処理について>
図4は、プリンター1で印刷を行う際の印刷処理のフローを表す図である。
印刷処理は、プリンター1に接続されたコンピューター110から画像データが送信されることにより開始される。前述したように、印刷データは、当該画像データに基づいて、プリンター1の内部PC62や印刷データ制御基板65にインストールされたプリンタードライバーによる処理によって生成される。以下、プリンタードライバーによる処理について、図4を参照しながら説明する。
【0036】
プリンタードライバーは、コンピューター110から画像データを受け取り、プリンター1が解釈できる形式の印刷データに変換する。画像データを印刷データに変換する際は、内部PC62によって解像度変換処理・色変換処理・ハーフトーン処理が行なわれる。また、印刷データ制御基板65によって、ラスタライズ処理・コマンド付加処理が行われる(図4)。
【0037】
解像度変換処理は、アプリケーションプログラムから出力された画像データ(テキストデータ、イメージデータなど)を、紙に印刷する際の解像度(印刷解像度)に変換する処理である。例えば、印刷解像度が720×720dpiに指定されている場合、アプリケーションプログラムから受け取ったベクター形式の画像データを720×720dpiの解像度のビットマップ形式の画像データに変換する。なお、解像度変換処理後の画像データの各画素データは、RGB色空間により表される多階調(例えば256階調)のRGBデータである。この階調値は、RGB画像データに基づいて定められるものである。
【0038】
色変換処理は、RGBデータをCMYK色空間のデータに変換する処理である。なお、CMYK色空間の画像データは、プリンターが有するインクの色に対応したデータである。言い換えると、プリンタードライバーは、RGBデータに基づいて、CMYK平面の画像データを作成する。
【0039】
この色変換処理は、RGBデータの階調値とCMYKデータの階調値とを対応づけたテーブルに基づいて行われる。このテーブルのことを色変換ルックアップテーブル(LUT)という。なお、色変換処理後の画素データは、CMYK色空間により表される256階調のCMYKデータである。
【0040】
ハーフトーン処理は、高階調数のデータを、プリンターが形成可能な階調数のデータに変換する処理である。このハーフトーン処理により、256階調を示すデータが、2階調を示す1ビットデータや4階調を示す2ビットデータに変換される。ハーフトーン処理後の画像データでは、画素ごとに1ビット又は2ビットの画素データが対応しており、この画素データは各画素でのドットの形成状況(ドットの有無、ドットの大きさ)を示すデータになる。例えば2ビット(4階調)の場合、ドット階調値[00]に対応するドットなし、ドット階調値[01]に対応する小ドットの形成、ドット階調値[10]に対応する中ドットの形成、及び、ドット階調値[11]に対応する大ドットの形成のように4段階に変換される。その後、各ドットのサイズについてドット作成率が決められた上で、ディザ法・γ補正・誤差拡散法等を利用して、プリンター1がドットを分散して形成するように画素データが作成される。
【0041】
ラスタライズ処理は、マトリクス状に並ぶ画素データを、ヘッドユニット40に転送すべきデータ順に、画素データごとに並べ替える。例えば、各ヘッドのノズルの並び順に応じて、画素データを並べ替える。
【0042】
コマンド付加処理は、ラスタライズ処理されたデータに、印刷方式に応じたコマンドデータを付加する処理である。コマンドデータとしては、例えば媒体の搬送速度を示す搬送データなどがある。
【0043】
これらの処理を経て作成された印刷データに基づいて、ヘッド41に設けられた各ノズルから媒体上にインクを吐出させることによって、画像が印刷される。
【0044】
===比較例===
はじめに、比較例として、プリンター1を用いて印刷を行う際に、制御部(コントローラー60)による通常の制御動作について説明する。前述のように、プリンター1では、印刷データに従ってヘッドユニット40のヘッド部からインクを吐出させることで印刷を行う。このとき、コントローラー60のユニット制御回路64や印刷データ制御基板65によって各ユニットがそれぞれ制御されている。具体的には、ユニットの動作を規定した複数種類のタスクを順次実行することで各ユニットを動作させている。タスクには、通信タスク、印刷制御タスク、画像処理タスク、ヘッド管理タスク等があり、これらのタスク間の通信によって一つ一つの処理が実行される。ここでは、特に、印刷データ制御基板65によるヘッド41の制御を例に挙げて説明する。
【0045】
コントローラー60(印刷データ制御基板65)は、前述のようなタスクが時系列的に並べられたシーケンスに基づいてヘッド41の動作を制御する。該シーケンスは、印刷データ制御基板65内のメモリーに記憶されていて、どのタスクがどのタイミングで実行されるのかについての情報が定められている。
【0046】
図5に、本実施形態で用いられるシーケンスについて一部抜粋したものを例示する。図5上方の横方向に並んでいるのは印刷時に実行される複数のタスクである。ただし、図5に示されているのは、印刷時に実行される全タスクのうちの一部のタスクのみである。図5で縦方向は時間の経過を示している。各タスクについて縦方向に沿った長方形の部分は、その時間において当該タスクが実行されている(活性化している)ことを示している。そして、各タスク間を繋ぐ矢印線及び矢印破線はタスク間の通信を表している。
【0047】
例えば、内部PC62から印刷データが通信タスクに送信されると(図5の(a)部分)、通信タスクが実行され(活性化し)、続いて、印刷開始情報が印刷制御タスクに送信される(図5の(b)部分)。これにより、印刷制御タスクの実行が開始される。なお、通信タスクは印刷制御タスクに印刷開始情報を送信した段階で実行を終了し、内部PC62から次の命令を受信するまでは非実行状態となる。印刷制御タスクが開始されると、画像処理タスクとの間で画像処理開始情報の送受信(図5の(c)部分)、続いて、ヘッド制御タスクへのデータ転送指示の送信(図5の(d)部分)等が順次行われ、当該情報を受信した各タスクが実行状態となる。
【0048】
このように、複数のタスクが時系列順に並んだ、すなわち、各タスクを実行するタイミングが時系列的に表されたシーケンスを用いることによって、制御部(例えば、印刷データ制御基板65)は各ユニット(たとえば、ヘッド41)の動作を効率的に制御し、媒体上にインクを吐出させている。
【0049】
<比較例の問題点>
上述のようなシーケンスにしたがって制御を行なう際に、予期せぬ不具合や、プログラムのバグによって、ヘッド41等のユニットの動作が停止してしまい、その後の操作も受け付けなくなるような場合(ハングアップ)がある。このような場合、シーケンス中で動作不良が発生した箇所を特定することができれば、すなわちトラブルの原因となったタスクの位置をシーケンス中で特定することができれば、当該原因となった部分のプログラムのバグを修正したり(デバッグ)、ユニットの不具合を修理したりすることで、正常な制御状態に復旧させることができる。
【0050】
しかし、前述のようなシーケンスに従った通常の制御では、タスク間の通信状況を把握する手段は備えられていない。そのため、ユーザーは現在実行中のタスクがどのようなものであるかを認識することはできず、シーケンス中のどの部分でトラブルが発生したのかを特定することは困難である。例えば、前述の例において、印刷中にプリンター1の動作が停止した場合に、図5の(a)〜(d)、またはその他の箇所のいずれの部分で問題が発生したのかを特定することが難しい。
【0051】
シーケンス上で問題となる箇所を特定することができない場合、停止したユニットを印刷可能な状態に復旧させるためには、シーケンスの最初から全タスクを実行し直す必要が生じ、そのための時間が無駄となる。また、場合によっては、制御動作をシーケンスの最初に戻すためのプログラムを作成・入力しなければならないこともあり、一般ユーザーでは復旧させることができなおそれがある。
【0052】
===第1実施形態===
第1実施形態では、印刷動作中の予期せぬ不具合等によって印刷装置が停止してしまうような場合でも、制御部がトラブル発生箇所をシーケンス上で特定し、そのトラブルが発生する前の箇所まで戻すことで、正常な印刷動作を効率的に再開させることができる印刷装置について説明する。なお、比較例と同様に、制御部が行う制御動作として、印刷データ制御基板65によるヘッド41の制御を例に挙げて説明を行う。
【0053】
<制御の復旧方法の説明>
図6に、本実施形態において、不具合が発生した場合に正常な制御状態に復旧させるためのフローを示す。以下、当該フローに沿って説明する。
【0054】
(S101:初期シーケンスの視覚化)
はじめに、印刷時に使用されるシーケンス(図5参照)が視覚化される。当該シーケンスは、プリンター1の製造段階において印刷データ制御基板65の内部メモリーに保存されている。以後、説明のため、当該シーケンスのことを初期シーケンスとも呼ぶ。
コントローラー60に設けられた内部PC62は、画像を表示可能なディスプレイ等の表示装置(不図示)に初期シーケンスを表示させる。表示装置は内部PC62に備え付けられていても良いし、外部装置としてS101の処理を実行する際にプリンター1に接続するようにしても良い。
なお、印刷時において、初期シーケンスにしたがって実行された各タスクのデータログは、その都度、印刷データ制御基板65の内部メモリーに保存される。したがって、2回目以降の印刷を行う場合には、前回印刷時に実行された各タスクのデータログを今回印刷時の初期シーケンスとして使用することも可能である。
【0055】
(S102:復旧点情報の設定)
続いて、表示装置に表示された初期シーケンス(シーケンス図)に関して、或るタスクを開始するタイミングを示す開始点、及び、或るタスクを終了するタイミングを示す終了点が設定される。そして、その設定された開始点と終了点との間の所定のタイミングを示す復旧点が設定される。これらの情報についての設定作業は、プリンター1の開発・製造段階において、開発者等によって人為的に行われる。なお、開始点は印刷時にユーザーが操作を行なうタイミングでもあり、終了点はその操作結果をユーザーに示す点でもある。
【0056】
また、当該シーケンス図はS101において視覚情報として表示装置に表示されるので、プリンター1を購入して実際に印刷を行うユーザーも簡単に確認することができる。したがって、印刷時において、ユーザーインターフェース等を介してユーザー自身で復旧点等の設定を変更できるようにしておくこともできる。
【0057】
図7に、復旧点・開始点・終了点がそれぞれ設定されたシーケンスの例を示す。例えば、図7では、印刷制御タスクについて、通信タスクから印刷開始情報を受信したタイミングを開始点1とし、全ての処理を終了したタイミングを終了点1とする。そして、画像処理タスクへ画像処理開始情報を送信する直前のタイミングに復旧点1(図7において黒丸で表される点)が設定される。また、印刷制御タスクからヘッド制御タスクに1回目のデータ転送指示情報が送信される直前のタイミングを開始点2とし、印刷制御タスクからヘッド制御タスクに2回目のデータ転送指示情報が送信される直前のタイミングを終了点2とする。そして、1回目に印刷制御タスクからヘッド制御タスクにデータ転送指示情報が送信された直後のタイミングに復旧点2が設定される。
【0058】
詳細については後で説明するが、本実施形態では、ある開始点からそれに対応する終了点までの区間(例えば、図7の開始点1から終了点1までの区間である「区間1」)において、不具合等が発生して実行中のタスクが停止してしまった場合、その区間中に設定されている復旧点まで戻って、当該復旧点から再びそのタスクを再開する。したがって、シーケンス上で復旧点を設定する位置は、どのようなタイミングでどのような処理から制御動作を再開するべきかを考慮して決定される。
【0059】
なお、開始点と終了点と復旧点とは3つで1セット(1区間)として設定され、初期シーケンス上に複数のセットを設定することができる。例えば、図7では、2セット分が設定されている。そして、初期シーケンス中の或る開始点からそれに対応する終了点までの区間を一つのシーケンス単位として扱うことができる。つまり、初期シーケンスは、複数のシーケンス単位が集合して形成されたシーケンスであると考えることができる。
【0060】
(S103:情報シーケンスの保存)
復旧点・開始点・終了点が設定された初期シーケンスは、「情報シーケンス」として、改めて印刷データ制御基板65の内部メモリーに保存される。この「情報シーケンス」は、印刷データ制御基板65がヘッド41の制御を行なう際の、正常な制御動作の基準となるシーケンスである。
S101からS103までの各処理は、印刷処理を開始する前の準備段階として、あらかじめ行なっておく。
【0061】
(S104:処理開始)
情報シーケンスが保存され、印刷処理の開始準備が整った後に、ヘッド41の制御(インク吐出等の動作の制御)が開始される。図5で説明したように、制御部(コントローラー60)は初期シーケンスにしたがって、各タスクを順次実行していく。
【0062】
(S105:実行シーケンス生成)
印刷処理中、初期シーケンスにしたがって実行されたタスクのデータログは、印刷データ制御基板65の内部メモリーに記憶されていく。そして、印刷データ制御基板65に搭載されたCPUは、当該データログを、「実行シーケンス」として前述の表示装置に表示させる。各タスクが実行されることによって、データログは逐次増加していき、最終的に全てのタスクが実行されると「初期シーケンス」と同等のシーケンス図が生成されることになる。ここで、ヘッド41の制御が正常に行なわれれば、該制御動作において実行されるタスクのデータログ(実行シーケンス)と初期シーケンスとは同一のものとなるはずである。しかし、実際には、プリンター1の構成要素中で予期せぬ不具合が発生したり、プログラムにバグが含まれていたりする場合があり、S105の行程で生成される実行シーケンスは必ずしも初期シーケンスと同一のものにはならない。
【0063】
(S106:情報シーケンスと実行シーケンスとの比較)
印刷データ制御基板65は、S103で保存された「情報シーケンス」と、S105で生成された「実行シーケンス」との比較を行なう。前述のように、「実行シーケンス」は印刷中に実行されるタスクのデータログによって逐次生成されていく。したがって、印刷データ制御基板65は、ヘッド41の動作の制御を行いながら、同時に実行シーケンスを生成しつつ、生成された該実行シーケンスと情報シーケンスとの比較を行なう。なお、両シーケンスとも表示装置(不図示)に表示されるため、ユーザー自身でも視覚的に両者を比較することが可能である。
【0064】
比較の際には、実行シーケンスを形成している実行済みタスクと、その実行済みタスクに対応する情報シーケンス上のタスクとが一致するか否かが判断される。
まず、実行シーケンス上の最新の実行済みタスクに対して、比較対象となる情報シーケンス上のタスクが選択される。当該選択は「或るタスクから或るタスクへ送信される情報の種類」を基準とすることで行なわれる。例えば、実行シーケンスに表示された最新のデータログが、印刷制御タスクからヘッド制御タスクへの1回目のデータ転送指示の送信(図5における(d))である場合は、図7の情報シーケンスにおいて同じ動作を行う部分(図7における(d))が比較対象として選択される。そして、実行シーケンス上に表示される最新の実行タスクと、それに対応して選択される情報シーケンス上のタスクとが一致しているか否かについて順次判断が行なわれる。
【0065】
比較の結果、実行シーケンスと情報シーケンスとが一致していれば、そのまま各タスクが継続して実行され、最後まで印刷処理が行われる。一方、実行シーケンスと情報シーケンスとで一致しない箇所が見つかった場合は次のS107に進む。
【0066】
ここで、実行シーケンスと情報シーケンスとの比較を行なった結果、両者間で一致しない箇所が見つかる場合とは、印刷データ制御基板65による制御動作が正常に行われなかった場合を意味する。つまり、初期シーケンスで規定された通りのタスクを実行することができなかったため、実行シーケンスと情報シーケンスとの間で不一致点が表れたということである。この異常動作の原因としては、前述のような予期せぬ不具合やプログラム上のバグが考えられる。なお、本工程では、両シーケンス間で一致しない状態が一定時間継続した場合のみ、不一致が発生したものとして判断される。これにより、両シーケンス間で誤差程度のズレが発生した場合に、そのような誤差が異常動作として誤検出されることを抑制している。
【0067】
また、不一致点が見つかった場合、印刷データ制御基板65は、表示装置に表示されている実行シーケンス図及び情報シーケンス図について、当該不一致が生じた箇所を点滅させたり、その部分だけ表示色を変更したりすることで、画面上に当該不一致箇所の位置を示す。これにより、開発者やユーザーは、シーケンス中のどの段階(タスク)で不具合が発生したのかを視覚的に確認できるようになり、異常動作の原因を特定しやすくなる。異常動作の原因が特定できていれば、デバッグ作業等が必要な場合にも、効率的に対応することができる。
【0068】
(S107:復旧点へ戻す)
S106で不一致点が見つかった場合、初期シーケンスによって規定される動作とは異なる動作(異常動作)をそれ以上継続させないように、印刷データ制御基板65はヘッド41の動作を停止させる。そして、情報シーケンス上に設定された復旧点まで戻って、該復旧点から各タスクの実行を再開させる。
【0069】
本実施形態において、情報シーケンス上には複数の復旧点が設定されることがあるため(例えば、図7の復旧点1及び復旧点2)、どの復旧点まで戻すかを決定する必要がある。そこで、復旧点と共に設定されている開始点及び終了点からなる区間に着目して、当該区間毎に制御動作を復旧させる。
【0070】
図8に制御動作の復旧方法について説明する図を示す。図8では、開始点1〜終了点1までの範囲で表される区間1と、開始点2〜終了点2までの範囲で表される区間2とがある。
【0071】
まず、図8の×印で表されるA点で不具合が発生した場合(A点が不一致点として特定された場合)について説明する。A点の位置は、駆動ユニット管理タスクから印刷制御タスクへパス処理完了情報を送信した直後のタイミングであり、このタイミングで印刷が停止してしまったものとする。この場合、A点は区間1に含まれる点であるので、印刷データ制御基板65は、区間1について設定されている復旧点1まで戻って制御動作を再開させる。つまり、印刷制御タスクから画像処理タスクへ画像処理開始情報を送信する処理から制御動作が再開される。
【0072】
次に、図8の×印で表されるB点で不具合が発生した場合、B点は区間2に含まれると同時に、区間1にも含まれる点である。このような場合は、当該不一致点の発生箇所に最も近い位置の開始点を含む区間内で復旧処理が行なわれる。例えば、図8において、B点の位置に最も近い開始点は「開始点2」であるから、印刷データ制御基板65は、当該開始点2を含む区間である「区間2」の中で制御を復旧するべく、復旧点2まで戻って制御動作を再開させる。
【0073】
前述のように、実行シーケンスと情報シーケンスとの比較を行う際に、「或るタスクから或るタスクへ送信される情報の種類」を判断することによって、実行シーケンス上のタスクと情報シーケンス上のタスクとが対応付けられている。そのため、複数設定されている開始点の中から、復旧させるべき区間を規定する開始点を正確に選択することができる。
【0074】
<第1実施形態の効果>
第1実施形態では、複数のタスクが時系列順に並んだシーケンス中の或る開始点から或る終了点までの間の所定のタスクの位置に復旧点が定義された情報シーケンスと、実際に実行されたタスクのデータログからなる実行シーケンスとの比較を行なう。比較の結果、情報シーケンスと実行シーケンスとの間で一致しない箇所が見つかった場合には、復旧点まで戻って所定のタスクから制御を再開させる。
これにより、被制御対象ユニットの動作が不具合等により停止した場合であっても、その不具合の発生箇所をシーケンス上で特定して、当該不具合の発生箇所よりも前の箇所から、正常な制御動作を再開させることができる。
【0075】
===第2実施形態===
第2実施形態では、プリンター1において、ヘッドユニット40の制御を行なう印刷データ制御基板が複数あり、それぞれが複数のヘッド41の制御を平行して行なう。ヘッドユニット40の制御方法以外のプリンター1の基本的な構成は第1実施形態で説明したものと同様である。
【0076】
図9に、第2実施形態におけるプリンター1の全体構成を示すブロック図を示す。本実施形態では、印刷データ制御基板65及び印刷データ制御基板66の、2つのデータ制御基板を有するものとする。また、ヘッドユニット40はヘッド41(1)〜ヘッド41(15)の15個の短尺ヘッドを有し、印刷データ制御基板65がヘッド41(1)〜41(8)の8個分のヘッドの制御を行い、印刷データ制御基板66が残りの7個分(ヘッド41(9)〜41(15))のヘッドの制御を行う。印刷データ制御基板66は印刷データ制御基板65と同一の基板であり、その内部メモリーには第1実施形態で説明したのと同一の初期シーケンスが記憶されている。そして、印刷データ制御基板65及び印刷データ制御基板66は、同一の初期シーケンスにしたがってそれぞれヘッド41の動作を制御する。印刷時に鮮明な画像を形成するためには、15個のヘッドの動作を揃える必要があることから、印刷データ制御基板65による制御動作と印刷データ制御基板66による制御動作とが同期するようにして印刷が行われる。以後、印刷データ制御基板65を第1制御部とも呼び、印刷データ制御基板66を第2制御部とも呼ぶ。
【0077】
<制御動作の復旧方法の説明>
図10に、第2施形態において、正常な制御動作に復旧させるためのフローを示す。第2実施形態では、情報シーケンスと実行シーケンスとを比較した後の処理(S207以降の行程)が第1実施形態とは異なる。以下、第1実施形態と異なる点を中心に説明する。
【0078】
(S201〜S206)
初期シーケンスの視覚化(S201)を行なってから、情報シーケンスと実行シーケンスとの比較(S206)を行なうまでの処理は、第1実施形態と同様である。本実施形態では2つの制御基板(第1制御部及び第2制御部)があるため、それぞれの制御基板について(S201)〜(S206)の処理が並行して行なわれる。ただし、両制御部に保存されている初期シーケンスは共通である。また、初期シーケンス上に設定される開始点・終了点・復旧点も同一であるため、保存される情報シーケンスも両制御部で共通のものとなる。
【0079】
(S207:不一致情報の送信)
情報シーケンスと実行シーケンスとの比較の結果、不一致点が見つかった場合は、シーケンス上におけるその不一致点が発生した位置、及び、その不一致点が含まれる区間に関する情報を、他方の制御基板に送信する。
例えば、第1制御部において、不一致点が見つかった場合には、その情報が第2制御部に送信される。第1制御部において不一致点が見つかった場合、第1実施形態で説明したように、該第1制御部では異常動作と認識されてヘッドの制御が停止される。一方、第2制御部では不一致点が見つからないため、正常動作としてそのままヘッド制御が継続される。この場合、第1制御部と第2制御部とで、制御動作の同期が保てなくなる。
【0080】
そこで、本工程のように、第1制御部及び第2制御部で当該不一致についての情報を共有させることによって、両制御部の制御動作に同期ズレが生じたことを認識させる。なお、不一致情報を受信した方の制御部は、後述するS210の処理を行なうことにより、制御動作を再び同期させることができるようになっている。
【0081】
(S208:復旧点へ戻す)
不一致情報が他方の制御基板に送信された後、S107と同様に、情報シーケンス上に設定された復旧点まで戻って、該復旧点からタスクの実行を再開させる。復旧作業は第1実施形態と同様にして、設定された区間毎に行なわれる。
【0082】
(S209:不一致情報の受信)
S206で不一致点が発見されなかった場合には、続いて、他方の制御基板からの不一致情報を受信しているか否かを確認する。
例えば、第2制御部において情報シーケンスと実行シーケンスとの間で不一致点が発見された場合には、当該不一致点についての情報が第2制御部側から第1制御部側へ送信される(S207)。このとき、第1制御部自体の制御動作は正常であるが、そのまま制御動作を継続させると、第2制御部における制御動作との同期が保てなくなる。そこで、第2制御部からの不一致情報を受信しているか否かを判断し、受信していない場合はそのまま制御動作が継続され、受信している場合(第2制御部において不具合等が発生した場合)は、次のS210の処理を行なう。
【0083】
(S210:復旧点へ戻す)
一方の制御基板(例えば第1制御部)が他方の制御基板(例えば第2制御部)から不一致情報を受信した場合、当該一方の制御基板は、現在実行中のタスクを停止させ、受信した不一致情報に基づいて復旧点まで戻ってタスクを再開させる。すなわち、一方の制御基板が正常な制御動作をしている場合であっても、一端制御動作を停止させて、他方の制御基板から送信された不一致情報で指示された復旧点まで戻って制御が再開される。
【0084】
これにより、正常な動作を行っていた方の制御基板(例えば第1制御部)も、異常な動作を行っていた方の制御基板(例えば第2制御部)も、情報シーケンス上で定義された同一の復旧点から制御動作を再開させることができる。これにより、第1制御部と第2制御部とで制御動作にズレが生じることを抑制できる。さらに、S202の行程において、復旧点を第1制御部と第2制御部との同期をとる点として定義しておけば、両制御部の同期が取れた状態で制御動作を復旧させることが可能である。
【0085】
<第2実施形態の効果>
第2実施形態の印刷装置では、ヘッドの動作を制御する制御基板(制御部)を複数備え、該複数の制御部が同一のシーケンスに従って、それぞれ異なるヘッドを制御する。そして、各々の制御部が実行シーケンスと情報シーケンスとを比較して、いずれかの制御部で不一致点が見つかった場合には、該不一致点についての情報をそれ以外の制御部に送信する。その不一致情報を受信した制御部は、当該不一致情に基づいて、不一致が発生した制御部が戻すべき復旧点と同一の復旧点まで戻って制御動作を再開させる。
【0086】
これにより、複数の制御部のうちの一部で不具合等が発生した場合でも、全ての制御部について同じタスクから制御動作を再開させることができる。また、復旧点を各制御部の制御動作の同期をとる点としておくことで、全ての制御部について同期を取りつつ、制御動作を再開させることができる。
【0087】
<第2実施形態の変形例>
第2実施形態では、第1制御部及び第2制御部が、各々、情報シーケンスと実行シーケンスとを比較していたが、お互いの実行シーケンス同士を比較するようにしても良い。例えば、シーケンスの途中の段階で、両者の実行シーケンスを交換して、お互いのデータログにズレがないかを確認することで、両制御部に同期ズレが生じていないかを直接検出することができるようになる。なお、印刷装置の構成自体は第2実施形態の場合と同様とする。
【0088】
図11に第2施形態の変形例において、正常な制御動作に復旧させるためのフローを示す。本変形例では、S206〜S210の処理に換えて、S251〜S253の処理を行なう。
【0089】
S205において実行シーケンスが生成された後に、第1制御部における実行シーケンスのコピーを第2制御部へ送信し、逆に第2制御部における実行シーケンスのコピーが第1制御部に送信される。つまり、第1制御部と第2制御部とでそれぞれ実行シーケンス(コピー)を交換する(S251)。交換する実行シーケンスは現在までに実行されたタスクのデータログの全体である必要はなく、次のS252において比較される部分に関するデータログのみが交換されればよい。例えば、比較対象となる範囲が図7の区間2である場合、区間2の部分についてのみのデータログを交換すればよい。
【0090】
そして、第1制御部の実行シーケンスと、S251において交換された第2制御部の実行シーケンス(コピー)とを比較して、両者が一致するか否かが判断される(S252)。両者が一致する場合はそのままヘッド制御が継続され、不一致な箇所が見つかった場合はS253の処理が実行される。なお、第1制御部の実行シーケンスと第2制御部の実行シーケンスとで不一致な箇所が見つかるということは、両者の制御動作に同期ズレが発生していることを示している。
【0091】
第1制御部の実行シーケンスと第2制御部の実行シーケンスとが一致しない場合、各制御部は現在実行中のタスクを停止させ、その比較対象となっている区間に設定された復旧点まで戻ってタスクを再開させる。例えば、図7の区間2において不一致箇所が見つかった場合は、第1制御部及び第2制御部とも復旧点2まで戻ってタスクを再開させる。
【0092】
このように、異なる制御部の間で実行シーケンス同士を比較することで、該制御部間で生じる同期ズレの有無を直接検出することができる。そして、同期ズレが発生していた場合は、両者が同期した状態から制御動作を復旧させることができる。なお、本変形例におけるS251〜S253の処理を、第2実施形態と組み合わせることも可能である。例えば、図10のS205とS206との間でS251〜S253を実行してもよい。
【0093】
===その他の実施形態===
一実施形態としてのプリンター等を説明したが、上記の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることは言うまでもない。特に、以下に述べる実施形態であっても、本発明に含まれるものである。
【0094】
<印刷装置について>
前述の実施形態では、印刷装置としてラテラルスキャンタイプのプリンター1を例に挙げて説明したが、プリンターはヘッドが固定された、いわゆるラインプリンターであってもよいし、ヘッド41を媒体の搬送方向とは交差する方向に移動させるシリアルプリンターであってもよい。
【0095】
<ユニット制御について>
前述の実施形態では、ユニット制御の一例として、所定のシーケンスに従って、印刷データ制御基板によってヘッドの動作を制御する方法を例に挙げて説明したが、これに限られるものではない。例えば、ユニット制御回路が搬送ユニットや駆動ユニットの制御を行う際にも、本明細書中で説明した制御方法を適用することができる。
【0096】
<使用するインクについて>
前述の実施形態では、CMYKの4色のインクを使用して画像を印刷する例が説明されていたが、これに限られるものではない。例えば、ライトシアン、ライトマゼンタ、ホワイト、クリア等、CMYK以外の色のインクを用いて記録を行ってもよい。
【符号の説明】
【0097】
1 プリンター、20 搬送ユニット、21 搬送ローラー、
30 駆動ユニット、31 X軸ステージ、32 Y軸ステージ、
40 ヘッドユニット、41 ヘッド、50 検出器群、
60 コントローラー、61 インターフェース部、62 内部PC、
63 メモリー、64 ユニット制御回路、65 印刷データ制御基板、
66 印刷データ制御基板、110 コンピューター
【技術分野】
【0001】
本発明は、印刷装置、及び、印刷方法に関する。
【背景技術】
【0002】
ヘッド部に設けられたノズルから液体を吐出して媒体上に液滴(ドット)を着弾させることで画像等の記録(印刷)を行う印刷装置が知られている。一般的な印刷装置では、該ヘッド部以外にも、媒体を搬送する搬送部やヘッドを移動させるキャリッジ部等、様々なユニットが備えられている。そして、印刷を行う際には、媒体の搬送、ヘッドの移動に関する動作や、液滴を吐出する位置及びその量等を正確に制御することで、高画質な画像の印刷を実現している。
【0003】
このような印刷装置では、各ユニットに不具合等が発生して正常な制御が行なえなくなった場合、印刷画質が劣化したり、印刷動作自体が途中で停止したりすることがある。この場合、不具合の発生箇所を特定して正常な制御動作に復旧させなければならないが、不具合の発生箇所を特定することが難しいため、正常な制御動作に復旧させることも困難であった。
【0004】
これに対して、ヘッドを多数備える印刷装置において、多数のヘッドのそれぞれについて、駆動制御回路と該駆動制御回路にデータを転送するデータ処理部とを備え、これらを1セットとして、セット毎に着脱可能にした印刷装置が提案されている(例えば特許文献1)。このような印刷装置であれば、例えば、印刷中にいずれかのヘッドで不具合が発生した場合でも、そのヘッドを含むセット(ヘッド・駆動制御回路・データ処理部のセット)を新品のセットと交換することで、容易に不具合を解消することができる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2004−25551号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、特許文献1に記載の方法では、結局不具合箇所を正確に特定することができないため、不具合が発生したユニットを含む一連の部品をまるごと交換する必要が生じ、非効率的である。また、交換対象となっていない部分で不具合が発生した場合、特許文献1の方法では対応することができず、正常な制御動作に復旧させることはできない。
【0007】
本発明では、印刷装置の各ユニットの制御を行なう制御回路において、不具合等により各ユニットの動作が停止した場合であっても、不具合の発生箇所を特定して正常な動作を再開させることを目的としている。
【課題を解決するための手段】
【0008】
上記目的を達成するための主たる発明は、複数のタスクが時系列順に並んだシーケンスの開始から終了までの間の所定のタスクの位置に復旧点が定義された情報シーケンスと、実際に実行されたタスクのデータログからなる実行シーケンスと、を比較して、前記情報シーケンスと前記実行シーケンスとの間で一致しない箇所が見つかった場合には、前記復旧点まで戻って前記所定のタスクを実行させる制御部を備えることを特徴とする印刷装置である。
【0009】
本発明の他の特徴については、本明細書及び添付図面の記載により明らかにする。
【図面の簡単な説明】
【0010】
【図1】プリンター1の構成を示すブロック図である。
【図2】図2Aは、本実施形態のプリンターの構成を説明する概略断面図である。図2Bは、本実施形態のプリンターの構成を説明する概略上面図である。
【図3】ヘッドユニットにおけるヘッドの配置を示す図である。
【図4】プリンター1で印刷を行う際の印刷処理のフローを表す図である。
【図5】第1実施形態で用いられるシーケンスを一部抜粋したものの例を示す図である。
【図6】第1実施形態において、不具合が発生した場合に正常な制御動作に復旧させるためのフローを示す図である。
【図7】復旧点・開始点・終了点がそれぞれ設定されたシーケンスの例を示す図である。
【図8】制御動作の復旧方法について説明する図である。
【図9】第2実施形態におけるプリンター1の構成を示すブロック図である。
【図10】第2施形態において、正常な制御動作に復旧させるためのフローを示す図である。
【図11】第2施形態の変形例において、正常な制御動作に復旧させるためのフローを示す図である。
【発明を実施するための形態】
【0011】
本明細書及び添付図面の記載により、少なくとも、以下の事項が明らかとなる。
【0012】
複数のタスクが時系列順に並んだシーケンスの開始から終了までの間の所定のタスクの位置に復旧点が定義された情報シーケンスと、実際に実行されたタスクのデータログからなる実行シーケンスと、を比較して、前記情報シーケンスと前記実行シーケンスとの間で一致しない箇所が見つかった場合には、前記復旧点まで戻って前記所定のタスクを実行させる制御部を備えることを特徴とする印刷装置。
このような印刷装置によれば、印刷装置の制御回路において、不具合等により制御動作が停止した場合であっても、自動的に不具合の発生箇所を判断して制御動作を再開させることができる。
【0013】
かかる印刷装置であって、媒体に液体を吐出するヘッドを複数備え、前記制御部として、所定のシーケンスにしたがって、複数の前記ヘッドのうち所定数のヘッドの動作を制御する第1制御部と、前記所定のシーケンスと同一のシーケンスにしたがって、複数の前記ヘッドのうち前記所定数のヘッド以外のヘッドの動作を制御する第2制御部と、を有し、前記第1制御部及び前記第2制御部は、各々、前記情報シーケンスと前記実行シーケンスとを比較して、前記第1制御部及び前記第2制御部のうちのどちらか一方で、前記情報シーケンスと前記実行シーケンスとの間で一致しない箇所が見つかった場合には、前記一致しない箇所についての情報を、前記一方から他方に向けて送信し、前記他方は、送信された前記一致しない箇所についての情報に基づいて、前記一方が戻るべき前記復旧点まで戻って、前記所定のタスクを実行させることが望ましい。
このような印刷装置によれば、複数の制御部によって並行してヘッドの制御を行ないつつ、ある制御部において不具合等が生じた場合でも、その情報を共有させることによって、それぞれの制御部について、同じ処理から制御動作を復旧させることができる。
【0014】
かかる印刷装置であって、前記復旧点は、前記第1制御部が実行するタスクと、前記第2制御部が実行するタスクと、の同期をとる点であることが望ましい。
このような印刷装置によれば、異なる制御部同士で制御動作のタイミングにズレが生じた場合でも、制御動作を同期させた状態から復旧させることができる。
【0015】
かかる印刷装置であって、前記制御部は、画像を表示可能な表示装置に、前記情報シーケンス及び前記実行シーケンスを表示させることが望ましい。
このような印刷装置によれば、シーケンスが視覚情報として得られるようになるため、開発者やユーザーは、シーケンスのどの位置に復旧点を設けるかを検討しやすくなる。
【0016】
かかる印刷装置であって、前記制御部は、前記情報シーケンスと前記実行シーケンスとの間で一致しない箇所が見つかった場合には、前記表示装置に表示された前記情報シーケンス及び前記実行シーケンス上に、前記一致しない箇所を示すことが望ましい。
このような印刷装置によれば、印刷時において、シーケンス上のどの部分で不具合等が発生したのかを視覚的に確認することができるため、デバッグなどの対策を効率的に行なうことができるようになる。
【0017】
また、(A)複数のタスクが時系列順に並んだシーケンスの開始から終了までの間の所定のタスクの位置に復旧点が定義された情報シーケンスと、実際に実行されたタスクのデータログからなる実行シーケンスと、を制御部によって比較することと、(B)前記情報シーケンスと前記実行シーケンスとの間で一致しない箇所が見つかった場合には、前記復旧点まで戻って前記所定のタスクを実行させることと、を有する印刷方法が明らかになる。
【0018】
===印刷装置の基本的構成===
発明を実施するための印刷装置の形態として、インクジェットプリンター(プリンター1)を例に挙げて説明する。
【0019】
<プリンター1の構成>
図1に、プリンター1の全体構成を示すブロック図を示す。図2Aに、プリンター1の概略断面図を、図2Bに、プリンター1の概略上面図を示す。
【0020】
プリンター1は、紙・布・フィルム等の媒体にインクを吐出することで文字や画像を記録(印刷)する装置であり、外部装置であるコンピューター110と通信可能に接続されている。
コンピューター110はプリンター1に画像を印刷させるため、印刷対象となる画像に応じた画像データをプリンター1に出力する。
プリンター1は、搬送ユニット20と、駆動ユニット30と、ヘッドユニット40と、検出器群50と、コントローラー60と、を有する(図1)。コントローラー60は、外部装置であるコンピューター110から受信した画像データから印刷データを生成し、該印刷データに基づいて各ユニットを制御して、媒体に画像を印刷する。プリンター1内の状況は検出器群50によって監視されており、検出器群50は検出結果をコントローラー60に出力する。コントローラー60は検出器群50から出力された検出結果に基づいて各ユニットを制御する。
【0021】
<搬送ユニット20>
搬送ユニット20は、媒体S(例えば紙など)を搬送方向(またはX方向という)の上流側から下流側に搬送させるためのものである。搬送モーター(不図示)によって駆動する搬送ローラー21により、印刷前のロール状の媒体Sを印刷領域に供給し、その後、印刷済みの媒体Sを巻取機構によりロール状に巻き取ったり、適当な長さにカッティングして排出したりする。搬送モーターの動作はプリンター側のコントローラー60により制御される。なお、印刷中の印刷領域では、媒体Sが下からバキューム吸着され、媒体Sは所定の位置に保持される。
【0022】
<駆動ユニット30>
駆動ユニット30は、ヘッドユニット40を、搬送方向に対応するX方向と、媒体Sの紙幅方向(搬送方向と直交する方向)に対応するY方向とに自在に移動させるものである。駆動ユニット30は、ヘッドユニット40をX方向に移動させるX軸ステージ31と、X軸ステージ31をY方向に移動させるY軸ステージ32と、これらを移動させるモーター(不図示)とで、構成されている。
【0023】
<ヘッドユニット40>
ヘッドユニット40は、紙Sにインクを吐出して画像を形成するためのものであり、複数のヘッド41を有する。ヘッド41の下面には、インク吐出部であるノズルが複数設けられ、各ノズルにはインクが入ったインク室が設けられている。
このヘッドユニット40はX軸ステージ31に設けられ、X軸ステージ31がX方向(搬送方向)に移動すると、ヘッドユニット40もX方向に移動する。そして、ヘッドユニット40がX方向(搬送方向)を移動中にノズルからインクを断続的に吐出することによって、X方向に沿ったドットライン(ラスタライン)が媒体S上に形成される。その後、ヘッドユニット40は、Y軸ステージ32により、X軸ステージ31を介してY方向(紙幅方向)に移動し、その後、再び、ヘッドユニット40がX方向に移動しながら印刷を行う。
【0024】
このように、ヘッドユニット40のX方向への移動によりラスタラインを形成する動作と、ヘッドユニット40のY方向への移動を繰り返すことで、印刷領域の媒体Sに画像を印刷することができる。印刷領域に供給された媒体Sに画像を印刷する動作(画像形成動作)と、搬送ユニット20により媒体Sを搬送方向に搬送して新たな媒体S部分を印刷領域に供給する動作(搬送動作)とを、交互に繰り返すことで連続媒体Sに多数の画像を印刷する。
【0025】
図3は、ヘッドユニット40における複数のヘッド41の配置を示す図である。なお、実際にはヘッドユニット40の下面にノズル面が形成されるが、図3は上面からノズルを仮想的に見た図である(以下の図も同様)。
【0026】
Y方向(紙幅方向)に多数のノズルが並ぶことで、ヘッドユニット40のX方向(搬送方向)への1回の移動により、大きな幅の画像を印刷することができる。そうすることで、印刷の高速化を図れる。ただし、製造上の問題により長尺のヘッドを形成することが出来ない。そこで、プリンター1では、複数の短尺ヘッド41(1)〜41(n)をY方向に並べて配置する。図3に示されるように複数のヘッド41はベースプレートBPに取り付けられている。
【0027】
各ヘッド41のノズル面には、ブラックインクを吐出するブラックノズル列Kと、シアンインクを吐出するシアンノズル列Cと、マゼンタインクを吐出するマゼンタノズル列Mと、イエローインクを吐出するイエローノズル列Yとが形成されている。各ノズル列はノズルを180個ずつ備え、180個のノズルはY方向に一定のノズルピッチ(180dpi)で整列している。図示するようにY方向の奥側のノズルから順に小さい番号を付す(#1〜#180)。
【0028】
また、Y方向に隣り合う2つのヘッド(例えば41(1)と41(2))のうちの奥側のヘッド41(1)の最も手前側のノズル#180と、手前側のヘッド41(2)の最も奥側のノズル#1との間隔も一定の間隔(180dpi)となっている。つまり、ヘッドユニット40の下面では、ノズルがY方向に一定のノズルピッチ(180dpi)で並んでいることになる。なお、図3に示すように、異なるヘッド41の端部ノズルの間隔を180dpiにするためには、ヘッド41の構造上の問題により、ヘッド41を千鳥状に配置する必要がある。また、異なるヘッド41の端部ノズルが重複していてもよい。
【0029】
<検出器群50>
検出器群50には、ロータリー式エンコーダーや、リニア式エンコーダー(共に不図示)などが含まれる。ロータリー式エンコーダーは搬送ローラー21の回転量を検出し、その検出結果に基づいて媒体の搬送量が検出される。リニア式エンコーダーは、X軸ステージ31やY軸ステージ32の移動方向の位置を検出する。
【0030】
<コントローラー60>
コントローラー60は、プリンターの制御を行うための制御ユニット(制御部)である。コントローラー60は、インターフェース部61と、内部PC62と、メモリー63と、ユニット制御回路64と、印刷データ制御基板65とを有する(図1)。
【0031】
インターフェース部61は、外部装置であるコンピューター110とプリンター1との間でデータの送受信を行う。内部PC62は、プリンター1の全体の制御を行うための演算処理装置である。メモリー63は、内部PC62が用いるプログラムを格納する領域や作業領域等を確保するためのものであり、RAM、EEPROM等の記憶素子によって構成される。そして、内部PC62は、メモリー63に格納されているプログラムに従って、ユニット制御回路64や印刷データ制御基板65を介して搬送ユニット20、ヘッドユニット40等の各ユニットを制御する。
【0032】
また、内部PC62にはプリンタードライバーがインストールされる。プリンタードライバーは、表示装置(不図示)にユーザーインターフェースを表示させ、コンピューター110から送信された画像データを印刷データに変換させるためのプログラムである。このプリンタードライバーは、プリンター1の製造段階においてメモリー63に記録されている。また、フレキシブルディスクFDやCD−ROMなどの記録媒体(コンピューターが読み取り可能な記録媒体)に記録されたものを利用したり、インターネットを介してダウンロードしたりすることも可能である。プリンタードライバーは、各種の機能を実現するためのコードから構成されている。
【0033】
なお、プリンタードライバーをコンピューター110にインストールして、コンピューター110によって印刷データを生成し、プリンター1に送信する構成とすることも可能である。
【0034】
印刷データ制御基板65は、内部PC62で生成された印刷データにしたがって、ヘッドユニット40の各ヘッド41からインクを吐出させるための制御を行なう。また、印刷データ制御基板65は、内部にCPUとメモリーとを備える。これにより、内部PC62と同様に、プリンタードライバー等の各種プログラムをインストールして実行したり、後述のシーケンスに基づいてヘッド41の動作を制御したりすることが可能である。
【0035】
<印刷処理について>
図4は、プリンター1で印刷を行う際の印刷処理のフローを表す図である。
印刷処理は、プリンター1に接続されたコンピューター110から画像データが送信されることにより開始される。前述したように、印刷データは、当該画像データに基づいて、プリンター1の内部PC62や印刷データ制御基板65にインストールされたプリンタードライバーによる処理によって生成される。以下、プリンタードライバーによる処理について、図4を参照しながら説明する。
【0036】
プリンタードライバーは、コンピューター110から画像データを受け取り、プリンター1が解釈できる形式の印刷データに変換する。画像データを印刷データに変換する際は、内部PC62によって解像度変換処理・色変換処理・ハーフトーン処理が行なわれる。また、印刷データ制御基板65によって、ラスタライズ処理・コマンド付加処理が行われる(図4)。
【0037】
解像度変換処理は、アプリケーションプログラムから出力された画像データ(テキストデータ、イメージデータなど)を、紙に印刷する際の解像度(印刷解像度)に変換する処理である。例えば、印刷解像度が720×720dpiに指定されている場合、アプリケーションプログラムから受け取ったベクター形式の画像データを720×720dpiの解像度のビットマップ形式の画像データに変換する。なお、解像度変換処理後の画像データの各画素データは、RGB色空間により表される多階調(例えば256階調)のRGBデータである。この階調値は、RGB画像データに基づいて定められるものである。
【0038】
色変換処理は、RGBデータをCMYK色空間のデータに変換する処理である。なお、CMYK色空間の画像データは、プリンターが有するインクの色に対応したデータである。言い換えると、プリンタードライバーは、RGBデータに基づいて、CMYK平面の画像データを作成する。
【0039】
この色変換処理は、RGBデータの階調値とCMYKデータの階調値とを対応づけたテーブルに基づいて行われる。このテーブルのことを色変換ルックアップテーブル(LUT)という。なお、色変換処理後の画素データは、CMYK色空間により表される256階調のCMYKデータである。
【0040】
ハーフトーン処理は、高階調数のデータを、プリンターが形成可能な階調数のデータに変換する処理である。このハーフトーン処理により、256階調を示すデータが、2階調を示す1ビットデータや4階調を示す2ビットデータに変換される。ハーフトーン処理後の画像データでは、画素ごとに1ビット又は2ビットの画素データが対応しており、この画素データは各画素でのドットの形成状況(ドットの有無、ドットの大きさ)を示すデータになる。例えば2ビット(4階調)の場合、ドット階調値[00]に対応するドットなし、ドット階調値[01]に対応する小ドットの形成、ドット階調値[10]に対応する中ドットの形成、及び、ドット階調値[11]に対応する大ドットの形成のように4段階に変換される。その後、各ドットのサイズについてドット作成率が決められた上で、ディザ法・γ補正・誤差拡散法等を利用して、プリンター1がドットを分散して形成するように画素データが作成される。
【0041】
ラスタライズ処理は、マトリクス状に並ぶ画素データを、ヘッドユニット40に転送すべきデータ順に、画素データごとに並べ替える。例えば、各ヘッドのノズルの並び順に応じて、画素データを並べ替える。
【0042】
コマンド付加処理は、ラスタライズ処理されたデータに、印刷方式に応じたコマンドデータを付加する処理である。コマンドデータとしては、例えば媒体の搬送速度を示す搬送データなどがある。
【0043】
これらの処理を経て作成された印刷データに基づいて、ヘッド41に設けられた各ノズルから媒体上にインクを吐出させることによって、画像が印刷される。
【0044】
===比較例===
はじめに、比較例として、プリンター1を用いて印刷を行う際に、制御部(コントローラー60)による通常の制御動作について説明する。前述のように、プリンター1では、印刷データに従ってヘッドユニット40のヘッド部からインクを吐出させることで印刷を行う。このとき、コントローラー60のユニット制御回路64や印刷データ制御基板65によって各ユニットがそれぞれ制御されている。具体的には、ユニットの動作を規定した複数種類のタスクを順次実行することで各ユニットを動作させている。タスクには、通信タスク、印刷制御タスク、画像処理タスク、ヘッド管理タスク等があり、これらのタスク間の通信によって一つ一つの処理が実行される。ここでは、特に、印刷データ制御基板65によるヘッド41の制御を例に挙げて説明する。
【0045】
コントローラー60(印刷データ制御基板65)は、前述のようなタスクが時系列的に並べられたシーケンスに基づいてヘッド41の動作を制御する。該シーケンスは、印刷データ制御基板65内のメモリーに記憶されていて、どのタスクがどのタイミングで実行されるのかについての情報が定められている。
【0046】
図5に、本実施形態で用いられるシーケンスについて一部抜粋したものを例示する。図5上方の横方向に並んでいるのは印刷時に実行される複数のタスクである。ただし、図5に示されているのは、印刷時に実行される全タスクのうちの一部のタスクのみである。図5で縦方向は時間の経過を示している。各タスクについて縦方向に沿った長方形の部分は、その時間において当該タスクが実行されている(活性化している)ことを示している。そして、各タスク間を繋ぐ矢印線及び矢印破線はタスク間の通信を表している。
【0047】
例えば、内部PC62から印刷データが通信タスクに送信されると(図5の(a)部分)、通信タスクが実行され(活性化し)、続いて、印刷開始情報が印刷制御タスクに送信される(図5の(b)部分)。これにより、印刷制御タスクの実行が開始される。なお、通信タスクは印刷制御タスクに印刷開始情報を送信した段階で実行を終了し、内部PC62から次の命令を受信するまでは非実行状態となる。印刷制御タスクが開始されると、画像処理タスクとの間で画像処理開始情報の送受信(図5の(c)部分)、続いて、ヘッド制御タスクへのデータ転送指示の送信(図5の(d)部分)等が順次行われ、当該情報を受信した各タスクが実行状態となる。
【0048】
このように、複数のタスクが時系列順に並んだ、すなわち、各タスクを実行するタイミングが時系列的に表されたシーケンスを用いることによって、制御部(例えば、印刷データ制御基板65)は各ユニット(たとえば、ヘッド41)の動作を効率的に制御し、媒体上にインクを吐出させている。
【0049】
<比較例の問題点>
上述のようなシーケンスにしたがって制御を行なう際に、予期せぬ不具合や、プログラムのバグによって、ヘッド41等のユニットの動作が停止してしまい、その後の操作も受け付けなくなるような場合(ハングアップ)がある。このような場合、シーケンス中で動作不良が発生した箇所を特定することができれば、すなわちトラブルの原因となったタスクの位置をシーケンス中で特定することができれば、当該原因となった部分のプログラムのバグを修正したり(デバッグ)、ユニットの不具合を修理したりすることで、正常な制御状態に復旧させることができる。
【0050】
しかし、前述のようなシーケンスに従った通常の制御では、タスク間の通信状況を把握する手段は備えられていない。そのため、ユーザーは現在実行中のタスクがどのようなものであるかを認識することはできず、シーケンス中のどの部分でトラブルが発生したのかを特定することは困難である。例えば、前述の例において、印刷中にプリンター1の動作が停止した場合に、図5の(a)〜(d)、またはその他の箇所のいずれの部分で問題が発生したのかを特定することが難しい。
【0051】
シーケンス上で問題となる箇所を特定することができない場合、停止したユニットを印刷可能な状態に復旧させるためには、シーケンスの最初から全タスクを実行し直す必要が生じ、そのための時間が無駄となる。また、場合によっては、制御動作をシーケンスの最初に戻すためのプログラムを作成・入力しなければならないこともあり、一般ユーザーでは復旧させることができなおそれがある。
【0052】
===第1実施形態===
第1実施形態では、印刷動作中の予期せぬ不具合等によって印刷装置が停止してしまうような場合でも、制御部がトラブル発生箇所をシーケンス上で特定し、そのトラブルが発生する前の箇所まで戻すことで、正常な印刷動作を効率的に再開させることができる印刷装置について説明する。なお、比較例と同様に、制御部が行う制御動作として、印刷データ制御基板65によるヘッド41の制御を例に挙げて説明を行う。
【0053】
<制御の復旧方法の説明>
図6に、本実施形態において、不具合が発生した場合に正常な制御状態に復旧させるためのフローを示す。以下、当該フローに沿って説明する。
【0054】
(S101:初期シーケンスの視覚化)
はじめに、印刷時に使用されるシーケンス(図5参照)が視覚化される。当該シーケンスは、プリンター1の製造段階において印刷データ制御基板65の内部メモリーに保存されている。以後、説明のため、当該シーケンスのことを初期シーケンスとも呼ぶ。
コントローラー60に設けられた内部PC62は、画像を表示可能なディスプレイ等の表示装置(不図示)に初期シーケンスを表示させる。表示装置は内部PC62に備え付けられていても良いし、外部装置としてS101の処理を実行する際にプリンター1に接続するようにしても良い。
なお、印刷時において、初期シーケンスにしたがって実行された各タスクのデータログは、その都度、印刷データ制御基板65の内部メモリーに保存される。したがって、2回目以降の印刷を行う場合には、前回印刷時に実行された各タスクのデータログを今回印刷時の初期シーケンスとして使用することも可能である。
【0055】
(S102:復旧点情報の設定)
続いて、表示装置に表示された初期シーケンス(シーケンス図)に関して、或るタスクを開始するタイミングを示す開始点、及び、或るタスクを終了するタイミングを示す終了点が設定される。そして、その設定された開始点と終了点との間の所定のタイミングを示す復旧点が設定される。これらの情報についての設定作業は、プリンター1の開発・製造段階において、開発者等によって人為的に行われる。なお、開始点は印刷時にユーザーが操作を行なうタイミングでもあり、終了点はその操作結果をユーザーに示す点でもある。
【0056】
また、当該シーケンス図はS101において視覚情報として表示装置に表示されるので、プリンター1を購入して実際に印刷を行うユーザーも簡単に確認することができる。したがって、印刷時において、ユーザーインターフェース等を介してユーザー自身で復旧点等の設定を変更できるようにしておくこともできる。
【0057】
図7に、復旧点・開始点・終了点がそれぞれ設定されたシーケンスの例を示す。例えば、図7では、印刷制御タスクについて、通信タスクから印刷開始情報を受信したタイミングを開始点1とし、全ての処理を終了したタイミングを終了点1とする。そして、画像処理タスクへ画像処理開始情報を送信する直前のタイミングに復旧点1(図7において黒丸で表される点)が設定される。また、印刷制御タスクからヘッド制御タスクに1回目のデータ転送指示情報が送信される直前のタイミングを開始点2とし、印刷制御タスクからヘッド制御タスクに2回目のデータ転送指示情報が送信される直前のタイミングを終了点2とする。そして、1回目に印刷制御タスクからヘッド制御タスクにデータ転送指示情報が送信された直後のタイミングに復旧点2が設定される。
【0058】
詳細については後で説明するが、本実施形態では、ある開始点からそれに対応する終了点までの区間(例えば、図7の開始点1から終了点1までの区間である「区間1」)において、不具合等が発生して実行中のタスクが停止してしまった場合、その区間中に設定されている復旧点まで戻って、当該復旧点から再びそのタスクを再開する。したがって、シーケンス上で復旧点を設定する位置は、どのようなタイミングでどのような処理から制御動作を再開するべきかを考慮して決定される。
【0059】
なお、開始点と終了点と復旧点とは3つで1セット(1区間)として設定され、初期シーケンス上に複数のセットを設定することができる。例えば、図7では、2セット分が設定されている。そして、初期シーケンス中の或る開始点からそれに対応する終了点までの区間を一つのシーケンス単位として扱うことができる。つまり、初期シーケンスは、複数のシーケンス単位が集合して形成されたシーケンスであると考えることができる。
【0060】
(S103:情報シーケンスの保存)
復旧点・開始点・終了点が設定された初期シーケンスは、「情報シーケンス」として、改めて印刷データ制御基板65の内部メモリーに保存される。この「情報シーケンス」は、印刷データ制御基板65がヘッド41の制御を行なう際の、正常な制御動作の基準となるシーケンスである。
S101からS103までの各処理は、印刷処理を開始する前の準備段階として、あらかじめ行なっておく。
【0061】
(S104:処理開始)
情報シーケンスが保存され、印刷処理の開始準備が整った後に、ヘッド41の制御(インク吐出等の動作の制御)が開始される。図5で説明したように、制御部(コントローラー60)は初期シーケンスにしたがって、各タスクを順次実行していく。
【0062】
(S105:実行シーケンス生成)
印刷処理中、初期シーケンスにしたがって実行されたタスクのデータログは、印刷データ制御基板65の内部メモリーに記憶されていく。そして、印刷データ制御基板65に搭載されたCPUは、当該データログを、「実行シーケンス」として前述の表示装置に表示させる。各タスクが実行されることによって、データログは逐次増加していき、最終的に全てのタスクが実行されると「初期シーケンス」と同等のシーケンス図が生成されることになる。ここで、ヘッド41の制御が正常に行なわれれば、該制御動作において実行されるタスクのデータログ(実行シーケンス)と初期シーケンスとは同一のものとなるはずである。しかし、実際には、プリンター1の構成要素中で予期せぬ不具合が発生したり、プログラムにバグが含まれていたりする場合があり、S105の行程で生成される実行シーケンスは必ずしも初期シーケンスと同一のものにはならない。
【0063】
(S106:情報シーケンスと実行シーケンスとの比較)
印刷データ制御基板65は、S103で保存された「情報シーケンス」と、S105で生成された「実行シーケンス」との比較を行なう。前述のように、「実行シーケンス」は印刷中に実行されるタスクのデータログによって逐次生成されていく。したがって、印刷データ制御基板65は、ヘッド41の動作の制御を行いながら、同時に実行シーケンスを生成しつつ、生成された該実行シーケンスと情報シーケンスとの比較を行なう。なお、両シーケンスとも表示装置(不図示)に表示されるため、ユーザー自身でも視覚的に両者を比較することが可能である。
【0064】
比較の際には、実行シーケンスを形成している実行済みタスクと、その実行済みタスクに対応する情報シーケンス上のタスクとが一致するか否かが判断される。
まず、実行シーケンス上の最新の実行済みタスクに対して、比較対象となる情報シーケンス上のタスクが選択される。当該選択は「或るタスクから或るタスクへ送信される情報の種類」を基準とすることで行なわれる。例えば、実行シーケンスに表示された最新のデータログが、印刷制御タスクからヘッド制御タスクへの1回目のデータ転送指示の送信(図5における(d))である場合は、図7の情報シーケンスにおいて同じ動作を行う部分(図7における(d))が比較対象として選択される。そして、実行シーケンス上に表示される最新の実行タスクと、それに対応して選択される情報シーケンス上のタスクとが一致しているか否かについて順次判断が行なわれる。
【0065】
比較の結果、実行シーケンスと情報シーケンスとが一致していれば、そのまま各タスクが継続して実行され、最後まで印刷処理が行われる。一方、実行シーケンスと情報シーケンスとで一致しない箇所が見つかった場合は次のS107に進む。
【0066】
ここで、実行シーケンスと情報シーケンスとの比較を行なった結果、両者間で一致しない箇所が見つかる場合とは、印刷データ制御基板65による制御動作が正常に行われなかった場合を意味する。つまり、初期シーケンスで規定された通りのタスクを実行することができなかったため、実行シーケンスと情報シーケンスとの間で不一致点が表れたということである。この異常動作の原因としては、前述のような予期せぬ不具合やプログラム上のバグが考えられる。なお、本工程では、両シーケンス間で一致しない状態が一定時間継続した場合のみ、不一致が発生したものとして判断される。これにより、両シーケンス間で誤差程度のズレが発生した場合に、そのような誤差が異常動作として誤検出されることを抑制している。
【0067】
また、不一致点が見つかった場合、印刷データ制御基板65は、表示装置に表示されている実行シーケンス図及び情報シーケンス図について、当該不一致が生じた箇所を点滅させたり、その部分だけ表示色を変更したりすることで、画面上に当該不一致箇所の位置を示す。これにより、開発者やユーザーは、シーケンス中のどの段階(タスク)で不具合が発生したのかを視覚的に確認できるようになり、異常動作の原因を特定しやすくなる。異常動作の原因が特定できていれば、デバッグ作業等が必要な場合にも、効率的に対応することができる。
【0068】
(S107:復旧点へ戻す)
S106で不一致点が見つかった場合、初期シーケンスによって規定される動作とは異なる動作(異常動作)をそれ以上継続させないように、印刷データ制御基板65はヘッド41の動作を停止させる。そして、情報シーケンス上に設定された復旧点まで戻って、該復旧点から各タスクの実行を再開させる。
【0069】
本実施形態において、情報シーケンス上には複数の復旧点が設定されることがあるため(例えば、図7の復旧点1及び復旧点2)、どの復旧点まで戻すかを決定する必要がある。そこで、復旧点と共に設定されている開始点及び終了点からなる区間に着目して、当該区間毎に制御動作を復旧させる。
【0070】
図8に制御動作の復旧方法について説明する図を示す。図8では、開始点1〜終了点1までの範囲で表される区間1と、開始点2〜終了点2までの範囲で表される区間2とがある。
【0071】
まず、図8の×印で表されるA点で不具合が発生した場合(A点が不一致点として特定された場合)について説明する。A点の位置は、駆動ユニット管理タスクから印刷制御タスクへパス処理完了情報を送信した直後のタイミングであり、このタイミングで印刷が停止してしまったものとする。この場合、A点は区間1に含まれる点であるので、印刷データ制御基板65は、区間1について設定されている復旧点1まで戻って制御動作を再開させる。つまり、印刷制御タスクから画像処理タスクへ画像処理開始情報を送信する処理から制御動作が再開される。
【0072】
次に、図8の×印で表されるB点で不具合が発生した場合、B点は区間2に含まれると同時に、区間1にも含まれる点である。このような場合は、当該不一致点の発生箇所に最も近い位置の開始点を含む区間内で復旧処理が行なわれる。例えば、図8において、B点の位置に最も近い開始点は「開始点2」であるから、印刷データ制御基板65は、当該開始点2を含む区間である「区間2」の中で制御を復旧するべく、復旧点2まで戻って制御動作を再開させる。
【0073】
前述のように、実行シーケンスと情報シーケンスとの比較を行う際に、「或るタスクから或るタスクへ送信される情報の種類」を判断することによって、実行シーケンス上のタスクと情報シーケンス上のタスクとが対応付けられている。そのため、複数設定されている開始点の中から、復旧させるべき区間を規定する開始点を正確に選択することができる。
【0074】
<第1実施形態の効果>
第1実施形態では、複数のタスクが時系列順に並んだシーケンス中の或る開始点から或る終了点までの間の所定のタスクの位置に復旧点が定義された情報シーケンスと、実際に実行されたタスクのデータログからなる実行シーケンスとの比較を行なう。比較の結果、情報シーケンスと実行シーケンスとの間で一致しない箇所が見つかった場合には、復旧点まで戻って所定のタスクから制御を再開させる。
これにより、被制御対象ユニットの動作が不具合等により停止した場合であっても、その不具合の発生箇所をシーケンス上で特定して、当該不具合の発生箇所よりも前の箇所から、正常な制御動作を再開させることができる。
【0075】
===第2実施形態===
第2実施形態では、プリンター1において、ヘッドユニット40の制御を行なう印刷データ制御基板が複数あり、それぞれが複数のヘッド41の制御を平行して行なう。ヘッドユニット40の制御方法以外のプリンター1の基本的な構成は第1実施形態で説明したものと同様である。
【0076】
図9に、第2実施形態におけるプリンター1の全体構成を示すブロック図を示す。本実施形態では、印刷データ制御基板65及び印刷データ制御基板66の、2つのデータ制御基板を有するものとする。また、ヘッドユニット40はヘッド41(1)〜ヘッド41(15)の15個の短尺ヘッドを有し、印刷データ制御基板65がヘッド41(1)〜41(8)の8個分のヘッドの制御を行い、印刷データ制御基板66が残りの7個分(ヘッド41(9)〜41(15))のヘッドの制御を行う。印刷データ制御基板66は印刷データ制御基板65と同一の基板であり、その内部メモリーには第1実施形態で説明したのと同一の初期シーケンスが記憶されている。そして、印刷データ制御基板65及び印刷データ制御基板66は、同一の初期シーケンスにしたがってそれぞれヘッド41の動作を制御する。印刷時に鮮明な画像を形成するためには、15個のヘッドの動作を揃える必要があることから、印刷データ制御基板65による制御動作と印刷データ制御基板66による制御動作とが同期するようにして印刷が行われる。以後、印刷データ制御基板65を第1制御部とも呼び、印刷データ制御基板66を第2制御部とも呼ぶ。
【0077】
<制御動作の復旧方法の説明>
図10に、第2施形態において、正常な制御動作に復旧させるためのフローを示す。第2実施形態では、情報シーケンスと実行シーケンスとを比較した後の処理(S207以降の行程)が第1実施形態とは異なる。以下、第1実施形態と異なる点を中心に説明する。
【0078】
(S201〜S206)
初期シーケンスの視覚化(S201)を行なってから、情報シーケンスと実行シーケンスとの比較(S206)を行なうまでの処理は、第1実施形態と同様である。本実施形態では2つの制御基板(第1制御部及び第2制御部)があるため、それぞれの制御基板について(S201)〜(S206)の処理が並行して行なわれる。ただし、両制御部に保存されている初期シーケンスは共通である。また、初期シーケンス上に設定される開始点・終了点・復旧点も同一であるため、保存される情報シーケンスも両制御部で共通のものとなる。
【0079】
(S207:不一致情報の送信)
情報シーケンスと実行シーケンスとの比較の結果、不一致点が見つかった場合は、シーケンス上におけるその不一致点が発生した位置、及び、その不一致点が含まれる区間に関する情報を、他方の制御基板に送信する。
例えば、第1制御部において、不一致点が見つかった場合には、その情報が第2制御部に送信される。第1制御部において不一致点が見つかった場合、第1実施形態で説明したように、該第1制御部では異常動作と認識されてヘッドの制御が停止される。一方、第2制御部では不一致点が見つからないため、正常動作としてそのままヘッド制御が継続される。この場合、第1制御部と第2制御部とで、制御動作の同期が保てなくなる。
【0080】
そこで、本工程のように、第1制御部及び第2制御部で当該不一致についての情報を共有させることによって、両制御部の制御動作に同期ズレが生じたことを認識させる。なお、不一致情報を受信した方の制御部は、後述するS210の処理を行なうことにより、制御動作を再び同期させることができるようになっている。
【0081】
(S208:復旧点へ戻す)
不一致情報が他方の制御基板に送信された後、S107と同様に、情報シーケンス上に設定された復旧点まで戻って、該復旧点からタスクの実行を再開させる。復旧作業は第1実施形態と同様にして、設定された区間毎に行なわれる。
【0082】
(S209:不一致情報の受信)
S206で不一致点が発見されなかった場合には、続いて、他方の制御基板からの不一致情報を受信しているか否かを確認する。
例えば、第2制御部において情報シーケンスと実行シーケンスとの間で不一致点が発見された場合には、当該不一致点についての情報が第2制御部側から第1制御部側へ送信される(S207)。このとき、第1制御部自体の制御動作は正常であるが、そのまま制御動作を継続させると、第2制御部における制御動作との同期が保てなくなる。そこで、第2制御部からの不一致情報を受信しているか否かを判断し、受信していない場合はそのまま制御動作が継続され、受信している場合(第2制御部において不具合等が発生した場合)は、次のS210の処理を行なう。
【0083】
(S210:復旧点へ戻す)
一方の制御基板(例えば第1制御部)が他方の制御基板(例えば第2制御部)から不一致情報を受信した場合、当該一方の制御基板は、現在実行中のタスクを停止させ、受信した不一致情報に基づいて復旧点まで戻ってタスクを再開させる。すなわち、一方の制御基板が正常な制御動作をしている場合であっても、一端制御動作を停止させて、他方の制御基板から送信された不一致情報で指示された復旧点まで戻って制御が再開される。
【0084】
これにより、正常な動作を行っていた方の制御基板(例えば第1制御部)も、異常な動作を行っていた方の制御基板(例えば第2制御部)も、情報シーケンス上で定義された同一の復旧点から制御動作を再開させることができる。これにより、第1制御部と第2制御部とで制御動作にズレが生じることを抑制できる。さらに、S202の行程において、復旧点を第1制御部と第2制御部との同期をとる点として定義しておけば、両制御部の同期が取れた状態で制御動作を復旧させることが可能である。
【0085】
<第2実施形態の効果>
第2実施形態の印刷装置では、ヘッドの動作を制御する制御基板(制御部)を複数備え、該複数の制御部が同一のシーケンスに従って、それぞれ異なるヘッドを制御する。そして、各々の制御部が実行シーケンスと情報シーケンスとを比較して、いずれかの制御部で不一致点が見つかった場合には、該不一致点についての情報をそれ以外の制御部に送信する。その不一致情報を受信した制御部は、当該不一致情に基づいて、不一致が発生した制御部が戻すべき復旧点と同一の復旧点まで戻って制御動作を再開させる。
【0086】
これにより、複数の制御部のうちの一部で不具合等が発生した場合でも、全ての制御部について同じタスクから制御動作を再開させることができる。また、復旧点を各制御部の制御動作の同期をとる点としておくことで、全ての制御部について同期を取りつつ、制御動作を再開させることができる。
【0087】
<第2実施形態の変形例>
第2実施形態では、第1制御部及び第2制御部が、各々、情報シーケンスと実行シーケンスとを比較していたが、お互いの実行シーケンス同士を比較するようにしても良い。例えば、シーケンスの途中の段階で、両者の実行シーケンスを交換して、お互いのデータログにズレがないかを確認することで、両制御部に同期ズレが生じていないかを直接検出することができるようになる。なお、印刷装置の構成自体は第2実施形態の場合と同様とする。
【0088】
図11に第2施形態の変形例において、正常な制御動作に復旧させるためのフローを示す。本変形例では、S206〜S210の処理に換えて、S251〜S253の処理を行なう。
【0089】
S205において実行シーケンスが生成された後に、第1制御部における実行シーケンスのコピーを第2制御部へ送信し、逆に第2制御部における実行シーケンスのコピーが第1制御部に送信される。つまり、第1制御部と第2制御部とでそれぞれ実行シーケンス(コピー)を交換する(S251)。交換する実行シーケンスは現在までに実行されたタスクのデータログの全体である必要はなく、次のS252において比較される部分に関するデータログのみが交換されればよい。例えば、比較対象となる範囲が図7の区間2である場合、区間2の部分についてのみのデータログを交換すればよい。
【0090】
そして、第1制御部の実行シーケンスと、S251において交換された第2制御部の実行シーケンス(コピー)とを比較して、両者が一致するか否かが判断される(S252)。両者が一致する場合はそのままヘッド制御が継続され、不一致な箇所が見つかった場合はS253の処理が実行される。なお、第1制御部の実行シーケンスと第2制御部の実行シーケンスとで不一致な箇所が見つかるということは、両者の制御動作に同期ズレが発生していることを示している。
【0091】
第1制御部の実行シーケンスと第2制御部の実行シーケンスとが一致しない場合、各制御部は現在実行中のタスクを停止させ、その比較対象となっている区間に設定された復旧点まで戻ってタスクを再開させる。例えば、図7の区間2において不一致箇所が見つかった場合は、第1制御部及び第2制御部とも復旧点2まで戻ってタスクを再開させる。
【0092】
このように、異なる制御部の間で実行シーケンス同士を比較することで、該制御部間で生じる同期ズレの有無を直接検出することができる。そして、同期ズレが発生していた場合は、両者が同期した状態から制御動作を復旧させることができる。なお、本変形例におけるS251〜S253の処理を、第2実施形態と組み合わせることも可能である。例えば、図10のS205とS206との間でS251〜S253を実行してもよい。
【0093】
===その他の実施形態===
一実施形態としてのプリンター等を説明したが、上記の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることは言うまでもない。特に、以下に述べる実施形態であっても、本発明に含まれるものである。
【0094】
<印刷装置について>
前述の実施形態では、印刷装置としてラテラルスキャンタイプのプリンター1を例に挙げて説明したが、プリンターはヘッドが固定された、いわゆるラインプリンターであってもよいし、ヘッド41を媒体の搬送方向とは交差する方向に移動させるシリアルプリンターであってもよい。
【0095】
<ユニット制御について>
前述の実施形態では、ユニット制御の一例として、所定のシーケンスに従って、印刷データ制御基板によってヘッドの動作を制御する方法を例に挙げて説明したが、これに限られるものではない。例えば、ユニット制御回路が搬送ユニットや駆動ユニットの制御を行う際にも、本明細書中で説明した制御方法を適用することができる。
【0096】
<使用するインクについて>
前述の実施形態では、CMYKの4色のインクを使用して画像を印刷する例が説明されていたが、これに限られるものではない。例えば、ライトシアン、ライトマゼンタ、ホワイト、クリア等、CMYK以外の色のインクを用いて記録を行ってもよい。
【符号の説明】
【0097】
1 プリンター、20 搬送ユニット、21 搬送ローラー、
30 駆動ユニット、31 X軸ステージ、32 Y軸ステージ、
40 ヘッドユニット、41 ヘッド、50 検出器群、
60 コントローラー、61 インターフェース部、62 内部PC、
63 メモリー、64 ユニット制御回路、65 印刷データ制御基板、
66 印刷データ制御基板、110 コンピューター
【特許請求の範囲】
【請求項1】
複数のタスクが時系列順に並んだシーケンスの開始から終了までの間の所定のタスクの位置に復旧点が定義された情報シーケンスと、
実際に実行されたタスクのデータログからなる実行シーケンスと、
を比較して、
前記情報シーケンスと前記実行シーケンスとの間で一致しない箇所が見つかった場合には、前記復旧点まで戻って前記所定のタスクを実行させる制御部
を備えることを特徴とする印刷装置。
【請求項2】
請求項1に記載の印刷装置であって、
媒体に液体を吐出するヘッドを複数備え、
前記制御部として、
所定のシーケンスにしたがって、複数の前記ヘッドのうち所定数のヘッドの動作を制御する第1制御部と、
前記所定のシーケンスと同一のシーケンスにしたがって、複数の前記ヘッドのうち前記所定数のヘッド以外のヘッドの動作を制御する第2制御部と、
を有し、
前記第1制御部及び前記第2制御部は、各々、前記情報シーケンスと前記実行シーケンスとを比較して、
前記第1制御部及び前記第2制御部のうちのどちらか一方で、前記情報シーケンスと前記実行シーケンスとの間で一致しない箇所が見つかった場合には、
前記一致しない箇所についての情報を、前記一方から他方に向けて送信し、
前記他方は、送信された前記一致しない箇所についての情報に基づいて、前記一方が戻るべき前記復旧点まで戻って、前記所定のタスクを実行させることを特徴とする印刷装置。
【請求項3】
請求項2に記載の印刷装置であって、
前記復旧点は、前記第1制御部が実行するタスクと、前記第2制御部が実行するタスクと、の同期をとる点であることを特徴とする印刷装置。
【請求項4】
請求項1〜3のいずれかに記載の印刷装置であって、
前記制御部は、画像を表示可能な表示装置に、
前記情報シーケンス及び前記実行シーケンスを表示させることを特徴とする印刷装置。
【請求項5】
請求項4に記載の印刷装置であって、
前記制御部は、前記情報シーケンスと前記実行シーケンスとの間で一致しない箇所が見つかった場合には、
前記表示装置に表示された前記情報シーケンス及び前記実行シーケンス上に、前記一致しない箇所を示すことを特徴とする印刷装置。
【請求項6】
(A)複数のタスクが時系列順に並んだシーケンスの開始から終了までの間の所定のタスクの位置に復旧点が定義された情報シーケンスと、
実際に実行されたタスクのデータログからなる実行シーケンスと、
を制御部によって比較することと、
(B)前記情報シーケンスと前記実行シーケンスとの間で一致しない箇所が見つかった場合には、前記復旧点まで戻って前記所定のタスクを実行させることと、
を有する印刷方法。
【請求項1】
複数のタスクが時系列順に並んだシーケンスの開始から終了までの間の所定のタスクの位置に復旧点が定義された情報シーケンスと、
実際に実行されたタスクのデータログからなる実行シーケンスと、
を比較して、
前記情報シーケンスと前記実行シーケンスとの間で一致しない箇所が見つかった場合には、前記復旧点まで戻って前記所定のタスクを実行させる制御部
を備えることを特徴とする印刷装置。
【請求項2】
請求項1に記載の印刷装置であって、
媒体に液体を吐出するヘッドを複数備え、
前記制御部として、
所定のシーケンスにしたがって、複数の前記ヘッドのうち所定数のヘッドの動作を制御する第1制御部と、
前記所定のシーケンスと同一のシーケンスにしたがって、複数の前記ヘッドのうち前記所定数のヘッド以外のヘッドの動作を制御する第2制御部と、
を有し、
前記第1制御部及び前記第2制御部は、各々、前記情報シーケンスと前記実行シーケンスとを比較して、
前記第1制御部及び前記第2制御部のうちのどちらか一方で、前記情報シーケンスと前記実行シーケンスとの間で一致しない箇所が見つかった場合には、
前記一致しない箇所についての情報を、前記一方から他方に向けて送信し、
前記他方は、送信された前記一致しない箇所についての情報に基づいて、前記一方が戻るべき前記復旧点まで戻って、前記所定のタスクを実行させることを特徴とする印刷装置。
【請求項3】
請求項2に記載の印刷装置であって、
前記復旧点は、前記第1制御部が実行するタスクと、前記第2制御部が実行するタスクと、の同期をとる点であることを特徴とする印刷装置。
【請求項4】
請求項1〜3のいずれかに記載の印刷装置であって、
前記制御部は、画像を表示可能な表示装置に、
前記情報シーケンス及び前記実行シーケンスを表示させることを特徴とする印刷装置。
【請求項5】
請求項4に記載の印刷装置であって、
前記制御部は、前記情報シーケンスと前記実行シーケンスとの間で一致しない箇所が見つかった場合には、
前記表示装置に表示された前記情報シーケンス及び前記実行シーケンス上に、前記一致しない箇所を示すことを特徴とする印刷装置。
【請求項6】
(A)複数のタスクが時系列順に並んだシーケンスの開始から終了までの間の所定のタスクの位置に復旧点が定義された情報シーケンスと、
実際に実行されたタスクのデータログからなる実行シーケンスと、
を制御部によって比較することと、
(B)前記情報シーケンスと前記実行シーケンスとの間で一致しない箇所が見つかった場合には、前記復旧点まで戻って前記所定のタスクを実行させることと、
を有する印刷方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2012−121304(P2012−121304A)
【公開日】平成24年6月28日(2012.6.28)
【国際特許分類】
【出願番号】特願2010−276103(P2010−276103)
【出願日】平成22年12月10日(2010.12.10)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
【公開日】平成24年6月28日(2012.6.28)
【国際特許分類】
【出願日】平成22年12月10日(2010.12.10)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
[ Back to top ]