説明

印刷装置およびその制御方法

【課題】データの異常検出を低コストで実現することができる印刷装置およびその制御方
法を提供する。
【解決手段】印刷データを送信する外部装置3から、印刷データを受信するデータ受信手
段61と、受信した印刷データに基づいて、印刷媒体に印刷を行う印刷手段67と、印刷
手段67により印刷された印刷済みの印刷媒体の長さを示す実印刷長を計測する印刷長計
測手段68と、印刷長計測手段68により計測された実印刷長が、最大印刷長22を超え
たか否かを判別する印刷長判別手段69と、印刷長判別手段69により、実印刷長が最大
印刷長22を超えたと判別された場合、異常が発生したと判別する異常判別手段70と、
異常判別手段70の判別結果に基づいて、その旨を報知する報知手段71と、を備えた。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データの異常を検出することができる印刷装置およびその制御方法に関する
ものである。
【背景技術】
【0002】
従来、プログラマブルロジックリソース(汎用集積回路)上にエラー検出回路を設け、
データのエラー検出を行うものが知られている。このプログラマブルロジックリソースは
、チェックサム計算回路と比較回路とを含むCRCモジュールを備えており、チェックサ
ム計算回路により、対象となるデータ(プログラマブルロジックリソース構成データ)の
チェックサムを計算する。その後、比較回路により計算されたチェックサムと、予め記憶
されている期待値とを比較し、その比較結果に基づいて当該データのエラーの有無を検出
する(例えば、特許文献1参照)。
【特許文献1】特表2005−505827号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
ところで、印刷装置でグラフィックデータを印刷処理する場合、グラフィックデータが
欠落することによりグラフィックデータのデータ数がずれると、以降の大量のグラフィッ
クデータがグラフィックデータとして認識されず、意図しない文字列を印刷することが考
えられる。このため、グラフィックデータが正常なデータか否か(データのエラーの有無
)をチェックする必要がある。
しかしながら、このようなデータのエラー検出を上述のようにハードウェア回路で行う
場合、製品に対して新たにハードウェア回路を追加しなければならず、コストがかかると
いう問題がある。
【0004】
本発明は、上記の問題に鑑みたものであり、データの異常検出を低コストで実現するこ
とができる印刷装置およびその制御方法を提供することを目的とする。
【課題を解決するための手段】
【0005】
本発明の印刷装置は、外部装置から、印刷データを受信するデータ受信手段と、受信し
た印刷データに基づいて、印刷媒体に印刷を行う印刷手段と、印刷手段により印刷された
印刷済みの印刷媒体の長さを示す実印刷長を計測する印刷長計測手段と、印刷長計測手段
により計測された実印刷長が、最大印刷長を超えたか否かを判別する印刷長判別手段と、
印刷長判別手段により、実印刷長が最大印刷長を超えたと判別された場合、異常が発生し
たと判別する異常判別手段と、異常判別手段の判別結果に基づいて、その旨を報知する報
知手段と、を備えたことを特徴とする。
【0006】
また、本発明の印刷装置の制御方法は、外部装置から、印刷データを受信するデータ受
信工程と、受信した印刷データに基づいて、印刷媒体に印刷を行う印刷工程と、印刷工程
により印刷された印刷済みの印刷媒体の長さを示す実印刷長を計測する印刷長計測工程と
、印刷長計測工程により計測された実印刷長が、最大印刷長を超えたか否かを判別する印
刷長判別工程と、印刷長判別工程により、実印刷長が最大印刷長を超えたと判別された場
合、異常が発生したと判別する異常判別工程と、異常判別工程の判別結果に基づいて、そ
の旨を報知する報知工程と、を備えたことを特徴とする。
【0007】
これらの構成によれば、実際に印刷した印刷媒体(例えば、ロール紙等の長尺状の用紙
)の長さ(実印刷長)が、予め決められている最大印刷長を超えた場合、印刷データの処
理、あるいは印刷データそのものになんらかの異常が発生したと判別し、その旨を報知す
ることができる。
例えば、一般的にグラフィックデータの処理では、処理済データ量が実データ量と一致
するまで処理を行う。したがって、処理対象となるグラフィックデータ(以下、グラフィ
ックデータ1とする)が欠落していた場合、後続のグラフィックデータ(以下、グラフィ
ックデータ2とする)の一部が(欠落したデータ量と同じデータ量が)、グラフィックデ
ータ1の一部として処理される。この場合、一部が欠落した状態のグラフィックデータ2
は、グラフィックデータとして認識されず、キャラクターデータとして認識される。グラ
フィックデータがキャラクターデータとして認識された場合、大量の無駄な印刷(文字化
けを伴う印刷)が行われることとなり、結果として、印刷済みの印刷媒体の印刷長が非常
に長くなってしまう。そこで、本発明では、印刷済みの印刷媒体の長さが、最大印刷長を
超える印刷が行われた場合に異常が発生したと判別することで、グラフィックデータに欠
落があったことを検出することができる。
また、データ欠落などの異常の検出をソフトウェアにより行うことで、例えば、ハード
ウェア回路を用いて行う場合に比べ、低コストで実現することができる。
【0008】
本発明の印刷装置において、印刷データは、最大印刷長を指定する最大印刷長指定コマ
ンドを含み、印刷長判別手段は、実印刷長が、最大印刷長指定コマンドにより指定された
最大印刷長を超えたか否かを判別することが好ましい。
【0009】
この構成によれば、印刷データに含まれる最大印刷指定コマンドにより、印刷データ毎
に適切な最大印刷長を設定できる。例えば、一般的なレシートを印刷するための印刷デー
タの場合は最大印刷長を30cmに設定し、デイリーレポートのように印刷長が長いと想
定されるものは2mに設定することが可能となるため、利便性が良い。
【0010】
本発明の印刷装置において、最大印刷長を、不揮発に記憶する記憶手段をさらに備えた
ことが好ましい。
【0011】
この構成によれば、記憶手段に最大印刷長を不揮発に記憶することができるため、最初
の1回だけ最大印刷長を設定すれば、これ以降、新たに最大印刷長を設定し直す必要がな
いため、利便性が良い。
なお、最大印刷長を不揮発に記憶する方法と、上記のように印刷データ毎に最大印刷指
定コマンドを用いて最大印刷長を設定する方法とを、併用することも可能である。この場
合、各印刷データに付加される最大印刷長指定コマンドの設定値を優先することが好まし
い。例えば、一般的なレシート印刷のように、頻繁に印刷されるものに関しては記憶手段
に記憶した最大印刷長を用い、デイリーレポートのように印刷長が長いと想定され、印刷
頻度の低いものに関しては、最大印刷長指定コマンドで最大印刷長を別個に指定すること
ができるため、使い勝手が良い。
また、外部装置(ホストコンピューター)が最大印刷長指定コマンドを出力しない場合
でも異常を検出することができるため、既存の外部装置のアプリケーション等を変更する
ことなく実現することができる。
【0012】
本発明の印刷装置において、最大印刷長は、印刷媒体を搬送するための駆動源であるス
テップモーターにおける、当該最大印刷長だけ印刷媒体を搬送するために必要なステップ
数で指定され、印刷長計測手段は、実印刷長を、ステップモーターのステップ数をカウン
トすることにより計測することが好ましい。
【0013】
この構成によれば、一般的に印刷媒体の搬送するための駆動源として用いられるステッ
プモーターのステップ数で実印刷長を計測するため、実印刷長を計測するための専用のハ
ードウェアを新たに追加する必要がなく、低コストで実現することができる。
【0014】
本発明の印刷装置において、報知手段は、異常が発生したことを示すメッセージ、およ
び異常発生時の連絡先を示すメッセージの少なくとも一方を印刷媒体に印刷して報知する
ことが好ましい。
【0015】
この構成によれば、印刷装置に異常が発生した旨を示すメッセージおよび/または異常
発生時の連絡先を示すメッセージを印刷媒体に印刷する。これにより、利用者は、現在の
状況(異常が発生した旨)や、どこに連絡すれば良いのかを容易に把握することができ、
異常発生時における利用者の不安を軽減することができる。
【0016】
本発明の印刷装置において、報知手段は、外部装置に対して、異常が発生したことを示
すステータスを送信することが好ましい。
【0017】
この構成によれば、異常が発生した場合、外部装置で適切な処理を行うことができる。
例えば、外部装置に報知手段を備えることで、管理者は印刷装置の異常を迅速に把握する
ことができ、その後の復旧対応を迅速に行うことができる。
【0018】
本発明の印刷装置において、異常判別手段により異常が発生したと判別された場合、装
置の動作を停止する動作停止手段をさらに備えたことが好ましい。
【0019】
この構成によれば、異常が発生した場合、印刷装置の動作を停止することで、被害を最
小限に抑えることができる。例えば、その異常が、大量の文字化け印字を伴うようなもの
である場合、異常発生直後に印刷装置の動作を停止することで、無駄な印刷媒体(用紙)
の排出を抑えることができる。また、印刷装置がインクジェットプリンターの場合、無駄
なインクの消費を抑えることができる。
【発明を実施するための最良の形態】
【0020】
以下、添付の図面に基づいて、本発明の一実施形態に係る印刷装置およびその制御方法
について説明する。なお、本実施形態では、印刷装置と、印刷装置と連携するホストコン
ピューターと、から構成される印刷システムを例に挙げて説明する。
【0021】
図1は、本発明の印刷システム1の制御ブロック図である。同図に示すように本実施形
態の印刷システム1は、印刷データに基づいて印刷処理を行う印刷装置2と、印刷データ
を生成し、当該印刷データを印刷装置2に対して送信するホストコンピューター3(外部
装置)により構成されている。
【0022】
ホストコンピューター3は、CPU11(Central Processing Unit)、ROM12(R
ead Only Memory)、RAM13(Random Access Memory)、HDD14(Hard Disk Dri
ve)、およびインターフェイス15の他、一般的なパーソナルコンピューターに搭載され
るハードウェア構成を有している。
【0023】
ROM12は、CPU11が各種処理を実行するための制御プログラムや制御データを
記憶する。また、RAM13は、CPU11が各種処理を実行する際の作業領域として利
用される。インターフェイス15は、印刷装置2と接続するものである。
【0024】
HDD14には、文字や図形を印刷するアプリケーションプログラム14aが記憶され
ている。CPU11は、このアプリケーションプログラム14a上で印刷命令を実行する
ことにより、インターフェイス15を介して印刷装置2にキャラクターデータ、グラフィ
ックデータ、コマンド等の印刷データを送信する。
【0025】
このコマンドには、印刷済みの連続用紙(印刷媒体)の最大印刷長(印刷可能な長さ)
を指定するための最大印刷長指定コマンドCMD(図2参照)が含まれる。図2に示すよ
うに、最大印刷長指定コマンドCMDは、第1引数として「動作モード21」を指定し、
第2引数として「最大印刷長22(印刷可能長さ)」を指定する。
【0026】
第1引数の動作モード21には、「0」または「1」を指定することができる。この動
作モード21に「0」を指定した場合、最大印刷長指定コマンドCMDの処理時に、最大
印刷長22で指定された値を印刷装置2のRAM33(最大印刷長記憶ブロック54,図
1参照)に設定する。
【0027】
一方、動作モード21に「1」を指定した場合、当該最大印刷長指定コマンドCMDの
処理時に、最大印刷長22で指定された値を印刷装置2のフラッシュROM34(図1参
照)に設定する。これにより、最大印刷長22を不揮発に記憶することができるため、最
初の1回だけ最大印刷長22を設定すれば、これ以降、新たに最大印刷長22を設定し直
す必要がないため、利便性が良い。
【0028】
また、第2引数の最大印刷長22には、印刷済みの連続用紙の印刷長の最大値を指定す
る。この最大印刷長22は、印刷装置2において連続用紙を搬送するための駆動源である
紙送りモーター57(図1参照)のステップ数で指定する。なお、紙送りモーター57は
、ステップモーターの一例であり、本発明の実施形態において、ステップモーターは、紙
送りモーター57のほか回転数を指定可能な各種モーター含む概念である。
【0029】
例えば、印刷装置2に1/180dpiのステップモーターを紙送りモーター57とし
て搭載している場合、この紙送りモーター57が180ステップ回ることで1インチ(2
.54cm)の長さの印刷が行われる。つまり、最大印刷長22に「180(ステップ)
」と指定することで、実際の印刷済みの連続用紙の最大の印刷長は1インチと指定された
ことになる。
【0030】
なお、動作モード21に「0」を指定した最大印刷長指定コマンドCMDは、印刷デー
タ毎に、その先頭に付加して送信する。つまり、印刷データ毎に、個別の最大印刷長22
を設定する場合に用いられる。これにより、例えば、印刷データが一般的なレシートを印
刷するためのデータの場合は、最大印刷長22に30cmに相当するステップ数を指定し
、デイリーレポートのように印刷長が長いと想定されるものは2mに相当するステップ数
を指定することが可能となるため、利便性が良い。
【0031】
また、動作モード21に「1」を指定した最大印刷長指定コマンドCMDは、例えば、
印刷装置2の初期設定時(初期動作確認時)などに送信する。つまり、全ての印刷データ
に共通の最大印刷長22を設定する場合に用いられる。
【0032】
図1の説明に戻る。印刷装置2は、CPU31、ROM32、RAM33、フラッシュ
ROM34(記憶手段)、キャラクタージェネレーターROM35(CG−ROM)、イ
ンターフェイス36、データ受信部37、DMAコントローラー38(Direct Memory Ac
cess Controller)、印刷部39、および切断部40を備え、これらは互いに内部バス4
1により接続されている。
【0033】
ROM32は、CPU31が各種コマンドの解析および各種処理を実行するための制御
プログラムや制御データを記憶する。CG−ROM35は、キャラクター(文字や記号等
)のフォントデータを記憶するものであり、キャラクターを特定するコードデータが与え
られると、対応するフォントデータを出力する。
【0034】
RAM33は、CPU31が各種処理を実行する際に使用されるワークエリアブロック
51の他、データ受信部37で受信した印刷データを一時的に記憶する受信バッファー5
2と、実際に印刷を行うため印刷イメージを記憶するプリントバッファー53と、最大印
刷長指定コマンドCMDで動作モード21に「0」が指定されている場合に、当該コマン
ドCMDの第2引数で指定された最大印刷長22(ステップ数)を記憶する最大印刷長記
憶ブロック54と、紙送りモーター57のステップ数を記憶するステップ数記憶ブロック
55と、を有し、作業領域として使用される。
【0035】
フラッシュROM34は、最大印刷長指定コマンドCMDで、動作モード21に「1」
が指定されている場合に、当該コマンドCMDの第2引数で指定された最大印刷長22(
ステップ数)の値を記憶する。
【0036】
なお、CPU31は、フラッシュROM34に最大印刷長22が記憶されている場合に
、動作モード21が「0」に指定された最大印刷長指定コマンドCMDを受信した場合、
当該コマンドCMDで指定された最大印刷長22の値(最大印刷長記憶ブロック54に記
憶した値)を優先する。例えば、一般的なレシート印刷のように、頻繁に印刷されるもの
に関してはフラッシュROM34に記憶した最大印刷長22を用い、デイリーレポートの
ように印刷長が長いと想定され、印刷頻度の低いものに関しては、最大印刷長指定コマン
ドCMDで最大印刷長22を個別に指定することができるため、使い勝手が良い。
【0037】
インターフェイス36は、ホストコンピューター3と接続するためのものである。デー
タ受信部37は、インターフェイス36を介して、ホストコンピューター3から印刷デー
タを受信する。受信した印刷データは、CPU31により受信バッファー52を介してプ
リントバッファー53へ転送(格納)される。あるいは、後述のDMAコントローラー3
8によりプリントバッファー53へ転送される。
【0038】
DMAコントローラー38は、データ受信部37からプリントバッファー53に直に印
刷データを転送する(具体的には、印刷データを印刷イメージに展開してプリントバッフ
ァー53に転送する)。このDMAコントローラー38は、CPU31とは独立して動作
し、CPU31からの指示により、データ受信部37からプリントバッファー53へ、予
め設定された転送回数だけ印刷データをDMA転送する(つまり、所定のデータ量の印刷
データをDMA転送する)。そして、DMA転送終了後、DMAコントローラー38はC
PU31に信号を送信し、CPU31はこの信号に基づいてDMA転送が完了した旨を認
識する。
【0039】
印刷部39は、印刷ヘッド56や紙送りモーター57などで構成されている。CPU3
1は、プリントバッファー53に記憶された印刷イメージに基づいて、印刷ヘッド56を
制御して連続用紙上に文字や図形の印刷を行い、紙送りモーター57を駆動して、連続用
紙を排紙口(図示省略)に搬送する。切断部40は、排紙口の内側に配置されたカッター
により、印刷済みの連続用紙を切断分離する。
【0040】
ここで、本実施形態の印刷装置2のデータ転送方式について説明する。本実施形態の印
刷装置2は、上述のデータ受信部37で受信した印刷データをプリントバッファー53へ
転送するデータ転送方式として、2つの方式を有している。すなわち、第1の転送方式は
、DMAコントローラー38がデータ受信部37で受信した印刷データをプリントバッフ
ァー53へ直に転送するDMA転送方式である。第2の方式は、データ受信部37で受信
した印刷データを受信バッファー52に格納(蓄積)し、この受信バッファー52の印刷
データを解析してプリントバッファー53へ転送する通常転送方式である。
【0041】
DMA転送方法は、グラフィックデータをプリントバッファー53に転送する際に利用
される。例えば、CPU31により受信バッファー52に格納した印刷データが、各グラ
フィックデータの前に付加されるグラフィックコマンドであると解析された場合、その後
に続く印刷データをグラフィックデータとして、受信バッファー52を介さずに直にプリ
ントバッファー53へDMA転送する。そして、DMAコントローラー38は、予め設定
された転送回数のデータ転送を終えると(グラフィックデータの実データ量に相当するデ
ータ量の印刷データの転送を終えると)、DMA転送を終了し、通常転送方式へ戻る。す
なわち、印刷装置2は、グラフィックコマンドを受信したときに、自動的にDAM転送方
式に移行する。そして、設定された転送回数だけ印刷データをDAM転送すると、DMA
転送を自動的に抜け、通常転送方式へ戻る。
【0042】
次に、図3の機能ブロック図を参照して、印刷装置2の機能構成について説明する。図
3に示すように、印刷装置2は、データ受信手段61、コマンド解析手段62、最大印刷
長指定手段63、グラフィック処理手段64、DMA転送手段65、キャラクター処理手
段66、印刷手段67、印刷長計測手段68、印刷長判別手段69、異常判別手段70、
報知手段71、動作停止手段72、および切断手段73を備えている。
【0043】
データ受信手段61は、ホストコンピューター3から印刷データを受信する。そして、
CPU31は、受信した印刷データを受信バッファー52に記憶する。コマンド解析手段
62は、受信バッファー52に記憶した印刷データを1バイトずつ読み込んで解析する。
【0044】
最大印刷長指定手段63は、コマンド解析手段62により解析された印刷データが、最
大印刷長指定コマンドCMDである場合の処理を実行するものである。具体的には、最大
印刷長指定コマンドCMDの動作モード21が「0」であれば、CPU31は、最大印刷
長22で指定されたステップ数をRAM33(最大印刷長記憶ブロック54)に記憶する
と共に、ステップ数記憶ブロック55に記憶されている紙送りモーター57のステップ数
をクリアする(ステップ数を「0」に初期化する)。また、動作モード21が「1」であ
れば、CPU31は、最大印刷長22で指定されたステップ数をフラッシュROM34に
記憶する。
【0045】
グラフィック処理手段64は、コマンド解析手段62により解析された印刷データが、
グラフィックコマンドの場合の処理を実行するものである。このグラフィック処理手段6
4では、CPU31は、受信済みのグラフィックデータが受信バッファー52にある場合
(受信バッファー52にグラフィックデータの一部が格納されている場合)、これを受信
バッファー52からプリントバッファー53に転送し、これ以降にデータ受信部37で受
信する印刷データ(グラフィックデータ)をDMA転送するように設定する。この時、C
PU31は、コマンド解析手段62により解析したグラフィックコマンドの情報に基づき
、DMA転送の転送回数を設定する。また、グラフィック処理手段64では、グラフィッ
クコマンドの解析情報に基づいて、対象となるグラフィックデータを印刷する場合に必要
な紙送りモーター57のステップ数を算出する。
【0046】
DMA転送手段65は、DMAコントローラー38により、グラフィック処理手段64
で設定された転送回数だけデータ受信部37からプリントバッファー53へ印刷データを
直に転送する。そして、設定された転送回数のDMA転送が済むと、DMA転送が終了し
たことを示す信号をCPU31に送信し、制御をCPU31に戻す。
【0047】
キャラクター処理手段66は、コマンド解析手段62により解析された印刷データがキ
ャラクターデータの場合の処理を実行するものである。このキャラクター処理手段66で
は、当該キャラクターデータをCG−ROM35を用いて印刷イメージに展開し、その結
果をプリントバッファー53に格納する。また、キャラクター処理手段66では、対象と
なる1行分のキャラクターデータを印刷する場合に必要な紙送りモーター57のステップ
数を算出する。
【0048】
印刷手段67は、プリントバッファー53に格納された印刷イメージが所定の量になっ
た場合(例えば、プリントバッファー53に1行分の印刷イメージが格納された場合や、
プリントバッファー53が一杯になった場合)、あるいは印刷命令が発行された場合に、
当該印刷イメージに基づいて連続用紙への印刷処理を行う。
【0049】
また、印刷手段67は、印刷長計測手段68および印刷長判別手段69を有しており、
印刷長計測手段68は、印刷処理に伴い連続用紙を搬送する紙送りモーター57のステッ
プ数をカウントする(カウントされたステップ数は、ステップ数記憶ブロック55に記憶
される)。印刷長判別手段69は、印刷長計測手段68によりカウントしたステップ数と
、RAM33(最大印刷長記憶ブロック54)またはフラッシュROM34に記憶された
最大印刷長22(最大ステップ数)と、を比較し、カウントしたステップ数が最大印刷長
22を超えた場合、異常判別手段70により異常が発生したと判別する。
【0050】
報知手段71は、異常判別手段70により異常が発生したと判別された場合、その旨を
通知するものである。具体的には、異常が発生した場合、ホストコンピューター3にその
旨を示すステータス(エラーステータス)を送信する(例えば、自動状態情報通知機能を
用いる)。これにより、例えば、ホストコンピューター3に報知部(ブザー等)を備え、
エラーステータスを受信して異常発生を通知することで、管理者は印刷装置2の異常を迅
速に把握することができ、その後の復旧対応を迅速に行うことができる。
【0051】
また、報知手段71は、異常が発生したことを示すメッセージ、および異常発生時の連
絡先を示すメッセージの少なくとも一方を連続用紙に印刷することで、印刷装置2の利用
者に対して異常の発生を通知する。これにより、利用者は、現在の状況(異常が発生した
旨)や、どこに連絡すれば良いのかを容易に把握することができ、異常発生時における利
用者の不安を軽減することができる。
【0052】
動作停止手段72は、異常判別手段70により異常が発生したと判別された場合、印刷
装置2の動作を停止させる。これにより、異常が発生した場合、印刷装置2の被害を最小
限に抑えることができる。例えば、その異常が、大量の文字化け印字を伴うようなもので
ある場合、異常発生直後に印刷装置2の動作を停止することで、無駄な印刷媒体の排出を
抑えることができる。また、印刷装置2がインクジェットプリンターの場合、無駄なイン
クの消費を抑えることができる。
【0053】
切断手段73は、コマンド解析手段62により解析された印刷データがカッタコマンド
の場合、印刷済みの連続用紙を切断分離する。また、この時、ステップ数記憶ブロック5
5に記憶されている紙送りモーター57のステップ数をクリアする。
【0054】
ここで、図4を参照して、印刷装置2に最大印刷長22を設定する手順について説明す
る。まず、CPU31(印刷装置2)は、ホストコンピューター3から最大印刷長指定コ
マンドCMDを受信する(S01)。そして、CPU31は、受信した最大印刷長指定コ
マンドCMDを解析する(S02)。
【0055】
解析の結果、最大印刷長指定コマンドCMDで指定された動作モード21が「0」であ
る場合(S03)、CPU31は、ステップ数記憶ブロック55(RAM33)に記憶し
ている紙送りモーター57のステップ数をクリアし(S04)、続いて当該最大印刷長指
定コマンドCMDで指定された最大印刷長22を最大印刷長記憶ブロック54(RAM3
3)に記憶する(S05)。
【0056】
一方、解析の結果、最大印刷長指定コマンドCMDで指定された動作モード21が「1
」である場合(S06)、CPU31は、当該最大印刷長指定コマンドCMDで指定され
た最大印刷長22をフラッシュROM34に記憶する(S07)。
【0057】
次に、図5を参照して、印刷装置2に異常が発生したことを検出する手順について説明
する。なお、最大印刷長指定コマンドCMDにより、フラッシュROM34には、紙送り
モーター57のステップ数で指定された最大印刷長22が記憶されているものとする。
【0058】
まず、CPU31は、ホストコンピューター3から印刷データを受信する(S11)。
続いて、CPU31は、受信した印刷データを受信バッファー52に格納する(S12)
。そして、CPU31は、受信バッファー52に格納された印刷データを1バイトずつ読
み出して解析する(S13)。
【0059】
この解析の結果、グラフィックコマンドを検出した場合(S14)、CPU31は、グ
ラフィック処理を開始する(S15)。グラフィック処理では、CPU31は、当該グラ
フィックコマンド以降に受信するグラフィックデータを印刷するために必要な連続用紙の
印刷長を、紙送りモーター57のステップ数として算出する(S16,以下、このステッ
プ数を「pc」と定義する。)。また、CPU31は、グラフィックデータをDMA転送
するために、DMA転送の転送回数等の設定を行い、DMAコントローラー38に制御を
移す。
【0060】
そして、DMAコントローラー38は、CPU31により設定された転送回数だけ、グ
ラフィックデータをプリントバッファー53へ直にDMA転送する(S17)。そして、
DMAコントローラー38は、設定された転送回数のDMA転送が完了すると、CPU3
1に制御を戻し、CPU31は、印刷処理を開始する(S18)。
【0061】
なお、このDMA転送では、転送対象となる印刷データがグラフィックデータか否かの
判別は行わず、設定された転送回数だけ、つまり、所定のデータ量だけの印刷データをグ
ラフィックデータとして転送するため、グラフィックデータが欠落している場合、後続の
印刷データの一部が、グラフィックデータの欠落バイト数分だけグラフィックデータとし
てDMA転送される。
【0062】
一方、S13の解析の結果、キャラクターデータを検出した場合(S19)、CPU3
1は、キャラクター処理を開始する(S20)。キャラクター処理では、受信したキャラ
クターデータを1行分印刷するために必要な連続用紙の印刷長を、紙送りモーター57の
ステップ数として算出する(S21,以下、このステップ数を「pc」と定義する。)。
また、CPU31は、キャラクターデータを印刷イメージに展開してプリントバッファー
53に格納し、当該印刷イメージに基づいて印刷処理を開始する(S18)。
【0063】
また、S13の解析の結果、カッタコマンドを検出した場合(S22)、CPU31は
、ステップ数記憶ブロック55に記憶された紙送りモーター57のステップ数(以下、こ
のステップ数を「ms」と定義する。)をクリアすると共に(S23)、連続用紙の切断
を行う(S24)。
【0064】
次に、S18の印刷処理について説明する。この印刷処理では、まず、CPU31は、
印刷イメージの印刷に伴い、紙送りモーター57を1ステップ回す(S25)。そして、
印刷対象となるデータ(グラフィックデータまたはキャラクターデータ)を印刷するため
に必要なステップ数pcの値から1を減算すると共に(S26)、紙送りモーター57の
ステップ数msに1を加算する(S27)。そして、CPU31は、紙送りモーター57
のステップ数msと、最大印刷長22とを比較する。
【0065】
この比較の結果、紙送りモーター57のステップ数msが最大印刷長22を超えていな
い場合(S28;No)、CPU31は、印刷対象となるデータ(グラフィックデータま
たはキャラクターデータ)を印刷するために必要なステップ数pcが「0」か否かを判別
する(つまり、印刷対象となるデータが残っているか否かを判別する)。pcの値が「0
」でない場合(S29;No)、CPU31は引き続きS25以降の処理を繰り返す。一
方、pcの値が「0」の場合(S29;Yes)、処理した印刷データに続いて受信した
印刷データについての処理を行う(S01以降の処理を行う)。
【0066】
一方、比較の結果、紙送りモーター57のステップ数msが最大印刷長22を超えた場
合(S28;Yes)、CPU31は、印刷データに異常が発生したと判別する(S30
)。
【0067】
例えば、2つのグラフィックデータを連続して処理する場合において、最初のグラフィ
ックデータに欠落が発生すると、上述のDMA転送により、後続のグラフィックデータの
グラフィックコマンドの一部が、最初のグラフィックデータとして処理される。このため
、グラフィックコマンドはコマンドとして成立せず、残りのグラフィックコマンドおよび
これに続くグラフィックデータは、キャラクターデータとして認識され、キャラクターデ
ータ処理が開始される。
【0068】
一般的に、グラフィックデータがキャラクターデータとして扱われる場合、実際の印刷
長は膨大となる。このため、膨大な量のキャラクターデータについて、紙送りモーター5
7のステップ数msをクリアしないままS25からS29までの処理が繰り返される。そ
して、あるタイミングで(ある回数の処理が行われると)紙送りモーター57のステップ
数msが最大印刷長22を超えるため、異常が発生したと判別する。つまり、CPU31
は、グラフィックデータが欠落したことに起因する異常の発生を検出する。
【0069】
次に、CPU31は、異常が発生した旨を通知するために、ホストコンピューター3に
対して異常が発生した旨を示すステータスを送信すると共に、連続用紙に異常が発生した
旨および異常発生時の連絡先を印刷する(S31)。そして、CPU31は、自身の動作
を停止する(S32)。
【0070】
以上のように、本実施形態によれば、実際に印刷した連続用紙(例えば、ロール紙等の
長尺状の用紙)の長さが、予め決められている最大印刷長22を超えた場合、印刷データ
の処理、あるいは印刷データそのものになんらかの異常が発生したと判別し、その旨を報
知することができる。
【0071】
また、印刷データ(グラフィックデータ)の欠落などの異常の検出をソフトウェアによ
り行うことで、例えば、印刷データの異常検出をハードウェア回路を用いて行う場合に比
べ、低コストで実現することができる。
【0072】
また、一般的に連続用紙を搬送するための駆動源として用いられる紙送りモーター57
のステップ数で実際の印刷長を計測するため、実際の印刷長を計測するための専用のハー
ドウェアを新たに追加する必要がなく、低コストで実現することができる。
【0073】
なお、本実施形態では、DMAコントローラー38を用いて、グラフィックデータをプ
リントバッファー53へ直に転送する構成を例示しているが、これに限るものではない。
例えば、DMAコントローラー38を用いず、グラフィックデータを受信バッファー52
を介してプリントバッファー53へ転送する形態においても適用可能である。
【0074】
また、本発明の最大印刷長指定コマンドCMDにおいて、第2引数である最大印刷長2
2の値に「0」を指定することで、最大印刷長22を指定しない、つまり、異常の検出を
行わないようにする。これにより、例えば、デイリーレポートのように、当日の売上によ
りレポートの長さが変化するために適切な最大印刷長22を指定することが難しい場合に
も、本発明の最大印刷長指定コマンドCMDのみで対応することが可能となる。
【0075】
また、本実施形態では、最大印刷長指定コマンドCMDで指定する最大印刷長22を紙
送りモーター57のステップ数で指定しているが、これに限るものではなく、例えば、最
大印刷長22をセンチメートル単位で指定することも可能である。この場合、印刷装置2
において、指定された長さ(センチメートル)から、この長さを印刷するために必要な紙
送りモーター57のステップ数を算出すれば良い。
【0076】
また、フラッシュROM34に最大印刷長22を不揮発に記憶することが可能であるた
め、例えば、予め印刷装置2に設定しておくことで、ホストコンピューター3側のアプリ
ケーションが最大印刷長指定コマンドCMDに対応していない場合でも(最大印刷長指定
コマンドCMDを出力しない場合でも)異常を検出することができるため、既存のホスト
コンピューター3のアプリケーション等を変更することなく実現することができる。
【0077】
また、本実施形態では、グラフィックデータの欠落を異常として検出することを例に挙
げて説明しているが、これに限らず、何らかの原因でグラフィックデータが増加した場合
も、異常として検出することが可能である。
【0078】
また、上述した実施例によらず、印刷システム1の装置構成や処理工程、および印刷装
置2の機器構成、処理工程および制御方法等について、本発明の要旨を逸脱しない範囲で
、適宜変更も可能である。
【図面の簡単な説明】
【0079】
【図1】本発明の一実施形態に係る印刷システムの制御ブロック図である。
【図2】最大印刷長指定コマンドを説明する図である。
【図3】印刷装置の機能ブロック図である。
【図4】最大印刷長を指定する手順を示すフローチャートである。
【図5】印刷装置に異常が発生したことを検出する手順の一例を示すフローチャートである。
【符号の説明】
【0080】
1…印刷システム 2…印刷装置 3…ホストコンピューター 22…最大印刷長 3
4…フラッシュROM 57…紙送りモーター 61…データ受信手段 67…印刷手段
68…印刷長計測手段 69…印刷長判別手段 70…異常判別手段 71…報知手段
72…動作停止手段 CMD…最大印刷長指定コマンド

