(57)【要約】【課題】通信端末がオフライン状態等でその動作を停止しているときに、ホスト装置から各種データを効率よく受信バッファに格納し、受信バッファフルに成り難くすること。【解決手段】受信バッファの内容を入力順に解析するデータ解析部と、解析済みのコマンドを記憶するアクションバッファと、アクションバッファのコマンドを記憶順に実行する実行部とを設けて、データ解析部は実行部が停止状態のときでも解析動作を継続し、データ解析によりリアルタイムコマンドと確認されたら、そのコマンドはアクションバッファに記憶せず廃棄する。【選択図】図２
2011016376.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置との間でデータの通信を行うインタフェース手段と、
データを記憶する記憶手段と、
前記インタフェース手段が受信した受信データを前記記憶手段に格納する第１のデータ処理手段と、
前記記憶手段に格納された前記受信データを格納された順に読み出し、及び解釈する解釈手段と、
前記解釈手段により解釈された受信データから所定のデータを検出する検出手段と、
前記検出手段により検出された前記所定のデータを除き、前記解釈手段によって解釈された受信データに基づき、これに対応する制御情報を解釈された順に前記記憶手段に格納する第２のデータ処理手段と、
前記記憶手段に格納された前記制御情報に基づいて当該通信端末装置の制御を行う第１の制御手段と、を有することを特徴とする通信端末装置。
【請求項２】
請求項１記載の通信端末装置において、
前記解釈手段によって読み出された前記受信データを、前記記憶手段から削除する削除手段、
をさらに有することを特徴とする通信端末装置。
【請求項３】
請求項１記載の通信端末装置において、
前記記憶手段は、前記受信データを格納するための第１の領域と、前記制御情報を格納するための第２の領域とを有することを特徴とする通信端末装置。
【請求項４】
請求項１記載の通信端末措置において、
前記制御情報は印刷制御情報及び印刷データを含み、
前記第２のデータ処理手段は、前記印刷制御情報と前記印刷データとを関連付けて格納することを特徴とする通信端末装置。
【請求項５】
請求項４記載の通信端末装置において、
前記記憶手段は当該印刷制御情報を格納するための印刷制御情報領域と、当該印刷データを格納するための印刷データ領域とを有し、
前記第２のデータ処理手段は、前記印刷制御情報に関連した前記印刷データが格納される前記印刷データ領域内のアドレスを当該印刷制御情報に付加して、前記印刷制御情報領域に格納することを特徴とする通信端末装置。
【請求項６】
請求項１記載の通信端末装置において、
前記受信データの内から前記所定のデータを、前記第１のデータ処理手段によって前記記憶手段に格納される前に、検出するデータ検出手段と、
当該データ検出手段によって検出された当該所定のデータに応じて、前記第１の制御手段よりも高い優先順位で、当該通信端末装置の制御を行う第２の制御手段と、
を有することを特徴とする通信端末装置。
【請求項７】
請求項６記載の通信端末装置において、
前記第２の制御手段は、前記所定のデータに応じて、前記ホスト装置に当該通信端末装置のステータスデータを送信することを特徴とする通信端末装置。
【請求項８】
請求項１記載の通信端末装置において、
通信端末装置の所定の状態を検出する状態検出手段と、
前記状態検出手段の検出結果に応じて前記第１の制御手段の動作を停止する停止手段とを有し、
前記解釈手段は、前記第１の制御手段が停止状態であっても、前記受信データの解釈を行うことを特徴とする通信端末装置。
【請求項９】
（ａ）ホスト装置との間でデータの通信を行う工程と、
（ｂ）工程（ａ）において受信した受信データを格納する工程と、
（ｃ）工程（ｂ）において格納された前記受信データを格納された順に読み出し、及び解釈する工程と、
（ｄ）工程（ｃ）において解釈された受信データから所定のデータを検出する工程と、
（ｅ）工程（ｄ）において検出された前記所定のデータを除き、工程（ｃ）において解釈された受信データに基づき、これに対応する制御情報を解釈された順に格納する工程と、
（ｆ）工程（ｅ）において格納された前記制御情報に基づいて当該通信端末装置の制御を行う工程と、を有することを特徴とする受信データの処理方法。
【請求項１０】
請求項９記載の方法において、
（ｇ）工程（ｃ）において読み出された前記受信データを、その格納場所から削除する工程、
をさらに有することを特徴とする方法。
【請求項１１】
請求項９記載の方法において、
工程（ｂ）においては、前記受信データを第１の格納場所に格納し、工程（ｅ）においては、前記制御情報を前記代１の格納場所とは異なる第２の格納場所に格納することを特徴とする方法。
【請求項１２】
請求項９記載の方法において、
前記制御情報は印刷制御情報及び印刷データを含み、
工程（ｅ）においては、前記印刷制御情報と前記印刷データとを関連付けて格納することを特徴とする方法。
【請求項１３】
請求項１２記載の方法において、
工程（ｅ）は、
（ｅ１）前記印刷データを格納する工程と、
（ｅ２）当該印刷データの格納アドレス情報を当該印刷データに関連した前記印刷制御情報に付加する工程と、
（ｅ３）当該印刷制御情報と前記格納アドレス情報とを前記印刷データの格納領域とは異なる領域に格納する工程と、を有することを特徴とする方法。
【請求項１４】
請求項９記載の方法において、
（ｈ）前記受信データの内から前記所定のデータを、工程（ｂ）において格納される前に、検出する工程と、
（ｉ）工程（ｈ）において検出された当該所定のデータに応じて、工程（ｆ）よりも高い優先順位で、当該通信端末装置の制御を行う工程、
を有することを特徴とする工程。
【請求項１５】
請求項１４記載の方法において、
工程（ｉ）は、
（ｉ１）前記所定のデータに応じて、前記ホスト装置に当該通信端末装置のステータスデータを送信する工程を有することを特徴とする方法。
【請求項１６】
請求項９記載の方法において、
（ｊ）通信端末装置の所定の状態を検出する工程と、
（ｋ）工程（ｊ）における検出結果に応じて工程（ｆ）における処理を停止する工程とを有し、
少なくとも工程（ｃ）乃至（ｅ）における処理は、工程（ｋ）にかかわらず、行われることを特徴とする方法。
【請求項１７】
請求項９乃至１６の何れか１項に記載の受信データの処理方法をコンピュータを用いて実現するための制御プログラムを有するコンピュータプログラムプロダクト。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動現金預貯金機（ＡＴＭ）、自動現金引出機（ＣＤ）、ＰＯＳシステム、コンビニエンスストア等に設置されるいわゆるＫＩＯＳＫ端末装置等に使用される印刷装置、表示装置、現金受け入れ装置等の各種通信端末装置に関するものであり、特に受信データの一時格納をおこなう場合の当該受信データの処理に関するものである。
【背景技術】
【０００２】
従来、ＡＴＭ、ＣＤ、ＰＯＳ端末装置及びＫＩＯＳＫ端末装置等は、その内部にパーソナルコンピュータ（以下ＰＣと略称する）のような主制御装置（又は、ホスト装置）の他、印刷装置、各種表示装置、現金収納装置、バーコードリーダー等の各種機能を有する端末装置を複数有している。このホスト装置は、ＡＴＭ、ＰＯＳ等の装置（以下本体装置と呼ぶ）の全体を動作を統一的に制御する他、内蔵している上記各種端末装置の其々の動作も制御する。具体的には、ホスト装置は、端末装置へ制御コマンドその他のデータを送信することにより端末装置の動作を制御する。本体装置内部に設けられた各種端末装置の多くは、シリアルポート（ＲＳ―２３２Ｃ）等を介してホスト装置に接続され、コマンドや処理用データが転送される。
【０００３】
これらの装置にはそれぞれインタフェース回路が設けられ、通信を制御するための制御線が用意されている。例えば、データ端末レディ（ＤＴＲ）信号によって端末装置側がデータの受信が可能な状態であるか否かをホスト装置に表明できるようになっており、ホスト装置側は、ＤＴＲ信号がアクティブ（活性状態）になるとデータセットレディ（ＤＳＲ）信号をアクティブとし、双方が動作可能な状態であることを確認した後にデータを送信することにより、データの欠落を防止している。本明細書では、上述のような端末装置を「通信端末装置」と呼ぶことにする。
【０００４】
従来、ターミナルプリンタ（以下単にプリンタと称す）などの通信端末装置においては、ホスト装置から受信したデータを受信バッファに格納する。格納された受信データは、コマンド解析手段により格納された順に解析され、解析の結果コマンドであればそのコマンドが実行されて、受信バッファから消去される。
【０００５】
また、もしカバーオープン、印字用紙のジャムその他の理由により通信端末装置が動作を停止しているとき（以下オフライン状態と称す）には、上述のコマンド解析手段はその解析及び実行動作を停止する。従って、オフライン状態のときにホスト装置から各種データが送信されてくると、受信バッファ内のデータ処理が行われないために、すぐに受信バッファが満杯（受信バッファフル）になってしまう。
【０００６】
受信バッファフルになると、その後受信したデータは受信バッファに格納できないためにそのまま廃棄されてしまう。このような状態を防止するために、通信端末装置は、受信バッファフルになるとＤＴＲ信号をインアクティブにして、ホスト装置からのデータの送信を禁止する。
【０００７】
一方、通信端末装置がオフライン状態になると、ホスト装置は通信端末装置の状況（ステータス）を確認し、その状況に応じて各種対応処理を実行する必要がある。このためにはホスト装置は、オフライン状態であっても通信端末装置に制御コマンドを送りこみ、そのステータスをホスト装置に報告させる等の動作を通信端末装置に実行させる必要がある。そのために、特別な制御データ（以下リアルタイムコマンドと称す）を設け、リアルタイムコマンドを受信したら直ちにそのコマンドを実行し、その後に受信バッファに格納するようにした通信端末装置も存在する。実行後のリアルタイムコマンドを受信バッファに格納するのは、リアルタイムコマンドとして処理したそのコード列が、実は画像データ等のバイナリデータの一部であった場合に、そのバイナリデータの欠落を防止するためである。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、オフライン状態となったらホスト装置のソフトウェアは、通信端末装置の現況を詳細に知る必要があるために頻繁にリアルタイムコマンドを送信することになる。この場合、リアルタイムコマンドは、受信後すぐに実行される一方、受信バッファにも格納される。
【０００９】
他方、コマンド解析手段はオフライン状態のときには受信バッファに格納されているデータの解析は行わないので、受信バッファはホスト装置から送信されるリアルタイムコマンド等の送信データで、すぐに受信バッファフルの状態になってしまう。このようにして、受信バッファフルの状態になったらホスト装置からデータの送信ができなくなるため、以後ホスト装置のソフトウェアによる制御ができなくなる。
【００１０】
この発明は、受信バッファに不要な受信データが蓄積されて受信バッファの機能が損なわれるのを防止することを目的とする。例えば、エラー等何らかの原因で通信端末装置の動作が停止している場合であっても、受信バッファに入力されたデータの解析動作を継続し、通信端末が動作可能になったときに実行動作を行うようにしたものである。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明の通信端末装置は、ホスト装置との間でデータの通信を行うインタフェース手段と、データを記憶する記憶手段と、前記インタフェース手段が受信した受信データを前記記憶手段に格納する第１のデータ処理手段と、前記記憶手段に格納された前記受信データを格納された順に読み出し及び解釈する解釈手段と、前記解釈手段により解釈された受信データから所定のデータを検出する検出手段と、前記検出手段により検出された前記所定のデータを除き前記解釈手段によって解釈された受信データに基づきこれに対応する制御情報を解釈された順に前記記憶手段に格納する第２のデータ処理手段と、前記記憶手段に格納された前記制御情報に基づいて当該通信端末装置の制御を行う第１の制御手段とを有することを特徴とする。
【００１２】
本態様により、例えば既に実行処理が完了しているリアルコマンド等の所定のデータに基づく制御情報は格納手段に格納しないようにして、格納手段を効率的に利用することが可能となる。
【００１３】
この場合において、前記解釈手段によって読み出された前記受信データを前記記憶手段から削除する削除手段をさらに有することが望ましい。
【００１４】
更に、上記の場合において、前記記憶手段は、前記受信データを格納するための第１の領域と、前記制御情報を格納するための第２の領域とを有することが望ましい。通信端末装置として機能するプリンタにおいては、受信バッファに制御コマンド及び印刷データ等の各種データが大量に送信されるので、本発明のように、受信バッファの内容を順次解析して処理していくことは、受信バッファを効率的に使用するのに極めて有効である。この場合には、前記制御情報は印刷制御情報及び印刷データを含み、前記第２のデータ処理手段は、前記印刷制御情報と前記印刷データとを関連付けて格納することが望ましい。このとき、前記記憶手段は当該印刷制御情報を格納するための印刷制御情報領域と、当該印刷データを格納するための印刷データ領域とを有し、前記第２のデータ処理手段は、前記印刷制御情報に関連した前記印刷データが格納される前記印刷データ領域内のアドレスを当該印刷制御情報に付加して、前記印刷制御情報領域に格納することが望ましい。
【００１５】
また、上記の場合において、前記受信データの内から前記所定のデータを、前記第１のデータ処理手段によって前記記憶手段に格納される前に、検出するデータ検出手段と、当該データ検出手段によって検出された当該所定のデータに応じて、前記第１の制御手段よりも高い優先順位で、当該通信端末装置の制御を行う第２の制御手段とを有することが望ましい。この場合において、前記第２の制御手段は、前記所定のデータに応じて、前記ホスト装置に当該通信端末装置のステータスデータを送信するように構成することができる。
【００１６】
本態様により、所定のデータであるリアルタイムコマンドが受信バッファに格納される前又は格納と平行して実行されることになり、オフライン状態であってもホスト装置から、リアルタイムコマンドによる所定の制御が可能となる。また、ホスト装置のソフトウェアは通信端末装置の動作状態にかかわらずに通信端末装置のステータスを詳細に知る事が可能となり、ステータスに応じて適切な対応処理が可能となる。
【００１７】
また、上記の場合において、通信端末装置の所定の状態を検出する状態検出手段と、前記状態検出手段の検出結果に応じて前記第１の制御手段の動作を停止する停止手段とを有し、前記解釈手段は、前記第１の制御手段が停止状態であっても、前記受信データの解釈を行うことが望ましい。
【００１８】
かかる構成により、前記解釈手段が前記第１の制御手段の停止状態においても前記データの解析を行うので、たとえば、カバーオ−プン、印字用紙ジャム等により、通信端末装置が動作を停止しているときでも、受信バッファ内に格納されたデータのコマンド解析が行われ、コマンド実行準備のためのセットアップ（例えば印字データのセットアップ等）及び記憶手段の受信データ格納領域の解放が可能となった。
【００１９】
本発明は上記の通信端末装置の受信データ処理方法としても成り立つものであり、それぞれ同様の作用、効果を奏するものである。また、本発明の通信端末装置の受信データ処理方法は当該装置に設けられたマイクロプロセッサ等のコンピュータを用いて実施することが望ましく、かかる場合においてはコンピュータを用いて当該方法を実現するためのコンピュータプログラムを格納した、コンピュータ読み取り可能な記録媒体等のコンピュータプログラムプロダクトも本発明の技術的範囲に含まれるものである。
【図面の簡単な説明】
【００２０】
【図１】本発明に係る通信端末装置の例として、ＰＯＳシステムに使用するターミナルプリンタの概観を示す図である。
【図２】本発明の１実施例に係る基本構成を説明するためのＰＯＳシステムの機能ブロック図である。
【図３】図２で示した本発明の実施例の機能を実現する制御回路等の概略構成を示すブロック図である。
【図４】ホスト装置９０から受信したデータが、受信バッファ３２に格納された後に、コマンド解析を通じてどのように処理されるかを示すイメージ図である。
【図５】本発明の１実施例の動作を説明するフローチャートである。
【図６】本発明の第２の実施例を示す機能ブロック図である。
【発明を実施するための形態】
【００２１】
以下、図面を参照しつつ、本発明の一実施形態を詳細に説明する。本発明は、上述の通り、各種通信端末装置に適用することができるものであるが、以下の実施形態では、ＡＴＭ、ＰＯＳ、ＫＩＯＳＫ端末等に多用されており、ホスト装置とのデータ送受信の量及びステータスの種類も多いプリンタ、特にＰＯＳシステム用のターミナルプリンタを用いて説明する。
【００２２】
図１に、本発明に係る通信端末装置の例として、ＰＯＳシステムに用いるターミナルプリンタを示す。本例のターミナルプリンタ１０は、スリップ用紙１９、ジャーナル用紙１８及びレシート用紙１７を記録紙として印刷できるプリンタである。スリップ用紙１９は不定形の伝票用紙等の単票用紙であり、プリンタ１０の手前のスリップ用紙挿入口２１から矢印１９Ａの方向に挿入すると、図示されていない紙検出器がスリップ用紙を検出し、ケース１５内の紙搬送経路を通って印刷ヘッド１に導かれる。そして、印刷ヘッド１が左右の方向１Ａに動いて印刷が行われ、スリップ用紙１９はさらに矢印１９Ｂの方向に搬送され、排出される。プリンタ１０の印刷ヘッド１は、ワイヤドットタイプのヘッドでも、サーマルヘッドでもよい。
【００２３】
ジャーナル用紙１８及びレシート用紙１７は共に連続用紙であり、本例のプリンタ１０ではロール紙の状態で供給されている。これらの連続用紙１７，１８は印刷ヘッド１に対してスリップ用紙１９と反対の方向からケース１５内を通って印刷ヘッド１に導かれる。レシート用紙１７は領収書としての情報が印刷された後、カッタ−ユニット１４に導かれてカットされ顧客に渡されるようになっている。
【００２４】
ジャーナル用紙１８には店舗で保存すべき所定の情報が印刷され、図示しない巻き取り装置に巻き取られて保管される。それぞれのロール紙１７及び１８の近傍には、ロール紙が残り少なくなったことを検出するニアエンド検出器２０が設けられている。
【００２５】
ニアエンド検出器２０はロール紙の側面に接し、その外径に応じて矢印２０Ａの方向に揺動する検出レバー２０ａと、この検出レバー２０ａによりオン又はオフするスイッチ２０ｂとを備えている。ロール紙が終わりに近づいて外径が小さくなると検出レバー２０ａが内側に揺動し、その結果、スイッチ２０ｂがオフとなってロール紙の終わりが近いことを検出できる。
【００２６】
プリンタ１０のケース１５には、図示されていないカバーが装着されており、ロール紙１７または１８を交換するなどの場合を除きカバーをケース１５に被せた状態で印刷が行われるようになっている。このため、カバーの開閉を検出するためのカバー検出器２２がケース１５に装着されており、カバーが開けられると自動的にホールド状態となって印刷機能を一時停止するなどの処理を行うようになっている。
【００２７】
図２を用いて本発明の第１の実施例を説明する。図２は本発明の基本構成を説明するためのＰＯＳシステムの機能ブロック図である。ホスト装置９０は、ＰＯＳシステム全体を制御するとともにＰＯＳシステムに接続されている各種端末装置の動作を、相互のデータ通信により制御する。本実施例では、説明を簡潔にするためにターミナルプリンタ１０のみを示している。
【００２８】
プリンタ１０の制御は、ホスト装置９０からプリンタ１０に制御コマンド及び各種データを送信することにより行われる。ホスト装置９０には、汎用のパーソナルコンピュータを用いることができる。ホスト装置９０はプリンタ１０を制御するに当たり、プリンタ１０の状況（ステータス）を確認する必要があるが、プリンタ１０はホスト装置９０からの要求に応じて、そのステータスを送信することができる。
【００２９】
ホスト装置９０とプリンタ１０とは例えば、シリアル通信ポート（ＲＳ−２３２Ｃ）ドライバを介して接続される。ホスト装置から送信されたプリンタ制御用コマンド等のデータは、プリンタ１０のインタフェース３０を介して受信部３１により、受信される。受信されたデータは受信バッファ３２に格納（記憶）される。受信バッファに格納されたデータは、データ解析部３３により、格納された順番に解析される。
【００３０】
データ解析部３３では、受信データを解析すると共にそのデータに対応して実行準備のためのセットアップ処理を行う。例えば印字データであれば、プリントバッファ３７に印字データのセットアップを行う。文字装飾コマンドであれば、物理的な動作を伴なわず実行可能であるので解析と同時に装飾情報を制御部３８内のメモリにセットアップするが、印字コマンド又は印字用紙カットなどのような物理動作を伴うコマンドは実行せずにアクションバッファ３４に格納する。
【００３１】
すなわち、コマンド解析部３３は受信バッファ３２のデータを処理して受信バッファにデータが留まることを防止するとともに、実行可能なコマンドは実行し、実行不能なコマンドは必要な準備処理を行った後にアクションバッファ３４に格納するようにしている。
【００３２】
アクションバッファ３４に格納されたコマンド情報は、プリンタ１０が動作可能となった後に制御部３８によって取り出され、印刷等の動作が実行される。アクションバッファ３４に格納されているコマンド情報は、ホスト装置９０から送信されたコマンドをそのまま格納しても、プリンタ１０の内部処理用の情報に変換された形態で格納するようにしてもよい。
【００３３】
ただし、いずれの方法をとるにしても、送信されたデータが印字データの場合には、印刷動作を実行するためにアクションバッファ３４にプリンタ側で定義した印字コマンドを格納する。そして、この場合には、その印字コマンドにはプリントバッファ３７に格納された対応する印字データとの関連を示す情報が含まれていなければならない。制御部３８は、アクションバッファ３４の内容を格納順に取出し、それが印刷コマンドの実行である場合には、プリントバッファ３７及びプリンタ機構３９を制御し、プリントバッファ３７内の関連付けされた印刷データをプリンタ機構３９により印刷させる。ステータス検出部３６は、プリンタ機構３９、バッファ３２、３４等に接続されており、各部の状況を検出して記憶しており、求めに応じて送信部３５、インタフェース３０を介してホスト装置９０に送信する。
【００３４】
図３は図２で示した本発明の実施例の機能を実現する制御回路の概略構成を示すブロック図である。
【００３５】
印字ヘッド４５、モータ類４６及びプランジャ類４７並びにこれらを駆動する印字機構駆動回路４２により、前述のプリンタ機構３９を構成している。これらのプリンタ機構３９には、キャリッジ検出器４８、ホームポジション検出器４９、オートカッタ検出器５０、用紙検出器５１、カバー検出器５２が設けられており、中央制御装置（ＣＰＵ）４０と接続されている。これらの検出器４８〜５２により、カッタエラー、カバーオープン等のエラー状態を検出する。
【００３６】
ＲＯＭ４３には前述した図２の各部の機能を実現するためのソフトウェア（ファームウェアを含む）及びデータを記憶しており、ＣＰＵ４０がこれを読み出すことにより、各種機能を実現する。ＲＡＭ４４は受信バッファ３２、アクションバッファ３４、プリントバッファ３７その他の必要なデータの記憶装置として機能する。尚、各種バッファ等３２、３４、３７等は、このようなＲＡＭに限定することなく、レジスタ等を用いてもよい。ホスト装置９０とのデータ通信はインタフェース３０を介して行われる。
【００３７】
図４は、ホスト装置９０から受信したデータが受信バッファ３２に格納された後に、コマンド解析を通じてどのように処理されるかを示すイメージ図である。なお、以下の記載では図中に○の中に１〜６で示されている記号を（１）〜（６）で示す。
【００３８】
いまホスト装置９０から（１）装飾情報指定コマンド、（２）“ＡＢＣ”の印刷をしてラインフィードするコマンド、（３）“ＤＥＦ”の印刷をしてラインフィードするコマンド、（４）印字用紙をカットするコマンド、（５）リアルタイムコマンド（後述する）、（６）“ａｂｃ”の印刷をしてラインフィードするコマンドの順にデータを受信したとする。
【００３９】
データ解析部３３は受信バッファ３２に格納された順番（１）〜（６）にデータを取り出し解析する。まず受信バッファ３２から（１）を取り出し解析すると、文字の装飾情報の指定であることが判明する。この場合データ解析部は、その後の印字情報に備えてメモリ内に装飾情報をセットする。この段階で、処理（１）は受信バッファ３２から削除される。
【００４０】
次に、（２）を取り出し解析すると、印字とラインフィードを要求するコマンドであることが判明する。この場合には印字データ“ＡＢＣ”をメモリ４４内の装飾情報に従って処理してプリントバッファ３７に格納するとともに、アクションバッファ３４に印字コマンド及びラインフィード処理の実行命令を記憶させる。その際に、この実行命令（２）とプリントバッファ３７の記憶“ＡＢＣ”（２）とは関連付けて記憶される。さらに詳しくは、プリントバッファ３７内の印字データが展開されている領域を引数とし、この領域内の印字データを印刷した後改行するという機能を有する印字関数を定義する。プリントバッファ３７内の“ＡＢＣ”が展開された領域、例えば先頭及び末尾の番地を引数とするこの印字関数の呼出をアクションバッファ３４に記載する。この処理が終わると受信バッファ３２のデータ（２）は消去される（以下消去動作は同様のため省略する）。
【００４１】
同様に受信バッファ３２に格納されているデータ（３）もコマンド解析されて、プリントバッファ３７、アクションバッファ３４に所定のデータが格納される。次にデータ（４）が取り出され解析される。この処理は印字用紙のカットであるので、アクションバッファ３４に実行命令のみが格納される。この場合には、引数のない切断関数を定義しておき、この関数の呼出をアクションバッファに記載する。
【００４２】
受信バッファ３２に格納された５番目のデータ（５）はリアルタイムコマンドである。コマンド解析によりリアルタイムコマンドであることが判明すると廃棄される。リアルタイムコマンドの具体的内容については後述する。
【００４３】
６番目のデータ（６）は印字コマンドであるので、（２）又は（３）と同様の処理が行われる。
次にこれらの動作をフローチャートを用いて説明する。図５に本発明の第１の実施例の動作を説明するフローチャートを示す。
【００４４】
データ解析部３３は、受信バッファ３２にデータが格納されているかどうかを確認し（ステップ６０）、データがあるとそのデータを格納順に解析し（ステップ６１）、解析したデータに応じて装飾情報のセット（ステップ６２）、印字データのプリントバッファ３７へのセットアップ（ステップ６３）、印字実行命令（印字関数呼出）のアクションバッファ３４への格納（ステップ６４）、印字用紙のカット命令（切断関数呼出）のアクションバッファ３４へのセット（ステップ６５）等の処理を行う。尚、このステップ６２〜６５は例示であり、コマンドに応じてその他の各種処理を行う。
【００４５】
次に、プリンタが一時停止状態かどうかの確認をし（ステップ６６）、動作中であれば、アクションバッファ３４内の実行命令（関数）を実行する（ステップ６７）。プリンタの一時停止状態とは、例えばオフライン状態をいうが、これに限定されることなく自由に設定可能である。
【００４６】
プリンタが一時停止状態であれば、その原因等に応じて所定の処理を行う（ステップ６８）。例えば、紙ジャムが発生している場合には、用紙搬送モータを停止させるとともにＬＥＤを点灯させたり、ステータスを所定の記憶部に記憶させる等の各種処理が行われる。所定の処理が終わると、受信バッファ内のデータの処理を行う（ステップ６０）
次に本発明の第２の実施例を説明する。
【００４７】
図６にパーソナルコンピュータ（ＰＣ）９０をホスト装置側とし、本例のターミナルプリンタ１０を通信端末として構成したＰＯＳシステムの一例を示す。このＰＯＳシステムにおいては、ＰＣ９０のシリアル通信ポート（ＲＳ−２３２Ｃ）ドライバ９２を介してカストマディスプレイ１１０及びキャッシュドロワ１１５が電気的に接続されている。また、ＰＣ９０とカストマディスプレイ１１０及びプリンタ１０とはそれぞれＲＳ２３２Ｃインタフェースを介して接続されて、データの送受信を行うようになっている。
【００４８】
また、キャッシュドロワ１１５はプリンタ１０に接続されており、ＰＣ９０はプリンタ１０に所要のコマンドを送信することにより、キャッシュドロワ１１５を制御することができる。尚、カストマディスプレイ１１０はパススルー機能を有しており、ディスプレイ処理部１１２は、ＰＣからのコマンドによってカストマディスプレイ１１０が選択されている場合にのみ、ＰＣから受信したコマンド及びデータの処理を行う。プリンタ１０も同様の機能を有しており、選択されている場合にのみ、ＰＣからのコマンド及びデータの処理を行う。
【００４９】
尚、カストマディスプレイ１１０からのＤＴＲ信号はＰＣ９０側のＣＳ信号端子に入力されており、プリンタ１０からのＤＴＲ信号と競合しないようになっている。また、カストマディスプレイ１１０はＰＣ９０へステータス等のデータを送信する場合はないので、プリンタ１０からのステータスデータとは競合することはない。
【００５０】
このような接続形態であるため、本例のＰＣ９０のオペレーティングシステム９３は、シリアルポートドライバ９２に加えて、ＰＯＳ用のオペレーティングシステム（ＯＳ）９４と、キーボードやディスプレイ等のＰＣ９０を一般に構成する機器及びそれらを制御するアプリケーションソフトウェア９７を制御する基本ＯＳ９５とを備えている。
【００５１】
ＰＯＳ用のＯＳ９４は、プリンタ１０をレシートあるいはジャーナル用紙といった連続用紙に印刷するレシート印刷用のドライバ１００と、プリンタ１０によってスリップ用紙の印刷を行うためのスリップ印刷用のドライバ１０１と、カストマディスプレイ１１０を制御するためのドライバ１０２と、キャッシュドロワ１１５を制御するためのドライバ１０３と、さらにこれらのデバイスドライバを統合的に制御するＯＳ９６とを備えている。
【００５２】
ＰＣ９０のＰＯＳ用アプリケーションソフトウェア９７及び表計算などのその他のアプリケーションソフト９８は基本ＯＳ９５及びＰＯＳ用ＯＳ９４の制御の下で動作する。
【００５３】
プリンタ１０においては、インタフェース３０からデータが受信されると割り込みが発生し、データ受信部３１がインタフェース３０からデータを取り出す。
インタフェース３０から取り出されたデータは同一の割り込み処理の中でリアルタイムデータ解析部７３を経由して受信バッファに格納される。リアルタイムデータ解析部７３では、データ受信部３１から送られたデータの中に含まれたリアルタイムコマンドを認識すると、そのコマンドに応じて所定の処理を行う。
リアルタイムデータ解析部７３を通って受信バッファ３２に格納されたデータは、データ解析部３３によって格納された順番に取り出され、データコードが解析される。そして、コマンドデータであれば、制御部３８によってそのコマンドに従った実行の準備のための処理が行われ、印刷データであればフリントバッファ３７にそのデータが印字できる状態のデータとして格納される。
【００５４】
データ解析部で解析されたデータコードのうち、コマンドのような制御データはアクションバッファ３４に格納される。アクションバッファ３４に格納された制御データは、プリントバッファ３７に格納された関連する印字データと関連付けられている。アクションバッファ３４に格納された制御データはその格納された順番に制御部３８によって取り出され、順次実行される。制御部はアクションバッファ３４から取り出したコマンドに従って印刷処理部８５の制御を行うと共に、フリントバッファ３７に格納された印刷データを印刷制御部８５に送りこれを制御して印刷を行う。
【００５５】
制御部３８は、印刷処理部８５の設定及び制御、さらに印刷データの管理などの他にプリンタ１０の各部の状況を監視する機能も備えており、その結果がステータス検出部３６の一部であるコモンステータス検出部７９に出力される。例えば、受信バッファ３２が満杯に近い状態であったり、単票用紙待ちの状態であると、その状況（ステータス）がコモンステータス検出部７９に与えられる。また、印刷処理部８５において、プリンタ機構３９の状態、例えば、カバーが開放されてデータ処理が一時的に中止されたホールド状態、紙ジャム等のエラー状態、あるいはロール紙のニアエンド検出などが発生すると、そのステータスがステータス検出部３６の一部であるプリンタ機構ステータス検出部８７に与えられるようになっている。
【００５６】
コモンステータス検出部７９及びプリンタ機構ステータス検出部８７において検出されたステータスは、ステータス送信部８０のステータスデータ生成部８２に供給される。ステータス送信部８０は、ステータスデータ生成部８２に集められたプリンタ機構３９のステータス及び受信バッファの状況など、プリンタ１０に係わるその他のステータスを自動ステータス送信部８１によってホスト側に発信する機能を備えている。自動ステータス送信部８１は、制御部３８の制御の下に所定のステータスの状態が変化したときにそのステータスデータを送信するようになっている。ステータスデータを送信するトリガとなるステータスは、ホスト装置であるＰＣからの所定のコマンドによって選択できるようになっている。
【００５７】
自動ステータス送信部８１から出力されたステータスデータは、データ送信部３５を介してインタフェース３０に供給され、ホスト装置側のＲＳ−２３２Ｃポートドライバ９２に送られる。そして、プリンタドライバ等を備えたＰＯＳ用ＯＳ９４を介してアプリケーションソフト９７に伝達され、アプリケーションソフト９７がプリンタ１０の現況に適した処理を選択してプリンタ１０に指示できるようになっている。
【００５８】
このようなステータス送信部８０を設けておくことにより、プリンタ機構やターミナルプリンタ１０の状況が変化するとステータスデータがアプリケーション９７側に伝達されるので、アプリケーション側でターミナルプリンタ１０の全体の状況を把握することができる。又、状況が変化したときだけステータスデータを送信するようにできるので、ステータスデータの送受信に係わるホスト装置側及びプリンタ側における処理負荷が軽減され、スループットを向上することができる。
【００５９】
コモンステータス検出部７９で検出した受信バッファが満杯であることを示すステータス（バッファフルステータス）７９ａ、プリンタ機構ステータス検出部８７におけるエラー要因（エラーステータス）８７ａおよびホールド要因（ホールドステータス）８７ｂは、通信許可部８８のビジィー要因選択部８９にも供給される。バッファフル７９ａ、エラー８７ａあるいはホールド８７ｂのいずれかの要因が検出されると、ビジィー設定部７０はインタフェース３０に対してビジィー信号を出力して、ホスト９０の側にデータの送信の禁止すべき旨を伝える。
これにより、ホスト装置から送信されたデータが通信端末装置側、すなわちターミナルプリンタ１０側の受信バッファに格納できずに欠落するのを防止している。
【００６０】
すなわち、ＲＳ−２３２Ｃにおいては、ビジィー信号の機能を果たすためにＤＴＲ信号が用意されており、ホスト装置側のＲＳ−２３２Ｃポートドライバ９２あるいはプリンタドライバ１００および１０１は、ＤＴＲ信号がアクティブのときのみデータ送信を行い、プリンタ１０がビジィー状態となってＤＴＲ信号がインアクティブになるとデータの送信を停止するようになっている。
【００６１】
ニアエンド検出などの所定のステータスが変化してステータスデータが送信されると、アプリケーション９７からプリンタ１０にステータスを確認するコマンド、又はさらに詳細なステータスを要求するコマンドを出力するよう構成することができる。通常、プリンタで受信したデータは、受信した順番に順次受信バッファ３２に蓄えられ、その格納順にコマンド解析及びその処理が行われる。そのため、先行するデータが大量に蓄積されていると、必要なコマンド処理の開始までに非常に時間がかかる場合がある。
【００６２】
このような場合にリアルタイムコマンドを使用すると、受信バッファに転送する前にリアルタイムデータ解析部で解析され処理されるため、このようにコマンド解析及び実行が遅延することを防止することができる。リアルタイムコマンドでは、受信バッファ３２において処理を待っているデータ又はコマンドの順番には関係なくそのコマンドが実行されるので、ホスト側のアプリケーションはプリンタから即座にステータスなどの情報を得ること及び所定の処理を実行させることができ、エラー要因の解除などフレキシブルな処理が可能となる。
【００６３】
しかし、一般的なプリンタでは、エラーが発生した場合又はホールド状態になると、通信許可部８８のビジィー要因選択部８９においてプリンタがビジィー状態で動作不能であると判断する。このため、通信許可部８８においてＤＴＲ信号をインアクティブにする。ホスト装置側のＯＳ９３は、これを受けてプリンタ１０に対するデータの転送を中止する。従って、ホスト装置のアプリケーション９７がリアルタイムコマンドを送信しようとしてもそれがＯＳ９３によって禁止されてしまい、プリンタ１０へのコマンドの送信ができない。
【００６４】
このように、アプリケーション９７がリアルタイムコマンドを使用する機能を備えており、プリンタ１０がリアルタイムコマンドを解析実行する機能を有していてもビジィー信号が出力されると、リアルタイムコマンドの実質的な機能が制限されることになる。
【００６５】
そこで、通信許可部８８のビジィー要因選択部８９でビジィー信号を出力する要因を選択できるようにしておき、バッファフル等の重大な問題が発生する恐れがあるときのみ、ビジィーにするようにしている。
【００６６】
このようにビジィー要因をバッファフル等の特定の要因に絞ることにより、ホスト装置のアプリケーション９７の自由度はかなり向上するが、未だ完全とはいえない。例えば、紙ジャム等が発生した場合に、アプリケーション９７はその詳細ステータスを要求したり、その後のステータスの変化状況を確認するために多くのリアルタイムコマンドを出力することになる。紙ジャム解除後の早期に印字開始できるように、所定の印字データを予め送信しておく場合もある。また、紙ジャムが発生した時点で、すでに多くのデータが受信バッファに格納されている場合も考えられる。
【００６７】
一方、従来のプリンタでは、紙ジャムが発生している状態では印刷ができないため、受信バッファのデータはコマンド解析されずそのまま残っている。従って、受信バッファはリアルタイムコマンド等ですぐにバッファフルになる可能性がある。バッファフルになると、上述のようにビジィー信号が出力されるため、ホスト装置のＯＳ９３がデータの送信を禁止するため、アプリケーション９７はエラーに対処することができなくなる。
【００６８】
このような状態を解消すべく、本実施例では、受信バッファのデータは紙ジャム等のエラーにより、プリンタ１０の動作が停止していてもコマンド解析を継続するとともに印字データのセットアップ等の処理を行っている。解析が行われたコマンドは、リアルタイムコマンドを除き印字データとの関連付けされて、アクションバッファ３４に格納される。アクションバッファ３４に格納されたコマンドは、エラー等の状況が解除された後、制御部による制御の下で格納された順番に実行される。コマンド解析は、アクションバッファ３４が格納可能な限り継続するように設定することができる。
【００６９】
この実施例では、プリンタ１０の状態に係わりなくコマンド解析し、リアルタイムコマンドを受信バッファに溜め込むことがない。そのため、ホスト装置から多くのリアルタイムコマンド送信することが可能となり、ホスト装置のアプリケーション処理の自由度を格段に向上させることができる。
【００７０】
また、エラー状況若しくはオフライン状況が解消したときには、既に複数行の印字データのセットアップが完了しているので、印字ヘッドで印字できる最大行の印字を、最初から同時に印字開始できるという利点もある。
【００７１】
以上説明した第２の実施例の制御関連の機能も、第1の実施例と同様に、図３に示すＣＰＵ４０、ＲＯＭ４３、ＲＡＭ４４等を用いて実現することも可能である。このような場合、制御の手順をＲＯＭ、ＣＤ‐ＲＯＭ、ＦＤ、等のコンピュータで読み取り可能な記録媒体に記録しておき、ＣＰＵ４０で読み取らせて、ロードモジュールを作成することもできる。また、記録媒体にロードモジュールの形で記憶させておき、それを直接読み取らせて動作させること、又はコピーして動作させることも可能である。
【００７２】
尚、本実施例では、通信端末装置としてＰＯＳシステムのターミナルプリンタを用いて説明したが、当業者から明らかな通り、このようなプリンタに限らず、例えばＡＴＭ、ＣＤ、ＫＩＯＳＫ端末装置等に使用される各種端末装置であって、ホスト装置からデータを送信することによりその動作を制御する通信端末装置は、本発明の適用範囲である。
【００７３】
（発明の効果）
以上説明したように本発明によると、プリンタの動作が一時停止している状態であっても受信データの解析を行い、解析済みのデータのうちその後の実行動作が必要な実行命令はアクションバッファに格納するとともに、印字データをプリントバッファに印字可能な状態でセットしておくよう構成したので、プリンタの動作が停止している間も受信バッファ内のデータの処理が進められるために受信バッファフルになることが少なくなり、ホスト装置からの制御をよりフレキシブルに行うことができるようになった。
【００７４】
また、プリンタの動作停止中もプリントデータのフリントバッファへのセットアップ等が行われるので、停止原因回復後は速やかな処理を行うことができる。特に最初から連続して複数行印字する場合には、既にフリントバッファのセットは完了しているので、回復直後から複数行同時に印字することが可能となるという効果も有する。
【符号の説明】
【００７５】
１  印字ヘッド、１０  プリンタ、１７  レシート用紙、１８  ジャーナル紙、１９  スリップ用紙、３０  インタフェース、３１  受信部、３２  受信バッファ、３３  データ解析部、３４  アクションバッファ、３５  送信部、３６  ステータス検出部、３７  プリントバッファ、３８  制御部、３９  プリンタ機構、４０  中央制御装置（ＣＰＵ）、４２  印字機構駆動回路、７３  リアルタイムデータ解析部、７９  コモンステータス検出部、８０  ステータス送信部、８７  プリンタ機構ステータス検出部、８８  通信許可部、９０  ホスト装置（ＰＣ）、９２  通信ポート、９３  ホスト装置のオペレレーティングシステム（ＯＳ）、９４  ＰＯＳ用のオペレーティングシステム（ＯＳ）、９５  基本ＯＳ、９６  ＰＯＳ制御用ＯＳ、９７  ＰＯＳ用アプリケーションソフトウェア、９８  その他のアプリケーションソフトウェア、１００〜１０３  ＰＯＳ通信端末用の各種ドライバ、１１０  カストマディスプレイ１１０、１１２  ディスプレイ処理部、１１５  キャッシュドロワ。
【図１】
2011016376.tif 000003
【図２】
2011016376.tif 000004
【図３】
2011016376.tif 000005
【図４】
2011016376.tif 000006
【図５】
2011016376.tif 000007
【図６】
2011016376.tif 000008
【手続補正書】
【提出日】平成22年11月5日(2010.11.5)
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ホスト装置との間でデータの通信を行うインタフェース手段と、
前記インタフェース手段が受信した受信データを第１の記憶手段に格納する第１のデータ処理手段と、
前記第１の記憶手段に格納された前記受信データを格納された順に解析すると共にそのデータに対応して実行準備のためのセットアップ処理を行うデータ解析手段と、
前記セットアップ処理に基づいて、プリンタ機構を制御して印刷を行わせる制御手段と、を備える通信端末装置であって、
前記データ解析手段は、前記解析の結果、
前記受信データが物理的な動作を伴わないコマンドであれば、当該コマンドを実行し、
前記受信データが物理的な動作を伴うコマンドであれば、当該コマンドを第２の記憶手段に格納し、
前記受信データが印字データであれば、当該印字データを第３の記憶手段に格納すると共に、当該印字データと関連付けた情報を含む印字コマンドを前記第２の記憶手段に格納し、
前記制御手段は、前記通信端末装置が物理的に動作可能であれば、前記第２の記憶手段に格納されたコマンドと、前記第３の記憶手段に格納された印字データとに基づいて当該通信端末装置の制御を行う、
ことを特徴とする通信端末装置。
【請求項２】
請求項１記載の通信端末装置において、
前記データ解析手段は、解析した前記受信データがリアルタイムコマンドであれば、当該コマンドを破棄する、ことを特徴とする通信端末装置。
【請求項３】
請求項１記載の通信端末装置において、さらに、
前記インタフェース手段が受信した受信データがリアルタイムコマンドであることを認識すると、当該コマンドに応じて所定の処理を行うリアルタイムデータ解析手段を備え、
前記インタフェース手段が受信した前記受信データは、該リアルタイムデータ解析手段を通って前記第１の記憶手段に格納される、ことを特徴とする通信端末装置。
【請求項４】
（ａ）ホスト装置との間でデータの通信を行う工程と、
（ｂ）工程（ａ）において受信した受信データを第１の記憶手段に格納する工程と、
（ｃ）工程（ｂ）において格納された前記受信データを格納された順に解析すると共にそのデータに対応して実行準備のためのセットアップ処理を行う工程と、
（ｄ）工程（ｃ）において行われた前記解析の結果、
前記受信データが物理的な動作を伴わないコマンドであれば、当該コマンドを実行し、
前記受信データが物理的な動作を伴うコマンドであれば、当該コマンドを第２の記憶手段に格納し、
前記受信データが印字データであれば、当該印字データを第３の記憶手段に格納すると共に、当該印字データと関連付けた情報を含む印字コマンドを前記第２の記憶手段に格納する工程と、
（ｅ）工程（ｃ）において行われた前記セットアップ処理に続いて、
前記物理的な動作が可能であれば、前記第２の記憶手段に格納されたコマンドと、前記第３の記憶手段に格納された印字データとに基づいて印刷の制御を行う工程と、を有することを特徴とする受信データの処理方法。
【請求項５】
請求項４記載の方法において、
（ｆ）工程（ｄ）において解析された前記受信データがリアルタイムコマンドであれば、当該コマンドを破棄する工程、
をさらに有することを特徴とする方法。
【請求項６】
請求項４記載の方法において、さらに、
（ｇ）工程（ａ）において受信した受信データがリアルタイムコマンドであることを認識すると、当該コマンドに応じて所定の処理を行う工程、を備え、
工程（ａ）において受信した前記受信データは、工程（ｇ）の後に、工程（ｂ）によって前記第１の記憶手段に格納される、ことを特徴とする方法。