JP2011238090A - 印刷装置およびその制御方法 - Google Patents

印刷装置およびその制御方法 Download PDF

Info

Publication number
JP2011238090A
JP2011238090A JP2010109935A JP2010109935A JP2011238090A JP 2011238090 A JP2011238090 A JP 2011238090A JP 2010109935 A JP2010109935 A JP 2010109935A JP 2010109935 A JP2010109935 A JP 2010109935A JP 2011238090 A JP2011238090 A JP 2011238090A
Authority
JP
Japan
Prior art keywords
command
real
setting
bit image
processing
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.)
Withdrawn
Application number
JP2010109935A
Other languages
English (en)
Inventor
雄史 ▲高▼見澤
Yuji Takamizawa
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 JP2010109935A priority Critical patent/JP2011238090A/ja
Publication of JP2011238090A publication Critical patent/JP2011238090A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】ビットイメージデータの受信時に誤認識によりリアルタイム処理が起動することの無いようにした印刷装置の制御方法を提案すること。
【解決手段】リアルタイム処理コマンドを表すデータを受信すると他の通常処理に優先してリアルタイム処理コマンドによって指示される処理を即時に実行するPOSプリンター3の制御方法では、リアルタイム処理コマンドを無効にする無効設定を指示する無効設定コマンドを、リアルタイム処理コマンドの一つとして用意しておく。ビットイメージ処理コマンドの先頭に部項設定コマンドを付けてPOSプリンター3に送信する。POSプリンター3は、無効設定コマンドを受信するとリアルタイム処理で無効設定を行う。これ以後に受信するビットイメージ処理コマンドにリアルタイム処理コマンドと同一のデータが含まれていても誤認識により不要なリアルタイム処理が起動してしまうことがない。
【選択図】図2

Description

