(57)【要約】【課題】  ハードディスクを有するプリンタにおいて不測のシステムダウンが発生しても、印刷の指示を再び行う必要がないようにする。【解決手段】  ハードディスクを有するプリンタにおいて、パネル操作及び通信による印刷の指示を機器内の不揮発性記憶に記憶し、印刷可能状態になった場合に未処理のものがあったらその処理を継続して実行する。【選択図】  図３
2005178317.tif 000002
【特許請求の範囲】
【請求項１】
操作を行う操作部と、表示する表示部と、外部機器からの操作指示及び記録データの通信を行う通信部と、前記記録データの記録を行う記録部と、前記記録制御のための変数を記憶する揮発性記憶部と、前記記録制御を行う制御部と、記録データを記憶する不揮発性記憶部とを備え、
前記不揮発性記憶部に前記操作部からの入力操作指示及び前記通信部からの操作指示の内容を記憶することを特徴とする記録装置。
【請求項２】
前記不揮発性記憶部に記憶される操作指示は履歴として複数個記憶できることを特徴とする請求項１に記載の記録装置。
【請求項３】
前記不揮発性記憶部に記憶される操作指示は印刷の実行指示に関するものだけを記憶することを特徴とする請求項２に記載の記録装置。
【請求項４】
前記記録装置の状態が記録可能な状態になった場合、前記不揮発性記憶部に記憶された操作指示の内容に従い処理を順次実行することを特徴とする請求項２に記載の記録装置。
【請求項５】
前記記録装置の状態が記録可能な状態になった場合、前記不揮発性記憶部に記憶された操作指示の実行の可否を選択可能であることを特徴とする請求項４に記載の記録装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はハードディスクを備えたプリンタに関するものである。
【背景技術】
【０００２】
近年のコンピュータ技術の進歩によるハードディスクの大容量化と低価格化は目覚ましく、それに伴い民生用の一般機器にも安価な大容量記憶装置としてハードディスクが用いられる場合が多く見られるようになった。その一例がプリンタ等の印刷機器であり、印刷ジョブをハードディスクに蓄積して記憶することにより、さまざまな利点が得られるようになった。
【０００３】
１つ目の利点としては、同じデータを繰り返して何部も印刷する場合に再度のデータ転送を行う必要がないため、印刷処理の効率化が実現されることである。このような記憶装置を利用した再印刷に関しての方法は幾つか提案されている（特許文献１、２、３）。
【０００４】
これらは再印刷の場合のジョブの取得を記憶装置を使用したりして効率的に行うようにしたものである。２つ目の利点としては、印刷を実行中に次の印刷ジョブを送られてきた場合にそれを拒否することなく、そのデータを一旦大容量記憶装置に保存しておき、現在の印刷が完了した後でその印刷ジョブを再転送を行う必要なしで実行することができる点にある。このような機能を有する製品もすでに存在する。
【０００５】
３つ目の利点としては、途中で印刷が失敗した場合に再度印刷しなくてはならない時に１つ目と同じ効果を発揮する。印刷が失敗した場合の技術については考案されているが（特許文献４、５、６）、これらは大容量記憶装置を必ずしも必要とはしていない。またそれに関連した技術として、印刷結果を保存してそれを出力可能にしたものなどが挙げられる（特許文献７）。
【特許文献１】特開平５−２２１０９２号公報。
【特許文献２】特開平８−２２１２２７号公報。
【特許文献３】特開平２００１−３０１２４３号公報。
【特許文献４】特開平９−２２６２０９号公報。
【特許文献５】特開平９−２２７１６８号公報。
【特許文献６】特開平５−１０８４９０号公報。
【特許文献７】特開平１１−１８０００４号公報。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
前記従来技術では３つ目の利点である印刷が失敗した場合の再印刷時に、大容量記憶装置に記憶された印刷データを再利用できるという点では優れているが、そのためには使用者がプリンタに対して再び印刷の指示を行う必要があった。印刷が失敗した原因がプリンタのインク切れや用紙切れなどの場合など、処理が続行可能な場合にはそれは必要ない。しかし、突然の停電や機器の不測のハングアップなどの状態では処理は中止され、指定した処理は復帰できない。そのような場合は例えば複数の指示をすでに発行済みであったとしても、使用者がまた最初から指示しなおす必要があった。
【０００７】
本発明では上記のような状況を鑑み、使用者によるプリンタの操作内容を不揮発性の記憶装置に記憶することにより、不測の状態による指示内容の消失を防止する。それとともにその後プリンタが正常状態に復帰し、印刷可能状態になった時に記憶された操作内容から未処理のものを自動的または選択的に実行することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するための本発明の記録装置は、操作を行う操作部と、表示する表示部と、外部機器からの操作指示及び記録データの通信を行う通信部と、前記記録データの記録を行う記録部と、前記記録制御のための変数を記憶する揮発性記憶部と、前記記録制御を行う制御部と、記録データを記憶する不揮発性記憶部とを備え、前記不揮発性記憶部に前記操作部からの入力操作指示及び前記通信部からの操作指示の内容を記憶することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、突然の停電や機器の不測のハングアップなどの状態の発生した場合でも、その時に処理していた使用者の指示及びそれまでに指示された操作内容が保たれるため、プリンタが正常状態に復帰した場合の再操作の手間を省略または簡易的に再現することができ、操作性が向上する。
【発明を実施するための最良の形態】
【００１０】
使用者によるプリンタの操作内容のうち、印刷に関する指示だけを不揮発性の記憶装置であるハードディスクに記憶する構成とする。印刷指示の記憶は１つだけでなく複数の指示を時系列順に履歴として保存される。また保存された印刷指示の実行はプリンタが印刷中であればそれが終わった時に、電源投入後であればその初期化作業が終了後、印刷可能状態になった時に記憶された印刷指示記憶の内容を参照し、未処理のものがあったらそれを順番に自動的に実行するように構成する。なおこの例では電源投入後のタイミングでは自動的に実行するようになっているが、使用者に実行の可否を問い合わせた上で実行するかしないかを決定するような構成にすることもできる。
【００１１】
（実施例）
以下に図面に基づいて本発明の実施例を具体的に説明する。
【００１２】
図１は本発明を実施する装置（印刷装置あるいはプリンタ）の基本的構成を示すブロック図である。１は印刷指示などの機器の各種の機能の実行指示を行うための操作部である。操作部１は複数個のキー、ボタン、スイッチなどから構成される。２は機器の状態や各種の操作結果を使用者に通知するための表示部である。表示部２は液晶パネル、ＬＥＤなどで構成される。３は外部の機器との通信を行う通信部である。通信部３はシリアルポート、ＬＡＮ、ＵＳＢなど各種のインタフェースの一つまたは複数から構成される。印刷データを機器に入力する場合や操作部１を使用しないで印刷などの各種操作を行う場合に使用される。４は機器の各機能の実行を行う制御部である。制御部４は操作部１や通信部３からの各種の入力動作に対応して各種の出力動作の制御を行う。
【００１３】
各種の制御の手順はＨＤＤ５内に示す制御プログラム記憶部５１に記憶されている。５は記憶装置の一種であるＨＤＤである。ＨＤＤとはハードディスクドライブの略語で、不揮発性の記憶装置であるハードディスクとそれを駆動する機構から構成される。ＨＤＤ５内には制御部４を制御するプログラムが記憶されている制御プログラム記憶部５１、使用者により行われた印刷指示の内容を記憶する印刷指示記憶部５２や、通信部３を介して入力された印刷データ（記録データ）を蓄積して記憶する印刷データ記憶部５３などを備えている。６は記憶装置の一種であるＲＡＭである。ＲＡＭはランダムアクセスメモリの略語であり、揮発性の記憶装置である。ＲＡＭ６内には制御部４が各種制御を行う際に必要となる変数などを一時的に記憶するワークエリア６１、印刷データなどの大量のデータを扱う場合に使用されるバッファ６２などを備えている。７は、印刷部であり、記録ヘッドから吐出されるインクにより記録用紙（被記録媒体）に記録を行う。
【００１４】
図２は本発明に係わる装置での印刷指示記憶部５２の内部構成の一例を示す図である。２１に示すような１行分のデータを項目と呼び、使用者による１回あたりの指示内容を示す。本実施例で記憶する指示内容は使用者による印刷（記録）の指示に限られており、各項目は印刷するデータの番号とそれを印刷する部数から構成されている。項目は複数個記憶することが可能であり、図２に示すように順次記憶されており、２２に示すようなデータの番号０、部数０の項目の前の項目までが有効な項目であることを示している。各項目の並び順は指示された時間が早い順であり、先に行われた指示の記憶が記憶の上位に来るようになっている。本実施例では印刷指示記憶部５２はＨＤＤ５内に存在するとしているが、記憶量的には小さいため、不揮発性の記憶装置であればＥＥＰＲＯＭあるいはフラッシュメモリなどに記憶する構成でも構わない。また記憶する内容はデータの種類と印刷部数だけであるが、この他にも印刷する用紙の種類、印刷サイズや印刷のレイアウト方法などの各種設定を記憶するような構成も考えられる。
【００１５】
図３は本発明に係わる装置での電源投入後の制御手順を示すフローチャートである。使用者がプリンタの電源スイッチをオンにした場合にこのフローチャートが開始する。図３〜図５の各制御手順は制御プログラム記憶部５１内に記憶されている。ステップＳ１０１では機器の各種の初期化を実施する。初期化処理は制御プログラムなどのソフトウェア的な処理や、機器内の各種の装置のハードウェア的な処理からなり、通信部３や印刷部７などの機構を使用可能になるように処理する。ステップＳ１０２ではステップＳ１０１での処理の結果、印刷処理を行うことが可能な状態になったかを調べ、印刷可能な状態になったならばステップＳ１０３へ進み、そうでなければＳ１０１へ戻り初期化が完了するまで待つ。ステップＳ１０３では印刷指示記憶部に記憶されている印刷指示を実行する。この処理内容の詳細は図５のフローチャートで説明する。
【００１６】
ステップＳ１０４ではイベントが発生するのを待つ。イベントとは機器の状態の変化を引き起こす事象であり、使用者による機器の操作、機器の動作による機器の状態の変化などのことを指す。具体的には使用者によるものでは操作部１の操作を行った場合や、通信部３を介しての機器へ指示を送った場合などが挙げられ、機器の状態の変化ではプリンタのインク切れを検知した場合であったり、紙が詰まってしまった場合などが挙げられる。
【００１７】
本装置ではこれらのイベントに応じて各種の処理を実施する。ただし停電などの予測できない電源遮断イベントには対応することはできない。ステップＳ１０５ではステップＳ１０４で発生したイベントが使用者による操作部１の操作であるかを調べ、そうであればステップＳ１０９へ進み、そうでなければステップＳ１０６へ進む。このイベントは最も優先度が高いために最初に調べられる。ステップＳ１０６ではステップＳ１０４で発生したイベントが通信部３でのデータ受信であるかを調べ、そうであればステップＳ１０８へ進み、そうでなければステップＳ１０７へ進む。このイベントは使用者が通信部３を介して機器の操作を行ったときに発生する。
【００１８】
ステップＳ１０７ではステップＳ１０４で発生したイベントが操作部１の操作でなく、通信部３でのデータ受信でもない場合の各イベントに応じた処理を実施する。このようなイベントの一例としては前記したようなプリンタのインク切れや紙詰まりなどの現象発生が挙げられ、これらの場合には印刷を中断や中止を行い、使用者に対して表示部２で警告を発生するなどの処理を実施する。ステップＳ１０８ではステップＳ１０４で発生したイベントが通信部３でのデータ受信であることから受信データの処理を実行する。この処理内容の詳細は図４のフローチャートで説明する。ステップＳ１０９ではステップＳ１０４で発生したイベントが使用者による操作部１の操作であることからその操作に応じた各種の処理を実行する。例えばそれは機器の設定処理であったり、印刷指示であったりする。ステップＳ１０７〜ステップＳ１０９で各イベントの処理を実施した後はステップＳ１０３へ戻り、印刷指示記憶部に記憶されている印刷指示を実行する。ただしこの処理は指示記憶部に項目が蓄積されている場合のみ実施されるため、多くの場合は実施されない。機器は電源をオフするまではステップＳ１０３〜ステップＳ１０９の処理を繰り返し続ける。
【００１９】
図４は本発明に係わる装置でのデータを受信した場合の制御手順を示すフローチャートである。この処理は図３でのステップＳ１０８での処理にあたり、本発明の特徴である印刷指示記憶部５２の記憶内容を蓄積していく工程を示す。ステップＳ２０１ではデータの一部を受信する。データが送信されてきた場合、それは通信部３を介して受信され、内容はバッファ６２に格納される。一度に受信できるデータのサイズはバッファ６２の容量により決められ、大きなデータは何度かに分けて受信する。ステップＳ２０２ではステップＳ２０１でバッファ６２に記憶した受信データの内容を調べ、それが印刷データ記憶部５３に記憶された印刷データに対する印刷を指示するものであるかを調べ、そうであればステップＳ２０８へ進み、そうでなければステップＳ２０３へ進む。
【００２０】
ステップＳ２０３ではステップＳ２０１でバッファ６２に記憶した受信データの内容を調べ、それが受信されるデータに対する印刷を指示するものであるかを調べ、そうであればステップＳ２０４へ進み、そうでなければステップＳ２１１へ進む。ステップＳ２０２あるいはステップＳ２０３でＹＥＳと判断されない場合は印刷以外の指示要求であり、印刷以外の処理は従来通りに実行される。ステップＳ２０４ではステップＳ２０１と同様にデータの一部を受信してバッファ６２に記憶する。ここで受信されるデータはステップＳ２０３での判定結果から、印刷されるべき画像データであることがわかっている。ステップＳ２０５ではステップＳ２０４でバッファ６２に記憶した受信データを印刷データ記憶部５３に記憶する。一般的に印刷データはバッファの容量に比べてデータ量が多いため、一度に受信してしまうことができない。そのため印刷データ記憶部５３に記憶する場合も何度かに分けて記憶されるが、最終的には１つのデータとして記憶される。記憶されるデータは受信したデータをそのまま記憶する場合もあるし、適当な変換処理を掛けたデータを記憶する場合もある。また記憶されたデータにはそれぞれ識別子が付けられ、後からデータを指定する場合に利用される。本実施例では各データにはそれぞれ番号が付けられており、その番号で特定のデータを指定する。
【００２１】
ステップＳ２０６ではステップＳ２０４でバッファ６２に記憶した受信データの内容や通信部３の状態からデータの受信が完了したかを調べ、そうであればステップＳ２０７へ進み、そうでなければステップＳ２０４へ戻りデータ受信を継続して実行する。ステップＳ２０７では印刷データ記憶部５３に記憶されている各印刷データの識別番号を調べ、その最大の値を求める。そこで得られた値に１を加えて、それをステップＳ２０４〜ステップＳ２０６で新規に記憶された印刷データの識別番号とする。この識別番号と印刷データの関係を示す情報は印刷データ記憶部５３内に記憶されており、この情報を更新して通信で得られた新規印刷データを追加登録する。ステップＳ２０８では受信データの内容から印刷すべきデータの識別番号の値を求める。ステップＳ２０１でバッファ６２に記憶した受信データの内容を調べた結果、それが印刷データ記憶部５３に記憶された印刷データに対する印刷を指示するものであることが判明したことから、さらにバッファ６２に記憶した受信データの内容を調べ、そこで指示されている印刷すべきデータの識別番号の値を求めてステップＳ２０９へ進む。
【００２２】
ステップＳ２０９では受信データの内容から印刷すべきデータの部数を求める。ステップＳ２０１〜ステップＳ２０６、あるいはステップＳ２０１でバッファ６２に記憶した受信データから得られた指示内容から印刷すべきデータの部数の情報を検出し、ステップＳ２１０へ進む。ステップＳ２１０では印刷指示記憶部５２に今回の指示内容を追加する。印刷指示記憶部５２は２１に示すように印刷データの識別番号とその印刷部数から構成されているため、ステップＳ２０７及びステップＳ２０８で得た印刷データの識別番号と、ステップＳ２０９で得た印刷の部数の情報を印刷指示記憶部５２に追加して記憶する。具体的には印刷指示記憶部５２内から２２に示すようなデータの番号０、部数０の項目を探し、その項目を今回の指示内容に書き換え、その次の項目の内容をデータの番号０、部数０に設定する。ステップＳ２０１〜ステップＳ２１０での処理の結果、通信で得られた印刷指示及び印刷データが不揮発性記憶装置に記憶されて終了する。一方印刷以外の指示であった場合はステップＳ２１１へ進み、従来と同様に通信による指示に従い各種の処理を実行して終了する。
【００２３】
図５は本発明に係わる装置での印刷指示記憶部５２に記憶された印刷指示を処理する場合の制御手順を示すフローチャートである。この処理は図３でのステップＳ１０３での処理にあたり、本発明の特徴である印刷指示記憶部５２の記憶内容を処理していく工程を示す。ステップＳ３０１では現在印刷を実行中であるかを調べ、印刷実行中（記録動作中）であれば何もせずに終了し、そうでなければステップＳ３０２へ進む。
【００２４】
ステップＳ３０２では印刷指示記憶部５２に記憶されている指示記憶の項目数を調べ、その値を変数ｎに記憶する。図２の例では変数ｎの値は３となる。変数ｎはＲＡＭ６内のワークエリア６１に存在しており、これ以降指示記憶で未処理である項目数を示す変数として用いられる。ステップＳ３０３では変数ｎの値が０であるかを調べ、０でないならばステップＳ３０４へ進み、０ならば終了する。変数ｎは未処理である項目数を示す変数であるから、これが０の場合は処理すべきものがないため終了する。最初から０に場合は何もせずに終了する。
【００２５】
ステップＳ３０４では印刷指示記憶部５２に記憶されている指示記憶の先頭の項目の記憶内容を調べる。先頭の項目とは図２での２１の項目にあたる。ステップＳ３０５ではステップＳ３０４で得られた情報を変数に設定する。指示記憶の項目の記憶内容から、印刷データの識別番号を示す値を変数ｄに、印刷データの部数を示す値を変数ｍにそれぞれ設定する。変数ｄおよび変数ｍは変数ｎと同様にＲＡＭ６内のワークエリア６１に存在しており、変数ｍはこれ以降で未処理である印刷部数を示す変数として用いられる。ステップＳ３０６では変数ｄが示す識別番号に当たる印刷データを印刷データ記憶部５３から読み出して、印刷部７で印刷を実行する。ステップＳ３０７ではステップＳ３０６での印刷した結果を調べ、正常終了であったならばステップＳ３０８へ進み、異常終了であったならばステップＳ３１３へ進む。ステップＳ３０８では変数ｍの値から１を引く。ステップＳ３０６で印刷が一部終了したため、未処理である印刷部数の変数ｍの値を更新する。ステップＳ３０９では変数ｍの値を調べ、０より大きければステップＳ３０６へ戻り、０以下ならばステップＳ３１０へ進む。値が０より大きいということはまだ同じ印刷データを印刷する必要があるということなのでステップＳ３０６へ戻り、次の一部の印刷を実行する。ステップＳ３１０では印刷データ記憶部５３に記憶されている変数ｄが示す識別番号に当たる印刷データを削除する。この処理は必ずしも必要ではなく、機器の設定や仕様によっては削除しない場合もありうる。ステップＳ３１１では印刷指示記憶部５２に記憶されている指示記憶の先頭の項目の記憶内容を削除する。これはその項目の指示の実行を完了して不要になるために行われる。
【００２６】
具体的には指示記憶の先頭の項目の内容を２番目の項目の内容に書き換え、２番目の項目の内容は３番目の項目の内容に書き換えてというように、図２における各項目の内容を順次１つずつ上側に上げて行き、２２に示すようなデータの番号０、部数０の項目までの移動を実施する。ステップＳ３１２では変数ｎの値から１を引く。ステップＳ３０４〜ステップＳ３１１で指示の実行が１つ終了したため、未処理である項目数を示す変数ｎの値を更新する。そしてステップＳ３０３に戻り、次の指示の処理を行い、全ての指示の処理が完了したら終了する。一方、ステップＳ３０７で印刷処理に失敗した場合はステップＳ３１３へ進み、表示部２などを介して使用者にエラー終了したことを通知して処理を終了する。
【図面の簡単な説明】
【００２７】
【図１】本発明の基本的な構成を示すブロック図である。
【図２】本発明に係わる装置での印刷指示記憶部の内部構成の一例を示す図である。
【図３】本発明に係わる装置での電源投入後の制御手順を示すフローチャートである。
【図４】本発明に係わる装置で、データを受信した場合の制御手順を示すフローチャートである。
【図５】本発明に係わる装置で、印刷指示記憶部に記憶された印刷指示を処理する場合の制御手順を示すフローチャートである。
【符号の説明】
【００２８】
１  操作部
２  表示部
３  通信部
４  制御部
５  ＨＤＤ
６  ＲＡＭ
７  印刷部
５１  制御プログラム記憶部
５２  印刷指示記憶部
５３  印刷データ記憶部
６１  ワークエリア
６２  バッファ
【図１】
2005178317.tif 000003
【図２】
2005178317.tif 000004
【図３】
2005178317.tif 000005
【図４】
2005178317.tif 000006
【図５】
2005178317.tif 000007