JP4496594B2 - 印刷装置の制御方法 - Google Patents

印刷装置の制御方法 Download PDF

Info

Publication number
JP4496594B2
JP4496594B2 JP2000077114A JP2000077114A JP4496594B2 JP 4496594 B2 JP4496594 B2 JP 4496594B2 JP 2000077114 A JP2000077114 A JP 2000077114A JP 2000077114 A JP2000077114 A JP 2000077114A JP 4496594 B2 JP4496594 B2 JP 4496594B2
Authority
JP
Japan
Prior art keywords
command
real
processing
time processing
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2000077114A
Other languages
English (en)
Other versions
JP2000326603A5 (ja
JP2000326603A (ja
Inventor
光明 寺平
政寛 箕輪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2000077114A priority Critical patent/JP4496594B2/ja
Publication of JP2000326603A publication Critical patent/JP2000326603A/ja
Publication of JP2000326603A5 publication Critical patent/JP2000326603A5/ja
Application granted granted Critical
Publication of JP4496594B2 publication Critical patent/JP4496594B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、印刷装置、情報処理装置、これらの制御方法、および、情報記録媒体に関する。特に、画像用のバイナリデータやフォント登録バイナリデータなどのバイナリデータと、リアルタイム処理コマンドを意味するデータ列とを区別して処理する印刷装置、情報処理装置、これらの制御方法、および、これらを実現するプログラムを記録した情報記録媒体に関する。
【0002】
【従来の技術】
印刷装置(プリンタ)は、紙などの印刷体に文字や図形を印刷するための装置として広く普及している。このようなプリンタは情報処理装置(ホストコンピュータ)に接続され、ホストコンピュータは、文字や図形を印刷するためのデータ列や、プリンタ自体を制御するためのデータ列をプリンタに送信する。
ホストコンピュータがプリンタに送信するデータは、ビット列として見ることもバイト列として見ることもできる。特に、プリンタにおいては、8ビット(1バイト)単位でコマンド体系を構築し、いずれのコマンドも、8の倍数のビット数、すなわち、あるバイト数のデータによって構築することが多い。又、コマンドは、上記バイト列であるコマンドシンボルと、必要に応じてこれに付随するバイト列のパラメータと、更に必要に応じて付加されるデータとからなる。
【0003】
文字を印刷するためのデータ列としては、ASCIIコードと同じバイト値を使用する一方で、画像の印刷やユーザ定義フォントの定義では、バイト列により白黒を表す手法が使用されている。また、画像においては、画像の各点の色を各バイトに含まれる複数のビットによって表す手法もある。
【0004】
プリンタのインターフェース部が1バイトもしくは数バイトのデータを受信すると、受信割り込みが発生し、受信割り込み処理が起動される。受信割り込み処理では、以下の処理を行う。
(1)受信したデータにリアルタイム処理コマンドが含まれるか否かを判別し、含まれている場合には、そのリアルタイム処理コマンドに対応する処理を直ちに実行する。(この技術的内容については、公開公報:特開平09−164744を参照)
(2)受信したデータをRAM(Random Access Memory)で構成される受信バッファに記憶する。
【0005】
これらの受信割り込み処理が所定の範囲で終了したら、通常処理に戻る。一般的には、キャリッジリターンを受信するか、受信バッファが満杯(フル)になるまで連続的に実行される。通常処理では、受信バッファに記憶されたデータ列を解釈して、RAMに用意されたプリントバッファに印刷イメージを展開する。この作業は、受信したデータの順に実行されるいわゆるFIFO処理である。これに対して、上記リアルタイム処理コマンドは、FIFO処理のルールを無視して実行されるコマンドである。
【0006】
印刷イメージは、印刷領域のどの部分を白くし、どの部分を黒くするか、すなわち、どのように印刷ヘッドを駆動するかを1と0のビット値で表現するのが一般的である。1行文の印刷イメージが展開できたら、プリントバッファの内容にしたがって印刷ヘッドを駆動し、紙などの印刷体に文字や図形を印刷する。
【0007】
リアルタイム処理コマンドに相当するデータ列が受信バッファに入っていても、すでに受信割り込み処理においてこれに対応する処理の実施が行われているため、通常処理においては単に読み飛ばされる。
【0008】
【発明が解決しようとする課題】
しかしながら、画像用のバイナリデータやフォント登録用のデータといったバイナリデータを印刷装置に送信するためのデータ列定義の中に偶然リアルタイム処理コマンドと同じデータ列が現われることがある。本来リアルタイム処理コマンドと解釈すべきでない場合であっても、上記のように受信割り込み処理において、リアルタイム処理コマンドに対応する処理が実行されてしまう、という可能性があった。
【0009】
すなわち、ホストコンピュータが意図しないタイミングで意図しないリアルタイム処理コマンドの処理が実行されるため、例えば、ホストコンピュータ側で受信の準備がされていなかったりして、プリンタとの整合性がとれなくなったりしてしまう、という可能性があった。
【0010】
このため、リアルタイム処理コマンドのデータ列と同じデータ列を含むようなバイナリデータのデータ列を、リアルタイム処理コマンドとは区別してホストコンピュータからプリンタに送信したいという要望が生じていた。
【0011】
本発明は、以上のような問題を解決するためになされたもので、イメージデータやフォント登録データなどのバイナリデータと、リアルタイム処理コマンドを意味するデータ列とを区別して処理する印刷装置、情報処理装置、これらの制御方法、および、これらを実現するプログラムを記録した情報記録媒体を提供することを目的とする。
【0012】
【課題を解決するための手段】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【0013】
本発明の印刷装置は、情報処理装置に接続され、所定のコマンド及び、データ等からなるデータ列を受信し、印刷及び前記コマンドに対応する所定の処理を実行する印刷装置において、前記情報処理装置から送信された通常処理コマンド、当該通常処理コマンドに優先して実行されるリアルタイム処理コマンドの1つまたはそれらの組み合わせを含むデータ列を受信する受信処理部と、前記受信処理部により受信されたデータ列に含まれる通常処理コマンドに応じて、通常処理を実行する通常処理部と、前記受信処理部により受信されたデータ列にリアルタイム処理コマンドが含まれる場合は、そのリアルタイム処理コマンドに応じて、リアルタイム処理を実行するリアルタイム処理部と、当該リアルタイム処理部に、前記リアルタイム処理の実行を許可するかどうかを指示する指示部とを有することを特徴とする。
【0014】
このように、リアルタイム処理コマンドの実行を許可するかどうかを指示する指示部が設けられているため、特定のコマンド(たとえば、イメージ印刷コマンドやフォント登録コマンド)のデータ列が送信される前に予めリアルタイム処理コマンドの実行を禁止するようにできる。故に、通常コマンドのパラメータ内に偶然含まれるデータ列によりリアルタイム処理が実行されることはなくなる。
【0015】
プリンタ側でリアルタイム処理コマンドの実行を禁止するためには、情報処理装置からリアルタイム処理コマンドの実行の禁止するコマンドを送信できるようにして、印刷装置側では、前記受信処理部が前記リアルタイム処理禁止コマンドのデータ列を受信した時に、リアルタイム処理コマンドの実行を無効にすればよい。
【0016】
また、再びプリンタ側でリアルタイム処理コマンドの実行を許可するためには、情報処理装置から、リアルタイム処理コマンドの実行の許可するコマンドを送信して、プリンタ側で、リアルタイム処理コマンドの実行を許可するようにすればよい。
【0017】
また、コマンドによらず、カウンタ等を用いて、リアルタイム処理禁止コマンドのデータ列を受信してから経過した時間が、所定の時間を超える場合に、前記指示部を前記リアルタイム処理コマンドの実行を許可する状態に戻すようにしてもよい。
【0018】
また、リアルタイム処理禁止コマンドのデータ列を受信してから前記受信処理部が受信したデータ列の長さが所定の長さを超える場合に、前記指示部を前記リアルタイム処理コマンドの実行を許可する状態に戻すようにしてもよい。また、前記所定の長さは、前記リアルタイム処理禁止コマンドによって指定されるようにしてもよい。
【0019】
前記リアルタイム処理許可コマンド及びリアルタイム処理禁止コマンドは、複数のリアルタイム処理コマンドの各々について、許可もしくは禁止が指定可能なリアルタイム処理許可・禁止コマンドとして用意してもよい。この場合、当該リアルタイム処理許可・禁止コマンドに、1乃至複数のリアルタイム処理コマンドを指定するパラメータと、指定されたリアルタイム処理コマンドの各々の許可もしくは禁止を指定するパラメータとを備えるようにすればよい。これにより、リアルタイム処理コマンドごとに、その実行の許可あるいは禁止を設定することができる。
【0020】
また、印刷装置に、リアルタイム処理禁止コマンドもしくはリアルタイム処理許可・禁止コマンドの受信を示すステータス情報を格納するステータス格納部と、前記情報処理装置からリアルタイム処理禁止コマンドを受信した後、ステータス要求コマンドを受信した時、少なくとも前記リアルタイム処理禁止コマンドの受信を示すステータス情報を送信する応答処理部とをを備えるようにしてもよい。
【0021】
プリンタ側でリアルタイム処理コマンドの実行を禁止するためには、リアルタイム処理禁止コマンドを用いる替わりに、印刷装置に、前記受信処理部が、前記通常処理コマンドの内、バイナリデータを扱う所定のコマンド処理コマンドを受信した時、リアルタイム処理コマンドの実行を禁止するようにしてもよい。
【0022】
この場合、印刷装置が、ビットマップ処理コマンドを受信すると、リアルタイムコマンドを禁止するように設定されるため、リアルタイム処理禁止コマンドをホスト側で用意する必要がないという利点がある。また、この場合、前記受信処理部が、前記バイナリデータ処理コマンドに付随するバイナリデータを示すデータ列の受信を終了した後、再び前記リアルタイム処理コマンドの実行を許可する状態に設定するようにすれば、リアルタイム処理許可コマンドも用意する必要はない。
【0023】
本発明の印刷装置の制御方法、情報処理装置、その情報処理装置から印刷装置にデータ列を送信する方法も、上記と同様の事項により特定されるものであり、それぞれ同様の作用効果を奏するものである。また、本発明のコンピュータ読み取り可能な記録媒体も、コンピュータによって上記の各印刷装置、情報処理装置の制御方法を実現するためのコンピュータプログラムを格納するものであり、それぞれ上記と同様の作用効果を奏するものである。
【0024】
【発明の実施の形態】
以下に本発明の一実施形態を説明する。なお、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本願発明の範囲に含まれる。
【0025】
(印刷装置の概要)
図1には、本発明の印刷装置(プリンタ)の実施例のブロック構成図を示す。プリンタ101は、インターフェース102を介して情報処理装置であるホストコンピュータ120に接続されていて、CPU 103、RAM 104、ROM 105、不揮発メモリ106、印刷機構107を主な構成要素としている。
【0026】
ホストコンピュータ120が送信したデータ列をインターフェース102が受信すると、CPU(Central Processing Unit ;中央処理ユニット)103に対して受信割り込みを発行する。CPU 103は、受信割り込みによって受信割り込み処理を起動し、受信割り込み処理では、受信したデータ列にリアルタイム処理コマンドが含まれていると判断すると、これに対応する前述のようなリアルタイム処理を実行する。さらに、受信割り込み処理では、RAM 104に設けられた受信バッファ111に受信したデータ列を記憶する。受信割り込み処理が終了すると、CPU 103の制御は通常処理に戻る。
【0027】
通常処理では、CPU 103は、RAM 104の受信バッファ111に記憶されたデータ列を印刷コマンドやプリンタ設定コマンドとして解釈し、フォントを記憶するROM(Read Only Memory)105からフォント形状を取得したり、イメージデータを生成したりして、RAM 104内に設けられたプリントバッファ112に印刷イメージを展開する。
【0028】
さらに、プリントバッファ112に展開された印刷イメージが所定の量、たとえば1行に達した場合などに、当該印刷イメージにしたがって印刷機構107を駆動して、紙などの印刷媒体に文字や図形を印刷する。
【0029】
また、受信バッファ111に記憶されたデータ列がフォント定義コマンドである場合には、RAM 104内に、当該フォントの定義を記憶する。不揮発メモリ106はEEPROM(Electrically Erasable Programmable ROM)やフラッシュメモリであり、フォント定義コマンドにしたがって、不揮発性メモリ106の内容を更新することが可能である。またこの不揮発性メモリには、印刷装置の状態を記憶しておくステータス情報格納部となるステータス領域116が設置されていて、ホストコンピュータ120からのステータス要求コマンドに応答してこの領域の情報がホストコンピュータ120に送信される。
【0030】
また、RAM 104には受信割り込み処理で使用する現在のモードを記憶する領域113がある。これにより、リアルタイム処理コマンドの途中を受信しているのか、それともそれ以外のデータを受信しているのかがわかる。このほか、現在リアルタイム処理が禁止されているか否かを記憶したり各種のプリンタの状態(ステータス)を記憶する指示部の一種のフラグ領域114(指示部)がある。フラグ領域114は、電源が切断された場合、情報も消失するため、CPU 103の処理の時に一時的に使用される領域である。
【0031】
ここで、CPU 103はインターフェース102、RAM 104、後述する各処理が記述された制御プログラムが格納されたROM 105等と共働して受信処理部、リアルタイム処理部、通常処理部及びフラグ設定処理部として機能し、印刷機構107は、CPU 103等と共働して印刷処理部として、それぞれ機能する。また、ROM 105はプログラムを記録した情報記録媒体として機能する。
【0032】
なお、ここで、プリンタによっては、電源が切られても印刷装置の状態を記憶する必要がないものもあり、不揮発性メモリは必ずしも必要なものではない。即ち、不揮発性メモリを搭載していないプリンタについても本発明を適用することができる。
【0033】
(印刷装置の受信割り込み処理の第1実施例)
図2は、本発明の印刷装置の受信割り込み処理の流れの実施例を示すフローチャートである。この受信割り込み処理は、ホストコンピュータ120が送信するデータ列をプリンタ101のインターフェース102が受信する際に起動される。なお、以下では、インターフェース102が1バイトのデータを受信するごとに受信割り込みが発生する実施形態について説明するが、受信割り込みが1以上の任意のバイト数のデータを受信するごとに起動される場合であっても同様の処理が可能であり、当該実施形態も本発明の範囲に含まれる。
【0034】
なお、本実施例では、以下のバイナリデータ処理コマンドが通常コマンドとして用意されている。
【0035】
・ESC * m nL nH d1...dk で定義される所定のデータ量のバイナリデータであるビットマップデータを送信する時に用いる。これによりプリンタは画像印刷を実行する。(尚、mは固定値、 nL、nHは格納データ数、 d1...dkはビットマップデータをそれぞれ指定する。)
・ESC & s n m a d1...dk: 所定のデータ量のフォント登録データを送信する時に用いる。(尚、s、aは各々縦方向、横方向のフォントのサイズ、nは開始文字コード、mは終了文字コード、 d1...dkは、フォント定義データをそれぞれ指定する。)FSg1 m a1 a2 a3 a4 nL nH d1...dk: ユーザ定義不揮発性メモリへのデータの書き込み時に用いる。(尚、各パラメータは、m=0に固定、a1−a4はデータの格納開始アドレス、nL、nHは格納データ数をそれぞれ指定する。)
なお、本実施例では、リアルタイム処理コマンドとして、以下のコマンドが用意されている。
・「DLE EOT NUL 」プリンタの状態をリアルタイムにホストコンピュータに送信する。
・「DLE EOT BEL 」プリンタのインクの状態をリアルタイムにホストコンピュータに送信する。
・「DLE EOT BS」MICR(Magnetic Ink Character Recognition)機能に関するステータスの状態をリアルタイムにホストコンピュータに送信する。
・「DLE ENQ 」プリンタに対するリアルタイム要求。
・「DLE DC4 SOH 」指定パルスをリアルタイムに出力する。
・「DLE DC4 STX 」プリンタの電源をオフにする。
・「DLE DC4 BS」プリンタの受信バッファをクリアする。
・このほか、当該プリンタがレジスタとして利用されている場合には、銭箱を開けるなどの処理をリアルタイム処理コマンドにより指示できるようにすることがある。この場合は、新たなリアルタイム処理コマンドを用意すればよい。
【0036】
更に、本実施例では、以下のリアルタイム処理禁止コマンドが「リアルタイム処理コマンド」として用意されている。
・「DLE EOT EOT 」これ以降は所定時間(たとえば1秒)リアルタイム処理コマンドの処理を禁止する。
【0037】
上述のように、本処理は、ホストコンピュータ120が送信するデータをプリンタ101のインターフェース102が受信する際に起動される。
起動されたら、まず、CPU 103は、インターフェース102が受信した1バイトのデータをRAM 104内の受信バッファ111に記憶する(ステップS201)。受信バッファ111は、リングバッファとして構成するのが一般的である。
【0038】
次に、RAM 104のフラグ領域114を調べ、現在リアルタイム処理が禁止されているか否かを判別する(ステップS202)。
【0039】
禁止されていない場合(ステップS202;No)、モード領域113に記憶された現在の受信割り込みモードを調べる(ステップS203)。受信割り込みモードの値によって、現在リアルタイム処理コマンドの途中を受信しているのか否かが示される。
【0040】
さらに、ステップS201において受信されたデータの値に応じてRAM 104のモード領域113に記憶される受信割り込みモードの値を図3に示す状態遷移図にしたがって更新するとともに、必要があれば処理を実施し(ステップS204)、本割り込み処理を終了する。
【0041】
図3は、受信割り込みにおける状態遷移を示す説明図である。この状態遷移図は、前述のリアルタイム処理コマンドのデータ列の体系から決まるものである。
【0042】
モードAは、現在はリアルタイム処理コマンド以外のコマンドを解釈していることを意味するモードである。モードAにいる場合に、ステップS201において受信したデータの値がリアルタイム処理コマンドの1バイト目を示す値(DLE) である場合には、モードBに移行する。
【0043】
モードBは、現在はリアルタイム処理コマンドの1バイト目(DLE )を受信していることを意味するモードである。モードBにいるときに、ステップS201において受信したデータの値に応じて、以下のように遷移する。
・EOT である場合は、モードCに移行する。
・ENQ である場合は、プリンタのリアルタイム要求に対応する処理を実行して、モードAに移行する。
・DC4 である場合は、モードDに移行する。
・これ以外である場合は、受信しているデータ列はリアルタイム処理コマンドのデータ列ではないことになるので、モードAに移行する。
モードCは、現在はDLE EOT で始まるリアルタイム処理コマンドを受信中であることを意味するモードである。モードCにいるときに、ステップS201において受信したデータの値に応じて、以下のように遷移する。
・NUL である場合は、プリンタ101の状態をホストコンピュータ120にリアルタイム送信し、モードAに移行する。
・BEL である場合は、プリンタ101の印刷機構107に含まれるインクの状態をホストコンピュータ120にリアルタイム送信し、モードAに移行する。
・BSである場合は、プリンタ101のMICRに関係するステータスの状態をホストコンピュータ120にリアルタイム送信し、モードAに移行する。
・EOT である場合は、RAM 104のフラグ領域114に「リアルタイム処理禁止」を設定する。さらに、『フラグ領域114「リアルタイム処理許可」に設定する処理』が現在から所定時間(たとえば1秒)後にタイマ割り込みにより実行されるように、タイマ割り込み処理の設定を行う。その後で、モードAに移行する。
・これ以外である場合は、受信しているデータ列はリアルタイム処理コマンドのデータ列ではないことになるので、モードAに移行する。
【0044】
モードDは、現在はDLE DC4 で始まるリアルタイム処理コマンドを受信中であることを意味するモードである。モードDにいるときに、ステップS201において受信したデータの値に応じて、以下のように遷移する。
・SOH である場合は、指定パルスのリアルタイム出力を実行し、モードAに移行する。
・STX である場合は、プリンタの電源をオフにする。
・BSである場合は、RAM 104に配置された受信バッファ111とプリントバッファ112をクリアしてモードAに移行する。
・これ以外である場合は、受信しているデータ列はリアルタイム処理コマンドのデータ列ではないことになるので、モードAに移行する。
一方、フラグ領域114を調べた結果、現在リアルタイム処理が禁止されている場合(ステップS202;Yes)、受信割り込み処理を終了する。
【0045】
このように、受信割り込みごとに、リアルタイム処理が禁止されているか否かをチェックすることになるが、これに必要な時間は数マイクロ秒のオーダーである。このように比較的簡単な状態遷移の処理なので、受信割り込み処理に必要な時間を短時間ですませることができる。
【0046】
(印刷装置の通常処理の第1実施例)
通常処理は、プリンタ101が受信したデータを解釈して印刷する処理である。図4は、プリンタ101の通常処理の制御の流れを示すフローチャートである。通常処理を行っている途中であっても、図2、図3で示した受信割り込み処理が割り込みによって起動されることがありうる。
【0047】
なお、CPU 103は受信バッファ111に処理していないデータが残っている間は、当該データを取得し、残っていない場合は、待機して前述の受信割り込み処理により受信バッファ111にデータが記憶されるのを待つ。このようなコルーチン的な処理が実行されるが、以下の説明では、簡単のため、上記の処理を1回行って1バイトのデータを受信バッファ111から取得する場合と、複数回行って複数バイトのデータを受信バッファ111から取得する場合とを合わせて、「受信バッファからデータを取得」と称することとする。
【0048】
また、本実施例では、リアルタイム処理を許可するコマンドを通常処理コマンドとして用意している。
【0049】
まず、CPU 103は、受信バッファ111からデータを取得し(ステップS401)、そのデータの種類を調べる(ステップS402)。
【0050】
このデータがリアルタイム処理許可コマンドである場合(ステップS402;RTC許可)、RAM 104内のフラグ領域114に、「リアルタイム処理許可」を設定し(ステップS403)、ステップS401に戻る。
【0051】
一方、このデータがこれ以外の通常処理コマンドである場合(ステップS402;通常)、当該コマンドに対応付けられた処理を実行し(ステップS404)、処理の継続があれば(ステップ405;Yes)、ステップS401に戻る。この処理には、文字や図形の印刷、画像の印刷、フォント登録などの処理が含まれる。
【0052】
また、このデータがリアルタイム処理コマンドである場合(ステップS402;RTC)、処理の継続があれば(ステップ405;Yes)、ステップS401に戻る。受信割り込み処理において、リアルタイム処理コマンドに対応付けられた処理がすでに実行されているからである。
【0053】
このように受信割り込み処理と通常処理とを構成しておくと、リアルタイム処理コマンドのデータ列と同じデータ列をパラメータとして含む通常コマンド(たとえば、イメージ印刷コマンドやフォント登録コマンド)のデータ列を情報処理装置がプリンタに対して送信したい場合、まずリアルタイム処理禁止コマンドを送信し、ついで当該通常コマンドを送信し、さらにリアルタイム処理許可コマンドを送信すれば、通常コマンドのパラメータ内に偶然含まれるデータ列によりリアルタイム処理が実行されることはなくなる。
【0054】
(情報処理装置の第1実施例)
図5には、本発明の情報処理装置(ホストコンピュータ)の実施例のブロック構成図を示す。
【0055】
本発明の情報処理装置120はCPU 501によって制御される。情報処理装置120に電源が投入されると、CPU 501はROM 502内の所定の場所に記憶されたIPL(Initial Program Loader)を実行し、処理を開始し、さらに、ハードディスク、フロッピーディスク、CD−ROM(Compact Disk ROM)などの不揮発性記憶装置503に記憶されたプログラムを実行することができる。プログラムの実行の際には、RAM 504を一時的な記憶装置として用いる。
【0056】
文字や図形を印刷するアプリケーションプログラムを実行する際には、印刷コマンドのデータ列をインターフェース505を介してプリンタに送信する。
【0057】
さらに、情報処理装置120は、図示しないキーボードやマウスなどの入力装置、図示しないディスプレイなどの表示装置を備えることができる。
【0058】
ここで、CPU 501はインターフェース505、RAM 504、後述する各処理が記述された制御プログラムが格納されたROM502等と共働して、通常処理コマンド、リアルタイム処理コマンド、リアルタイム処理禁止、許可コマンドを送信する送信部として機能する。
【0059】
また、不揮発性記憶装置503は、プログラムを記録した情報記録媒体として機能する。又、図示しない、CD−ROMドライブ、フロッピードライブなどの装置を有し、情報を記録した記録媒体から所定のプログラムをインストールできる様に構成されている。
【0060】
図6は、画像印刷やフォント登録などの処理において、通常コマンドのデータ列をプリンタに送る送信処理の流れを示すフローチャートである。この送信処理は、アプリケーションプログラムがオペレーティングシステムに対して印刷要求を送ることなどにより起動される。また、この送信処理は一般的にプリンタドライバーと呼ばれるプログラムによって実行され、このプログラムは、フロッピーディスクなどの記憶媒体から、ホストコンピュータにインストールされて用いられる。
【0061】
まず、CPU 501は、送信したい通常コマンドのデータ列がリアルタイム処理コマンドのデータ列と同じデータ列を含むか否かを調べる(ステップS601)。
含まない場合(ステップS601;No)、当該通常コマンドのデータ列を送信し(ステップS602)、本処理を終了する。
含む場合(ステップS601;Yes)、リアルタイム処理禁止コマンドを送信し(ステップS603)、ついで当該通常コマンドのデータ列を送信し(ステップS604)、さらにリアルタイム処理許可コマンドを送信して(ステップS605)、本処理を終了する。
【0062】
なお、この処理に加えて、以下のような処理を行うことができる。たとえば、画像を印刷する場合、その通常コマンドが所定の時間(たとえば1秒)以内にプリンタで処理できる量か否かを判別する。処理できる量の場合は、ステップS603〜ステップS605の処理と同じ処理を行う。
【0063】
所定時間内で処理できない量の場合は、当該通常コマンドを解釈し、複数の通常コマンドに分割する。さらに、それぞれの通常コマンドについてまず、ステップS603〜ステップS605の処理と同じ処理を行って画像の一部を印刷し、さらに、リアルタイム処理が必要かどうかをチェックし、必要であれば当該リアルタイム処理コマンドを送信する、という処理を繰り返す。
【0064】
このような処理を行うことにより、リアルタイム処理が必要な場合の待ち時間が最大でも上記所定の時間(1秒)で済むことになる。
【0065】
なお、その通常コマンドが所定の時間以内にプリンタで処理できる量か否かを判別するために、単純に通常コマンドのデータ量を、予め定めた値と比較して判別しても良い。
【0066】
(印刷装置の受信割り込み処理の第2実施例)
図7は、印刷装置の受信割り込み処理の第2実施例の流れを示すフローチャートである。本実施例では、RAM 104内にカウント領域を設ける。また、リアルタイム禁止コマンドは以下のコマンドシンボル3バイト+パラメータ2バイトの5バイトで構成される。
・「DLE EOT EOT n m」
これは、「以降に続く(n*256+m)バイトについてリアルタイム処理を禁止する」という意味を持つ。
【0067】
本実施例の受信割り込み処理が起動されたら、まず、CPU 103は、インターフェース102が受信した1バイトのデータをRAM 104内の受信バッファ111に記憶する(ステップS701)。受信バッファ111は、リングバッファとして構成するのが一般的である。
【0068】
次に、RAM 104のフラグ領域114を調べ、現在リアルタイム処理が禁止されているか否かを判別する(ステップS702)。
【0069】
禁止されていない場合(ステップS702;No)、モード領域113に記憶された現在の受信割り込みモードを調べる(ステップS703)。受信割り込みモードの値によって、現在リアルタイム処理コマンドの途中を受信しているのか否かが示される。
【0070】
さらに、ステップS701において受信されたデータの値に応じてRAM 104のモード領域113に記憶される受信割り込みモードの値を図8に示す状態遷移図にしたがって更新するとともに、必要があれば処理を実施し(ステップS704)、本割り込み処理を終了する。
【0071】
図8に示す状態遷移図は、図3に示す状態遷移図と大部分は同様であるが、モードCにおいてEOT を受信した場合の処理が異なる。
すなわち、モードCにおいてEOT を受信すると、モードXに移行する。
モードXにおいて、バイト値n を受信すると、値n*256 をRAM 104内のカウント領域115に代入し、モードYに移行する。
【0072】
モードYにおいて、バイト値m を受信すると、値m をRAM 104内のカウント領域115に加算し、フラグ領域114に「リアルタイム処理禁止」を設定し、モードAに移行する。
【0073】
一方、ステップS702において、リアルタイム処理が禁止されていると判別された場合(ステップS702;Yes)、カウント領域115に記憶された値を1減らし(ステップS705)、カウント領域115に記憶された値が0より大きいか否かを調べ(ステップS706)、0より大きい場合(ステップS706;Yes)は、本割り込み処理を終了する。0以下の場合(ステップS706;No)、フラグ領域114に「リアルタイム処理許可」を設定し(ステップS707)、本割り込み処理を終了する。
【0074】
このように、本実施例では、リアルタイム処理禁止コマンドにおいて、「これ以降○○バイトについてはリアルタイム処理を禁止する」というパラメータ設定ができるため、リアルタイム処理許可コマンドを用意する必要はない。一方、情報処理装置においては、リアルタイム処理コマンドのデータ列と同じデータ列をパラメータとして含む通常コマンドのデータ列送信したい場合、まず当該通常コマンドの長さをパラメータとして含むリアルタイム処理禁止コマンドを送信し、ついで当該通常コマンドを送信すればよい。
【0075】
上記、プリンタのステータスを記憶したフラグ領域は、一般的に電源が切断されても記憶状態に保つ必要のあるものはフラッシュメモリ等に設けられ、そうでないものはRAM内に設置される。又、リアルタイム処理コマンドを禁止するかどうかのフラグは、電源が切断されても記憶しておく必要はない。
【0076】
通常使用の時、イメージデータの印刷がほとんど必要が無く、フォント登録作業の時にのみこのリアルタイム処理コマンドを禁止したいばあいは、ディップスイッチなどのハードウエア要素で代用することもできる。この場合、ディップスイッチが上記指示部となる。
【0077】
(印刷装置の受信割り込み処理の第3実施例)
複数のリアルタイム処理コマンドの内、実際にはバイナリデータを送信中に実行されても問題が無い物も含まれている。又、バイナリデータの送信時に、そのバイナリデータが、POSを設置している店舗のロゴなどある場合、あらかじめリアルタイム処理コマンドと紛らわしいデータは作成していないことがあり、このような場合アプリケーションからステータス要求があった場合などは、このためのリアルタイム処理コマンド送信しても問題がない。この場合はリアルタイム処理コマンドのそれぞれに対応して、禁止、あるいは許可を設定することができるように以下のコマンドを通常コマンドで定義する。
・GS(D mn (”GS(D”はコマンドシンボルであり、mnはパラメータで、mがコマンドの指定、nが許可あるいは禁止の指定を表し、どのコマンド禁止するか、あるいは許可するかを指定できる)
上記コマンドを受信した場合、フラグ領域114の指示部に、それぞれのコマンド毎に許可、あるいは禁止が設定され記憶される。例えば、リアルタイム処理コマンドの内、禁止・許可処理を設定したい物が、8個以内であれば、設定するかどうかを、パラメータmで指定する。1000、0011であれば、1番目と、7,8番目に割り当てられたコマンドが、許可・禁止の対象となる。さらに、パラメータnで、1000、0010と指定された場合、1が許可、0が禁止であれば、1番目と7番目に割り当てられたコマンドが許可に、8番目が禁止に設定されるといった様に設定できる。
【0078】
図9は、本発明の印刷装置の受信割り込み処理の流れの第3の実施例を示すフローチャートである。本実施例では、上記したように、リアルタイム処理の禁止または許可は、コマンド設定が可能な通常コマンドとして用意している。図9の受信割り込み処理の機能は、データを受信し、これを受信バッファ111に格納し、同時に受信しながらリアルタイム処理コマンドが含まれていないかどうか解析するもので、CPU 103を主要素とする受信処理部が実行する。
【0079】
本実施例の受信割り込み処理が起動されたら、まず、CPU 103は、インターフェース102が受信した1バイトのデータをRAM 104内の受信バッファ111に記憶する(ステップS901)。受信バッファ111は、リングバッファとして構成するのが一般的である。
【0080】
次に、モード領域113に記憶された現在の受信割り込みモードを調べる(ステップS902)。受信割り込みモードの値によって、現在リアルタイム処理コマンドの途中を受信しているのか否かが示される。
【0081】
さらに、ステップS901において受信されたデータの値に応じてRAM 104のモード領域113に記憶される受信割り込みモードの値を図3に示す状態遷移図にしたがって更新する(ステップ903)。モードの更新にあたり、コマンド処理を行う必要があるか判断する(ステップ904)。コマンド処理を行う必要があれば(ステップ904:Yes)、RAM 104のフラグ領域114を調べ、現在、実行しようとしたコマンドのリアルタイム処理が禁止されているか否かを判別し、(ステップS905) 禁止されていない場合(ステップS905;No)は、リアルタイム処理コマンドに対応する処理を実施し(ステップS906)、禁止されている場合(ステップS905;Yes)はコマンド処理を実施せず本割り込み処理を終了する。
このように、リアルタイム処理コマンドのデータ列を受信するごとに、リアルタイム処理が禁止されているか否かをチェックすることになるが、これに必要な時間は数マイクロ秒のオーダーである。このように比較的簡単な状態遷移の処理なので、受信割り込み処理に必要な時間を短時間ですませることができる。
上記処理は、受信割り込みにおける状態遷移を示す説明図である図3に沿って同様に実行されるが、以下の点で細部が異なる。
【0082】
1、モードCにいるときに EOTを受信すると、モードAに移行するという処理を行なわない。
【0083】
2、本実施例3ではそれぞれのコマンド個別にリアルタイム処理を禁止あるいは許可でき、禁止されているコマンドは、コマンドの処理を実行しないでモードを遷移する。
【0084】
(印刷装置の通常処理の第2実施例)
通常処理とは、プリンタ101が受信したデータを入力した順に読み出し実行するFIFO処理である。図10は、プリンタ101の通常処理の第2の実施例の制御の流れを示すフローチャートである。通常処理を行っている途中であっても、前述の受信割り込み処理が割り込みによって起動されることがありうる。
【0085】
なお、CPU 103は受信バッファ111に処理していないデータが残っている間は、当該データを取得し、残っていない場合は、待機して前述の受信割り込み処理により受信バッファ111にデータが記憶されるのを待つ。このようなコルーチン的な処理が実行されるが、以下の説明では、簡単のため、上記の処理を1回行って1バイトのデータを受信バッファ111から取得する場合と、複数回行って複数バイトのデータを受信バッファ111から取得する場合とを合わせて、「受信バッファからデータを取得」と称することとする。
【0086】
また、本実施例では、リアルタイム処理を禁止するコマンドと許可するコマンドをリアルタイムコマンド許可・禁止コマンドという1つのコマンドとし、通常処理コマンドとして用意している。
【0087】
まず、CPU 103は、受信バッファ111からデータを取得し(ステップS1001)、そのデータの種類を調べる(ステップS1002)。
【0088】
このデータがリアルタイム処理許可・禁止コマンドである場合(ステップS1002;RTC許可)、RAM 104内のフラグ領域114に、リアルタイム処理コマンドごとに「リアルタイム処理許可」または「リアルタイム処理禁止」を設定し(ステップS1003)、処理を継続するかチェック(ステップS1005)し、継続なら(ステップS1005:Yes)、ステップS1001に戻る。
【0089】
一方、このデータがこれ以外の通常処理コマンドである場合(ステップS1002;通常)、当該コマンドに対応付けられた処理を実行し(ステップS1004)、ステップS1005を経て、ステップS1001に戻る。この処理には、文字や図形の印刷、画像の印刷、フォント登録などの処理が含まれる。
【0090】
また、このデータがリアルタイム処理コマンドである場合(ステップS1002;RTC)、ステップS1001に戻る。受信割り込み処理において、リアルタイム処理コマンドに対応付けられた処理がすでに実行されているからである。
【0091】
このように受信割り込み処理と通常処理とを構成しておくと、リアルタイム処理コマンドのデータ列と同じデータ列をパラメータとして含む通常コマンド(たとえば、イメージ印刷コマンドやフォント登録コマンド)のデータ列を情報処理装置がプリンタに対して送信したい場合、まずリアルタイム処理禁止コマンドを送信し、ついで当該通常コマンドを送信し、さらにリアルタイム処理許可コマンドを送信すれば、通常コマンドのパラメータ内に偶然含まれるデータ列によりリアルタイム処理が実行されることはなくなる。
【0092】
(情報処理装置の第2実施例)
図11は、図5で示した本発明の情報処理装置(ホストコンピュータ)の実施例のブロック図に基づき、画像印刷やフォント登録などの処理において、通常コマンドのデータ列をプリンタに送る送信処理の流れを示すフローチャートである。この送信処理は、アプリケーションプログラムがオペレーティングシステムに対して印刷要求を送ることなどにより起動される。また、この送信処理は一般的にプリンタドライバーと呼ばれるプログラムによって実行され、このプログラムは、フロッピーディスクなどの記憶媒体から、ホストコンピュータにインストールされて用いられる。
まず、CPU 501は、送信したい通常コマンドのデータ列がリアルタイム処理コマンドのデータ列と同じデータ列を含む可能性があるコマンドか否かを調べる(ステップS1101)。例えば、この送信しようとしているコマンドが、バイナリデータを送信するバイナリデータ処理コマンドであるかどうかである。
【0093】
バイナリデータ処理コマンドでない場合(ステップS1101;No)、当該通常コマンドのデータ列を送信し(ステップS1102)、本処理を終了する。
含む場合(ステップS1101;Yes)、リアルタイム処理許可・禁止コマンドをコマンドを禁止する設定で送信し(ステップS1103)、さらに印刷装置101が搭載している通常コマンドのうちから、プリンタ情報を送信するステータスデータ送信コマンドを送信する(ステップS1104)。CPU 501は、印字装置101からステータスが送信されてくるのを待ち(ステップS1105)、ステータスを受信すると、ついで当該通常コマンドのデータ列を送信し(ステップS1106)、さらにリアルタイム処理許可コマンドを送信して(ステップS1107)、本処理を終了する。
上記のステップS1104でステータス要求コマンドを実行し、ステップS1105で受信を待つ処理は、以下のような理由による。
【0094】
印刷装置101がコマンドを受信してから、リアルタイム処理許可・禁止コマンドが実行されるまでに時間差が発生する可能性がある。例えば、リアルタイム処理を禁止するコマンドを送信して、連続して、偶然にリアルタイム処理コマンドと同じデータ列が送信されると、禁止されるべきコマンドが実行されてしまう。そこで、印刷装置101に装置自体のステータスをメモリに格納しておき、ホストコンピュータの要求に基づいてこのステータスを送信する機能が搭載されているので、この機能を用いることによりリアルタイム処理禁止あるいは許可の設定が実行されたかどうかを検証することができる。
【0095】
印刷装置101側では、リアルタイム処理コマンドの禁止・あるいは許可を受信すると、フラッシュROM 107のステータス領域117のフラグを更新する。ステップS1104で、ホストコンピュータの要求に応じてこのフラグを含むステータスを送信することにより、ホストコンピュータに当該処理が実行されたことが通知される。このようにすると、リアルタイム処理許可・禁止コマンドが確実に実行されたことを確認することができる。このリアルタイム処理禁止・許可ステータスを送信するためのコマンドは専用コマンドであっても良いし、ステータスデータの内容に依存しないので、他のステータスデータと一緒に送信する汎用コマンドでも良い。
【0096】
また、本実施例では、リアルタイム処理コマンドごとに処理の禁止または許可を設定できるようにしているので、プリンタの電源をオフするコマンドといった、通常動作中は実行しないコマンドは、常時禁止状態としておき、実際に電源をオフする直前に許可することにより、ステップS1201で行っているような、送信したい通常コマンドのデータ列がリアルタイム処理コマンドのデータ列と同じデータ列を含むか否かを調べる処理を簡略化することができる。
【0097】
(印刷装置の受信割り込み処理の第4実施例)
図12は、本発明の印刷装置の受信割り込み処理の流れの他の実施例を示すフローチャートである。本例の受信割り込み処理は、図2に示した実施例と同様に、ホストコンピュータ120が送信するデータ列をプリンタ101のインターフェース102(図1に示す)が受信する際に起動されるものであり、以下重複する部分については説明を省略する。
【0098】
なお、本実施例では、図2に示した実施例と同様に、ESC * (ビットマップデータを印刷するコマンド)、ESC & (フォント登録データを送信するコマンド)、FSg1(不揮発性メモリへのデータの書き込みコマンド)が容易されている。本実施例のプリンタでは、上記コマンドを受信した場合、実質的にリアルタイム処理禁止コマンドとして処理することになる。
【0099】
また、以下に説明するリアルタイム処理コマンド、ビットマップ処理コマンドを解析する処理では、受信データ1バイトを受信バッファに格納するとともに、その格納された1バイト分のデータに加え、先にあった受信割り込み処理で受信バッファに記憶されている2バイトあるいは数バイトを合わせ、実質的にコマンドの解析に必要なバイト分のデータ列を解析する。
【0100】
受信起動されると、まず、CPU 103は、インターフェース102が受信した1バイトのデータをRAM 104内の受信バッファ111に記憶する(ステップS2010)。受信バッファ111は、リングバッファとして構成するのが一般的である。
【0101】
次に、RAM 104のフラグ領域114を調べ、現在リアルタイム処理が禁止されているか否かを判別する(ステップS2020)。それまでにビットマップデータ処理コマンドを受信していない場合、フラグ領域のリアルタイムコマンドの処理を許可するかどうかを示す指示部は、イニシャル状態となっていて、リアルタイム処理コマンドでは、所定の処理が実行されることになる。
【0102】
禁止されていない場合(ステップS2020;No)、リアルタイム処理コマンドかどうか解析される(ステップS2030)。ここで、リアルタイム処理コマンドであると判定された場合は、所定のリアルタイム処理が実行され(ステップS2100)、本割り込み処理を終了する。
【0103】
禁止されている場合はこの処理をとばし、また、ステップS2030でリアルタイム処理コマンドでないと判定された場合は、ビットマップ処理コマンドであるか解析される(ステップS2040)。ここで、ビットマップ処理コマンドを受信したと判定された場合(ステップS2040でYes)、 RAM104内のフラグ領域114に、「リアルタイム処理禁止」を設定する(ステップS2120)。
【0104】
次に、ビットマップ処理の終了かどうかを解析し(ステップS2050)、終了であればフラグ領域114をリセットし、リアルタイム処理の許可を指示する設定をする(ステップS2110)。この解析は、ビットマップデータの送信時には、データの長さを示すパラメータが付属しているのでこのパラメータに従ってデータ長をチェックすることによって実行される。
【0105】
以上の処理によって、リアルタイムコマンドを受け付けてこれを処理する場合と、このコマンドを禁止してビットマップデータの処理での誤作動を防止する場合とに、矛盾無く対応することができる。
【0106】
図13は、受信割り込みにおける状態遷移を示す説明図である。この状態遷移図は、前述のリアルタイム処理コマンド、ビットマップ処理コマンドのデータ列の体系から決まるものであり、説明図では、1バイト毎の状態遷移を示している。
【0107】
モードAは、現在はリアルタイム処理コマンド及びビットマップ処理コマンド以外のコマンドを解釈していることを意味するモードである。なお、モードB、C、Dのモードの内容、またこれらモードの間A−B、B−C、C−A、B−D、D−Aを遷移する条件については、図3に示した実施例と同様であるので、説明を省略する。
【0108】
モードe1は、現在はビットマップ処理コマンドESC *、 ESC &(ビットマップデータを印刷するコマンド)の1バイト目(ESC )を受信していることを意味するモードである。モードAにいる場合に、受信したデータの値がESC である場合には、モードe1に移行する。そして、モードe1にいるときに、次に受信したデータの値が、*、&である場合は、後述するモードEに移行し、それら以外である場合は、モードAに移行する。
【0109】
モードe2は、現在はビットマップ処理コマンドFSg1 m (ビットマップデータを不揮発性メモリに書き込むコマンド)の1バイト目(FS )を受信していることを意味するモードである。モードAにいる場合に、受信したデータの値がFSである場合には、モードe1に移行する。
【0110】
モードe3は、ビットマップ処理コマンドFSg1 mの2バイト目(g )を受信していることを意味するモードである。モードe2にいる場合に、受信したデータの値がg である場合には、モードe3に移行し、それら以外である場合は、モードAに移行する。そして、モードe3にいるときに、次に受信したデータの値が1 である場合は、後述するモードEに移行し、それ以外である場合は、モードAに移行する。
【0111】
モードEは、現在はビットマップ処理コマンドESC *、 ESC &、 FSg1 mを処理中であることを意味する。このモードでは、 RAM 104内のフラグ領域114に、「リアルタイム処理禁止」が設定される。
【0112】
また、ビットマップ処理コマンドESC *、 ESC &、 FSg1 mでは、パラメータで以降送信されるビットマップデータのデータ長が定義されているため、モードe1、e3からモードEに移行した後、引き続き ESC *、 ESC &、 FSg1 mで送信されるビットマップのデータ長を示すデータ列を受信することになる。モードEでは、受信したその値をRAM 104内のカウント領域115にセットし、以降1バイト受信する毎に、その値を減算する。
【0113】
そのカウント値が0に達した時、つまりバイナリーデータの受信が終了したら、フラグ領域114に「リアルタイム処理許可」を設定し、モードEから、モードAに移行する。
このように、本実施例では、印刷装置が、ビットマップ処理コマンドを受信すると、リアルタイムコマンドを禁止するように設定され、ビットマップ処理コマンドの受信が終了すると、再びリアルコマンド処理を許可するように設定されるため、リアルタイム処理禁止、許可コマンドを用意する必要はない。
【0114】
一方、情報処理装置においては、ビットマップ処理コマンドのデータ列に、リアルタイム処理コマンドのデータ列と同じデータ列が含まれていても、これを意識して前もってリアルタイム処理禁止コマンドを送信する必要がなく、ビットマップデータをより簡便に印刷装置に送信することが可能である。
【0115】
(印刷装置の通常処理の第3実施例)
本実施例の通常処理は、プリンタ101が受信して、受信バッファに格納されたデータをFIFO形式で解釈して印刷する処理である。図14は、プリンタ101の通常処理の制御の流れを示すフローチャートである。通常処理を行っている途中であっても、図12、13を用いて示した受信割り込み処理が割り込みによって起動されることがありうる。
【0116】
なお、CPU 103は受信バッファ111に処理していないデータが残っている間は、当該データを取得し、残っていない場合は、待機して前述の受信割り込み処理により受信バッファ111にデータが記憶されるのを待つ。このようなコルーチン的な処理が実行されるが、以下の説明では、簡単のため、上記の処理を1回行って1バイトのデータを受信バッファ111から取得する場合と、複数回行って複数バイトのデータを受信バッファ111から取得する場合とを合わせて、「受信バッファからデータを取得」と称することとする。
【0117】
まず、CPU 103は、受信バッファ111からデータを取得し(ステップS4010)、そのデータの種類を調べる(ステップS4020)。
【0118】
このデータがビットマップデータの処理コマンド以外の通常処理コマンドである場合(ステップS4020;その他)、リアルタイムコマンドのデータ列は既に実行されているため、取り除き(ステップS4200)、当該コマンドに対応付けられた処理を実行し(ステップS4210)、継続データがあれば(ステップS4130でYes)、ステップS4010に戻る。
【0119】
通常処理には、文字や図形の印刷、画像の印刷、フォント登録、あるいは不揮発メモリへの所定のデータの格納などの処理が含まれる。
【0120】
ステップ4020で画像印刷と判断されると、イメージの大きさのパラメータの取得(ステップS4030)後、これに引き続くバイナリデータ部を取得し(ステップ4040)、プリントバッファに展開し(S4050)、印刷がキャンセルされていないかを確認し(ステップS4060)、Yesなら印刷機構を駆動し印刷を実行し(ステップS4070)、印刷終了後プリントバッファをクリアする。
【0121】
又、フォント登録コマンドの場合は、フォント情報を取得し(ステップ4100)、これに引き続くバイナリデータを取得し(S4110)、これを所定のメモリエリアに登録する(ステップS4120)。それぞれの処理が、終了すると、更にデータが無いか確認し(ステップS4130)、なければ終了へ、あればステップS4010に戻って処理を継続する。
【0122】
このように受信割り込み処理と通常処理とを構成しておくと、リアルタイム処理コマンドのデータ列と同じデータ列をパラメータとして含む可能性のある通常コマンド(たとえば、画像印刷コマンドやフォント登録コマンド)のデータ列を情報処理装置がプリンタに対して送信したい場合、このようなコマンドを実質的にリアルタイム処理禁止コマンドの性格を有するものとして取り扱いこのコマンドで定義づけられたデータの終了時にリアルタイム処理許可コマンドを送信すれば、通常コマンドのパラメータ内に偶然含まれるデータ列によりリアルタイム処理が実行されることはなくなる。
【0123】
上記いずれの実施例においても、データを受信する受信・解析処理、リアルタイム処理コマンドを実行するリアルタイム処理、通常コマンドを実行する通常処理、フラグを設定する設定処理はCPU、RAM、CPUを作動するプログラムを格納したROMを有する印刷装置の制御回路内で実行され、それぞれ対応するプログラムと、ハードウエアとのセットにより、受信処理部、リアルタイム処理部、通常処理部、指示部、設定部を構成している。これらの処理部のそれぞれの一部、あるいは全ては、ゲートアレイ、又はDSPなどのハードウエアで代用することも可能である。
【0124】
これらの処理部のプログラムはROMに格納されるのが一般的であるが、これらのプログラムを、フロッピーディスクあるいは、CD−ROMなどの磁気あるいは光ディスク媒体や更には、WEBなどのサイトに格納し、プリンタにセットアップすることも可能である。
【0125】
【発明の効果】
以上説明したように、本発明によれば、以下の効果を奏する。
まず、画像用のバイナリデータやフォント登録用のバイナリデータなどのバイナリデータと、リアルタイム処理コマンドを意味するデータ列とを区別して処理する印刷装置、情報処理装置、これらの制御方法を提供することができる。
【0126】
特に、リアルタイム処理コマンドのデータ列と同じバイトパターンを含む可能性のある通常コマンドのデータ列であっても、ユーザはそれを意識せずに、容易に処理させることができる印刷装置、情報処理装置、これらの制御方法を提供することができる。
【0127】
リアルタイム処理コマンドのそれぞれについて、その実行を禁止あるいは許可を設定できるため、ステータス要求などの緊急性の高いコマンド処理は、常に実行可能になるため、情報処理装置側の機能を損なうことなく、且つ確実な印刷処理を可能とした。
【図面の簡単な説明】
【図1】本発明の印刷装置の実施例の概要を示すブロック構成図。
【図2】本発明の印刷装置の受信割り込み処理の流れの第1実施例を示すフローチャート。
【図3】本発明の印刷装置の受信割り込みの第1実施例における状態遷移を示す説明図。
【図4】本発明の印刷装置の通常処理の流れの実施例を示すフローチャート。
【図5】本発明の情報処理装置の実施例の概要を示すブロック構成図。
【図6】本発明の情報処理装置で実行される送信処理の流れの実施例を示すフローチャート。
【図7】本発明の印刷装置の受信割り込み処理の流れの第2実施例を示すフローチャート。
【図8】本発明の印刷装置の受信割り込みの第2実施例における状態遷移を示す説明図。
【図9】本発明の印刷装置の受信割り込み処理の流れの第3実施例を示すフローチャート。
【図10】本発明の印刷装置の通常処理の流れの実施例を示すフローチャート。
【図11】本発明の情報処理装置で実行される送信処理の流れの実施例を示すフローチャート。
【図12】本発明の印刷装置の受信割り込み処理の流れの第4実施例を示すフローチャート。
【図13】本発明の印刷装置の受信割り込みの第4実施例における状態遷移を示す説明図。
【図14】本発明の印刷装置の通常処理の流れの実施例を示すフローチャート。
【符号の説明】
101 プリンタ
102 インターフェース
103 CPU
104 RAM
105 ROM
107 印刷機構
111 受信バッファ
112 プリントバッファ
113 モード領域
114 フラグ領域
120 ホストコンピュータ
501 CPU
502 ROM
503 不揮発性記憶装置
504 RAM
505 インターフェース

Claims (3)

  1. (a)情報処理装置から送信された通常処理を行うための通常コマンドまたはリアルタイム処理コマンドを受信する受信工程と、
    (b)前記受信工程において、前記リアルタイム処理コマンドを受信した場合、前記通常コマンドの通常処理に優先して、前記リアルタイム処理コマンドに対応するリアルタイム処理を実行する程と、
    を有する印刷装置の制御方法において、
    (c)前記通常コマンド乃至リアルタイム処理コマンドのいずれか一方のコマンドとして用意されたリアルタイム処理禁止コマンドを受信すると、前記リアルタイム処理禁止する設定を行う工程と、
    (d)(c)の工程後、前記通常コマンドの内、バイナリデータを含むイメージデータまたはフォント登録データを受信してイメージ印刷処理またはフォント登録処理を行う工程と、
    を有することを特徴とする印刷装置の制御方法。
  2. さらに、
    (e)(d)の工程後、前記通常コマンドとして用意されたリアルタイム処理許可コマンドを受信すると、前記リアルタイム処理を許可する設定を行う工程を有し、
    (f)(e)の工程後、前記リアルタイム処理を実行可能とする
    ことを特徴とする印刷装置の制御方法。
  3. (g)前記リアルタイム処理禁止コマンドまたは前記リアルタイム処理許可コマンドは、1乃至複数のリアルタイム処理コマンドを指定するパラメータを備え、前記パラメータに基づき、特定のリアルタイム処理コマンドに対応するリアルタイム処理を禁止または許可する
    ことを特徴とする請求項1または2記載の印刷装置の制御方法。
JP2000077114A 1999-03-18 2000-03-17 印刷装置の制御方法 Expired - Lifetime JP4496594B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000077114A JP4496594B2 (ja) 1999-03-18 2000-03-17 印刷装置の制御方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP11-74000 1999-03-18
JP7400099 1999-03-18
JP2000077114A JP4496594B2 (ja) 1999-03-18 2000-03-17 印刷装置の制御方法

Publications (3)

Publication Number Publication Date
JP2000326603A JP2000326603A (ja) 2000-11-28
JP2000326603A5 JP2000326603A5 (ja) 2006-12-28
JP4496594B2 true JP4496594B2 (ja) 2010-07-07

Family

ID=26415148

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000077114A Expired - Lifetime JP4496594B2 (ja) 1999-03-18 2000-03-17 印刷装置の制御方法

Country Status (1)

Country Link
JP (1) JP4496594B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6264978B2 (ja) * 2014-03-20 2018-01-24 セイコーエプソン株式会社 印刷制御装置、印刷システム、及び、印刷制御方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01269122A (ja) * 1988-04-21 1989-10-26 Canon Inc 情報処理装置
JP3552066B2 (ja) * 1993-11-08 2004-08-11 セイコーエプソン株式会社 印刷装置及びその制御方法並びに該印刷装置を用いた情報処理装置
JPH08292851A (ja) * 1995-04-24 1996-11-05 Fuji Xerox Co Ltd 印刷装置
JPH09164747A (ja) * 1995-10-13 1997-06-24 Seiko Epson Corp 印字装置及びその制御方法
JPH09146723A (ja) * 1995-11-20 1997-06-06 Ricoh Co Ltd プリンタ
JPH10187396A (ja) * 1996-12-27 1998-07-14 Canon Inc 出力制御装置および出力制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体

Also Published As

Publication number Publication date
JP2000326603A (ja) 2000-11-28

Similar Documents

Publication Publication Date Title
KR100837584B1 (ko) 시스템, 비트맵 데이터의 송신 제어 방법, 리얼 타임커맨드의 송신 제어 방법
US8085425B2 (en) Information processing apparatus
US7158243B2 (en) Printing apparatus and printing system, control method, storage medium and program
EP1739949A1 (en) Printing system and printing apparatus
JP4109827B2 (ja) 情報処理装置、方法及びコンピュータ読み取り可能な記憶媒体
JP4496594B2 (ja) 印刷装置の制御方法
JP2007179482A (ja) 印刷システム及びプログラム
JP3812216B2 (ja) 印刷装置の制御方法
JP2008265135A (ja) 印刷システム及び印刷装置
JP2004330688A (ja) ページ記述言語と文字コード体系の自動判別機能を備えるプリンタ装置
JPH1148583A (ja) 情報処理システム及び情報処理方法並びに記憶媒体
JP3852728B2 (ja) 印刷装置および情報処理装置
JP2008296381A (ja) 印刷装置及び印刷システム
JP2005153426A (ja) 印刷制御装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
JP2006347065A (ja) 印刷装置
JP4635831B2 (ja) プリンタ及びプリンタの制御方法
JP3610141B2 (ja) 情報処理装置および印刷装置および印刷システムおよび印刷システムのデータ処理方法および制御方法
JP2000267830A (ja) 印刷装置、情報処理装置、これらの制御方法、および情報記録媒体
CN101221486B (zh) 印刷装置的控制方法以及印刷装置的控制装置
JP5962406B2 (ja) 印刷装置およびログ書き込み方法
JP2011238090A (ja) 印刷装置およびその制御方法
JP4156980B2 (ja) 画像形成システム
JP2008134817A (ja) 印刷システム、印刷制御装置およびプログラム
JP2004062875A (ja) 印刷システム、印刷装置、及び印刷制御方法
KR100565792B1 (ko) 프린터의 폰트 데이터 저장방법

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061115

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100128

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100323

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100405

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4496594

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140423

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term