本発明はPOSシステム等に用いられる印刷装置およびその制御方法に関し、特に、ビットイメージ処理コマンドのビットイメージデータに現れるデータの一部がリアルタイム処理コマンド(即時処理コマンド)と同一である場合に、当該ビットイメージデータのデータをリアルタイム処理コマンドであると誤認識させないように処理可能な印刷装置およびその制御方法に関する。
POSシステムのPOSプリンターなどの印刷装置では、上位の情報処理装置(ホストコンピューター)の側から印刷指令などの各種のコマンドを受信すると、割り込み処理などでコマンドの解析処理が直ちに起動して、コマンドに対応した処理が実行される。特許文献1に開示の印刷装置では、緊急性、重要度の高い処理を要する場合などにおいて、他より優先的に処理するリアルタイム処理コマンドを使用している。この場合、印刷装置では、受信したデータがリアルタイム処理コマンドであるか否かのコマンド解析が行われ、リアルタイム処理コマンドであると判断した場合には、他のコマンドやデータの処理に優先し、直ちにリアルタイム処理(即時処理)が実行される。それ以外の通常のコマンドの場合には受信したデータが受信バッファーに格納され、いわゆるFIFOの順序で処理される。具体的には、受信バッファーから受信した順にデータが読み込まれて、コマンド解析が行われ、文字印刷データであれば文字展開処理が行われ、ビットイメージ処理コマンドであればビットイメージ処理が実行される。
印刷装置においては、一般に、所定単位、例えば1バイト(8ビット)や2バイト単位でコマンド体系が構築されており、文字を印刷するためのコードのデータ例としてASCIIコードに従ったバイト値が使用され、また、直接的に印刷データに関わる画像の印刷、ユーザー定義フォントの定義などは、ビットイメージデータにより印刷データ、例えば白黒を表す印刷する画素のデータを用いる手法が使用されている。このような印刷装置のコマンド体系においては、印刷画像データを表すビットイメージデータのデータの中に、リアルタイム処理コマンドと同一のデータが偶然に現れる場合がある。このような事態が発生すると、印刷装置は、データ受信時の割り込み処理などのコマンド解析時に、当該ビットイメージデータをリアルタイム処理コマンドであると誤認識して、誤ってリアルタイム処理を実行してしまう。かかる誤認識を防止するための方法として、特許文献2〜4に記載の方法が知られている。
特開平09−16474号公報 特開2000−267830号公報 特開2000−339124号公報 特開2000−296656号公報
特許文献2に記載の方法では、受信して受信バッファーに格納されたデータを読み込んでコマンド解析し、それがビットイメージ処理コマンドである場合にはリアルタイム処理を一時的に無効にし、ビットイメージデータに、リアルタイム処理コマンドと同一のデータが含まれていても、それがリアルタイム処理コマンドであると誤認識させないようにしている。
この場合、印刷装置は、ホストコンピューターから送信されるデータを、受信バファーの容量に余裕がある限り受信し、受信データが受信バッファーに溜まる速度は、当該受信バッファーに格納されたデータのコマンド解析処理の動作速度に比べて格段に速い。このため、受信バッファーに格納された受信データをコマンド解析してリアルタイム処理を無効に設定する時点において、既に後続のビットイメージデータが受信バッファーに格納され終わっている場合がある。すなわち、割込み処理を使用している場合、ビットイメージデータが受信バッファーに格納される前の時点で既にリアルタイムコマンド解析が行われてしまっているので、当該ビットイメージデータにリアルタイム処理コマンドと同一のデータが含まれている場合にはリアルタイム処理が行われてしまい、誤認識を回避できない場合がある。一方、割込み処置を使用していない場合では、受信バッファーに格納されたデータを読み込んでからコマンド解析するので、即時に処理するべきリアルタイム処理コマンドの処理が遅れる場合がある。
特許文献3に記載の方法では、ホストコンピューターの側において、印刷装置にビットイメージデータを印刷させるビットイメージ処理コマンドのデータにリアルタイム処理コマンドと同一のデータが含まれている場合、当該ビットイメージ処理コマンドに加工を施して、印刷装置の側において誤認識しないデータの形態でビットイメージ処理コマンドを印刷装置に送信するようにしている。この方法を採用するためには、ユーザー側のホストコンピューターのアプリケーションを大幅に変更して、ビットイメージ処理コマンドを誤認識されないデータ形態に編集できるようにする必要がある。
特許文献4に記載の方法では、印刷装置のハードウエア回路構成に割り込み端子切り替え回路を付加し、ビットイメージ処理コマンドのデータを受信している間はリアルタイム処理コマンドを無効に切り替えるようにしている。この方法では、印刷装置にハードウエア(割り込み端子切り替え回路)を追加する必要があり、コストが掛る。
なお、従来において、印刷装置において使用される通常のコマンドとして、リアルタイム処理コマンドの有効・無効を切り替えるコマンドが用いられる場合がある。かかるコマンドを使用する場合においても、特許文献2に記載の方法と同じく、ホストコンピューターの側から連続的にビットイメージ処理コマンドが送信されると、リアルタイム処理コマンドが無効にならない期間が発生し、そのような期間において誤認識が発生する場合がある。
本発明の課題は、このような従来の問題点に解消して、ビットイメージデータの受信時に誤認識によりリアルタイム処理が起動することの無いようにした印刷装置およびその制御方法を提案することにある。
上記の課題を解決するために、本発明は、他の処理に優先して処理するリアルタイム処理コマンドを実行する印刷装置の制御方法であって、前記リアルタイム処理コマンドを無効にする無効設定を指示する無効設定コマンドを、前記リアルタイム処理コマンドの一つとして定義しておき、前記印刷装置は、受信したデータが前記無効設定コマンドである場合には、前記他の処理に優先して前記無効設定を実行し、それ以後に受信するデータに含まれている前記リアルタイム処理コマンドを無効にすることを特徴としている。
本発明では、他のコマンドの処理やデータの処理に優先して即時に処理を実行するリアルタイム処理コマンド(即時処理コマンド)の中の一つとして、リアルタイム処理コマンドを無効にする(リアルタイム処理の実行を無効または禁止する)ための無効設定コマンドが定義されている。したがって、印刷装置は、当該無効設定コマンドを受信するとリアルタイム処理により、即時にリアルタイム処理コマンドの無効設定を行う。リアルタイム処理コマンドの一つとして無効設定コマンドを定義しておくだけでよいので、印刷装置のファームウエア、当該印刷装置にコマンドを送信する情報処理装置(ホストコンピューター)のソフトウエアの変更が最小限で済み、また、これらのハードウエア構成を変更・追加する必要もない。よって、ビットイメージデータに含まれるリアルタイム処理コマンドと同一のデータをリアルタイム処理コマンドであると誤認識してしまう弊害を、簡単かつ廉価に防止できる。また、データ受信時、割込み処置を使用することができるので、即時にリアルタイム処理コマンドの処理をすることができる。
本発明の方法では、ビットイメージデータの処理を指示するビットイメージ処理コマンドに先立って、前記無効設定コマンドを受信した場合、前記無効設定を行い、それ以後に受信するデータに前記リアルタイム処理コマンドに該当するデータが含まれていても前記ビットイメージデータとして処理することを特徴としている。
このようにすれば、印刷装置の側では無効設定コマンドの受信に基づき、リアルタイム処理により、即時にリアルタイム処理コマンドの無効設定を行う。よって、後続のビットイメージ処理コマンドのビットイメージデータのデータの中にリアルタイム処理コマンドと同一のデータが存在しても、そのままビットイメージデータとして処理するため、当該データをリアルタイム処理コマンドであると誤認識してしまうことが確実に防止される。
本発明の方法において、前記印刷装置は、前記リアルタイム処理コマンドの前記無効設定の解除を、前記ビットイメージ処理コマンドに含まれているビットイメージデータが、少なくとも受信バッファーに格納され終わる時点までに行うようにすればよい。このようにすれば、ビットイメージ処理コマンドのビットイメージデータに続いてリアルタイム処理コマンドが印刷装置に受信される場合には、無効設定が解除されているので、当該リアルタイム処理コマンドによるリアルタイム処理が無効にされてしまうという弊害を回避できる。
本発明の方法において、前記無効設定コマンドに、所定の条件により前記リアルタイム処理コマンドの前記無効設定を解除するか否かを指示する制御パラメーターを付加できるように定義しておき、受信したビットイメージ処理コマンドの受信終了後において無効設定を解除するか否かを制御できるようにしてもよい。この場合には、前記印刷装置は、受信した前記制御パラメーターが前記無効設定の解除を指示している場合には、前記リアルタイム処理コマンドの前記無効設定の解除を、前記無効設定コマンドの後、受信する前記ビットイメージ処理コマンドに含まれているビットイメージデータが、少なくとも受信バッファーに格納され終わる時点までに行うようにすればよい。
この代わりに、前記無効設定コマンドに、前記リアルタイム処理コマンドの前記無効設定の解除時点を指示する制御パラメーターを付加できるように定義しておくこともできる。この場合、前記印刷装置は、前記無効設定コマンドの前記制御パラメーターによって指定される前記解除時点において前記無効設定を解除するようにしてもよい。
ここで、前記制御パラメーターには、前記ビットイメージ処理コマンドに含まれる前記ビットイメージデータの所定のデータ量が含まれたものとすることができる。この場合には、前記印刷装置は、前記無効設定コマンドに続く前記ビットイメージデータの受信動作において、前記受信バッファーに前記制御パラメーターによって指定される前記所定のデータ量分が格納され終わった時点において、前記無効設定を解除すればよい。
次に、本発明の方法では、ビットイメージデータの処理を指示するビットイメージ処理コマンドにおけるヘッダー部を、前記無効設定コマンドとして定義しておき、前記印刷装置は、受信したデータが、前記ビットイメージデータ処理コマンドの前記ヘッダー部である場合には、前記無効設定を行い、それ以後に受信するデータに含まれている前記リアルタイム処理コマンドを無効にすることを特徴としている。
このようにすれば、印刷装置は、ビットイメージ処理コマンドを受信すると、そのヘッダー部をリアルタイム解析して、リアルタイム処理コマンドの無効設定を行う。よって、ビットイメージ処理コマンドにおける後続のビットイメージデータの受信時にはリアルタイム処理コマンドが無効とされるので、当該ビットイメージデータに含まれるデータがリアルタイム処理コマンドのデータと同一であったとしてもリアルタイム処理が起動することはなく、誤認識動作を防止できる。
この場合においても、前記印刷装置は、前記リアルタイム処理コマンドの前記無効設定の解除を、前記ビットイメージ処理コマンドに含まれている前記ビットイメージデータが、少なくとも受信バッファーに格納され終わる時点までに行うようにすればよい。
次に、本発明は、上記の制御方法によって、ビットイメージ処理コマンドに含まれているリアルタイム処理コマンドと同一のデータをリアルタイム処理コマンドであると誤認識してしまうことを防止する印刷装置に関する。本発明の印刷装置は、
データを受信する受信部と、
前記受信部によって受信されたデータを受信バッファーに格納してコマンド解析を行い、処理を実行する通常処理部と、
他の処理に優先して処理するリアルタイム処理コマンドの有効設定および無効設定を選択的に切り替える設定処理部と、
前記有効設定の場合に、前記リアルタイム処理コマンドを表すデータを前記受信部によって受信すると、前記他の処理に優先して前記リアルタイム処理コマンドによって指示される処理を実行するリアルタイム処理部とを有し、
前記リアルタイム処理部は、前記リアルタイム処理コマンドの一つとして定義されている無効設定コマンドを表すデータを前記受信部が受信すると、前記他の処理に優先して前記設定処理部によって前記無効設定に切り替える処理を行わせることを特徴としている。
ここで、前記設定処理部は、前記無効設定から前記有効設定に戻す処理を、前記無効設定コマンドの後に受信されるビットイメージ処理コマンドに含まれるビットイメージデータが、少なくとも前記受信バッファーに格納され終わる時点までに行うことを特徴としている。
また、前記無効設定コマンドに、所定の条件により前記リアルタイム処理コマンドの前記無効設定を解除するか否かを指示する制御パラメーターが含まれている場合には、前記設定処理部は、受信した前記無効設定コマンドに含まれている前記制御パラメーターが前記無効設定の解除を指示しているときには、前記無効設定から前記有効設定に戻す処理を、前記無効設定コマンドの後に受信されるビットイメージ処理コマンドに含まれるビットイメージデータが、少なくとも前記受信バッファーに格納され終わる時点までに行うことを特徴としている。
さらに、前記無効設定コマンドに、前記リアルタイム処理コマンドの前記無効設定の解除時点を指示する制御パラメーターが含まれている場合には、前記設定処理部は、少なくとも前記無効設定コマンドの前記制御パラメーターによって指定される前記解除時点において、前記無効設定から前記有効設定に戻すことを特徴としている。
この場合、前記制御パラメーターには、前記ビットイメージ処理コマンドに含まれている前記ビットイメージデータの所定のデータ量を表しているときには、前記設定処理部は、前記制御パラメーターによって指定される前記所定のデータ量分の前記ビットイメージデータが、少なくとも前記受信バッファーに格納され終わる時点において、前記無効設定から前記有効設定に戻すことを特徴としている。
次に、前記リアルタイム処理部は、前記受信部が、前記ビットイメージ処理コマンドにおけるヘッダー部を受信すると、前記指示部設定部を前記無効設定に切り替えさせることを特徴としている。
この場合、前記設定処理部は、前記ビットイメージ処理コマンドに含まれている前記ビットイメージデータが、少なくとも前記受信バッファーに格納され終わる時点までに、前記有効設定に戻すことを特徴としている。
本発明では、他の処理に優先して実行されるリアルタイム処理コマンドの一つとして、リアルタイム処理コマンドを無効にする無効設定コマンドを用いるようにしている。あるいは、ビットイメージ処理コマンドの少なくともヘッダー部を当該無効設定コマンドとして取り扱うようにしている。したがって、印刷装置がビットイメージ処理コマンドのビットイメージデータを受信する前、または受信バッファーに格納する前に、無効設定コマンドによって印刷装置によるリアルタイム処理を無効に設定することができる。よって、後続のビットイメージデータの受信時、あるいは後続して連続的にビットイメージ処理コマンドが受信される場合に、そこに偶発的に含まれているリアルタイム処理コマンドと同一のデータをリアルタイム処理コマンドであると誤認識して誤ってリアルタイム処理が起動してしまうことを確実に防止できる。
実施の形態1のPOSシステムのPOSプリンターの機能ブロック図である。 POSプリンターのリアルタイム処理コマンドの処理を示す概略フローチャートである。 POSプリンターの通常処理コマンドの処理を示す概略フローチャートである。 POSプリンターに送信されるビットイメージデータを示す概念図である。
以下に、図面を参照して本発明を適用した実施の形態を説明する。なお、以下に述べる実施の形態はいずれも本発明をPOSシステムのPOSプリンターに適用したものであるが、本発明はPOSシステム以外のプリンターを含むシステムにも同様に適用できる。
図1は、実施の形態1に係るPOSシステムのPOSプリンターの制御系を中心に示す機能ブロック図である。POSシステム1は、ホストコンピューター2とPOSプリンター3を備えている。ホストコンピューター2からPOSプリンター3に送信されるコマンドとしては、POSプリンター3においてデータを受信した順番に処理するFIFO処理を行う通常処理コマンドと、FIFO処理によらず他の処理に優先的に処理されるリアルタイム処理コマンドとがある。
通常処理コマンドには、所定のデータ量のビットイメージデータの転送、印刷などを指示するビットイメージ処理コマンドがある。ビットイメージ処理コマンドは、ビットイメージコマンドヘッダー部とビットイメージデータ部から構成されており、ビットイメージコマンドヘッダー部には、コマンド名を示す制御文字、ビットイメージデータの印刷モード(縦横の印刷ドット密度など)、データ量などを指示する制御パラメーターが含まれている。ビットイメージデータ部は、ビットイメージデータが所定の順序(縦方向に上から最上位ビットから最下位ビットに向かう順序、あるいは、横方向に左から最上位ビットから最下位ビットに向かう順序)で配列された構成となっている。
リアルタイム処理コマンドには、ホストコンピューター2が、POSプリンター3に対し、ステータスをリアルタイムにホストコンピューター2に送信させるためのコマンドや即時に処理させることが必要なコマンドがあり、例えばPOSプリンター3のインクの状態をリアルタイムにホストコンピューター2に送信させるためのコマンド、POSプリンター3の電源をオフにするためのコマンドなどがある。本例では、これらのリアルタイム処理コマンドに加えて、リアルタイム処理コマンドとして、リアルタイム処理コマンドの実行を禁止するための無効設定コマンドが用意(定義)されている。
POSプリンター3の制御系は、図1に示すように、CPUを備えた制御回路4、ファームウエアが格納されているROM5および作業領域として用いられるRAM6を中心に構成されている。制御回路4には、ホストコンピューター2との間で通信を行うための受信部7および送信部8を備えた通信用インターフェースが搭載されている。また、受信部7を介して受信したデータのDMA転送を行うためのDMA制御部9が搭載されている。
RAM6は、各種の作業のための一時記憶領域を備えており、ここには、受信部7を介して受信されたホストコンピューター2からの受信データをそのまま格納する受信バッファー10、印刷ヘッド18に印刷させるためのイメージデータを一時的に格納するためのプリントバッファー11などが含まれている。ROM5には印刷制御等のための各種の制御プログラムが格納されている。CPUの制御の下に、RAM6の所定領域を作業用記憶領域として用いて、制御プログラムを実行することにより、制御回路4は各種の処理部として機能する。
すなわち、制御回路4は、受信部7を介して受信バッファー10に格納されたデータを読み込んで通常コマンド解析を行い、当該データによって指示されている通常処理を実行する通常処理部12として機能する。また、受信部7がデータ受信したときに起動する受信割り込み処理内でリアルタイムコマンド解析を行い、当該データがリアルタイム処理コマンドである場合には、他の処理に優先して当該リアルタイム処理コマンドが指示するリアルタイム処理を実行するリアルタイム処理部13として機能する。
制御回路4のRAM6内のフラグ領域には、受信部7によって受信されたリアルタイム処理コマンドの有効設定および無効設定を指示する指示部14が備わっており、制御回路4は、指示部14を有効設定の状態および無効設定の状態に選択的に切り替える設定処理部15として機能する。また、RAM6内のフラグ領域には、データ受信モードをDMA制御部9によるDMA受信モードに切り替えるか否かを指示するモード指示部16も備わっている。
一方、制御回路4は、プリントバッファー11に展開された印刷データを印刷するための印刷制御部17として機能する。印刷制御部17は、印刷ヘッド18、搬送機構19を含む印刷機構20を駆動制御して、記録用紙などの記録媒体を印刷ヘッド18による印刷位置を経由させて搬送し、当該搬送に同期させて印刷ヘッド18を駆動して印刷データの印刷動作を行わせる。
ここで、リアルタイム処理部13は、指示部14が有効設定の状態の場合にのみ、受信部7によって受信されたリアルタイム処理コマンドを表すデータに対応するリアルタイム処理を実行する。また、リアルタイム処理部13は、リアルタイム処理コマンドの一つとして用意されている無効設定コマンドを表すデータを受信部7が受信すると、設定処理部15によって指示部14を有効設定の状態から無効設定の状態に切り替えさせることを内容とする無効設定リアルタイム処理を実行する。
(リアルタイム処理コマンドの処理)
図2はPOSプリンター3におけるリアルタイム処理コマンドを受信した場合の処理を示す概略フローチャートである。この図に従って説明すると、ホストコンピューター2の側からは、ビットイメージ処理コマンドの先頭にリアルタイム処理コマンドである無効設定コマンドが付加されたデータが送信される。POSプリンター3において、ホストコンピューター2が送信したデータを受信部7で受信すると(ステップST11)、制御回路4に受信割り込みが発生し、受信割り込み処理が起動する。受信割り込み処理においては、リアルタイム処理部13は、受信したデータにリアルタイム処理コマンドが含まれているか否かを判断する(ステップST12)。
リアルタイム処理コマンドが含まれていると判断した場合(ステップST12:YES)、当該リアルタイム処理コマンドが、リアルタイム処理コマンドの一つとして用意されている無効設定コマンドであるか否かを判断する(ステップST15)。無効設定コマンドと判断すると(ステップST15:YES)、リアルタイム処理部13は、設定処理部15によって指示部14を有効設定の状態から無効設定の状態に切り替えさせるリアルタイム処理を実行し、リアルタイム処理コマンド無効設定とする(ステップST19)。これにより指示部14が無効設定の状態に切り替わり、この後に受信されるリアルタイム処理コマンドが無効とされる(すなわち、リアルタイム処理コマンドの実行が禁止される)。その後、受信割り込み処理を終了し、通常の処理のフローへ戻る。
リアルタイム処理コマンドが含まれていると判断した場合(ステップST12:YES)において、当該リアルタイム処理コマンドが無効設定コマンドでないと判断した場合(ステップST15:NO)、既にリアルタイム処理コマンド無効状態であれば(ステップST16:YES)、リアルタイム処理コマンドの処理をせず、無視して通常の処理のフローへ戻る。
リアルタイム処理コマンドが含まれていると判断した場合(ステップST12:YES)において、当該リアルタイム処理コマンドが無効設定コマンドでないと判断した場合(ステップST15:NO)、リアルタイム処理コマンド無効状態でなければ(ステップST16:NO)、リアルタイム処理コマンドの処理をし(ステップST17)、その後、受信割り込み処理を終了し、通常の処理のフローへ戻る。
これに対して、リアルタイム処理コマンドが含まれていないと判断した場合(ステップST12:NO)や、リアルタイム処理コマンド無効状態であった場合(ステップST16:YES)、ビットイメージコマンドの所定のデータ量を含めて受信が終了したかどうか判断し(ステップST13)、終了していれば(ステップST13:YES)、リアルタイム処理コマンド無効を解除し(ステップST18)、その後、受信割り込み処理を終了し、通常のフローへ戻る。ここで、無効設定コマンドによって無効設定に切り替えられていた指示部14は、設定処理部15によって有効設定の状態に戻される。
ビットイメージコマンドの所定のデータ量を含めて受信が終了したかどうか判断し(ST13)、終了していない場合(ステップST13:NO)、リアルタイム処理コマンド無効設定した場合(ステップST19)、リアルタイム処理コマンドの処理をした場合(ステップST17)、および、リアルタイム処理コマンド無効を解除した場合(ステップST18)には、その後、受信割り込み処理を終了し、通常の処理のフローへ戻る。
受信割り込み処理が終了すると、制御回路4の制御は通常処理に復帰し、受信部7を介して受信したデータが順次に受信バッファー10に格納される(ステップST14)。本例の場合には、無効設定コマンドおよびビットイメージ処理コマンドが順次に受信バッファー10に取り込まれる。
(通常処理コマンドの処理)
図3は、POSプリンターの通常処理コマンドの処理を示す概略フローチャートである。通常処理においては、制御回路4の通常処理部12が、受信バッファー10に格納されたデータを例えば1バイトずつ読み込み、通常コマンド解析を行う(ステップST21)。最初に読み込まれる無効設定コマンドのデータはリアルタイム処理コマンドであるので、通常コマンド解析においては無視される。次に、後続のビットイメージ処理コマンドの先頭の1バイトのデータの通常コマンド解析が行われる(ステップST22)。ビットイメージ処理コマンドがビットイメージデータの印刷コマンドであるとすると、当該コマンドが解析されると(ステップST22:YES)、後続のビットイメージデータに基づき、RAM6のプリントバッファー11に印刷イメージデータが展開される(ステップST23)。コマンドがその他の通常処理コマンドの場合には(ステップST22:NO)、それによって指示される処理が実行される(ステップST25)。
印刷制御部17は、プリントバッファー11に展開された印刷イメージデータが所定の量、例えば1行分の量に達した場合などにおいては、当該印刷イメージデータにしたがって印刷ヘッド18および搬送機構19を駆動して、記録用紙などの記録媒体に文字、図形を印刷する(ステップST24)。
このようにして、コマンド処理動作を行うPOSプリンター3によれば、画像の印刷などの処理を指示するためのビットイメージ処理コマンドのビットイメージデータを表すバイナリデータのデータの定義の中に、リアルタイム処理コマンドと同じデータが偶然に現われた場合の誤認識を確実に防止できる。
例えば、図4に示すように、通常、ビットイメージ処理コマンドは、発行される1枚のレシートの印刷画像21を複数の帯状の領域に区切って実現しているので、連続した一連のビットイメージ処理コマンド「ESC x・・・」がホストコンピューター2からPOSプリンター3に送信される。例えば、一連のビットイメージ処理コマンドにおける2番目のビットイメージデータ中、最後の5番目のビットイメージデータ中に、リアルタイム処理コマンドと同じデータ「xx」が偶然に現れたとする。この場合、本来、リアルタイム処理コマンドと解釈すべきでない場合であっても、受信割り込み処理において、リアルタイム処理コマンドに対応する処理が実行されてしまう。
すなわち、POSプリンター3の側において、ホストコンピューター2が意図しないタイミングで意図しないリアルタイム処理コマンドの処理が実行される可能性がある。このような事態が発生すると、先に述べたように、POSプリンター3の電源がオフになってしまったり、POSプリンター側のステータスがホストコンピューター側で受信の準備がされていなのにも拘わらす送信されたりして、ホストコンピューター2とPOSプリンター3との整合性がとれなくなったりしてしまう可能性がある。
POSシステム1では、上記のように、リアルタイム処理コマンドの一つとして、リアルタイム処理コマンドを無効にする無効設定コマンドが用意されており、ビットイメージ処理コマンドの送信に当たっては先頭の無効設定コマンドを付けるようにしている。POSプリンター3では、上記のように、無効設定コマンドを受信すると、リアルタイム処理コマンドを無効にする設定をリアルタイム処理により行う。この結果、後続のビットイメージ処理コマンドのビットイメージデータ中に、リアルタイム処理コマンドと同一のデータが偶然に現れても、リアルタイム処理部12によるリアルタイム処理が起動しないので、不要なリアルタイム処理が実行されてしまうことを防止できる。
すなわち、通常処理コマンドの一つとして用意した無効設定コマンドを用いて、通常処理部12におけるコマンド解析によってリアルタイム処理を一時的に無効に切り替える場合、あるいは、ビットイメージ処理コマンドであることを通常処理部12においてコマンド解析してリアルタイム処理を一時的に無効に切り替える場合には、切り替え時点において、受信バッファー10にビットイメージデータの全部あるいは一部が既に格納されている。このため、無効に切り替える時点よりも前の時点で、リアルタイム処理部13は、ビットイメージデータに含まれているリアルタイム処理コマンドと同一のデータがリアルタイム処理コマンドであると誤認識してしまい、不要なリアルタイム処理が実行される可能性がある。本例のPOSプリンター3ではこのような弊害を確実に防止することができる。
(リアルタイム処理の無効設定の解除方法)
次に、上記のPOSプリンター3では、無効設定コマンドによるリアルタイム処理コマンドの無効設定の解除を、ビットイメージデータが受信バッファー10に格納され終わった時点において行うようにしている。この代わりに、無効設定コマンドに、無効設定の解除を表すパラメーターを付加し、このパラメーターに基づき無効設定を解除してもよい。
例えば、無効設定コマンドに、リアルタイム処理コマンドの無効設定を解除するか否かを指示する制御パラメーターを付加しておく。リアルタイム処理部13は、制御パラメーターによって無効設定の解除が指定されている場合には、指示部14を無効設定の状態に切り替える処理を設定処理部15に指示すると共に、ビットイメージデータの受信後に無効設定の解除を行うように設定処理部15に指示する。設定処理部15はビットイメージデータの受信終了後に指示部14の無効設定を解除する。制御パラメーターによって無効設定の解除が指定されていない場合には、指示部14を無効設定の状態に保持する。このようにすれば、例えば、図4に示すように連続してビットイメージ処理コマンドを送信する場合に、最後のビットイメージ処理コマンドの制御パラメーターによって無効設定の解除を指定しておけばよい。
この代わりに、無効設定コマンドに、リアルタイム処理コマンドの無効設定の解除時点を指示する制御パラメーターを付加しておくこともできる。この場合、設定処理部15は、無効設定コマンドの制御パラメーターによって指定される解除時点において無効設定を解除する。例えば、制御パラメーターは、ビットイメージ処理コマンドに含まれているビットイメージデータのデータ量を表わすものとすることができる。この場合には、無効設定コマンドに続くビットイメージデータの受信動作において、受信バッファー10に制御パラメーターによって指定されるデータ量分のビットイメージデータが格納され終わった時点において、無効設定が解除されることになる。
(無効設定コマンドの別の形態)
上記の例では、リアルタイム処理コマンドとして新たに無効設定コマンドを定義している。この代わりに、ビットイメージ処理コマンドにおけるヘッダー部を、無効設定コマンドとして定義しておいてもよい。
この場合には、POSプリンター3のリアルタイム処理部13は、受信データがビットイメージデータ処理コマンドのヘッダー部である場合には、指示部14を無効設定の状態に切り替えるリアルタイム処理を実行する。ヘッダー部に続いて受信するデータについてはリアルタイム処理が無効とされる。したがって、ビットイメージデータに、リアルタイム処理コマンドと同一のデータが含まれていたとしても、リアルタイム処理が実行されることはない。なお、この場合においても、リアルタイム処理コマンドの無効設定の解除を、ビットイメージ処理コマンドに含まれているビットイメージデータが受信バッファー10に格納され終わる時点までに行うようにすればよい。
1 POSシステム、2 ホストコンピューター、3 POSプリンター、4 制御回路、5 ROM、6 RAM、7 受信部、8 送信部、9 DMA制御部、10 受信バッファー、11 プリントバッファー、12 通常処理部、13 リアルタイム処理部、14 指示部、15 設定処理部、16 モード指示部、17 印刷制御部、18 印刷ヘッド、19 搬送機構、20 印刷機構

