説明

記録装置、記録装置の制御方法、及び、プログラム

【課題】記録装置においてエラーが発生した場合にエラーの原因を知ることができ、かつ、エラーが解消した場合の記録結果を速やかに確認できるようにする。
【解決手段】プリンター1は、記録媒体に記録する記録機構40を備え、ホストコンピューター2から少なくともコマンドを受信し、受信したコマンドに基づいて、記録機構40により、記録媒体に所定の印刷または所定の動作をし、受信したコマンド、または、コマンドに含まれるパラメーター若しくはデータのいずれかが、所定の規定された値、または所定の規定された範囲の値から外れているエラーかを検出し、エラーの原因を示す情報を記録機構40により記録媒体に印刷し、エラーが検出された値を所定の規定値、または所定の規定された範囲の値のいずれかに修正し、修正後の値に基づいて、記録媒体に所定の記録、または所定の動作をする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、記録媒体に記録を行う記録装置、記録装置の制御方法、及び、プログラムに関する。
【背景技術】
【0002】
従来、表示部を備えた記録装置において、エラーが発生した場合に、発生したエラー内容を解析して、発生したエラーの分類を表示部に表示する装置が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009−134016号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、表示部を備えていない記録装置はエラーの分類等を詳細にユーザーに知らせることはできないので、この種の記録装置を使用するユーザーは、エラーが発生したことしか知ることができない。また、エラーの分類が表示される場合であっても、そのエラーを解消した場合にどのような記録結果が得られるかは、エラーを解消した後で再度記録を行わなければ確認できない。
記録装置は、特定の記録や特定の記録装置の動作を指定する複数のコマンドに対応していて、一部のコマンドの中には、コマンドに従って、記録や動作の機能を指定するパラメーターや、記録するためのデータや動作するためのデータを含むものがある。
記録装置が受信したコマンドやパラメーター、データなどが、記録装置の規定するコマンドやパラメーター、データの仕様から外れていて適正でない場合、でたらめな文字を記録紙媒体からはみ出して記録するなど意図としない記録や、記録の途中で記録媒体を切断装置でカットしたり、長い紙送りをするなど意図としない記録装置の動作となって表れる。このようなエラーの結果から、その原因が、コマンドやパラメーター、データのどこにあるのかを突き止めることは、記録装置の仕様に熟知していない限り難しい。
さらに、記録装置が受信したコマンドやパラメーター、データ等が本来はエラーになる値ではあるものの、仮に上記のデータ等が適正値の範囲内であった場合にどのような記録や動作となるかを、記録装置の実際の動作により示すことができれば、適正値の場合の結果を容易に知ることができ、便利である。このことは、エラーを修正する際にも役に立つ。
本発明は、上述した事情に鑑みてなされたものであり、記録装置においてエラーが発生した場合にエラーの原因を知ることができ、かつ、エラーが解消した場合の記録結果を速やかに確認できるようにすることを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するために、本発明は、外部装置に接続可能な記録装置であって、記録媒体に記録する記録機構と、前記外部装置から少なくともコマンドを受信する受信手段と、前記受信手段により受信した前記コマンドに基づいて、前記記録機構により、前記記録媒体に所定の記録、または所定の動作をする記録制御手段と、前記コマンド、または、前記コマンドに含まれるもので、パラメーター若しくはデータのいずれかが、所定の規定された値、または所定の規定された範囲の値から外れているエラーかを検出するエラー処理手段と、を備え、前記エラー処理手段が前記エラーを検出した場合、前記記録制御手段は、前記エラーの原因を示す情報を前記記録機構により前記記録媒体に記録し、かつ、前記エラー処理手段により前記エラーとして検出された前記コマンドまたは前記パラメーター、前記データを、所定の規定された値、または所定の規定された範囲の値のいずれかに修正し、修正後の前記値に基づいて、前記記録媒体に所定の記録、または所定の動作をすること、を特徴とする。
本発明によれば、外部装置から受信したコマンド、または、このコマンドに含まれるパラメーター若しくはデータのいずれかが、所定の規定された値または所定の規定された範囲の値から外れている場合に、エラーを検出し、エラーの原因を示す情報を記録媒体に記録し、さらに適正でない値を適正値に修正して、修正後の値に基づいて所定の記録をする。これにより、エラーが発生した場合に記録媒体に記録される情報を見ればエラーの原因を知ることができ、かつ、エラーの原因となったデータを適正値にした場合に記録される記録結果を視認できる。このため、エラー発生時に操作のやり直しをしなくても、コマンド、パラメーター、データ等を修正するための多くの情報を得ることができ、速やかにコマンド等を修正して意図とした記録結果を得ることができる。
この際、所定の規定された値、または所定の規定された範囲の値から外れている場合、より近い方の規定値に修正すると、意図としたものにより近い結果を知ることができる。
【0006】
本発明は、上記記録装置において、前記コマンドは、シンボル画像を記録することを指定するものであり、前記パラメーターは、前記シンボル画像の機能を指定するものであり、前記データは、前記シンボル画像を形成するものであり、前記エラー処理手段は、前記コマンドに含まれる前記パラメーター、または前記データのいずれかが、所定の規定された値、または所定の規定された範囲の値から外れているエラーかを検出し、前記エラー処理手段が前記エラーを検出した場合、前記記録制御手段は、前記エラー処理手段により前記エラーとして検出された前記パラメーターまたは前記データを示す情報を前記記録媒体に記録し、かつ、前記エラー処理手段により前記エラーとして検出された前記パラメーター、または前記データを、所定の規定された値、または所定の規定された範囲の値のいずれかに修正し、修正後の前記値に基づいて前記記録媒体に前記シンボル画像の記録をすること、を特徴とする。
シンボル画像は、例として、1次元バーコードや2次元コードなどを示す。パラメーターは、シンボル画像の種類や、全体のサイズ、最小バーや最小ピクセルのサイズ、記録位置、チェックサムや誤り訂正度の種類、文字の種類、などの機能を指定する。データは具体的に画像としての記録を表すものであり、データ数も指定される。
本発明によれば、前記コマンドに含まれる前記パラメーター、または前記データのいずれかが、所定の規定された値、または所定の規定された範囲の値から外れているエラーかを検出した場合、適正値でないパラメーターやデータを示す情報と、このパラメーターやデータを適正値に修正した場合のシンボル画像が記録されるので、適正でないパラメーターやデータを速やかに修正することができ、また、パラメーターやデータを修正する前に、修正した場合のシンボル画像を視認できる。
【0007】
また、本発明は、上記記録装置において、前記パラメーターは、シンボル画像の記録サイズを指定する値を含み、前記エラー処理手段は、前記パラメーターにより指定されたシンボル画像の記録サイズが前記記録媒体の記録可能領域を超える場合にエラーを検出し、前記記録制御手段は前記シンボル画像の記録サイズを前記記録可能領域内に収まるサイズに修正して、前記記録媒体にシンボル画像を記録することを特徴とする。
本発明によれば、指定されたシンボル画像のサイズが適正でなかった場合にエラーを検出し、シンボル画像のサイズが適正値に修正されてシンボル画像が記録されるので、適正でないシンボル画像のサイズを速やかに修正することができ、また、シンボル画像のサイズのデータを修正する前に、修正した場合のシンボル画像を視認できる。
【0008】
また、本発明は、上記記録装置において、通常動作モードと開発モードとを切り替えて実行可能であり、前記記録制御手段は、前記開発モードで前記エラー処理手段がエラーを検出した場合に、前記エラーの原因を示す情報を前記記録媒体に記録し、かつ、前記エラー処理手段により前記エラーとして検出された前記コマンドまたは前記パラメーター、前記データを、所定の規定された値、または所定の規定された範囲の値のいずれかに修正し、修正後の前記値に基づいて、前記記録媒体に所定の記録、または所定の動作をし、前記通常動作モードで前記エラー処理手段がエラーを発生させた場合には、少なくとも前記記録機構による記録を中止させることを特徴とする。
本発明によれば、記録用データに適正値でないデータが含まれている場合、開発モードにおいてはエラーを検出するとともに、エラーの原因と修正されたデータに基づくシンボル画像が記録され、通常動作モードでは、エラーが発生して記録動作が停止される。このため、エラーの原因と修正した値に基づくシンボル画像の記録が必要ない場合には記録動作を停止するだけで、速やかに記録を再試行できる。
【0009】
また、本発明は、上記記録装置において、前記コマンドに含まれる前記データを、前記記録機構で記録するために展開するバッファーメモリーを備え、前記エラー処理手段は、前記記録制御手段が前記バッファーメモリーに前記データを展開した際に、前記データが、所定の規定された値、または所定の規定された範囲の値から外れているエラーかを検出することを特徴とする。
本発明によれば、適正値でないデータを容易に、特別な処理を経ることなく、通常の記録処理の中で検出することができる。
【0010】
また、上記目的を達成するために、本発明は、外部装置に接続可能であり、記録媒体に記録する記録機構を備えた記録装置を制御して、前記外部装置から少なくともコマンドを受信し、受信した前記コマンドに基づいて、前記記録機構により、前記記録媒体に所定の記録、または所定の動作をし、前記コマンド、または、前記コマンドに含まれるもので、パラメーター若しくはデータのいずれかが、所定の規定された値、または所定の規定された範囲の値から外れているエラーかを検出し、前記エラーの原因を示す情報を前記記録機構により前記記録媒体に記録し、前記エラーが検出された前記コマンドまたは前記パラメーター、前記データを、所定の規定された値、または所定の規定された範囲の値のいずれかに修正し、修正後の前記値に基づいて、前記記録媒体に所定の記録、または所定の動作をすること、を特徴とする。
本発明の制御方法によれば、記録装置によって、外部装置から受信したに適正でないデータが含まれている場合に、エラーを発生し、エラーの原因を示す情報を記録媒体に記録し、さらに適正でないデータを適正値に修正して、修正後のデータに基づいてシンボル画像を記録する。これにより、エラーが発生した場合に記録媒体に記録される情報を見ればエラーの原因を知ることができ、かつ、エラーの原因となったデータを適正値にした場合に記録されるシンボル画像を視認できる。このため、エラー発生時に操作のやり直しをしなくても多くの情報を得ることができ、速やかにデータを修正して正しいシンボル画像を記録できる。
【0011】
また、上記目的を達成するために、本発明は、外部装置に接続可能であり、記録媒体に記録する記録機構と制御部を備えた記録装置を制御するプログラムであって、前記制御部を、外部装置から少なくともコマンドを受信する受信手段と、前記コマンド、または、前記コマンドに含まれるもので、パラメーター若しくはデータのいずれかが、所定の規定された値、または所定の規定された範囲の値から外れているエラーかを検出するエラー処理手段と、前記受信手段により受信した前記コマンドに基づいて、前記記録機構により、前記記録媒体に所定の記録、または所定の動作をし、前記エラー処理手段が前記エラーを検出した場合には、前記エラーの原因を示す情報を前記記録機構により前記記録媒体に記録し、かつ、前記エラー処理手段により前記エラーとして検出された前記コマンドまたは前記パラメーター、前記データを、所定の規定された値、または所定の規定された範囲の値のいずれかに修正し、修正後の前記値に基づいて、前記記録媒体に所定の記録、または所定の動作をする記録制御手段して機能させることを特徴とする。
本発明のプログラムを実行することにより、制御部は、外部装置から受信したコマンド、または、前記コマンドに含まれるもので、パラメーター若しくはデータのいずれかが、所定の規定された値、または所定の規定された範囲の値から外れている場合に、エラーを検出し、エラーの原因を示す情報を記録媒体に記録し、さらに適正でない値を適正値に修正して、修正後の値に基づいて所定の記録をする。これにより、エラーが発生した場合に記録媒体に記録される情報を見ればエラーの原因を知ることができ、かつ、エラーの原因となったデータを適正値にした場合に記録される記録結果を視認できる。このため、エラー発生時に操作のやり直しをしなくても、修正するための多くの情報を得ることができ、速やかにコマンド等を修正して意図とした記録結果を得ることができる。
【発明の効果】
【0012】
本発明によれば、エラーが発生した場合にエラーの原因を知ることができ、さらに、エラーの原因となった値を適正値に修正した場合の記録結果を確認できる。
【図面の簡単な説明】
【0013】
【図1】本発明の実施形態に係るプリンターの機能ブロック図である。
【図2】エラー修正用データの構成例を模式的に示す説明図である。
【図3】プリンターの動作を示すフローチャートである。
【図4】印刷される帳票の例を示す図である。
【発明を実施するための形態】
【0014】
以下、図面を参照して本発明の実施形態について説明する。
図1は、本発明を適用した実施形態に係るプリンター1の構成を示す機能ブロック図である。
記録装置としてのプリンター1は、外部装置を接続するインターフェイス(I/F)部13を備え、このインターフェイス部13を介してホストコンピューター2(外部装置)に接続されている。プリンター1は、制御部としてのCPU10によって各部を制御することにより、ホストコンピューター2から送信された印刷ジョブ(コマンド等を含む記録用データ)をインターフェイス部13により受信し、この印刷ジョブを実行して、記録媒体としてのロール紙に文字や画像等を印刷(記録)する。
【0015】
CPU10は、ロール紙に印刷を行う記録機構40を備えている。記録機構40は、ロール紙を搬送する搬送ローラー(図示略)を回転させて、ロール紙を、その長手方向に搬送する搬送モーター41、ロール紙に有色のドットを形成して文字や画像を記録する記録ヘッド44、記録ヘッド44を搭載したキャリッジを、ロール紙の搬送方向に対して直交する方向(桁方向)に往復走査させるキャリッジ駆動モーター42、及び、印刷後のロール紙を切断するカッター機構(図示略)を駆動するカッター駆動モーター43を備えている。
CPU10は、不揮発性メモリー12に記憶された制御プログラム(図示略)を読み出して実行することにより、プリンター1の各部を制御して、上記の印刷動作等を実行させる。この印刷動作において、CPU10は、ゲートアレイ14から入力されるデータに基づき、用紙センサー31及びキャリッジ位置センサー32の検出値を取得し、これらの検出値をもとに、モータードライバー15及びヘッドドライバー16を制御して、記録機構40を駆動する。
【0016】
プリンター1において使用可能な記録媒体は、連続紙(ロール紙、ファンフォールド紙等)およびカット紙のいずれであってもよく、1枚のシートからなる用紙の他に、単票複写紙、連続複写紙、冊子を用いることも可能である。また、普通紙のほかに感熱紙や表面にコーティングが付された用紙を用いることができる。本実施形態では、80mm幅または58mm幅の普通紙からなるロール紙を用いる場合を例に挙げて説明する。
プリンター1は、ロール紙の残量が所定以上か否かを検出する用紙センサー31と、後述するキャリッジ駆動モーター42により、ロール紙の幅方向(桁方向)に走査されるキャリッジ(図示略)の桁位置を検出するキャリッジ位置センサー32を備えている。また、これらのセンサーが出力するアナログの出力値をデジタルデータに変換してCPU10に出力するゲートアレイ(G/A)14を備えている。
【0017】
また、プリンター1は、搬送モーター41、キャリッジ駆動モーター42及びカッター駆動モーター43を駆動するモータードライバー15と、記録ヘッド44を駆動するヘッドドライバー16とを備えている。本実施形態では、一例として、搬送モーター41及びカッター駆動モーター43はステッピングモーターとして構成され、モータードライバー15から入力される駆動電流及び駆動パルスに従って動作する。また、キャリッジ駆動モーター42はサーボモーターとして構成され、モータードライバー15から入力される駆動電流及によりキャリッジを移動させる。
【0018】
本実施形態のプリンター1はシリアルドットインパクトプリンターである。記録ヘッド44は、複数の記録ワイヤー(図示略)と、これら記録ワイヤーを記録媒体に向けて打突する突出機構(図示略)とを備え、インリボンカートリッジ(図示略)とともにキャリッジ(図示略)に搭載される。
記録ヘッド44は、ヘッドドライバー16から流れる駆動電流により突出機構を動作させ、インクリボンを介して記録ワイヤーをロール紙に打ち当てることでドットを形成することにより、文字や画像を印刷する。記録ヘッド44を搭載したキャリッジは、キャリッジ駆動モーター42によって、ロール紙の幅方向に往復走査される。キャリッジ駆動モーター42がキャリッジを移動させる移動速度と記録ヘッド44が記録ワイヤーを打突するタイミングとはCPU10によって制御可能であり、これにより、ロール紙に形成されるドットピッチすなわち印刷解像度を調整できる。
【0019】
RAM11は、CPU10が実行するプログラムやデータを一時的に記憶する記憶領域を有し、ホストコンピューター2から受信したデータを一時的に記憶する受信バッファー、印刷する文字や画像をラスターデータに展開して保持するプリントバッファー等として機能する。
不揮発性メモリー12は、CPU10が実行する制御プログラムや、制御プログラムに関する各種設定値などのデータを記憶する。例えば、不揮発性メモリー12には、英数字フォントや日本語フォント等の通常フォント22が記憶され、これらのフォントのデータを用いて文字が印刷される。また、不揮発性メモリー12にはバーコードフォント23が記憶されている。このため、プリンター1は、ホストコンピューター2から受信した印刷ジョブに含まれるバーコードフォントを指定するパラメーターに基づき、バーコードフォント23を使用して、JANコード等の1次元バーコードや2次元バーコードを印刷できる。
さらに、不揮発性メモリー12は、ホストコンピューター2から受信した印刷ジョブに適正でない値のデータが含まれていた場合に、このデータを修正するためのエラー修正用データ24を記憶している。
【0020】
図2は、エラー修正用データ24の構成例を模式的に示す説明図である。
この図2に示す例では、エラー修正用データ24は、印刷ジョブに含まれるデータのうち、1次元バーコード(シンボル画像)のパラメーターが適正でない値であった場合に、これを適正値に修正するためのデータと、バーコードのサイズ設定値が適正でない場合に修正するためのデータとを含んでいる。
CPU10は、印刷ジョブに1次元バーコードのパラメーターが含まれている場合、これらのパラメーターに基づきバーコードフォント23を配列してバーコードを生成する。1次元バーコードのパラメーターは、一般的には0〜9の数字であり、パラメーターとして$等の記号が含まれているとバーコードを印刷できない。このように適正値でないパラメーターが印刷ジョブに含まれていた場合、CPU10は、エラー修正用データ24を参照して、このパラメーターを修正値(図2の例では「1」)に置き換える。この置き換えを行うことで、CPU10は、バーコードを生成できる。
また、印刷ジョブにはバーコードのサイズを指定するデータが含まれ、CPU10は、生成したバーコードを拡大または縮小し、上記データにより指定されたサイズでロール紙に印刷する。但し、ロール紙のサイズ毎に、バーコードや文字を印刷可能な印刷可能領域の大きさが決まっており、CPU10は、現在セットされているロール紙の印刷可能領域を、センサーによる検出、或いはコマンドやディップスイッチによる設定等により取得することができ、この印刷可能領域を超えるサイズが指定された場合には、印刷不可能なためエラーを発生(検出)する。そして、CPU10は、エラー修正用データ24を参照して、バーコードのサイズのデータを修正値(図2の例では「4」)に置き換えて、修正値のサイズに合わせてバーコードを印刷する。なお、現在セットされているロール紙のサイズ、及び、このロール紙のサイズに対応する印刷可能領域に印刷可能なバーコードのサイズは、不揮発性メモリー12またはRAM11に記憶されている。
また、バーコードには桁数が規定されているものがあり、これを超えたデータ数や、足りないデータ数を受信した場合もデータエラー等のエラーを発生する。この場合の修正は、データ数をカットしたり、受信したデータの中の同じものを追加するなどして、規定したデータ数とすればよい。さらに、数字のみなど文字種も規定されているものもあり、異なる文字種のデータを受信した場合も、データエラー等のエラーを発生させ、規定された文字種のデータに置き換えて記録する。
【0021】
エラー修正用データ24には、修正対象のデータに対応付けてエラー要因が定義されている。このエラー要因は、エラーの原因を示す情報であり、具体的にはエラーの原因となったデータの種類である。1次元バーコードのパラメーターを修正した場合、CPU10は、ロール紙に「パラメーターエラー」が発生した旨を印刷する。また、バーコードのサイズのデータを修正した場合、CPU10は、ロール紙に「バーコードサイズオーバー」が発生した旨を印刷する。エラー修正用データ24には、プリンター1が英文フォントを使用する場合であってもエラー要因を印刷できるように、英字印刷用のエラー要因「Parameter Error」、「Width Size Over」も設定されている。
【0022】
また、プリンター1は、ホストコンピューター2から送信される印刷ジョブに従って印刷を行う通常動作モードと、開発モードとを切り換えて実行する。開発モードは、プリンター1のテスト、開発、メンテナンス用の動作モードであり、プリンター1のメンテナンス等を行える作業者が操作する。
動作モードの切替は、(1)ホストコンピューター2からモード切替コマンドを送信する、(2)プリンター1の操作パネル(図示略)において特定の操作を行う、等の方法により行われる。(1)の方法では、ホストコンピューター2からプリンター1へ開発モードコマンドを送信し、このときプリンター1が開発モードでない(通常動作モードである)場合は、プリンター1は開発モードに移行する。一方、開発モードコマンドを受信したときにプリンター1が開発モードであった場合、開発モードを解除して通常動作モードに移行する。この例では1つのコマンドにより開発モードへの移行と開発モードの解除を指示できる。(2)の操作は、通常は行われない特殊な操作であり、例えば、電源スイッチ、用紙送りボタン等の複数の操作子の操作の組み合わせや、これら操作子の操作とロール紙カバーの開閉操作とを組み合わせが挙げられる。
開発モードでは、作業者がプリンター1の動作状態や、プリンター1における各種設定を試行することができるように、プリンター1が種々の情報を提供する。例えば、ホストコンピューター2からプリンター1に送信した印刷ジョブのデータに不適切な値が含まれている場合に、プリンター1はエラーを発生し、さらに、エラーの原因を示す情報と、不適切な値を適切な値に修正した場合の印刷結果とを、ロール紙に印刷する。これにより、作業者が、プリンター1で発生したエラーの原因を知ることができ、かつ、エラーの原因となったデータを適正値にした場合に記録されるバーコードを視認できる。このため、エラー発生時に操作のやり直しをしなくても多くの情報を得ることができ、速やかにデータを修正して正しいバーコードを記録できるという利点がある。このような情報はプリンター1の設定等を行う作業者にとって特に有効であるため、開発モードでのみ印刷されるようになっている。
【0023】
図3は、プリンター1及びホストコンピューター2の印刷動作を示すフローチャートであり、(A)はホストコンピューター2の動作を示し、(B)はプリンター1の動作を示す。
この図3に示す動作において、CPU10は、インターフェイス部13とともに受信手段として機能し、エラー処理手段、及び、記録制御手段としても機能する。
【0024】
ホストコンピューター2は、プリンター1に対する印刷ジョブを送信する際に、まず、バーコードのデータを送信する(ステップS11)。このステップS11で送信されるデータは、QRコード(登録商標)などの2次元バーコードや、2次元バーコードを1次元バーコードに付加したコンポジットシンボルを印刷するためのバーコードの画像データである。従って、1次元バーコードのみを印刷する場合には、ステップS11のデータの送信は行われない。また、2次元バーコードやコンポジットシンボルを印刷する場合であっても、バーコードフォントのみを使用してバーコードを印刷する場合には、ステップS11のデータの送信は不要である。
【0025】
続いて、ホストコンピューター2は、プリンター1に対し、印刷実行を指示するバーコード印刷コマンドと、このコマンドに付随するデータとを送信する(ステップS12)。プリンター1により1次元バーコードを印刷させる場合は、このステップS12で1次元バーコードのパラメーターが送信される。ここでは、説明上、コマンドはパラメーターを含めたものとして説明する。
2次元バーコードまたはコンポジットシンボルを印刷する場合、ステップS11で送信されるバーコードデータとステップS12で送信されるコマンドとの組み合わせは印刷ジョブ(記録用データ)に相当する。また、1次元バーコードを印刷させる場合、ステップS12で送信されるコマンドとデータが印刷ジョブに相当する。
【0026】
ホストコンピューター2が2次元バーコードまたはコンポジットシンボルのバーコードデータを送信した場合、プリンター1のCPU10は、このバーコードデータをインターフェイス部13により受信して、バーコードの画像をRAM11に設けられるバッファーメモリーに格納する(ステップS21)。
また、ホストコンピューター2がバーコード印刷コマンドを送信した場合、CPU10は、このコマンドを受信してバッファーメモリーに格納する(ステップS22)。ここで、バーコード印刷コマンドとともにデータが送信された場合は、このデータをコマンドとともにバッファーメモリーに格納する。
【0027】
CPU10は、バーコード印刷コマンドに応答して、バッファーメモリーに格納したバーコードデータまたは1次元バーコードのパラメーターに基づき、印刷するバーコードの画像データを生成して、RAM11に設けられるプリントバッファーに展開する(ステップS23)。
ここで、CPU10は、ステップS22で展開したデータを、現在セットされているロール紙に印刷可能か否かを判別する(ステップS24)。展開されたバーコードデータのサイズがロール紙の印刷可能領域を超えている場合や、1次元バーコードのパラメーターに異常値が含まれていてバーコードを展開できない場合、或いは、展開された1次元バーコードの桁数が多すぎてロール紙の印刷可能領域を超えている場合等、通常の印刷を行えない場合には、CPU10は印刷不可能と判別し(ステップS24;No)、エラーを発生する(ステップS25)。ここで、CPU10は、エラーが発生した旨を示すコマンドを、インターフェイス部13によってホストコンピューター2に送信してもよいし、プリンター1が備える操作パネル(図示略)のLEDを点灯させてエラーを報知してもよい。
【0028】
CPU10は、現在の動作モードが、開発モードか否かを判別し(ステップS26)、開発モードである場合(ステップS26;Yes)、ステップS25でエラーを発生する原因となったデータを特定し、このデータに対応するエラー要因をエラー修正用データ24から取得する(ステップS27)。続いて、CPU10は、エラーの要因となったデータを、エラー修正用データ24に設定された修正値に置き換えて修正し、修正後のデータに基づくバーコードをプリントバッファーに展開する(ステップS28)。
そして、CPU10は、記録機構40によって、エラー修正用データ24から取得したエラー要因と、修正してプリントバッファーに展開したバーコードとをロール紙に印刷し(ステップS29)、ロール紙を排出口まで搬送してカッター機構によりカットして(ステップS30)、本処理を終了する。
【0029】
また、エラーが発生した場合にプリンター1が通常動作モードであった場合(ステップS26;No)、CPU10はバーコードの印刷を中止して、ステップS30に移行してロール紙を排出し、本処理を終了する。さらに、ホストコンピューター2から受信した印刷ジョブに基づいて展開したバーコードを印刷可能な場合(ステップS24;Yes)、CPU10は、展開したバーコードをロール紙に印刷して(ステップS31)、ステップS30に移行してロール紙を排出する。
【0030】
図4は、プリンター1により印刷される帳票の例を示す図であり、(A)はバーコードのパラメーターが適正値でない場合の例を示し、(B)はバーコードのサイズを指定するデータが適正値でない場合の例を示す。この図4(A)、(B)の例はいずれもプリンター1が開発モードで動作中に、エラーが発生した場合に出力される帳票を示している。
【0031】
図4(A)に示す帳票100には、先頭にエラー要因101が印刷されている。エラー要因101には、エラー修正用データ24に設定されたエラー要因である「Parameter Error」が印刷されている。エラー要因101に続けて、エラー要因データ102が印刷されている。エラー要因データ102は、エラーの原因となったデータ自体であり、この図4(A)の例では、コンポジットシンボルの1次元バーコードのパラメーターに含まれていた「a」と、2次元バーコードのパラメーターに含まれていた記号「|」と「$」がエラーの原因のデータとして印刷されている。
さらに、帳票100には入力データ103が印刷されている。入力データ103はホストコンピューター2から受信したデータ自体を印刷したものであり、1次元バーコード(RSS)と2次元バーコードを組み合わせたコンポジットシンボル(CC−A)を指定するデータと、1次元バーコードのパラメーターと2次元バーコードのパラメーターとが各々記載されている。この入力データ103のパラメーターは、数字0〜1で構成されるべきところ、図4(A)の例では適切でない値「a」、「|」、「$」が含まれている。入力データ103の下には修正データ104が印刷されている。修正データ104は、エラー修正用データ24に基づいて、エラー要因として検出されたデータを適正値に置き換えたデータである。入力データ103の適切でない値「a」、「|」、「$」が、それぞれ「1」に置き換えられている。そして、修正データ104の下方には、この置き換えられた修正データ104に基づいて生成されたコンポジットシンボル105が印刷されている。
【0032】
同様に、図4(B)に示す帳票110には、先頭にエラー要因111「Width Size Over」が印刷されている。エラー要因111に続くエラー要因データ112には、バーコードの印刷サイズを指定するデータ「5」が、エラーの原因のデータとして印刷されている。
また、エラー要因データ112の下方には、1次元バーコード(RSS)と2次元バーコードを組み合わせたコンポジットシンボル(CC−A)を指定するデータと、バーコードの印刷サイズを指定するデータ「5」とが、入力データ113として各々印刷されている。この入力データ113のデータ「5」はロール紙の印刷可能領域を超えており、適切でない値である。そこで、入力データ113の下に、修正データ114として、エラー修正用データ24に基づいて適正な値「4」に置き換えられたデータが記載され、この修正データ114に基づいて生成されたコンポジットシンボル115が印刷されている。
【0033】
以上のように、本発明を適用した実施形態に係るプリンター1によれば、ロール紙に記録する記録機構40と、ホストコンピューター2から少なくともコマンドを含む印刷ジョブを受信し、受信したコマンドに基づいて、記録機構40により、ロール紙にバーコードを印刷する動作、或いは印刷以外の所定の動作(例えば、ロール紙の搬送、カット等)を行い、印刷ジョブに含まれるコマンド、パラメーター或いはデータ(以下、データ等)から適正値でないデータ等を検出した場合にはエラーを発生させ、エラー要因をロール紙に記録し、かつ、検出された適正値でないデータ等を適正値に修正して、修正後のデータ等に基づいてロール紙にバーコードを印刷する。これにより、ホストコンピューター2から受信した印刷ジョブに適正でないデータ等が含まれている場合に、このデータ等をエラーの要因としてロール紙に印刷し、さらに適正でないデータ等を適正値に修正して、修正後のデータ等に基づいてバーコードを印刷する。従って、エラーが発生した場合にロール紙に印刷される情報を見ればエラーの原因を知ることができ、かつ、エラーの原因となったデータ等を適正値にした場合に印刷されるバーコードを視認できる。このため、エラー発生時に操作のやり直しをしなくても多くの情報を得ることができ、速やかにデータ等を修正して正しいバーコードを印刷できる。
この際、データ等が所定の規定された値、または所定の規定された範囲の値から外れている場合、このデータ等を、より近い方の規定値に修正すると、意図としたものにより近い結果を知ることができる。
【0034】
また、プリンター1がホストコンピューター2から受信する印刷ジョブがバーコードフォントを指定するパラメーターを含む場合に、CPU10は、印刷ジョブに含まれるパラメーターのうち適正値でないパラメーターを検出してエラーを発生し、CPU10により検出されたパラメーターを示す情報をロール紙に印刷し、パラメーターを適正値に修正して修正後のパラメーターに基づいてロール紙にバーコードを印刷する。このため、バーコードフォントを指定するパラメーターが適正値でなかった場合に、エラーを発生し、さらに、適正値でないパラメーターを示す情報と、このパラメーターを適正値に修正した場合のバーコードが印刷される。従って、適正でないパラメーターを速やかに修正することができ、また、パラメーターを修正する前に、修正した場合のバーコードを視認できる。
つまり、プリンター1がホストコンピューター2から受信するコマンドは、シンボル画像を印刷することを指定するものであり、パラメーターは、シンボル画像の機能すなわちバーコードを指定するものであり、データは、シンボル画像を形成するデータである。この場合、コマンドに含まれるパラメーター、またはデータのいずれかが、所定の規定された値、または所定の規定された範囲の値から外れているエラーかを検出し、エラー処理手段がエラーを検出した場合、記録制御手段は、エラー処理手段によりエラーとして検出されたパラメーターまたはデータを示す情報を記録媒体に記録し、かつ、エラー処理手段によりエラーとして検出されたパラメーター、またはデータを、所定の規定された値、または所定の規定された範囲の値のいずれかに修正し、修正後の値に基づいてロール紙にシンボル画像の印刷をする。本実施形態では、例として、シンボル画像は、1次元バーコードや2次元コードなどを示す。パラメーターは、シンボル画像の種類や、全体のサイズ、最小バーや最小ピクセルのサイズ、印刷位置、チェックサムや誤り訂正度の種類、文字の種類、などの機能を指定する。上記データはバーコードを画像として印刷するためのデータであり、具体的にはバーコードフォントを指定するデータであって、データ数もコマンド等により指定される。この構成によれば、コマンドに含まれるパラメーター、またはデータのいずれかが、所定の規定された値、または所定の規定された範囲の値から外れているエラーかを検出した場合、適正値でないパラメーターやデータを示す情報と、このパラメーターやデータを適正値に修正した場合のシンボル画像が記録されるので、適正でないパラメーターやデータを速やかに修正することができ、また、パラメーターやデータを修正する前に、修正した場合のシンボル画像を視認できる。
【0035】
また、プリンター1がホストコンピューター2から受信する印刷ジョブがバーコードの印刷サイズを指定するデータを含む場合に、CPU10は、印刷ジョブにより指定されたバーコードの印刷サイズがロール紙の印刷可能領域を超える場合にエラーを発生し、バーコードの印刷サイズを印刷可能領域に収まるサイズに修正して、ロール紙にバーコードを印刷する。このため、指定されたバーコードのサイズが適正でなかった場合に、エラーを検出し、バーコードのサイズが適正値に修正され、修正後のサイズで印刷されるので、バーコードのサイズの誤りを速やかに修正でき、また、実際にホストコンピューター2においてバーコードのサイズのデータを修正する前に、修正後のバーコードを視認できる。
【0036】
また、プリンター1は、通常動作モードと開発モードとを切り替えて実行可能であり、CPU10は、開発モードでエラーが発生した場合に、エラーの原因を示す情報を印刷し、適正値でないデータ等を修正して修正後のデータ等に基づくバーコードを印刷する。また、通常動作モードでエラーが発生した場合、CPU10は、記録機構40による印刷を中止させてロール紙を排紙する。このため、印刷ジョブに適正値でないデータが含まれている場合に、エラーの原因と修正したデータに基づくバーコードの印刷が必要ない場合には印刷動作を停止するだけで済むので、速やかに印刷を再試行できる。
また、プリンター1は、印刷ジョブに基づいて印刷されるバーコードのデータを展開するプリントバッファーをRAM11により形成し、CPU10は、プリントバッファーにバーコードのデータを展開した際に適正値でないデータを検出するので、適正値でないデータを容易に、特別な処理を経ることなく検出することができる。
【0037】
以上、本発明の一実施の形態について説明したが、本発明はこれに限定されるものではない。例えば、上記実施形態では、バーコードフォントを指定するパラメーターが適切でない場合と、バーコードの印刷サイズが印刷可能領域を超える場合を例に挙げて説明したが、本発明はこれに限定されるものではなく、設定コマンドにより指定されたバーコードの高さ、フォントの種類、列数、印刷位置等のデータが適正でない場合にエラーを発生してもよい。また、上記実施形態では、図4(A)、(B)に示したように、ロール紙にエラー要因101、111、エラー要因データ102、112、入力データ103、113、修正データ104、114、及びコンポジットシンボル105、115が、順に印刷される構成を例に挙げて説明したが、印刷順序、印刷書式、フォント等は任意に変更可能である。さらに、上記実施形態では適正値でないデータの例として誤ったバーコードフォントのパラメーターや印刷可能領域を超えるバーコードのサイズを例に挙げて説明したが、データの種類と、適正値の範囲または条件については、プリンター1の仕様等に合わせて任意に変更可能である。
また、上記実施形態では、シンボル画像の一例としてバーコードを挙げて説明したが、本発明はこれに限らない。外部装置から受信したコマンド、または、前記コマンドに含まれるもので、パラメーター若しくはデータのいずれかが、所定の規定された値、または所定の規定された範囲の値から外れている場合に、エラーを検出し、エラーの原因を示す情報を記録媒体に記録し、さらに適正でない値を適正値に修正して、修正後の値に基づいて所定の記録をするようにすることもできる。これにより、エラーが発生した場合に記録媒体に記録される情報を見ればエラーの原因を知ることができ、かつ、エラーの原因となったデータを適正値にした場合に記録される記録結果を視認できる。このため、エラー発生時に操作のやり直しをしなくても、修正するための多くの情報を得ることができ、速やかにコマンド等を修正して意図とした記録結果を得ることができる。また、上記実施形態において、コマンドを修正する動作としては、例えば、パラメーターやデータが2次元バーコードに対応したものであるにもかかわらず、コマンドが1次元のバーコードを示すものであった場合に、エラーを発生し、コマンドを2次元バーコードのものと置き換えて、修正したものを記録することもできる。この際、コマンド、パラメーター或いはデータ等が所定の規定された値、または所定の規定された範囲の値から外れている場合に、より近い方の規定値に修正すると、意図としたものにより近い結果を知ることができる。また、既に受信したコマンド、パラメーター、データ等のうち規定値に該当しているものを、修正値として使用して修正してもよい。
また、上記実施形態では、ロール紙に対して記録ヘッド44を搭載したキャリッジを走査させて印刷するシリアルドットインパクトプリンターを例に挙げて説明したが、本発明はこれに限定されるものではなく、熱昇華型やインクジェット式プリンターに本発明を適用することも可能であり、また、ラインヘッドを有するサーマルプリンターやドットインパクトプリンターに本発明を適用してもよい。その他、他の装置に組み込まれる各種プリンターにも本発明を適用可能である。また、上述の動作を行うCPU10が実行するプログラムは、プリンター1が備える不揮発性メモリー12に限らず、他の記憶装置、記憶媒体や外部装置の記憶媒体に記憶させ、CPU10により読み出して実行する構成としても良い。
【符号の説明】
【0038】
1…プリンター(記録装置)、2…ホストコンピューター(外部装置)、10…CPU(制御部、受信手段、エラー処理手段、記録制御手段)、12…不揮発性メモリー、13…インターフェイス部(受信手段)、24…エラー修正用データ、40…記録機構、44…記録ヘッド。

