(57)【特許請求の範囲】
【請求項１】
ホストに接続するように構成され、ステータス変更に応答して自動的にステータスデータを生成して、前記ステータスデータを前記ホストに送信する自動ステータス返送手段を有する端末装置において、
前回ホストにステータスデータを送信した時点から、最新のステータスデータを生成する現時点までの期間に発生したステータスの変化を定義する変更データを、前記最新のステータスデータと前記期間中にステータスデータに変化があったか否かを示す変化履歴データの排他的論理和によって生成する手段と、
前記最新のステータスデータを前記ホストに送信する前に、前記変更データをステータスデータと同じデータ形式で前記ホストに送信する手段と、
を備えたことを特徴とする端末装置。
【請求項２】
前記変化履歴データは、少なくとも最新のステータスデータと当該ステータスの変化履歴データを一時記憶する専用バッファに記憶されていて前記最新のステータスデータが記憶される直前のステータスデータと、前記最新のステータスデータと、の排他的論理和の出力と、前記専用バッファに別途記憶されている更新直前の変化履歴データと、の論理和の出力によって更新されることを特徴とする請求項１に記載の端末装置。
【請求項３】
前記最新のステータスデータを前記専用バッファに記憶する処理のみを行うか、又は、請求項２に記載のデータ処理を行った後、前記最新のステータスデータを前記専用バッファに記憶する処理を行なうかを、前記専用バッファの空き状況によって判定する手段を備えたことを特徴とする請求項２に記載の端末装置。
【請求項４】
ホストに接続するように構成され、ステータス変更に応答して自動的にステータスデータを生成して、前記ステータスデータを前記ホストに送信する自動ステータス返送手段を有する端末装置の制御方法において、
前回ホストにステータスデータを送信した時点から、最新のステータスデータを生成する現時点までの期間に発生したステータスの変化を定義する変更データを、前記最新のステータスデータと前記期間中にステータスデータに変化があったか否かを示す変化履歴データの排他的論理和によって生成する工程と、
前記最新のステータスデータを前記ホストに送信する前に、前記変更データをステータスデータと同じデータ形式で前記ホストに送信する工程と、
を備えたことを特徴とする端末装置の制御方法。
【請求項５】
前記変化履歴データは、少なくとも最新のステータスデータと当該ステータスの変化履歴データを一時記憶する専用バッファに記憶されていて前記最新のステータスデータが記憶される直前のステータスデータと、前記最新のステータスデータと、の排他的論理和の出力と、前記専用バッファに別途記憶されている更新直前の変化履歴データと、の論理和の出力によって更新される工程を備えたことを特徴とする請求項４に記載の端末装置の制御方法。
【請求項６】
前記最新のステータスデータを前記専用バッファに記憶する処理のみを行うか、又は、請求項５に記載のデータ処理を行った後、前記最新のステータスデータを前記専用バッファに記憶する処理を行なうかを、前記専用バッファの空き状況によって判定する工程を備えたことを特徴とする請求項５に記載の端末装置の制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、自動現金預貯金機（ＡＴＭ）、自動現金引出機（ＣＤ）、ＰＯＳシステム、コンビニエンスストア等に設置されるＫＩＯＳＫ端末装置等の装置の内部に使用される印刷装置、表示装置、現金受け入れ装置等の各種端末装置に関するものであり、特に、これらの端末装置からホスト装置にデータを送信するときの送信制御装置及びその送信制御方法に関するものである。
【０００２】
【従来の技術】
従来、ＡＴＭ、ＣＤ、ＰＯＳ端末装置及びＫＩＯＳＫ端末装置等は、その内部にパーソナルコンピュータ（以下ＰＣ又はホスト装置と称する）のような主制御装置を有しており、さらにこのホスト装置に制御される印刷装置、各種表示装置、現金収納装置、バーコードリーダー等の各種機能を有する端末装置を複数有している。ホスト装置は、ＡＴＭ、ＰＯＳ端末等の装置（以下本体装置と呼ぶ）がその本来の機能を発揮することができるように、内蔵している上記各種端末装置の其々の動作を全体として統一的に制御している。具体的には、ホスト装置と端末装置は通信回線により接続されており、端末装置へ制御コマンドその他のデータを送信することにより当該端末装置の動作を制御する。端末装置は、その機能に応じて各種データをホスト装置に送信する他、ホスト装置の要求に応じて、その端末装置の動作状況等のステータス情報をホスト装置に送信する。本体装置内部に設けられた各種端末装置の多くは、シリアルポート（ＲＳ―２３２Ｃ等）等を介してホスト装置に接続され、ホスト装置と上記各種端末装置との間でコマンドや処理用データ等が相互に転送される。
【０００３】
これらの装置間にはインタフェース装置が設けられ、通信を制御するための制御線が用意されている。例えば、データ端末レディ（ＤＴＲ）信号によって、端末装置側はデータの受信が可能な状態であるか否かをホスト装置に表明できるようになっている。ホスト装置側は、ＤＴＲ信号がアクティブ（活性状態）になるとデータセットレディ（ＤＳＲ）信号をアクティブとし、双方が動作可能な状態であることを確認した後にデータを送信する。これにより、データ通信におけるデータの欠落を防止している。
【０００４】
本発明は、あらゆる端末に適用することが可能であるが、以下においては説明を簡潔にするために、ＡＴＭ、ＰＯＳシステム等に多用されているターミナルプリンタ（以下単にプリンタと称する）を用いて説明する。
【０００５】
プリンタでは、印字用紙、インク等のように各種のサプライ用品がその内部に充足していなければ、印字動作をすることができない。そのため、ホスト装置から印字用紙及びインクの残量を確認できるようになっている。具体的には、印字用紙またはインクの残量が少なくなると、インクニアエンド又は用紙ニアエンドのステータス、完全になくなるとインクエンド又は用紙エンドのステータスをホスト装置に送信データとして送ることができるように構成されている。ステータス情報はこれに限らず、プリンタカバーオープン、インクタンク取り外し、印字用紙ジャム、電源異常等多くの情報がホスト装置に送信される。
【０００６】
例えば、受信バッファが満杯の状態（受信バッファフル）となったり、印字用紙のジャム等のエラー状態が発生したり又はカバーオープン等の種々の原因により、プリンタが端末として動作することができない状態（以下このような状態をオフラインと称する）となることがある。オフライン状態になると、端末装置であるプリンタからこの状態をホスト装置に伝え、ホスト装置からのデータの送信を中止させる必要がある。
【０００７】
その他、ホスト装置へのデータの送信は、ホスト装置からのステータス要求コマンドによっても行われる。ステータス要求コマンドにも種々のものがある。例えばステータスの確認のためにホスト装置が必要に応じて個別的にコマンドを送信してステータス情報を送信してもらうもの、ステータスに変化がある度に自動的にステータス情報の送信をするという端末の機能（以下オートステータスバック：ＡＳＢと称する）を利用するもの等がある。
【０００８】
これらのステータス情報は、その種類に応じて１バイトから数バイトで構成されており、各ステータス情報の各ビットが各種ステータスを示している。
【０００９】
以下、図８を用いて従来技術によるデータの送信制御装置についてさらに詳細に説明する。図８は従来技術に係るプリンタ７０の主要部のみを示す機能ブロック図である。ホスト装置９０は、ＰＯＳシステム全体を制御するものである。図８では示していないが、ホスト装置９０にはプリンタ７０以外にもＰＯＳシステムとしての機能を発揮するのに必要な表示装置、キャッシュドロアー等の各種端末装置（図示せず）が多数接続されており、ホスト装置はそれらの端末装置をデータ通信により制御している。
【００１０】
プリンタ７０の制御は、ホスト装置９０からプリンタ７０に制御コマンド及び各種データを送信することにより行われる。ホスト装置９０には、汎用のＯＳを搭載したパーソナルコンピュータを用いることができる。ホスト装置９０はプリンタ７０を制御するに当たり、プリンタ７０の状況（ステータス）の報告を命じるコマンドを送信することができる。プリンタ７０はホスト装置９０からのコマンドに応じて、要求されたステータスを送信する。
【００１１】
ホスト装置９０とプリンタ７０とは例えば、シリアル通信ポート（ＲＳ−２３２Ｃ）ドライバを介して接続される。ホスト装置７０から送信されたプリンタ制御用コマンド等のデータは、受信ドライバ７１を介して受信部７２により、受信される。受信されたデータは受信部７２内の受信バッファ（図示せず）に格納（記憶）される。受信バッファに格納されたデータは、コマンド解析部７３により、受信バッファに格納された順番に解析される。
【００１２】
コマンド解析部７３では、コマンドを解析し、そのコマンドを実行する。例えば印字コマンドであれば、プリントバッファ(図示せず)に印字データのセットアップし、印刷制御部７４の制御の下で、ヘッドドライバ７６及び印刷機構７７により印字を行う。モータドライバ７５は印字用紙（図示せず）の搬送及びヘッドキャリッジ（図示せず）の移動等を行う。
【００１３】
ステータス監視部８０は、電源電圧検出部８１、印字用紙検出部８２、インク検出部８３、カバー検出部８４、紙ジャム等を検出するスイッチ検出部８５、及びその他の検出部８６に接続されており、プリンタ７０内の状態を監視している。これらの検出部８１〜８６により、電源電圧異常、印字用紙の有無及び残量、インクの有無及び残量、カバー等の開閉状態、紙ジャムの発生の有無、キャリッジ駆動エラーの有無、受信バッファフル等の各種状態が検出され、ステータス監視部８０に伝達される。
【００１４】
ステータス監視部８０には、印字制御部７４及び受信部７２等から、印字ステータス、受信バッファフル等のステータス情報も伝達される。
ホスト装置９０からステータス要求コマンドが送信されると、受信部７２を経てコマンド解析部７３で解析され、ステータス監視部８０から送信ドライバ７８を介して、ステータス情報をホスト装置９０に送信する。
ＡＳＢ機能によっても、プリンタ７０のステータスがホスト装置９０に送信される。ＡＳＢの機能を予め有効にしておくことにより、ホスト装置９０は、エラー、カバーオプン、用紙位置、インク残量、等の種々の状況（ステータス）を自動的に知ることが可能となる。
【００１５】
これらのステータス情報は１バイトの場合もあれば、数バイトの場合もある。１バイトであれば、８ビット、すなわち８種類のステータス情報が伝達可能であり、バイト数が増えればそれだけステータス情報が増えることとなる。今、ＡＳＢステータス情報が４バイトから構成されているものとし、これをホスト装置９０に送信する場合について説明する。
【００１６】
ＡＳＢ機能がセットされており、指定されたステータスに変化があったとすると、ステータス監視部８０は４バイトからなる所定のステータス情報をセットアップし、送信ドライバ７８を介してホスト装置９０に送信する。このとき、送信の開始に際しては、ホスト装置９０が受信可能であるかどうかがチェックされて、ホスト装置が受信できない状態（以下、ビジー状態という。）でなければ送信が開始される。
【００１７】
【本発明が解決しようとする課題】
上述のようなステータス情報は、送信データとして順次ホスト装置に送信される。ＡＳＢ等のステータス情報は、ステータスの変更がある度に自動的にステータス情報をホスト装置に送信するものであるため、次々に送信すべきステータス情報が発生することも起こり得る。その結果端末側の送信バッファが一杯（バッファフル）になり、記憶できなくなると、当該バッファフル以後に発生したステータスデータは喪失してしまうという問題があった。
【００１８】
そこで本発明は、端末装置で連続して発生するステータス情報が失われることなくホスト装置に伝達可能な送信制御装置及び送信制御方法を提供することを目的とする。本発明の他の目的は、送信のためのバッファを少なくすることが可能であり、通信負荷を大幅に減少させることのできるステータス情報の送信制御方法を提供することを目的とする。
【００１９】
【課題を解決するための手段】
そこで本発明は、連続して発生するステータスデータについて、専用バッファを設けて少なくとも最新のステータスデータとそのステータスの変化履歴を記憶し、ホスト装置には最新のステータスデータとそれに至るステータスの変化履歴を表わす情報である変更データを、ステータスデータと同じデータ形式で前記最新のステータスデータの直前に送信することにより、ホスト装置は、ステータスに変化があったことを確実に知ることができ、かつ送信のためのバッファを少なくすることが可能となり、通信負荷を大幅に減少させることのできる自動ステータス返送手段を有する端末装置およびその制御方法を提供することができるようになった。これにより、少ないデータ量でステータスの変化履歴を確実に記憶し、伝達することができるようになった。
【００２０】
以下に本発明の態様を概説する。
【００２１】
本発明の端末装置は、ホストに接続するように構成され、ステータス変更に応答して自動的にステータスデータを生成して、前記ステータスデータを前記ホストに送信する自動ステータス返送手段を有する端末装置において、
前回ホストにステータスデータを送信した時点から、最新のステータスデータを生成する現時点までの期間に発生したステータスの変化を定義する変更データを、前記最新のステータスデータと前記期間中にステータスデータに変化があったか否かを示す変化履歴データの排他的論理和によって生成する手段と、
前記最新のステータスデータを前記ホストに送信する前に、前記変更データをステータスデータと同じデータ形式で前記ホストに送信する手段と、
を備えたことを特徴とする。
前記変化履歴データは、少なくとも最新のステータスデータと当該ステータスの変化履歴データを一時記憶する専用バッファに記憶されていて前記最新のステータスデータが記憶される直前のステータスデータと、前記最新のステータスデータと、の排他的論理和の出力と、前記専用バッファに別途記憶されている更新直前の変化履歴データと、の論理和の出力によって更新されることを特徴とする。
また、本発明の端末装置は、前記最新のステータスデータを前記専用バッファに記憶する処理のみを行うか、又は、請求項２に記載のデータ処理を行った後、前記最新のステータスデータを前記専用バッファに記憶する処理を行なうかを、前記専用バッファの空き状況によって判定する手段を備えたことを特徴とする。
また、本発明の端末装置の制御方法は、ホストに接続するように構成され、ステータス変更に応答して自動的にステータスデータを生成して、前記ステータスデータを前記ホストに送信する自動ステータス返送手段を有する端末装置の制御方法において、
前回ホストにステータスデータを送信した時点から、最新のステータスデータを生成する現時点までの期間に発生したステータスの変化を定義する変更データを、前記最新のステータスデータと前記期間中にステータスデータに変化があったか否かを示す変化履歴データの排他的論理和によって生成する工程と、
前記最新のステータスデータを前記ホストに送信する前に、前記変更データをステータスデータと同じデータ形式で前記ホストに送信する工程と、
を備えたことを特徴とする。
【００２２】
本態様によると、送信バッファがバッファフルとなっても、ステータスの変化を少ないデータ量で記憶することができ、かつ、送信負荷を軽減することができるようになった。端末装置で連続して発生するステータス情報が失われることなくホスト装置に伝達できるようにした。これにより、送信のためのバッファを少なくすることが可能となり、通信負荷を大幅に減少させることのできるステータス情報の送信制御方法を提供することができるようになった。また、少ないデータ量でステータスの変化履歴を確実に記憶し、伝達することができるようになった。さらに、ステータス変化情報を喪失することなく確実にホスト装置に送信可能となった。
【００２３】
本発明の第二の態様にかかる送信制御装置は、専用バッファに記憶され、変化履歴生成手段により変化履歴データを生成されるステータス情報は、予め定められた所定の種類のステータス情報からなることを特徴とする。これにより、重要度等により、選択的に変化履歴データを作成し、送信することが可能になった。
【００２４】
本発明の第三の態様にかかる送信制御装置は、ステータス情報は１個のビットの有無で１個のステータスを表す。
本発明の第四の態様にかかる送信制御装置はさらに、変化履歴データを記憶する変化履歴データ記憶手段を備え、制御手段が変化履歴データを前記専用バッファに代えて、前記変化履歴データ記憶手段に記憶させるよう制御することを特徴とする。専用バッファ以外に記憶手段を設けて記憶することも可能である。
【００２５】
本発明の第五の態様にかかる送信制御装置はさらに、ステータス情報を記憶する先入先出（ＦＩＦＯ）記憶方式の第１の専用バッファと、第１の専用バッファの最終段から出力されるステータス情報に基づいて作成される変化履歴データ、及び第１の専用バッファの最終段から出力される最新のステータス情報を記憶する第２の専用バッファとを備え、変化履歴生成手段は第１の専用バッファから出力される前記ステータス情報に基づいて変化履歴データを生成し、制御手段は、第２の専用バッファにステータス情報及び変化履歴データを記憶しているときには第２の専用バッファから送信バッファにステータス情報及び変化履歴データを転送し、第２の専用バッファに前記ステータス情報を記憶していないときには、ステータス情報を記憶した順に第１の専用バッファから送信バッファに転送するよう制御することを特徴とする。
【００２６】
これにより、第１の専用バッファに一定の量のステータス情報を記憶するようになり、第１の専用バッファが一杯になったときに、変化履歴データを記憶するようにすると、第１の専用バッファの記憶容量まではステータス情報の全内容を記憶できる。
【００２７】
本発明の他の態様にかかる送信制御方法は、(a)送信バッファがバッファフルかどうかを確認し、バッファフルでないときには、連続して発生するステータス情報を送信バッファに記憶する工程と、(b)送信バッファがバッファフルのときには、前記送信バッファに記憶できない連続する前記ステータス情報の変化の有無を示す変化履歴データを生成する工程と、(c)少なくとも最新の前記ステータス情報及び前記変化履歴データとを記憶する工程と、(d)送信バッファのバッファフルが解除されたときに、記憶した前記最新のステータス情報及び変化履歴データを送信バッファに転送する工程とを備えることを特徴とする。
本発明の他の態様にかかる送信制御方法は、工程(b)、工程(c)及び工程(d)において処理の対象となる前記ステータス情報が、予め定められた所定の種類のステータス情報からなることを特徴とする。
【００２８】
本発明の他の態様にかかる送信制御方法は、工程(b)、工程(c)及び工程(d)において処理の対象となる前記ステータス情報が、１個のビットの有無で１個のステータスを表しており、変化履歴データを生成する工程(c)は、連続受信したステータス情報についてビット単位の論理輪和を順次算出することにより変化履歴を作成する工程とを備えることを特徴とする。
【００２９】
本発明の他の態様にかかる送信制御方法は、(a)送信バッファがバッファフルかどうかを確認し、バッファフルでないときには、連続して発生するステータス情報を送信バッファに記憶する工程と、(b)送信バッファがバッファフルのときには、バッファに記憶できないステータス情報を先入先出（ＦＩＦＯ）記憶方式の第１の専用バッファに記憶する工程と、(c)第１の専用バッファの最終段から連続して出力される前記ステータス情報のステータス変化の有無を示す変化履歴データを生成する工程と、(d)第１の専用バッファの最終段から出力されるステータス情報であて、少なくとも最新のステータス情報及び変化履歴データとを第２の専用バッファに記憶する工程と、(e)送信バッファのバッファフルが解除された場合であって、第２の専用バッファにステータス情報及び変化履歴データを記憶しているときには第２の専用バッファから送信バッファにステータス情報及び変化履歴データを転送し、第２の専用バッファにステータス情報を記憶していないときには、ステータス情報を記憶した順に第１の専用バッファから送信バッファに転送する工程とを備えることを特徴とする。
【００３０】
【発明の実施の形態】
以下、図面を参照しつつ、本発明の実施形態を詳細に説明する。本発明は、上述の通り、各種端末装置に適用することができるものであるが、以下の実施形態では、ＡＴＭ、ＰＯＳ、ＫＩＯＳＫ端末等に多用されており、ホスト装置とのデータ送受信の量が多く、またステータスの種類も多いプリンタについて説明する。特に以下の説明ではＰＯＳシステムに使用されるプリンタを用いて説明する。
【００３１】
図１に本発明の一実施態様にかかるプリンタ２の機能ブロック図を示す。図１の機能ブロック図も図８と同様に主用部のみを示している。図１のプリンタ２の構成はプリンタ２からホスト装置９０へのデータの送信を制御するための送信部１０を設けた点が、図８のプリンタ７０と異なる。図１においては、図８のプリンタ７０と同一の部分には、プリンタ７０と同一の番号を付してあり、詳細な説明は省略する。
【００３２】
送信部１０は、プリンタ２からホスト装置９０へデータを送信する際に、１バイト単位でホスト装置９０が受信可能状態であるかどうかを確認しながら送信する。ホスト装置９０が送信途中でビジー状態になると、送信を一時停止して、ホスト装置９０が受信可能な状態になったときに残りのデータを送信する。
【００３３】
図２を用いて本発明にかかる送信部１０の実施態様を説明する。図２は、送信部１０の基本構成の一実施態様を示す機能ブロック図である。送信部１０は送信制御部１１、送信バッファ１２及びポインタ１３により構成される。ステータス監視部８０から、制御信号が送信制御部１１に送信され、同時にステータスデータが送信バッファ１２に送られると、送信制御部１１はホスト装置９０がビジーかどうかを確認し、送信バッファ１２に記憶されているステータスデータを送信する。
【００３４】
本例の送信部１０では、ＡＳＢステータス専用バッファ１４、ＰＩＲ専用バッファ１５、マージ処理部１６、ＸＯＦＦ送信処理部１７及び信号線ステータス処理部１８が設けられている。ＡＳＢステータス専用バッファ１４には、送信バッファ７８に何らかの送信データが格納されている場合に、ＡＳＢステータスが一時記憶される。ＡＳＢステータスとは、既に説明したとおり、自動ステータス報告機能（ＡＳＢ）に基づくステータス情報であり、本例では４バイトから構成される。
【００３５】
プロセスＩＤレスポンス（以下、ＰＩＲという。）専用バッファには、送信バッファ１２に何らかの送信データが格納されている場合に、ＰＩＲデータが一時的に格納される。なお、ＰＩＲデータは、ホスト装置が制御コマンドや印刷データに任意に挿入してプリンタに送信したプロセスＩＤに応じて送信されるデータであり、当該制御コマンドや印刷データがプリンタによって処理されたことを示すものである。これにより、ホスト装置はプリンタ２の内部実行状態と同期を取りながらデータの送信を行うことができる。
【００３６】
本例においては、ＸＯＦＦ信号、信号線ステータス等の特定の送信データは、他の送信データより高い優先順位で送信するように送信制御部１１により制御される。ＸＯＦＦ送信処理部１７は、プリンタ２からの受信禁止信号（ＸＯＦＦ）を最優先でホスト装置に送信する。信号線ステータス処理部１８は、プリンタ２がオフライン状態になったとときにそのステータス情報をホスト装置９０に伝えるもので、ＸＯＦＦに次ぐ優先順位でホスト装置に送信される。ＸＯＦＦ信号及び信号線ステータスはいずれも送信バッファ１２を経由することなく直接送信ドライバ７８を経由してホスト装置９０に送信される。
【００３７】
マージ処理部１６は、ＡＳＢ専用バッファ１４またはＰＩＲ専用バッファ１５がバッファフルの場合に、後続する最新のステータス情報と、その変化履歴を記憶保持するために変化履歴情報を合成するものである。
【００３８】
送信部１０のステータス情報の受信について説明する。ステータス監視部８０からステータス情報及び制御信号が送信されると、制御信号は送信制御部１１に入力され、ステータスデータは送信バッファ１２に一時記憶される。送信バッファ１２の記憶容量は、自由に設定可能である。例えば、１２８バイトと設定することも可能である。
【００３９】
ポインタ１３は次に送信するデータの位置を示す読出ポインタ１３ａと、次に送信バッファ１２に格納する位置を示す書込ポインタ１３ｂとを有している。送信バッファ１２にステータスデータを一時記憶させると、この書込ポインタ１３ｂがインクリメントされる。なお、両ポインタとも送信バッファ１２が設定されているＲＡＭ内の送信バッファに対応するアドレス範囲を移動するように、制御される。即ち、ポインタをインクリメントして当該アドレス範囲の最大値を超えた場合には、当該アドレス範囲の最小値に設定されるように制御する。このようなバッファ構造はリングバッファとして知られている。
【００４０】
送信バッファがバッファフルである場合には、原則として、送信バッファ１２の空きができたときに送信されるべき次のステータス情報が格納される。但し、ＡＳＢステータス情報、ＰＩＲデータはその性質上、データ発生の頻度が高い場合には格納すべきデータ量が膨大になることが考えられるため、専用バッファ１４及び１５をそれぞれ設け、これらに一時記憶された後に送信バッファ１２に転送される。
【００４１】
専用バッファ１４又は１５もバッファが満杯（バッファフル）となった場合等、所定の場合には、マージ処理部１６により、ＡＳＢ等のステータス情報の変化履歴を作成し、最新発生のステータス情報とともに専用バッファ１４、１５にこれらの変化履歴を一時記憶する等の、格納される情報の性質に応じたマージ処理が行われる。なお、マージ処理の詳細については後述する。
【００４２】
(通常通信データの送信処理動作手順の説明)
まず、図２及び図３を用いて、送信部１０の送信処理動作の手順を説明する。図３は、送信部１０の送信時の制御動作手順を説明するためのフローチャートである。
【００４３】
図３の右上のテーブルＬ・ＩＤ・Ｓ1・Ｓ2・Ｓ3・Ｓ4は送信バッファ１２に記憶されているデータを例示しており、Ｓ1・Ｓ2・Ｓ3・Ｓ4がホスト装置９０に送信される。
【００４４】
送信制御部１１は、送信バッファ１２にデータがあるかどうかを確認する。これは、上記の書込ポインタ１３ｂと読出ポインタ１３ａとを比較し、値が同一で有れば送信バッファ１２が空であると判断することができる。そして送信データがあると（Ｓ１００；Ｙｅｓ）、ホスト装置９０がビジーかどうかを確認する（Ｓ１０１）。ホスト装置９０がビジーであると、送信処理をせずにホスト装置９０が受信可能な状態になるのを待つ（Ｓ１０１；Ｙｅｓ）。ホスト装置９０がビジーでなければ（Ｓ１０１；Ｎｏ）、現在、プリンタ２が一連の送信データを送信している途中か否かを確認する（Ｓ１０２）。今、データ送信を開始しようとしているところであり送信中では無いので（Ｓ１０２；Ｎｏ）、次の工程に進み、ＸＯＦＦ送信要求の有無を確認する（Ｓ１０３）。ＸＯＦＦ送信要求がなければ、信号線ステータスの有無を確認し（Ｓ１０４）、いずれも無ければ（Ｓ１０３及び１０４；Ｎｏ）、送信バッファ１２から最初のデータ、すなわち、これから送信するステータス情報の長さ“Ｌ”を読み出し、ポインタ１３をインクリメントする（Ｓ１０５）。なお、ここで取得したステータス情報の長さＬはＲＡＭに格納され、本送信ループのループカウンタの初期値として用いられる。次に送信バッファ１２から“ＩＤ”を読み出し、送信データの種類（ステータスの種類等）を判別する（Ｓ１０６）。工程Ｓ１０８では送信バッファ１２から次のデータ“Ｓ1”が読み出されて、ホスト装置９０に送信される。その後ポインタ１３がインクリメントされて、次の送信データ“Ｓ2”を指定した状態で、１バイトの送信が終了する（Ｓ１０９）。なお、この処理の中で上述のループカウンタがデクリメントされる。
【００４５】
次の１バイトの送信も同様の処理、即ち本送信ループを繰り返す。先ず送信データがあるかどうかを確認する（Ｓ１００）。今、送信データ（Ｓ2〜Ｓ4）が残っているので、次の工程（Ｓ１０１）に進み、ホストビジーかどうかが確認される（Ｓ１０１）。ビジーであれば、ホスト装置がレディーになるまで送信処理は一時停止され（Ｓ１０１；Ｙｅｓ）。ホストビジーでない場合には（Ｓ１０１；Ｎｏ）、現在送信中かどうかが確認される（Ｓ１０２）。データ送信中か否かは、上述のループカウンタの値が零か否かで判断することができる。零の場合は送信でないものとされる。今、データ送信中であるので（Ｓ１０２；Ｙｅｓ）、工程（Ｓ１１０、Ｓ１１１）に分岐し、ＸＯＦＦ信号及び信号線ステータスの有無が確認される。これらがない場合には（Ｓ１１０；Ｎｏ、Ｓ１１１；Ｎｏ）、ポインタ１３で指定されているステータスＳ2が読み出され、ホスト装置９０に送信される（Ｓ１０８）。１バイトの送信が終わると、次のステータスＳ3を送信するための準備としてポインタ１３がインクリメントされる（Ｓ１０９）。同様の処理をループカウンタを用いて繰り返し行うことにより、ステータスデータ長Ｌで示された数のステータスデータを送信することができる。なお、上記のステータスデータの例では、ステータスＳ3及びＳ4を送信して、一連の送信データの送信処理を完了する。
【００４６】
(ＸＯＦＦ信号、信号線ステータスの送信手順の説明)
次にステータスデータの送信中に、ＸＯＦＦ信号送信要求または信号線ステータスの送信要求が発生した場合について説明する。図２に示すように、ＸＯＦＦ信号及び信号線ステータスは送信バッファ１２には記憶されることなく、ＸＯＦＦ信号処理部１７及び信号線ステータス処理部１８により直接送信ドライバ７８を経由してホスト装置に送信される。この場合の送信処理は、送信バッファ１２の送信データに優先して行われる。図３の送信制御フローを用いて説明する。
【００４７】
今、第１番目のステータスデータ“Ｓ1”の送信準備中にＸＯＦＦ送信要求があったとすると（Ｓ１０３；Ｙｅｓ）、Ｄに分岐し、ＸＯＦＦ信号（１バイト）を優先的に送信する。一連の送信データＳ2〜Ｓ4の送信途中にＸＯＦＦ信号の送信要求があった場合（Ｓ１１０；Ｙｅｓ）にも、信号線ステータスの送信途中でない限り（Ｓ１１２；Ｎｏ）、ＸＯＦＦ信号を送信する。このように、ＸＯＦＦ信号は、信号線ステータスの送信途中の場合を除き、もっとも高い優先順位でホスト装置９０に送信される。
【００４８】
信号線ステータスが発生した場合には（Ｓ１０４；Ｙｅｓ）、信号線ステータスの長さ（複数バイトの設定が可能）及びそのＩＤがセットされて（Ｓ１１４）、信号線ステータスが１バイト送信される（Ｓ１１５）。信号線ステータスが数バイトある場合には、ホストビジーかどうかが確認され（Ｓ１０１）た後、信号線ステータス送信中であれば（Ｓ１１１；Ｙｅｓ又はＳ１１２；Ｙｅｓ）、残りの信号線ステータスが１バイトずつ順次送信される（Ｓ１１５）。これらの制御手順からわかるように、信号線ステータスはＸＯＦＦ信号に次ぐ優先順位で送信される。
【００４９】
次に、送信バッファ１２に送信データがない場合について説明する。送信バッファ１２にデータがない場合には、図３の工程Ｓ１００からＡに分岐する。図４に分岐Ａの処理のフローチャートを示す。
【００５０】
送信バッファ１２に送信データが存在しない場合には、先ずＡＳＢ専用バッファ１４又はＰＩＲ専用バッファ１５にＡＳＢステータスまたはＰＩＲデータがあるかどうかが確認される（Ｓ１２０）。ＡＳＢステータスまたはＰＩＲデータがあると、それらのデータが送信バッファ１２に送信されて（Ｓ１２１）、図３のＢに分岐する。図３では、すでに説明したとおり、ホスト装置９０がビジーかどうかを確認した後（Ｓ１０１）、ステータスの送信が行われる。
【００５１】
ＡＳＢステータス又はＰＩＲデータが、専用バッファ１４又は１５に記憶されていない場合には（Ｓ１２０；Ｎｏ）、信号線ステータス又はＸＯＦＦ信号送信要求の有無を確認して、送信要求がなければ（Ｓ１２２；Ｎｏ）送信要求を無しの設定を行い図３のＣに分岐し送信処理を終了する。送信要求があればＳ１２２；Ｙｅｓ）、図３のＢに分岐し、ＸＯＦＦ信号または信号線ステータスの送信処理を行う。
【００５２】
(マージ処理の説明)
次にマージ処理について詳細に説明する。マージ処理は、図２の実施態様では送信バッファ１２に送信データが有り、ＡＳＢ専用バッファ１４、ＰＩＲ専用バッファ１５に既にデータが格納されている状態で、さらにＡＳＢステータス、ＰＩＲデータがそれぞれ発生した場合に行われる。
【００５３】
図５はマージ処理の手順を示すフローチャートである。先ずＡＳＢステータス又はＰＩＲデータがステータス監視部８０から出力されると、マージ処理部１６（図２）は先ずマージ処理が必要か否かを判断する。例えば対応する専用バッファ１４又は１５に空きがない場合にはマージ処理が必要であると判断する（Ｓ１３０）。専用バッファに空きがあると（Ｓ１３０；Ｎｏ）、最新データを対応する専用バッファ１４又は１５に記憶する（Ｓ１３３）。但し、格納されるデータの性質上、複数発生するデータの変化経過が重要でない場合には、ホスト装置に送信するデータの量を減らすために、専用バッファに空きがあってもマージ処理が必要と判断されることもある。空きがない場合等、所定の場合には（Ｓ１３０；Ｙｅｓ）、専用バッファに記憶されている履歴データを更新し（Ｓ１３１）、その後に最新発生のＡＳＢステータス又はＰＩＲデータを対応する専用バッファ１４又は１５に記憶する（Ｓ１３２）。
【００５４】
図６を用いて、ＡＳＢステータスに関する履歴データの更新について説明する。なお、以下「最新発生データ」は「生成された最新のステータスデータ」を示し、「最新記憶データ」は「記憶された最新のステータスデータ」を示す。図６は、マージ処理部１６とＡＳＢ専用バッファ１４の基本構成を説明するための機能ブロック図である。ＡＳＢ専用バッファ１４は、Ｎｅｗは４バイト（３２ビット）からなるＡＳＢステータスデータ記憶部２０と、Ｍｉｄは４バイト（３２ビット）からなる変化履歴記憶部２１とからそれぞれ構成されている。
【００５５】
ＡＳＢステータス記憶部２０には、最新発生のＡＳＢステータスが記憶される。変化履歴記憶部２１には、後述するように、マージ処理部に対して順次送られた複数個のＡＳＢステータスデータに変化があったか否かの情報、即ち変化履歴データが格納される。
【００５６】
送信バッファ１２に空きができると、送信バッファに、変化履歴データと最新記憶データとの排他的論理和であるステータスの変化を定義する変更データが生成されて転送され、それに続いて最新記憶データが転送される。変化履歴データと最新記憶データとの排他的論理和により生成された前記変更データは、変化があったステータス（ビット）については最新記憶データ中の対応するビットと逆の状態を示し、変化がなかったステータス（ビット）については同じ状態を示している。これにより、ホスト装置に最後に送信されたステータスデータと最新記憶データとが同じであったとしても、それらの途中にステータスの変化が発生していれば、そのステータス変化をホスト装置に知らせることができる。
【００５７】
ＡＳＢステータスデータは、その性質上、ステータスの変化の有無が重要であり、変化の順序等の過程を知る必要はない。また、最新の状態を早期にホスト装置に送信することが最も重要であるため、送信すべきＡＳＢステータスデータの量を極力減らすことが求められる。従って、最新の状態及び変化があったか否かの情報を各ステータス（ビット）について記憶することによって、必要最小限のデータを得ることができる。
【００５８】
本例においては、以下の理由から、ＡＳＢステータスデータに変化があったか否かの情報を、変化履歴データと最新発生データとの排他的論理和により生成されたＡＳＢステータスの形になおしてからホスト装置に送信している。即ち、変化履歴データ自体はＡＳＢステータスではなく、そのままホスト装置に送信しても、ホスト装置では解釈できない。言い換えれば、ホスト装置では送信されたデータが「ＡＳＢステータスデータ」なのか「変化履歴データ」なのか識別することができないから、ホスト装置でＡＳＢステータスデータの変化履歴を復元することはできないからである。
【００５９】
図中、Ｔｒａｎで示されているのは、ステータス監視部８０から転送されてきた最新発生のＡＳＢステータスデータ２２であり、４バイト（３２ビット）で構成されている。なお、この実施態様では、ＡＳＢステータスは４バイトで構成されているものとして説明するが、ＡＳＢステータスのサイズ（レングス）は自由に設定可能である。
【００６０】
図６は、マージ機能の一例を説明するための図であるため、タイミングその他の詳細な制御については省略してある。ステータス監視部８０からステータスが転送されてきたときに、ＡＳＢ専用バッファ１４が空であれば、前述の通り、そのままＡＳＢステータスデータ記憶部２０に記憶される。変化履歴記憶部２１の初期値は零であり、その後は、送信バッファ１２にそのデータを転送したときに零にクリアされる。
【００６１】
マージ処理部１６には、ＡＳＢステータスデータの各ビットに対応して変化検出部２３−１〜２３−３２が設けられている。各マージ検出部２３には排他的オアゲート２４とオアゲート２５が設けられており、記憶済みのデータビットＮｅｗ１に対して新しいビットＴｒａｎ１に変化があれば“１”を出力するように構成されている。排他的オアゲート２４の出力は、オアゲート２５に入力され、そこで、変化履歴データの対応するビットＭｉｄ１と論理和がとられる。
【００６２】
従って、オアゲート２５の出力は、送信バッファ１２にＡＳＢステータスデータを転送した後に発生したＡＳＢステータスの各ビットに一度でも変化があると、“１”が出力されることになる。即ち変化があったという情報が変化履歴記憶部２１に保持される。オアゲート２５の出力は、変化履歴記憶部の対応するビットに入力されており、ＥＮＢ２のタイミングで変化履歴記憶部２１のデータが更新される。これにより、変化履歴記憶部２１の出力ビットから、ＡＳＢステータスの変化を知ることが可能となる。
【００６３】
ＥＮＢ２による変化履歴記憶部２１の更新が終了した後に、ＥＮＢ１が活性状態となり、最新発生のステータスデータＴｒａｎ１〜３２がＡＳＢステータスデータ記憶部２０に記憶される。ＡＳＢステータスデータ記憶部２０及び変化履歴記憶部２１はＡＳＢ専用バッファの一部に設けてもよい。この場合には、ＡＳＢ専用バッファ１４には、最新ＡＳＢステータスと、変化履歴が記憶されており、上述のように、送信バッファ１２に空きができたときに、先ず最新ＡＳＢステータスデータと変化履歴データとの排他的論理和が、次に最新ＡＳＢステータスデータが順次転送される。
【００６４】
図７を用いて、これらのデータの変化をより具体的に説明する。図７は、最新発生データ（Ｔｒａｎ）、変化履歴データ（Ｍｉｄ）及び最新記憶データ（Ｎｅｗ）の変化を示す図である。図７では、説明を簡単にするためにＡＳＢステータスデータの一部（１バイト（８ビット））について例示している。
【００６５】
送信バッファ１２に送信データがあるため、ＡＳＢを記憶できない状況下、ＡＳＢステータス（データ１）が転送されてきたとする。今、ＡＳＢ専用バッファ１４がマージ処理を必要とする状態ではないため、データ１がそのままＡＳＢステータスデータ記憶部２０に記憶され、マージ処理は終了する（図５のＳ１３０、Ｓ１３３）。
【００６６】
この状態で、次のＡＳＢステータスデータ（データ２）が転送されると、マージ処理が実質的に起動され（同Ｓ１３０）、まず変化履歴が作成される。最新記憶データＮｅｗのビット１であるＮｅｗ１が“１”でありデータ２のビット１（Ｔｒａｎ１）が“０”であるため、変化履歴データのビット１（Ｍｉｄ１）は“１”となり、また、“０”であったＮｅｗ２が“１”（Ｔｒａｎ２）に変化しているため、変化履歴データのＭｉｄ２も“１”となる（同Ｓ１３１）。その後、最新記憶データＮｅｗにデータ２（Ｔｒａｎ）の内容がそのまま記憶される（同Ｓ１３２）。
【００６７】
その後、データ３がステータス監視部８０から転送されると、同様にして、変化履歴データのビット３（Ｍｉｄ３）が“１”に変化するとともに、ビット１及び２（Ｍｉｄ１、Ｍｉｄ２）は“１”の状態に維持される。その後に、データ３がそのまま最新記憶データ（Ｎｅｗ）として記憶される。
【００６８】
同様にしてデータ４、データ５が順次転送されると、変化履歴データのビット４、ビット５（Ｍｉｄ４、５）が順次“１”になり、最新記憶データＮｅｗとして最新発生のデータ５（Ｔｒａｎ）が記憶される。
【００６９】
データ６が転送された場合は、ビット１が“０”（Ｎｅｗ１）から“１”（Ｔｒａｎ１）に、ビット５が“１”（Ｎｅｗ５）から“０”（Ｔｒａｎ５）に、それぞれ変化しているが、これらに対応する変化履歴データの各ビット（Ｍｉｄ１、５）は既に“１”にセットされているので、変化履歴データは変化しない。
【００７０】
この状態で、送信バッファ１２への転送が可能になった場合は、上述のように、データ６の処理後の最新記憶データＮｅｗ「０００００００１」と変化履歴データＭｉｄ「０００１１１１１」との排他的論理和が演算され（「０００１１１１０」）、当該排他的論理和が先ず送信バッファ１２へ転送される。そして次に、最新記憶データＮｅｗが送信バッファ１２に転送される。
【００７１】
上述の実施形態においては、ＡＳＢステータスデータの変化過程の情報が不要なものとしているが、例えば各ステータスの変化する順序等の変化過程情報を専用バッファ容量の許す限り保存したいという場合には、上記の実施形態に以下の構成を追加すればよい。即ち、専用バッファとしてＦＩＦＯバッファを用い、ステータス監視部８０から転送されたＡＳＢステータスデータ（Ｔｒａｎ）をこのＦＩＦＯバッファに入力する。一方、このＦＩＦＯバッファがあふれた場合には、その出力を図６に示すマージ回路に入力し、最新ＡＳＢステータスデータ（Ｎｅｗ）及び変化履歴データ（Ｍｉｄ）を生成し、ＲＡＭ内の所定のアドレスに格納する。但し、この場合の最新ＡＳＢステータスデータは、真の最新データではないことに留意されたい。送信バッファ１２にＡＳＢステータスデータを転送する場合には、上記の実施形態と同様に、変化履歴データと最新ＡＳＢステータスデータとの論理和、最新ＡＳＢステータスデータ、ＦＩＦＯバッファの出力データの順に転送する。
【００７２】
また、ＰＩＲデータは所定のプロセスの進捗状況をホスト装置が把握するためのデータであり、その性質上、中間履歴情報が必要でないため、未送信のＰＩＲデータがＰＩＲ専用バッファに格納されている場合には、最新のＰＩＲデータへの上書き処理を行う。
【００７３】
尚、上述の実施態様においては、プリンタなどの端末装置からホスト装置へのデータの送信についてのみ説明したが、端末装置内に独立動作するインターフェース手段を設け、そのインターフェース手段とデータ通信する場合もホスト装置との通信の場合と同様である。すなわち、端末装置内のインターフェース手段に対して、１バイト単位で送信データを送信する送信制御は本発明の予定するところである。
【００７４】
以上説明したように本発明によると、連続して発生するステータス情報については、専用バッファを設けるとともにステータスの変化履歴を記憶し、ホスト装置には最新のステータス情報とそれに至るステータスの変化を定義する変更データのみを送信するよう構成して、送信のためのバッファを少なくすることが可能になる他、通信負荷を大幅に減少させることも可能となる。
【図面の簡単な説明】
【図１】本発明の１実施態様にかかるプリンタ２の機能ブロック図を示す。
【図２】第２の実施態様にかかる送信部１０−２の基本構成を示す機能ブロック図である。
【図３】第２の実施態様にかかる送信部１０-２の送信時の制御動作を説明するためのフローチャートである。
【図４】図３の工程Ｓ１００からの分岐Ａのフローチャートである。
【図５】マージ処理の手順を示すフローチャートである。
【図６】マージ処理部１６とＡＳＢ専用バッファ１４の基本構成を説明するための機能ブロック図である。
【図７】最新発生データ（Ｔｒａｎ）、変化履歴データ（Ｍｉｄ）及び最新記憶データ（Ｎｅｗ）の変化を示す図である。
【図８】図８は従来技術に係るプリンタ７０の主要部のみを示す機能ブロック図。
【符号の説明】
２    本発明に係るプリンタ
１０  送信部
１１  送信制御部
１２  送信バッファ
１４  ＡＳＢ専用バッファ
１６  マージ処理部
２０  ＡＳＢステータスデータ記憶部
２１  変化履歴記憶部
２２  最新発生のＡＳＢステータスデータ
２３  変化検出部
２４  排他的オアゲート
２５  オアゲート
【図１】
0004524912.tif 000002
【図２】
0004524912.tif 000003
【図３】
0004524912.tif 000004
【図４】
0004524912.tif 000005
【図５】
0004524912.tif 000006
【図６】
0004524912.tif 000007
【図７】
0004524912.tif 000008
【図８】
0004524912.tif 000009