Claims (15)

  1. 他の処理に優先して処理するリアルタイム処理コマンドを実行する印刷装置の制御方法であって、
    前記リアルタイム処理コマンドを無効にする無効設定を指示する無効設定コマンドを、前記リアルタイム処理コマンドの一つとして定義しておき、
    前記印刷装置は、受信したデータが前記無効設定コマンドである場合には、前記他の処理に優先して前記無効設定を実行し、それ以後に受信するデータに含まれている前記リアルタイム処理コマンドを無効にすることを特徴とする印刷装置の制御方法。
  2. 請求項1において、
    ビットイメージデータの処理を指示するビットイメージ処理コマンドに先立って、前記無効設定コマンドを受信した場合、
    前記無効設定を行い、それ以後に受信するデータに前記リアルタイム処理コマンドに該当するデータが含まれていても前記ビットイメージデータとして処理することを特徴とする印刷装置の制御方法。
  3. 請求項2において、
    前記印刷装置は、前記リアルタイム処理コマンドの前記無効設定の解除を、前記ビットイメージ処理コマンドに含まれているビットイメージデータが、少なくとも受信バッファーに格納され終わる時点までに行うことを特徴とする印刷装置の制御方法。
  4. 請求項2において、
    前記無効設定コマンドに、所定の条件により前記リアルタイム処理コマンドの前記無効設定を解除するか否かを指示する制御パラメーターを付加できるように定義しておき、
    前記印刷装置は、受信した前記制御パラメーターが前記無効設定の解除を指示している場合には、前記リアルタイム処理コマンドの前記無効設定の解除を、前記無効設定コマンドの後、受信する前記ビットイメージ処理コマンドに含まれているビットイメージデータが、少なくとも受信バッファーに格納され終わる時点までに行うことを特徴とする印刷装置の制御方法。
  5. 請求項2において、
    前記無効設定コマンドに、前記リアルタイム処理コマンドの前記無効設定の解除時点を指示する制御パラメーターを付加できるように定義しておき、
    前記印刷装置は、前記無効設定コマンドの前記制御パラメーターによって指定される前記解除時点において前記無効設定を解除することを特徴とする印刷装置の制御方法。
  6. 請求項5において、
    前記制御パラメーターには、前記ビットイメージ処理コマンドに含まれる前記ビットイメージデータの所定のデータ量が含まれており、
    前記印刷装置は、前記無効設定コマンドに続く前記ビットイメージデータの受信動作において、前記受信バッファーに前記制御パラメーターによって指定される前記所定のデータ量分が格納され終わった時点において、前記無効設定を解除することを特徴とする印刷装置の制御方法。
  7. 請求項1において、
    ビットイメージデータの処理を指示するビットイメージ処理コマンドにおけるヘッダー部を、前記無効設定コマンドとして定義しておき、
    前記印刷装置は、受信したデータが、前記ビットイメージデータ処理コマンドの前記ヘッダー部である場合には、前記無効設定を行い、それ以後に受信するデータに含まれている前記リアルタイム処理コマンドを無効にすることを特徴とする印刷装置の制御方法。
  8. 請求項7において、
    前記印刷装置は、前記リアルタイム処理コマンドの前記無効設定の解除を、前記ビットイメージ処理コマンドに含まれている前記ビットイメージデータが、少なくとも受信バッファーに格納され終わる時点までに行うことを特徴とする印刷装置の制御方法。
  9. データを受信する受信部と、
    前記受信部によって受信されたデータを受信バッファーに格納してコマンド解析を行い、処理を実行する通常処理部と、
    他の処理に優先して処理するリアルタイム処理コマンドの有効設定および無効設定を選択的に切り替える設定処理部と、
    前記有効設定の場合に、前記リアルタイム処理コマンドを表すデータを前記受信部によって受信すると、前記他の処理に優先して前記リアルタイム処理コマンドによって指示される処理を実行するリアルタイム処理部とを有し、
    前記リアルタイム処理部は、前記リアルタイム処理コマンドの一つとして定義されている無効設定コマンドを表すデータを前記受信部が受信すると、前記他の処理に優先して前記設定処理部によって前記無効設定に切り替える処理を行わせることを特徴とする印刷装置。
  10. 請求項9において、
    前記設定処理部は、前記無効設定から前記有効設定に戻す処理を、前記無効設定コマンドの後受信されるビットイメージ処理コマンドに含まれるビットイメージデータが、少なくとも前記受信バッファーに格納され終わる時点までに行うことを特徴とする印刷装置。
  11. 請求項9において、
    前記無効設定コマンドには、所定の条件により前記リアルタイム処理コマンドの前記無効設定を解除するか否かを指示する制御パラメーターが含まれており、
    前記設定処理部は、受信した前記無効設定コマンドに含まれている前記制御パラメーターが前記無効設定の解除を指示している場合には、前記無効設定から前記有効設定に戻す処理を、前記無効設定コマンドの後受信されるビットイメージ処理コマンドに含まれるビットイメージデータが、少なくとも前記受信バッファーに格納され終わる時点までに行うことを特徴とする印刷装置。
  12. 請求項9において、
    前記無効設定コマンドには、前記リアルタイム処理コマンドの前記無効設定の解除時点を指示する制御パラメーターが含まれており、
    前記設定処理部は、少なくとも前記無効設定コマンドの前記制御パラメーターによって指定される前記解除時点において、前記無効設定から前記有効設定に戻すことを特徴とする印刷装置。
  13. 請求項11において、
    前記制御パラメーターには、前記ビットイメージ処理コマンドに含まれている前記ビットイメージデータの所定のデータ量を表しており、
    前記設定処理部は、前記制御パラメーターによって指定される前記所定のデータ量分の前記ビットイメージデータが、少なくとも前記受信バッファーに格納され終わる時点において、前記指示部を前記無効設定から有効設定に戻すことを特徴とする印刷装置。
  14. 請求項9において、
    前記リアルタイム処理部は、前記受信部が、前記ビットイメージ処理コマンドにおける少なくともヘッダー部を受信すると、前記設定処理部を前記無効設定に切り替えることを特徴とする印刷装置。
  15. 請求項14において、
    前記設定処理部は、前記ビットイメージ処理コマンドに含まれている前記ビットイメージデータが、少なくとも前記受信バッファーに格納され終わる時点までに、前記有効設定に戻すことを特徴とする印刷装置。
