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