(57)【要約】【課題】ビットイメージデータの受信時に誤認識によりリアルタイム処理が起動することの無いようにした印刷装置の制御方法を提案すること。【解決手段】リアルタイム処理コマンドを表すデータを受信すると他の通常処理に優先してリアルタイム処理コマンドによって指示される処理を即時に実行するＰＯＳプリンター３の制御方法では、リアルタイム処理コマンドを無効にする無効設定を指示する無効設定コマンドを、リアルタイム処理コマンドの一つとして用意しておく。ビットイメージ処理コマンドの先頭に部項設定コマンドを付けてＰＯＳプリンター３に送信する。ＰＯＳプリンター３は、無効設定コマンドを受信するとリアルタイム処理で無効設定を行う。これ以後に受信するビットイメージ処理コマンドにリアルタイム処理コマンドと同一のデータが含まれていても誤認識により不要なリアルタイム処理が起動してしまうことがない。【選択図】図２
2011238090.tif 000002
【特許請求の範囲】
【請求項１】
他の処理に優先して処理するリアルタイム処理コマンドを実行する印刷装置の制御方法であって、
前記リアルタイム処理コマンドを無効にする無効設定を指示する無効設定コマンドを、前記リアルタイム処理コマンドの一つとして定義しておき、
前記印刷装置は、受信したデータが前記無効設定コマンドである場合には、前記他の処理に優先して前記無効設定を実行し、それ以後に受信するデータに含まれている前記リアルタイム処理コマンドを無効にすることを特徴とする印刷装置の制御方法。
【請求項２】
請求項１において、
ビットイメージデータの処理を指示するビットイメージ処理コマンドに先立って、前記無効設定コマンドを受信した場合、
前記無効設定を行い、それ以後に受信するデータに前記リアルタイム処理コマンドに該当するデータが含まれていても前記ビットイメージデータとして処理することを特徴とする印刷装置の制御方法。
【請求項３】
請求項２において、
前記印刷装置は、前記リアルタイム処理コマンドの前記無効設定の解除を、前記ビットイメージ処理コマンドに含まれているビットイメージデータが、少なくとも受信バッファーに格納され終わる時点までに行うことを特徴とする印刷装置の制御方法。
【請求項４】
請求項２において、
前記無効設定コマンドに、所定の条件により前記リアルタイム処理コマンドの前記無効設定を解除するか否かを指示する制御パラメーターを付加できるように定義しておき、
前記印刷装置は、受信した前記制御パラメーターが前記無効設定の解除を指示している場合には、前記リアルタイム処理コマンドの前記無効設定の解除を、前記無効設定コマンドの後、受信する前記ビットイメージ処理コマンドに含まれているビットイメージデータが、少なくとも受信バッファーに格納され終わる時点までに行うことを特徴とする印刷装置の制御方法。
【請求項５】
請求項２において、
前記無効設定コマンドに、前記リアルタイム処理コマンドの前記無効設定の解除時点を指示する制御パラメーターを付加できるように定義しておき、
前記印刷装置は、前記無効設定コマンドの前記制御パラメーターによって指定される前記解除時点において前記無効設定を解除することを特徴とする印刷装置の制御方法。
【請求項６】
請求項５において、
前記制御パラメーターには、前記ビットイメージ処理コマンドに含まれる前記ビットイメージデータの所定のデータ量が含まれており、
前記印刷装置は、前記無効設定コマンドに続く前記ビットイメージデータの受信動作において、前記受信バッファーに前記制御パラメーターによって指定される前記所定のデータ量分が格納され終わった時点において、前記無効設定を解除することを特徴とする印刷装置の制御方法。
【請求項７】
請求項１において、
ビットイメージデータの処理を指示するビットイメージ処理コマンドにおけるヘッダー部を、前記無効設定コマンドとして定義しておき、
前記印刷装置は、受信したデータが、前記ビットイメージデータ処理コマンドの前記ヘッダー部である場合には、前記無効設定を行い、それ以後に受信するデータに含まれている前記リアルタイム処理コマンドを無効にすることを特徴とする印刷装置の制御方法。
【請求項８】
請求項７において、
前記印刷装置は、前記リアルタイム処理コマンドの前記無効設定の解除を、前記ビットイメージ処理コマンドに含まれている前記ビットイメージデータが、少なくとも受信バッファーに格納され終わる時点までに行うことを特徴とする印刷装置の制御方法。
【請求項９】
データを受信する受信部と、
前記受信部によって受信されたデータを受信バッファーに格納してコマンド解析を行い、処理を実行する通常処理部と、
他の処理に優先して処理するリアルタイム処理コマンドの有効設定および無効設定を選択的に切り替える設定処理部と、
前記有効設定の場合に、前記リアルタイム処理コマンドを表すデータを前記受信部によって受信すると、前記他の処理に優先して前記リアルタイム処理コマンドによって指示される処理を実行するリアルタイム処理部とを有し、
前記リアルタイム処理部は、前記リアルタイム処理コマンドの一つとして定義されている無効設定コマンドを表すデータを前記受信部が受信すると、前記他の処理に優先して前記設定処理部によって前記無効設定に切り替える処理を行わせることを特徴とする印刷装置。
【請求項１０】
請求項９において、
前記設定処理部は、前記無効設定から前記有効設定に戻す処理を、前記無効設定コマンドの後受信されるビットイメージ処理コマンドに含まれるビットイメージデータが、少なくとも前記受信バッファーに格納され終わる時点までに行うことを特徴とする印刷装置。
【請求項１１】
請求項９において、
前記無効設定コマンドには、所定の条件により前記リアルタイム処理コマンドの前記無効設定を解除するか否かを指示する制御パラメーターが含まれており、
前記設定処理部は、受信した前記無効設定コマンドに含まれている前記制御パラメーターが前記無効設定の解除を指示している場合には、前記無効設定から前記有効設定に戻す処理を、前記無効設定コマンドの後受信されるビットイメージ処理コマンドに含まれるビットイメージデータが、少なくとも前記受信バッファーに格納され終わる時点までに行うことを特徴とする印刷装置。
【請求項１２】
請求項９において、
前記無効設定コマンドには、前記リアルタイム処理コマンドの前記無効設定の解除時点を指示する制御パラメーターが含まれており、
前記設定処理部は、少なくとも前記無効設定コマンドの前記制御パラメーターによって指定される前記解除時点において、前記無効設定から前記有効設定に戻すことを特徴とする印刷装置。
【請求項１３】
請求項１１において、
前記制御パラメーターには、前記ビットイメージ処理コマンドに含まれている前記ビットイメージデータの所定のデータ量を表しており、
前記設定処理部は、前記制御パラメーターによって指定される前記所定のデータ量分の前記ビットイメージデータが、少なくとも前記受信バッファーに格納され終わる時点において、前記指示部を前記無効設定から有効設定に戻すことを特徴とする印刷装置。
【請求項１４】
請求項９において、
前記リアルタイム処理部は、前記受信部が、前記ビットイメージ処理コマンドにおける少なくともヘッダー部を受信すると、前記設定処理部を前記無効設定に切り替えることを特徴とする印刷装置。
【請求項１５】
請求項１４において、
前記設定処理部は、前記ビットイメージ処理コマンドに含まれている前記ビットイメージデータが、少なくとも前記受信バッファーに格納され終わる時点までに、前記有効設定に戻すことを特徴とする印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＰＯＳシステム等に用いられる印刷装置およびその制御方法に関し、特に、ビットイメージ処理コマンドのビットイメージデータに現れるデータの一部がリアルタイム処理コマンド（即時処理コマンド）と同一である場合に、当該ビットイメージデータのデータをリアルタイム処理コマンドであると誤認識させないように処理可能な印刷装置およびその制御方法に関する。
【背景技術】
【０００２】
ＰＯＳシステムのＰＯＳプリンターなどの印刷装置では、上位の情報処理装置（ホストコンピューター）の側から印刷指令などの各種のコマンドを受信すると、割り込み処理などでコマンドの解析処理が直ちに起動して、コマンドに対応した処理が実行される。特許文献１に開示の印刷装置では、緊急性、重要度の高い処理を要する場合などにおいて、他より優先的に処理するリアルタイム処理コマンドを使用している。この場合、印刷装置では、受信したデータがリアルタイム処理コマンドであるか否かのコマンド解析が行われ、リアルタイム処理コマンドであると判断した場合には、他のコマンドやデータの処理に優先し、直ちにリアルタイム処理（即時処理）が実行される。それ以外の通常のコマンドの場合には受信したデータが受信バッファーに格納され、いわゆるＦＩＦＯの順序で処理される。具体的には、受信バッファーから受信した順にデータが読み込まれて、コマンド解析が行われ、文字印刷データであれば文字展開処理が行われ、ビットイメージ処理コマンドであればビットイメージ処理が実行される。
【０００３】
印刷装置においては、一般に、所定単位、例えば１バイト（８ビット）や２バイト単位でコマンド体系が構築されており、文字を印刷するためのコードのデータ例としてＡＳＣＩＩコードに従ったバイト値が使用され、また、直接的に印刷データに関わる画像の印刷、ユーザー定義フォントの定義などは、ビットイメージデータにより印刷データ、例えば白黒を表す印刷する画素のデータを用いる手法が使用されている。このような印刷装置のコマンド体系においては、印刷画像データを表すビットイメージデータのデータの中に、リアルタイム処理コマンドと同一のデータが偶然に現れる場合がある。このような事態が発生すると、印刷装置は、データ受信時の割り込み処理などのコマンド解析時に、当該ビットイメージデータをリアルタイム処理コマンドであると誤認識して、誤ってリアルタイム処理を実行してしまう。かかる誤認識を防止するための方法として、特許文献２〜４に記載の方法が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０９−１６４７４号公報
【特許文献２】特開２０００−２６７８３０号公報
【特許文献３】特開２０００−３３９１２４号公報
【特許文献４】特開２０００−２９６６５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献２に記載の方法では、受信して受信バッファーに格納されたデータを読み込んでコマンド解析し、それがビットイメージ処理コマンドである場合にはリアルタイム処理を一時的に無効にし、ビットイメージデータに、リアルタイム処理コマンドと同一のデータが含まれていても、それがリアルタイム処理コマンドであると誤認識させないようにしている。
【０００６】
この場合、印刷装置は、ホストコンピューターから送信されるデータを、受信バファーの容量に余裕がある限り受信し、受信データが受信バッファーに溜まる速度は、当該受信バッファーに格納されたデータのコマンド解析処理の動作速度に比べて格段に速い。このため、受信バッファーに格納された受信データをコマンド解析してリアルタイム処理を無効に設定する時点において、既に後続のビットイメージデータが受信バッファーに格納され終わっている場合がある。すなわち、割込み処理を使用している場合、ビットイメージデータが受信バッファーに格納される前の時点で既にリアルタイムコマンド解析が行われてしまっているので、当該ビットイメージデータにリアルタイム処理コマンドと同一のデータが含まれている場合にはリアルタイム処理が行われてしまい、誤認識を回避できない場合がある。一方、割込み処置を使用していない場合では、受信バッファーに格納されたデータを読み込んでからコマンド解析するので、即時に処理するべきリアルタイム処理コマンドの処理が遅れる場合がある。
【０００７】
特許文献３に記載の方法では、ホストコンピューターの側において、印刷装置にビットイメージデータを印刷させるビットイメージ処理コマンドのデータにリアルタイム処理コマンドと同一のデータが含まれている場合、当該ビットイメージ処理コマンドに加工を施して、印刷装置の側において誤認識しないデータの形態でビットイメージ処理コマンドを印刷装置に送信するようにしている。この方法を採用するためには、ユーザー側のホストコンピューターのアプリケーションを大幅に変更して、ビットイメージ処理コマンドを誤認識されないデータ形態に編集できるようにする必要がある。
【０００８】
特許文献４に記載の方法では、印刷装置のハードウエア回路構成に割り込み端子切り替え回路を付加し、ビットイメージ処理コマンドのデータを受信している間はリアルタイム処理コマンドを無効に切り替えるようにしている。この方法では、印刷装置にハードウエア（割り込み端子切り替え回路）を追加する必要があり、コストが掛る。
【０００９】
なお、従来において、印刷装置において使用される通常のコマンドとして、リアルタイム処理コマンドの有効・無効を切り替えるコマンドが用いられる場合がある。かかるコマンドを使用する場合においても、特許文献２に記載の方法と同じく、ホストコンピューターの側から連続的にビットイメージ処理コマンドが送信されると、リアルタイム処理コマンドが無効にならない期間が発生し、そのような期間において誤認識が発生する場合がある。
【００１０】
本発明の課題は、このような従来の問題点に解消して、ビットイメージデータの受信時に誤認識によりリアルタイム処理が起動することの無いようにした印刷装置およびその制御方法を提案することにある。
【課題を解決するための手段】
【００１１】
上記の課題を解決するために、本発明は、他の処理に優先して処理するリアルタイム処理コマンドを実行する印刷装置の制御方法であって、前記リアルタイム処理コマンドを無効にする無効設定を指示する無効設定コマンドを、前記リアルタイム処理コマンドの一つとして定義しておき、前記印刷装置は、受信したデータが前記無効設定コマンドである場合には、前記他の処理に優先して前記無効設定を実行し、それ以後に受信するデータに含まれている前記リアルタイム処理コマンドを無効にすることを特徴としている。
【００１２】
本発明では、他のコマンドの処理やデータの処理に優先して即時に処理を実行するリアルタイム処理コマンド（即時処理コマンド）の中の一つとして、リアルタイム処理コマンドを無効にする（リアルタイム処理の実行を無効または禁止する）ための無効設定コマンドが定義されている。したがって、印刷装置は、当該無効設定コマンドを受信するとリアルタイム処理により、即時にリアルタイム処理コマンドの無効設定を行う。リアルタイム処理コマンドの一つとして無効設定コマンドを定義しておくだけでよいので、印刷装置のファームウエア、当該印刷装置にコマンドを送信する情報処理装置（ホストコンピューター）のソフトウエアの変更が最小限で済み、また、これらのハードウエア構成を変更・追加する必要もない。よって、ビットイメージデータに含まれるリアルタイム処理コマンドと同一のデータをリアルタイム処理コマンドであると誤認識してしまう弊害を、簡単かつ廉価に防止できる。また、データ受信時、割込み処置を使用することができるので、即時にリアルタイム処理コマンドの処理をすることができる。
【００１３】
本発明の方法では、ビットイメージデータの処理を指示するビットイメージ処理コマンドに先立って、前記無効設定コマンドを受信した場合、前記無効設定を行い、それ以後に受信するデータに前記リアルタイム処理コマンドに該当するデータが含まれていても前記ビットイメージデータとして処理することを特徴としている。
【００１４】
このようにすれば、印刷装置の側では無効設定コマンドの受信に基づき、リアルタイム処理により、即時にリアルタイム処理コマンドの無効設定を行う。よって、後続のビットイメージ処理コマンドのビットイメージデータのデータの中にリアルタイム処理コマンドと同一のデータが存在しても、そのままビットイメージデータとして処理するため、当該データをリアルタイム処理コマンドであると誤認識してしまうことが確実に防止される。
【００１５】
本発明の方法において、前記印刷装置は、前記リアルタイム処理コマンドの前記無効設定の解除を、前記ビットイメージ処理コマンドに含まれているビットイメージデータが、少なくとも受信バッファーに格納され終わる時点までに行うようにすればよい。このようにすれば、ビットイメージ処理コマンドのビットイメージデータに続いてリアルタイム処理コマンドが印刷装置に受信される場合には、無効設定が解除されているので、当該リアルタイム処理コマンドによるリアルタイム処理が無効にされてしまうという弊害を回避できる。
【００１６】
本発明の方法において、前記無効設定コマンドに、所定の条件により前記リアルタイム処理コマンドの前記無効設定を解除するか否かを指示する制御パラメーターを付加できるように定義しておき、受信したビットイメージ処理コマンドの受信終了後において無効設定を解除するか否かを制御できるようにしてもよい。この場合には、前記印刷装置は、受信した前記制御パラメーターが前記無効設定の解除を指示している場合には、前記リアルタイム処理コマンドの前記無効設定の解除を、前記無効設定コマンドの後、受信する前記ビットイメージ処理コマンドに含まれているビットイメージデータが、少なくとも受信バッファーに格納され終わる時点までに行うようにすればよい。
【００１７】
この代わりに、前記無効設定コマンドに、前記リアルタイム処理コマンドの前記無効設定の解除時点を指示する制御パラメーターを付加できるように定義しておくこともできる。この場合、前記印刷装置は、前記無効設定コマンドの前記制御パラメーターによって指定される前記解除時点において前記無効設定を解除するようにしてもよい。
【００１８】
ここで、前記制御パラメーターには、前記ビットイメージ処理コマンドに含まれる前記ビットイメージデータの所定のデータ量が含まれたものとすることができる。この場合には、前記印刷装置は、前記無効設定コマンドに続く前記ビットイメージデータの受信動作において、前記受信バッファーに前記制御パラメーターによって指定される前記所定のデータ量分が格納され終わった時点において、前記無効設定を解除すればよい。
【００１９】
次に、本発明の方法では、ビットイメージデータの処理を指示するビットイメージ処理コマンドにおけるヘッダー部を、前記無効設定コマンドとして定義しておき、前記印刷装置は、受信したデータが、前記ビットイメージデータ処理コマンドの前記ヘッダー部である場合には、前記無効設定を行い、それ以後に受信するデータに含まれている前記リアルタイム処理コマンドを無効にすることを特徴としている。
【００２０】
このようにすれば、印刷装置は、ビットイメージ処理コマンドを受信すると、そのヘッダー部をリアルタイム解析して、リアルタイム処理コマンドの無効設定を行う。よって、ビットイメージ処理コマンドにおける後続のビットイメージデータの受信時にはリアルタイム処理コマンドが無効とされるので、当該ビットイメージデータに含まれるデータがリアルタイム処理コマンドのデータと同一であったとしてもリアルタイム処理が起動することはなく、誤認識動作を防止できる。
【００２１】
この場合においても、前記印刷装置は、前記リアルタイム処理コマンドの前記無効設定の解除を、前記ビットイメージ処理コマンドに含まれている前記ビットイメージデータが、少なくとも受信バッファーに格納され終わる時点までに行うようにすればよい。
【００２２】
次に、本発明は、上記の制御方法によって、ビットイメージ処理コマンドに含まれているリアルタイム処理コマンドと同一のデータをリアルタイム処理コマンドであると誤認識してしまうことを防止する印刷装置に関する。本発明の印刷装置は、
データを受信する受信部と、
前記受信部によって受信されたデータを受信バッファーに格納してコマンド解析を行い、処理を実行する通常処理部と、
他の処理に優先して処理するリアルタイム処理コマンドの有効設定および無効設定を選択的に切り替える設定処理部と、
前記有効設定の場合に、前記リアルタイム処理コマンドを表すデータを前記受信部によって受信すると、前記他の処理に優先して前記リアルタイム処理コマンドによって指示される処理を実行するリアルタイム処理部とを有し、
前記リアルタイム処理部は、前記リアルタイム処理コマンドの一つとして定義されている無効設定コマンドを表すデータを前記受信部が受信すると、前記他の処理に優先して前記設定処理部によって前記無効設定に切り替える処理を行わせることを特徴としている。
【００２３】
ここで、前記設定処理部は、前記無効設定から前記有効設定に戻す処理を、前記無効設定コマンドの後に受信されるビットイメージ処理コマンドに含まれるビットイメージデータが、少なくとも前記受信バッファーに格納され終わる時点までに行うことを特徴としている。
【００２４】
また、前記無効設定コマンドに、所定の条件により前記リアルタイム処理コマンドの前記無効設定を解除するか否かを指示する制御パラメーターが含まれている場合には、前記設定処理部は、受信した前記無効設定コマンドに含まれている前記制御パラメーターが前記無効設定の解除を指示しているときには、前記無効設定から前記有効設定に戻す処理を、前記無効設定コマンドの後に受信されるビットイメージ処理コマンドに含まれるビットイメージデータが、少なくとも前記受信バッファーに格納され終わる時点までに行うことを特徴としている。
【００２５】
さらに、前記無効設定コマンドに、前記リアルタイム処理コマンドの前記無効設定の解除時点を指示する制御パラメーターが含まれている場合には、前記設定処理部は、少なくとも前記無効設定コマンドの前記制御パラメーターによって指定される前記解除時点において、前記無効設定から前記有効設定に戻すことを特徴としている。
【００２６】
この場合、前記制御パラメーターには、前記ビットイメージ処理コマンドに含まれている前記ビットイメージデータの所定のデータ量を表しているときには、前記設定処理部は、前記制御パラメーターによって指定される前記所定のデータ量分の前記ビットイメージデータが、少なくとも前記受信バッファーに格納され終わる時点において、前記無効設定から前記有効設定に戻すことを特徴としている。
【００２７】
次に、前記リアルタイム処理部は、前記受信部が、前記ビットイメージ処理コマンドにおけるヘッダー部を受信すると、前記指示部設定部を前記無効設定に切り替えさせることを特徴としている。
【００２８】
この場合、前記設定処理部は、前記ビットイメージ処理コマンドに含まれている前記ビットイメージデータが、少なくとも前記受信バッファーに格納され終わる時点までに、前記有効設定に戻すことを特徴としている。
【発明の効果】
【００２９】
本発明では、他の処理に優先して実行されるリアルタイム処理コマンドの一つとして、リアルタイム処理コマンドを無効にする無効設定コマンドを用いるようにしている。あるいは、ビットイメージ処理コマンドの少なくともヘッダー部を当該無効設定コマンドとして取り扱うようにしている。したがって、印刷装置がビットイメージ処理コマンドのビットイメージデータを受信する前、または受信バッファーに格納する前に、無効設定コマンドによって印刷装置によるリアルタイム処理を無効に設定することができる。よって、後続のビットイメージデータの受信時、あるいは後続して連続的にビットイメージ処理コマンドが受信される場合に、そこに偶発的に含まれているリアルタイム処理コマンドと同一のデータをリアルタイム処理コマンドであると誤認識して誤ってリアルタイム処理が起動してしまうことを確実に防止できる。
【図面の簡単な説明】
【００３０】
【図１】実施の形態１のＰＯＳシステムのＰＯＳプリンターの機能ブロック図である。
【図２】ＰＯＳプリンターのリアルタイム処理コマンドの処理を示す概略フローチャートである。
【図３】ＰＯＳプリンターの通常処理コマンドの処理を示す概略フローチャートである。
【図４】ＰＯＳプリンターに送信されるビットイメージデータを示す概念図である。
【発明を実施するための形態】
【００３１】
以下に、図面を参照して本発明を適用した実施の形態を説明する。なお、以下に述べる実施の形態はいずれも本発明をＰＯＳシステムのＰＯＳプリンターに適用したものであるが、本発明はＰＯＳシステム以外のプリンターを含むシステムにも同様に適用できる。
【００３２】
図１は、実施の形態１に係るＰＯＳシステムのＰＯＳプリンターの制御系を中心に示す機能ブロック図である。ＰＯＳシステム１は、ホストコンピューター２とＰＯＳプリンター３を備えている。ホストコンピューター２からＰＯＳプリンター３に送信されるコマンドとしては、ＰＯＳプリンター３においてデータを受信した順番に処理するＦＩＦＯ処理を行う通常処理コマンドと、ＦＩＦＯ処理によらず他の処理に優先的に処理されるリアルタイム処理コマンドとがある。
【００３３】
通常処理コマンドには、所定のデータ量のビットイメージデータの転送、印刷などを指示するビットイメージ処理コマンドがある。ビットイメージ処理コマンドは、ビットイメージコマンドヘッダー部とビットイメージデータ部から構成されており、ビットイメージコマンドヘッダー部には、コマンド名を示す制御文字、ビットイメージデータの印刷モード（縦横の印刷ドット密度など）、データ量などを指示する制御パラメーターが含まれている。ビットイメージデータ部は、ビットイメージデータが所定の順序（縦方向に上から最上位ビットから最下位ビットに向かう順序、あるいは、横方向に左から最上位ビットから最下位ビットに向かう順序）で配列された構成となっている。
【００３４】
リアルタイム処理コマンドには、ホストコンピューター２が、ＰＯＳプリンター３に対し、ステータスをリアルタイムにホストコンピューター２に送信させるためのコマンドや即時に処理させることが必要なコマンドがあり、例えばＰＯＳプリンター３のインクの状態をリアルタイムにホストコンピューター２に送信させるためのコマンド、ＰＯＳプリンター３の電源をオフにするためのコマンドなどがある。本例では、これらのリアルタイム処理コマンドに加えて、リアルタイム処理コマンドとして、リアルタイム処理コマンドの実行を禁止するための無効設定コマンドが用意（定義）されている。
【００３５】
ＰＯＳプリンター３の制御系は、図１に示すように、ＣＰＵを備えた制御回路４、ファームウエアが格納されているＲＯＭ５および作業領域として用いられるＲＡＭ６を中心に構成されている。制御回路４には、ホストコンピューター２との間で通信を行うための受信部７および送信部８を備えた通信用インターフェースが搭載されている。また、受信部７を介して受信したデータのＤＭＡ転送を行うためのＤＭＡ制御部９が搭載されている。
【００３６】
ＲＡＭ６は、各種の作業のための一時記憶領域を備えており、ここには、受信部７を介して受信されたホストコンピューター２からの受信データをそのまま格納する受信バッファー１０、印刷ヘッド１８に印刷させるためのイメージデータを一時的に格納するためのプリントバッファー１１などが含まれている。ＲＯＭ５には印刷制御等のための各種の制御プログラムが格納されている。ＣＰＵの制御の下に、ＲＡＭ６の所定領域を作業用記憶領域として用いて、制御プログラムを実行することにより、制御回路４は各種の処理部として機能する。
【００３７】
すなわち、制御回路４は、受信部７を介して受信バッファー１０に格納されたデータを読み込んで通常コマンド解析を行い、当該データによって指示されている通常処理を実行する通常処理部１２として機能する。また、受信部７がデータ受信したときに起動する受信割り込み処理内でリアルタイムコマンド解析を行い、当該データがリアルタイム処理コマンドである場合には、他の処理に優先して当該リアルタイム処理コマンドが指示するリアルタイム処理を実行するリアルタイム処理部１３として機能する。
【００３８】
制御回路４のＲＡＭ６内のフラグ領域には、受信部７によって受信されたリアルタイム処理コマンドの有効設定および無効設定を指示する指示部１４が備わっており、制御回路４は、指示部１４を有効設定の状態および無効設定の状態に選択的に切り替える設定処理部１５として機能する。また、ＲＡＭ６内のフラグ領域には、データ受信モードをＤＭＡ制御部９によるＤＭＡ受信モードに切り替えるか否かを指示するモード指示部１６も備わっている。
【００３９】
一方、制御回路４は、プリントバッファー１１に展開された印刷データを印刷するための印刷制御部１７として機能する。印刷制御部１７は、印刷ヘッド１８、搬送機構１９を含む印刷機構２０を駆動制御して、記録用紙などの記録媒体を印刷ヘッド１８による印刷位置を経由させて搬送し、当該搬送に同期させて印刷ヘッド１８を駆動して印刷データの印刷動作を行わせる。
【００４０】
ここで、リアルタイム処理部１３は、指示部１４が有効設定の状態の場合にのみ、受信部７によって受信されたリアルタイム処理コマンドを表すデータに対応するリアルタイム処理を実行する。また、リアルタイム処理部１３は、リアルタイム処理コマンドの一つとして用意されている無効設定コマンドを表すデータを受信部７が受信すると、設定処理部１５によって指示部１４を有効設定の状態から無効設定の状態に切り替えさせることを内容とする無効設定リアルタイム処理を実行する。
【００４１】
（リアルタイム処理コマンドの処理）
図２はＰＯＳプリンター３におけるリアルタイム処理コマンドを受信した場合の処理を示す概略フローチャートである。この図に従って説明すると、ホストコンピューター２の側からは、ビットイメージ処理コマンドの先頭にリアルタイム処理コマンドである無効設定コマンドが付加されたデータが送信される。ＰＯＳプリンター３において、ホストコンピューター２が送信したデータを受信部７で受信すると（ステップＳＴ１１）、制御回路４に受信割り込みが発生し、受信割り込み処理が起動する。受信割り込み処理においては、リアルタイム処理部１３は、受信したデータにリアルタイム処理コマンドが含まれているか否かを判断する（ステップＳＴ１２）。
【００４２】
リアルタイム処理コマンドが含まれていると判断した場合（ステップＳＴ１２：ＹＥＳ）、当該リアルタイム処理コマンドが、リアルタイム処理コマンドの一つとして用意されている無効設定コマンドであるか否かを判断する（ステップＳＴ１５）。無効設定コマンドと判断すると（ステップＳＴ１５：ＹＥＳ）、リアルタイム処理部１３は、設定処理部１５によって指示部１４を有効設定の状態から無効設定の状態に切り替えさせるリアルタイム処理を実行し、リアルタイム処理コマンド無効設定とする（ステップＳＴ１９）。これにより指示部１４が無効設定の状態に切り替わり、この後に受信されるリアルタイム処理コマンドが無効とされる（すなわち、リアルタイム処理コマンドの実行が禁止される）。その後、受信割り込み処理を終了し、通常の処理のフローへ戻る。
【００４３】
リアルタイム処理コマンドが含まれていると判断した場合（ステップＳＴ１２：ＹＥＳ）において、当該リアルタイム処理コマンドが無効設定コマンドでないと判断した場合（ステップＳＴ１５：ＮＯ）、既にリアルタイム処理コマンド無効状態であれば（ステップＳＴ１６：ＹＥＳ）、リアルタイム処理コマンドの処理をせず、無視して通常の処理のフローへ戻る。
【００４４】
リアルタイム処理コマンドが含まれていると判断した場合（ステップＳＴ１２：ＹＥＳ）において、当該リアルタイム処理コマンドが無効設定コマンドでないと判断した場合（ステップＳＴ１５：ＮＯ）、リアルタイム処理コマンド無効状態でなければ（ステップＳＴ１６：ＮＯ）、リアルタイム処理コマンドの処理をし（ステップＳＴ１７）、その後、受信割り込み処理を終了し、通常の処理のフローへ戻る。
【００４５】
これに対して、リアルタイム処理コマンドが含まれていないと判断した場合（ステップＳＴ１２：ＮＯ）や、リアルタイム処理コマンド無効状態であった場合（ステップＳＴ１６：ＹＥＳ）、ビットイメージコマンドの所定のデータ量を含めて受信が終了したかどうか判断し（ステップＳＴ１３）、終了していれば（ステップＳＴ１３：ＹＥＳ）、リアルタイム処理コマンド無効を解除し（ステップＳＴ１８）、その後、受信割り込み処理を終了し、通常のフローへ戻る。ここで、無効設定コマンドによって無効設定に切り替えられていた指示部１４は、設定処理部１５によって有効設定の状態に戻される。
【００４６】
ビットイメージコマンドの所定のデータ量を含めて受信が終了したかどうか判断し（ＳＴ１３）、終了していない場合（ステップＳＴ１３：ＮＯ）、リアルタイム処理コマンド無効設定した場合（ステップＳＴ１９）、リアルタイム処理コマンドの処理をした場合（ステップＳＴ１７）、および、リアルタイム処理コマンド無効を解除した場合（ステップＳＴ１８）には、その後、受信割り込み処理を終了し、通常の処理のフローへ戻る。
【００４７】
受信割り込み処理が終了すると、制御回路４の制御は通常処理に復帰し、受信部７を介して受信したデータが順次に受信バッファー１０に格納される（ステップＳＴ１４）。本例の場合には、無効設定コマンドおよびビットイメージ処理コマンドが順次に受信バッファー１０に取り込まれる。
【００４８】
（通常処理コマンドの処理）
図３は、ＰＯＳプリンターの通常処理コマンドの処理を示す概略フローチャートである。通常処理においては、制御回路４の通常処理部１２が、受信バッファー１０に格納されたデータを例えば１バイトずつ読み込み、通常コマンド解析を行う（ステップＳＴ２１）。最初に読み込まれる無効設定コマンドのデータはリアルタイム処理コマンドであるので、通常コマンド解析においては無視される。次に、後続のビットイメージ処理コマンドの先頭の１バイトのデータの通常コマンド解析が行われる（ステップＳＴ２２）。ビットイメージ処理コマンドがビットイメージデータの印刷コマンドであるとすると、当該コマンドが解析されると（ステップＳＴ２２：ＹＥＳ）、後続のビットイメージデータに基づき、ＲＡＭ６のプリントバッファー１１に印刷イメージデータが展開される（ステップＳＴ２３）。コマンドがその他の通常処理コマンドの場合には（ステップＳＴ２２：ＮＯ）、それによって指示される処理が実行される（ステップＳＴ２５）。
【００４９】
印刷制御部１７は、プリントバッファー１１に展開された印刷イメージデータが所定の量、例えば１行分の量に達した場合などにおいては、当該印刷イメージデータにしたがって印刷ヘッド１８および搬送機構１９を駆動して、記録用紙などの記録媒体に文字、図形を印刷する（ステップＳＴ２４）。
【００５０】
このようにして、コマンド処理動作を行うＰＯＳプリンター３によれば、画像の印刷などの処理を指示するためのビットイメージ処理コマンドのビットイメージデータを表すバイナリデータのデータの定義の中に、リアルタイム処理コマンドと同じデータが偶然に現われた場合の誤認識を確実に防止できる。
【００５１】
例えば、図４に示すように、通常、ビットイメージ処理コマンドは、発行される１枚のレシートの印刷画像２１を複数の帯状の領域に区切って実現しているので、連続した一連のビットイメージ処理コマンド「ＥＳＣ  ｘ・・・」がホストコンピューター２からＰＯＳプリンター３に送信される。例えば、一連のビットイメージ処理コマンドにおける２番目のビットイメージデータ中、最後の５番目のビットイメージデータ中に、リアルタイム処理コマンドと同じデータ「ｘｘ」が偶然に現れたとする。この場合、本来、リアルタイム処理コマンドと解釈すべきでない場合であっても、受信割り込み処理において、リアルタイム処理コマンドに対応する処理が実行されてしまう。
【００５２】
すなわち、ＰＯＳプリンター３の側において、ホストコンピューター２が意図しないタイミングで意図しないリアルタイム処理コマンドの処理が実行される可能性がある。このような事態が発生すると、先に述べたように、ＰＯＳプリンター３の電源がオフになってしまったり、ＰＯＳプリンター側のステータスがホストコンピューター側で受信の準備がされていなのにも拘わらす送信されたりして、ホストコンピューター２とＰＯＳプリンター３との整合性がとれなくなったりしてしまう可能性がある。
【００５３】
ＰＯＳシステム１では、上記のように、リアルタイム処理コマンドの一つとして、リアルタイム処理コマンドを無効にする無効設定コマンドが用意されており、ビットイメージ処理コマンドの送信に当たっては先頭の無効設定コマンドを付けるようにしている。ＰＯＳプリンター３では、上記のように、無効設定コマンドを受信すると、リアルタイム処理コマンドを無効にする設定をリアルタイム処理により行う。この結果、後続のビットイメージ処理コマンドのビットイメージデータ中に、リアルタイム処理コマンドと同一のデータが偶然に現れても、リアルタイム処理部１２によるリアルタイム処理が起動しないので、不要なリアルタイム処理が実行されてしまうことを防止できる。
【００５４】
すなわち、通常処理コマンドの一つとして用意した無効設定コマンドを用いて、通常処理部１２におけるコマンド解析によってリアルタイム処理を一時的に無効に切り替える場合、あるいは、ビットイメージ処理コマンドであることを通常処理部１２においてコマンド解析してリアルタイム処理を一時的に無効に切り替える場合には、切り替え時点において、受信バッファー１０にビットイメージデータの全部あるいは一部が既に格納されている。このため、無効に切り替える時点よりも前の時点で、リアルタイム処理部１３は、ビットイメージデータに含まれているリアルタイム処理コマンドと同一のデータがリアルタイム処理コマンドであると誤認識してしまい、不要なリアルタイム処理が実行される可能性がある。本例のＰＯＳプリンター３ではこのような弊害を確実に防止することができる。
【００５５】
（リアルタイム処理の無効設定の解除方法）
次に、上記のＰＯＳプリンター３では、無効設定コマンドによるリアルタイム処理コマンドの無効設定の解除を、ビットイメージデータが受信バッファー１０に格納され終わった時点において行うようにしている。この代わりに、無効設定コマンドに、無効設定の解除を表すパラメーターを付加し、このパラメーターに基づき無効設定を解除してもよい。
【００５６】
例えば、無効設定コマンドに、リアルタイム処理コマンドの無効設定を解除するか否かを指示する制御パラメーターを付加しておく。リアルタイム処理部１３は、制御パラメーターによって無効設定の解除が指定されている場合には、指示部１４を無効設定の状態に切り替える処理を設定処理部１５に指示すると共に、ビットイメージデータの受信後に無効設定の解除を行うように設定処理部１５に指示する。設定処理部１５はビットイメージデータの受信終了後に指示部１４の無効設定を解除する。制御パラメーターによって無効設定の解除が指定されていない場合には、指示部１４を無効設定の状態に保持する。このようにすれば、例えば、図４に示すように連続してビットイメージ処理コマンドを送信する場合に、最後のビットイメージ処理コマンドの制御パラメーターによって無効設定の解除を指定しておけばよい。
【００５７】
この代わりに、無効設定コマンドに、リアルタイム処理コマンドの無効設定の解除時点を指示する制御パラメーターを付加しておくこともできる。この場合、設定処理部１５は、無効設定コマンドの制御パラメーターによって指定される解除時点において無効設定を解除する。例えば、制御パラメーターは、ビットイメージ処理コマンドに含まれているビットイメージデータのデータ量を表わすものとすることができる。この場合には、無効設定コマンドに続くビットイメージデータの受信動作において、受信バッファー１０に制御パラメーターによって指定されるデータ量分のビットイメージデータが格納され終わった時点において、無効設定が解除されることになる。
【００５８】
（無効設定コマンドの別の形態）
上記の例では、リアルタイム処理コマンドとして新たに無効設定コマンドを定義している。この代わりに、ビットイメージ処理コマンドにおけるヘッダー部を、無効設定コマンドとして定義しておいてもよい。
【００５９】
この場合には、ＰＯＳプリンター３のリアルタイム処理部１３は、受信データがビットイメージデータ処理コマンドのヘッダー部である場合には、指示部１４を無効設定の状態に切り替えるリアルタイム処理を実行する。ヘッダー部に続いて受信するデータについてはリアルタイム処理が無効とされる。したがって、ビットイメージデータに、リアルタイム処理コマンドと同一のデータが含まれていたとしても、リアルタイム処理が実行されることはない。なお、この場合においても、リアルタイム処理コマンドの無効設定の解除を、ビットイメージ処理コマンドに含まれているビットイメージデータが受信バッファー１０に格納され終わる時点までに行うようにすればよい。
【符号の説明】
【００６０】
１  ＰＯＳシステム、２  ホストコンピューター、３  ＰＯＳプリンター、４  制御回路、５  ＲＯＭ、６  ＲＡＭ、７  受信部、８  送信部、９  ＤＭＡ制御部、１０  受信バッファー、１１  プリントバッファー、１２  通常処理部、１３  リアルタイム処理部、１４  指示部、１５  設定処理部、１６  モード指示部、１７  印刷制御部、１８  印刷ヘッド、１９  搬送機構、２０  印刷機構
【図１】
2011238090.tif 000003
【図２】
2011238090.tif 000004
【図３】
2011238090.tif 000005
【図４】
2011238090.tif 000006