(57)【要約】【課題】記録ヘッドをもちいた記録動作を行う制御において、記録前処理と記録処理を１つのタスクで行う場合、ＣＲの駆動開始前に記録前処理を行うために、ウエイト時間が生じ記録動作のスループットが向上しない。【解決手段】記録前処理と記録処理を行うためのタスクを２つ設け、２つのタスクを管理するタスクから、一方のタスクが記録前処理を、もう一方のタスクが記録処理を行うようにコマンドを出力する。【選択図】　　　図１
2004082524.tif 000002
【特許請求の範囲】
【請求項１】
記録ヘッドを走査させる走査手段を備えた記録装置の制御方法であって、
前記記録のための記録前処理と前記走査手段の実行処理とを行う第１、第２プリント処理工程と、
前記両プリント処理工程に処理の開始を指示する管理工程とを有し、
前記管理工程からの前記指示を受けて、前記第１プリント処理工程は前記実行処理を、前記第２プリント処理工程は次の走査のための前記記録前処理を、並行して行うことを特徴とする記録装置の制御方法。
【請求項２】
前記記録前処理工程は、前記記録ヘッドの温度データの取得を行うことを特徴とする請求項１に記載の記録装置の制御方法。
【請求項３】
前記記録前処理工程は、前記記録記録ヘッドのヒートトリガのタイミングを算出することを特徴とする請求項１に記載の記録装置の制御方法。
【請求項４】
前記記録処理工程は、前記走査手段を駆動させる走査ドライバーと、前記記録ヘッドを駆動させる記録ヘッドドライバーとを用い、前記走査ドライバー、前記記録ヘッドドライバーを排他的に用いることを特徴とする請求項１に記載の記録装置の制御方法。
【請求項５】
前記記録処理工程は、前記搬送手段を駆動させる搬送ドライバーを用い、前記記録ヘッドドライバーと前記搬送ドライバーの排他用資源取得は、前記走査手段が走査を開始する直前に行うことを特徴とする請求項１に記載の記録装置の制御方法。
【請求項６】
前記ヒートトリガのタイミングの算出は、前記走査ドライバーの取得前に行って、前記走査ドライバー取得後にヒートトリガの設定処理を行うことを特徴とする請求項１に記載の記録装置の制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はインクジェットの記録ヘッドを用いて記録を行う記録装置の制御に関するものである。
【０００２】
【従来の技術】
従来、プリンタなど記録装置は、リアルタイムＯＳ（組み込み機器用のオペレーションシステム）に基づいて、複数のタスクを実行させることで、記録装置の制御を行っていた。この複数のタスクのうち、記録動作を実行するタスク（例えば記録タスクあるいは印字タスクと呼ばれる）は１つであり、記録装置のエンジン部分を管理するエンジンコントローラから記録メッセージがこの記録タスクに送られて記録を実行する。例えば、記録ヘッドを走査させて記録を行うシリアルタイプのプリンターの場合には、例えば、１回の走査毎に記録タスクが実行する。１回の走査記録の処理が終わるとエンジンコントローラから記録メッセージが送られ、記録すべき画像データを全て出力するまで、繰り返し実行される。なお、この記録を開始する前には、記録前の処理がなされる。そこで、記録タスクは、記録を開始する前の記録前処理も行っていた。
【０００３】
【発明が解決しようとする課題】
しかし、記録前処理と記録動作を１つのタスクでおこなっている場合は、記録前処理のおこなう時間分記録動作の開始が遅くなる（記録動作時間が長くなる）という課題があった。
【０００４】
つまり、記録ヘッドを搭載したキャリッジを動作させる直前に記録前処理を行うと、その時間待ち状態となる。現在、インクジェットプリンタなどの記録装置は、高解像度化、高画質化が進み、記録前の設定処理（例えば、記録ヘッドのヒート範囲の計算、記録ヘッドの温度情報の取得など）の量が増加していく傾向にある。このため、記録前の設定処理の時間がかかってしまう。
【０００５】
本発明は、上記の課題を解消するためになされたもので、キャリッジの駆動直前の記録前処理の時間を短縮することである。これにより、記録装置のスループットを向上させることができる。
【０００６】
【課題を解決するための手段】
上記目的を達成させるために、本発明の記録装置の制御方法は、記録ヘッドを走査させる走査手段を備えた記録装置の制御方法であって、記録のための記録前処理と走査手段の実行処理とを行う第１、第２プリント処理工程と、両プリント処理工程に処理の開始を指示する管理工程とを有し、管理工程からの指示を受けて、第１プリント処理工程は実行処理を、第２プリント処理工程は次の走査のための記録前処理を、並行して行う。
【０００７】
【発明の実施の形態】
図１は、本発明の構成を示す図であり、２０は、記録装置（プリンタ）である。１０は記録装置に接続されているホストコンピュータ（ＰＣ）である。このホストコンピュータから記録装置へ画像データやコマンドが送られる。１１は、ホストコンピュータとプリンタを接続する、例えばＵＳＢのようなインターフェース（ＩＦ）である。
【０００８】
２０のプリンタを制御するソフトウエアのシステム構成は、ホストからデータを受信してプリンタが印刷を行うために２１から２６のタスクがある。２１のＩｎｔｅｒｆａｃｅ制御タスクは、ホストからのデータをプリンタの受信バッファに受信したときの制御を司るタスクである。２２のプリントデータ生成タスクは、受信バッファに受信したデータをワークバッファに展開し、さらに記録（印字）用のデータ形式にして記録（印字）バッファに格納するタスクである。また、プリントデータ生成タスクは、２３のプリンタエンジンコントロールタスクに対して印字制御用のシーケンシャルメッセージ（給紙メッセージ、印字メッセージ、紙送りメッセージ、排紙メッセージ）を送信する。
【０００９】
２３のプリンタエンジンコントロールタスクは、２２のプリントデータ生成タスクから受信したシーケンシャルメッセージをキューイングして、２４のプリントシーケンサタスク１、２５のプリントシーケンサタスク２、２６のペーパーシーケンサータスクからＥｎｄメッセージ（終了メッセージ）の通知を受けるとメッセージを処理するタスクにメッセージを送信する。
【００１０】
２４と２５は、記録（印字）メッセージに従い記録（印字）を行うタスクであり、２６は、給紙メッセージ、紙送りメッセージ、排紙メッセージを受けて、それぞれ給紙動作、紙送り動作、排紙動作を行うタスクである。
【００１１】
図４は、記録装置（プリンター）の斜視図である。１００５は記録ヘッドであり、キャリッジ１００４上に搭載されてシャフト１００３に沿って長手方向に往復運動可能となっている。記録ヘッドより吐出されたインクは、記録ヘッドと微小な間隔をおいて、プラテン１００１に記録面を規制された被記録材１００２に到達し、その上に画像を形成する。
【００１２】
記録ヘッドには、フレキシブルケーブル１０１９を介して画像データに応じて吐出信号が供給される。なお、１０１４はキャリッジ１００４をシャフト１００３に沿って走査させるためのキャリッジモーターである。１０１３はモーター１０１４の駆動力をキャリッジ１００４に伝達するワイヤである。また、１０１８はプラテンローラー１００１に結合して被記録媒体１００２を搬送させるための搬送モーターである。
【００１３】
この記録装置を制御するための制御部は、ＣＰＵ、ＡＳＩＣ、ＲＯＭ、ＲＡＭで構成されている。ＣＰＵは、図３で説明するようなソフトウエアが実行される。ＲＯＭはこのソフトウエアが格納されており、ＲＡＭは、プログラムを実行するためのワークエリアや記録データの格納に使われる。ＡＳＩＣは、記録ヘッドの温度取得のためのレジスタ、ヒートウインドウのレジスタなどを有しており、記録ヘッドの駆動回路、記録データの処理回路などを有する。記録ヘッドの温度取得は、温度取得レジスタに設定することで記録ヘッドの温度のデジタルデータを取得できる。このデジタルデータの取得には、記録動作開始前に取得するという制限、デジタル値を得るために所定の時間がかかってしまう。
【００１４】
図２は、プリンタのエンジン部のソフト構成を示す図である。１００から１０２は、リアルタイムＯＳのイベントフラグである。１０３から１０６までがリアルタイムＯＳにて動作するタスクである。１０７から１０９までのドライバー部は、１０４から１０６までのシーケンサータスクからサブルーチンコールされる関数である。１０７はキャリッジモーターを駆動するＣＲドライバーである。１０８は被記録媒体（例えば記録紙、ＯＨＰなど）を搬送する搬送手段（搬送モーター）を駆動するＬＦドライバーである。１０９は、記録ヘッドを駆動させ、記録ヘッドからインクを吐出させるＰｒｉｎｔＨｅａｄドライバーである。ＣＲドライバーやＬＦドライバーは、ＣＲモーターやＬＦモーターを始動や停止処理などを行う。
【００１５】
１００のドライバー資源イベントフラグは、シーケンサータスクで使用されるドライバー部の処理を排他するためのイベントフラグである。例えば、シーケンシャルメッセージをシーケンサーが実際に実行するときに、そのシーケンス内で使用する同じドライバーが同時に使用（サブルーチンコール）されないようにしている。例えば、印字メッセージを受けて、プリントシーケンサタスク１（ｅｇＰＲＳ１）とプリントシーケンサタスク２（ｅｇＰＲＳ２）がＣＲドライバーとＰｒｉｎｔＨｅａｄドライバーを使用する（ドライバー資源として使用する）。
【００１６】
１０１は、紙送りと記録（印字）の排他用のイベントフラグである。プリンタは、記録ためにＣＲ動作（キャリッジの走査）と紙送りのＬＦ動作を同時に駆動しており、紙送り中に次の走査の許可をこのイベントフラグにより行う。
【００１７】
１０２は、モータードライバステータス用のイベントフラグであり、１０４〜１０６の各タスクからＣＲドライバー、ＬＦドライバーがサブルーチンコールされてハンドラが起動されて、モータードライバの駆動が終了するとハンドラから本イベントフラグに通知される。
【００１８】
１０３は、プリンタエンジン部のコントロールタスクであるエンジンコントローラータスク（ｅｇＣＴＭ）で、ｅｇＰＲＳ１とｅｇＰＲＳ２に記録（印字）データがなくなるまで、交互に印字メッセージ（ｍｅｓＥｇＰＲＩＮＴ）を送信する。紙送りメッセージ（ｍｅｓＦＥＥＤ）は、１０５のペーパーシーケンサー（ｅｇＰＰＳ）に送信をする。
【００１９】
ｅｇＰＲＳ１は、ｍｅｓＥｇＰＲＩＮＴを受信すると、ＣＲ駆動開始直前でＣＲ駆動中に紙送り動作をさせるためにｅｇＣＴＭ１０３にＥｎｄメッセージを送信する。ｅｇＣＴＭ１０３は、Ｅｎｄメッセージを受信するとｅｇＰＰＳ１０５に対してｍｅｓＦＥＥＤを送信する。ｅｇＰＰＳ１０５はＬＦ資源を獲得すると紙送り動作と次の印字スキャンを同時駆動させるためにｅｇＣＴＭ１０３にＥｎｄメッセージを送信する。
【００２０】
ｅｇＣＴＭ１０３は、Ｅｎｄメッセージを受信すると１０６のｅｇＰＲＳ２に対してｍｅｓＥｇＰＲＩＮＴを送信する。ｅｇＰＲＳ２は、ｍｅｓＥｇＰＲＩＮＴを受信するとＣＲ駆動開始直前でＣＲ駆動中に紙送り動作をさせるためにｅｇＣＴＭ１０３にＥｎｄメッセージを送信する。
【００２１】
このように、プリントシーケンサータスク１（ｅｇＰＲＳ１）とプリントシーケンサータスク２（ｅｇＰＲＳ２）が、あたかも同時に実行（動作）するところが本発明の特徴である。（いいかえると並行して実行させることができる）。なお、ｅｇＰＲＳ１とｅｇＰＲＳ２は、全く同じ処理を行うことができ、タスクとしてシステム上に２つあるがその構成は同じである。
【００２２】
図３では、ｅｇＰＲＳ１とｅｇＰＲＳ２が記録（印字）前処理と記録（印字）処理を同時に行うかを示すタスクの状態遷移を示す図である。
【００２３】
エンジン部のコントローラタスク（ｅｇＣＴＭ）がプリントシーケンサータスク１（ｅｇＰＲＳ１）に印字メッセージ（ｍｅｓＥｇＰＲＩＮＴ）を送信する（Ｔ１）。まず、ｅｇＰＲＳ１では、ドライバー資源のイベントフラグでＷａｉｔフラグすることによりＰｒｉｎｔＨｅａｄドライバーの資源（ヘッドの資源）を獲得する（Ｔ３）。ｅｇＰＲＳ１は、ヘッド資源獲得後に印字前処理を行う。
【００２４】
印字前処理として、まず、記録ヘッドの温度の取得処理を行う。次に印字制御のプリントバッファのアドレス設定処理、印字のマルチパス制御のマスク設定処理、印字モードのＩｎｄｅｘモード時は、ＩｎｄｅｘパターンのｌｏｏｋＵｐＴａｂｌｅの設定処理を行う。印刷データの範囲からヒートウィンドウの開始終了位置（プリントヘッドにヒートトリガがかかる範囲）を色毎に計算して、グローバル変数に色毎の開始終了位置を保存しておく。これらの処理が印字前処理である。
【００２５】
次にドライバー資源のイベントフラグでＷａｉｔフラグすることによりＣＲドライバーの資源を獲得する（Ｔ５）。ＣＲ資源獲得後にヒートウインドウ開始終了のレジスタ設定を行う。ヒートウィンドウ開始終了レジスタ設定後に、印字と紙送り排他用のイベントフラグのＬＦＨｅａｔＦｒｅｅ（ＬＦＨｅａｔＥｎｄ）資源の獲得要求を出す（Ｔ６）。
【００２６】
ＬＦＨｅａｔＦｒｅｅ資源を獲得すると（Ｔ７）、ｅｇＰＲＳ１は、紙送り動作をさせるためにｅｇＣＴＭにＥｎｄＭｓｇを送信する。
【００２７】
ｅｇＰＲＳ１はＥｎｄＭｓｇ送信後にＣＲ駆動関数をサブルーチンコールして、ＣＲモーターのハンドラを起動させて、ＣＲを駆動させる。このときｅｇＰＲＳ１は、ＣＲモーターの駆動終了待ちになりＷａｉｔ状態になる。
【００２８】
ｅｇＣＴＭは、ｅｇＰＲＳ１からのＥｎｄＭｓｇを受信すると（Ｔ８）、次のシーケンシャルメッセージであるｍｅｓＦＥＥＤをペーパーシーケンサータスク（ｅｇＰＰＳ）に送信する（Ｔ９）。すると、ｅｇＰＰＳでは、ＬＦドライバー資源の獲得要求を出す（Ｔ１０）。ＬＦ資源は、記録動作では使用していないのですぐに獲得できる。
【００２９】
このタイミングで、ＣＲは駆動を開始し、ヒートウインドウの設定に基づいて、記録を行う。ｅｇＰＰＳは、ＬＦ資源を獲得後に、次の印字スキャン動作のために、ｅｇＣＴＭにＥｎｄＭｓｇを送信する（Ｔ１２）。これは、ｅｇＰＲＳ２が次の印字前処理を行うためである。
【００３０】
そして、ｅｇＰＰＳは、印字と紙送り排他用のイベントフラグのＬＦＨｅａｔＦｒｅｅ資源が解放されるのをＷａｉｔしている状態となる。
【００３１】
ｅｇＣＴＭは、ｅｇＰＰＳからのＥｎｄＭｓｇを受信すると次のシーケンシャルメッセージであるｍｅｓＥｇＰＲＩＮＴをプリントシーケンサータスク２（ｅｇＰＲＳ２）に送信する。ｅｇＰＲＳ２は、次のスキャン処理（記録動作）を実行するため、ドライバー資源のイベントフラグでＷａｉｔフラグすることによりＰｒｉｎｔＨｅａｄの資源を解放されるのをＷａｉｔしている状態となる。
【００３２】
ｅｇＰＲＳ１で駆動させたキャリッジ（ＣＲ）が印字終了位置を通過すると（ヒートを終了すると）、印字終了割り込みが入る。そして、その印字終了割り込み（ＨｅａｔＨｄｒ）の処理で、ドライバーのＨｅａｄ資源の解放（Ｔ１３）と、印字と紙送り排他用のＬＦＨｅａｔＦｒｅｅ資源の解放（Ｔ１４）とする。ｅｇＰＰＳは、印字と紙送り排他用のＬＦＨｅａｔＦｒｅｅ資源の獲得要求を出す（Ｔ１５）。そして、ｅｇＰＰＳは、ＬＦＨｅａｔＦｒｅｅ資源を獲得すれば（Ｔ１７）、ＬＦモーターを起動させてＬＦを駆動させる。このときｅｇＰＰＳは、ＬＦモーターの駆動終了待ちになりＷａｉｔ状態になる。このように、ＬＦＨｅａｔＦｒｅｅ資源（ＬＦＨｅａｔＥｎｄフラグ）は、単に資源の排他処理を行うだけでなく、ＬＦ駆動の開始のタイミングをとるためも使われている。
【００３３】
次にドライバーのＨｅａｄ資源が解放された（Ｔ１３）ので、ｅｇＰＲＳ２がＨｅａｄ資源の獲得要求を出し（Ｔ１８）、Ｈｅａｄ資源獲得後にｅｇＰＲＳ１と同様の印字前処理を行う（Ｔ１９）。このように、ｅｇＰＲＳ１により、記録（印字）のための動作が終了するころには、ｅｇＰＲＳ２は、印字前処理をおこなうことができる。そして、この印字前処理後に、ドライバー資源のＣＲ資源獲得要求を出す（Ｔ２１）。
【００３４】
ＣＲの動作が終了すると、ｅｇＰＲＳにより、ＣＲ資源の解放を行う（Ｔ２０）と、ｅｇＰＲＳ２がＣＲ資源を要求し（Ｔ２１）、ＣＲ資源を獲得する（Ｔ２２）。
【００３５】
ｅｇＰＲＳ２は、ＣＲ資源を獲得すると、ヒートウインドウのレジスタの設定を行い、その後、ＬＦＨｅａｔＥｎｄ資源獲得要求を行う（Ｔ２３）。ＬＦ動作中に、次の印字スキャンのＣＲの動作開始ＯＫのタイミングになると、ＬＦＨｄｒからＬＦＨｅａｔＥｎｄ資源（ＬＦＨｅａｔＦｒｅｅ資源を）を解放する。そして、ｅｇＰＲＳ２は、ＬＦＨｅａｔＦｒｅｅ資源を獲得することができる（Ｔ２５）。これにより、ＬＦ動作中ではあるが、ＣＲの駆動を開始することができる。（図３では、図面のスペースの都合上ＬＦの駆動が停止した後、ＣＲの駆動が開始されたように表されているが、ＣＲとＬＦの同時駆動が行われる場合もある。）。Ｔ２６以降のついては、先に述べたことと同様であるので省略する。
【００３６】
これらの処理を、印字データが全て記録されるまで、上記処理を繰り返す。ｅｇＣＴＭは、印字メッセージ（ｍｅｓＥｇＰＲＩＮＴ）を全く同じ機能をもつｅｇＰＲＳ１とｅｇＰＲＳ２に交互に出すだけで、印字前処理と印字処理を並行して行うことができるので、印字前処理を短縮化でき、記録動作のスループットが向上する。
【００３７】
【発明の効果】
以上説明したように、本発明によれば、記録前処理をキャリッジの駆動開始直前ではなく、予め余裕のあるタイミングで行うことで、キャリッジの駆動開始できるタイミングで、すぐにキャリッジの走査を開始でき、記録動作のスループットが向上する。
【図面の簡単な説明】
【図１】記録装置を制御するシステム構成を示す図である。
【図２】記録装置のエンジン部のソフト構成を示す図である。
【図３】記録装置の記録動作を行う際の、記録前処理、記録処理のタスクの状態遷移を示す図である。
【図４】記録装置の斜視図である。
【符号の説明】
１０３　エンジンコントローラータスク（ｅｇＣＴＭ）
１０４　プリントシーケンサタスク１（ｅｇＰＲＳ１）
１０５　ペーパーシーケンサタスク（ｅｇＰＰＳ）
１０６　プリントシーケンサタスク２（ｅｇＰＲＳ２）
１００４　キャリッジ
１００５　記録ヘッド
１０１４　キャリッジモーター
１０１８　搬送モーター
【図１】
2004082524.tif 000003
【図２】
2004082524.tif 000004
【図３】
2004082524.tif 000005
【図４】
2004082524.tif 000006