【特許請求の範囲】
【請求項1】
外部装置から、前記印刷データを受信するデータ受信手段と、
受信した前記印刷データに基づいて、印刷媒体に印刷を行う印刷手段と、
前記印刷手段により印刷された印刷済みの前記印刷媒体の長さを示す実印刷長を計測す
る印刷長計測手段と、
前記印刷長計測手段により計測された前記実印刷長が、最大印刷長を超えたか否かを判
別する印刷長判別手段と、
前記印刷長判別手段により、前記実印刷長が前記最大印刷長を超えたと判別された場合
、異常が発生したと判別する異常判別手段と、
前記異常判別手段の判別結果に基づいて、その旨を報知する報知手段と、を備えたこと
を特徴とする印刷装置。
【請求項2】
前記印刷データは、前記最大印刷長を指定する最大印刷長指定コマンドを含み、
前記印刷長判別手段は、前記実印刷長が、前記最大印刷長指定コマンドにより指定され
た前記最大印刷長を超えたか否かを判別することを特徴とする請求項1に記載の印刷装置

【請求項3】
前記最大印刷長を、不揮発に記憶する記憶手段をさらに備えたことを特徴とする請求項
1または2に記載の印刷装置。
【請求項4】
前記最大印刷長は、
前記印刷媒体を搬送するための駆動源であるステップモーターにおける、当該最大印刷
長だけ前記印刷媒体を搬送するために必要なステップ数で指定され、
前記印刷長計測手段は、
前記実印刷長を、前記ステップモーターのステップ数をカウントすることにより計測す
ることを特徴とする請求項1ないし3のいずれか1項に記載の印刷装置。
【請求項5】
前記報知手段は、
異常が発生したことを示すメッセージ、および異常発生時の連絡先を示すメッセージの
少なくとも一方を印刷媒体に印刷して報知することを特徴とする請求項1ないし4のいず
れか1項に記載の印刷装置。
【請求項6】
前記報知手段は、
前記外部装置に対して、異常が発生したことを示すステータスを送信することを特徴と
する請求項1ないし5のいずれか1項に記載の印刷装置。
【請求項7】
前記異常判別手段により異常が発生したと判別された場合、装置の動作を停止する動作
停止手段をさらに備えたことを特徴とする請求項1ないし6のいずれか1項に記載の印刷
装置。
【請求項8】
外部装置から、前記印刷データを受信するデータ受信工程と、
受信した前記印刷データに基づいて、印刷媒体に印刷を行う印刷工程と、
前記印刷工程により印刷された印刷済みの前記印刷媒体の長さを示す実印刷長を計測す
る印刷長計測工程と、
前記印刷長計測工程により計測された前記実印刷長が、最大印刷長を超えたか否かを判
別する印刷長判別工程と、
前記印刷長判別工程により、前記実印刷長が前記最大印刷長を超えたと判別された場合
、異常が発生したと判別する異常判別工程と、
前記異常判別工程の判別結果に基づいて、その旨を報知する報知工程と、を備えたこと
を特徴とする印刷装置の制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2010−142960(P2010−142960A)
【公開日】平成22年7月1日(2010.7.1)
【国際特許分類】
【出願番号】特願2008−319286(P2008−319286)
【出願日】平成20年12月16日(2008.12.16)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】