(57)【要約】【課題】 汎用性のあるドライバなどを備えたオペレーティングシステム上で動作可能なアプリケーションソフトによってエラーやホールド後の処理を行えるプリンタを提供する。【解決手段】 エラー要因６２ａ、ホールド要因６２ｂおよびバッファフル５９ａでビジー信号を出力してホスト側にデータ処理が不可能になったことを指示するモード１と、エラー要因６２ａおよびホールド要因６２ｂではビジー信号を出力せずに、これらの要因に対処するコマンドをホスト側から受信できるモード２とビジー要因選択部８２に設け、リアルタイムコマンドに対応したアプリケーションソフト５に対してはモード２を設定し、エラーやオフラインのときにアプリケーションソフト５が通信端末１０の問題解決に関与できるようにする。【選択図】 図２
2004330790.tif 000002
【特許請求の範囲】
【請求項１】
ホスト側から転送されたデータを受信するインタフェースと、
受信した前記データを一次的に格納する受信バッファと、
前記受信バッファに格納された前記データを処理する処理部と、
前記処理部が前記データを処理できないときにビジーをホストに通知する第１のモードと、前記処理部が前記データを処理できないときでもビジーをホストに通知しない第２のモードとを備えたプリンタであって、
前記第１のモードにおいて、前記受信バッファが満杯状態であること、前記処理部にエラーが発生したこと、および前記処理部がホールド状態であることのいずれかによってビジーをホストに通知し、
前記第２のモードにおいて、前記受信バッファが満杯状態であることによってビジーをホストに通知することを特徴とするプリンタ。
【請求項２】
請求項１に代え、前記第２のモードにおいては、前記受信バッファが満杯状態であっても、当該受信バッファ状態を自動ステータス送信部によって前記ホストに通知することにより、前記ビジーを前記ホストに通知しないことを特徴とするプリンタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＯＳシステムに用いられるプリンタに関するものである。
【背景技術】
【０００２】
近年、ハードウェアおよびソフトウェアの処理速度および汎用性が増大している。このため、特定の目的を持った情報処理システムをその処理目的に合わせて開発された専用のハードウェアやソフトウェアを組み合わせて構築する代わりに、汎用性のあるハードウェアやソフトウェアを組み合わせることが多くなっている。汎用性のあるハードウェアやソフトウェアを用いることにより、情報処理システムを安価に構築でき、さらに、その情報処理システムを多目的に用いることができる。また、市販されている多種多用のハードウェアやソフトウェアを組み合わせることにより、ユーザの目的や環境に合致した情報処理システムをフレキシブルに構築することができる。
【０００３】
ＰＯＳシステムもその１例であり、従来のプリンタやキーボードなどが一体化されたＰＯＳ専用機から、パソコンを中心にプリンタ、ディスプレイあるいはドロワなどを接続したＰＯＳシステムが開発され、ユーザに利用されている。
【０００４】
下記特許文献１には、受信バッファが満杯状態になるとホストにビジー状態を出力することが記載されており、特許文献２、３には、エラーが発生した場合にホストに対してデータが受信不可能であることを通知することが記載されており、特許文献４には、エラーが発生した場合に、その状況をホスト側に自動的に送信するプリンタが記載されており、特許文献５には、リアルタイムコマンド解析手段が記載されている。
【０００５】
【特許文献１】特開平６−２２７１０号公報
【特許文献２】特開平６−５１９２２号公報
【特許文献３】特開平２−２８９３７４号公報
【特許文献４】特開平７−１３７３５８号公報
【特許文献５】特開平７−１８６４９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
このようなパソコンを中心とした情報処理システムにおいては、カスタマーディスプレイ、ドロワ、プリンタ、プロッタ、モデム、バーコードリーダなどの多種多用なデータ処理端末が用いられる。これらのデータ処理端末の多くは、シリアル通信ポート（ＲＳ−２３２Ｃ）を介してパソコンに接続され、パソコンをホスト側としてデータ端末との間で処理用のデータあるいはコマンドデータが転送される。従って、転送されるデータやコマンドの互換性を保ち、これらを保護するためにインタフェースの仕様や制御方式は規格化されており、例えば、ホスト側からデータ端末に送られるデータやコマンドが転送途中で欠落するのを防止するためにデータ端末レディ（ＤＴＲ）信号が用意されている。このＤＴＲ信号によって端末側がデータあるいはコマンドを受信可能な状態であるか否かをホスト側に指示できるようになっており、ホスト側は、ＤＴＲ信号を受けるとデータセットレディ（ＤＳＲ）信号を返し、双方が動作可能な状態であることを確認した後にデータやコマンドを送信することによりデータやコマンドが欠落するのを防止している。
【０００７】
ＰＯＳシステムに多用されている通信端末であるターミナルプリンタにおいては、受信バッファが満杯状態、カバーオープンなどの原因によって受信バッファからのデータの取り出しが一時的に停止してしまうホールド状態、または、紙ジャムなどのエラー状態の要因によってＤＴＲ信号がビジーになる。この信号を受けて、ホスト側のプリンタドライバはデータまたはコマンドの送信を一次停止してデータを保護すると共にディスプレイなどにエラーの発生を表示する。そして、プリンタ側におけるこれらの要因がオペレータなどによって解決され、プリンタの機能が正常な状態にリセットされると、オペレータがホスト側およびプリンタ側を操作してデータ通信が再開されて印刷が行われる。
【０００８】
近年のＰＯＳシステム用のターミナルプリンタとして、ロール紙を用いたレシート印字を行う機能に加えて、単票用紙を用いたスリップ印字を行う機能や磁気インク文字を読む機能などの複数の機能を備えたプリンタが登場している。このような複合的な機能を備えたプリンタにおいては、スリップ印字を行うために単票用紙待ちのホールド状態となってＤＴＲ信号がビジーとなり、その後、レシート印字のデータがホスト側で用意できているにもかかわらず印刷処理が進行しないといった事態が発生する。また、プリンタ側で紙ジャムなどのエラーが起こるとＤＴＲ信号がビジーとなりデータ転送を中止する。その後、オペレータがエラーを解決してプリンタをリセットとプリンタに送信されまま印刷されてないデータが欠落したり、データの２重に印刷されるなどに事態が発生する。
【０００９】
これらの事態は、例えばソフトウェアによってプリンタが用紙待ち状態であることを検出したり、プリンタに発生したエラーの種類を検出し、それに対応してデータを再送したり、あるいは、バッファ内のデータを消去するなどの処理を行うことにより解決することができる。しかしながら、汎用的なシルアルポートドライバやプリンタドライバにおいては、ＤＴＲ信号がビジーになるとコマンドを転送することができないので、ホスト側のソフトウェアでは対処できない。ホスト側のソフトウェアで対処するためには、ＤＴＲ信号を無視してシリアル端末にアクセスできる特殊なドライバを作成する必要があり、汎用的なオペレーティングシステムを用いた情報処理システムが構築できなくなってしまう。さらに、ホスト側とシリアル端末との間でＤＴＲ信号などの規格化あるいは標準化されたインタフェース信号と異なる信号によって通信を制御するシステムでは、汎用性のあるハードウェアやソフトウェアを使用できないので、システムの拡張性が失われてしまう。また、ＤＴＲ信号を単に無視してコマンドやデータを送るのでは、転送中にデータが欠落する危険があり、システムの信頼性が低下してしまうのでＰＯＳシステムなどのデータの信頼性が必要とされるシステムは構築できない。
【００１０】
そこで、本発明においては、ホスト側とプリンタ側との間のシリアル転送における規格化あるいは標準化された仕様を変更することなく、ホスト側のソフトウェアによってホールド状態やエラー状態に対処することが可能なプリンタを提供することを目的としている。また、通信端末の汎用性を犠牲にすることなく、ホスト側からホールド状態やエラー状態への関与を可能にした通信端末を提供することを目的としている。さらに、ホールド状態やエラー状態にホスト側が対処できると共に、ホスト側から端末へ転送されるデータの欠落を防止し、信頼性の高い情報処理システムを構築できるプリンタを提供することを目的としている。
【課題を解決するための手段】
【００１１】
本発明のプリンタは、
（１）ホスト側から転送されたデータを受信するインタフェースと、
受信した前記データを一次的に格納する受信バッファと、
前記受信バッファに格納された前記データを処理する処理部と、
前記処理部が前記データを処理できないときにビジーをホストに通知する第１のモードと、前記処理部が前記データを処理できないときでもビジーをホストに通知しない第２のモードとを備えたプリンタであって、
前記第１のモードにおいて、前記受信バッファが満杯状態であること、前記処理部にエラーが発生したこと、および前記処理部がホールド状態であることのいずれか要因によってビジーをホストに通知し、
前記第２のモードにおいて、前記受信バッファが満杯状態であることを要因としてホストに通知することを特徴とする。
（２）  （１）に代え、前記第２のモードにおいては、前記受信バッファが満杯状態であっても、当該受信バッファ状態を自動ステータス送信部によって前記ホストに通知することにより、前記ビジーを前記ホストに通知しないことを特徴とする。
【発明を実施するための最良の形態】
【００１２】
以下に図面を参照して本発明の実施の形態を説明する。図１に、本発明に係る通信端末の例として、ＰＯＳシステムを構築するのに好適なターミナルプリンタを示してある。本例のターミナルプリンタ１０は、スリップ紙１９、ジャーナル紙１８およびレシート紙１７を記録紙として印刷できるプリンタである。スリップ紙１９は不定型の伝票用紙などの単票用紙であり、プリンタ１０の手前のスリップ紙挿入口２１から矢印１９Ａの方向に挿入すると、不図示の紙検出器がスリップ用紙を検出し、ケース１５内の紙経路を通って印刷ヘッド１に導かれる。そして、印刷ヘッド１が左右の方向１Ａに動いて印刷が行われ、さらに矢印１９Ｂの方向に動いて排出される。本例のプリンタ１０は、ワイヤドットタイプの印刷ヘッド１が採用されており、インクリボン３を介してスリップ紙１９や、後述するジャーナル紙１８およびレシート紙１７に印刷を行う。
【００１３】
ジャーナル紙１８およびレシート紙１７は共に連続用紙であり、本例のプリンタ１０ではロール紙の状態で供給されており、印刷ヘッド１に対してスリップ用紙１９と反対の方向からケース１５内を通って印刷ヘッド１に導かれる。レシート用紙１７は領収書としての情報が印刷された後、カッターユニット１４に導かれてカットされ客先に渡さるようになっている。ジャーナル紙１８は、記録用紙としての情報が印刷され、不図示の巻き取り装置に巻き取られ保管される。それぞれのロール紙１７および１８には、ロール紙の終わりを検出するニアエンド検出器２０が装着されている。ニアエンド検出器２０は、ロール紙の外径により矢印２０Ａの方向に揺動する検出レバー２０ａと、この検出レバー２０ａによりオンオフするスイッチ２０ｂを備えている。ロール紙が終わりに近づいて外径が小さくなると検出レバー２０ａが内側に揺動し、その結果、スイッチ２０ｂがオフとなってロール紙の終わりが近いことを検出できる。
【００１４】
プリンタ１０のケース１５には、図示されていないがカバーが装着されており、ロール紙１７あるいは１８、またはインクリボン３を交換するなどの場合を除きカバーをケース１５に被せた状態で印刷が行われるようになっている。このため、カバーの開閉を検出するためのカバー検出器２２がケース１５に装着されており、カバーが開けられると自動的にホールド状態となって印刷機能を一時停止するなどの処理が取れるようになっている。
【００１５】
図２に、パソコン３０をホスト側とし、本例のターミナルプリンタ１０を通信端末として用いて構成したＰＯＳシステムの一例を示してある。このＰＯＳシステムにおいては、パソコン３０のシリアル通信ポート（ＲＳ−２３２Ｃ）ドライバ３１を介してカスタマディスプレイ４０、ターミナルプリンタ１０およびキャッシュドロワ４５がシリアルに接続されており、ＲＳ−２３２Ｃを介してこれら３つのデータ端末にデータを送信して処理できるようになっている。このため、本例のパソコン３０のオペレーティングシステム３２は、シリアル通信ポートドライバ３１に加え、ＰＯＳ用のオペレーティングシステム（ＯＳ）３３と、キーボードやディスプレイなどのパソコン３０を一般に構成する機器およびそれらを制御するアプリケーションソフトウェアを制御する基本ＯＳ３４とを備えている。ＰＯＳ用のＯＳ３３は、プリンタ１０、カスタマディスプレイ４０およびキャッシュドロワ４５の制御用のＯＳ３５と、プリンタ１０をレシートあるいはジャーナル用紙といった連続用紙に印刷するレシート印刷用のドライバ３６と、プリンタ１０をスリップ用紙を用いて印刷するスリップ印刷用のドライバ３７と、カスタマディスプレイ４０を制御するためのドライバ３８と、さらに、キャッシュドロワ４５を制御するためのドライバ３９を備えている。
【００１６】
パソコン３０のＰＯＳ用アプリケーションソフトウェア５および表計算などのその他のアプリケーションソフト６は基本ＯＳ３４およびＰＯＳ用ＯＳ３３の制御の下で動作する。また、カスタマディスプレイ４０、ターミナルプリンタ１０およびキャッシュドロワ４５との間のデータの送受信は、ドライバ３６〜３９、ポートドライバ３１およびその他の汎用ＯＳ３３を介して行われる。
【００１７】
ＲＳ−２３２Ｃポートドライバ３１には、カスタマディスプレイ４０のインタフェース４１、ターミナルプリンタ１０のインタフェース５１およびキャッシュドロワ４５のインタフェース４６がこの順番に接続されている。ポートドライバ３１から出力されたそれぞれの端末に対するデータあるいはコマンドは、これらのインタフェースによって選別される。カスタマディスプレイ４０に対するデータおよびコマンドはディスプレイ処理部４２によって処理され、ドロワ４５に対するコマンドはドロワ処理部４７によって処理される。
【００１８】
ターミナルプリンタ１０においては、インタフェース５１に受信されたデータがプリンタ１０に対するデータであると割り込みが発生してデータ受信部５２がインタフェースからデータを取り出す。インタフェース５１から取り出されたデータは同様の割り込み処理の中でリアルタイムコマンド解析部５３を通ってリアルタイムコマンドが解析された後、受信バッファに格納される。リアルタイムコマンド解析部５３は、データ受信部５２から送られたデータの中に含まれたリアルタイムコマンドを認識すると、そのコマンドに基づき予め設定された処理を行う。リアルタイムコマンド解析部５３を通って受信バッファ５４に格納されたデータは、コマンド解析部５５によって１データずつ取り出され、データコードが解析された後、コマンドデータであれば制御部５７によってそのコマンドに従った処理が行われ、印刷データであればプリンタバッファ５６に収納される。次に、制御部５７は、コマンドに従って印刷処理部６０の制御を行うと共に、プリンタバッファ５６に記憶された印刷データを印刷処理部６０に送って印刷を行う。
【００１９】
制御部５７は、印刷処理部６０の設定および制御、さらに印刷データの管理などの他に、プリンタ１０の各部の状況を監視する機能も備えており、その結果がコモンステータス検出部５９に出力される。例えば、受信バッファ５４が満杯に近い状態であったり、単票用紙待ちの状態であるとその状況（ステータス）がコモンステータス検出部５９に与えられる。また、印刷処理部６０においても、プリンタ機構６１の状態、例えば、カバーが開放されてデータ処理が一時的に中止されたホールド状態、紙ジャムなどのエラー状態、あるいはロール紙のニアエンド検出などのステータスがステータス検出部６２に与えられるようになっている。
【００２０】
コモンステータス検出部５９およびプリンタ機構のステータス検出部６２において検出されたステータスはステータス送信部７０のステータスデータ生成部７２に供給される。ステータス送信部７０は、ステータスデータ生成部７２に集められたプリンタ機構６１のステータスおよび受信バッファの状況などのプリンタ１０に係わるその他のステータスを自動ステータス送信部７１によってホスト側に発信する機能を備えている。自動ステータス送信部７１は、制御部５７の制御の下に所定のステータスの状態が変化したときにそのステータスデータを送信するようになっており、状態が変化してステータスデータを送信するトリガとなるステータスは選択できるようになっている。自動ステータス送信部７１から出力されたステータスデータはデータ送信部５８を介してインタフェース５１に供給され、ホスト側のＲＳ−２３２Ｃポートドライバ３１に送られる。そして、プリンタドライバなどを備えたＰＯＳ用ＯＳ３３を介してアプリケーションソフト５に伝達され、アプリケーションソフト５がプリンタ１０に発生した状況にマッチした処理を選択してプリンタ１０に指示できるようになっている。
【００２１】
このようなステータス送信部７０を設けておくことにより、プリンタ機構やターミナルプリンタ１０の状況が変化するとステータスデータがアプリケーション５側に伝達されるのでアプリケーション側でターミナルプリンタ１０の全体の状況を把握することができる。また、状況が変化したときにだけステータスデータを送信するようにできるので、ステータスデータの送受信に係わるホスト側およびターミナルプリンタ側における処理負荷が軽減され、シリアル転送におけるスループットを向上できる。
【００２２】
コモンステータス検出部５９における受信バッファが満杯であることを示すステータス（以降においてバッファフルステータス）５９ａ、プリンタ機構６１のステータス検出部６２におけるエラー要因（エラーステータス）６２ａおよびホールド要因（ホールドステータス）６２ｂは通信許可部８０のビジー要因選択部８２にも供給される。そして、バッファフル５９ａ、エラー６２ａあるいはホールド６２ｂのいずれかの要因が検出されると、ビジー設定部８３がインタフェース５１に対しビジー信号を出力してホスト３０の側にデータ送信の禁止を指示し、送信されたデータがデータ端末側、すなわちターミナルプリンタ１０の側で処理されずに欠落するのを防止している。ＲＳ−２３２Ｃを介してデータをシリアル転送する場合は、ＤＴＲ（データ端末レディー）信号がビジー信号の機能を果たすために用意されており、ホスト側のＲＳ−２３２Ｃポートドライバ３１、あるいはプリンタドライバ３６および３７は、ＤＴＲ信号が高レベルのときのみデータ送信を行い、ターミナルプリンタ１０がビジーになってＤＴＲ信号が低レベルになるとデータ送信を停止するようになっている。
【００２３】
ニアエンド検出などの所定のステータスが変化してステータスデータが送信されると、アプリケーション５からターミナルプリンタ１０にステータスを確認するコマンドや、送られたステータス以外のプリンタの状況を把握するために全てのステータスデータの送信を指示するコマンドを出力するようにできる。従来のターミナルプリンタにおいては、このコマンドは受信バッファ５４に印刷データと共に蓄えられ、データ処理が進んでコマンドを解析する順番になるとそのコマンドに従った処理が行われる。このため、受信バッファ５４にデータが蓄積されているとコマンドの処理に非常に時間がかかる。さらに、受信バッファ５４がフルのときにコマンドを送信しても受信バッファ５４に受け入れられないのでコマンドは実施されない。
【００２４】
そこで、本例のターミナルプリンタ１０においては、リアルタイムコマンド解析部５３を設けてあり、リアルタイムコマンドが送信された場合は、受信バッファ５４に転送される前に解析してリアルタイムコマンドに従った処理が行えるようにしている。リアルタイムコマンドは、例えば、「ＧＳ」＋「Ｒ」の２バイトの受信データによって判別され、この２バイトに続く１バイトの値ｎによりプリンタにおいて実行される処理内容が指示される。ｎにより指示される処理内容は、例えば次の表１に示されるようなものがある。
【００２５】
【表１】
2004330790.tif 000003
このように、リアルタイムコマンド解析部５３においては、コマンド解析部５５と異なり、データ受信部５２によって受信されたコマンドを直に解析して処理できる。従って、リアルタイムコマンドで指示された処理は、受信バッファ５４において処理を待っているデータあるいはコマンドの順番とは係わりなくリアルタイムで行われる。また、受信バッファ５４が満杯になって受信されたデータやコマンドが受信バッファ５４に格納できない状況であっても、リアルタイムコマンドが解析されずに欠落することはないので、リアルタイムコマンドによって指示された処理は確実にターミナルプリンタ１０の側において実行される。例えば、ｎ＝０のリアルタイムコマンドは、プリンタステータスの送信要求であり、リアルタイムコマンド解析部５３は、ステータスデータ生成部７２に集められた各ステータスデータをデータ送信部５８を介してホスト３０のアプリケーション５に送信する。もちろん、リアルタイムコマンド解析部５３が自動ステータス送信部７１を制御して同様の処理を行っても良い。このように、本例では、リアルタイムコマンドを用いてターミナルプリンタ１０を制御することが可能であり、受信バッファ５４を介してコマンド解析部５５によって解析されたコマンドと同様の処理を時間遅れなく行うことができる。
さらに、リアルタイムコマンドはターミナルプリンタ１０において受信バッファ５４に起因する時間遅れなしに処理されるので、エラー要因を解除したり、あるいは、スリップ用紙がセットされていないためにホールド状態となっているときにスリップ印刷を解除してレシート印字を開始するなどといったフレキシブルな処理をアプリケーション５の側でコントロールすることが可能になる。
【００２６】
しかしながら、ターミナルプリンタ１０でエラーが発生したり、ホールド状態となると、通信許可部８０のビジー要因選択部８２においてビジーと判断される。このため、通信許可部８０においては、ビジー信号設定部８３においてＤＴＲ信号が低レベルとなる。従って、ホスト側のＯＳ３３はターミナルプリンタ１０に対するデータ転送を中止するので、ホストのアプリケーション５がリアルタイムコマンドをターミナルプリンタ１０に送信しようとしてもホスト３０からターミナルプリンタ１０に送信されず、ターミナルプリンタ１０のリアルタイムコマンド解析部５３にコマンドが到達しない。従って、アプリケーション５がリアルタイムコマンドを使用する機能を備えており、ターミナルプリンタ１０がリアルタイムコマンドを解析する機能を備えていても、上記のようにビジー要因と重なるとリアルタイムコマンドを用いた処理が行えず、リアルタイムコマンドの実質的な機能が制限される。
【００２７】
ホスト側のＯＳ３２を用いずに、アプリケーション５で直にシリアルポートを制御したり、あるいはリアルタイムコマンドを使用するアプリケーション５のために専用のＯＳ（プリンタドライバなど）を作成してパソコンに導入することも可能である。しかしながら、ＯＳ３２を用いずにアプリケーション５を作成するのは非常に手間と時間のかかる作業であり、特に、ＯＳ３２の機能を利用しない場合は各メーカのパソコン用に独自のプログラムを開発する必要がある。また、ドライバなどの機能を取り込むとアプリケーション５自体が非常に大きく高価なものになる。従って、ＯＳ３２を用いずに各メーカのパソコンでそれぞれ動くリアルタイムコマンド用対応のＰＯＳアプリケーションソフトを作成することは現実的に無理である。また、特殊のＯＳを導入すると、表計算などの他のアプリケーションソフトが使用できないので、システムの拡張性がなくなり、ユーザの環境や目的に合わせてカスタマイズすることも難しくなってしまう。
【００２８】
また、ターミナルプリンタ１０からＤＴＲ信号のビジー機能を削除して、ステータス送信部７０から送信されたステータスデータのみでターミナルプリンタに対するデータの信頼性を確保することも可能である。しかしながら、そのようなターミナルプリンタでは、ステータスデータを解析できないアプリケーションプログラムに対しては使用できず、汎用性がなくなってしまう。さらに、リアルタイムコマンドを用いないアプリケーションプログラムに対してはＤＴＲ信号の機能を削除するメリットは認められず、シリアル転送されるデータを保護するという点ではＤＴＲ信号の機能を保持しておく必要がある。
【００２９】
そこで、本例のターミナルプリンタ１０においては、通信許可部８０のビジー要因選択部８２でビジー信号を出力する要因を選択できるようにしており、エラー６２ａ、ホールド６２ｂおよびバッファフル５９ａのいずれかが発生するとビジーと判断するモード１と、エラー６２ａおよびホールド６２ｂはビジーと判断せずに、バッファフル５９ａのみをビジー要因とするモード２のいずれかを選択できるようにしてある。バッファフルの場合は、その後に送信されたデータが欠落する恐れがあるのでビジー要因に残してあるが、自動ステータス送信部７１によってバッファフルがホストのアプリケーション側に伝達され、リアルタイムコマンドなどを用いてデータの欠落を防止できるにすれば、モード２においてはビジー信号を出力しないようにすることも可能である。
【００３０】
本例のターミナルプリンタ１０は、このようなモード１およびモード２をディップスイッチを用いたスイッチ部８１で設定できるようになっている。さらに、本例のターミナルプリンタ１０においては、ディップスイッチ８１によってモード２を選択すると自動的に、自動ステータス送信部７１の制御をホールド要因が発生したときにステータスデータを送信するように設定している。これにより、ホールド要因が発生してＤＴＲ信号が低レベルに変化、すなわちビジーにならなくとも、ホストのアプリケーション５がステータスデータによってホールド状態であることを把握できるので、データの欠落などを防止する処理を取ることができる。従って、ＤＴＲ信号の機能からホールド要因を削除してもデータ転送の信頼性を確保することができる。もちろん、エラー要因が発生した場合に自動ステータス送信部７１からステータスをアプリケーション５に送り、エラー要因に応じた対処をリアルタイムコマンドによってプリンタに指示してデータの信頼性を高めた処置をとることも可能である。
【００３１】
このように、本例のターミナルプリンタ１０は、リアルタイムコマンドに対応したアプリケーションの下では、ディップスイッチ８１によってビジー要因選択部８２をモード２にセットし、ホールドやエラーではビジー信号設定部８３においてＤＴＲ信号が低レベルにならないようにすることが可能である。このため、ホールド中やエラー中にリアルタイムコマンドを有効に活用してアプリケーション５にいっそうフレキシブルな処理機能を持たせることができる。一方、リアルタイムコマンドに対応していないアプリケーションの下では、ディップスイッチ８１によってビジー要因選択部８２をモード１にセットし、ホールド、エラーおよびバッファフルといった通常の要因でＤＴＲ信号を低レベルにし、転送データの保護を図ることができる。なお、モード１およびモード２の切替えは、ソフトスイッチによって行うことももちろん可能であり、ターミナルプリンタ１０を用いるアプリケーションの種類によって、ホスト側からビジー要因選択部８２の設定を随時変えることも可能である。
【００３２】
図３に本例のターミナルプリンタ１０の通信許可部８０を用いてビジー信号を出力する処理を示してある。通信許可部８０においては、ステップ９１、９２および９３でエラー要因、ホールド要因およびバッファフルを検出する。そして、ステップ９１および９２でエラー要因およびホールド要因を検出すると、ステップ９４においてモード選択部８１に設定されたモードを判断する。モード設定部８１においてモード２がセットされていると、ステップ９６において自動ステータス送信部７１を用いてエラー要因あるいはホールド要因をホスト側に送る。
しかしながら、ビジー信号は発生させない。一方、ステップ９４においてモード１がセットされているか、あるいはステップ９３においてバッファフルが検出されると、ステップ９５に移行し、ビジー信号を発生させてホスト側に送信し、ホスト側からのデータの転送を停止させる。
【００３３】
このように、本例のターミナルプリンタ１０は、ＲＳ−２３２Ｃを介して送信されたデータが印刷処理部６０で処理できなくなった場合に、ビジー信号であるＤＴＲ信号を低レベルにするモード（モード１）と、ＤＴＲ信号を低レベルにしないモード（モード２）を切換できるようになっている。従って、ホスト側のアプリケーションソフトがリアルタイムコマンドなどの機能を有し、ターミナルプリンタ１０でデータ処理ができない時に対処するコマンドを送信可能なソフトウェアであるときは、ターミナルプリンタをモード２に設定する。これによって、エラー要因やホールド要因が発生してもアプリケーションソフトによってターミナルプリンタを操作できるようになるので、アプリケーションソフトウェアによってエラー要因やホールド要因に対応した処置が安全に、そして確実に行うことができる。従って、オペレータの労力を軽減し、ＰＯＳで管理される売上データなどの諸データの安全性を確保することができる。一方、リアルタイムコマンドなどの制御機能を持たないアプリケーションソフトによってターミナルプリンタを用いるときは、モード１に設定することによりＤＴＲ信号を用いてホスト側との通信を管理できデータの安全性を従来と同様に確保することができる。
【００３４】
さらに、ＤＴＲ信号の要因をターミナルプリンタ側で設定できるようにすることにより、ＤＴＲ信号に関連するホスト側のＯＳの仕様を変更しなくとも上記のようにリアルタイムコマンドの機能を十分に活用することができる。従って、ＰＯＳシステムなどのシステムを構築する際にアプリケーションソフトの汎用性およびプリンタの汎用性を減じることなく、アプリケーションソフト側からエラーやホールドの状態となったターミナルプリンタに関与し処理できるシステムを構築することができる。
【００３５】
なお、上記においては、ＰＯＳシステムを構築する際に好適なターミナルプリンタ１０を通信端末の例として本発明を説明してあるが、通信端末はターミナルプリンタに限定されることはなく、プロッタ、スキャナーさらにはモデムなどのシリアルインタフェースに接続可能な通信端末、また、パラレルインタフェースに接続されるプリンタなどに対し本発明を適用できることは勿論である。そして、これらの通信端末に対し本発明を適用することにより、送信されたデータの処理ができない状態になった場合でも、ホスト側のアプリケーションプログラムを通信端末の問題解決に関与させることが可能になる。従って、通信端末側にエラー要因などが発生した場合にオペレータに処理を一任するのではなく、アプリケーション側で対処することができる。そして、オペレータの労力を軽減すると共にミスオペレーションの危険をなくし、より安全で信頼性の高いシステムを、パソコンや汎用ＯＳといった汎用性が高く、カスタマイズが容易で安価なハードウェアやソフトウェアを用いて構築することが可能になる。
【図面の簡単な説明】
【００３６】
【図１】本発明の実施の形態に係るターミナルプリンタの概略構成を示す斜視図である。
【図２】図１に示すターミナルプリンタおよびパソコンを用いたＰＯＳシステムの概略構成を示すブロック図である。
【図３】本例のターミナルプリンタの通信許可部を用いてビジー信号を出力する処理を示すフローチャートである。
【符号の説明】
【００３７】
１・・印刷ヘッド
５、６・・アプリケーションプログラム
３・・リボンカセット
１０・・ターミナルプリンタ
１７・・レシート用紙
１８・・ジャーナル用紙
１９・・スリップ用紙
２０・・ニアエンド検出器
２２・・カバー検出器
３０・・パソコン（ホスト）
３１・・シリアルポートドライバ
３２・・オペレーティングシステム
３３・・ＰＯＳ用ＯＳ
３４・・基本ＯＳ
３６〜３９・・ドライバ
４０・・カスタマディスプレイ
４１、４６・・インタフェース
４２、４７・・処理部
４５・・キャッシュドロワ
５１・・プリンタインタフェース
５２・・データ受信部
５３・・リアルタイムコマンド解析部
５４・・受信バッファ
５５・・コマンド解析部
５６・・プリンタバッファ
５７・・制御部
５８・・データ送信部
５９・・コモンステータス検出部
５９ａ・・バッファフル要因
６０・・印刷処理部
６１・・プリンタ機構
６２・・ステータス検出部
６２ａ・・エラー要因
６２ｂ・・ホールド要因
７０・・ステータス送信部
７１・・自動ステータス送信部
７２・・ステータスデータ生成部
８０・・通信許可部
８１・・モード選択部（スイッチ部）
８２・・ビジー要因選択部
８３・・ビジー信号設定部
【図１】
2004330790.tif 000004
【図２】
2004330790.tif 000005
【図３】
2004330790.tif 000006