(57)【特許請求の範囲】
【請求項１】
処理すべき命令を逐次、発行する命令発行タスクと、前記命令を受信して該命令の内容にしたがって逐次、処理を行う処理実行タスクとの二つのタスクを有し、前記命令発行タスクからＦＩＦＯバッファを介して前記処理実行タスクに対して命令を通知する順方向通信を行うと共に、前記処理実行タスクから前記命令発行タスクに対して各命令の処理実行完了を通知する逆方向通信を行うマルチタスクデータ処理システムのタスク間同期通信方法において、
前記命令発行タスクが前記ＦＩＦＯバッファへ送信した命令の紙送り量をジョブ開始時点から累積して第１の記憶装置へ記憶し、
前記処理実行タスクが前記ＦＩＦＯバッファから取り出した命令の紙送り量をジョブ開始時点から累積して前記第２の記憶装置に記憶し、
前記処理実行タスクは、記録媒体送り命令に対する処理実行時に前記第２の記憶装置に累積して記憶された紙送り量と記録媒体終端までの距離を前記命令発行タスクに通知し、
前記命令発行タスクは受け取った実行結果に付加されて通知された紙送り量と、前記第１の記憶装置に累積して記憶された紙送り量の差分より前記ＦＩＦＯバッファ中に蓄積されている未実行処理量を算出し、
算出された未実行処理量と前記処理実行タスクから通知された記録媒体終端までの距離とに基づき終端までの距離推測値を算出し、算出された終端までの距離推測値に基づき、印字記録動作命令を発行するか、ジョブ終了命令を発行する
ことを特徴とするタスク間同期通信方法。
【請求項２】
請求項１に記載のタスク間同期通信方法において、前記命令発行タスクと前記処理実行タスクがそれぞれ異なる装置上で動作し、２つの前記装置を相互接続する通信ケーブルを介して前記命令および前記実行結果を通知することを特徴とするタスク間同期通信方法。
【請求項３】
前記マルチタスクデータ処理システムは、記録を行う印字記録装置であることを特徴とする請求項１に記載のタスク間同期通信方法。
【請求項４】
請求項１に記載の処理すべき命令は、前記印字記録装置での記録媒体送り動作命令であることを特徴とする請求項３に記載のタスク間同期通信方法。
【請求項５】
請求項１に記載の命令発行タスクに対して記録媒体送り動作完了時点での記録媒体終端検出状況および記録媒体終端までの距離を通知し、該命令発行タスクは当該通知された記録媒体終端検出状況および記録媒体終端までの距離に基づいて、前記録媒体終端までの距離を管理し、記録媒体終端を過ぎての印字記録動作についての命令発行を行わないようにしたことを特徴とする請求項４に記載のタスク間同期通信方法。
【請求項６】
前記命令発行タスクは、前記記録媒体終端に達するか否かが確定した時点で次の命令の発行処理を再開することを特徴とする請求項５に記載のタスク間同期通信方法。
【請求項７】
前記命令発行タスクは、ジョブ開始時点に前記第１の記憶装置の送信処理量をクリアにすることを特徴とする請求項１に記載のタスク間同期通信方法。
【請求項８】
前記処理実行タスクは、ジョブ開始時点に前記第２の記憶装置の受信処理量をクリアにすることを特徴とする請求項１に記載のタスク間同期通信方法。
【請求項９】
印字記録動作命令、記録媒体送り命令、及びジョブ終了命令を発行する命令発行タスクと、
前記命令発行タスクからＦＩＦＯバッファを介して命令が通知される処理実行タスクと、搬送される記録媒体に記録を行う印字機構とを有し、
前記処理実行タスクは、ＦＩＦＯバッファより命令を取得し、印字記録命令の場合、印字記録動作を行い、記録媒体送り命令の場合、記録媒体送り動作を行い、累積処理量ｙに記録媒体送り量を加算し、記録媒体終端までの距離ｚと累積処理量ｙとを命令発行タスクに通知し、ジョブ終了命令の場合、ジョブを終了し、
前記命令発行タスクは、記録媒体送り命令を発行する場合、記録媒体送り命令を発行し、累積処理量ｙ’に送り量を加算し、印字記録命令を発行する場合、前記処理実行タスクから通知された累積処理量ｙと累積処理量ｙ’とに基づき、ＦＩＦＯバッファ内の未実行処理量Δｙを算出し、算出された未実行処理量Δｙと前記処理実行タスクから通知された記録媒体終端までの距離ｚとに基づき終端までの距離推測値ｚ’を算出し、算出された終端までの距離推測値ｚ’に基づき、印字記録動作命令を発行するか、ジョブ終了命令を発行する
ことを特徴とするプリンタ。
【請求項１０】
印字記録動作命令、記録媒体送り命令、及びジョブ終了命令を発行する命令発行タスクと、前記命令発行タスクからＦＩＦＯバッファを介して命令が通知される処理実行タスクと、搬送される記録媒体に記録を行う印字機構とを有するプリンタにおける制御方法であって、
前記処理実行タスクは、ＦＩＦＯバッファより命令を取得し、印字記録命令の場合、印字記録動作を行い、記録媒体送り命令の場合、記録媒体送り動作を行い、累積処理量ｙに記録媒体送り量を加算し、記録媒体終端までの距離ｚと累積処理量ｙとを命令発行タスクに通知し、ジョブ終了命令の場合、ジョブを終了し、
前記命令発行タスクは、記録媒体送り命令を発行する場合、記録媒体送り命令を発行し、累積処理量ｙ’に送り量を加算し、印字記録命令を発行する場合、前記処理実行タスクから通知された累積処理量ｙと累積処理量ｙ’とに基づき、ＦＩＦＯバッファ内の未実行処理量Δｙを算出し、算出された未実行処理量Δｙと前記処理実行タスクから通知された記録媒体終端までの距離ｚとに基づき終端までの距離推測値ｚ’を算出し、算出された終端までの距離推測値ｚ’に基づき、印字記録動作命令を発行するか、ジョブ終了命令を発行する
ことを特徴とする制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は処理すべき命令を逐次発行する命令発行タスクと、命令を受信して命令の内容にしたがって逐次処理を行う処理実行タスクとの二つのタスクからなり、順方向通信手段、すなわち、命令発行タスクからＦＩＦＯバッファを介して処理実行タスクに対して命令を通知する順方向通信手段と、逆方向通信手段、すなわち、処理実行タスクから命令発行タスクに対して各命令の処理実行完了を通知する逆方向通信手段とを持つマルチタスクデータ処理システムに好適なタスク間同期通信方法に関する。
【０００２】
【従来の技術】
従来、マルチタスクデータ処理システムにおいては、命令発行タスクから処理実行タスクへの命令を通知する順方向通信手段中にＦＩＦＯバッファを設け、処理実行タスクが一つの命令に対する処理を実行中に命令発行タスクは次の命令発行処理を行えるような構成を取ることによって、システム全体の処理効率を上げている。
【０００３】
【発明が解決しようとする課題】
しかしながら、処理実行タスクから通知される実行結果の内容にしたがって命令発行タスクの処理を変更して、発行する命令の内容を変えるなどの命令発行制御を行う必要がある場合がある。この場合には、命令発行タスクから発行された全命令に対する処理実行タスクの命令処理実行が完了されるまで命令発行タスクは実行完了待ちをする必要がある。このために上記ＦＩＦＯバッファを設けている利点が活されず、処理効率が悪くなるという問題があった。
【０００４】
そこで、本発明の目的は、命令発行タスクおよび処理実行タスクの間の通信の処理効率を向上させるタスク間同期通信方法を提供することにある。
【０００５】
【課題を解決するための手段】
このような目的を達成するために、請求項１の発明は、処理すべき命令を逐次、発行する命令発行タスクと、前記命令を受信して該命令の内容にしたがって逐次、処理を行う処理実行タスクとの二つのタスクを有し、前記命令発行タスクからＦＩＦＯバッファを介して前記処理実行タスクに対して命令を通知する順方向通信を行うと共に、前記処理実行タスクから前記命令発行タスクに対して各命令の処理実行完了を通知する逆方向通信を行うマルチタスクデータ処理システムのタスク間同期通信方法において、前記命令発行タスクが前記ＦＩＦＯバッファへ送信した命令の紙送り量をジョブ開始時点から累積して第１の記憶装置へ記憶し、前記処理実行タスクが前記ＦＩＦＯバッファから取り出した命令の紙送り量をジョブ開始時点から累積して前記第２の記憶装置に記憶し、前記処理実行タスクは、記録媒体送り命令に対する処理実行時に前記第２の記憶装置に累積して記憶された紙送り量と記録媒体終端までの距離を前記命令発行タスクに通知し、前記命令発行タスクは受け取った実行結果に付加されて通知された紙送り量と、前記第１の記憶装置に累積して記憶された紙送り量の差分より前記ＦＩＦＯバッファ中に蓄積されている未実行処理量を算出し、算出された未実行処理量と前記処理実行タスクから通知された記録媒体終端までの距離とに基づき終端までの距離推測値を算出し、算出された終端までの距離推測値に基づき、印字記録動作命令を発行するか、ジョブ終了命令を発行することを特徴とする。
【０００６】
請求項２の発明は、請求項１に記載のタスク間同期通信方法において、前記命令発行タスクと前記処理実行タスクがそれぞれ異なる装置上で動作し、２つの前記装置を相互接続する通信ケーブルを介して前記命令および前記実行結果を通知することを特徴とする。
【０００７】
請求項３の発明は、前記マルチタスクデータ処理システムは、記録を行う印字記録装置であることを特徴とする。
【０００８】
請求項４の発明は、請求項１に記載の処理すべき命令は、前記印字記録装置での記録媒体送り動作命令であることを特徴とする。
【０００９】
請求項５の発明は、請求項１に記載の命令発行タスクに対して記録媒体送り動作完了時点での記録媒体終端検出状況および記録媒体終端までの距離を通知し、該命令発行タスクは当該通知された記録媒体終端検出状況および記録媒体終端までの距離に基づいて、前記記録媒体終端までの距離を管理し、記録媒体終端を過ぎての印字記録動作についての命令発行を行わないようにしたことを特徴とする。
【００１０】
請求項６の発明は、前記命令発行タスクは、前記記録媒体終端に達するか否かが確定した時点で次の命令の発行処理を再開することを特徴とする。
【００１１】
請求項７の発明は、前記命令発行タスクは、ジョブ開始時点に前記第１の記憶装置の送信処理量をクリアにすることを特徴とする。
【００１２】
請求項８の発明は、前記処理実行タスクは、ジョブ開始時点に前記第２の記憶装置の受信処理量をクリアにすることを特徴とする。
【００１３】
請求項９の発明は、印字記録動作命令、記録媒体送り命令、及びジョブ終了命令を発行する命令発行タスクと、前記命令発行タスクからＦＩＦＯバッファを介して命令が通知される処理実行タスクと、搬送される記録媒体に記録を行う印字機構とを有し、前記処理実行タスクは、ＦＩＦＯバッファより命令を取得し、印字記録命令の場合、印字記録動作を行い、記録媒体送り命令の場合、記録媒体送り動作を行い、累積処理量ｙに記録媒体送り量を加算し、記録媒体終端までの距離ｚと累積処理量ｙとを命令発行タスクに通知し、ジョブ終了命令の場合、ジョブを終了し、前記命令発行タスクは、記録媒体送り命令を発行する場合、記録媒体送り命令を発行し、累積処理量ｙ’に送り量を加算し、印字記録命令を発行する場合、前記処理実行タスクから通知された累積処理量ｙと累積処理量ｙ’とに基づき、ＦＩＦＯバッファ内の未実行処理量Δｙを算出し、算出された未実行処理量Δｙと前記処理実行タスクから通知された記録媒体終端までの距離ｚとに基づき終端までの距離推測値ｚ’を算出し、算出された終端までの距離推測値ｚ’に基づき、印字記録動作命令を発行するか、ジョブ終了命令を発行することを特徴とする。
【００１４】
請求項１０の発明は、印字記録動作命令、記録媒体送り命令、及びジョブ終了命令を発行する命令発行タスクと、前記命令発行タスクからＦＩＦＯバッファを介して命令が通知される処理実行タスクと、搬送される記録媒体に記録を行う印字機構とを有するプリンタにおける制御方法であって、前記処理実行タスクは、ＦＩＦＯバッファより命令を取得し、印字記録命令の場合、印字記録動作を行い、記録媒体送り命令の場合、記録媒体送り動作を行い、累積処理量ｙに記録媒体送り量を加算し、記録媒体終端までの距離ｚと累積処理量ｙとを命令発行タスクに通知し、ジョブ終了命令の場合、ジョブを終了し、前記命令発行タスクは、記録媒体送り命令を発行する場合、記録媒体送り命令を発行し、累積処理量ｙ’に送り量を加算し、印字記録命令を発行する場合、前記処理実行タスクから通知された累積処理量ｙと累積処理量ｙ’とに基づき、ＦＩＦＯバッファ内の未実行処理量Δｙを算出し、算出された未実行処理量Δｙと前記処理実行タスクから通知された記録媒体終端までの距離ｚとに基づき終端までの距離推測値ｚ’を算出し、算出された終端までの距離推測値ｚ’に基づき、印字記録動作命令を発行するか、ジョブ終了命令を発行することを特徴とする。
【００１５】
【発明の実施の形態】
以下、図面を参照して本発明の実施例を詳細に説明する。
【００１６】
（実施例１）
図１に、本発明を適用するマルチタスクデータ処理システムの一実施例として、記録用紙のような記録媒体上に記録を行なう印字記録装置の模式的な構成を示す。
【００１７】
図１において印字記録装置は、以下の構成部、すなわち、記録媒体１上をＡ方向に往復し、帯状に印字記録を行う印字記録機構２と、Ａ方向と垂直なＢ方向に記録媒体１を移動させる記録媒体搬送機構３を有している。印字記録機構２と記録媒体搬送機構３は個々に制御され、両構成部を組合わせて動作させることにより記録媒体１上への記録画像形成が行われる。
【００１８】
記録媒体の搬送路上には、印字記録機構２から記録媒体搬送方向に距離ｘだけ離れた位置に記録媒体１の終端を検知する記録媒体終端検出機構４が設けられ、記録媒体の終端から距離ｘ分だけ手前の時点で記録媒体の終端を検出する事が可能になっている。
【００１９】
図２は、本実施例におけるタスク構成を示す。なお、タスクとはコンピュータが行う仕事の最小単位を示し、１つのプログラムまたはプログラム命令で行われる仕事がタスクとなる。タスクはＣＰＵを有するコンピュータ等の情報処理装置により実行されるので、本実施例ではタスクをハードとみなして表現する。図２において５は記録媒体１上に記録する内容に応じて印字記録動作、記録媒体送り動作等の命令を発行する命令発行タスクである。６は命令発行タスク５からの命令を受信して印字記録動作、記録媒体送り動作等の各処理を実行する処理実行タスクである。命令発行タスク５および処理実行タスク６は記憶装置１内のＣＰＵが実行するマルチタスクオペレーティングシステム上で並行して動作し、マルチタスクオペレーティングシステムにより提供されるタスク間通信機能を用いて、相互に通信を行う。
【００２０】
命令発行タスク５から処理実行タスク６へはＦＩＦＯバッファ７を介して命令が通知され、処理実行タスク６から命令発行タスク５へは、各命令に対する実行結果の通知が行われる。命令発行タスク５の内部ワークエリア上には送信処理量記憶手段（本発明の第１の記憶装置）８が設けられ、命令発行タスク５から自由に読み書きが可能である。また、処理実行タスク６の内部ワークエリア上には受信処理量記憶手段（本発明の第２の記憶装置）９が設けられ、処理実行タスク６から自由に読み書きが可能である。
【００２１】
本実施例は、命令発行タスク５からの記録媒体送り動作命令に対する実行結果として、記録媒体送り動作完了時点での記録媒体終端検出状況および記録媒体終端までの距離を通知し、命令発行タスク５は受け取った実行結果に基づいて記録媒体終端までの距離を管理し、記録媒体終端を過ぎての印字記録動作は命令発行を行わないように命令発行制御を行う場合について説明する。
【００２２】
図３は処理実行タスク６の処理手順を示す。処理実行タスク６は印字記録ジョブ開始時に受信処理量記憶手段９に格納されている累積処理量ｙをクリアする（ステップＳ１）。以下、処理実行タスク６は、命令発行タスク５からの命令をＦＩＦＯバッファ７より取りだし（ステップＳ２）、その内容に応じて処理を行う。
【００２３】
ＦＩＦＯバッファ７より取り出した命令が印字記録動作命令であった場合には（ステップＳ３）、命令に付加して通知されたパラメータに応じて処理実行タスク６は印字記録機構２を制御し、１スキャン分の印字記録動作を行う（ステップＳ４）。ＦＩＦＯバッファ７より取り出した命令が記録媒体送り命令であった場合には（ステップＳ５）、命令に付加して通知された記録媒体送り量に応じて記録媒体搬送機構３を制御して記録媒体送り動作を行う（ステップＳ６）。これとともに、受信処理量記憶手段９に格納されている累積処理量ｙに、実行した記録媒体送り量を加算する（ステップＳ７）。
【００２４】
記録媒体送り動作完了後、すでに記録媒体終端を検出している場合には（ステップＳ８）、印字記録機構２から記録媒体終端検出機構４までの距離ｘから記録媒体終端検出時点からの記録媒体送り量を減算することにより、記録媒体終端までの距離ｚを算出する（ステップＳ９）。一方ステップＳ８において、記録媒体送り動作完了時点でまだ記録媒体終端が検出されていない場合には、記録媒体終端までの距離は少なくともｘ以上あることは確実であるから、記録媒体終端までの距離ｚを暫定的にｘと等しく設定する（ステップＳ１０）。
【００２５】
上記ステップＳ９またはステップＳ１０で算出した、記録媒体終端までの距離ｚと、受信処理量記憶手段９に格納されている累積処理量ｙと、記録媒体終端検出状況とを実行結果としてひとまとめにして、記録媒体送り命令に対する実行結果として命令発行タスク５に通知する（ステップＳ１１）。ＦＩＦＯバッファ７より取り出した命令がジョブ終了命令であった場合には（ステップＳ１２）、処理実行タスク６は印字記録ジョブを終了する（ステップＳ１３）。
【００２６】
図４は命令発行タスク５での処理手順を示すフローチャートである。命令発行タスク５は印字記録ジョブ開始時に送信処理量記憶手段８に格納されている累積処理量ｙ′をクリアする（ステップＳ１４）。以下、命令発行タスク５は、印字記録データの生成を行い（ステップＳ１５）、その内容に応じてＦＩＦＯバッファ７へ逐次、命令を発行する。
【００２７】
ＦＩＦＯバッファ７へ送信しようとする命令が、記録媒体送り命令である場合（ステップＳ１６）、命令発行タスク５はＦＩＦＯバッファ７へ命令を送信するとともに（ステップＳ１７）、送信処理量記憶手段８に格納されている累積処理量ｙ′に記録媒体送り量、すなわち、命令に付加して送信した記録媒体送り量を加算する（ステップＳ１８）。ＦＩＦＯバッファ７へ送信しようとする命令が、印字記録動作命令である場合には（ステップＳ１９）、命令発行タスク５は最後に処理実行タスク６から受信した実行結果の内容を参照し、実行結果に付加されて通知された累積処理量ｙと、送信処理量記憶手段８に格納された累積処理量ｙ′とを用いて、ＦＩＦＯバッファ７に蓄積されていて処理未実行の記憶媒体送り量Δｙ＝ｙ′−ｙを算出する（ステップＳ２０）。
【００２８】
前記ステップＳ２０により求めたΔｙと、実行結果として通知された記録媒体終端までの距離ｚとを用いて、ＦＩＦＯバッファ７内の全命令に対する処理実行が完了した時点での記録媒体終端までの距離推測値ｚ′＝ｚ−Δｙを算出する（ステップＳ２１）。ここでｚ′≧０である場合には（ステップＳ２２）、実行結果として通知された記録媒体終端検出状況の如何にかかわらず、ＦＩＦＯバッファ７内の全命令に対する処理実行が完了した時点で、記録媒体終端まで達していないことが確実であるから、命令発行タスク５はすぐに印字記録動作命令を発行する（ステップＳ２３）。
【００２９】
一方、ステップＳ２２においてｚ′＜０であり、かつ実行結果として通知された記録媒体終端検出状況が終端検出済みを示している場合には（ステップＳ２４）、ＦＩＦＯバッファ７内の全命令に対する処理実行が完了した時点で、記録媒体終端を過ぎていることが確実であるから、命令発行タスク５は印字記録動作命令を発行せず、ジョブ終了命令を発行した後（ステップＳ２５）、すぐに印字記録ジョブを終了する（ステップＳ２６）。
【００３０】
また、ステップＳ２２においてｚ′＜０であり、かつステップＳ２４において実行結果として通知された記録媒体終端検出状況が終端未検出を示している場合には、ＦＩＦ０バッファ７内の全命令に対する処理実行完了時点で記録媒体終端に達しているかどうかが確定できない状態であるため、命令発行タスク５は命令発行処理を保留し、処理実行タスクから次の実行結果が通知されるのを待つ（ステップＳ２７）。
【００３１】
この場合でも、ＦＩＦＯバッファ７内の命令を処理実行タスク６が逐次処理を進めてゆけば、ＦＩＦＯバッファ７内が空になる前に記録媒体終端に達するか否かが確定する場合が多い。このような場合には命令発行タスク５は、ＦＩＦＯバッファ７内の全命令に対する処理実行完了まで命令発行処理を保留するのではなく、記録媒体終端に達するか否かが確定した時点で、次の命令発行処理を再開することが可能である。
【００３２】
以上説明したように、本発明を使用することにより、命令発行タスク５は全命令の完了を待つことなく次の命令発行処理に移ることができ、ＦＩＦＯバッファ７の利点を活かした、効率的な処理が可能となる。
【００３３】
（実施例２）
図５に、本発明の第２の実施例としての印字記録システムの構成を示す。本実施例は、上位装置１０と記録装置１１からなり、上位装置１０と記録装置１１は通信ケーブル１２を介して接続されている。本実施例では、命令発行タスク５は上位装置１０側で動作し、処理実行タスク６は記録装置１１側で動作する。記録装置１側には、通信ケーブル１２を介して上位装置１０より受信した命令を蓄積するために受信バッファ１３が設けられ、ＦＩＦＯバッファとして機能する。命令発行タスク５および処理実行タスク６で行う処理手順は実施例１で述べたものと全く同一でよい。
【００３４】
このように命令発行タスク５と処理実行タスク６とが異なる装置上で動作する場合においても、本発明を適用することにより、命令発行タスク５は受信バッファ１３内に蓄積された全命令の処理実行完了を待つことなく次の命令発行処理を行うことができ、受信バッファ１３の利点を活かした効率的な処理が可能となる。
【００３５】
（その他の実施例）
実施例１および実施例２では、実行結果として通知される情報を記録可能領域最下端までの距離とし、付加して通知する累積処理量をジョブ開始時点からの記録媒体送り量としたが、それ以外の、例えば記録媒体の残り枚数、記録インクの残量などのパラメータに関して適用することも可能である。もちろん印字記録装置以外の装置に対して本発明を適用することが可能なことはいうまでもない。
【００３６】
【発明の効果】
以上説明したように、請求項１、９，１０の発明によれば、ＦＩＦＯバッファ内の全命令に対する処理実行完了まで処理を保留するのではなく、記憶媒体終端に達するか否かが確定した時点で次の命令発行処理を再開することができ、もって、効率的な処理が可能となる。
【００３７】
請求項２の発明では、システム内の２つの装置間での通信効率を向上させることができる。
【図面の簡単な説明】
【図１】本発明の第１の実施例としての印字記録装置の構成を示す模式構成図である。
【図２】第１の実施例におけるマルチタスクデータ処理システムのタスク構成を示すブロック図である。
【図３】第１の実施例における処理実行タスクの処理手順を示すフローチャートである。
【図４】第１の実施例における命令発行タスクの処理手順を示すフローチャートである。
【図５】第２の実施例としての印字記録システムの構成を示すブロック図である。
【符号の説明】
１  記録媒体
２  印字記録機構
３  記録媒体搬送機構
４  記録媒体終端検出機構
５  命令発行タスク
６  処理実行タスク
７  ＦＩＦＯバッファ
【図１】
0003768580.tif 000002
【図２】
0003768580.tif 000003
【図３】
0003768580.tif 000004
【図４】
0003768580.tif 000005
【図５】
0003768580.tif 000006