JP2010109935A 2010-05-12 2010-05-12 印刷装置およびその制御方法 Withdrawn JP2011238090A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010109935A JP2011238090A (ja) 2010-05-12 2010-05-12 印刷装置およびその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010109935A JP2011238090A (ja) 2010-05-12 2010-05-12 印刷装置およびその制御方法

Publications (1)

Publication Number Publication Date
JP2011238090A true JP2011238090A (ja) 2011-11-24

Family

ID=45325986

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010109935A Withdrawn JP2011238090A (ja) 2010-05-12 2010-05-12 印刷装置およびその制御方法

Country Status (1)

Country Link
JP (1) JP2011238090A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015184697A (ja) * 2014-03-20 2015-10-22 セイコーエプソン株式会社 印刷制御装置、印刷システム、及び、印刷制御方法
JP2020004169A (ja) * 2018-06-29 2020-01-09 セイコーインスツル株式会社 印刷システム、プリンタ、および印刷制御方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015184697A (ja) * 2014-03-20 2015-10-22 セイコーエプソン株式会社 印刷制御装置、印刷システム、及び、印刷制御方法
JP2020004169A (ja) * 2018-06-29 2020-01-09 セイコーインスツル株式会社 印刷システム、プリンタ、および印刷制御方法
US10936269B2 (en) 2018-06-29 2021-03-02 Seiko Instruments Inc. Printing system, printer, and printing control method
JP7117911B2 (ja) 2018-06-29 2022-08-15 セイコーインスツル株式会社 印刷システムおよびプリンタ

Similar Documents

Publication Publication Date Title
US7515286B2 (en) Printer, control method for the same, and control device
US8345274B2 (en) Imaging device and method of controlling the same
JP2011238090A (ja) 印刷装置およびその制御方法
JP2011235568A (ja) 印刷装置およびその制御方法
JPH10333856A (ja) 通信端末およびその制御方法、並びに当該制御プログラムが記録されたコンピュータ読み取り可能な記録媒体
JP2017105103A (ja) ラベルプリンター及びラベルプリンター制御方法
JP4400097B2 (ja) 印刷装置、印刷制御方法、プログラム及び記録媒体
US10628093B2 (en) Printing systems and methods for monitoring print jobs
JP4496594B2 (ja) 印刷装置の制御方法
JP4722626B2 (ja) 印刷システム、印刷システムの制御方法及びプログラム
JP2005007823A (ja) 画像形成装置
JP2008250435A (ja) 印刷システム及び印刷システムにおけるprnファイル生成方法
JPH09282114A (ja) プリントシステム
JP2003330678A (ja) 画像形成装置
JP2004223946A (ja) 画像形成装置
JP2000289297A (ja) プリンタ及び印刷システム
JP2005182678A (ja) 画像処理装置
JPH11345103A (ja) プリンタ装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20130806