(57)【特許請求の範囲】
【請求項１】
接続された印刷装置に、リアルタイム処理コマンドと、リアルタイム処理許可コマンドと、リアルタイム処理禁止コマンドと、を含むデータを送信するホストコンピュータによる印刷装置の制御方法において、
前記リアルタイム処理コマンドの一つとして、前記印刷装置の電源をオフするためのリアルタイム電源オフコマンドを含み、
前記リアルタイム処理許可コマンドを送信することによって、前記リアルタイム電源オフコマンドについて、当該コマンドの実行の許可を設定し、
前記リアルタイム処理禁止コマンドを送信することによって、前記リアルタイム電源オフコマンドについて、当該コマンドの実行の禁止を設定するものであって、
前記リアルタイム処理禁止コマンドを送信して、前記リアルタイム電源オフコマンドの実行を常には禁止しておき、
前記リアルタイム電源オフコマンドを用いて前記印刷装置の電源をオフするときには、前記印刷装置の電源をオフする直前に前記リアルタイム処理許可コマンドを送信して、前記リアルタイム電源オフコマンドの実行を許可し、その後、前記リアルタイム電源オフコマンドを送信することを特徴とする印刷装置の制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、印刷装置、情報処理装置、これらの制御方法、および、情報記録媒体に関する。特に、画像用のバイナリデータやフォント登録バイナリデータなどのバイナリデータと、リアルタイム処理コマンドを意味するデータ列とを区別して処理する印刷装置、情報処理装置、これらの制御方法、および、これらを実現するプログラムを記録した情報記録媒体に関する。
【０００２】
【従来の技術】
印刷装置（プリンタ）は、紙などの印刷体に文字や図形を印刷するための装置として広く普及している。このようなプリンタは情報処理装置（ホストコンピュータ）に接続され、ホストコンピュータは、文字や図形を印刷するためのデータ列や、プリンタ自体を制御するためのデータ列をプリンタに送信する。
【０００３】
ホストコンピュータがプリンタに送信するデータは、ビット列として見ることもバイト列として見ることもできる。特に、プリンタにおいては、８ビット（１バイト）単位でコマンド体系を構築し、いずれのコマンドも、８の倍数のビット数、すなわち、あるバイト数のデータによって構築することが多い。又、コマンドは、上記バイト列であるコマンドシンボルと、必要に応じてこれに付随するバイト列のパラメータと、更に必要に応じて付加されるデータとからなる。
【０００４】
文字を印刷するためのデータ列としては、ＡＳＣＩＩコードと同じバイト値を使用する一方で、画像の印刷やユーザ定義フォントの定義では、バイト列により白黒を表す手法が使用されている。また、画像においては、画像の各点の色を各バイトに含まれる複数のビットによって表す手法もある。
【０００５】
プリンタのインターフェース部が１バイトもしくは数バイトのデータを受信すると、受信割り込みが発生し、受信割り込み処理が起動される。受信割り込み処理では、以下の処理を行う。
【０００６】
（１）受信したデータにリアルタイム処理コマンドが含まれるか否かを判別し、含まれている場合には、そのリアルタイム処理コマンドに対応する処理を直ちに実行する。（この技術的内容については、公開広報：特開平０９−１６４７４を参照）
（２）受信したデータをＲＡＭ（Random Access Memory）で構成される受信バッファに記憶する。
【０００７】
これらの受信割り込み処理が所定の範囲で終了したら、通常処理に戻る。一般的には、キャリッジリターンを受信するか、受信バッファが満杯（フル）になるまで連続的に実行される。通常処理では、受信バッファに記憶されたデータ列を解釈して、ＲＡＭに用意されたプリントバッファに印刷イメージを展開する。この作業は、受信したデータの順に実行されるいわゆるＦＩＦＯ処理である。これに対して、上記リアルタイム処理コマンドは、ＦＩＦＯ処理のルールを無視して実行されるコマンドである。
【０００８】
印刷イメージは、印刷領域のどの部分を白くし、どの部分を黒くするか、すなわち、どのように印刷ヘッドを駆動するかを１と０のビット値で表現するのが一般的である。１行文の印刷イメージが展開できたら、プリントバッファの内容にしたがって印刷ヘッドを駆動し、紙などの印刷体に文字や図形を印刷する。
【０００９】
リアルタイム処理コマンドに相当するデータ列が受信バッファに入っていても、すでに受信割り込み処理においてこれに対応する処理の実施が行われているため、通常処理においては単に読み飛ばされる。
【００１０】
さて、従来は、リアルタイム処理コマンドとして、以下のようなものが使用されていた。なお、以下のデータのバイト列は、ＡＳＣＩＩコードのニーモニックを使用して表示している。
【００１１】
・「DLE   EOT   NUL 」プリンタの状態をリアルタイムにホストコンピュータに送信する。
【００１２】
・「DLE   EOT   BEL 」プリンタのインクの状態をリアルタイムにホストコンピュータに送信する。
【００１３】
・「DLE   EOT   BS」ＭＩＣＲ（Magnetic Ink Character Recognition）機能に関するステータスの状態をリアルタイムにホストコンピュータに送信する。
【００１４】
・「DLE   ENQ 」プリンタに対するリアルタイム要求。
【００１５】
・「DLE   DC4   SOH 」指定パルスをリアルタイムに出力する。
【００１６】
・「DLE   DC4   STX 」プリンタの電源をオフにする。
【００１７】
・「DLE   DC4   BS」プリンタの受信バッファをクリアする。
【００１８】
・このほか、当該プリンタがレジスタとして利用されている場合には、銭箱を開けるなどの処理をリアルタイム処理コマンドにより指示できるようにすることがある。この場合は、新たなリアルタイム処理コマンドを用意する。
【００１９】
ここで、各ニーモニックは以下のように定義される。十六進数表記で表記しており、「0x」は、十六進数を意味する接頭辞である。
【００２０】
NUL   ＝  0x00
SOH   ＝  0x01
STX   ＝  0x02
EOT   ＝  0x04
ENQ   ＝  0x05
BEL   ＝  0x07
BS    ＝  0x08
DLE   ＝  0x10
DC4   ＝  0x14
【００２１】
【発明が解決しようとする課題】
しかしながら、画像用のバイナリデータやフォント登録用のデータといったバイナリデータを印刷装置に転送するためのデータ列定義の中に偶然リアルタイム処理コマンドと同じデータ列が現われることがある。本来リアルタイム処理コマンドと解釈すべきでない場合であっても、上記のように受信割り込み処理において、リアルタイム処理コマンドに対応する処理が実行されてしまう、という可能性があった。
【００２２】
すなわち、ホストコンピュータが意図しないタイミングで意図しないリアルタイム処理コマンドの処理が実行されるため、プリンタの電源がオフになってしまったり、ホストコンピュータ側で受信の準備がされていなかったりプリンタとの整合性がとれなくなったりしてしまう、という可能性があった。
【００２３】
このため、リアルタイム処理コマンドのデータ列と同じデータ列を含むようなバイナリデータのデータ列を、リアルタイム処理コマンドとは区別してホストコンピュータからプリンタに転送したいという要望が生じていた。
【００２４】
本発明は、以上のような問題を解決するためになされたもので、イメージデータやフォント登録データなどのバイナリデータと、リアルタイム処理コマンドを意味するデータ列とを区別して処理する印刷装置、情報処理装置、これらの制御方法、および、これらを実現するプログラムを記録した情報記録媒体を提供することを目的とする。
【００２５】
【課題を解決するための手段】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【００２６】
本発明の印刷装置の制御方法は、
接続された印刷装置に、リアルタイム処理コマンドと、リアルタイム処理許可コマンドと、リアルタイム処理禁止コマンドと、を含むデータを送信するホストコンピュータによる印刷装置の制御方法において、
前記リアルタイム処理コマンドの一つとして、前記印刷装置の電源をオフするためのリアルタイム電源オフコマンドを含み、
前記リアルタイム処理許可コマンドを送信することによって、前記リアルタイム電源オフコマンドについて、当該コマンドの実行の許可を設定し、
前記リアルタイム処理禁止コマンドを送信することによって、前記リアルタイム電源オフコマンドについて、当該コマンドの実行の禁止を設定するものであって、
前記リアルタイム処理禁止コマンドを送信して、前記リアルタイム電源オフコマンドの実行を常には禁止しておき、
前記リアルタイム電源オフコマンドを用いて前記印刷装置の電源をオフするときには、前記印刷装置の電源をオフする直前に前記リアルタイム処理許可コマンドを送信して、前記リアルタイム電源オフコマンドの実行を許可し、その後、前記リアルタイム電源オフコマンドを送信することを特徴とする。
また、以下の構成でも構わない。
【００２７】
又本発明の、印刷装置は、前記リアルタイム処理許可コマンド、及び／又はリアルタイム処理許可コマンドは、少なくとも２バイトのパラメータを有し、当該パラメータは、前記複数のリアルタイム処理コマンドのそれぞれについて設定すべきコマンドを指定するパラメータと、設定すべき内容を指定するパラメータとを有し、前記設定部は前記複数のコマンドについて、前記パラメータに従って前記複数のリアルタイム処理コマンドのそれぞれについて当該コマンドの実行を許可するかどうかを前記指示部に設定することを特徴とする。
【００２８】
又、本発明の印刷装置は、前記リアルタイム処理許可コマンド及びリアルタイム処理禁止コマンドは、同一のコマンドシンボルを有し、前記パラメータによって、許可もしくは禁止が指定可能なリアルタイム処理許可・禁止コマンドとして用意され、前記設定部は、当該リアルタイム処理許可・禁止コマンドに応答し、前記複数のリアルタイム処理コマンドごとに当該コマンドの実行許可あるいは禁止をを前記指示部に設定することを特徴とする。
【００２９】
又、本発明の印刷装置は、情報処理装置に接続され、所定のコマンド及び、データ等からなるデータ列を受信し、印刷及び前記コマンドに対応する所定の処理を実行する印刷装置において、（ａ）リアルタイム処理コマンド、リアルタイム処理許可・禁止コマンド、通常処理コマンドの１つまたはそれらの組み合わせを含むデータ列を受信する受信・解析処理部と、（ｂ）前記リアルタイム処理コマンドの実行を許可するかどうかを指示する指示部と、（ｃ）前記受信・解析処理部がリアルタイム処理許可・禁止コマンドのデータ列を受信した時、当該コマンドに対応したパラメータに基づいてリアルタイム処理コマンドの実行を許可あるいは、禁止を前記指示部に設定する設定部と、（ｄ）前記指示部がリアルタイム処理コマンドの実行の許可を示す状態の時、前記受信・解析処理部が受信したデータ列がリアルタイム処理コマンドの場合、当該リアルタイム処理コマンドのデータ列に対応するリアルタイム処理を実行するリアルタイム処理部と、（ｅ）前記受信・解析処理部により受信されたデータ列が通常処理コマンドのデータ列である場合、当該通常処理コマンドのデータ列に対応する通常処理を実行する通常処理部と、を有することを特徴とする印刷装置である。
【００３０】
又、前記リアルタイム処理許可・禁止コマンドは、コマンドシンボルと、これに対応するパラメータを有し、前記設定部は、リアルタイム許可・禁止コマンドに応答し、前記パラメータの内容に従って、複数のリアルタイム処理コマンドごとにコマンドの実行を許可あるいは禁止することを前記指示部に設定することを特徴とする印刷装置である。
【００３１】
更に、本発明は 以下のステップを備えることを特徴とする印刷装置の制御方法である。
【００３２】
（ａ）リアルタイム処理コマンド、リアルタイム処理禁止コマンド、リアルタイム処理許可コマンド、通常処理コマンドの１つまたはそれらの組み合わせを含むデータ列を受信する受信ステップと、（ｂ）前記受信ステップにおいて受信されたデータ列がリアルタイム処理コマンドのデータ列である場合、前記受信ステップにおいて、前記リアルタイム処理コマンドがその実行を許可されているどうかを判断するステップと、（ｃ）前記判断ステップにおいて、前記リアルタイム処理コマンドが、許可されているコマンドであれば、これに対応する処理を実行し、禁止されているコマンドであればこれを実行せず無視するステップと、（ｄ）前記受信ステップにおいて受信されたデータ列が通常処理コマンドのデータ列である場合、当該通常処理コマンドのデータ列に対応する通常処理を実行する通常処理ステップ。
【００３３】
本発明の 印刷装置の制御方法は、 以下のステップを備えることを特徴とする。
【００３４】
（ａ）リアルタイム処理コマンド、リアルタイム処理禁止コマンド、通常処理コマンドの１つまたはそれらの組み合わせを含むデータ列を受信する受信ステップと、（ｂ）前記受信ステップにおいて受信されたデータ列がリアルタイム処理コマンドのデータ列である場合、当該コマンドのコマンドシンボルとこれに付随するパラメータとに応じて、複数のリアルタイム処理コマンドのそれぞれについてその処理の実行を許可あるいは禁止を所定の指示部に設定するステップと、（ｄ）前記複数のリアルタイム処理コマンドのいずれか１つのコマンドに対応するコマンド列を受信したとき、前記指示部の内容によって、当該リアルタイム処理を実行するか、または禁止するかを選択するステップと、（ｅ）前記通常コマンドを受信したとき、当該コマンドの内容に従って通常の処理を実行するステップ。
【００３５】
更に又、本発明は、印刷装置を制御するプログラムを記録した情報記録媒体であり、以下のステップを備えることを特徴とする。（ａ）リアルタイム処理コマンド、リアルタイム処理禁止コマンド、リアルタイム処理許可コマンド、通常処理コマンドの１つまたはそれらの組み合わせを含むデータ列を受信する受信ステップと、（ｂ）前記受信ステップにおいて受信されたデータ列がリアルタイム処理コマンドのデータ列である場合、前記受信ステップにおいて、前記リアルタイム処理コマンドがその実行を許可されているどうかを判断するステップと、（ｃ）前記判断ステップにおいて、前記リアルタイム処理コマンドが、許可されているコマンドであれば、これに対応する処理を実行し、禁止されているコマンドであればこれを実行せず無視するステップと、（ｄ）前記受信ステップにおいて受信されたデータ列が通常処理コマンドのデータ列である場合、当該通常処理コマンドのデータ列に対応する通常処理を実行する通常処理ステップ。
【００３６】
更に又、本発明は、印刷装置に接続され、所定の通常処理を実行させるための複数の通常処理コマンド、および通常処理コマンドに優先して実行させる複数のリアルタイム処理コマンドから選択的に１つあるいはそれらの組み合わせのコマンドを含むデータ列を前記印刷装置に送信して所定の処理を実行させる情報処理装置において、（ａ）アプリケーションプログラムからの要求に応答して、前記印刷装置に、所定の通常処理を実行させるためのコマンドと必要に応じてこれに付随するデータを送信する部と、（ｂ）前記印刷装置に、前記通常処理より優先順位の高い処理を実行させるためのリアルタイム処理を実行させるコマンド送信する部と、（ｃ）前記通常処理のコマンドが、バイナリデータの転送を実行するコマンドの時、このコマンドの送信に先立って、前記リアルタイム処理コマンドの実行を禁止するためのリアルタイム処理禁止コマンドを送信する部と、（ｄ）前記バイナリデータの転送が終了したとき、前記リアルタイム処理コマンドの実行を許可するリアルタイム処理許可コマンドを送信する部とを有することを特徴とする情報処理装置。
【００３７】
更に又、本発明は、印刷装置に接続され、所定の通常処理を実行させるための複数の通常処理コマンド、および通常処理コマンドに優先して実行させる複数のリアルタイム処理コマンドから選択的に１つあるいはそれらの組み合わせのコマンドを含むデータ列を前記印刷装置に送信して所定の処理を実行させる情報処理装置において、（ａ）アプリケーションプログラムからの要求に応答して、前記印刷装置に、所定の通常処理を実行させるためのコマンドと必要に応じてこれに付随するデータを送信するステップと、（ｂ）前記印刷装置に、前記通常処理より優先順位の高い処理を実行させるためのリアルタイム処理を実行させるコマンド送信するステップと、（ｃ）前記通常処理のコマンドが、バイナリデータの転送を実行するコマンドの時、このコマンドの送信に先立って、前記リアルタイム処理コマンドの実行を禁止するためのリアルタイム処理禁止コマンドを送信するステップと、（ｄ）前記バイナリデータの転送が終了したとき、前記リアルタイム処理コマンドの実行を許可するリアルタイム処理許可コマンドを送信するステップとを有することを特徴とする情報処理装置の制御方法である。
【００３８】
更に又、本発明は、以下の、ステップを含む情報処理装置のプログラムを記録した情報記録媒体（ａ）アプリケーションプログラムからの要求に応答して、前記印刷装置に、所定の通常処理を実行させるためのコマンドと必要に応じてこれに付随するデータを送信するステップと、（ｂ）前記印刷装置に、前記通常処理より優先順位の高い処理を実行させるためのリアルタイム処理を実行させるコマンド送信するステップと、（ｃ）前記通常処理のコマンドが、バイナリデータの転送を実行するコマンドの時、このコマンドの送信に先立って、前記リアルタイム処理コマンドの実行を禁止するためのリアルタイム処理禁止コマンドを送信するステップと、（ｄ）前記バイナリデータの転送が終了したとき、前記リアルタイム処理コマンドの実行を許可するリアルタイム処理許可コマンドを送信するステップ。
【００３９】
更に又、本発明の情報記録媒体は、コンパクトディスク、フロッピーディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、または、半導体メモリであることを特徴とする前記プログラムをを記録した情報記録媒体。
【００４０】
更に、又、本発明の印刷装置は、リアルタイム処理コマンド、通常処理コマンドの１つまたはそれらの組み合わせを含むデータ列を受信する受信・解析処理部と、リアルタイム処理コマンドを実行するかしないかを指示する指示部と、指示部がリアルタイム処理コマンドの実行の許可を示している場合は、当該リアルタイム処理コマンドのデータ列に対応するリアルタイム処理を実行するリアルタイム処理部と、受信・解析処理部により受信されたデータ列が通常処理コマンドのデータ列である場合、当該通常処理コマンドのデータ列に対応する通常処理を実行する通常処理部とを有することを特徴とする。
【００４１】
又、本発明は、リアルタイム処理コマンド、リアルタイム処理禁止コマンド、通常処理コマンドの１つまたはそれらの組み合わせを含むデータ列を受信する受信・解析処理部と、リアルタイム処理コマンドの実行を許可するかどうか指示する指示部と、受信・解析処理部が最後にリアルタイム処理禁止コマンドのデータ列を受信してから経過した時間が、所定の時間を超える場合は、指示部をリアルタイム処理コマンドの実行を許可する状態に設定する設定処理部と、指示部が、リアルタイム処理コマンドの実行を許可する状態の場合、受信・解析処理部がリアルタイム処理コマンドを受信した時、当該リアルタイム処理コマンドのデータ列に対応するリアルタイム処理を実行するリアルタイム処理部と、受信・解析処理部により受信されたデータ列が通常処理コマンドのデータ列である場合、当該通常処理コマンドのデータ列に対応する通常処理を実行する通常処理部とを有することを特徴とする。
【００４２】
又、本発明の印刷装置は、リアルタイム処理コマンド、リアルタイム処理禁止コマンド、リアルタイム処理許可コマンド、通常処理コマンドの１つまたはそれらの組み合わせを含むデータ列を受信する受信・解析処理部と、リアルタイム処理コマンドを実行するかしないかを指示する指示部と、受信・解析処理部が最後にリアルタイム処理禁止コマンドのデータ列を受信してから経過した時間が、所定の時間を超えるか、または、受信・解析処理部が最後にリアルタイム処理禁止コマンドのデータ列を受信した後にリアルタイム処理許可コマンドを受信した場合、指示部をリアルタイム処理コマンドの実行の許可を指示するように設定する設定処理部と、指示部がリアルタイム処理コマンドの実行を許可する状態の場合、受信・解析処理部が受信したデータ列がリアルタイム処理コマンドの時、当該リアルタイム処理コマンドのデータ列に対応するリアルタイム処理を実行するリアルタイム処理部と、受信・解析処理部により受信されたデータ列が通常処理コマンドのデータ列である時、当該通常処理コマンドのデータ列に対応する通常処理を実行する通常処理部とを有することを特徴とする。
【００４３】
又、本発明の印刷装置は、リアルタイム処理コマンド、リアルタイム処理禁止コマンド、リアルタイム処理許可コマンド、通常処理コマンドの１つまたはそれらの組み合わせを含むデータ列を受信する受信・解析処理部と、リアルタイム処理コマンドを実行するかしないかを指示する指示部と、受信・解析処理部が最後にリアルタイム処理禁止コマンドのデータ列を受信した後にリアルタイム処理許可コマンドを受信した場合、指示部をリアルタイム処理コマンドの実行の許可を指示するように設定する設定処理部と、指示部がリアルタイム処理コマンドの実行を許可する状態の場合、受信・解析処理部が受信したデータ列がリアルタイム処理コマンドの時、当該リアルタイム処理コマンドのデータ列に対応するリアルタイム処理を実行するリアルタイム処理部と、受信・解析処理部により受信されたデータ列が通常処理コマンドのデータ列である時、当該通常処理コマンドのデータ列に対応する通常処理を実行する通常処理部とを有することを特徴とする。
【００４４】
又、本発明は、上記受信・解析処理部、リアルタイム処理部及び通常処理部のそれぞれの一部又は全てが、ＣＰＵ、ＲＡＭ、及び前記ＣＰＵを動作させるプログラムを格納したＲＯＭからなる制御回路により構成されたことを特徴とする印刷装置である。
【００４５】
【発明の実施の形態】
以下に本発明の一実施形態を説明する。なお、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本願発明の範囲に含まれる。
【００４６】
（印刷装置）
図１には、本発明の印刷装置（プリンタ）の実施例のブロック構成図を示す。
【００４７】
プリンタ１０１は、インターフェース１０２を介して情報処理装置であるホストコンピュータ１２０に接続されていて、ＣＰＵ  １０３、ＲＡＭ  １０４、ＲＯＭ  １０５、不揮発メモリ１０６、印刷機構１０７を主な構成要素としている。
【００４８】
ホストコンピュータ１２０が送信したデータ列をインターフェース１０２が受信すると、ＣＰＵ（Central Processing Unit ；中央処理ユニット）１０３に対して受信割り込みを発行する。ＣＰＵ  １０３は、受信割り込みによって受信割り込み処理を起動し、受信割り込み処理では、受信したデータ列にリアルタイム処理コマンドが含まれていると判断すると、これに対応する前述のようなリアルタイム処理を実行する。さらに、受信割り込み処理では、ＲＡＭ  １０４に設けられた受信バッファ１１１に受信したデータ列を記憶する。受信割り込み処理が終了すると、ＣＰＵ  １０３の制御は通常処理に戻る。
【００４９】
通常処理では、ＣＰＵ  １０３は、ＲＡＭ  １０４の受信バッファ１１１に記憶されたデータ列を印刷コマンドやプリンタ設定コマンドとして解釈し、フォントを記憶するＲＯＭ（Read Only Memory）１０５からフォント形状を取得したり、イメージデータを生成したりして、ＲＡＭ  １０４内に設けられたプリントバッファ１１２に印刷イメージを展開する。
【００５０】
さらに、プリントバッファ１１２に展開された印刷イメージが所定の量、たとえば１行に達した場合などに、当該印刷イメージにしたがって印刷機構１０７を駆動して、紙などの印刷媒体に文字や図形を印刷する。
【００５１】
また、受信バッファ１１１に記憶されたデータ列がフォント定義コマンドである場合には、ＲＡＭ  １０４内に、当該フォントの定義を記憶する。不揮発メモリ１０６はＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）やフラッシュメモリであり、フォント定義コマンドにしたがって、不揮発性メモリ１０６の内容を更新することが可能である。またこの不揮発性メモリには、印刷装置の状態を記憶しておくステータス情報格納部となるステータス領域１１６が設置されていて、ホストコンピュータ１２０からのステータス要求コマンドに応答してこの領域の情報がホストコンピュータ１２０に送信される。
【００５２】
また、ＲＡＭ  １０４には受信割り込み処理で使用する現在のモードを記憶する領域１１３がある。これにより、リアルタイム処理コマンドの途中を受信しているのか、それともそれ以外のデータを受信しているのかがわかる。このほか、現在リアルタイム処理が禁止されているか否かを記憶したり各種のプリンタの状態（ステータス）を記憶する指示部の一種のフラグ領域１１４（指示部）がある。フラグ領域１１４は、電源が切断された場合、情報も消失するため、ＣＰＵ  １０３の処理の時に一時的に使用される領域である。
【００５３】
ここで、ＣＰＵ  １０３はインターフェース１０２、ＲＡＭ  １０４、ＲＯＭ１０５等と共働して受信・解析処理部、リアルタイム処理部、通常処理部及びフラグ設定処理部として機能し、印刷機構１０７は、ＣＰＵ  １０３等と共働して印刷処理部として、それぞれ機能する。また、ＲＯＭ  １０５はプログラムを記録した情報記録媒体として機能する。
【００５４】
（印刷装置の受信割り込み処理の第１実施例）
図２は、本発明の印刷装置の受信割り込み処理の流れの実施例を示すフローチャートである。この受信割り込み処理は、ホストコンピュータ１２０が送信するデータ列をプリンタ１０１のインターフェース１０２が受信する際に起動される。なお、以下では、インターフェース１０２が１バイトのデータを受信するごとに受信割り込みが発生する実施形態について説明するが、受信割り込みが１以上の任意のバイト数のデータを受信するごとに起動される場合であっても同様の処理が可能であり、当該実施形態も本発明の範囲に含まれる。
【００５５】
なお、本実施例では、以下のバイナリデータ処理コマンドが通常コマンドとして容易されている。
【００５６】
・ESC * m n1 n2：  n1, n2 で定義される所定のデータ量のバイナリデータであるビットマップデータを転送する時に用いる。これによりプリンタは画像印刷を実行する。
【００５７】
・ESC & s n m : 所定のデータ量のフォント登録データを転送する時に用いる。
【００５８】
・FSg1 m a1 a2 a3 a4 nL nH d1...dk: ユーザ定義不揮発性メモリへのデータの書き込み時に用いる。（尚、各パラメータは、ｍ＝０に固定、a1−a4はデータの格納開始アドレス、nL、nHは格納データ数をそれぞれ指定する。）
又、本実施例では、以下のリアルタイム処理禁止コマンドが「リアルタイム処理コマンド」として用意されている。
【００５９】
・「DLE   EOT   EOT 」これ以降は所定時間（たとえば１秒）リアルタイム処理コマンドの処理を禁止する。
【００６０】
上述のように、本処理は、ホストコンピュータ１２０が送信するデータをプリンタ１０１のインターフェース１０２が受信する際に起動される。
【００６１】
起動されたら、まず、ＣＰＵ  １０３は、インターフェース１０２が受信した１バイトのデータをＲＡＭ  １０４内の受信バッファ１１１に記憶する（ステップＳ２０１）。受信バッファ１１１は、リングバッファとして構成するのが一般的である。
【００６２】
次に、ＲＡＭ  １０４のフラグ領域１１４を調べ、現在リアルタイム処理が禁止されているか否かを判別する（ステップＳ２０２）。
【００６３】
禁止されていない場合（ステップＳ２０２；Ｎｏ）、モード領域１１３に記憶された現在の受信割り込みモードを調べる（ステップＳ２０３）。受信割り込みモードの値によって、現在リアルタイム処理コマンドの途中を受信しているのか否かが示される。
【００６４】
さらに、ステップＳ２０１において受信されたデータの値に応じてＲＡＭ  １０４のモード領域１１３に記憶される受信割り込みモードの値を図３に示す状態遷移図にしたがって更新するとともに、必要があれば処理を実施し（ステップＳ２０４）、本割り込み処理を終了する。
【００６５】
図３は、受信割り込みにおける状態遷移を示す説明図である。この状態遷移図は、前述のリアルタイム処理コマンドのデータ列の体系から決まるものである。
【００６６】
モードＡは、現在はリアルタイム処理コマンド以外のコマンドを解釈していることを意味するモードである。モードＡにいる場合に、ステップＳ２０１において受信したデータの値がDLE である場合には、モードＢに移行する。
【００６７】
モードＢは、現在はリアルタイム処理コマンドの１バイト目（DLE ）を受信していることを意味するモードである。モードＢにいるときに、ステップＳ２０１において受信したデータの値に応じて、以下のように遷移する。
【００６８】
・EOT である場合は、モードＣに移行する。
【００６９】
・ENQ である場合は、プリンタのリアルタイム要求に対応する処理を実行して、モードＡに移行する。
【００７０】
・DC4 である場合は、モードＤに移行する。
【００７１】
・これ以外である場合は、受信しているデータ列はリアルタイム処理コマンドのデータ列ではないことになるので、モードＡに移行する。
【００７２】
モードＣは、現在はDLE   EOT で始まるリアルタイム処理コマンドを受信中であることを意味するモードである。モードＣにいるときに、ステップＳ２０１において受信したデータの値に応じて、以下のように遷移する。
【００７３】
・NUL である場合は、プリンタ１０１の状態をホストコンピュータ１２０にリアルタイム送信し、モードＡに移行する。
【００７４】
・BEL である場合は、プリンタ１０１の印刷機構１０７に含まれるインクの状態をホストコンピュータ１２０にリアルタイム送信し、モードＡに移行する。
【００７５】
・BSである場合は、プリンタ１０１のＭＩＣＲに関係するステータスの状態をホストコンピュータ１２０にリアルタイム送信し、モードＡに移行する。
【００７６】
・EOT である場合は、ＲＡＭ  １０４のフラグ領域１１４に「リアルタイム処理禁止」を設定する。さらに、『フラグ領域１１４「リアルタイム処理許可」に設定する処理』が現在から所定時間（たとえば１秒）後にタイマ割り込みにより実行されるように、タイマ割り込み処理の設定を行う。その後で、モードＡに移行する。
【００７７】
・これ以外である場合は、受信しているデータ列はリアルタイム処理コマンドのデータ列ではないことになるので、モードＡに移行する。
【００７８】
モードＤは、現在はDLE   DC4 で始まるリアルタイム処理コマンドを受信中であることを意味するモードである。モードＤにいるときに、ステップＳ２０１において受信したデータの値に応じて、以下のように遷移する。
【００７９】
・SOH である場合は、指定パルスのリアルタイム出力を実行し、モードＡに移行する。
【００８０】
・STX である場合は、プリンタの電源をオフにする。
【００８１】
・BSである場合は、ＲＡＭ  １０４に配置された受信バッファ１１１とプリントバッファ１１２をクリアしてモードＡに移行する。
【００８２】
・これ以外である場合は、受信しているデータ列はリアルタイム処理コマンドのデータ列ではないことになるので、モードＡに移行する。
【００８３】
一方、フラグ領域１１４を調べた結果、現在リアルタイム処理が禁止されている場合（ステップＳ２０２；Ｙｅｓ）、受信割り込み処理を終了する。
【００８４】
このように、受信割り込みごとに、リアルタイム処理が禁止されているか否かをチェックすることになるが、これに必要な時間は数マイクロ秒のオーダーである。このように比較的簡単な状態遷移の処理なので、受信割り込み処理に必要な時間を短時間ですませることができる。
【００８５】
（印刷装置の通常処理の第１実施例）
通常処理は、プリンタ１０１が受信したデータを解釈して印刷する処理である。図４は、プリンタ１０１の通常処理の制御の流れを示すフローチャートである。通常処理を行っている途中であっても、前述の受信割り込み処理が割り込みによって起動されることがありうる。
【００８６】
なお、ＣＰＵ  １０３は受信バッファ１１１に処理していないデータが残っている間は、当該データを取得し、残っていない場合は、待機して前述の受信割り込み処理により受信バッファ１１１にデータが記憶されるのを待つ。このようなコルーチン的な処理が実行されるが、以下の説明では、簡単のため、上記の処理を１回行って１バイトのデータを受信バッファ１１１から取得する場合と、複数回行って複数バイトのデータを受信バッファ１１１から取得する場合とを合わせて、「受信バッファからデータを取得」と称することとする。
【００８７】
また、本実施例では、リアルタイム処理を許可するコマンドを通常処理コマンドとして用意している。
【００８８】
まず、ＣＰＵ  １０３は、受信バッファ１１１からデータを取得し（ステップＳ４０１）、そのデータの種類を調べる（ステップＳ４０２）。
【００８９】
このデータがリアルタイム処理許可コマンドである場合（ステップＳ４０２；ＲＴＣ許可）、ＲＡＭ  １０４内のフラグ領域１１４に、「リアルタイム処理許可」を設定し（ステップＳ４０３）、ステップＳ４０１に戻る。
【００９０】
一方、このデータがこれ以外の通常処理コマンドである場合（ステップＳ４０２；通常）、当該コマンドに対応付けられた処理を実行し（ステップＳ４０４）、処理の継続があれば（ステップ４０５；Ｙｅｓ）、ステップＳ４０１に戻る。この処理には、文字や図形の印刷、画像の印刷、フォント登録などの処理が含まれる。
【００９１】
また、このデータがリアルタイム処理コマンドである場合（ステップＳ４０２；ＲＴＣ）、処理の継続があれば（ステップ４０５；Ｙｅｓ）、ステップＳ４０１に戻る。受信割り込み処理において、リアルタイム処理コマンドに対応付けられた処理がすでに実行されているからである。
【００９２】
このように受信割り込み処理と通常処理とを構成しておくと、リアルタイム処理コマンドのデータ列と同じデータ列をパラメータとして含む通常コマンド（たとえば、イメージ印刷コマンドやフォント登録コマンド）のデータ列を情報処理装置がプリンタに対して送信したい場合、まずリアルタイム処理禁止コマンドを送信し、ついで当該通常コマンドを送信し、さらにリアルタイム処理許可コマンドを送信すれば、通常コマンドのパラメータ内に偶然含まれるデータ列によりリアルタイム処理が実行されることはなくなる。
【００９３】
（情報処理装置の第１実施例）
図５には、本発明の情報処理装置（ホストコンピュータ）の実施例のブロック構成図を示す。
【００９４】
本発明の情報処理装置１２０はＣＰＵ  ５０１によって制御される。情報処理装置１２０に電源が投入されると、ＣＰＵ  ５０１はＲＯＭ  ５０２内の所定の場所に記憶されたＩＰＬ（Initial Program Loader）を実行し、処理を開始し、さらに、ハードディスク、フロッピーディスク、ＣＤ−ＲＯＭ（Compact Disk ROM）などの不揮発性記憶装置５０３に記憶されたプログラムを実行することができる。プログラムの実行の際には、ＲＡＭ  ５０４を一時的な記憶装置として用いる。
【００９５】
文字や図形を印刷するアプリケーションプログラムを実行する際には、印刷コマンドのデータ列をインターフェース５０５を介してプリンタに送信する。
【００９６】
さらに、情報処理装置１２０は、図示しないキーボードやマウスなどの入力装置、図示しないディスプレイなどの表示装置を備えることができる。
【００９７】
ここで、ＣＰＵ  ５０１は、ＲＡＭ  ５０４と共働して挿入生成部として機能し、インターフェース５０５は送信部として機能する。
【００９８】
また、不揮発性記憶装置５０３は、プログラムを記録した情報記録媒体として機能する。又、図示しない、ＣＤ−ＲＯＭドライブ、フロッピードライブなどの装置を有し、情報を記録した記録媒体から所定のプログラムをインストールできる様に構成されている。
【００９９】
図６は、画像印刷やフォント登録などの処理において、通常コマンドのデータ列をプリンタに送る送信処理の流れを示すフローチャートである。この送信処理は、アプリケーションプログラムがオペレーティングシステムに対して印刷要求を送ることなどにより起動される。また、この送信処理は一般的にプリンタドライバーと呼ばれるプログラムによって実行され、このプログラムは、フロッピーディスクなどの記憶媒体から、ホストコンピュータにインストールされて用いられる。
【０１００】
まず、ＣＰＵ  ５０１は、送信したい通常コマンドのデータ列がリアルタイム処理コマンドのデータ列と同じデータ列を含むか否かを調べる（ステップＳ６０１）。
【０１０１】
含まない場合（ステップＳ６０１；Ｎｏ）、当該通常コマンドのデータ列を送信し（ステップＳ６０２）、本処理を終了する。
【０１０２】
含む場合（ステップＳ６０１；Ｙｅｓ）、リアルタイム処理禁止コマンドを送信し（ステップＳ６０３）、ついで当該通常コマンドのデータ列を送信し（ステップＳ６０４）、さらにリアルタイム処理許可コマンドを送信して（ステップＳ６０５）、本処理を終了する。
【０１０３】
なお、この処理に加えて、以下のような処理を行うことができる。たとえば、画像を印刷する場合、その通常コマンドが所定の時間（たとえば１秒）以内にプリンタで処理できる量か否かを判別する。処理できる量の場合は、ステップＳ６０３〜ステップＳ６０５の処理と同じ処理を行う。
【０１０４】
所定時間内で処理できない量の場合は、当該通常コマンドを解釈し、複数の通常コマンドに分割する。さらに、それぞれの通常コマンドについてまず、ステップＳ６０３〜ステップＳ６０５の処理と同じ処理を行って画像の一部を印刷し、さらに、リアルタイム処理が必要かどうかをチェックし、必要であれば当該リアルタイム処理コマンドを送信する、という処理を繰り返す。
【０１０５】
このような処理を行うことにより、リアルタイム処理が必要な場合の待ち時間が最大でも上記所定の時間（１秒）で済むことになる。
【０１０６】
（印刷装置の受信割り込み処理の第２実施例）
図７は、印刷装置の受信割り込み処理の第２実施例の流れを示すフローチャートである。本実施例では、ＲＡＭ  １０４内にカウント領域を設ける。また、リアルタイム禁止コマンドは以下のコマンドシンボル３バイト＋パラメータ２バイトの５バイトで構成される。
【０１０７】
・「DLE   EOT   EOT   ｎ  ｍ」
これは、「以降に続く（ｎ*２５６＋ｍ）バイトについてリアルタイム処理を禁止する」という意味を持つ。
【０１０８】
本実施例の受信割り込み処理が起動されたら、まず、ＣＰＵ  １０３は、インターフェース１０２が受信した１バイトのデータをＲＡＭ  １０４内の受信バッファ１１１に記憶する（ステップＳ７０１）。受信バッファ１１１は、リングバッファとして構成するのが一般的である。
【０１０９】
次に、ＲＡＭ  １０４のフラグ領域１１４を調べ、現在リアルタイム処理が禁止されているか否かを判別する（ステップＳ７０２）。
【０１１０】
禁止されていない場合（ステップＳ７０２；Ｎｏ）、モード領域１１３に記憶された現在の受信割り込みモードを調べる（ステップＳ７０３）。受信割り込みモードの値によって、現在リアルタイム処理コマンドの途中を受信しているのか否かが示される。
【０１１１】
さらに、ステップＳ７０１において受信されたデータの値に応じてＲＡＭ  １０４のモード領域１１３に記憶される受信割り込みモードの値を図８に示す状態遷移図にしたがって更新するとともに、必要があれば処理を実施し（ステップＳ７０４）、本割り込み処理を終了する。
【０１１２】
図８に示す状態遷移図は、図３に示す状態遷移図と大部分は同様であるが、モードＣにおいてEOT を受信した場合の処理が異なる。
【０１１３】
すなわち、モードＣにおいてEOT を受信すると、モードＸに移行する。
【０１１４】
モードＸにおいて、バイト値n を受信すると、値n*256 をＲＡＭ  １０４内のカウント領域１１５に代入し、モードＹに移行する。
【０１１５】
モードＹにおいて、バイト値m を受信すると、値m をＲＡＭ  １０４内のカウント領域１１５に加算し、フラグ領域１１４に「リアルタイム処理禁止」を設定し、モードＡに移行する。
【０１１６】
一方、ステップＳ７０２において、リアルタイム処理が禁止されていると判別された場合（ステップＳ７０２；Ｙｅｓ）、カウント領域１１５に記憶された値を１減らし（ステップＳ７０５）、カウント領域１１５に記憶された値が０より大きいか否かを調べ（ステップＳ７０６）、０より大きい場合（ステップＳ７０６；Ｙｅｓ）は、本割り込み処理を終了する。０以下の場合（ステップＳ７０６；Ｎｏ）、フラグ領域１１４に「リアルタイム処理許可」を設定し（ステップＳ７０７）、本割り込み処理を終了する。
【０１１７】
このように、本実施例では、リアルタイム処理禁止コマンドにおいて、「これ以降○○バイトについてはリアルタイム処理を禁止する」というパラメータ設定ができるため、リアルタイム処理許可コマンドを用意する必要はない。一方、情報処理装置においては、リアルタイム処理コマンドのデータ列と同じデータ列をパラメータとして含む通常コマンドのデータ列送信したい場合、まず当該通常コマンドの長さをパラメータとして含むリアルタイム処理禁止コマンドを送信し、ついで当該通常コマンドを送信すればよい。
【０１１８】
上記、プリンタのステータスを記憶したフラグ領域は、一般的に電源が切断されても記憶状態に保つ必要のあるものはフラッシュメモリ等に設けられ、そうでないものはＲＡＭ内に設置される。又、リアルタイム処理コマンドを禁止するかどうかのフラグは、電源が切断されても記憶しておく必要はない。
【０１１９】
通常使用の時、イメージデータの印刷がほとんど必要が無く、フォント登録作業の時にのみこのリアルタイム処理コマンドを禁止したいばあいは、ディップスイッチなどのハードウエア要素で代用することもできる。この場合、ディップスイッチが上記指示部となる。
【０１２０】
（印刷装置の受信割り込み処理の第３実施例）
複数のリアルタイム処理コマンドの内、実際にはバイナリデータを転送中に実行されても問題が無い物も含まれている。又、バイナリデータの転送時に、そのバイナリデータが、ＰＯＳを設置している店舗のロゴなどある場合、あらかじめリアルタイム処理コマンドと紛らわしいデータは作成していないことがあり、このような場合アプリケーションからステータス要求があった場合などは、このためのリアルタイム処理コマンド送信しても問題がない。この場合はリアルタイム処理コマンドのそれぞれに対応して、禁止、あるいは許可を設定することができるように以下のコマンドを通常コマンドで定義する。
【０１２１】
・ＧＳ（Ｄ  ｍｎ  （”GS(D”はコマンドシンボルであり、ｍｎはパラメータで、ｍがコマンドの指定、ｎが許可あるいは禁止の指定を表し、どのコマンド禁止するか、あるいは許可するかを指定できる）
上記コマンドを受信した場合、フラグ領域１１４の指示部に、それぞれのコマンド毎に許可、あるいは禁止が設定され記憶される。例えば、リアルタイム処理コマンドの内、禁止・許可処理を設定したい物が、８個以内であれば、設定するかどうかを、パラメータｍで指定する。１０００、００１１であれば、１番目と、７，８番目に割り当てられたコマンドが、許可・禁止の対象となる。さらに、パラメータｎで、１０００、００１０と指定された場合、１が許可、０が禁止であれば、１番目と７番目に割り当てられたコマンドが許可に、８番目が禁止に設定されるといった様に設定できる。
【０１２２】
図９は、本発明の印刷装置の受信割り込み処理の流れの第３の実施例を示すフローチャートである。本実施例では、上記したように、リアルタイム処理の禁止または許可は、コマンド設定が可能な通常コマンドとして用意している。図９の受信割り込み処理の機能は、データを受信し、これを受信バッファ１１１に格納し、同時に受信しながらリアルタイム処理コマンドが含まれていないかどうか解析するもので、ＣＰＵ  １０３を主要素とする受信・解析処理部が実行する。
【０１２３】
本実施例の受信割り込み処理が起動されたら、まず、ＣＰＵ  １０３は、インターフェース１０２が受信した１バイトのデータをＲＡＭ  １０４内の受信バッファ１１１に記憶する（ステップＳ９０１）。受信バッファ１１１は、リングバッファとして構成するのが一般的である。
【０１２４】
次に、モード領域１１３に記憶された現在の受信割り込みモードを調べる（ステップＳ９０２）。受信割り込みモードの値によって、現在リアルタイム処理コマンドの途中を受信しているのか否かが示される。
【０１２５】
さらに、ステップＳ９０１において受信されたデータの値に応じてＲＡＭ １０４のモード領域１１３に記憶される受信割り込みモードの値を図３に示す状態遷移図にしたがって更新する（ステップ９０３）。モードの更新にあたり、コマンド処理を行う必要があるか判断する（ステップ９０４）。コマンド処理を行う必要があれば（ステップ９０４：Ｙｅｓ）、ＲＡＭ  １０４のフラグ領域１１４を調べ、現在、実行しようとしたコマンドのリアルタイム処理が禁止されているか否かを判別し、（ステップＳ９０５） 禁止されていない場合（ステップＳ９０５；Ｎｏ）は、リアルタイム処理コマンドに対応する処理を実施し（ステップＳ９０６）、禁止されている場合（ステップＳ９０５；Ｙｅｓ）はコマンド処理を実施せず本割り込み処理を終了する。
【０１２６】
このように、リアルタイム処理コマンドのデータ列を受信するごとに、リアルタイム処理が禁止されているか否かをチェックすることになるが、これに必要な時間は数マイクロ秒のオーダーである。このように比較的簡単な状態遷移の処理なので、受信割り込み処理に必要な時間を短時間ですませることができる。
【０１２７】
上記処理は、受信割り込みにおける状態遷移を示す説明図である図３に沿って同様に実行されるが、以下の点で細部が異なる。
【０１２８】
１、モードＣにいるときに EOTを受信すると、モードＡに移行するという処理を行なわない。
【０１２９】
２、本実施例３ではそれぞれのコマンド個別にリアルタイム処理を禁止あるいは許可でき、禁止されているコマンドは、コマンドの処理を実行しないでモードを遷移する。
【０１３０】
（印刷装置の通常処理の第２実施例）
通常処理とは、プリンタ１０１が受信したデータを入力した順に読み出し実行するＦＩＦＯ処理である。図１０は、プリンタ１０１の通常処理の第２の実施例の制御の流れを示すフローチャートである。通常処理を行っている途中であっても、前述の受信割り込み処理が割り込みによって起動されることがありうる。
【０１３１】
なお、ＣＰＵ  １０３は受信バッファ１１１に処理していないデータが残っている間は、当該データを取得し、残っていない場合は、待機して前述の受信割り込み処理により受信バッファ１１１にデータが記憶されるのを待つ。このようなコルーチン的な処理が実行されるが、以下の説明では、簡単のため、上記の処理を１回行って１バイトのデータを受信バッファ１１１から取得する場合と、複数回行って複数バイトのデータを受信バッファ１１１から取得する場合とを合わせて、「受信バッファからデータを取得」と称することとする。
【０１３２】
また、本実施例では、リアルタイム処理を禁止するコマンドと許可するコマンドをリアルタイムコマンド許可・禁止コマンドという１つのコマンドとし、通常処理コマンドとして用意している。
【０１３３】
まず、ＣＰＵ  １０３は、受信バッファ１１１からデータを取得し（ステップＳ１００１）、そのデータの種類を調べる（ステップＳ１００２）。
【０１３４】
このデータがリアルタイム処理許可・禁止コマンドである場合（ステップＳ１００２；ＲＴＣ許可）、ＲＡＭ  １０４内のフラグ領域１１４に、リアルタイム処理コマンドごとに「リアルタイム処理許可」または「リアルタイム処理禁止」を設定し（ステップＳ１００３）、処理を継続するかチェック（ステップＳ１００５）し、継続なら（ステップＳ１００５：Ｙｅｓ）、ステップＳ１００１に戻る。
【０１３５】
一方、このデータがこれ以外の通常処理コマンドである場合（ステップＳ１００２；通常）、当該コマンドに対応付けられた処理を実行し（ステップＳ１００４）、ステップＳ１００５を経て、ステップＳ１００１に戻る。この処理には、文字や図形の印刷、画像の印刷、フォント登録などの処理が含まれる。
【０１３６】
また、このデータがリアルタイム処理コマンドである場合（ステップＳ１００２；ＲＴＣ）、ステップＳ１００１に戻る。受信割り込み処理において、リアルタイム処理コマンドに対応付けられた処理がすでに実行されているからである。
【０１３７】
このように受信割り込み処理と通常処理とを構成しておくと、リアルタイム処理コマンドのデータ列と同じデータ列をパラメータとして含む通常コマンド（たとえば、イメージ印刷コマンドやフォント登録コマンド）のデータ列を情報処理装置がプリンタに対して送信したい場合、まずリアルタイム処理禁止コマンドを送信し、ついで当該通常コマンドを送信し、さらにリアルタイム処理許可コマンドを送信すれば、通常コマンドのパラメータ内に偶然含まれるデータ列によりリアルタイム処理が実行されることはなくなる。
【０１３８】
（情報処理装置の第２実施例）
図１１は、図５で示した本発明の情報処理装置（ホストコンピュータ）の実施例のブロック図に基づき、画像印刷やフォント登録などの処理において、通常コマンドのデータ列をプリンタに送る送信処理の流れを示すフローチャートである。この送信処理は、アプリケーションプログラムがオペレーティングシステムに対して印刷要求を送ることなどにより起動される。また、この送信処理は一般的にプリンタドライバーと呼ばれるプログラムによって実行され、このプログラムは、フロッピーディスクなどの記憶媒体から、ホストコンピュータにインストールされて用いられる。
【０１３９】
まず、ＣＰＵ  ５０１は、送信したい通常コマンドのデータ列がリアルタイム処理コマンドのデータ列と同じデータ列を含む可能性があるコマンドか否かを調べる（ステップＳ１１０１）。例えば、この送信しようとしているコマンドが、バイナリデータを転送するバイナリデータ処理コマンドであるかどうかである。
【０１４０】
バイナリデータ処理コマンドでない場合（ステップＳ１１０１；Ｎｏ）、当該通常コマンドのデータ列を送信し（ステップＳ１１０２）、本処理を終了する。
【０１４１】
含む場合（ステップＳ１１０１；Ｙｅｓ）、リアルタイム処理許可・禁止コマンドをコマンドを禁止する設定で送信し（ステップＳ１１０３）、さらに印刷装置１０１が搭載している通常コマンドのうちから、プリンタ情報を送信するステータスデータ送信コマンドを送信する（ステップＳ１１０４）。ＣＰＵ  ５０１は、印字装置１０１からステータスが送信されてくるのを待ち（ステップＳ１１０５）、ステータスを受信すると、ついで当該通常コマンドのデータ列を送信し（ステップＳ１１０６）、さらにリアルタイム処理許可コマンドを送信して（ステップＳ１１０７）、本処理を終了する。
【０１４２】
上記のステップＳ１１０４でステータス要求コマンドを実行し、ステップＳ１１０５で受信を待つ処理は、以下のような理由による。
【０１４３】
印刷装置１０１がコマンドを受信してから、リアルタイム処理許可・禁止コマンドが実行されるまでに時間差が発生する可能性がある。例えば、リアルタイム処理を禁止するコマンドを送信して、連続して、偶然にリアルタイム処理コマンドと同じデータ列が送信されると、禁止されるべきコマンドが実行されてしまう。そこで、印刷装置１０１に装置自体のステータスをメモリに格納しておき、ホストコンピュータの要求に基づいてこのステータスを送信する機能が搭載されているので、この機能を用いることによりリアルタイム処理禁止あるいは許可の設定が実行されたかどうかを検証することができる。
【０１４４】
印刷装置１０１側では、リアルタイム処理コマンドの禁止・あるいは許可を受信すると、フラッシュＲＯＭ  １０７のステータス領域１１７のフラグを更新する。ステップＳ１１０４で、ホストコンピュータの要求に応じてこのフラグを含むステータスを送信することにより、ホストコンピュータに当該処理が実行されたことが通知される。このようにすると、リアルタイム処理許可・禁止コマンドが確実に実行されたことを確認することができる。このリアルタイム処理禁止・許可ステータスを送信するためのコマンドは専用コマンドであっても良いし、ステータスデータの内容に依存しないので、他のステータスデータと一緒に送信する汎用コマンドでも良い。
【０１４５】
また、本実施例では、リアルタイム処理コマンドごとに処理の禁止または許可を設定できるようにしているので、プリンタの電源をオフするコマンドといった、通常動作中は実行しないコマンドは、常時禁止状態としておき、実際に電源をオフする直前に許可することにより、ステップＳ１２０１で行っているような、送信したい通常コマンドのデータ列がリアルタイム処理コマンドのデータ列と同じデータ列を含むか否かを調べる処理を簡略化することができる。
【０１４６】
上記、データを受信する受信・解析処理、リアルタイム処理コマンドを実行するリアルタイム処理、通常コマンドを実行する通常処理、フラグを設定する設定処理はＣＰＵ、ＲＡＭ、ＣＰＵを作動するプログラムを格納したＲＯＭを有する印刷装置の制御回路内で実行され、それぞれ対応するプログラムと、ハードウエアとのセットにより、受信・解析処理部、リアルタイム処理部、通常処理部、設定処理部を構成している。これらの処理部のそれぞれの一部、あるいは全ては、ゲートアレイ、又はＤＳＰなどのハードウエアで代用することも可能である。
【０１４７】
これらの処理部のプログラムはＲＯＭに格納されるのが一般的であるが、これらのプログラムを、フロッピーディスクあるいは、ＣＤ−ＲＯＭなどの磁気あるいは光ディスク媒体や更には、ＷＥＢなどのサイトに格納し、プリンタにセットアップすることも可能である。
【０１４８】
【発明の効果】
以上説明したように、本発明によれば、以下の効果を奏する。
【０１４９】
まず、画像用のバイナリデータやフォント登録用のバイナリデータなどのバイナリデータと、リアルタイム処理コマンドを意味するデータ列とを区別して処理する印刷装置、情報処理装置、これらの制御方法を提供することができる。
【０１５０】
特に、リアルタイム処理コマンドのデータ列と同じバイトパターンを含む可能性のある通常コマンドのデータ列であっても、ユーザはそれを意識せずに、容易に処理させることができる印刷装置、情報処理装置、これらの制御方法を提供することができる。
【０１５１】
リアルタイム処理コマンドのそれぞれについて、その実行を禁止あるいは許可を設定できるため、ステータス要求などの緊急性の高いコマンド処理は、常に実行可能になるため、情報処理装置側の機能を損なうことなく、且つ確実な印刷処理を可能とした。
【０１５２】
さらに、プログラムを記録した情報記録媒体をソフトウェア商品として、印刷装置のハードウェアと独立して容易に配布したり販売したりすることができるようになる。本発明の情報記録媒体に記録されたプログラムを印刷装置で実行すれば、上記の発明に係る印刷装置、情報処理装置およびこれらの制御方法が実現できる。
【図面の簡単な説明】
【図１】本発明の印刷装置の実施例の概要を示すブロック構成図。
【図２】本発明の印刷装置の受信割り込み処理の流れの第１実施例を示すフローチャート。
【図３】本発明の印刷装置の受信割り込みの第１実施例における状態遷移を示す説明図。
【図４】本発明の印刷装置の通常処理の流れの実施例を示すフローチャート。
【図５】本発明の情報処理装置の実施例の概要を示すブロック構成図。
【図６】本発明の情報処理装置で実行される送信処理の流れの実施例を示すフローチャート。
【図７】本発明の印刷装置の受信割り込み処理の流れの第２実施例を示すフローチャート。
【図８】本発明の印刷装置の受信割り込みの第２実施例における状態遷移を示す説明図。
【図９】本発明の印刷装置の受信割り込み処理の流れの第３実施例を示すフローチャート。
【図１０】本発明の印刷装置の通常処理の流れの実施例を示すフローチャート。
【図１１】本発明の情報処理装置で実行される送信処理の流れの実施例を示すフローチャート。
【符号の説明】
１０１  プリンタ
１０２  インターフェース
１０３  ＣＰＵ
１０４  ＲＡＭ
１０５  ＲＯＭ
１０７  印刷機構
１１１  受信バッファ
１１２  プリントバッファ
１１３  モード領域
１１４  フラグ領域
１２０  ホストコンピュータ
５０１  ＣＰＵ
５０２  ＲＯＭ
５０３  不揮発性記憶装置
５０４  ＲＡＭ
５０５  インターフェース
【図１】
0003812216.tif 000002
【図２】
0003812216.tif 000003
【図３】
0003812216.tif 000004
【図４】
0003812216.tif 000005
【図５】
0003812216.tif 000006
【図６】
0003812216.tif 000007
【図７】
0003812216.tif 000008
【図８】
0003812216.tif 000009
【図９】
0003812216.tif 000010
【図１０】
0003812216.tif 000011
【図１１】
0003812216.tif 000012