【特許請求の範囲】
【請求項1】
外部装置に接続可能な記録装置であって、
記録媒体に記録する記録機構と、
前記外部装置から少なくともコマンドを受信する受信手段と、
前記受信手段により受信した前記コマンドに基づいて、前記記録機構により、前記記録媒体に所定の記録、または所定の動作をする記録制御手段と、
前記コマンド、または、前記コマンドに含まれるもので、パラメーター若しくはデータのいずれかが、所定の規定された値、または所定の規定された範囲の値から外れているエラーかを検出するエラー処理手段と、を備え、
前記エラー処理手段が前記エラーを検出した場合、前記記録制御手段は、前記エラーの原因を示す情報を前記記録機構により前記記録媒体に記録し、かつ、前記エラー処理手段により前記エラーとして検出された前記コマンドまたは前記パラメーター、前記データを、所定の規定された値、または所定の規定された範囲の値のいずれかに修正し、修正後の前記値に基づいて、前記記録媒体に所定の記録、または所定の動作をすること、
を特徴とする記録装置。
【請求項2】
前記コマンドは、シンボル画像を記録することを指定するものであり、
前記パラメーターは、前記シンボル画像の機能を指定するものであり、
前記データは、前記シンボル画像を形成するものであり、
前記エラー処理手段は、前記コマンドに含まれる前記パラメーター、または前記データのいずれかが、所定の規定された値、または所定の規定された範囲の値から外れているエラーかを検出し、
前記エラー処理手段が前記エラーを検出した場合、前記記録制御手段は、前記エラー処理手段により前記エラーとして検出された前記パラメーターまたは前記データを示す情報を前記記録媒体に記録し、かつ、前記エラー処理手段により前記エラーとして検出された前記パラメーター、または前記データを、所定の規定された値、または所定の規定された範囲の値のいずれかに修正し、修正後の前記値に基づいて前記記録媒体に前記シンボル画像の記録をすること、
を特徴とする請求項1に記載の記録装置。
【請求項3】
前記パラメーターは、シンボル画像の記録サイズを指定する値を含み、
前記エラー処理手段は、前記パラメーターにより指定されたシンボル画像の記録サイズが前記記録媒体の記録可能領域を超える場合にエラーを検出し、
前記記録制御手段は前記シンボル画像の記録サイズを前記記録可能領域内に収まるサイズに修正して、前記記録媒体に前記シンボル画像を記録すること、
を特徴とする請求項1に記載の記録装置。
【請求項4】
前記記録装置は、通常動作モードと開発モードとを切り替えて実行可能であり、
前記記録制御手段は、前記開発モードで前記エラー処理手段がエラーを検出した場合に、前記エラーの原因を示す情報を前記記録媒体に記録し、かつ、前記エラー処理手段により前記エラーとして検出された前記コマンドまたは前記パラメーター、前記データを、所定の規定された値、または所定の規定された範囲の値のいずれかに修正し、修正後の前記値に基づいて、前記記録媒体に所定の記録、または所定の動作をし、
前記通常動作モードで前記エラー処理手段がエラーを発生させた場合には、少なくとも前記記録機構による記録を中止させること、
を特徴とする請求項1に記載の記録装置。
【請求項5】
前記コマンドに含まれる前記データを、前記記録機構で記録するために展開するバッファーメモリーを備え、
前記エラー処理手段は、前記記録制御手段が前記バッファーメモリーに前記データを展開する際に、前記データが、所定の規定された値、または所定の規定された範囲の値から外れているエラーかを検出すること、
を特徴とする請求項1または4のいずれかに記載の記録装置。
【請求項6】
外部装置に接続可能であり、記録媒体に記録する記録機構を備えた記録装置を制御して、
前記外部装置から少なくともコマンドを受信し、
受信した前記コマンドに基づいて、前記記録機構により、前記記録媒体に所定の記録、または所定の動作をし、
前記コマンド、または、前記コマンドに含まれるもので、パラメーター若しくはデータのいずれかが、所定の規定された値、または所定の規定された範囲の値から外れているエラーかを検出し、
前記エラーの原因を示す情報を前記記録機構により前記記録媒体に記録し、
前記エラーが検出された前記コマンドまたは前記パラメーター、前記データを、所定の規定された値、または所定の規定された範囲の値のいずれかに修正し、修正後の前記値に基づいて、前記記録媒体に所定の記録、または所定の動作をすること、
を特徴とする記録装置の制御方法。
【請求項7】
外部装置に接続可能であり、記録媒体に記録する記録機構と制御部を備えた記録装置を制御するプログラムであって、
前記制御部を、
外部装置から少なくともコマンドを受信する受信手段と、
前記コマンド、または、前記コマンドに含まれるもので、パラメーター若しくはデータのいずれかが、所定の規定された値、または所定の規定された範囲の値から外れているエラーかを検出するエラー処理手段と、
前記受信手段により受信した前記コマンドに基づいて、前記記録機構により、前記記録媒体に所定の記録、または所定の動作をし、
前記エラー処理手段が前記エラーを検出した場合には、前記エラーの原因を示す情報を前記記録機構により前記記録媒体に記録し、かつ、前記エラー処理手段により前記エラーとして検出された前記コマンドまたは前記パラメーター、前記データを、所定の規定された値、または所定の規定された範囲の値のいずれかに修正し、修正後の前記値に基づいて、前記記録媒体に所定の記録、または所定の動作をする記録制御手段と、
して機能させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate