JP5655453B2 - 電子機器、電子機器の制御方法、及び、プログラム - Google Patents
電子機器、電子機器の制御方法、及び、プログラム Download PDFInfo
- Publication number
- JP5655453B2 JP5655453B2 JP2010207545A JP2010207545A JP5655453B2 JP 5655453 B2 JP5655453 B2 JP 5655453B2 JP 2010207545 A JP2010207545 A JP 2010207545A JP 2010207545 A JP2010207545 A JP 2010207545A JP 5655453 B2 JP5655453 B2 JP 5655453B2
- Authority
- JP
- Japan
- Prior art keywords
- command
- immediate execution
- area
- written
- buffer
- 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 - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/40—Details not directly involved in printing, e.g. machine management, management of the arrangement as a whole or of its constitutive parts
- G06K15/4005—Sharing resources or data with other data processing systems; Preparing such data
- G06K15/402—Sharing data concerning the arrangement's configuration or current state
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
- G06K15/18—Conditioning data for presenting it to the physical printing elements
- G06K15/1801—Input data handling means
- G06K15/1803—Receiving particular commands
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07G—REGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
- G07G5/00—Receipt-giving machines
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Record Information Processing For Printing (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Description
本発明は、上述した事情に鑑みてなされたものであり、即時実行コマンドを実行可能な状態を維持した上で、未実行のコマンドの管理に係る処理を簡易化することを目的とする。
この構成によれば、受信バッファーの状態が、空き領域が第1基準値以下のバッファーフルとなった場合であっても、同一の受信バッファーの領域内に形成された補助領域という限定された領域に即時実行コマンドを、アドレスをリング状にして使用するように循環的に書き込み、実行することにより、即時実行コマンドに係る処理が継続的に実行される状態を維持しつつ、受信バッファーにおける上記バッファーフルの解消を図ることができる。特に、補助領域は、受信バッファー内に形成された領域であるため、アドレス管理が容易で処理時間が短縮でき、バッファーフルモードへ移行後の補助領域におけるコマンドの管理を、バッファーフルモードへ移行する前のコマンドの管理と連続一体的に行うことができ、コマンドの管理に係る処理が簡易化する。なお、通常モードは、コマンド実行部が受信したコマンドの実行を行うことができるモードであり、バッファーフルモードは、コマンド実行部が受信したコマンドの実行を行うことができないモードである。いずれのモードでも、即時実行コマンド実行部は、他に優先して即時実行コマンドを実行する。
この構成によれば、空き領域の容量が第2基準値以上となり余裕ができたとき、バッファーフルモードから通常モードへ戻り、速やかに、受信バッファーを利用した通常の書き込みを開始できる。特に、補助領域は、受信バッファー内に形成された領域であるため、バッファーフルモード終了後における受信バッファーを利用した通常のコマンドの管理を、バッファーフルモードへ移行中のコマンドの管理と連続一体的に行うことができ、アドレス管理が容易でありコマンドの管理に係る処理が簡易化する。
この構成によれば、補助領域内で、書込ポインターと、即時実行コマンド読出ポインターと、が常に完全に独立して移動するのではなく、これらポインターのそれぞれが示す領域が一致したタイミングで、補助領域の先頭から再びこれらポインターの移動を管理することとなり、これらポインターのそれぞれが示す領域が一致した場合におけるこれらポインターの移動の開始位置を常に補助領域の先頭とすることができ、これらポインターの管理に係る処理が簡易化する。
この構成によれば、空き領域を利用して、受信バッファー内に補助領域に対応する領域を確保できる。
この構成によれば、ホストコンピューターは、バッファーフルモードへ移行したことを検知でき、当該検知に基づいて、バッファーフルモードに対応した処理、例えば、コマンドの出力の制限等、を実行できる。この場合、電子機器は即時実行コマンド以外のコマンドの実行を停止する。
この制御方法によれば、受信バッファーの状態が、空き領域が第1基準値以下のバッファーフルとなった場合であっても、同一の受信バッファーの領域内に形成された補助領域という限定された領域に即時実行コマンドを、アドレスをリング状にして使用するように循環的に書き込み実行することにより、即時実行コマンドに係る処理が継続的に実行される状態を維持しつつ、受信バッファーにおける上記バッファーフルの解消を図ることができる。特に、補助領域は、受信バッファー内に形成された領域であるため、アドレス管理が容易で処理時間が短縮でき、バッファーフルモードへ移行後の補助領域におけるコマンドの管理を、バッファーフルモードへ移行する前のコマンドの管理と連続一体的に行うことができ、コマンドの管理に係る処理が簡易化する。
このプログラムを実行すれば、受信バッファーの状態が、空き領域が第1基準値以下のバッファーフルとなった場合であっても、同一の受信バッファーの領域内に形成された補助領域という限定された領域に即時実行コマンドを、アドレスをリング状にして使用するように循環的に書き込み、実行することにより、即時実行コマンドに係る処理が継続的に実行される状態を維持しつつ、受信バッファーにおける上記バッファーフルの解消を図ることができる。特に、補助領域は、受信バッファー内に形成された領域であるため、アドレス管理が容易で処理時間が短縮でき、バッファーフルモードへ移行後の補助領域におけるコマンドの管理を、バッファーフルモードへ移行する前のコマンドの管理と連続一体的に行うことができ、コマンドの管理に係る処理が簡易化する。
図1は、本発明を適用した実施形態に係るPOS端末1の概略構成を示す図である。
POS端末1は、例えば小売店等の店頭に設置され、売上げ精算を行うレジスターであり、販売時点管理システム(POSシステム)を構成する。POS端末1は、売上登録処理及び精算処理を行うホストコンピューター4に、レシート101を発行するプリンター2を接続して構成される。ホストコンピューター4は、売上登録した情報を収集するPOSサーバー5に、通信回線を介して接続されている。ホストコンピューター4は、売上登録処理及び精算処理の処理内容を表示するディスプレー41、売上登録処理時に商品に付されたバーコードを読み取るバーコードスキャナー42、売上登録キー等の各種キーを備えたキー入力部43、精算用の現金を収容するキャッシュドロワー44等を備えている。キャッシュドロワー44は、後述するようにプリンター2に接続され、プリンター2から入力されるドロワーオープン信号を受信したときに開く構成となっている。
印刷ヘッドによって印刷されたロール紙は、本体11の上面に形成された排紙口14から外に向けて搬送され、カッターユニットにより切断され、レシート101として出力される。レシート101には、店名や売り上げた商品名、商品数量、金額、合計金額等の文字、ロゴの画像等が印刷される。
プリンター2は、プラテンローラーを回転させてロール紙を搬送する搬送モーター、カッターユニットを駆動してロール紙を切断するカッター駆動モーター、印刷ヘッドを駆動させて、ロール紙に対して文字や画像を記録する。
プリンター2は、実際の印刷を行うプリントエンジン20と、プリンター2の全体を制御する制御部21と、制御部21が実行する基本制御プログラムを記憶したROM22と、制御部21が実行する制御プログラム24A及びコマンド24B等を記憶した不揮発性のメモリーであるEEPROM24と、制御部21の制御の下、ホストコンピューター4や、キャッシュドロワー44との間で各種データの送受信を行うインターフェイス部25と、紙送りスイッチ17(図1)における操作を検出する入力部27と、LED表示部18を制御して各種表示を行わせる表示部28と、プリンター2の各部の動作状態を監視するステータス監視部30と、ホストコンピューター4から受信した受信データを一時的に循環的に格納するリングバッファーであるRAMからなる受信バッファー31と、を備えている。リングバッファーとは、アドレスの先端から順次データを記憶し、後端に至ると再び先端にアドレスを戻して記憶していくものであり、メモリーを効率的に使用できる。
このように、プリンター2は、紙や合成樹脂製の記録媒体(ロール紙、カット紙、複写紙等)の印刷面にインクやトナーを付着させ、或いは記録媒体の印刷面に熱を与える印刷ヘッド、記録媒体に対して印刷ヘッドを移動させる印刷ヘッド駆動機構、記録媒体を搬送する搬送機構等を備え、これら印刷ヘッド及び各種機構がプリントエンジン20によって制御される。
また、プリントエンジン20は、制御部21の制御に従って、入力部27によって紙送りスイッチ17の操作を検出した場合は搬送モーターを動作させてロール紙を所定量搬送し、プリンター2の動作状態等に合わせて表示部28を介してLED表示部18の各LEDの点灯状態を変化させる。
ROM22は、制御部21によってプリンター2の各部を初期化するとともに、これらの各部を制御するための基本制御プログラム、及び、この基本制御プログラムに係るデータ等を不揮発的に記憶する。
EEPROM24は、書き換え可能な不揮発性の記憶装置であり、制御プログラム24A、及びコマンド24Bを含む各種のプログラムやデータを記憶する。
インターフェイス部25は、USBやRS232Cインターフェイス等の各種インターフェイスを備え、制御部21の制御の下、ホストコンピューター4との間で所定の規格に準拠した、有線または無線通信を行う。制御部21は、インターフェイス部25を介してホストコンピューター4から受信した受信データを、受信バッファー31に順次記憶する。
受信バッファー31は、制御部21の制御の下、ホストコンピューター4から受信した受信データを順次記憶するリングバッファーである。受信バッファー31には、ホストコンピューター4から受信したコマンド、及び、このコマンドに続く印刷データなどのデータが、区別なく、64ビット毎に格納される。
オフラインモードに移行した場合、制御部21は、ホストコンピューター4に対してオフラインモードに移行していることを通知する。ホストコンピューター4は、プリンター2がオフラインモードへ移行している間、プリンター2に対し、通常コマンドの出力を一時的に停止し、必要に応じて、通常コマンドよりも緊急性の高い、所定の処理について即時に実行することを求める即時実行コマンドを出力する。
本実施形態に係るプリンター2は、受信バッファー31がバッファーフル状態となったことに起因して、動作モードがオフラインモード(本実施形態では、この場合のオフラインモードを、バッファーフルモードという)へ移行した場合であっても、即時実行コマンドが入力された場合は、即時実行コマンドに係る処理を実行できる状態が維持されるように、コマンドを管理し、さらに、当該管理に係る処理を簡易化している。
以下、本実施形態に係るプリンター2によるコマンドの管理に係る処理について詳述する。
図4は、受信バッファー31の構造を模式的に示す図である。なお、図4では、受信バッファー31の構造を、発明の説明の便宜を考慮して、発明の説明に適した構造としている。
図4に示すように、本実施形態に係る受信バッファー31の容量は、4224バイトである。そして、受信バッファー31の記憶領域は、64ビットを1ワードとして、ワードに対応する領域毎に領域が区分されると共に、区分された領域ごとにアドレスが割り当てられている。以下、ワード毎に区分された領域のことを「ワード領域」称するものとする。
この受信バッファー31は、リングバッファーであり、データの書き込みは、ワード領域単位で、循環的に行われる。
書込制御部21Aは、書込ポインター管理部21aを備え、書込ポインター管理部21aが管理する書込ポインター50に応じて、ワード領域にホストコンピューター4から受信した受信データを書き込む。
詳述すると、書込ポインター50とは、受信バッファー31に形成されたワード領域のうち、受信データを書き込むべきワード領域のアドレスを示すポインターである。書込ポインター管理部21aは、書込ポインター50が示すアドレスに対応する1のワード領域に対して受信データの書き込みが行われた場合、当該書込ポインター50が示すアドレスを、当該1のワード領域の次のワード領域のアドレスに更新する動作を継続して実行し、書込ポインター50が示すアドレスが、常に、受信データを書き込むべきワード領域のアドレスとなるよう、書込ポインター50を管理する。なお、図4において、受信バッファー31の先頭アドレスを「0000番地」とし、末尾アドレスを「020F番地」とすると、受信バッファー31がリングバッファーであるため、書込ポインター50が示すアドレスは、「020F番地」の次は、「0000番地」となる。
書込制御部21Aは、ホストコンピューター4から受信した受信データを、書込ポインター50が示すアドレスに対応するワード領域に書き込む。例えば、図4を参照し、書込ポインター50が「0022番地」を示している場合、書込制御部21Aは、「0022番地」に対応するワード領域に、受信データを書き込む。
詳述すると、読出ポインター51とは、受信バッファー31に形成されたワード領域のうち、データを読み出すべきワード領域のアドレスを示すポインターである。読出ポインター管理部21bは、読出ポインター51が示すアドレスに対応する1のワード領域から受信データの読み出しが行われた場合、当該読出ポインター51が示すアドレスを、当該1のワード領域の次のワード領域のアドレスに更新する動作を継続して実行し、これにより、読出ポインター51が示すアドレスが、常に、受信データを読み出すべきワード領域のアドレスとなるよう、読出ポインター51を管理する。
コマンド実行部21Bは、読出ポインター51が示すアドレスに対応するワード領域から受信データを読み出して、受信データに係る処理を実行する。例えば、図4を参照し、読出ポインター51が示すアドレスが「0002番地」である場合、コマンド実行部21Bは、「0002番地」に対応するワード領域に書き込まれた受信データを読み出すと共に、当該受信データに含まれるコマンドに対応する処理を実行する。
コマンド実行部21Bは、処理の実行後、ワード領域に書き込まれた受信データを消去する。なお、ワード領域に書き込まれた受信データが既に読み出しが終了したことをワード領域毎にフラグで管理するようにしてもよい。このようにして、次の受信データを記憶する空き領域が形成される。空き領域は、コマンドの実行に伴い、受信バッファー31内を循環的に移動する。受信バッファー31内で、空き領域およびそれと共に移動する後述の補助領域は、循環的に移動し、いわばリングバッファーのように移動する。
本実施形態では、受信バッファー31内において、書込ポインター50に追従するように読出ポインター51が移動し、これにより、ホストコンピューター4から受信した受信データであって、対応する処理が実行されていない受信データについて、受信した順に、読出され、対応する処理が実行されることとなる。
詳述すると、即時実行コマンド読出ポインター52とは、受信バッファー31に形成されたワード領域のうち、即時実行コマンドが含まれる受信データを読み出すべきワード領域のアドレスを示すポインターである。即時実行コマンド読出ポインター管理部21cは、1のワード領域に書き込まれた即時実行コマンドを含む受信データが読み出されて実行された後、当該1のワード領域から、書込ポインター50が示すアドレスに対応するワード領域へ向かって、順番に、各ワード領域に書き込まれた受信データの内容を分析していき、即時実行コマンドが含まれた受信データが書き込まれたワード領域を検出すると、即時実行コマンド読出ポインター52が示すアドレスを、当該ワード領域のアドレスに更新する。
即時実行コマンド実行部21Cは、即時実行コマンド読出ポインター管理部21cにより、即時実行コマンドが含まれた受信データが書き込まれたワード領域が検出された場合、即時実行コマンド読出ポインター52が示すアドレスに対応するワード領域に書き込まれた受信データを読み出し、当該受信データに含まれる即時実行コマンドに対応する処理を、割り込み処理として、強制的に、即座に実行する。
コマンド実行部21Bは、処理の実行後、ワード領域に書き込まれた受信データを消去する。
なお、即時実行コマンドとしては、ステータス通知の送信を指示するステータス要求コマンドや、受信バッファー31の全消去を指示するバッファークリアコマンド、キャッシュドロワー44の開動作を指示するドロワーオープンコマンド等がある。プリンター2は、他のコマンドや処理に優先して、即時実行コマンドを実行し、ステータスの送信等を行う。
図5のフローチャートの開始時点では、受信バッファー31に対して、通常の受信データの書き込み、及び、読み出しが実行されているものとする。
まず、プリンター2の制御部21は、受信バッファー31の状態がビジー状態に至ったか否かを監視する(ステップSA1)。
ビジー状態とは、受信バッファー31の空き領域の容量が、ビジー状態容量として規定された256バイト以下となっている状態のことである。
受信バッファー31の空き領域とは、受信バッファー31の書き込み領域のうち、未実行の受信データが書き込まれた領域を除く領域のことであり、具体的には、読出ポインター51と、書込ポインター50とで囲まれた領域(=未実行の受信データが書き込まれた領域。図6(A)において、斜線で示す領域。)を除く領域のことである。ビジー状態とは、受信バッファー31の全体の容量との関係で、空き領域の容量が少なくなった状態である。
受信バッファー31の空き領域の容量が、バッファーフル容量以下となった場合(ステップSA3:YES)、制御部21は、動作モードを、通常モードからバッファーフルモードへ移行し(ステップSA4)、動作モードがバッファーフルモードへ移行したことを、ホストコンピューター4に通知する(ステップSA5)。このバッファーフルモードは、オフラインモードの一種であり、受信データの保全、及び、バッファーフル状態(後述)の解消を図るべく、コマンドの実行の停止や、印刷メカニズムの一時的な停止や、プリンター2とホストコンピューター4との間でやり取りするコマンドの制限等が行われる。
ステップSA5の通知により、動作モードがバッファーフルモードに移行したことを検出すると、ホストコンピューター4は、オフラインモードに準じた動作を実行する。すなわち、ホストコンピューター4からプリンター2に対して出力されるコマンドが、即時実行コマンドに制限され、ホストコンピューター4は、基本的に、即時実行コマンドのみをプリンター2に対して出力する。ここで、プリンター2がバッファーフルモードへ移行した後に、ホストコンピューター4からプリンター2へ出力された即時実行コマンド以外のコマンドについては、そのコマンドに対応する動作が実行されることについて、保証されないものと事前に定められている。
次いで、制御部21は、補助領域を規定する(ステップSA6)。
本実施形態では、受信バッファー31の4224バイトの記憶領域のうち、4096バイトの領域が、通常時に受信データが書き込まれる領域である通常書込領域とされ、この通常書込領域がバッファーフルとなったときに、残りの126バイトの領域を補助領域として予備的に使用する構成となっている。すなわち、通常書込領域のほかに、補助領域が常に確保される構成となっている。
なお、本実施形態では、通常時に使用される通常書込領域がバッファーフルとなっている場合に、受信バッファー31の状態がバッファーフル状態となっているとされる。これは、補助領域は、予備的に使用するために確保された領域であるため、通常書込領域がバッファーフルとなった状態は、補助領域が形成されていないバッファーがバッファーフルとなった状態に該当するからである。
補助領域について、詳述すると、図6(B)を参照し、受信バッファー31の空き領域の容量が126バイトとなったということは、4224バイトの記憶領域のうち、通常書込領域に対応する4096バイトの領域がバッファーフルとなったということである。そして、通常書込領域がバッファーフルとなったときに記憶領域に形成される126バイトの空き領域が、補助領域として機能する。
ステップSA6では、制御部21は、補助領域、すなわち、空き領域の容量が126バイトとなった時点での空き領域の先頭アドレス(以下、「補助領域先頭アドレス」という)、及び、末尾アドレス(以下、「補助領域末尾アドレス」という)を取得する。
次いで、制御部21は、バッファーフル時処理を実行する(ステップSA7)。
バッファーフル時処理とは、ホストコンピューター4から入力された受信データに応じて、受信データの書き込み、読み出し、実行を行う処理であり、特に、バッファーフル時処理では、受信データの書き込みは補助領域に対してのみ行われ、かつ、補助領域に書き込まれた受信データのうち、即時実行コマンドに係る受信データのみが読み出され、当該即時実行コマンドに対応する処理が実行される。
なお、補助領域は、1つのリングバッファーとして機能し、補助領域に対して受信データは、循環的に書き込まれる。
詳述すると、書込ポインター管理部21aは、受信データの入力、及び、入力された受信データの書き込みに応じて、補助領域に含まれるワード領域のうち、先頭のワード領域から、順次、書込ポインター50が示すアドレスを更新する。
ここで、バッファーフルモードに移行後、補助領域の先頭のワード領域からデータの書き込みを行っていくためには、バッファーフルモードへ移行した際、書込ポインター50が、補助領域の先頭のワード領域のアドレスを示している必要がある。本実施形態では、通常書込領域と、補助領域とが、1つの受信バッファー31において連続一体的に形成されている。このため、バッファーフルモードへ移行するとき、すなわち、通常書込領域の末尾のワード領域への受信データの書き込みが終わったときに、通常の処理と同様にして、書込ポインター50が示すアドレスを、通常書込領域の末尾のワード領域のアドレスから、次のワード領域のアドレス(=補助領域の先頭のワード領域のアドレス)へと更新すれば、バファーフルモードに移行した時点で、書込ポインター50が示すアドレスが、補助領域の先頭のワード領域のアドレスとなる。
このように、バッファーフルモードへ移行した際、通常と異なる処理により、書込ポインター50が示すアドレスを更新する必要がないため、書込ポインター50の管理に係る処理が簡易である。例えば、バッファーを2つ設け、1のバッファーがバッファーフルとなった場合に、予備的に他のバッファーを利用する構成とした場合、1のバッファーがバッファーフルとなったときに、他のバッファーにおける書込ポインターを、1のバッファーにおける書込ポインターとは別に管理する必要があるが、このような場合と比較して、本実施形態における書込ポインター50の管理の簡易性は顕著である。
バッファーフルモードに移行中、補助領域内において、即時実行コマンド読出ポインター52は、書込ポインター50を追従するように動いていき、これにより、バッファーフルモードに移行中、例えばオフラインであるにもかかわらず、緊急を要するためホストコンピューター4から送信され、受信した即時実行コマンドについて、当該コマンドに対応する処理が、順次、他の処理に優先して実行される。
すなわち、図7(A)を参照し、基本的には、制御部21の各部は、即時実行コマンド読出ポインター52が書込ポインター50を追従するようにこれらポインターを移動させ、受信した順番に、即時実行コマンドに対応する処理が実行されるようにする。
ここで、図7(B)に示すように、書込ポインター50と、即時実行コマンド読出ポインター52との位置が一致した場合、すなわち、書込ポインター50が示すアドレスと、即時実行コマンド読出ポインター52が示すアドレスとが一致した場合、制御部21の各部は、図7(C)に示すように、書込ポインター50、及び、即時実行コマンド読出ポインター52の双方を、補助領域の先頭のワード領域に対応する位置に移動し、再び、補助領域の先頭からこれらポインターの移動を開始する。
なお、補助領域の先頭に書込ポインター50が戻った場合、受信データは、再び、補助領域の先頭のワード領域から、順次、書き込まれることとなるが、その際、実施していない通常コマンドを含むデータが既に書き込まれているワード領域については、データが上書きされる。
このように、書込ポインター50、及び、即時実行コマンド読出ポインター52を移動させることにより、書込ポインター50の位置と、即時実行コマンド読出ポインター52の位置とが一致した場合は、常に、これらポインターの移動を、補助領域の先頭から開始させることとなり、互いのポインターが完全に独立して移動する場合と比較して、これらポインターの管理が簡易化する。さらに、各ポインターについて、補助領域の末尾のワード領域から、先頭のワード領域への移動をある程度防止でき、さらなるポインターの管理の簡易化を図ることができる。
なお、バッファーフル時処理では、通常コマンドを含むデータは、読み出されることなく、随時、上書きされ、消滅することとなるが、上述したように、バッファーフルモード移行時は、通常コマンドに係る処理については、その処理が実行されることについて保証されないこととされており、ホストコンピューター4は、そのことを前提としてプリンター2に対して通常コマンドを出力しているため、通常コマンドに係る処理が実行されないことについては、問題はない。
すなわち、プリンター2とホストコンピューター4との間で通常コマンドに対応する処理については動作保証をしないという定めがあり、必ずしも通常コマンドを実行しなくてもよい、というバッファーフルモードの特徴を踏まえ、補助領域という限られた容量の領域を利用して、即時実行コマンドに係る処理を確実に実行しつつ、バッファーフルモードから通常のモードへ移行するのに必要な空き領域が十分に確保されるまでの時間を確保できる、という効果を得ることができる。
特に、本実施形態では、バッファーフル時処理の実行に際し、補助領域を、1つの受信バッファー31において通常書込領域と連続一体的に形成しているため、上述したように、各ポインターの管理、すなわち、コマンドの管理の簡易化する。
空き容量が、第2基準値を上回った場合(ステップSA8:YES)、制御部21は、バッファーフルモードを解除し(ステップSA9)、その旨、ホストコンピューター4に通知する(ステップSA10)。これをトリガーとして、ホストコンピューター4は、通常通り、通常コマンドのプリンター2への出力を開始する。
次いで、制御部21は、空き領域への受信データの書き込みを開始する(ステップSA11)。
図8に示すように、空き領域が第2基準値を上回ることによりバッファーフルモードが解除された場合、空き領域は、補助領域として機能していた領域と連続した領域となる。従って、バッファーフルモードが解除された場合、書込ポインター50、及び、即時実行コマンド読出ポインター52のそれぞれのポインターは、バッファーフルモードが解除された時点での位置から、上述した通常の管理の下、移動を開始すればよいこととなる。これにより、これらポインターの移動に従って、空き領域に対して、受信した順番に、受信データを順次書き込むことができ、また、即時実行コマンドに係る処理を順次実行可能となる。
このように、本実施形態では、受信バッファー31に補助領域が形成されており、バッファーフルモードの解除時には、この補助領域に対応する領域と連続して空き領域が形成されるため、バッファーフルモードの解除時に、書込ポインター50や、即時実行コマンド読出ポインター52を、特別な処理によって、移動、管理する必要がなく、これらポインターの管理に係る処理、すなわち、コマンドの管理に係る処理が簡易化する。
これによれば、受信バッファー31の状態が、空き領域がバッファーフル容量以下となった場合であっても、同一の受信バッファー31に形成された補助領域という限定された領域に即時実行コマンドを循環的に書き込み実行することにより、即時実行コマンドに係る処理が継続的に実行される状態を維持しつつ、受信バッファー31におけるバッファーフルの解消を図ることができる。特に、補助領域は、受信バッファー31内に形成された領域であるため、バッファーフルモードへ移行後の補助領域における受信コマンドの管理を、バッファーフルモードへ移行する前の受信コマンドの管理と連続一体的に行うことができ、受信コマンドの管理に係る処理が簡易化する。
この構成によれば、空き領域の容量が第2基準値以上となり、バッファーフルモードへの移行が終了した場合、速やかに、受信バッファー31を利用した通常の書き込みを開始できる。特に、補助領域は、受信バッファー31内に形成された領域であるため、バッファーフルモード終了後における受信バッファー31を利用した通常の受信コマンドの管理を、バッファーフルモードへ移行中の受信コマンドの管理と連続一体的に行うことができ、受信コマンドの管理に係る処理が簡易化する。
すなわち、空き領域が第2基準値を上回ることによりバッファーフルモードが解除された場合、空き領域は、補助領域として機能していた領域と連続した領域となる。従って、バッファーフルモードが解除された場合、書込ポインター50、及び、即時実行コマンド読出ポインター52のそれぞれのポインターは、バッファーフルモードが解除された時点での位置から、上述した通常の管理の下、移動を開始すればよいこととなる。これにより、これらポインターの移動に従って、空き領域に対して、受信した順番に、受信データを順次書き込むことができ、また、即時実行コマンドに係る処理を順次実行可能となる。
これによれば、空き領域を利用して、受信バッファー31内に補助領域に対応する領域を確保できる。
この構成によれば、ホストコンピューター4は、バッファーフルモードへ移行したことを検知でき、当該検知に基づいて、バッファーフルモードに対応した処理、例えば、コマンドの出力の制限等、を実行できる。
また、本発明を適用可能な記録装置は、コマンドに従って動作可能なプリンターであれば特に制限されず、インクジェット式プリンター、ドットインパクト式プリンター、レーザープリンター、熱昇華型プリンターのいずれであってもよく、他の方式で文字や画像を形成するプリンターであってもよいし、他の装置に組み込まれるプリンターであってもよい。また、電子媒体に記録するものでもよい。
また、本発明を適用可能なプログラムは、ホストコンピューター4に搭載されるプリンタードライバーに含むものであってもよい。
また、図5に記載のフローチャートの各ステップを実行するプログラムを、プリンター2の内部の記憶媒体に記憶させたもの、またはプリンター2の外部の記憶媒体に記憶させたものを読み出して、制御部21により実行させることもできる。
Claims (7)
- ホストコンピューターから受信した即時実行コマンドを含むコマンドを、受信した順に、受信バッファーに循環的に書き込む書込制御部と、
前記受信バッファーに書き込まれたコマンドであって前記即時実行コマンドを除くコマンドを書き込まれた順に読み出して実行するコマンド実行部と、
前記受信バッファーに書き込まれたコマンドの中から、書き込まれた順に即時実行コマンドを検出し、検出した即時実行コマンドを順に読み出して他のコマンドに優先して実行する即時実行コマンド実行部と、を備え、
前記書込制御部によりコマンドが書き込まれた位置から、前記コマンド実行部によりコマンドの読み出しが行われた位置に至る一連の領域を除く領域である空き領域の容量が、第1基準値以下となった場合から、当該空き領域の容量が前記第1基準値以上の値の第2基準値以上となるまでの間、通常モードからバッファーフルモードへ移行し、
前記バッファーフルモードへ移行している間、
前記書込制御部は、
前記受信バッファー内に形成された補助領域に、前記バッファーフルモードへ移行後受信した前記即時実行コマンドを含むコマンドを循環的に書き込み、
前記即時実行コマンド実行部は、
前記バッファーフルモードへ移行する前に前記受信バッファーに書き込まれた前記即時実行コマンドを実行した後、前記補助領域に書き込まれたコマンドの中から、書き込まれた順に前記即時実行コマンドを検出し、検出した前記即時実行コマンドを読み出して実行し、
前記コマンド実行部は、
前記バッファーフルモードに移行する前に前記受信バッファーに書き込まれた前記即時実行を除くコマンドを順に読み出して実行して、前記空き領域を拡張する
ことを特徴とする電子機器。 - 前記バッファーフルモードから前記通常モードへ戻った場合、前記書込制御部は、前記補助領域へのコマンドの循環的な書き込みを終了し、前記空き領域への前記受信したコマンドの書き込みを開始することを特徴とする請求項1に記載の電子機器。
- 前記バッファーフルモードへ移行している間、
前記書込制御部は、前記補助領域内で、書込ポインターを移動させつつ、前記書込ポインターが示す領域に前記受信したコマンドを書き込み、
前記即時実行コマンド実行部は、前記補助領域内で、即時実行コマンド読出ポインターを移動させつつ、前記即時実行コマンドが書き込まれた領域を検出し、検出した前記即時実行コマンドを読み出して実行し、
前記書込ポインターと、前記即時実行コマンド読出ポインターとが示す領域が一致した場合、前記書込制御部は、前記補助領域の先頭に前記書込ポインターを移動すると共に、前記即時実行コマンド実行部は、前記補助領域の先頭に前記即時実行コマンド読出ポインターを移動することを特徴とする請求項2に記載の電子機器。 - 前記補助領域は、前記コマンドの実行に伴い、前記受信バッファー内を循環的に移動するものであり、
前記バッファーフルモードへ移行したときに前記受信バッファーに形成されている空き領域に対応する容量の領域であり、前記第1基準値に対応する容量の領域であることを特徴とする請求項1ないし3のいずれかに記載の電子機器。 - インターフェイス部を備え、前記バッファーフルモードへ移行した場合、前記インターフェイス部はその旨ホストコンピューターに通知し、前記コマンド実行部は前記受信したコマンドを読み出して実行することを停止することを特徴とする請求項1ないし4のいずれかに記載の電子機器。
- ホストコンピューターから受信したコマンドを、受信した順に、受信バッファーに循環的に書き込む書込制御部と、前記受信バッファーに書き込まれたコマンドであって前記即時実行コマンドを除くコマンドを書き込まれた順に読み出して実行するコマンド実行部と、前記受信バッファーに書き込まれたコマンドから、書き込まれた順に即時実行コマンドを検出し、検出した即時実行コマンドを順に読み出して実行する即時実行コマンド実行部と、を備える電子機器の制御方法であって、
前記書込制御部によりコマンドが書き込まれた位置から、前記コマンド実行部によりコマンドの読み出しが行われた位置に至る一連の領域を除く領域である空き領域の容量が、第1基準値以下となった場合から、当該空き領域の容量が前記第1基準値以上の値の第2基準値以上となるまでの間、通常モードからバッファーフルモードへ移行し、
前記バッファーフルモードへ移行している間、
前記書込制御部は、
前記受信バッファー内に形成された補助領域に、前記バッファーフルモードへ移行後受信した前記即時実行コマンドを含むコマンドを循環的に書き込み、
前記即時実行コマンド実行部は、
前記バッファーフルモードへ移行する前に前記受信バッファーに書き込まれた前記即時実行コマンドを実行した後、前記補助領域に書き込まれたコマンドの中から、書き込まれた順に前記即時実行コマンドを検出し、検出した前記即時実行コマンドを読み出して実行し、
前記コマンド実行部は、
前記バッファーフルモードに移行する前に前記受信バッファーに書き込まれた前記即時実行を除くコマンドを順に読み出して実行して、前記空き領域を拡張することを特徴とする電子機器の制御方法。 - ホストコンピューターからコマンドを受信する電子機器を制御する制御部により実行されるプログラムであって、
前記制御部を、
前記ホストコンピューターから受信した即時実行コマンドを含むコマンドを、受信した順に、受信バッファーに循環的に書き込む書込制御部と、
前記受信バッファーに書き込まれたコマンドであって前記即時実行コマンドを除くコマンドを書き込まれた順に読み出して実行するコマンド実行部と、
前記受信バッファーに書き込まれたコマンドの中から、書き込まれた順に即時実行コマンドを検出し、検出した即時実行コマンドを順に読み出して他のコマンドに優先して実行する即時実行コマンド実行部と、として機能させ、
前記書込制御部によりコマンドが書き込まれた位置から、前記コマンド実行部によりコマンドの読み出しが行われた位置に至る一連の領域を除く領域である空き領域の容量が、第1基準値以下となった場合から、当該空き領域の容量が前記第1基準値以上の値の第2基準値以上となるまでの間、通常モードからバッファーフルモードへ移行し、
前記バッファーフルモードへ移行している間、
前記書込制御部に、
前記受信バッファー内に形成された補助領域に、前記バッファーフルモードへ移行後受信した前記即時実行コマンドを含むコマンドを循環的に書き込ませ、
前記即時実行コマンド実行部に、
前記バッファーフルモードへ移行する前に前記受信バッファーに書き込まれた前記即時実行コマンドを実行させた後、前記補助領域に書き込まれたコマンドの中から、書き込まれた順に前記即時実行コマンドを検出させ、検出させた前記即時実行コマンドを読み出して実行させ、
前記コマンド実行部に、
前記バッファーフルモードに移行する前に前記受信バッファーに書き込まれた前記即時実行を除くコマンドを順に読み出して実行させて、前記空き領域を拡張させる
ことを特徴とするプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010207545A JP5655453B2 (ja) | 2010-09-16 | 2010-09-16 | 電子機器、電子機器の制御方法、及び、プログラム |
US13/234,396 US8769170B2 (en) | 2010-09-16 | 2011-09-16 | Electronic device, control method for an electronic device, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010207545A JP5655453B2 (ja) | 2010-09-16 | 2010-09-16 | 電子機器、電子機器の制御方法、及び、プログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2012061713A JP2012061713A (ja) | 2012-03-29 |
JP2012061713A5 JP2012061713A5 (ja) | 2013-09-19 |
JP5655453B2 true JP5655453B2 (ja) | 2015-01-21 |
Family
ID=45972799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010207545A Expired - Fee Related JP5655453B2 (ja) | 2010-09-16 | 2010-09-16 | 電子機器、電子機器の制御方法、及び、プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US8769170B2 (ja) |
JP (1) | JP5655453B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5573709B2 (ja) * | 2011-01-31 | 2014-08-20 | ブラザー工業株式会社 | 通信装置 |
JP5817193B2 (ja) | 2011-04-15 | 2015-11-18 | セイコーエプソン株式会社 | 記録装置、記録装置の制御方法、及び、プログラム |
JP7003614B2 (ja) | 2017-12-11 | 2022-01-20 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置、画像形成装置及びプログラム |
JP7516884B2 (ja) | 2020-06-05 | 2024-07-17 | ブラザー工業株式会社 | プログラム |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06262809A (ja) | 1993-03-12 | 1994-09-20 | Canon Inc | プリンタ制御方式 |
US6362896B1 (en) | 1993-11-08 | 2002-03-26 | Seiko Epson Corporation | Printing apparatus with a cash drawer control function, and a control method therefor |
DE69429849T2 (de) | 1993-11-08 | 2002-08-22 | Seiko Epson Corp., Tokio/Tokyo | Feststellung des Betriebszustands eines Druckers |
US6975423B2 (en) | 1993-11-08 | 2005-12-13 | Seiko Epson Corporation | Printing apparatus and a control method therefor |
JP3552066B2 (ja) | 1993-11-08 | 2004-08-11 | セイコーエプソン株式会社 | 印刷装置及びその制御方法並びに該印刷装置を用いた情報処理装置 |
JP3100276B2 (ja) * | 1993-12-27 | 2000-10-16 | 大崎電気工業株式会社 | 電子式電力量計および同管理システム |
JPH0966634A (ja) * | 1995-09-01 | 1997-03-11 | Canon Inc | 印刷装置,印刷システム及びその印刷方法 |
JPH11168506A (ja) | 1997-12-05 | 1999-06-22 | Canon Inc | データ受信装置及びデータ受信方法並びに画像形成装置 |
JPH11327816A (ja) * | 1998-05-19 | 1999-11-30 | Canon Inc | 記録装置およびその制御方法 |
JP2001096866A (ja) * | 1999-09-30 | 2001-04-10 | Seiko Epson Corp | 印刷装置、印刷システム、ホスト装置、これらの制御方法、および、情報記録媒体 |
JP2001260435A (ja) | 2000-03-17 | 2001-09-25 | Ricoh Co Ltd | 画像形成装置 |
JP3520500B2 (ja) * | 2000-07-26 | 2004-04-19 | セイコーエプソン株式会社 | プリンタ、プリンタの制御方法、そのためのプログラム、及び、そのプログラムを記録した記録媒体 |
JP2002225354A (ja) * | 2001-02-05 | 2002-08-14 | Seiko Epson Corp | プリンタ及びその制御方法、並びにプログラム及びコンピュータ読み取り可能な記録媒体 |
US7596627B2 (en) * | 2001-12-18 | 2009-09-29 | Cisco Technology, Inc. | Methods and apparatus for network congestion control |
JP4196271B2 (ja) * | 2003-06-26 | 2008-12-17 | コニカミノルタビジネステクノロジーズ株式会社 | 印刷データ処理装置およびデータ処理装置 |
JP4066383B2 (ja) * | 2006-07-06 | 2008-03-26 | シチズンホールディングス株式会社 | 通信装置および通信制御方法、並びに当該通信装置を備えたプリンタ |
-
2010
- 2010-09-16 JP JP2010207545A patent/JP5655453B2/ja not_active Expired - Fee Related
-
2011
- 2011-09-16 US US13/234,396 patent/US8769170B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US8769170B2 (en) | 2014-07-01 |
US20120099145A1 (en) | 2012-04-26 |
JP2012061713A (ja) | 2012-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5817193B2 (ja) | 記録装置、記録装置の制御方法、及び、プログラム | |
JP5655453B2 (ja) | 電子機器、電子機器の制御方法、及び、プログラム | |
JP2012232431A (ja) | 記録装置、記録装置の制御方法、及び、プログラム | |
JP2012232458A (ja) | 記録装置、記録装置の制御方法、及び、プログラム | |
JP5593682B2 (ja) | プリンター、プリンターの制御方法、及び、プログラム | |
KR101429850B1 (ko) | 기록 장치, 및 기록 장치의 제어 방법 | |
US20090207444A1 (en) | Printer and control method for a printer | |
US9058133B2 (en) | Control device, control method for a control device, and recording medium | |
JP5842335B2 (ja) | 画像記録装置、画像記録装置の制御方法、及び、プログラム | |
WO2010050075A1 (ja) | ラベルプリンタ | |
JP5760705B2 (ja) | 記録装置、記録装置の制御方法、及び、プログラム | |
US8724148B2 (en) | Recording device that can connect to a control device, control method for a recording device that can connect to a control device, and storage medium that stores a program for controlling parts of a recording device that can connect to a control device | |
JP2012123704A (ja) | 制御装置、制御装置の制御方法、及び、プログラム | |
JP5754307B2 (ja) | 制御装置、制御装置の制御方法、及び、プログラム | |
JP6003265B2 (ja) | 制御装置、制御装置の制御方法、及び、プログラム | |
JP2005111818A (ja) | 印刷装置及び印刷装置用コントローラ | |
JP5828398B2 (ja) | 記録装置、記録装置の制御方法、及び、プログラム | |
US20220253233A1 (en) | Memory control device and method | |
JP7400584B2 (ja) | テープ印刷装置、テープ印刷システム、およびテープ印刷装置の制御方法 | |
JP2011192107A (ja) | 制御装置、記録システム、制御装置の制御方法、及び、プログラム | |
JP2011088373A (ja) | 記録装置、記録装置の制御方法、及び、プログラム | |
JP5987415B2 (ja) | 記録装置、記録装置の制御方法、及び、プログラム | |
JP5857656B2 (ja) | 制御装置、制御装置の制御方法、及び、プログラム | |
JP2008149652A (ja) | ラベルプリンタ | |
JP2012101391A (ja) | 記録装置、記録装置の制御方法、及び、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130809 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130809 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140423 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140507 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140627 |
|
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: 20141028 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141110 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5655453 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |