(57)【要約】【課題】データの異常検出を低コストで実現することができる印刷装置およびその制御方法を提供する。【解決手段】グラフィックデータまたはキャラクタデータを含む印刷データに基づいて印刷処理を実行する印刷装置２であって、印刷モードをグラフィックデータを処理するためのグラフィックモードに設定、およびグラフィックモードの設定を解除するモード切替手段５３と、印刷データを送信する外部装置３から、印刷データを受信するデータ受信手段５１と、受信した印刷データがキャラクタデータである場合、現在の印刷モードが、グラフィックモードであるか否かを判別するモード判別手段５７と、モード判別手段５７による判別の結果、現在の印刷モードが、グラフィックモードに設定されている場合、異常が発生したと判別する異常判別手段５８と、異常判別手段５８による判別結果に基づいて、その旨を報知する報知手段６０と、を備えた。【選択図】図３
2010105230.tif 000002
【特許請求の範囲】
【請求項１】
グラフィックデータまたはキャラクタデータを含む印刷データに基づいて印刷処理を実行する印刷装置であって、
印刷モードを前記グラフィックデータを処理するためのグラフィックモードに設定、および前記グラフィックモードの設定を解除するモード切替手段と、
前記印刷データを送信する外部装置から、前記印刷データを受信するデータ受信手段と、
受信した前記印刷データが前記キャラクタデータである場合、現在の前記印刷モードが、前記グラフィックモードであるか否かを判別するモード判別手段と、
前記モード判別手段による判別の結果、前記現在の印刷モードが、前記グラフィックモードに設定されている場合、異常が発生したと判別する異常判別手段と、
前記異常判別手段による判別結果に基づいて、その旨を報知する報知手段と、を備えたことを特徴とする印刷装置。
【請求項２】
前記グラフィックデータの前後には、グラフィックモード設定コマンドおよびグラフィックモード解除コマンドが付加されており、
前記グラフィックデータとして処理されたデータ量をカウントするデータ量カウント手段をさらに備え、
前記モード切替手段は、
前記外部装置から受信した前記グラフィックモード設定コマンドをトリガとして、前記印刷モードを前記グラフィックモードに設定し、前記グラフィックモード解除コマンドをトリガとして、前記グラフィックモードの設定を解除し、
前記モード判別手段は、
前記データ量カウント手段によりカウントされたデータ量と、処理対象となるグラフィックデータの実データ量と、が一致した直後に処理する前記印刷データが前記キャラクタデータである場合に、前記現在の印刷モードが前記グラフィックモードであるか否かを判別することを特徴とする請求項１に記載の印刷装置。
【請求項３】
前記報知手段は、
異常が発生したことを示すメッセージ、および異常発生時の連絡先を示すメッセージの少なくとも一方を印刷媒体に印刷して報知することを特徴とする請求項１または２に記載の印刷装置。
【請求項４】
前記報知手段は、
前記外部装置に対して、異常が発生したことを示すステータスを送信することを特徴とする請求項１ないし３のいずれか１項に記載の印刷装置。
【請求項５】
前記異常判別手段により異常が発生したと判別された場合、装置の動作を停止する動作停止手段をさらに備えたことを特徴とする請求項１ないし４のいずれか１項に記載の印刷装置。
【請求項６】
グラフィックデータまたはキャラクタデータを含む印刷データに基づいて印刷処理を実行する印刷装置の制御方法であって、
前記印刷データを送信する外部装置から、前記印刷データを受信するデータ受信工程と、
印刷モードを前記グラフィックデータを処理するためのグラフィックモードに設定、および前記グラフィックモードの設定を解除するモード切替工程と、
受信した前記印刷データが前記キャラクタデータである場合、現在の前記印刷モードが、前記グラフィックモードであるか否かを判別するモード判別工程と、
前記モード判別工程による判別の結果、前記現在の印刷モードが、前記グラフィックモードに設定されている場合、異常が発生したと判別する異常判別工程と、
前記異常判別工程による判別結果に基づいて、その旨を報知する報知工程と、を備えたことを特徴とする印刷装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの異常を検出することができる印刷装置およびその制御方法に関するものである。
【背景技術】
【０００２】
従来、プログラマブルロジックリソース（汎用集積回路）上にエラー検出回路を設け、データのエラー検出を行うものが知られている。このプログラマブルロジックリソースは、チェックサム計算回路と比較回路とを含むＣＲＣモージュールを備えており、チェックサム計算回路により、対象となるデータ（プログラマブルロジックリソース構成データ）のチェックサムを計算する。その後、比較回路により計算されたチェックサムと、予め記憶されている期待値とを比較し、その比較結果に基づいて当該データのエラーの有無を検出する（例えば、特許文献１参照）。
【特許文献１】特表２００５−５０５８２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、印刷装置でグラフィックデータを印刷処理する場合、グラフィックデータが欠落することによりグラフィックデータのデータ数がずれると、以降の大量のグラフィックデータがグラフィックデータとして認識されず、意図しない文字列を印字することが考えられる。このため、グラフィックデータが正常なデータか否か（データのエラーの有無）をチェックする必要がある。
しかしながら、このようなデータのエラー検出を上述のようにハードウェア回路で行う場合、製品に対して新たにハードウェア回路を追加しなければならず、コストがかかるという問題がある。
【０００４】
本発明は、上記の問題に鑑みたものであり、データの異常検出を低コストで実現することができる印刷装置およびその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の印刷装置は、グラフィックデータまたはキャラクタデータを含む印刷データに基づいて印刷処理を実行する印刷装置であって、印刷モードをグラフィックデータを処理するためのグラフィックモードに設定、およびグラフィックモードの設定を解除するモード切替手段と、印刷データを送信する外部装置から、印刷データを受信するデータ受信手段と、受信した印刷データがキャラクタデータである場合、現在の印刷モードが、グラフィックモードであるか否かを判別するモード判別手段と、モード判別手段による判別の結果、現在の印刷モードが、グラフィックモードに設定されている場合、異常が発生したと判別する異常判別手段と、異常判別手段による判別結果に基づいて、その旨を報知する報知手段と、を備えたことを特徴とする。
【０００６】
また、本発明の印刷装置の制御方法は、グラフィックデータまたはキャラクタデータを含む印刷データに基づいて印刷処理を実行する印刷装置の制御方法であって、印刷データを送信する外部装置から、印刷データを受信するデータ受信工程と、印刷モードをグラフィックデータを処理するためのグラフィックモードに設定、およびグラフィックモードの設定を解除するモード切替工程と、受信した印刷データがキャラクタデータである場合、現在の印刷モードが、グラフィックモードであるか否かを判別するモード判別工程と、モード判別工程による判別の結果、現在の印刷モードが、グラフィックモードに設定されている場合、異常が発生したと判別する異常判別工程と、異常判別工程による判別結果に基づいて、その旨を報知する報知工程と、を備えたことを特徴とする。
【０００７】
本発明の印刷装置において、グラフィックデータの前後には、グラフィックモード設定コマンドおよびグラフィックモード解除コマンドが付加されており、グラフィックデータとして処理されたデータ量をカウントするデータ量カウント手段をさらに備え、モード切替手段は、外部装置から受信したグラフィックモード設定コマンドをトリガとして、印刷モードをグラフィックモードに設定し、グラフィックモード解除コマンドをトリガとして、グラフィックモードの設定を解除し、モード判別手段は、データ量カウント手段によりカウントされたデータ量と、処理対象となるグラフィックデータの実データ量と、が一致した直後に処理する印刷データがキャラクタデータである場合に、現在の印刷モードがグラフィックモードであるか否かを判別することが好ましい。
【０００８】
これらの構成によれば、キャラクタデータ処理時に現在のモードがグラフィックモードであると判定された場合（つまり、グラフィックモードであるにも拘らず、キャラクタデータが処理された場合）、モードと処理内容が一致していないため、印刷データの処理、あるいは印刷データそのものになんらかの異常が発生したと判別し、その旨を報知することができる。
例えば、一般的にグラフィックデータの処理では、処理済データ量が実データ量と一致するまで処理を行う。したがって、処理対象となるグラフィックデータが欠落していた場合、後続のグラフィックモード解除コマンドの一部（欠落したデータ量と同じデータ量）が、グラフィックデータとして処理される。このため、本来なら、グラフィックデータの処理後に、グラフィックモードの設定を解除すべきコマンドとして認識されるはずのグラフィックモード解除コマンドが、コマンドではなくキャラクタデータとして認識され、処理が開始される。この場合、グラフィックモードであるにも拘らず、キャラクタデータの処理が開始されることとなるため、印刷装置は異常が発生したと判別する。これにより、グラフィックデータに欠落があった場合、これを異常として検出することができる。
また、データ欠落などの異常の検出をソフトウェアにより行うことで、例えば、ハードウェア回路を用いて行う場合に比べ、低コストで実現することができる。
なお、グラフィックモード解除コマンドは、想定される欠落データのバイト数より、バイト数の多いコマンドとして構成することが好ましい。これにより、グラフィックデータが欠落した場合でも、グラフィックモード解除コマンドの全てがグラフィックデータとして処理されることがないため（つまり、コマンドの一部は残ることになるため）、必ずキャラクタデータとして処理されることとなり、グラフィックデータの欠落が発生した場合、これを確実に異常として判別することが可能となる。
【０００９】
本発明の印刷装置において、報知手段は、異常が発生したことを示すメッセージ、および異常発生時の連絡先を示すメッセージの少なくとも一方を印刷媒体に印刷して報知することが好ましい。
【００１０】
この構成によれば、印刷装置に異常が発生した旨を示すメッセージおよび／または異常発生時の連絡先を示すメッセージを印刷媒体に印刷する。これにより、利用者は、現在の状況（異常が発生した旨）や、どこに連絡すれば良いのかを容易に把握することができ、異常発生時における利用者の不安を軽減することができる。
【００１１】
本発明の印刷装置において、報知手段は、外部装置に対して、異常が発生したことを示すステータスを送信することが好ましい。
【００１２】
この構成によれば、異常が発生した場合、外部装置で適切な処理を行うことができる。例えば、外部装置に報知手段を備えることで、管理者は印刷装置の異常を迅速に把握することができ、その後の復旧対応を迅速に行うことができる。
【００１３】
本発明の印刷装置において、異常判別手段により異常が発生したと判別された場合、装置の動作を停止する動作停止手段をさらに備えたことが好ましい。
【００１４】
この構成によれば、異常が発生した場合、印刷装置の動作を停止することで、被害を最小限に抑えることができる。例えば、その異常が、大量の文字化け印字を伴うようなものである場合、異常発生直後に印刷装置の動作を停止することで、無駄な印刷媒体（用紙）の排出を抑えることができる。また、印刷装置がインクジェットプリンタの場合、無駄なインクの消費を抑えることができる。
【発明を実施するための最良の形態】
【００１５】
以下、添付の図面に基づいて、本発明の一実施形態に係る印刷装置およびその制御方法について説明する。なお、本実施形態では、印刷装置と、印刷装置と連携するホストコンピュータと、から構成される印刷システムを例に挙げて説明する。
【００１６】
図１は、本発明の印刷システム１の制御ブロック図である。同図に示すように本実施形態の印刷システム１は、印刷データに基づいて印刷処理を行う印刷装置２と、印刷データを生成し、当該印刷データを印刷装置２に対して送信するホストコンピュータ３（外部装置）により構成されている。
【００１７】
ホストコンピュータ３は、ＣＰＵ１１（Central Processing Unit）、ＲＯＭ１２（Read Only Memory）、ＲＡＭ１３（Random Access Memory）、ＨＤＤ１４（Hard Disk Drive）、およびインターフェース１５の他、一般的なパーソナルコンピュータに搭載されるハードウェア構成を有している。
【００１８】
ＲＯＭ１２は、ＣＰＵ１１が各種処理を実行するための制御プログラムや制御データを記憶する。また、ＲＡＭ１３は、ＣＰＵ１１が各種処理を実行する際の作業領域として利用される。インターフェース１５は、印刷装置２と接続するものである。
【００１９】
ＨＤＤ１４には、文字や図形を印刷するアプリケーションプログラム１４ａが記憶されている。ＣＰＵ１１は、このアプリケーションプログラム１４ａ上で印刷命令を実行することにより、インターフェース１５を介して印刷装置２にキャラクタデータ、グラフィックデータ２３（図２参照）、制御コマンド等の印刷データを送信する。
【００２０】
この印刷データとしてグラフィックデータ２３を送信する場合、図２に示すように、ホストコンピュータ３は、送信する印刷データがグラフィックデータ２３であることを示すグラフィックコマンド２２（制御コマンド）を送信し、これに続けてグラフィックデータ２３を送信する。また、ホストコンピュータ３は、グラフィックコマンド２２の前に、印刷装置２の印刷モードをグラフィックモードに設定するためのグラフィックモード設定コマンド２１を付加して送信し、グラフィックデータ２３の後に、グラフィックモードの設定を解除するためのグラフィックモード解除コマンド２４を付加して送信する。つまり、グラフィックデータ２３の印刷処理を行う場合、ホストコンピュータ３は印刷装置２に対して、グラフィックモード設定コマンド２１、グラフィックコマンド２２、グラフィックデータ２３、グラフィックモード解除コマンド２４の順に印刷データを送信する。
【００２１】
図１の説明に戻る。印刷装置２は、ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３、キャラクタジェネレータＲＯＭ３４（ＣＧ−ＲＯＭ）、インターフェース３５、データ受信部３６、ＤＭＡコントローラ３７（Direct Memory Access Controller）、印刷部３８、および切断部３９を備え、これらは互いに内部バス４０により接続されている。
【００２２】
ＲＯＭ３２は、ＣＰＵ３１が各種コマンドの解析および各種処理を実行するための制御プログラムや制御データを記憶する。ＣＧ−ＲＯＭ３４は、キャラクタ（文字や記号等）のフォントデータを記憶するものであり、キャラクタを特定するコードデータが与えられると、対応するフォントデータを出力する。
【００２３】
ＲＡＭ３３は、ＣＰＵ３１が各種処理を実行する際に使用されるワークエリアブロック４１の他、データ受信部３６で受信した印刷データを一時的に記憶する受信バッファ４２と、実際に印刷を行うため印刷イメージを記憶するプリントバッファ４３と、印刷モードの設定を記憶するモード記憶ブロック４４と、を有し、作業領域として使用される。
【００２４】
インターフェース３５は、ホストコンピュータ３と接続するためのものである。データ受信部３６は、インターフェース３５を介して、ホストコンピュータ３から印刷データを受信する。受信した印刷データは、ＣＰＵ３１により受信バッファ４２を介してプリントバッファ４３へ転送（格納）される。あるいは、後述のＤＭＡコントローラ３７によりプリントバッファ４３へ転送される。
【００２５】
ＤＭＡコントローラ３７は、データ受信部３６からプリントバッファ４３に直に印刷データを転送する（具体的には、印刷データを印刷イメージに展開してプリントバッファ４３に転送する）。このＤＭＡコントローラ３７は、ＣＰＵ３１とは独立して動作し、ＣＰＵ３１からの指示により、データ受信部３６からプリントバッファ４３へ、予め設定された転送回数だけ印刷データをＤＭＡ転送する（つまり、所定のデータ量の印刷データをＤＭＡ転送する）。そして、ＤＭＡ転送終了後、ＤＭＡコントローラ３７はＣＰＵ３１に信号を送信し、ＣＰＵ３１はこの信号に基づいてＤＭＡ転送が完了した旨を認識する。
【００２６】
印刷部３８は、印刷ヘッド４５や紙送りモータ４６などで構成されている。ＣＰＵ３１は、プリントバッファ４３に記憶された印刷イメージに基づいて、印刷ヘッド４５を制御して連続用紙上（印刷媒体）に文字や図形の印刷を行い、紙送りモータ４６を駆動して、連続用紙を排紙口（図示省略）に搬送する。切断部３９は、排紙口の内側に配置されたカッタにより、印刷済みの連続用紙を切断分離する。
【００２７】
ここで、本実施形態の印刷装置２のデータ転送方式について説明する。本実施形態の印刷装置２は、上述のデータ受信部３６で受信した印刷データをプリントバッファ４３へ転送するデータ転送方式として、２つの方式を有している。すなわち、第１の転送方式は、ＤＭＡコントローラ３７がデータ受信部３６で受信した印刷データをプリントバッファ４３へ直に転送するＤＭＡ転送方式である。第２の方式は、データ受信部３６で受信した印刷データを受信バッファ４２に格納（蓄積）し、この受信バッファ４２の印刷データを解析してプリントバッファ４３へ転送する通常転送方式である。
【００２８】
ＤＭＡ転送方法は、グラフィックデータ２３をプリントバッファ４３に転送する際に利用される。例えば、ＣＰＵ３１により受信バッファ４２に格納した印刷データがグラフィックコマンド２２であると解析された場合、その後に続く印刷データをグラフィックデータ２３として、受信バッファ４２を介さずに直にプリントバッファ４３へＤＭＡ転送する。そして、ＤＭＡコントローラ３７は、予め設定された転送回数のデータ転送を終えると（グラフィックデータ２３の実データ量に相当するデータ量の印刷データの転送を終えると）、ＤＭＡ転送を終了し、通常転送方式へ戻る。すなわち、印刷装置２は、グラフィックコマンド２２を受信したときに、自動的にＤＡＭ転送方式に移行する。そして、設定された転送回数だけ印刷データをＤＡＭ転送すると、ＤＭＡ転送を自動的に抜け、通常転送方式へ戻る。
【００２９】
次に、図３の機能ブロック図を参照して、印刷装置２の機能構成について説明する。図３に示すように、印刷装置２は、データ受信手段５１、コマンド解析手段５２、モード切替手段５３、グラフィック処理手段５４、ＤＭＡ転送手段５５、キャラクタ処理手段５６、モード判別手段５７、異常判別手段５８、展開処理手段５９、報知手段６０、動作停止手段６１、印刷手段６２、および切断手段６３を備えている。
【００３０】
データ受信手段５１は、ホストコンピュータ３から印刷データを受信する。そして、ＣＰＵ３１は、受信した印刷データを受信バッファ４２に記憶する。コマンド解析手段５２は、受信バッファ４２に記憶した印刷データを１バイトずつ読み込んで解析する。
【００３１】
モード切替手段５３は、コマンド解析手段５２により解析された印刷データが、グラフィックモード設定コマンド２１である場合、印刷装置２の印刷モードをグラフィックモードに設定し（例えば、モード記憶ブロック４４にフラグ「１」を設定する）、グラフィックモード解除コマンド２４である場合、グラフィックモードを解除する（例えば、モード記憶ブロック４４にフラグ「０」を設定する）。
【００３２】
グラフィック処理手段５４は、コマンド解析手段５２により解析された印刷データが、グラフィックコマンド２２の場合の処理を実行するものである。このグラフィック処理手段５４では、ＣＰＵ３１は、受信済みのグラフィックデータ２３が受信バッファ４２にある場合（受信バッファ４２にグラフィックデータ２３の一部が格納されている場合）、これを受信バッファ４２からプリントバッファ４３に転送し、これ以降にデータ受信部３６で受信する印刷データ（グラフィックデータ２３）をＤＭＡ転送するように設定する。この時、ＣＰＵ３１は、コマンド解析手段５２により解析したグラフィックコマンド２２の情報に基づき、ＤＭＡ転送の転送回数を設定する。
【００３３】
ＤＭＡ転送手段５５は、ＤＭＡコントローラ３７により、グラフィック処理手段５４で設定された転送回数だけデータ受信部３６からプリントバッファ４３へ印刷データを直に転送する。そして、設定された転送回数のＤＭＡ転送が済むと、ＤＭＡ転送が終了したことを示す信号をＣＰＵ３１に送信し、制御をＣＰＵ３１に戻す。このＤＭＡ転送手段５５により、設定された転送回数だけ印刷データをＤＭＡ転送することで、所定のデータ量の印刷データが転送されることとなり、結果的にグラフィックデータ２３として処理された印刷データのデータ量をカウントすることになる。つまり、ＤＭＡ転送手段５５は、請求項におけるデータ量カウント手段の役割を担うこととなる。
【００３４】
キャラクタ処理手段５６は、コマンド解析手段５２により解析された印刷データがキャラクタデータの場合の処理を実行するものである。このキャラクタ処理手段５６は、モード判別手段５７、異常判別手段５８、展開処理手段５９から構成されており、まず、モード判別手段５７により現在の印刷モードがグラフィックモードか否かを判別する。現在の印刷モードがグラフィックモードでない場合は、展開処理手段５９により当該キャラクタデータをＣＧ−ＲＯＭ３４を用いて印刷イメージに展開し、その結果をプリントバッファ４３に格納する。一方、現在の印刷モードがグラフィックモードである場合、異常判別手段５８により異常が発生したと判別する。
【００３５】
報知手段６０は、異常判別手段５９により異常が発生したと判別された場合、その旨を通知するものである。具体的には、異常が発生した場合、ホストコンピュータ３にその旨を示すステータス（エラーステータス）を送信する（例えば、自動状態情報通知機能を用いる）。これにより、例えば、ホストコンピュータ３に報知部（ブザー等）を備え、エラーステータスを受信して異常発生を通知することで、管理者は印刷装置２の異常を迅速に把握することができ、その後の復旧対応を迅速に行うことができる。
【００３６】
また、報知手段６０は、異常が発生したことを示すメッセージ、および異常発生時の連絡先を示すメッセージの少なくとも一方を連続用紙に印刷することで、印刷装置２の利用者に対して異常の発生を通知する。これにより、利用者は、現在の状況（異常が発生した旨）や、どこに連絡すれば良いのかを容易に把握することができ、異常発生時における利用者の不安を軽減することができる。
【００３７】
動作停止手段６１は、異常判別手段５９により異常が発生したと判別された場合、印刷装置２の動作を停止させる。これにより、異常が発生した場合、印刷装置２の被害を最小限に抑えることができる。例えば、その異常が、大量の文字化け印字を伴うようなものである場合、異常発生直後に印刷装置２の動作を停止することで、無駄な印刷媒体（用紙）の排出を抑えることができる。また、印刷装置２がインクジェットプリンタの場合、無駄なインクの消費を抑えることができる。
【００３８】
印刷手段６２は、プリントバッファ４３に格納された印刷イメージが所定の量になった場合（例えば、プリントバッファ４３に１行分の印刷イメージが格納された場合や、プリントバッファ４３が一杯になった場合）、あるいは印刷命令が発行された場合に、当該印刷イメージに基づいて連続用紙への印刷処理を行う。切断手段６３は、印刷済みの連続用紙を切断分離する。
【００３９】
ここで、図４を参照して、印刷装置２に異常が発生したことを検出する手順について説明する。なお、ここでは、ホストコンピュータ３から受信したグラフィックデータ２３の一部が、印刷装置２での処理過程において欠落（データ落ち）した場合を異常として検出する手順について説明する。また、グラフィックモード解除コマンド２４は、欠落したグラフィックデータ２３のバイト数よりも大きいバイト数で構成されているものとする。
【００４０】
まず、ＣＰＵ３１は、ホストコンピュータ３から印刷データを受信する（Ｓ０１）。ここでは、グラフィックデータ２３の処理を行うことが前提であるため、上記の印刷データとしては、グラフィックモード設定コマンド２１、グラフィックコマンド２２、グラフィックデータ２３、グラフィックモード解除コマンド２４を順次受信することとなる。
【００４１】
続いて、ＣＰＵ３１は、受信した印刷データを受信バッファ４２に格納する（Ｓ０２）。そして、ＣＰＵ３１は、受信バッファ４２に格納された印刷データを１バイトずつ読み出して解析する（Ｓ０３）。この解析の結果、ＣＰＵ３１は、グラフィックモード設定コマンド２１を検出し（Ｓ０４）、このコマンド検出をトリガとして、印刷モードをグラフィックモードに設定する（Ｓ０５）。
【００４２】
続いて、ＣＰＵ３１は、グラフィックモード設定コマンド２１に続いて受信し、受信バッファ４２に格納された印刷データを解析し（Ｓ０１〜Ｓ０３）、グラフィックコマンド２２を検出する（Ｓ０６）。そして、このグラフィックコマンド２２の検出をトリガとして、ＣＰＵ３１は、グラフィック処理を開始する（Ｓ０７）。グラフィック処理では、ＣＰＵ３１は、グラフィックコマンド２２以降に受信するグラフィックデータ２３をＤＭＡ転送するために、ＤＭＡ転送の転送回数等の設定を行い、ＤＭＡコントローラ３７に制御を移す。そして、ＤＭＡコントローラ３７は、受信したグラフィックデータ２３のＤＭＡ転送を開始する（Ｓ０８）。なお、グラフィックコマンド２２の解析後に、まだ受信バッファ４２にグラフィックデータ２３の一部が残っている場合、ＣＰＵ３１は、そのグラフィックデータ２３を印刷イメージに展開してプリントバッファ４３に格納した後、ＤＭＡコントローラ３７に制御を移し、以降に受信するグラフィックデータ２３のＤＭＡ転送を開始する。
【００４３】
ＤＭＡ転送では、ＤＭＡコントローラ３７が、ＣＰＵ３１により設定された転送回数だけ、グラフィックデータ２３をプリントバッファ４３へ直に転送する。つまり、処理対象となるグラフィックデータ２３の実データ量に相当するデータをプリントバッファ４３に転送する。そして、ＤＭＡコントローラ３７は、設定された転送回数のＤＭＡ転送が完了すると、ＣＰＵ３１に制御を戻す（Ｓ０９）。
【００４４】
このＤＭＡ転送では、転送対象となる印刷データがグラフィックデータ２３か否かの判別は行わず、設定された転送回数だけ、つまり、所定のデータ量だけの印刷データをグラフィックデータ２３として転送するため、グラフィックデータ２３が欠落している場合、グラフィックデータ２３に続くグラフィックモード解除コマンド２４の一部が、グラフィックデータ２３の欠落バイト数分だけグラフィックデータ２３としてＤＭＡ転送される。
【００４５】
次に、ＣＰＵ３１は、プリントバッファ４３に格納された印刷イメージに基づいて印刷処理を実行する（Ｓ１０）。そして、ＣＰＵ３１は、グラフィックデータ２３として処理した印刷データに続いて受信した印刷データを受信バッファ４２に格納し、この受信バッファ４２に格納された印刷データを読み出して解析する（Ｓ０１〜Ｓ０３）。
【００４６】
この時、グラフィックデータ２３に異常がない場合は、ＣＰＵ３１はグラフィックモード解除コマンド２４を検出し（Ｓ１１）、これをトリガとしてグラフィックモードを解除した後（Ｓ１２）、続く印刷データの処理を開始する。しかしながら、ここでは、グラフィックデータ２３が欠落しているため、本来ならグラフィックモード解除コマンド２４として判別されるコマンドの一部が、上記のＤＭＡ転送時にグラフィックデータ２３として処理されている。このため、グラフィックモード解除コマンド２４はコマンドとして成立せず、キャラクタデータとして認識され（Ｓ１３）、キャラクタデータ処理が開始される（Ｓ１４）。
【００４７】
キャラクタデータ処理では、ＣＰＵ３１は、印刷モードがグラフィックモードか否かを判別する（Ｓ１５）。ここで、グラフィックモードが解除されている場合（Ｓ１６；Ｎｏ）、ＣＰＵ３１は、キャラクタデータを印刷イメージに展開してプリントバッファ４３に格納し、当該印刷イメージに基づいて印刷処理を実行する（Ｓ１０）。しかしながら、ここでは、グラフィックモード解除コマンド２４がコマンドとして処理されていないため、ＣＰＵ３１は、グラフィックモードが設定されていると判別する（Ｓ１６；Ｙｅｓ）。このため、ＣＰＵ３１は、グラフィックモードであるにも拘らず、キャラクタデータの処理が開始されているため、異常が発生したと判別する（Ｓ１７）。つまり、ＣＰＵ３１は、グラフィックデータ２３が欠落したことに起因する異常の発生を検出する。
【００４８】
次に、ＣＰＵ３１は、異常が発生した旨を通知するために、ホストコンピュータ３に対して異常が発生した旨を示すステータスを送信すると共に、連続用紙に異常が発生した旨および異常発生時の連絡先を印刷する（Ｓ１８）。そして、ＣＰＵ３１は、自身の動作を停止する（Ｓ１９）。
【００４９】
以上のように、本実施形態によれば、キャラクタデータの処理時に現在の印刷モードがグラフィックモードであると判定された場合（つまり、グラフィックモードであるにも拘らず、キャラクタデータが処理された場合）、モードと処理内容が一致していないため、印刷データの処理、あるいは印刷データ（グラフィックデータ２３）の欠落などの異常が発生したと判別し、その旨を報知することができる。
【００５０】
また、印刷データ（グラフィックデータ２３）の欠落などの異常の検出をソフトウェアにより行うことで、例えば、印刷データの異常検出をハードウェア回路を用いて行う場合に比べ、低コストで実現することができる。
【００５１】
なお、グラフィックモード解除コマンド２４は、想定される欠落データのバイト数より、バイト数の多いコマンドとして構成することが好ましい。これにより、グラフィックデータ２３が欠落した場合でも、グラフィックモード解除コマンド２４の全てがグラフィックデータ２３として処理されることがないため（つまり、コマンドの一部は残ることになるため）、必ずキャラクタデータとして処理されることとなり、グラフィックデータ２３の欠落が発生した場合、これを確実に異常として判別することが可能となる。
【００５２】
また、本実施形態では、ＤＭＡコントローラ３７を用いて、グラフィックデータ２３をプリントバッファ４３へ直に転送する構成を例示しているが、これに限るものではない。例えば、ＤＭＡコントローラ３７を用いず、グラフィックデータ２３を受信バッファ４２を介してプリントバッファ４３へ転送するようにしても良い。この場合、グラフィックデータ２３として転送されたデータ量をカウントするデータ量カウント手段を新たに設け、当該データ量カウント手段によりカウントされたデータ量と、処理対象となるグラフィックデータ２３の実データ量と、が一致した直後の印刷データを解析する。そして、解析の結果、当該印刷データがキャラクタデータとして認識され、且つ現在の印刷モードがグラフィックモードであると判別された場合に、グラフィックデータ２３の欠落などの異常を検出することができる。
【００５３】
また、本発明は、図５に示すように、１つのグラフィック（画像）を複数のグラフィックデータ２３（グラフィックコマンド２２を含む）の集合体（以下、集合体の各要素を「バンド７１（７１ａ〜７１ｅ）」と称す。）で形成する場合にも適用可能である。この場合、最初のバンド７１ａのデータ送信前にのみグラフィックモード設定コマンド２１を送信し、最後のバンド７１ｅのデータ送信後にのみグラフィックモード解除コマンド２４を送信するようにしても良い。この場合、途中のバンド７１ｂのグラフィックデータ２３ｂが欠落した時には、次のバンド７１ｃのグラフィックコマンド２２ｃの一部が、バンド７１ｂのグラフィックデータ２３ｂとして処理される。このため、グラフィックコマンド２２ｃはコマンドとして成立しなくなり、グラフィックモード中にも拘らずキャラクタデータとして認識されるため、グラフィックデータ２３ｂの欠落を起因とする異常の発生を検出することができる。
【００５４】
また、印刷装置２に、印刷モードをグラフィックモードに固定設定する機能およびグラフィックモードの固定設定を解除する機能を備えるようにしても良い。これにより、例えば、印刷装置２でグラフィックデータ２３の印刷のみを行う場合（キャラクタデータを扱わない場合）、常にグラフィックモードに固定設定しておき、ホストコンピュータ３から受信した印刷データがキャラクタデータとして処理された場合、異常が発生したと判別することができる。つまり、グラフィックモード設定コマンド２１やグラフィックモード解除コマンド２４によるモード切替が不要となる。このため、例えば、ホストコンピュータ３（アプリケーションプログラム１４ａ）に、グラフィックモード設定コマンド２１およびグラフィックモード解除コマンド２４の送信機能が無い場合でも対応することが可能となる。なお、これらの機能は、ディップスイッチなどにより実現することが考えられる。
【００５５】
また、本実施形態では、グラフィックデータ２３の欠落を異常として検出することを例に挙げて説明しているが、これに限らず、何らかの原因でグラフィックデータ２３が増加した場合も、異常として検出することが可能である。
【００５６】
また、上述した実施例によらず、印刷システム１の装置構成や処理工程、および印刷装置２の機器構成、処理工程および制御方法等について、本発明の要旨を逸脱しない範囲で、適宜変更も可能である。
【図面の簡単な説明】
【００５７】
【図１】本発明の一実施形態に係る印刷システムの制御ブロック図である。
【図２】グラフィックデータの処理に際して送信する印刷データのデータ構造の一例を示す図である。
【図３】印刷装置の機能ブロック図である。
【図４】印刷装置に異常が発生したことを検出する手順の一例を示すフローチャートである。
【図５】１つのグラフィックを複数のバンドで形成する場合の印刷データのデータ構造の一例を示す図である。
【符号の説明】
【００５８】
１…印刷システム  ２…印刷装置  ３…ホストコンピュータ  ２１…グラフィックモード設定コマンド  ２３…グラフィックデータ  ２４…グラフィクモード解除コマンド  ５１…データ受信手段  ５３…モード切替手段  ５５…ＤＭＡ転送手段  ５７…モード判別手段  ５８…異常判別手段  ６０…報知手段
【図１】
2010105230.tif 000003
【図２】
2010105230.tif 000004
【図３】
2010105230.tif 000005
【図４】
2010105230.tif 000006
【図５】
2010105230.tif 000007