JP4318061B2 - Printer device - Google Patents

Printer device Download PDF

Info

Publication number
JP4318061B2
JP4318061B2 JP2000018958A JP2000018958A JP4318061B2 JP 4318061 B2 JP4318061 B2 JP 4318061B2 JP 2000018958 A JP2000018958 A JP 2000018958A JP 2000018958 A JP2000018958 A JP 2000018958A JP 4318061 B2 JP4318061 B2 JP 4318061B2
Authority
JP
Japan
Prior art keywords
counter
task
print
image data
printing
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.)
Expired - Fee Related
Application number
JP2000018958A
Other languages
Japanese (ja)
Other versions
JP2001205866A (en
Inventor
工 岩崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2000018958A priority Critical patent/JP4318061B2/en
Publication of JP2001205866A publication Critical patent/JP2001205866A/en
Application granted granted Critical
Publication of JP4318061B2 publication Critical patent/JP4318061B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、画像データを生成して記憶し、これを記憶媒体に印刷するプリンタ装置に関する。
【0002】
【従来の技術】
従来のプリンタ装置は、プリンタ制御言語で記述された印刷データをホストコンピュータから受信し、前記印刷データについて言語解析を行うことにより中間コードを介して画像データへ展開し、前記画像データを印刷エンジンに出力するコントローラと、コントローラから画像データを受け取り、前記画像データに基づいて記録紙等に画像を印刷(転写、定着)する印刷エンジンとから構成されている。
【0003】
コントローラは、ホストコンピユータ等から送られた印刷データを一旦RAM等のメモリに記憶し、記憶した印刷データの言語解析を行い、画像データに展開して印刷エンジンに印刷開始指令を送出する。
【0004】
印刷エンジンは、コントローラからの印刷開始指令を受けると、定着器の温度を上げる等の印刷を可能にするための準備を行ない、印刷が可能になると記録紙の給紙を開始する。この給紙された記録紙の先端をセンサ等で検知すると、コントローラに対し、所定のタイミングで副走査方向の同期信号を送出する。
【0005】
コントローラは、この副走査方向の同期信号に同期して1頁分の画像データを印刷エンジンに送出する。この後、コントローラは、印刷エンジンが副走査方向の同期信号を送出してから正常に印刷を終了し、記録紙を機外に排出し終るまでの最大時間(以降、リカバリタイムと呼ぶ)が経過するまで、メモリに記憶した画像データを保持する。これにより、印刷エンジンに不具合、例えば記録紙のジヤム等の発生により、正常に印刷が終了しなかつた場合には、そのメモリに記憶されている画像データを読出して再度画像を印刷することができる。すなわち、印刷エンジンにおいて不具合が発生した場合であっても、ホストコンピユータ等から印刷データを再度受取ることなく、同じ画像データを印刷することができるように構成されていた。
【0006】
【発明が解決しようとする課題】
しかしながら上記従来例では、記録紙サイズによらず常にリカバリタイムを一定にするか、或は記録紙サイズが解らない場合は、そのリカバリタイムを最大記録紙サイズに合わせて設定する必要があった。そのため、短いサイズの記録紙が使用された場合でも、このリカバリタイムが最大記録紙サイズに合せて設定されている場合、印刷が終了した記録紙が機外に排出された後もリカバリタイムが経過するまで、メモリに記憶されている画像データを消去することができないという問題があった。
【0007】
一方、リカバリタイムに依らずに効率よく画像データを消去する方法として、印刷エンジンに記録紙が排出されたことを検知して排出信号として出力する手段を設け、コントローラにおいて印刷エンジンから出力される排出信号を受信し、前記排出信号に基づいて画像データの記憶領域を解放する方法が考えられる。しかし、かかる方法では、例えば印刷エンジンに供給される記録紙のサイズが、画像データが要求する記録紙のサイズよりも小さい場合、当該画像データの転送中に記録紙の排出が終了し、排出信号が送信されてしまうことになる。従って、転送終了後に記憶領域を解放しようとしても、当該画像データについての排出信号を受け取ることができないため、排出信号に基づいて記憶領域を解放することができないという問題が生じる。
【0008】
また、印刷エンジンにおいて印刷エンジン内に保持している記録紙の枚数を算出しておき、記録紙の供給や排出ごとに前記枚数を更新してコントローラに送信することも考えられる。しかし、印刷エンジンに備えられるCPUは、コントローラに備えられるものに比べ低機能なCPUであるため、かかる低機能なCPUに前記枚数の算出や更新といった処理負担をかけることは、プリンタ装置全体の効率を考えると望ましくない。
【0009】
本発明は上記問題点に鑑みてなされたもので、印刷エンジンに処理負担をかけることなく、コントローラにおけるメモリの使用効率を向上させることのできるプリンタ装置を提供することを目的とする。
【0010】
【課題を解決するための手段】
本発明のプリンタ装置は、画像データを印刷手段に転送する印刷タスクを実行する印刷タスク実行手段と、前記画像データに基づいて記憶媒体に印刷を行い、前記印刷した記憶媒体を排出する印刷手段とを備えたプリンタ装置であって、前記印刷手段は、記憶媒体が排出されたことを検知して排出情報として前記印刷タスク実行手段に出力する排出検知手段を備え、前記印刷タスク実行手段は、画像データの転送終了に対応してiカウント(i≠0)が加算され、前記排出情報を受信するとiカウント減算されるカウンタを備えており、前記カウンタに基づいて、転送が終了した画像データについて記憶領域を解放することを特徴とする。
【0011】
好適には、前記印刷タスク実行手段は、iが正値の場合は前記カウンタが非正値をとる場合に(iが負値の場合は前記カウンタが非負値をとる場合に)、転送が終了した画像データについて記憶領域を解放する。
【0012】
また、前記印刷タスク実行手段は、複数の印刷タスクについて並列実行可能に構成されている場合は、前記印刷タスク実行手段は、iが正値の場合は前記カウンタが非正値をとる場合に(iが負値の場合は前記カウンタが非負値をとる場合に)、転送が終了した画像データのうち1つについて記憶領域を解放する。
【0013】
前記印刷タスクが、前記カウンタに対するiカウント加算処理、及び前記カウンタに基づく記憶領域の解放処理を行うように構成することができる。また、前記印刷タスク実行手段に関し、カウンタを管理するカウンタタスクを実行可能に構成することで、前記カウンタタスクが、前記カウンタに対するiカウント加算処理、及び前記カウンタに基づく記憶領域の解放処理を行うように構成することができる。
【0014】
本発明のプリンタ装置は、画像データを印刷手段に転送する印刷タスクを実行する印刷タスク実行手段と、前記画像データに基づいて記憶媒体の両面に印刷を行い、前記両面に印刷した記憶媒体を排出する印刷手段とを備えたプリンタ装置であって、前記印刷手段は、記憶媒体が排出されたことを検知して排出情報として前記印刷タスク実行手段に出力する排出検知手段を備え、前記印刷タスク実行手段は、画像データの転送終了に対応してiカウント(i≠0)加算され、前記排出情報を受信すると2iカウント減算されるカウンタを備えるとともに、複数の印刷タスクについて並列実行可能に構成されており、iが正値の場合は前記カウンタが非正値をとる場合に(iが負値の場合は前記カウンタが非負値をとる場合に)、転送が終了した画像データのうち2つについて記憶領域を解放することを特徴とする。
【0015】
本発明のプリンタ装置は、画像データを印刷手段に転送する印刷タスクを実行する印刷タスク実行手段と、前記画像データに基づいて記憶媒体に印刷を行い、前記印刷した記憶媒体を排出する印刷手段とを備えたプリンタ装置であって、 前記印刷手段は、記憶媒体が排出されたことを検知する排出検知手段と、排出が検知されるごとにjカウント(j≠0)を加算する第1のカウンタとを備え、前記印刷タスク実行手段は、第1のカウンタの値に基づいて更新される第2のカウンタと、印刷開始に対応してiカウント(i≠0)が加算される第3のカウンタと、印刷開始に対応してiカウントが加算される第4のカウンタとを備えるとともに、第2のカウンタ及び第3カウンタを制御する第1カウンタタスクと、第3のカウンタ及び第4カウンタを制御する第2カウンタタスクとを実行可能に構成されており、前記第1カウンタタスクは、第1のカウンタからカウンタ値を定期的に取得し、前記取得したカウンタ値と第2のカウンタの値が異なる場合に、第2のカウンタに前記取得したカウンタ値を代入するとともに第3のカウンタにiカウントを減算し、前記第2カウンタタスクは、第3のカウンタの値と第4のカウンタの値が異なる場合に第4のカウンタにiカウントを減算し、前記減算するタイミングに基づいて転送が終了した画像データについて記憶領域を解放することを特徴とする。
【0016】
好適には、前記印刷タスク実行手段は、複数の印刷タスクについて並列実行可能に構成されており、前記印刷タスク実行手段は、前記減算するタイミングに基づいて転送が終了した画像データのうち1つについて記憶領域を解放する。
【0017】
本発明のプリンタ装置は、画像データを印刷手段に転送する印刷タスクを実行する印刷タスク実行手段と、前記画像データに基づいて記憶媒体の両面に印刷を行い、前記両面に印刷した記憶媒体を排出する印刷手段とを備えたプリンタ装置であって、前記印刷手段は、記憶媒体の一の面の印刷が終了したことを検知する面印刷検知手段と、印刷終了が検知されるごとにjカウント(j≠0)を加算する第1のカウンタとを備え、前記印刷タスク実行手段は、第1のカウンタの値に基づいて更新される第2のカウンタと、印刷開始に対応してiカウント(i≠0)が加算される第3のカウンタと、印刷開始に対応してiカウントが加算される第4のカウンタと、少なくとも2値をとる印刷面状態変数を記憶する領域を備えるとともに、第2のカウンタ及び第3カウンタを制御する第1カウンタタスクと、第3のカウンタ及び第4カウンタを制御する第2カウンタタスクとを実行可能に構成されており、前記第1カウンタタスクは、第1のカウンタからカウンタ値を定期的に取得し、前記取得したカウンタ値と第2のカウンタの値が異なる場合に、第2のカウンタに対する前記取得したカウンタ値の代入、第3のカウンタに対する2iカウント減算、及び印刷終了した面の表裏に応じて前記印刷面状態変数の更新を実行し、前記第2カウンタタスクは、前記印刷面状態変数が所定の値をとり、かつ第3のカウンタの値と第4のカウンタの値が異なる場合に、第4のカウンタに2iカウントを減算し、前記減算するタイミングに基づいて、転送が終了した画像データのうち2つについて記憶領域を解放することを特徴とする。
【0018】
【発明の実施の形態】
(第1の実施形態)
(プリンタ装置の構成)
図1を参照して本発明の第1の実施形態を説明する。本発明の第1の実施形態であるプリンタ装置1は、印刷タスク実行手段2、印刷手段3を備えて構成される。印刷タスク実行手段2は、制御テーブル21、カウンタ22を備えており、印刷手段3は印刷実行手段31と排出検知手段32を備えている。なお、プリンタ装置1は、印刷タスク実行手段2、印刷手段3以外に、通常のプリンタ装置が備える構成(例えば、ホストコンピュータから印刷データを受け取り、これを画像データに展開して所定の記憶領域に記憶する画像データ生成手段等)を備えている。
【0019】
印刷タスク実行手段2は、印刷タスクを印刷データごとに生成し、実行する。ここで、印刷タスクは、所定の記憶領域に記憶されている画像データを印刷手段3に送信する処理を行うタスクである。
【0020】
印刷タスク実行手段2は、物理的にはプリンタ制御やデータ処理に専用化したシステム、あるいは汎用の情報処理装置のいずれによって実現してもよい。例えば、演算手段と記憶手段とを備えた一般的な構成の情報処理装置において、印刷タスクの動作を規定したソフトウェアを起動することにより、印刷タスクをコンピュータ上に生成することができる。印刷タスク実行手段2は複数の印刷タスクを並列に実行することができるように構成されている。
【0021】
制御テーブル21は、複数の印刷タスクについて画像データが記憶される記憶領域の解放を効率よく行うための情報を格納するテーブルである。図2に制御テーブル21の例を示す。制御テーブル21は、最大並列実行可能な印刷タスク数に相当するレコードを備え、各レコードには印刷タスクIDと、セマフォフラグ変数を記憶する領域が設けられている。印刷タスクIDは印刷タスクを特定するための番号等である。セマフォフラグは複数の印刷タスクについて排他制御を行うために用いる変数である。セマフォフラグは、例えば1もしくは0を取り、各レコードのセマフォフラグのうち常に一つのセマフォフラグのみが1を取るように制御することで、排他制御に用いることができる。
【0022】
カウンタ22は、初期値として0が与えられており、印刷手段3より排出信号300を受け取ることによりカウンタ値が−1され、画像データの転送が終了することによりカウンタ値が+1される。なお、カウンタの動作に関し、正負を逆とする構成も考えられ、その場合、後述するカウンタに基づく条件判断も不等号の向きが逆になる。また、カウンタに対する加算減算の値は±1以外であってもよい。
【0023】
印刷実行手段31は、受信した画像データに基づいて画像を印刷する。複数の画像データを受信した場合は、受信した順番に画像を印刷することになる。印刷実行手段31は、給紙トレイ、給紙機構、感光体、静電潜像形成手段、現像・定着手段、排紙口といった、従来のレーザプリンタが有する各手段(図示せず)を備えている。
【0024】
排出検知手段32は、印刷実行手段31の排紙口近傍に設けられており、印刷実行手段31から記録紙が排出された場合に検知し、排出信号として印刷タスク実行手段2中のカウンタ22に送信する。
(印刷タスク実行手段における処理の流れ)
(第1実施形態の第1実施例)
本実施形態の第1実施例の処理の流れについて説明する。図3は、印刷タスクによる処理の流れを示したフローチャートである。初期状態として、カウンタ値は0、制御テーブルのトップのレコードのみセマフォフラグが1、それ以外のレコードのセマフォフラグには0が設定されているとする。また、カウンタ22は、印刷手段3から受け取る排出信号に基づいて−1カウント(+1カウント減算)される。
【0025】
ステップS101において、印刷タスクは印刷開始命令を印刷手段2に出力するとともに、制御テーブル中の空きレコード(タスクIDが書き込まれていないレコード)に自己のタスクIDを書き込む。
【0026】
ここで、制御テーブルには最大並列実行可能タスク数分のレコードが用意されており、図において上から下に向かう順番にタスクIDが書き込まれていくものとする。そして、一番下までレコードが書き込まれると、再びトップのレコードに戻って書き込まれるものとする。
【0027】
ステップS102において、印刷タスクは印刷手段3より印刷準備完了信号を受け取った後、画像データを印刷手段3に転送する。画像データの転送が終了した後、ステップS103に進む。
【0028】
ステップS103において、印刷タスクは、タスクIDを書き込んだレコードが有するセマフォフラグをチェックする。セマフォフラグの値が0の場合、例えば100msecDelayを実行し、ステップS103に戻る。セマフォフラグの値が1の場合、ステップS104に進む。
【0029】
ステップS104において、印刷タスクは、カウンタ22を+1カウントする。
【0030】
ステップS105において、カウンタ22の値が正値の場合、、例えば100msecDelayを実行し、ステップS105に戻る。そうでない場合(すなわち非正値の場合)、ステップS106に進む。 ここで、カウンタ値は排出情報を受信することにより−1されるため、カウンタ22の値が非正値となっている場合は、当該印刷タスクの画像データについて印刷が終了し記録紙が排出されていることを意味する。従って、印刷タスクは、カウンタ22に基づいて、自己の画像データに関し印刷が終了し記録紙が排出されたかどうかを判断することができる。
【0031】
ステップS106において、印刷タスクは、タスクIDを書き込んだレコードが有するセマフォフラグを0に変更し、次のレコード(図2において下にあるレコード)が有するセマフォフラグを1に変更する。そして、制御テーブルより自己のタスクIDを消去するとともに、画像データを展開した記憶領域を解放して、終了する。
【0032】
印刷タスク実行手段2で実行される印刷タスクをこのように構成することにより、印刷手段3においては何ら計算等を行わずに排出情報を送信するのみで、記憶領域の解放を効率よく行うことができる。また、排出情報はカウンタ22に静的に記憶されるため、排出情報の受信が画像データの転送終了前であったとしてもカウンタ値に基づいて記録紙が排出されたことを判断することができ、単に信号を受信して利用する場合に比べ信号の取りこぼしを無くすことができる。更に、制御テーブル21のセマフォフラグを用いて複数の印刷タスクについて排他制御を行うことにより、レコードの順番に従って、カウンタ22へのアクセス及び記憶領域の解放を順次実行することができるため、誤ってまだ記録紙が排出されていない画像データについて記憶領域を解放してしまうことはない。
(第1実施形態の第2実施例)
本実施形態の第2実施例の処理の流れについて説明する。本実施例では、印刷タスクとは独立に印刷タスク実行手段2においてカウンタタスクが生成される点、および、制御テーブルの各レコードに、セマフォフラグ変数を記憶する領域に代えて、転送終了フラグ変数を記憶する領域が設けられている点で、第1実施例と異なる。カウンタタスクはカウンタ22を参照・変更するタスクであり、内部に制御テーブル中の一のレコードを指すことのできるポインタを備えている。
【0033】
図4は、第2実施例における印刷タスクの処理の流れを、図5は、第2実施例におけるカウンタタスクの処理の流れを示したフローチャートである。
【0034】
初期状態として、カウンタ22のカウンタ値は0、制御テーブルの転送終了フラグは全てのレコードについて0、カウンタタスクのポインタには制御テーブルのトップのレコードが設定されているとする。また、カウンタ22は、印刷手段3から受け取る排出信号に基づいて−1カウントされる。
【0035】
最初に印刷タスクの処理の流れについて説明する。
【0036】
ステップS201において、印刷タスクは印刷開始命令を印刷手段3に出力するとともに、制御テーブル中の空きレコード(タスクIDが書き込まれていないレコード)に自己のタスクIDを書き込む。
【0037】
ここで、制御テーブルには最大並列実行可能タスク数分のレコードが用意されており、図において上から下に向かう順番にタスクIDが書き込まれていくものとする。そして、一番下までレコードが書き込まれると、再びトップのレコードに戻って書き込まれるものとする。
【0038】
ステップS202において、印刷タスクは印刷手段3より印刷準備完了信号を受け取った後、画像データを印刷手段3に転送する。
【0039】
ステップS203において、画像データの転送が終了した後、タスクIDを書き込んだレコードが有する転送終了フラグを1に変更し、終了する。
【0040】
次に、カウンタタスクの処理の流れを説明する。
【0041】
ステップS301において、カウンタタスクは、ポインタが指すレコードについて、転送終了フラグをチェックする。転送終了フラグの値が0の場合、例えば100msecDelayを実行し、ステップS301に戻る。転送終了フラグの値が1の場合、ステップS302に進む。
【0042】
ステップS302において、カウンタタスクは、カウンタ22の値を+1カウントする。
【0043】
ステップS303において、カウンタ22の値が正値の場合、例えば100msecDelayを実行し、、ステップS303に戻る。そうでない場合(非正値の場合)、ステップS304に進む。
【0044】
ステップS304において、カウンタタスクは、ポインタが指すレコードについてタスクIDを消去し、転送終了フラグを0に変更するとともに、当該タスクIDを有する印刷タスクについて、画像データを展開した記憶領域を解放する。そして、ポインタの値を次のレコード(図2において下にあるレコード)に変更して、ステップS301に戻る。なお、ポインタが最も下のレコードを指している場合はトップのレコードに変更する。
【0045】
以上の処理において、カウンタ22が+1されるのは各印刷タスクにつき1回のみである。このことは、カウンタ22は印刷タスクの生成に対応して+1されることを意味している。
【0046】
印刷タスク実行手段2で実行される印刷タスク、カウンタタスクをこのように構成することにより、印刷手段3においては何ら計算等を行わずに排出情報を送信するのみで、記憶領域の解放を効率よく行うことができる。また、排出情報はカウンタ22に静的に記憶されるため、印刷タスク実行手段2における排出情報の受信に関し画像データの転送の前後を問わずに利用することができ、単に信号を受信して利用する場合に比べ信号の取りこぼしを無くすことができる。更に、カウンタタスクのポインタを用いて複数の印刷タスクについて排他制御を行うことにより、レコードの順に従って、記憶領域の解放を順次実行することができるため、誤ってまだ記録紙が排出されていない画像データについて解放してしまうことはない。
【0047】
更に、各印刷タスクは画像データの転送が終了した時点で、タスクを終了することができるため、同時に実行される印刷タスク数を削減し、処理効率を向上させることができる。
(第1実施形態の第3実施例)
本実施形態の第3実施例の処理の流れについて説明する。本実施例は、カウンタタスクが生成される点、制御テーブル21に転送終了フラグが設けられている点、カウンタタスクがポインタを備えている点では第2実施例と同様である。
【0048】
ただし、制御テーブル21には更にレコードごとに表裏フラグが設けられており、カウンタ22の動作及びカウンタタスクの処理の流れが、印刷手段3において両面印刷が実行される場合に対応している点で、第2実施例と異なる。ここで、両面印刷とは、1枚の記録紙の裏表に、2つの印刷タスクから転送される画像データが印刷されることをいう。本実施例では裏面、表面の順番で印刷が行われるとする。
【0049】
なお、表裏フラグは、印刷タスクが転送する画像データが表裏のどちらの面に対応する画像データなのかを示すフラグであり、本実施例では表に対応する場合に0、裏に対応する場合に1を取るものとする。
【0050】
第3実施例においては、カウンタ22は、印刷手段3から受け取る排出信号に基づいて−2カウント(+2カウント減算)される。
【0051】
図6は、第3実施例におけるカウンタタスクの処理の流れを示したフローチャートである。なお、第3実施例における印刷タスクの処理の流れは図4に示される第2実施例におけるフローとほぼ同様である。ただし、各印刷タスクは、タスクID書込み時等に、転送する画像データの表裏に応じて表裏フラグに対しても値を書き込む。
【0052】
ステップS401において、カウンタタスクは、ポインタが指すレコードについて、転送終了フラグをチェックする。転送終了フラグの値が0の場合、例えば100msecDelayを実行し、ステップS401に戻る。転送終了フラグの値が1の場合、ステップS402に進む。
【0053】
ステップS402において、カウンタタスクは、カウンタ22の値を+1カウントする。
【0054】
ステップS403において、表裏フラグの値が1の場合にステップS406に進み、0の場合にステップS404に進む。なお、本ステップは、両面の印刷が終了した場合にステップS404に進むように構成されていればよく、表面、裏面の順番で印刷が行われる場合は、逆の動作(0の場合にステップS406に進み、1の場合にステップS404に進む)となる。
【0055】
ステップS404において、カウンタ23のカウンタ値が正値の場合、例えば100msecDelayを実行し、ステップS404に戻る。そうでない場合、ステップS405に進む。
【0056】
ステップS405において、カウンタタスクは、ポインタが指すレコード及びポインタが指すレコードの前のレコード(図2において上にあるレコード)について、書き込まれたタスクIDを有する印刷タスクの画像データを展開した記憶領域を解放する。そして、ポインタが指すレコード及びポインタが指すレコードの前のレコード(上にあるレコード)について、タスクIDを消去し、転送終了フラグを0に変更する。
【0057】
ステップS406において、カウンタタスクは、ポインタの値を次のレコード(下にあるレコード)に変更して、ステップS401に戻る。なお、ポインタが最も下のレコードを指している場合はトップのレコードに変更する。
【0058】
印刷タスク実行手段2で実行されるカウンタタスクをこのように構成することにより、第2実施例のおける効果に加え、印刷手段3における両面印刷に対応することができる。すなわち、記憶領域の解放は表裏フラグが1の場合にのみ実行されるように構成したため、記録紙の裏面の印刷が終わった段階では、記録紙の裏面に印刷された画像データの記憶領域が解放されることはなく、記録紙の表面の印刷が終わり記録紙が排出された段階で、表裏に印刷された2つの画像データの記憶領域が解放されることになる。
(第2の実施形態)
(プリンタ装置の構成)
図7を参照して本発明の第2の実施形態を説明する。本発明の第2の実施形態であるプリンタ装置1は、印刷タスク実行手段2、印刷手段3を備えて構成される。印刷タスク実行手段2は、制御テーブル21、第2カウンタ23、第3カウンタ24、第4カウンタ25を備えており、印刷手段3は印刷実行手段31、面印刷検知手段33、第1カウンタ34を備えている。なお、プリンタ装置1は、印刷タスク実行手段2、印刷手段3以外に、通常のプリンタ装置が備える構成(例えば、ホストコンピュータから印刷データを受け取り、これを画像データに展開して所定の記憶領域に記憶する画像データ生成手段等)を備えている。
【0059】
印刷タスク実行手段2は、印刷タスクを印刷データごとに生成し、実行する。また、印刷タスクとは独立に第1カウンタタスク及び第2カウンタタスクを実行する。ここで、印刷タスクは、所定の記憶領域に記憶されている画像データを印刷手段3に送信する処理を行うタスクである。また、第1カウンタタスクは第2カウンタ及び第3カウンタを参照・変更するタスクである。また、第2カウンタタスクは第3カウンタ及び第4カウンタを参照・変更するタスクであり、内部に制御テーブル中の一のレコードを指すことのできるポインタを備えている。
【0060】
印刷タスク実行手段2は、物理的にはプリンタ制御やデータ処理に専用化したシステム、あるいは汎用の情報処理装置のいずれによって実現してもよい。例えば、演算手段と記憶手段とを備えた一般的な構成の情報処理装置において、印刷タスクの動作を規定したソフトウェアを起動することにより、印刷タスクをコンピュータ上に生成することができる。印刷タスク実行手段2は複数の印刷タスクを並列に実行することができるように構成されている。
【0061】
制御テーブル21は、複数の印刷タスクについて画像データが記憶される記憶領域の解放を効率よく行うための情報を格納するテーブルである。制御テーブル21は、最大並列実行可能な印刷タスク数に相当するレコードを備え、各レコードには印刷タスクIDと、転送終了フラグ変数を記憶する領域がが設けられている。印刷タスクIDは印刷タスクを特定するための番号等である。転送終了フラグ変数は、例えば、対応する印刷タスクについて転送が未終了の場合に0、終了した場合に1をとる変数である。
【0062】
第2カウンタ23は、初期値として0が与えられており、印刷手段3内の第1カウンタの値に基づいて所定の周期で更新される。第3カウンタ24は、初期値として0が与えられており、印刷タスクの生成に対応して+1カウントが加算され、第2のカウンタの更新に伴い−1カウントされる。第4カウンタ25は、初期値として0が与えられており、印刷タスクの生成に対応して+1カウントが加算され、所定の条件が満たされた場合に−1カウントされる。なお、各カウンタの動作に関し、正負を逆とする構成も考えられる。また、カウンタに対する加算減算の値は±1以外であってもよい。
【0063】
印刷実行手段31は、受信した画像データに基づいて画像を印刷する。複数の画像データを受信した場合は、受信した順番に画像を印刷することになる。印刷実行手段31は、給紙トレイ、給紙機構、感光体、静電潜像形成手段、現像・定着手段、排紙口といった、従来のレーザプリンタが有する各手段(図示せず)を備えている。
【0064】
面印刷検知手段33は、印刷実行手段31の排紙機構近傍に設けられており、印刷実行手段31において単面の印刷が終了した場合に検知し、第1カウンタ34(初期値0)に対して+1カウントを加算する。なお、第1カウンタ34は例えば4ビットで構成され、カウンタ値が15まで進むと0に戻るように構成される。
(印刷タスク実行手段における処理の流れ)
(第2実施形態の第1実施例)
本実施形態の第1実施例の処理の流れについて説明する。図8は本実施形態における印刷タスクの処理の流れを、図9は本実施形態における第1カウンタタスクの処理の流れを、図10は本実施形態における第2カウンタタスクの処理の流れを示したフローチャートである。
【0065】
初期状態として、第2カウンタ23〜第4カウンタ25のカウンタ値は0、制御テーブル21の転送終了フラグは全てのレコードについて0、第2カウンタタスクのポインタには制御テーブル21のトップのレコードが設定されているとする。
【0066】
最初に印刷タスクの処理の流れについて説明する。
【0067】
ステップS501において、印刷タスクは印刷開始命令を印刷手段3に出力するとともに、制御テーブル21中の空きレコード(タスクIDが書き込まれていないレコード)に自己のタスクIDを書き込む。
【0068】
ここで、制御テーブル21には最大並列実行可能タスク数分のレコードが用意されており、図において上から下に向かう順番にタスクIDが書き込まれていくものとする。そして、一番下までレコードが書き込まれると、再びトップのレコードに戻って書き込まれるものとする。
【0069】
ステップS502において、印刷タスクは第3カウンタ及び第4カウンタに対し+1を加算する。このことは、第3カウンタ及び第4カウンタは印刷タスクの生成に対応して+1されることを意味している。
【0070】
ステップS503において、印刷タスクは印刷手段3より印刷準備完了信号を受け取った後、画像データを印刷手段3に転送する。
【0071】
ステップS504において、画像データの転送が終了した後、タスクIDを書き込んだレコードが有する転送終了フラグを1に変更し、終了する。
【0072】
なお、ステップS501、ステップS502、ステップS503の実行順序はこの順番に限られず、任意の順番で実行可能である。
【0073】
次に、第1カウンタタスクの処理の流れを説明する。
【0074】
ステップS601において、第1カウンタタスクは、印刷手段3に対して第1カウンタ値の要求命令を出力し、印刷手段3より第1カウンタ値を取得する。
【0075】
ステップS602において、第1カウンタタスクは、第1カウンタ値と第2カウンタ値を比較する。両者が一致しない場合、ステップS603に進む。両者が一致する場合、ステップS604に進む。
【0076】
ステップS603において、第1カウンタタスクは、第2カウンタに第1カウンタの値を代入するとともに、第3カウンタに対して−1カウント(+1を減算)する。
【0077】
ステップS604において、第1カウンタタスクは、一定周期でステップS601〜S603までの処理が実行されるように、例えば100msecDelayを実行する。その後、ステップS601に戻る。
【0078】
次に、第2カウンタタスクの処理の流れを説明する。
【0079】
ステップS701において、第2カウンタタスクは、ポインタが指すレコードについて、転送終了フラグをチェックする。転送終了フラグの値が0の場合、例えば100msecDelayを実行し、ステップS701に戻る。転送終了フラグの値が1の場合、ステップS702に進む。
【0080】
ステップS702において、第2カウンタタスクは、第3カウンタ値と第4カウンタ値を比較する。両者が一致しない場合、ステップS703に進む。両者が一致する場合、例えば100msecDelayを実行し、ステップS702に戻る。
【0081】
ステップS703において、第2カウンタタスクは、第4カウンタに対して−1カウント(+1を減算)する。
【0082】
ステップS704において、第2カウンタタスクは、ポインタが指すレコードについてタスクIDを消去し、転送終了フラグを0に変更するとともに、当該タスクIDを有する印刷タスクについて、画像データを展開した記憶領域を解放する。そして、ポインタの値を次のレコード(図2において下にあるレコード)に変更して、ステップS701に戻る。なお、ポインタが最も下のレコードを指している場合はトップのレコードに変更する。
【0083】
印刷タスク実行手段2で実行される印刷タスク、第1カウンタタスク、第2カウンタタスクをこのように構成することにより、印刷手段3においては単に単面印刷の終了により加算のみ行われる第1カウンタを備えるだけで、記憶領域の解放を効率よく行うことができる。また、印刷手段3内の面数情報は第3カウンタに静的に記憶されるため、単に信号を受信して利用する場合に比べ信号の取りこぼしを無くすことができる。更に、第2カウンタタスクのポインタを用いて複数の印刷タスクについて排他制御を行うことにより、レコードの順番に従って、記憶領域の解放を順次実行することができるため、誤ってまだ記録紙が排出されていない画像データについて解放してしまうことはない。
【0084】
更に、各印刷タスクは画像データの転送が終了した時点で、タスクを終了することができるため、同時に実行される印刷タスク数を削減し、処理効率を向上させることができる。
(第2実施形態の第2実施例)
本実施形態の第2実施例の処理の流れについて説明する。本実施例は、各カウンタの動作及び各カウンタタスクの処理の流れが、印刷手段3において両面印刷が実行される場合に対応している点で、第1実施例と異なる。また、印刷タスク実行手段2が、第1カウンタタスクにより変更され、第2カウンタタスクにより参照される印刷面状態変数を記憶する領域を備えている点で第1実施例と異なる。印刷面状態変数は、印刷手段3において最近に印刷が終了した面が表面か裏面かを特定するために用いられる変数である。
【0085】
図11は本実施例における第1カウンタタスクの処理の流れを、図12は本実施例における第2カウンタタスクの処理の流れを示したフローチャートである。なお、本実施例における印刷タスクの処理の流れは図8に示される第1実施例におけるフローと同様であるため説明を省略する。
【0086】
初期状態として、第2カウンタ〜第4カウンタのカウンタ値は0、印刷面状態変数は1、制御テーブルの転送終了フラグは全てのレコードについて0、第2カウンタタスクのポインタには制御テーブルのトップのレコードが設定されているとする。
【0087】
最初に、第1カウンタタスクの処理の流れを説明する。
【0088】
ステップS801において、第1カウンタタスクは、印刷手段3に対して第1カウンタ値の要求命令を出力し、印刷手段3より第1カウンタ値を取得する。
【0089】
ステップS802において、第1カウンタタスクは、第1カウンタ値と第2カウンタ値を比較する。両者が一致しない場合、ステップS803に進む。両者が一致する場合、ステップS804に進む。
【0090】
ステップS803において、第1カウンタタスクは、第2カウンタに対して第1カウンタの値を代入するとともに、第3カウンタに対して−2カウント(+2を減算)する。また、印刷面状態変数に−1を乗算する。
【0091】
ステップS804において、第1カウンタタスクは、一定周期でステップS801〜S803までの処理が実行されるように、例えば100msecDelayを実行する。その後、ステップS801に戻る。
【0092】
次に、第2カウンタタスクの処理の流れを説明する。
【0093】
ステップS901において、第2カウンタタスクは、ポインタが指すレコードについて、転送終了フラグをチェックする。転送終了フラグの値が0の場合、例えば100msecDelayを実行し、ステップS901に戻る。転送終了フラグの値が1の場合、ステップS902に進む。
【0094】
ステップS902において、第2カウンタタスクは、印刷面状態変数が−1の場合にステップS906に進み、1の場合にステップS903に進む。
【0095】
ステップS903において、第2カウンタタスクは、第3カウンタ値と第4カウンタ値を比較する。両者が一致しない場合、ステップS904に進む。両者が一致する場合、例えば100msecDelayを実行し、ステップS903に戻る。
【0096】
ステップS904において、第2カウンタタスクは、第4カウンタに対して−2カウント(+2を減算)する。
【0097】
ステップS905において、カウンタタスクは、ポインタが指すレコード及びポインタが指すレコードの前のレコードについて、書き込まれたタスクIDを有する印刷タスクの画像データを展開した記憶領域を解放する。そして、ポインタが指すレコード及びポインタが指すレコードの前のレコードについて、タスクIDを消去し、転送終了フラグを0に変更する。
【0098】
ステップS906において、カウンタタスクは、ポインタの値を次のレコードに変更して、ステップS901に戻る。なお、ポインタが最も下のレコードを指している場合はトップのレコードに変更する。
【0099】
印刷タスク実行手段2で実行されるカウンタタスクをこのように構成することにより、第1実施例のおける効果に加え、印刷手段3における両面印刷に対応することができる。すなわち、記憶領域の解放は印刷面状態変数が1の場合にのみ実行されるように構成したため、記録紙の裏面の印刷が終わった段階では、記録紙の裏面に印刷された画像データの記憶領域が解放されることはなく、記録紙の表面の印刷が終わり記録紙が排出された段階で、表裏に印刷された2つの画像データの記憶領域が解放されることになる。
(変形例)
なお、本発明は上記各実施の形態に限定されることなく、種々に変形して適用することが可能である。例えば、両面印刷が実行される場合、印刷実行手段31は、1枚目の記録紙の裏面、2枚目の記録紙の裏面、1枚目の記録紙の表面、2枚目の記録紙の表面、といった順番で印刷を行うように構成してもよい。かかる構成は、例えば、レコードへの書込み順が、1枚目の記録紙の裏面に対応する印刷タスク、2枚目の記録紙の裏面に対応する印刷タスク、1枚目の記録紙の表面に対応する印刷タスク、2枚目の記録紙の表面に対応する印刷タスクの順番となるように制御することにより実現できる。または、印刷面状態変数を単面印刷の終了に応じて1、2、3、4、1、2、・・・の順番に値が更新されるように構成し、図12のステップS902において値が1の場合にステップS904に進む代わりに、値が3もしくは4の場合にステップS904に進むように構成すればよい。このような順番で印刷することにより、1枚目の記録紙について裏面印刷後に表裏をひっくり返すための紙送り動作を行っている間に、2枚目の記録紙の裏面の印刷動作を行うことができるため、印刷効率を高めることができる。
【0100】
【発明の効果】
本発明のプリンタ装置によれば、印刷手段において記録紙の排出を検知し、排出情報を出力する構成、もしくは排出により単純に増加していく第1カウンタを備える構成であるため、印刷手段内の記録紙枚数の算出といった演算を必要とせず、印刷手段における処理負担を軽減することができる。
【0101】
また、印刷タスク実行手段において制御テーブル、カウンタを設けたことにより、複数の印刷タスクについて、コントローラにおけるメモリの使用効率を向上させることができる。
【図面の簡単な説明】
【図1】 第1実施形態のプリンタ装置の構成を示すブロック図である。
【図2】 制御テーブルの例を示す図である。
【図3】 第1実施形態の第1実施例における印刷タスクの処理の流れを示すフローチャートである。
【図4】 第1実施形態の第2実施例における印刷タスクの処理の流れを示すフローチャートである。
【図5】 第1実施形態の第2実施例におけるカウンタタスクの処理の流れを示すフローチャートである。
【図6】 第1実施形態の第3実施例におけるカウンタタスクの処理の流れを示すフローチャートである。
【図7】 第2実施形態のプリンタ装置の構成を示すブロック図である。
【図8】 第2実施形態の第1実施例における印刷タスクの処理の流れを示すフローチャートである。
【図9】 第2実施形態の第1実施例における第1カウンタタスクの処理の流れを示すフローチャートである。
【図10】 第2実施形態の第1実施例における第2カウンタタスクの処理の流れを示すフローチャートである。
【図11】 第2実施形態の第2実施例における第1カウンタタスクの処理の流れを示すフローチャートである。
【図12】 第2実施形態の第2実施例における第2カウンタタスクの処理の流れを示すフローチャートである。
【符号の説明】
1 プリンタ装置
2 印刷タスク実行手段
21 制御テーブル
22 カウンタ
23 第2カウンタ
24 第3カウンタ
25 第4カウンタ
3 印刷手段
31 印刷実行手段
32 排出検知手段
33 面印刷検知手段
34 第1カウンタ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a printer apparatus that generates and stores image data and prints the image data on a storage medium.
[0002]
[Prior art]
A conventional printer apparatus receives print data described in a printer control language from a host computer, performs language analysis on the print data, expands it into image data via an intermediate code, and outputs the image data to a print engine. The controller includes an output controller, and a print engine that receives image data from the controller and prints (transfers and fixes) an image on recording paper or the like based on the image data.
[0003]
The controller temporarily stores the print data sent from the host computer or the like in a memory such as a RAM, analyzes the language of the stored print data, develops it into image data, and sends a print start command to the print engine.
[0004]
When the print engine receives a print start command from the controller, the print engine makes preparations for enabling printing such as raising the temperature of the fixing device, and starts printing paper when printing is possible. When the leading edge of the fed recording paper is detected by a sensor or the like, a synchronization signal in the sub-scanning direction is sent to the controller at a predetermined timing.
[0005]
The controller sends image data for one page to the print engine in synchronization with the synchronization signal in the sub-scanning direction. Thereafter, the controller passes the maximum time (hereinafter referred to as the recovery time) from when the print engine sends the synchronization signal in the sub-scanning direction until the printing ends normally and the recording paper is discharged out of the apparatus. Until then, the image data stored in the memory is held. As a result, if the printing engine does not end normally due to a malfunction in the print engine, such as a recording paper jam, the image data stored in the memory can be read and the image printed again. . That is, even when a problem occurs in the print engine, the same image data can be printed without receiving the print data again from the host computer or the like.
[0006]
[Problems to be solved by the invention]
However, in the above conventional example, it is necessary to always set the recovery time to be constant regardless of the recording paper size, or to set the recovery time according to the maximum recording paper size when the recording paper size is not known. Therefore, even when a short size recording paper is used, if this recovery time is set to the maximum recording paper size, the recovery time will elapse even after the printed recording paper is discharged outside the machine. Until then, the image data stored in the memory cannot be erased.
[0007]
On the other hand, as a method for efficiently erasing image data regardless of the recovery time, a means for detecting that the recording paper has been discharged and outputting it as a discharge signal is provided in the print engine, and the controller outputs a discharge signal output from the print engine. A method of receiving a signal and releasing a storage area for image data based on the discharge signal can be considered. However, in this method, for example, when the size of the recording paper supplied to the print engine is smaller than the size of the recording paper requested by the image data, the discharge of the recording paper ends during the transfer of the image data, and the discharge signal Will be sent. Therefore, even if an attempt is made to release the storage area after the transfer is completed, a discharge signal for the image data cannot be received, so that the storage area cannot be released based on the discharge signal.
[0008]
It is also conceivable to calculate the number of recording sheets held in the printing engine in the printing engine, and update the number of recording sheets each time recording paper is supplied or discharged and send it to the controller. However, since the CPU provided in the print engine is a CPU having a lower function than that provided in the controller, it is difficult to place a processing burden such as calculation and update of the number of sheets on the low-function CPU. Is not desirable.
[0009]
The present invention has been made in view of the above problems, and an object of the present invention is to provide a printer apparatus capable of improving the memory use efficiency in the controller without imposing a processing burden on the print engine.
[0010]
[Means for Solving the Problems]
A printer apparatus according to the present invention includes a print task execution unit that executes a print task for transferring image data to a printing unit, a printing unit that performs printing on a storage medium based on the image data, and discharges the printed storage medium. The print means includes discharge detection means for detecting that the storage medium has been discharged and outputting the information as discharge information to the print task execution means, and the print task execution means includes an image An i-count (i ≠ 0) is added corresponding to the end of data transfer, and a counter is provided to subtract i-count when the discharge information is received. Based on the counter, image data that has been transferred is stored. It is characterized by releasing the area.
[0011]
Preferably, the print task execution means completes the transfer when the counter takes a non-positive value when i is a positive value (when the counter takes a non-negative value when i is a negative value). The storage area is released for the processed image data.
[0012]
Further, when the print task execution means is configured to be able to execute a plurality of print tasks in parallel, the print task execution means is configured such that when i is a positive value, the counter takes a non-positive value ( If i is a negative value (if the counter takes a non-negative value), the storage area is released for one of the transferred image data.
[0013]
The print task may be configured to perform an i-count addition process for the counter and a storage area release process based on the counter. In addition, with respect to the print task execution means, a counter task for managing a counter can be executed so that the counter task performs an i-count addition process for the counter and a storage area release process based on the counter. Can be configured.
[0014]
The printer device of the present invention performs printing on both sides of a storage medium based on the image data, and discharges the storage medium printed on both sides based on the image data. A printing apparatus that includes a discharge detection unit that detects that the storage medium has been discharged and outputs the information as discharge information to the print task execution unit. The means includes a counter that is incremented by i count (i ≠ 0) corresponding to the end of transfer of image data, and subtracted by 2i count when the discharge information is received, and is configured to be able to execute in parallel for a plurality of printing tasks. When i is a positive value, the transfer is completed when the counter takes a non-positive value (when i is a negative value, the counter takes a non-negative value). Characterized in that to release the two for storage areas in the image data.
[0015]
A printer apparatus according to the present invention includes a print task execution unit that executes a print task for transferring image data to a printing unit, a printing unit that performs printing on a storage medium based on the image data, and discharges the printed storage medium. And a first counter for adding a j count (j ≠ 0) every time a discharge is detected. The print task execution means includes a second counter updated based on the value of the first counter, and a third counter to which i count (i ≠ 0) is added corresponding to the start of printing And a fourth counter to which i count is added in response to the start of printing, a first counter task for controlling the second counter and the third counter, a third counter and a fourth counter A second counter task that controls the counter, and the first counter task periodically acquires a counter value from the first counter, and the acquired counter value and the second counter When the values are different, the obtained counter value is substituted for the second counter and the i-count is subtracted to the third counter, and the second counter task determines the value of the third counter and the value of the fourth counter. If the values are different, the i-count is subtracted from the fourth counter, and the storage area is released for the transferred image data based on the timing of the subtraction.
[0016]
Preferably, the print task execution unit is configured to be able to execute a plurality of print tasks in parallel, and the print task execution unit is configured to transfer one of the image data transferred based on the subtraction timing. Free up storage space.
[0017]
The printer device of the present invention performs printing on both sides of a storage medium based on the image data, and discharges the storage medium printed on both sides based on the image data. A printing device comprising: a printing device comprising: a printing device for detecting that printing of one surface of the storage medium has been completed; and j count ( j ≠ 0), and the print task execution means includes a second counter that is updated based on the value of the first counter, and an i count (i ≠ 0), a fourth counter to which i count is added in response to the start of printing, a region for storing a printing surface state variable having at least two values, and a second counter Mosquito The first counter task for controlling the counter and the third counter and the second counter task for controlling the third counter and the fourth counter can be executed, and the first counter task is a first counter task. The counter value is periodically acquired from the second counter, and when the acquired counter value is different from the value of the second counter, substitution of the acquired counter value for the second counter, 2i count subtraction for the third counter, and The printing surface state variable is updated according to the front and back sides of the printed surface, and the second counter task is configured such that the printing surface state variable takes a predetermined value and the third counter value and the fourth counter value are changed. When the counter values are different, 2i count is subtracted from the fourth counter, and two of the image data that have been transferred are recorded based on the subtraction timing. Characterized in that the area is released.
[0018]
DETAILED DESCRIPTION OF THE INVENTION
(First embodiment)
(Configuration of printer device)
A first embodiment of the present invention will be described with reference to FIG. The printer apparatus 1 according to the first embodiment of the present invention includes a print task execution unit 2 and a printing unit 3. The print task execution unit 2 includes a control table 21 and a counter 22, and the print unit 3 includes a print execution unit 31 and a discharge detection unit 32. In addition to the print task execution means 2 and the print means 3, the printer apparatus 1 has a configuration provided in a normal printer apparatus (for example, print data is received from a host computer, developed into image data, and stored in a predetermined storage area. Image data generating means for storing).
[0019]
The print task execution unit 2 generates and executes a print task for each print data. Here, the print task is a task for performing processing for transmitting image data stored in a predetermined storage area to the printing unit 3.
[0020]
The print task execution means 2 may be physically realized by either a system dedicated to printer control and data processing, or a general-purpose information processing apparatus. For example, in an information processing apparatus having a general configuration including a calculation unit and a storage unit, a print task can be generated on a computer by activating software that defines the operation of the print task. The print task execution means 2 is configured to execute a plurality of print tasks in parallel.
[0021]
The control table 21 stores information for efficiently releasing a storage area in which image data is stored for a plurality of print tasks. FIG. 2 shows an example of the control table 21. The control table 21 includes records corresponding to the maximum number of print tasks that can be executed in parallel, and each record is provided with an area for storing a print task ID and a semaphore flag variable. The print task ID is a number for specifying the print task. The semaphore flag is a variable used to perform exclusive control for a plurality of print tasks. The semaphore flag can be used for exclusive control by taking 1 or 0, for example, and controlling so that only one semaphore flag is always 1 among the semaphore flags of each record.
[0022]
The counter 22 is given 0 as an initial value. When the discharge signal 300 is received from the printing unit 3, the counter value is decremented by one. When the transfer of image data is completed, the counter value is incremented by one. In addition, regarding the operation of the counter, a configuration in which the sign is reversed is also conceivable. In this case, the direction of the inequality sign is reversed in condition determination based on the counter described later. Further, the value of addition / subtraction with respect to the counter may be other than ± 1.
[0023]
The print execution unit 31 prints an image based on the received image data. When a plurality of image data are received, the images are printed in the order received. The print execution unit 31 includes units (not shown) included in a conventional laser printer, such as a paper feed tray, a paper feed mechanism, a photoreceptor, an electrostatic latent image forming unit, a developing / fixing unit, and a paper discharge port. Yes.
[0024]
The discharge detection means 32 is provided in the vicinity of the paper discharge port of the print execution means 31 and detects when the recording paper is discharged from the print execution means 31 and is sent to the counter 22 in the print task execution means 2 as a discharge signal. Send.
(Processing flow in the print task execution means)
(First example of the first embodiment)
A processing flow of the first example of the present embodiment will be described. FIG. 3 is a flowchart showing the flow of processing by the print task. Assume that the counter value is 0, the semaphore flag is set to 1 only for the top record of the control table, and 0 is set to the semaphore flags of other records. The counter 22 is decremented by −1 (+1 count subtraction) based on the discharge signal received from the printing unit 3.
[0025]
In step S101, the print task outputs a print start command to the printing means 2, and writes its own task ID in an empty record (record in which no task ID is written) in the control table.
[0026]
Here, it is assumed that records corresponding to the maximum number of tasks that can be executed in parallel are prepared in the control table, and task IDs are written in the order from top to bottom in the figure. When the record is written to the bottom, it is assumed that the record is written back to the top record again.
[0027]
In step S <b> 102, the print task receives the print preparation completion signal from the printing unit 3, and then transfers the image data to the printing unit 3. After the transfer of the image data is completed, the process proceeds to step S103.
[0028]
In step S103, the print task checks the semaphore flag included in the record in which the task ID is written. If the value of the semaphore flag is 0, for example, 100 msec Delay is executed, and the process returns to step S103. If the value of the semaphore flag is 1, the process proceeds to step S104.
[0029]
In step S104, the printing task counts the counter 22 by +1.
[0030]
In step S105, when the value of the counter 22 is a positive value, for example, 100 msec Delay is executed, and the process returns to step S105. If not (ie, a non-positive value), the process proceeds to step S106. Here, since the counter value is decremented by 1 by receiving the discharge information, if the value of the counter 22 is a non-positive value, printing is completed for the image data of the print task, and the recording paper is discharged. Means that Therefore, the printing task can determine whether printing has been completed and the recording paper has been discharged based on the counter 22 with respect to its own image data.
[0031]
In step S106, the print task changes the semaphore flag included in the record in which the task ID is written to 0, and changes the semaphore flag included in the next record (the lower record in FIG. 2) to 1. Then, the task ID is deleted from the control table, the storage area where the image data is expanded is released, and the process ends.
[0032]
By configuring the print task executed by the print task execution unit 2 in this way, the print unit 3 can efficiently release the storage area only by transmitting the discharge information without performing any calculation or the like. it can. Further, since the discharge information is statically stored in the counter 22, it can be determined that the recording paper has been discharged based on the counter value even if the discharge information is received before the transfer of the image data is completed. Compared with the case where the signal is simply received and used, it is possible to eliminate the loss of the signal. Further, by performing exclusive control for a plurality of print tasks using the semaphore flag of the control table 21, access to the counter 22 and release of the storage area can be sequentially executed according to the order of the records. The storage area is not released for image data for which no recording paper has been discharged.
(Second example of the first embodiment)
A processing flow of the second example of the present embodiment will be described. In this embodiment, the counter task is generated in the print task execution means 2 independently of the print task, and the transfer end flag variable is set in each record of the control table in place of the area for storing the semaphore flag variable. This is different from the first embodiment in that a storage area is provided. The counter task is a task for referring to / changing the counter 22, and includes a pointer that can point to one record in the control table.
[0033]
FIG. 4 is a flowchart showing the flow of processing of the print task in the second embodiment, and FIG. 5 is a flowchart showing the flow of processing of the counter task in the second embodiment.
[0034]
As an initial state, it is assumed that the counter value of the counter 22 is 0, the transfer end flag of the control table is 0 for all records, and the top record of the control table is set as the counter task pointer. The counter 22 counts −1 based on the discharge signal received from the printing unit 3.
[0035]
First, the flow of processing of the print task will be described.
[0036]
In step S201, the print task outputs a print start command to the printing unit 3, and writes its own task ID in an empty record (a record in which no task ID is written) in the control table.
[0037]
Here, it is assumed that records corresponding to the maximum number of tasks that can be executed in parallel are prepared in the control table, and task IDs are written in the order from top to bottom in the figure. When the record is written to the bottom, it is assumed that the record is written back to the top record again.
[0038]
In step S <b> 202, the printing task receives the print preparation completion signal from the printing unit 3, and then transfers the image data to the printing unit 3.
[0039]
In step S203, after the transfer of the image data is completed, the transfer end flag included in the record in which the task ID is written is changed to 1, and the process ends.
[0040]
Next, the processing flow of the counter task will be described.
[0041]
In step S301, the counter task checks the transfer end flag for the record pointed to by the pointer. If the value of the transfer end flag is 0, for example, 100 msec Delay is executed, and the process returns to step S301. If the value of the transfer end flag is 1, the process proceeds to step S302.
[0042]
In step S302, the counter task counts the value of the counter 22 by +1.
[0043]
In step S303, when the value of the counter 22 is positive, for example, 100 msec Delay is executed, and the process returns to step S303. Otherwise (in the case of a non-positive value), the process proceeds to step S304.
[0044]
In step S304, the counter task deletes the task ID for the record pointed to by the pointer, changes the transfer end flag to 0, and releases the storage area where the image data is expanded for the print task having the task ID. Then, the pointer value is changed to the next record (the lower record in FIG. 2), and the process returns to step S301. If the pointer points to the lowest record, the record is changed to the top record.
[0045]
In the above processing, the counter 22 is incremented only once for each print task. This means that the counter 22 is incremented by 1 corresponding to the generation of the print task.
[0046]
By configuring the print task and the counter task executed by the print task execution unit 2 in this way, the print unit 3 can efficiently release the storage area only by transmitting the discharge information without performing any calculation. It can be carried out. Further, since the discharge information is statically stored in the counter 22, it can be used regardless of before and after the transfer of the image data regarding the reception of the discharge information in the print task execution means 2, and simply by receiving the signal and using it. This makes it possible to eliminate signal loss compared to the case of doing so. Furthermore, by performing exclusive control for a plurality of print tasks using the pointer of the counter task, it is possible to sequentially release the storage area according to the order of the records, so that the recording paper has not yet been accidentally ejected. Data is never freed.
[0047]
Furthermore, since each print task can be completed when the transfer of the image data is completed, the number of print tasks executed simultaneously can be reduced and the processing efficiency can be improved.
(Third example of the first embodiment)
A processing flow of the third example of the present embodiment will be described. The present embodiment is the same as the second embodiment in that a counter task is generated, a transfer end flag is provided in the control table 21, and the counter task includes a pointer.
[0048]
However, the control table 21 is further provided with a front / back flag for each record, and the operation flow of the counter 22 and the processing flow of the counter task correspond to the case where double-sided printing is executed in the printing means 3. This is different from the second embodiment. Here, double-sided printing means that image data transferred from two printing tasks is printed on the front and back of one recording sheet. In this embodiment, it is assumed that printing is performed in the order of the back surface and the front surface.
[0049]
The front / back flag is a flag indicating which side of the front / back image data is transferred by the print task. In this embodiment, the front / back flag is 0 for the front side and the back side. Take 1
[0050]
In the third embodiment, the counter 22 is decremented by -2 (+2 count subtraction) based on the discharge signal received from the printing means 3.
[0051]
FIG. 6 is a flowchart showing the flow of processing of the counter task in the third embodiment. Note that the flow of processing of the print task in the third embodiment is substantially the same as the flow in the second embodiment shown in FIG. However, each print task writes a value to the front and back flags according to the front and back of the image data to be transferred, for example, when writing the task ID.
[0052]
In step S401, the counter task checks the transfer end flag for the record pointed to by the pointer. If the value of the transfer end flag is 0, for example, 100 msec Delay is executed, and the process returns to step S401. If the value of the transfer end flag is 1, the process proceeds to step S402.
[0053]
In step S402, the counter task counts the value of the counter 22 by +1.
[0054]
In step S403, if the front and back flag value is 1, the process proceeds to step S406, and if 0, the process proceeds to step S404. This step only needs to be configured to proceed to step S404 when printing on both sides is completed. When printing is performed in the order of the front side and the back side, the reverse operation (step S406 in the case of 0) is performed. Go to step S404 if 1).
[0055]
If the counter value of the counter 23 is positive in step S404, for example, 100 msec Delay is executed, and the process returns to step S404. Otherwise, the process proceeds to step S405.
[0056]
In step S405, the counter task stores a storage area in which the image data of the print task having the written task ID is expanded for the record pointed to by the pointer and the record before the record pointed by the pointer (the record at the top in FIG. 2). release. Then, the task ID is erased and the transfer end flag is changed to 0 for the record pointed to by the pointer and the record before the record pointed by the pointer (the record above).
[0057]
In step S406, the counter task changes the pointer value to the next record (the record below), and returns to step S401. If the pointer points to the lowest record, the record is changed to the top record.
[0058]
By configuring the counter task executed by the print task execution means 2 in this way, it is possible to cope with double-sided printing in the printing means 3 in addition to the effects of the second embodiment. That is, the storage area is released only when the front / back flag is 1, so that the storage area of the image data printed on the back side of the recording paper is released at the stage where the back side of the recording paper has been printed. In other words, the storage areas of the two image data printed on the front and back sides are released at the stage where the printing on the surface of the recording paper is finished and the recording paper is discharged.
(Second Embodiment)
(Configuration of printer device)
A second embodiment of the present invention will be described with reference to FIG. The printer apparatus 1 according to the second embodiment of the present invention includes a print task execution unit 2 and a printing unit 3. The print task execution unit 2 includes a control table 21, a second counter 23, a third counter 24, and a fourth counter 25. The print unit 3 includes a print execution unit 31, a surface print detection unit 33, and a first counter 34. I have. In addition to the print task execution means 2 and the print means 3, the printer apparatus 1 has a configuration provided in a normal printer apparatus (for example, print data is received from a host computer, developed into image data, and stored in a predetermined storage area. Image data generating means for storing).
[0059]
The print task execution unit 2 generates and executes a print task for each print data. Further, the first counter task and the second counter task are executed independently of the print task. Here, the print task is a task for performing processing for transmitting image data stored in a predetermined storage area to the printing unit 3. The first counter task is a task for referring to and changing the second counter and the third counter. The second counter task is a task for referring to and changing the third counter and the fourth counter, and includes a pointer that can point to one record in the control table.
[0060]
The print task execution means 2 may be physically realized by either a system dedicated to printer control and data processing, or a general-purpose information processing apparatus. For example, in an information processing apparatus having a general configuration including a calculation unit and a storage unit, a print task can be generated on a computer by activating software that defines the operation of the print task. The print task execution means 2 is configured to execute a plurality of print tasks in parallel.
[0061]
The control table 21 stores information for efficiently releasing a storage area in which image data is stored for a plurality of print tasks. The control table 21 includes records corresponding to the maximum number of print tasks that can be executed in parallel, and each record has an area for storing a print task ID and a transfer end flag variable. The print task ID is a number for specifying the print task. The transfer end flag variable is, for example, a variable that takes 0 when the transfer is not completed for the corresponding print task, and takes 1 when the transfer is completed.
[0062]
The second counter 23 is given 0 as an initial value, and is updated at a predetermined cycle based on the value of the first counter in the printing unit 3. The third counter 24 is given 0 as an initial value, and +1 count is added corresponding to the generation of the print task, and −1 is counted as the second counter is updated. The fourth counter 25 is given 0 as an initial value, and +1 count is added corresponding to the generation of the print task, and -1 is counted when a predetermined condition is satisfied. In addition, regarding the operation | movement of each counter, the structure which reverses positive / negative is also considered. Further, the value of addition / subtraction with respect to the counter may be other than ± 1.
[0063]
The print execution unit 31 prints an image based on the received image data. When a plurality of image data are received, the images are printed in the order received. The print execution unit 31 includes units (not shown) included in a conventional laser printer, such as a paper feed tray, a paper feed mechanism, a photoreceptor, an electrostatic latent image forming unit, a developing / fixing unit, and a paper discharge port. Yes.
[0064]
The surface printing detection means 33 is provided in the vicinity of the paper discharge mechanism of the printing execution means 31, and detects when the printing execution means 31 has finished printing on a single surface, and with respect to the first counter 34 (initial value 0). Add +1 count. The first counter 34 is composed of, for example, 4 bits, and is configured to return to 0 when the counter value reaches 15.
(Processing flow in the print task execution means)
(First example of the second embodiment)
A processing flow of the first example of the present embodiment will be described. FIG. 8 shows the flow of processing of the print task in this embodiment, FIG. 9 shows the flow of processing of the first counter task in this embodiment, and FIG. 10 shows the flow of processing of the second counter task in this embodiment. It is a flowchart.
[0065]
As an initial state, the counter value of the second counter 23 to the fourth counter 25 is 0, the transfer end flag of the control table 21 is 0 for all records, and the top record of the control table 21 is set to the pointer of the second counter task. Suppose that
[0066]
First, the flow of processing of the print task will be described.
[0067]
In step S501, the print task outputs a print start command to the printing unit 3, and writes its own task ID in an empty record (record in which no task ID is written) in the control table 21.
[0068]
Here, it is assumed that records corresponding to the maximum number of tasks that can be executed in parallel are prepared in the control table 21, and task IDs are written in the order from top to bottom in the figure. When the record is written to the bottom, it is assumed that the record is written back to the top record again.
[0069]
In step S502, the print task adds +1 to the third counter and the fourth counter. This means that the third counter and the fourth counter are incremented by +1 corresponding to the generation of the print task.
[0070]
In step S <b> 503, the print task receives the print preparation completion signal from the printing unit 3, and then transfers the image data to the printing unit 3.
[0071]
In step S504, after the transfer of the image data is completed, the transfer end flag included in the record in which the task ID is written is changed to 1, and the process ends.
[0072]
The execution order of step S501, step S502, and step S503 is not limited to this order, and can be executed in any order.
[0073]
Next, the processing flow of the first counter task will be described.
[0074]
In step S <b> 601, the first counter task outputs a first counter value request command to the printing unit 3, and acquires the first counter value from the printing unit 3.
[0075]
In step S602, the first counter task compares the first counter value with the second counter value. If they do not match, the process proceeds to step S603. If they match, the process proceeds to step S604.
[0076]
In step S <b> 603, the first counter task assigns the value of the first counter to the second counter and counts −1 (subtracts +1) from the third counter.
[0077]
In step S604, the first counter task executes, for example, 100 msecDelay so that the processing from steps S601 to S603 is executed at a constant cycle. Thereafter, the process returns to step S601.
[0078]
Next, the processing flow of the second counter task will be described.
[0079]
In step S701, the second counter task checks the transfer end flag for the record pointed to by the pointer. When the value of the transfer end flag is 0, for example, 100 msec Delay is executed, and the process returns to step S701. If the value of the transfer end flag is 1, the process proceeds to step S702.
[0080]
In step S702, the second counter task compares the third counter value with the fourth counter value. If they do not match, the process proceeds to step S703. If the two match, for example, 100 msec Delay is executed, and the process returns to step S702.
[0081]
In step S703, the second counter task counts -1 (subtracts +1) from the fourth counter.
[0082]
In step S704, the second counter task deletes the task ID for the record pointed to by the pointer, changes the transfer end flag to 0, and releases the storage area in which the image data is expanded for the print task having the task ID. . Then, the pointer value is changed to the next record (the lower record in FIG. 2), and the process returns to step S701. If the pointer points to the lowest record, the record is changed to the top record.
[0083]
By configuring the printing task, the first counter task, and the second counter task executed by the printing task execution unit 2 in this way, the printing unit 3 has a first counter that is simply added upon completion of single-sided printing. The storage area can be efficiently released simply by providing. Further, since the number-of-surfaces information in the printing means 3 is statically stored in the third counter, it is possible to eliminate the signal loss compared to the case where the signal is simply received and used. Furthermore, by performing exclusive control for a plurality of printing tasks using the pointer of the second counter task, it is possible to sequentially release the storage area according to the order of the records. There is no need to free up missing image data.
[0084]
Furthermore, since each print task can be completed when the transfer of the image data is completed, the number of print tasks executed simultaneously can be reduced and the processing efficiency can be improved.
(Second Example of Second Embodiment)
A processing flow of the second example of the present embodiment will be described. This embodiment is different from the first embodiment in that the operation of each counter and the flow of processing of each counter task correspond to the case where double-sided printing is executed in the printing unit 3. The print task execution means 2 is different from the first embodiment in that the print task execution means 2 includes an area that is changed by the first counter task and stores a print surface state variable referred to by the second counter task. The printing surface state variable is a variable used for specifying whether the surface on which printing has recently been completed in the printing unit 3 is the front surface or the back surface.
[0085]
FIG. 11 is a flowchart showing the flow of processing of the first counter task in this embodiment, and FIG. 12 is a flowchart showing the flow of processing of the second counter task in this embodiment. Note that the flow of processing of the print task in this embodiment is the same as the flow in the first embodiment shown in FIG.
[0086]
As an initial state, the counter value of the second counter to the fourth counter is 0, the printing surface state variable is 1, the transfer end flag of the control table is 0 for all records, and the pointer of the second counter task is set to the top of the control table. Suppose a record is set.
[0087]
First, the flow of processing of the first counter task will be described.
[0088]
In step S <b> 801, the first counter task outputs a first counter value request command to the printing unit 3, and acquires the first counter value from the printing unit 3.
[0089]
In step S802, the first counter task compares the first counter value with the second counter value. If they do not match, the process proceeds to step S803. If they match, the process proceeds to step S804.
[0090]
In step S803, the first counter task assigns the value of the first counter to the second counter and counts −2 (subtracts +2) from the third counter. Also, the printing surface state variable is multiplied by -1.
[0091]
In step S804, the first counter task executes, for example, 100 msec Delay so that the processes from steps S801 to S803 are executed at a constant cycle. Thereafter, the process returns to step S801.
[0092]
Next, the processing flow of the second counter task will be described.
[0093]
In step S901, the second counter task checks the transfer end flag for the record pointed to by the pointer. If the value of the transfer end flag is 0, for example, 100 msec Delay is executed, and the process returns to step S901. If the value of the transfer end flag is 1, the process proceeds to step S902.
[0094]
In step S902, the second counter task proceeds to step S906 if the printing surface state variable is -1, and proceeds to step S903 if it is 1.
[0095]
In step S903, the second counter task compares the third counter value with the fourth counter value. If they do not match, the process proceeds to step S904. If the two match, for example, 100 msec Delay is executed, and the process returns to step S903.
[0096]
In step S904, the second counter task counts −2 (subtracts +2) from the fourth counter.
[0097]
In step S905, the counter task releases the storage area in which the image data of the print task having the written task ID is expanded for the record pointed to by the pointer and the record before the record pointed by the pointer. Then, the task ID is erased and the transfer end flag is changed to 0 for the record pointed to by the pointer and the record before the record pointed by the pointer.
[0098]
In step S906, the counter task changes the pointer value to the next record, and returns to step S901. If the pointer points to the lowest record, the record is changed to the top record.
[0099]
By configuring the counter task executed by the print task execution means 2 in this way, in addition to the effects of the first embodiment, it is possible to cope with double-sided printing in the printing means 3. In other words, since the storage area is released only when the printing surface state variable is 1, the storage area of the image data printed on the back surface of the recording paper at the stage where the printing on the back surface of the recording paper is completed. Is not released, and the storage areas of the two image data printed on the front and back sides are released at the stage when the printing on the surface of the recording paper is finished and the recording paper is discharged.
(Modification)
Note that the present invention is not limited to the above-described embodiments, and can be variously modified and applied. For example, when double-sided printing is executed, the print execution unit 31 uses the back surface of the first recording paper, the back surface of the second recording paper, the front surface of the first recording paper, and the second recording paper. You may comprise so that it may print in the order of the surface. In this configuration, for example, the order of writing to the record is a print task corresponding to the back surface of the first recording paper, a print task corresponding to the back surface of the second recording paper, and the front surface of the first recording paper. This can be realized by controlling the corresponding printing task in order of the printing task corresponding to the surface of the second recording sheet. Alternatively, the printing surface state variable is configured to be updated in the order of 1, 2, 3, 4, 1, 2,... According to the end of single-side printing, and the value is set in step S902 in FIG. Instead of proceeding to step S904 when 1 is 1, it may be configured to proceed to step S904 when the value is 3 or 4. By printing in this order, it is possible to perform the printing operation on the back side of the second recording sheet while performing the paper feeding operation for turning the front and back sides after the back side printing for the first recording sheet. Therefore, printing efficiency can be improved.
[0100]
【The invention's effect】
According to the printer device of the present invention, the printing unit detects the discharge of the recording paper and outputs the discharge information, or includes the first counter that is simply increased by the discharge. Calculation such as calculation of the number of recording sheets is not required, and the processing load on the printing unit can be reduced.
[0101]
Further, by providing the control table and counter in the print task execution means, it is possible to improve the memory use efficiency in the controller for a plurality of print tasks.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of a printer apparatus according to a first embodiment.
FIG. 2 is a diagram illustrating an example of a control table.
FIG. 3 is a flowchart showing a flow of processing of a print task in the first example of the first embodiment.
FIG. 4 is a flowchart showing a flow of processing of a print task in a second example of the first embodiment.
FIG. 5 is a flowchart showing the flow of counter task processing in the second example of the first embodiment;
FIG. 6 is a flowchart showing the flow of counter task processing in a third example of the first embodiment;
FIG. 7 is a block diagram illustrating a configuration of a printer apparatus according to a second embodiment.
FIG. 8 is a flowchart showing a flow of processing of a print task in the first example of the second embodiment.
FIG. 9 is a flowchart showing a flow of processing of a first counter task in the first example of the second embodiment.
FIG. 10 is a flowchart showing a flow of processing of a second counter task in the first example of the second embodiment.
FIG. 11 is a flowchart showing a flow of processing of a first counter task in a second example of the second embodiment.
FIG. 12 is a flowchart showing a flow of processing of a second counter task in the second example of the second embodiment.
[Explanation of symbols]
1 Printer device
2 Print task execution means
21 Control table
22 counter
23 Second counter
24 Third counter
25 4th counter
3 Printing means
31 Print execution means
32 Discharge detection means
33 surface printing detection means
34 First counter

Claims (6)

画像データを印刷手段に転送する印刷タスクを実行する印刷タスク実行手段と、前記画像データに基づいて記憶媒体に印刷を行い、前記印刷した記憶媒体を排出する印刷手段とを備えたプリンタ装置であって、
前記印刷手段は、記憶媒体が排出されたことを検知して排出情報として前記印刷タスク実行手段に出力する排出検知手段を備え、
前記印刷タスク実行手段は、前記排出情報を受信するとiカウント(i≠0)減算されるカウンタを備え、画像データの転送終了に対応してiカウントを前記カウンタに加算し、前記カウンタに基づいて、転送が終了した画像データについて記憶領域を解放するタスクを実行可能に構成されることを特徴とするプリンタ装置。
A printer apparatus comprising: a print task executing unit that executes a print task for transferring image data to a printing unit; and a printing unit that performs printing on a storage medium based on the image data and discharges the printed storage medium. And
The printing means includes discharge detection means for detecting that the storage medium has been discharged and outputting the information as discharge information to the print task execution means,
The print task execution means includes a counter that is said when receiving the ejection information i count (i ≠ 0) subtracting, in response to an end of transfer of the image data by adding the i count in said counter, based on said counter A printer device configured to execute a task of releasing a storage area for image data that has been transferred.
前記印刷タスク実行手段は、iが正値の場合は前記カウンタが非正値をとる場合に(iが負値の場合は前記カウンタが非負値をとる場合に)、転送が終了した画像データについて記憶領域を解放することを特徴とする請求項1記載のプリンタ装置。  The print task execution unit is configured to transfer image data for which transfer has ended when the counter has a non-positive value when i is a positive value (when the counter has a non-negative value when i is a negative value). 2. The printer apparatus according to claim 1, wherein the storage area is released. 前記印刷タスク実行手段は、複数の印刷タスクについて並列実行可能に構成されており、前記印刷タスク実行手段は、iが正値の場合は前記カウンタが非正値をとる場合に(iが負値の場合は前記カウンタが非負値をとる場合に)、転送が終了した画像データのうち1つについて記憶領域を解放することを特徴とする請求項1記載のプリンタ装置。  The print task execution means is configured to be able to execute a plurality of print tasks in parallel. The print task execution means is configured such that when i is a positive value, the counter takes a non-positive value (i is a negative value). 2. The printer apparatus according to claim 1, wherein a storage area is released for one of the transferred image data when the counter takes a non-negative value. 前記印刷タスクが、前記カウンタに対するiカウント加算処理、及び前記カウンタに基づく記憶領域の解放処理を行うことを特徴とする請求項1乃至3のいずれか1項に記載のプリンタ装置。  The printer apparatus according to claim 1, wherein the print task performs an i-count addition process for the counter and a storage area release process based on the counter. 前記印刷タスク実行手段は、カウンタを管理するカウンタタスクを実行可能に構成されており、前記カウンタタスクが、前記カウンタに対するiカウント加算処理、及び前記カウンタに基づく記憶領域の解放処理を行うことを特徴とする請求項1乃至3のいずれか1項に記載のプリンタ装置。  The print task execution means is configured to be able to execute a counter task for managing a counter, and the counter task performs an i-count addition process for the counter and a storage area release process based on the counter. The printer apparatus according to any one of claims 1 to 3. 画像データを印刷手段に転送する印刷タスクを実行する印刷タスク実行手段と、前記画像データに基づいて記憶媒体の両面に印刷を行い、前記両面に印刷した記憶媒体を排出する印刷手段とを備えたプリンタ装置であって、
前記印刷手段は、記憶媒体が排出されたことを検知して排出情報として前記印刷タスク実行手段に出力する排出検知手段を備え、
前記印刷タスク実行手段は、前記排出情報を受信すると2iカウント(i≠0)減算されるカウンタを備え、画像データの転送終了に対応してiカウントを前記カウンタに加算し、iが正値の場合は前記カウンタが非正値をとる場合に(iが負値の場合は前記カウンタが非負値をとる場合に)、転送が終了した画像データのうち2つについて記憶領域を解放するタスクを実行可能に構成されることを特徴とするプリンタ装置。
Print task execution means for executing a print task for transferring image data to a printing means, and printing means for performing printing on both sides of a storage medium based on the image data and discharging the storage medium printed on both sides A printer device,
The printing means includes discharge detection means for detecting that the storage medium has been discharged and outputting the information as discharge information to the print task execution means,
The print task execution means includes a counter that is said when receiving the ejection information 2i count (i ≠ 0) subtracting, in response to an end of transfer of the image data by adding the i count in the counter, i is a positive value If the counter takes a non-positive value (if i is a negative value, the counter takes a non-negative value), the task of releasing the storage area for two of the transferred image data is A printer device configured to be executable.
JP2000018958A 2000-01-27 2000-01-27 Printer device Expired - Fee Related JP4318061B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000018958A JP4318061B2 (en) 2000-01-27 2000-01-27 Printer device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000018958A JP4318061B2 (en) 2000-01-27 2000-01-27 Printer device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008315601A Division JP4622002B2 (en) 2008-12-11 2008-12-11 Printer device

Publications (2)

Publication Number Publication Date
JP2001205866A JP2001205866A (en) 2001-07-31
JP4318061B2 true JP4318061B2 (en) 2009-08-19

Family

ID=18545737

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000018958A Expired - Fee Related JP4318061B2 (en) 2000-01-27 2000-01-27 Printer device

Country Status (1)

Country Link
JP (1) JP4318061B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006018748A (en) 2004-07-05 2006-01-19 Canon Inc Information processing apparatus and its control method, and computer program and computer readable storage medium

Also Published As

Publication number Publication date
JP2001205866A (en) 2001-07-31

Similar Documents

Publication Publication Date Title
JPH05254185A (en) Printer device
JP3286111B2 (en) Printing apparatus and method
JP2009151087A (en) Printing apparatus and printing method
JP4318061B2 (en) Printer device
JP4622002B2 (en) Printer device
JP4295420B2 (en) Blank page printing method for printer control device
US6421138B1 (en) Page allocation/deallocation procedure for a printer/copier with accessory media sheet handling apparatus
JP2007168103A (en) Printer and its recovery printing method
JPH11115280A (en) Printer
JP4250289B2 (en) Print processing apparatus and print processing method
JP3832979B2 (en) Print control apparatus, print control method, and storage medium
JP2001105668A (en) Image output apparatus and control method thereof
JP3852148B2 (en) Continuous paper duplex printing device
JPH11179973A (en) Printer
JP2001277605A (en) Image output system and method for controlling data transfer
JP4702923B2 (en) Printing apparatus, printing control method, program, and storage medium
JP3311969B2 (en) Discharge position control method and apparatus in printing apparatus
JP2000127566A (en) Printer
JP2886241B2 (en) Image forming system
JP5743531B2 (en) Image processing apparatus, control method thereof, and program
JP4011804B2 (en) Image recording apparatus, image recording system, and image recording method
JP4346747B2 (en) Image recording device
JP2001334704A (en) Controlling method of printer controller
JP2008044258A (en) Image forming apparatus
JP2004050723A (en) Printing system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080222

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081014

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081211

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090501

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090514

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120605

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130605

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130605

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees