JP3985135B2 - 制御システムにおけるデバイス初期化方法、制御システム、コンピュータにデバイス初期化方法を実行させるためのプログラム、このプログラムを記録した記録媒体 - Google Patents
制御システムにおけるデバイス初期化方法、制御システム、コンピュータにデバイス初期化方法を実行させるためのプログラム、このプログラムを記録した記録媒体 Download PDFInfo
- Publication number
- JP3985135B2 JP3985135B2 JP2001398530A JP2001398530A JP3985135B2 JP 3985135 B2 JP3985135 B2 JP 3985135B2 JP 2001398530 A JP2001398530 A JP 2001398530A JP 2001398530 A JP2001398530 A JP 2001398530A JP 3985135 B2 JP3985135 B2 JP 3985135B2
- Authority
- JP
- Japan
- Prior art keywords
- initialization
- request
- objects
- printer
- initialization request
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
Description
【発明の属する技術分野】
本発明は、複数のデバイスを制御する制御システムにおいて各デバイスについての初期化処理を実行する方法およびこの方法をコンピュータに実行させるプログラム並びにこのプログラムを記録した記録媒体に関する。また、本発明は、複数のデバイスについて初期化処理を適正に行なううえで好適な制御システムにも関する。
【0002】
【従来の技術】
オブジェクト指向プログラミング言語の1つであるJava(登録商標)で記述されたプログラムは、ジャババーチャルマシン(JVM)上で実行することができる。したがって、JVMをサポートするオペレーティングシステム(OS)であれば、Java(登録商標)アプリケーションソフトウェアの実行環境はOSの種類やバージョンを問わない。このため、ソフトウェアをOSの種類毎に開発する必要がなくなり経済的である。また、ソフトウェアが種々のOSに共通に供給されることになるので、ユーザにとっても、ソフトウェア選択の幅が大きく広がり、さらに、OSを変えた場合やバージョンアップした場合にも既存のソフトウェア資産をそのまま継続して使用することができるといったメリットがある。
【0003】
ところで、店舗のレジ等で用いられるPOSシステムは、パーソナルコンピュータ等からなるホストコンピュータに、プリンタやキャッシュドロワ等の周辺デバイスが接続されることにより構築されたシステムである。ホストコンピュータがアプリケーションプログラムを実行することによりこれら周辺機器の制御を行なうことで、POSシステムとして機能する。このようなPOSシステムにおいて、ホストコンピュータが実行するアプリケーションプログラムをJava(登録商標)言語で記述すれば、既存のハードウェアを用いて新しいPOSシステムを実現することが可能となる。この場合、ソフトウェアの開発コストを低減できるのでユーザの経済的負担も小さくなる。
【0004】
図1は、Java(登録商標)アプリケーションにより構築されたPOSシステム(以下、Java(登録商標)POSシステムという)100のシステム構成図である。同図に示すように、Java(登録商標)POSシステム100は、ホストコンピュータ12に、プリンタ14、キャッシュドロワ16、および、MICR装置18等のデバイスが接続されて構成されている。ここで、Java(登録商標)POSシステム100は、小切手処理を行なう機能を有するものとしており、MICR装置18は小切手の表面に記録された磁気インク文字の読取処理(MICR:MagneticInkCharacterRecognition)を行う。
【0005】
ホストコンピュータ12に実装されたOSはJVM30をサポートしている。JVM30上には、デバイスのカテゴリー(プリンタ、キャッシュドロワ、MICR装置といったデバイスの種類)毎に対応したデバイスコントロールオブジェクト(DC)32と、デバイスの機種毎に対応したデバイスサービスオブジェクト(DS)34とが設けられている。DC32はデバイスのカテゴリー毎にシステム側で用意され、一方、DS34はデバイスの機種毎にそのメーカーから供給される。なお、プリンタ14、キャッシュドロワ16、および、MICR装置18に対応するDC32およびDS34を区別する場合には、夫々、DC32a,32b,32c、および、DS34a,34b,34cと表すものとする。
【0006】
また、JVM30上では、各デバイスの入出力制御を行なってPOSシステムとしての機能を実現するためのアプリケーションソフトウェア(以下、POSアプリケーションという)36が実行される。POSアプリケーション36は、例えばプリンタ14を使用する場合、先ず、プリンタ14の使用を宣言し、これに応じて、プリンタ14に対応するDS34aのインスタンスが生成される。この後、POSアプリケーション36が印字指令を発すると、印字データがプリンタ用のDC32aに引き渡され、このDC32aによってDS34aが呼び出される。そして、呼び出されたDS34aがポートドライバ35を介してプリンタ14へ印字データを送ることで印字処理が行なわれる。したがって、POSアプリケーション36の作成にあたり、プリンタ14の機種を意識することなく、印字用のルーチンを作成することが可能である。このように、DS34は、デバイスの機種毎の差異を吸収して、POSアプリケーション36をデバイス機種に依存しないプログラムとして構成できるようにする役割を有している。
【0007】
【発明が解決しようとする課題】
上記したJava(登録商標)POSシステム100において、各デバイスの電源がオンされた場合、従来は、デバイスの機種毎に設けられたDS34により初期化処理が行なわれるのが一般的である。すなわち、初期化処理を行なうための初期化ルーチンが各DS34に実装されており、あるデバイスの電源がオンされると、該当するDS34がその初期化ルーチンを実行するのである。初期化処理では、例えば、ホストコンピュータ12から各デバイスへ機種や機能等を問い合わせたり、各デバイスを所定状態に設定する等の処理が行なわれる。
【0008】
ところで、一般に、POSシステムにおいては、特定のメインデバイス(多くの場合はプリンタ)を中心にして、メインデバイスに他のデバイスを接続するといった形態がとられることが多い。図2に、このようなJava(登録商標)POSシステム110のシステム構成図を示す。このような構成のシステムでは、メインデバイスから他のデバイスへ電源が供給される。例えば、図2に示すように、Java(登録商標)POSシステム110がプリンタ14をメインデバイスとして構成されている場合、キャッシュドロワ16およびMICR装置18への電源はプリンタ14から供給される。この場合、プリンタ14の電源がオンされると、他のデバイスの電源も同時にオンされる。すなわち、複数のデバイスの電源が同時にオンされることになる。したがって、デバイスの電源オン時には、各デバイスについての初期化処理は各DS34により並行して同時に実行される。
【0009】
しかしながら、各DS34が実行する初期化処理は、他のDS34とは同期をとらずに(つまり、他のDS34がどのような処理を実行中であるかを全く考慮せずに)行なわれる。このため、あるDS34が初期化処理を実行している間に、他のDS34の初期化処理に対するホストコンピュータ12からの応答が返ってきた場合、初期化処理を実行中の各DS34では、この応答が自らの初期化処理に対する応答なのか、他のDS34の初期化処理に対する応答なのかを判断できず、初期化処理が正しく行なわれないことになってしまう。例えば、MICR装置18に対応したDS34cが初期化処理においてMICR装置18のROMバージョンを問い合わせ、これとほぼ同時に、プリンタ14に対応したDS34aがプリンタ14の機能を問い合わせたとすると、これら問い合わせに対する応答がDS34c,34aの双方に返される。このため、DS34cおよびDS34aは、返ってきた応答がMICR18のROMバージョンであるのか、プリンタ14の機種なのかを判別できないのである。
【0010】
本発明は上記の点に鑑みてなされたものであり、複数のデバイスについての初期化要求に対して初期化処理を適正に行なえるようにすることを目的とする。
【0011】
【課題を解決するための手段】
請求項1に記載された発明は、所定のオブジェクト指向言語で記述されたプログラムを実行可能なコンピュータシステムにより構成され、一のデバイスと該デバイスに接続された他のデバイスとからなる複数のデバイスを制御する制御システムにおいて前記複数のデバイスの初期化処理を実行する方法であって、
前記複数のデバイスの夫々に対応したオブジェクトの各々から対応するデバイスについての初期化要求を受け取る初期化要求受取ステップと、
前記オブジェクトの各々から受け取った同じ初期化要求IDが付された前記初期化要求に対して一回の初期化処理を実行する初期化実行ステップと、
前記一回の初期化処理が終了した後、初期化処理の終了通知を前記初期化処理の要求元である前記オブジェクトの各々に送出する終了通知送出ステップとを備えることを特徴とする。
【0012】
請求項1記載の発明によれば、複数のデバイスについての初期化要求に対して一回の初期化処理を実行する。このため、各初期化要求に対して初期化処理を行なう場合に起こり得るような、初期化処理間の同期がとれていないことに起因する誤動作のおそれがなくなる。したがって、本発明によれば、複数のデバイスについて同時に初期化要求があった場合にも初期化処理を適正に行なうことができる。なお、本発明において、デバイスの初期化処理とは、例えば、デバイスの機種、機能、状態を取得したり、デバイスを所定状態に設定するなど、デバイスを制御するうえで予め行なっておくべき処理を意味する。
【0013】
【0014】
また、請求項2に記載された発明は、請求項1記載の方法において、前記初期化要求は、前記一のデバイスの電源オンによる前記複数のデバイスの電源オンに応答して対応する前記オブジェクトの各々から発せられるものであり、前記同じ初期化要求IDは、電源が同時にオンされた前記複数のデバイスの夫々に対応した前記オブジェクトの各々から発せられた前記初期化要求に付されていることを特徴とする。
【0015】
請求項2記載の発明によれば、電源が同時にオンされたデバイスについては、初期化要求に同じ値の初期化要求IDが付されており、これらの初期化要求について共通に初期化処理が行なわれる。したがって、複数のデバイスの電源が共通であって電源が同時にオンされた場合に、これらデバイスについての初期化処理を適正に行なうことができる。
【0016】
また、請求項3に記載された発明は、請求項2記載の方法において、前記複数のデバイスの電源オン時以外に前記オブジェクトの各々から前記初期化要求が発せられる場合には、当該初期化要求に前記同じ初期化要求IDとは異なる特定の初期化要求IDが付され、前記初期化実行ステップは、前記特定の初期化要求IDが付された前記初期化要求については個別に初期化処理を実行することを特徴とする。
【0017】
請求項3記載の発明によれば、電源オンに応答した初期化要求と、電源オン時以外の初期化要求を区別して、電源オン時以外の初期化要求については個別に初期化処理を行なうことができる。
【0018】
また、請求項4に記載された発明は、請求項1乃至3のうち何れか1項記載の方法において、前記複数のデバイスのうち少なくとも1つはプリンタであり、前記初期化実行ステップは、前記プリンタの印字文字属性を設定するための文字属性設定処理を行なう文字属性設定ステップを含むことを特徴とする。
【0019】
また、請求項5に記載された発明は、請求項4記載の方法において、前記プリンタの印字文字属性の設定状態を保持する文字属性データを生成する文字属性データ生成ステップを備え、前記文字属性設定ステップは、前記文字属性データに保持された設定状態に基づいて、前記プリンタの印字文字属性を設定することを特徴とする。
【0020】
請求項5記載の発明によれば、プリンタの電源オフ中も、文字属性オブジェクトに印字文字属性の設定状態が保持され、文字属性設定処理では、文字属性オブジェクトに保持された設定状態に基づいてプリンタの印字文字属性を設定する。したがって、プリンタの文字属性を、プリンタの電源がオフされる直前の状態に復帰させることができる。
【0021】
また、請求項6に記載された発明は、請求項5記載の方法において、前記文字属性データ生成ステップは、前記プリンタに対応する前記オブジェクトを起動する際に実行されることを特徴とする。
【0022】
また、請求項7に記載された発明は、請求項2乃至6のうち何れか1項記載の方法において、前記オブジェクトの各々が初期化要求を発した後、初期化終了通知を受けるまで、前記オブジェクトの各々から対応する前記デバイスへのデータ送信を禁止することを特徴とする。
【0023】
請求項7記載の発明によれば、初期化処理が完了していないデバイスへデータが送信されるのを防止することができる。
【0024】
また、請求項8に記載された発明は、請求項2乃至7のうち何れか1項記載の方法において、前記所定のオブジェクト指向プログラミング言語はジャバ言語であることを特徴とする。
【0025】
また、請求項10に記載された発明は、所定のオブジェクト指向言語で記述されたプログラムを実行可能なコンピュータシステムにより構成され、一のデバイスと該デバイスに接続された他のデバイスとからなる複数のデバイスを制御する制御システムであって、
前記複数のデバイスの夫々に対応した第1のオブジェクトの各々から対応するデバイスについての初期化要求を受け取る初期化要求受取手段と、
前記第1のオブジェクトの各々から受け取った同じ初期化要求IDが付された初期化要求に対して一回の初期化処理を実行する初期化実行手段と、
前記一回の初期化処理が終了した後、初期化処理の終了通知を前記初期化要求の発信元である前記第1のオブジェクトの各々に送出する終了通知送出手段とを備えることを特徴とする。
【0026】
【0027】
また、請求項10に記載された発明は、請求項9記載の制御システムにおいて、初期化処理用の第2のオブジェクトを有し、該第2のオブジェクトが前記初期化要求受取手段、前記初期化実行手段、および、前記終了通知送出手段を備えていることを特徴とする。
【0028】
また、請求項11に記載された発明は、請求項10記載の制御システムにおいて、前記複数のデバイスは、前記一のデバイスの電源がオンされると前記他のデバイスの電源もオンされるように構成されており、当該制御システムは、前記一のデバイスの電源オンに応答した信号を受け取ると前記第1のオブジェクトの各々に対応するデバイスの電源オンを通知する第3のオブジェクトを有し、前記第1のオブジェクトの各々は、前記第3のオブジェクトから対応する前記デバイスの電源オンの通知を受けると、前記第2のオブジェクトに前記初期化要求を送出することを特徴とする。
【0029】
また、請求項12に記載された発明は、所定のオブジェクト指向言語で記述されたプログラムを実行可能なコンピュータに、該コンピュータに接続された複数のデバイスの初期化処理を実行させるためのプログラムであって、前記コンピュータに、前記複数のデバイスの夫々に対応したオブジェクトの各々から対応するデバイスについての初期化要求を受け取る初期化要求受取ステップと、前記オブジェクトの各々から受け取った同じ初期化要求IDが付された初期化要求に対して一回の初期化処理を実行する初期化実行ステップと、前記一回の初期化処理が終了した後、初期化処理の終了通知を前記初期化要求の発信元である前記オブジェクトの各々に送出する終了通知送出ステップとを実行させるためのプログラムに係るものであり、請求項13に記載された発明は、請求項12記載のプログラムを記録した記録媒体に係るものである。
【0030】
【発明の実施の形態】
図3は、本実施形態のJava(登録商標)POSシステム10のシステム構成図である。なお、図3において図1および図2と同様の構成部分には同一の符号を付している。図3に示すように、Java(登録商標)POSシステム10は、ホストコンピュータ12と、プリンタ14、キャッシュドロワ16、およびMICR装置18の各デバイスとにより構成されている。プリンタ14はホストコンピュータ12に直接接続されている。一方、キャッシュドロワ16およびMICR装置18は、プリンタ14を介してホストコンピュータ12に接続されている。また、同図に示すように、キャッシュドロワ16およびMICR装置18への電源供給ライン24はプリンタ14から供給されており、プリンタ14の電源スイッチ26がオンされると、各デバイスに同時に電源が供給される。
【0031】
Java(登録商標)POSシステム10においても、上記図1に示すJava(登録商標)POSシステム100と同様に、ホストコンピュータ12のOSはJVM30をサポートしており、このJVM30上に、デバイスのカテゴリー毎に対応したDC32と、デバイスの機種毎に対応したDS34と、各デバイスの入出力制御を行なってPOSシステムとしての機能を実現するためのPOSアプリケーション36とが実装されている。さらに、本実施形態のJava(登録商標)POSシステム10おいては、受信データ解析クラス40および初期化クラス42が実装されている。受信データ解析クラス40は、プリンタ14から送信されてきた各種応答信号を解析して、適切なオブジェクトへ引き渡す機能を有する。また、初期化クラス42は、各DS34からの初期化要求を取りまとめて初期化処理を実行する機能を有する。なお、DC32、DS34、POSアプリケーション36、受信データ解析クラス40、および初期化クラス42はJava(登録商標)言語で記述されたプログラムとして、ホストコンピュータ12が備えるROMやハードディスク装置等の記憶装置に格納されている。
【0032】
後述するように、初期化処理では、初期化クラス42からプリンタ14へのコマンドの送信、および、プリンタ14からの応答の受信が行なわれる。そこで、初期化処理について説明する前に、初期化処理に関連するプリンタ14の構成について説明する。
【0033】
図4は、プリンタ14のシステム構成図である。同図に示すように、プリンタ14は中央制御装置(CPU)50を備えている。CPU50は、インターフェース52を介してホストコンピュータ12に接続されている。CPU50には、また、ROM54、RAM56、印字部58、用紙検出部60、カバー検出部62、エラー検出部64、パネルスイッチ66、コネクタ68,70等が接続されている。
【0034】
ROM54には、プリンタ14用の制御プログラムや印字文字パターン等が記憶されていると共に、MICR装置18用の制御プログラムやデータも記憶されている。すなわち、ROM54は、プリンタ14およびMICR装置18の双方のROMとして機能する。また、RAM56には、ホストコンピュータ12から受信したコマンドや印字データを保持するための受信バッファが設けられている。さらに、印字部58は、印字ヘッド、印字ヘッドを駆動するためのモータ類、および、これらの制御装置から構成されており、CPU50からの指示に応じて印字動作を行なう。
【0035】
用紙検出部60は、単票用紙および連続用紙のプリンタ内各位置での有無を検出するセンサ群を含んでおり、各センサによる検出結果をCPU50へ通知する。カバー検出部62は、プリンタカバーの開閉状態を検出するセンサを含んでおり、プリンタカバーの開閉状態をCPU50へ通知する。また、エラー検出部64は、印字ヘッドのホームポジションやオートカッタ用のカッター位置のセンサ等を含んでおり、紙ジャム等の各種エラーの発生を検知してCPU50へ通知する。さらに、コネクタ68,70には、夫々、キャッシュドロワ16およびMICR装置18が接続されており、CPU50はコネクタ68の電圧レベルに基づいて、キャッシュドロワ16の開閉状態を検知する。なお、CPU50は、プリンタカバーの開状態、単票・連続の両用紙の紙無し状態、またはエラー発生の何れかが検出された場合に、プリンタ14をオフライン状態とする。
【0036】
また、プリンタ14は自動ステータス送信機能を有している。自動ステータス送信機能は、プリンタ14のステータスが変化した場合に、その都度、ホストコンピュータ12へステータスを自動的に通知する機能である。以下、自動ステータス送信機能をASB(AutoStatusBack)機能と略称する。本実施形態では、プリンタ14のステータスを、(1)キャッシュドロワ16の開閉状態、(2)オンライン/オフラインの別、(3)エラー状態、(4)連続用紙検出器の状態、(5)単票用紙検出器・単票用紙の状態、および(6)パネルスイッチの状態に区分している。
【0037】
図5は、ステータスデータの構成の例を示す。同図に示す例では、ステータスデータは4バイトで表され、上記したステータス区分(1)〜(6)の夫々に該当するステータスが、対応するビットの「0」または「1」の値で表されている。CPU50は、用紙検出部60、カバー検出部62、エラー検出部64およびパネルスイッチ66の出力や、コネクタ68の電圧レベルに基づいて各ステータスを検知し、ステータスデータの該当するビットの値を「1」または「0」に設定する。
【0038】
プリンタ14への電源投入時には、ASB機能は無効とされており、ホストコンピュータ12からプリンタ14へASB機能設定コマンドを送信することにより、ASB機能を有効とすることができる。ASB機能設定コマンドは、例えば1バイト(8ビット)のコマンドパラメータを伴っており、このコマンドパラメータの値に基づいて、上記した各ステータス区分毎にASB機能の有効/無効の設定が可能である。
【0039】
図6は、コマンドパラメータの構成を示す。同図に示すように、コマンドパラメータの各ビットには各ステータス区分が対応付けられており、値が「1」であるビットに対応するステータス区分についてASB機能が有効とされる。CPU50は、ホストコンピュータ12からASB機能設定コマンドを受信すると、そのコマンドパラメータにより少なくとも1つのステータス区分についてASB機能が有効とされている場合には、その時点でのステータスデータの内容をホストコンピュータ12へ返す。そして、以後、CPU50は、ASB機能が有効とされたステータス区分に含まれるステータスが変化する都度、ステータスデータをホストコンピュータ12へ送信する。
【0040】
上述したように、ホストコンピュータ12上のPOSアプリケーション36は、プリンタ14の使用を開始するにあたり、プリンタ14の使用を宣言し、この宣言に応じて、プリンタ14に対応するDS34aのインスタンスが生成される。以後、POSアプリケーション36が印字指令を発すると、印字用データがプリンタのDC32aに引き渡され、このDC32aがDS34aのインスタンスを呼び出すことで印字処理が実行される。
【0041】
DS34aのインスタンスが生成されると、生成されたインスタンスにより更に文字属性コマンドデータが生成される。そして、POSアプリケーション36がプリンタ14の印字文字属性(フォント種類、フォントサイズ、色、文字修飾等)を設定する都度、文字属性コマンドデータにその設定内容が格納される。したがって、文字属性コマンドデータには、常に、プリンタ14の現在の文字属性に関する情報が保持される。後述するように、文字属性コマンドデータは、DS34aのインスタンスが生成された際に行なわれる初期化要求時に初期化クラス42へ引き渡され、初期化処理において、プリンタ14の文字属性を電源オフ直前の状態に復帰させるために用いられる。
【0042】
次に、初期化クラス42が実行する初期化処理について説明する。
【0043】
図7は、本実施形態のJava(登録商標)POSシステム10において、電源スイッチ26がオンされた際(つまり、プリンタ14、キャッシュドロワ16、および、MICR装置18へ同時に電源がオンされた際)に実行される処理の概要を説明するための図である。同図に示すように、プリンタ14の電源スイッチ26がオンされると(S100)、電源オン信号がホストコンピュータ12のJVM30へ送信され(S102)、この電源オン信号はJVM30から受信データ解析クラス40へ引き渡される(S104)。受信データ解析クラス40は、これまでに生成されていない新規なID番号(「1」以上)を所定の規則に従って、例えば1から順次にあるいはランダムに生成し、このID番号を電源オン信号に付加して、インスタンスが生成済みである各DS34に引き渡す(S106)。
【0044】
各DS34は、電源オン信号およびID番号を受け取ると、初期化クラス42に対して、当該ID番号を添付した初期化要求を行なう(S108)。これに応じて、初期化クラス42は、以下に詳細に説明するように、プリンタ14への各種初期化コマンドの送信(S110)およびこれに対するレスポンスの受信(S112)により初期化処理を行なう。その際、プリンタ14からのレスポンスの受信は、受信データ解析クラス40経由で行なわれる。すなわち、受信データ解析クラス40は、プリンタ14から送られてきたデータ内容を解析して、初期化コマンドに対するレスポンスであるか否かを判別し、初期化コマンドに対するレスポンスである場合には、そのデータを初期化クラス42に引き渡す。
【0045】
なお、各DS34は、そのインスタンスが生成されて初めて動作する際に、ID番号を「0」として初期化クラス42に対して初期化要求を行なう。そこで、このような場合の初期化処理と区別するため、電源オン時の初期化処理では上記のように「1」以上のID番号を用いることとしている。さらに、プリンタ14に対応したDS34aが始めて動作する際の初期化要求では、DS34aから初期化クラス42へ文字属性コマンドデータが渡される。
【0046】
また、DS34は、S106で電源オン信号を受け取ってから、後述するS114で初期化完了通知を受け取るまで、デバイスに対する全ての送信処理の実行を禁止する。これにより、初期化クラス42による初期化処理中に、初期化が未完了のデバイスに対して、初期化のためのデータ以外のデータが送られるのを防止することができる。
【0047】
図8は、初期化クラスが実行する初期化処理のフローチャートである。先ず、S200において、初期化要求に添付されたID番号が「0」であるか否かが判別される。その結果、ID番号が「0」であれば、DS34のインスタンスが最初に動作する際の初期化要求であると判断されて、S202以降の処理が行われる。一方、S200において、ID番号が「0」でない場合は、電源オン時の初期化要求であると判断される。この場合、S204において、当該ID番号についての初期化処理が既に実行済みまたは実行中であるか否かが判別され、実行済みまたは実行中であれば、新たな初期化処理を実行すべきではないと判断されて処理は終了する。また、S204において同じID番号について初期化処理が実行済みでも実行中でもないと判別されれば、S202以降の処理が行なわれる。
【0048】
上記S200,S204の処理によれば、同一のID番号が添付された初期化要求(つまり、電源が同時にオンされたデバイスについての初期化要求)については初期化処理が重複して実行されるのを防止することができると共に、DS34のインスタンスが最初に動作する際の初期化要求については、初期化要求毎に初期化処理を実行することができる。
【0049】
S202では、プリンタ14に対して受信バッファクリアコマンドが送信される。プリンタ14のCPU50は、受信バッファクリアコマンドを受信すると、RAM56内の受信バッファをクリアする。
【0050】
S206では、プリンタ14に対して、コマンドパラメータを「FF」(全てのビットを「1」)として、ASB機能設定コマンドが送信される。プリンタ14のCPU50は、この機能設定コマンドを受信すると、全てのステータスについてASB機能を有効にすると共に、ホストコンピュータ12へ現在のステータスデータを送信する。
【0051】
S208では、ASB機能設定コマンドに応じてプリンタ14からステータスデータが受信されたか否かが判別される。その結果、ステータスデータが受信された場合は、次に、S210の処理が行なわれる。
【0052】
S210では、プリンタ14へデバイス確認コマンドが送信される。プリンタ14のCPU50は、デバイス確認コマンドを受信すると、プリンタ14の機種を示すデバイスコードをホストコンピュータ12へ送信する。
【0053】
S212では、上記デバイスコードがプリンタ14から受信されたか否かが判別される。そして、デバイスコードが受信された場合は、S214において、このデバイスコードで表されるプリンタ14の機種が、Java(登録商標)POSシステム10に適合した機種であるか否かが判別される。その結果、プリンタ14が適合機種である場合には、次にS216の処理が行なわれる。
【0054】
S216では、プリンタ14に対してROMバージョン確認コマンドが送信される。プリンタ14のCPU50は、ROMバージョン確認コマンドを受信すると、ROM54からそのバージョン番号を取得して、ホストコンピュータ12へ送信する。
【0055】
S218では、プリンタ14からROMバージョン番号が受信されたか否かが判別される。その結果、ROMバージョン番号が受信された場合には、次にS220の処理が行なわれる。
【0056】
S220では、プリンタ14に対して機能確認コマンドが送信される。プリンタ14のCPU50は、機能確認コマンドを受信すると、プリンタ14の機能(オートカッタの有無、裏書用印字ヘッドの有無、日本語対応の有無等)を表す機能コードをホストコンピュータ12へ送信する。
【0057】
S222では、プリンタ14から機能コードが受信されたか否かが判別される。その結果、機能コードが受信された場合は、次にS224において、文字属性コマンドデータが存在するか否か(つまり、プリンタ14に対応したDS34aのインスタンスが生成済みであるか否か)が判別される。その結果、文字属性コマンドデータが存在しないと判別された場合は、初期化クラス42による初期化処理は終了する。一方、S222で文字属性コマンドデータが存在すると判別された場合は、S226において、プリンタ14に対して、文字属性コマンドデータに保持された文字属性を設定するための文字属性設定コマンドが送信された後、初期化クラス42による初期化処理は終了する。このように、S226で文字設定コマンドが送信されることで、プリンタ14の文字属性は、前回の電源オフ直前の値に設定されることとなる。また、文字属性コマンドデータが存在しない場合(つまり、プリンタ14に対応したDS34aのインスタンスが未生成である場合)には、文字属性設定コマンドは送信されないので、初期化処理の高速化を図ることができる。
【0058】
また、上記S208、S212、S218、またはS222において、プリンタ14からレスポンスが受信されないと判別され、あるいは、S214においてプリンタ14が適合機種でないと判別された場合は、S228においてエラー対応処理が行なわれる。このエラー対応処理では、ID番号が「0」以外の場合は、再びS200からの初期化処理を行なうことでリトライを繰り返し、また、ID番号が「0」の場合には、初期化要求を出したDS34にエラーを返す。
【0059】
初期化クラス42は、上記図8に示す初期化処理を終了すると、図7のS114において、初期化要求に添付されていたID番号と共に初期化完了通知を各DS34へ送り、その初期化完了通知を受信した各DS34は、各デバイスに関する情報を初期化クラス42に対して要求する。初期化クラス42は、プリンタ14から受信した情報(ステータスデータ、ROMバージョン、プリンタ14の機種コード・機能コード)の中から各DS34が要求する情報を各DS34へ送る。これにより、DS34は各デバイスに関する情報を取得して、以後、各デバイスの制御を適切に行なうことができる。
【0060】
以上説明したように、本実施形態では、複数のDS34から初期化要求を受け取った場合に、これら初期化要求を初期化クラス42が取りまとめて1回の初期化処理を実行する。このため、電源オン時に複数の初期化要求が生じた場合にも、各DS34について個別に初期化処理が実行されることは無く、これにより、デバイスの初期化処理を正常に行なうことができる。すなわち、上記従来技術の項で述べたように、各DS34について個別に初期化処理が実行される場合には、各初期化処理が互いに同期を取らずに行なわれることに起因して、初期化処理が正しく行なわれないという問題が生じ得るが、本実施形態では、複数の初期化要求に対して共通化の初期化処理を行なうようにしたので、このような問題は生じないのである。
【0061】
また、各DS34からの初期化要求にはID番号を添付して、このID番号は、電源が同時にオンされたデバイスの初期化要求について同じ値となるようにしている。このため、電源が同時にオンされたデバイスについて、各DS34から異なるタイミングで初期化要求が送られてきても、これらデバイスについての初期化処理が共通に1回だけ実行されることとなり、これにより、初期化処理が正常に行なわれる確実性をより高めることができる。
【0062】
さらに、上記ID番号は、デバイスの電源がオンされる都度、これまでに生成されていない新規な値に設定されるので、電源のオン・オフが繰り返された場合にも、電源がオンされる都度、初期化処理を正常に実行することができる。
【0063】
なお、上記実施形態では、ホストコンピュータ12にはデバイスとしてプリンタ14、キャッシュドロワ16、およびMICR装置18が接続されるものとしたが、これに限らず、例えば、画像読み取り用のスキャナー等、他のデバイスが接続されてもよい。また、上記実施形態では、本発明がPOSシステムに適用された場合について説明したが、これに限らず、複数のデバイスを制御する制御システムにおいて各デバイスの初期化処理を行なう場合に広く適用が可能である。
【0064】
【発明の効果】
本発明によれば、複数のデバイスについての初期化要求に対して初期化処理を適正に行なうことができる。
【図面の簡単な説明】
【図1】 Java(登録商標)アプリケーションにより構築されたPOSシステム(Java(登録商標)POSシステム)のシステム構成図である。
【図2】 従来のJava(登録商標)POSシステムのシステム構成図である。
【図3】 本発明の一実施形態であるJava(登録商標)POSシステムのシステム構成図である。
【図4】 プリンタのシステム構成図である。
【図5】 ステータスデータの構成の例を示す図である。
【図6】 ASB機能設定コマンドのコマンドパラメータの構成を示す図である。
【図7】 本実施形態のJava(登録商標)POSシステムにおいて、各デバイスの電源がオンされた際に実行される処理の概要を説明するための図である。
【図8】 初期化クラスが実行する初期化処理のフローチャートである。
【符号の説明】
10 Java(登録商標)POSシステム
12 ホストコンピュータ
14 プリンタ
16 キャッシュドロワ
18 MICR装置
26 電源スイッチ
34(34a,34b,34c) デバイスサービスオブジェクト(DS)(第1のオブジェクト)
40 受信データ解析クラス(第3のオブジェクト)
42 初期化クラス(第2のオブジェクト)
Claims (13)
- 所定のオブジェクト指向言語で記述されたプログラムを実行可能なコンピュータシステムにより構成され、一のデバイスと該デバイスに接続された他のデバイスとからなる複数のデバイスを制御する制御システムにおいて前記複数のデバイスの初期化処理を実行する方法であって、
前記複数のデバイスの夫々に対応したオブジェクトの各々から対応するデバイスについての初期化要求を受け取る初期化要求受取ステップと、
前記オブジェクトの各々から受け取った同じ初期化要求IDが付された複数の前記初期化要求に対して一回の初期化処理を実行する初期化実行ステップと、
前記一回の初期化処理が終了した後、初期化処理の終了通知を前記初期化処理の要求元である前記オブジェクトの各々に送出する終了通知送出ステップとを備えることを特徴とする方法。 - 請求項1記載の方法において、
前記初期化要求は、前記一のデバイスの電源オンによる前記複数のデバイスの電源オンに応答して対応する前記オブジェクトの各々から発せられるものであり、
前記同じ初期化要求IDは、電源が同時にオンされた前記複数のデバイスの夫々に対応した前記オブジェクトの各々から発せられた前記初期化要求に付されていることを特徴とする方法。 - 請求項2記載の方法において、
前記複数のデバイスの電源オン時以外に前記オブジェクトの各々から前記初期化要求が発せられる場合には、当該初期化要求に前記同じ初期化要求IDとは異なる特定の初期化要求IDが付され、
前記初期化実行ステップは、前記特定の初期化要求IDが付された前記初期化要求については個別に初期化処理を実行することを特徴とする方法。 - 請求項1乃至3のうち何れか1項記載の方法において、前記複数のデバイスのうち少なくとも1つはプリンタであり、
前記初期化実行ステップは、前記プリンタの印字文字属性を設定するための文字属性設定処理を行なう文字属性設定ステップを含むことを特徴とする方法。 - 請求項4記載の方法において、
前記プリンタの印字文字属性の設定状態を保持する文字属性データを生成する文字属性データ生成ステップを備え、
前記文字属性設定ステップは、前記文字属性データに保持された設定状態に基づいて、前記プリンタの印字文字属性を設定することを特徴とする方法。 - 請求項5記載の方法において、前記文字属性データ生成ステップは、前記プリンタに対応する前記オブジェクトを起動する際に実行されることを特徴とする方法。
- 請求項1乃至6のうち何れか1項記載の方法において、前記オブジェクトの各々が初期化要求を発した後、初期化終了通知を受けるまで、前記オブジェクトの各々から対応する前記デバイスへのデータ送信を禁止することを特徴とする方法。
- 請求項1乃至7のうち何れか1項記載の方法において、前記所定のオブジェクト指向プログラミング言語はジャバ言語であることを特徴とする方法。
- 所定のオブジェクト指向言語で記述されたプログラムを実行可能なコンピュータシステムにより構成され、一のデバイスと該デバイスに接続された他のデバイスとからなる複数のデバイスを制御する制御システムであって、
前記複数のデバイスの夫々に対応した第1のオブジェクトの各々から対応するデバイスについての初期化要求を受け取る初期化要求受取手段と、
前記第1のオブジェクトの各々から受け取った同じ初期化要求IDが付された複数の前記初期化要求に対して一回の初期化処理を実行する初期化実行手段と、
前記一回の初期化処理が終了した後、初期化処理の終了通知を前記初期化要求の発信元である前記第1のオブジェクトの各々に送出する終了通知送出手段とを備えることを特徴とする制御システム。 - 請求項9記載の制御システムにおいて、初期化処理用の第2のオブジェクトを有し、該第2のオブジェクトが前記初期化要求受取手段、前記初期化実行手段、および、前記終了通知送出手段を備えていることを特徴とする制御システム。
- 請求項10記載の制御システムにおいて、
前記複数のデバイスは、前記一のデバイスの電源がオンされると前記他のデバイスの電源もオンされるように構成されており、
当該制御システムは、前記一のデバイスの電源オンに応答した信号を受け取ると前記第1のオブジェクトの各々に対応するデバイスの電源オンを通知する第3のオブジェクトを有し、
前記第1のオブジェクトの各々は、前記第3のオブジェクトから対応する前記デバイスの電源オンの通知を受けると、前記第2のオブジェクトに前記初期化要求を送出することを特徴とする制御システム。 - 所定のオブジェクト指向言語で記述されたプログラムを実行可能なコンピュータに、該コンピュータに接続された複数のデバイスの初期化処理を実行させるためのプログラムであって、前記コンピュータに、
前記複数のデバイスの夫々に対応したオブジェクトの各々から対応するデバイスについての初期化要求を受け取る初期化要求受取ステップと、
前記オブジェクトの各々から受け取った同じ初期化要求IDが付された初期化要求に対して一回の初期化処理を実行する初期化実行ステップと、
前記一回の初期化処理が終了した後、初期化処理の終了通知を前記初期化要求の発信元である前記オブジェクトの各々に送出する終了通知送出ステップとを実行させることを特徴とするプログラム。 - 請求項12記載のプログラムを記録したことを特徴とするコンピュータ読取可能な記録媒体。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001398530A JP3985135B2 (ja) | 2001-12-27 | 2001-12-27 | 制御システムにおけるデバイス初期化方法、制御システム、コンピュータにデバイス初期化方法を実行させるためのプログラム、このプログラムを記録した記録媒体 |
DE60221631T DE60221631T2 (de) | 2001-12-27 | 2002-12-19 | Verfahren zur Initialisierung von mehreren Geräten und ein Steuerungssystem zur Steuerung von mehreren Geräten |
ES02028166T ES2287217T3 (es) | 2001-12-27 | 2002-12-19 | Metodo de iniciacion de multiples dispositivos y un sistema de control para controlar multiples dispositivos. |
EP02028166A EP1324196B1 (en) | 2001-12-27 | 2002-12-19 | Method of initializing multiple devices and a control system for controlling multiple devices |
AT02028166T ATE369585T1 (de) | 2001-12-27 | 2002-12-19 | Verfahren zur initialisierung von mehreren geräten und ein steuerungssystem zur steuerung von mehreren geräten |
US10/325,067 US20030135664A1 (en) | 2001-12-27 | 2002-12-20 | Device initialization method in a control system, a control system, a program for running the device initialization method on a computer, and a recording medium storing this program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001398530A JP3985135B2 (ja) | 2001-12-27 | 2001-12-27 | 制御システムにおけるデバイス初期化方法、制御システム、コンピュータにデバイス初期化方法を実行させるためのプログラム、このプログラムを記録した記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003195984A JP2003195984A (ja) | 2003-07-11 |
JP3985135B2 true JP3985135B2 (ja) | 2007-10-03 |
Family
ID=19189357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001398530A Expired - Fee Related JP3985135B2 (ja) | 2001-12-27 | 2001-12-27 | 制御システムにおけるデバイス初期化方法、制御システム、コンピュータにデバイス初期化方法を実行させるためのプログラム、このプログラムを記録した記録媒体 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20030135664A1 (ja) |
EP (1) | EP1324196B1 (ja) |
JP (1) | JP3985135B2 (ja) |
AT (1) | ATE369585T1 (ja) |
DE (1) | DE60221631T2 (ja) |
ES (1) | ES2287217T3 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4524912B2 (ja) * | 2000-12-20 | 2010-08-18 | セイコーエプソン株式会社 | 端末装置及びその制御方法 |
US7295333B2 (en) * | 2003-07-09 | 2007-11-13 | Ricoh Company, Ltd. | Printing device with installable data conversion function |
US20050261969A1 (en) * | 2004-05-10 | 2005-11-24 | International Business Machines Corporation | Layered architecture for POS (point-of sale) systems |
JP6680004B2 (ja) * | 2016-03-11 | 2020-04-15 | セイコーエプソン株式会社 | 印刷装置、及び、印刷装置の制御方法 |
CN108665654A (zh) * | 2018-05-18 | 2018-10-16 | 任飞翔 | 收银信息同步方法及收银系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5546595A (en) * | 1993-12-21 | 1996-08-13 | Taligent, Inc. | Object-oriented system using objects representing hardware devices, physical connectors and connections between the physical connectors for configuring a computer |
JP3088269B2 (ja) * | 1995-07-26 | 2000-09-18 | 日本電気通信システム株式会社 | コンピュータネットワークシステム及びそのオペレーティングシステムの版数管理方法 |
EP0762273B1 (en) * | 1995-09-06 | 2002-05-15 | Seiko Epson Corporation | Peripheral device control system using a plurality of objects |
US6003065A (en) * | 1997-04-24 | 1999-12-14 | Sun Microsystems, Inc. | Method and system for distributed processing of applications on host and peripheral devices |
JP3264215B2 (ja) * | 1997-06-05 | 2002-03-11 | 富士ゼロックス株式会社 | 画像形成装置およびその初期化方法並びに画像形成装置の初期化プログラムを記録した媒体 |
US5938765A (en) * | 1997-08-29 | 1999-08-17 | Sequent Computer Systems, Inc. | System and method for initializing a multinode multiprocessor computer system |
AU2210399A (en) * | 1997-12-31 | 1999-07-19 | Alcatel Usa Sourcing, L.P. | Method of common initialization of computing tasks |
US6603937B2 (en) * | 2000-07-18 | 2003-08-05 | Sharp Kabushiki Kaisha | Image forming apparatus |
US20030182414A1 (en) * | 2003-05-13 | 2003-09-25 | O'neill Patrick J. | System and method for updating and distributing information |
US8126959B2 (en) * | 2001-06-28 | 2012-02-28 | International Business Machines Corporation | Method and system for dynamic redistribution of remote computer boot service in a network containing multiple boot servers |
-
2001
- 2001-12-27 JP JP2001398530A patent/JP3985135B2/ja not_active Expired - Fee Related
-
2002
- 2002-12-19 ES ES02028166T patent/ES2287217T3/es not_active Expired - Lifetime
- 2002-12-19 DE DE60221631T patent/DE60221631T2/de not_active Expired - Lifetime
- 2002-12-19 EP EP02028166A patent/EP1324196B1/en not_active Expired - Lifetime
- 2002-12-19 AT AT02028166T patent/ATE369585T1/de not_active IP Right Cessation
- 2002-12-20 US US10/325,067 patent/US20030135664A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JP2003195984A (ja) | 2003-07-11 |
DE60221631T2 (de) | 2008-05-21 |
EP1324196A2 (en) | 2003-07-02 |
DE60221631D1 (de) | 2007-09-20 |
ATE369585T1 (de) | 2007-08-15 |
ES2287217T3 (es) | 2007-12-16 |
EP1324196A3 (en) | 2005-01-19 |
US20030135664A1 (en) | 2003-07-17 |
EP1324196B1 (en) | 2007-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5905906A (en) | Method and apparatus for configuring multiple printers on a network | |
US7895609B2 (en) | Method for installing driver software, information processing apparatus that employs the method, computer program for performing the method, and storage medium for storing the computer program | |
US20030184782A1 (en) | Printer driver configured to dynamically receive printer self-description | |
US20030088866A1 (en) | Device-based model for software driver delivery and upgrade | |
CN107256134B (zh) | 将pos终端虚拟为计算机打印机的方法和装置、pos终端 | |
JP2002268847A (ja) | プリント・ジョブをカスタム化するためのプリント・システムおよび方法 | |
US8681368B2 (en) | Method for delivering radio frequency identification device control and data signals | |
US6897972B1 (en) | Printing method having auto retreat function of print data and medium for storing program for executing the printing method | |
US8355144B2 (en) | Apparatus and method of changing printer driver, and printing system and method using the same | |
US6676309B2 (en) | Printer having function of administrating print job and method for administrating print job | |
JP3985135B2 (ja) | 制御システムにおけるデバイス初期化方法、制御システム、コンピュータにデバイス初期化方法を実行させるためのプログラム、このプログラムを記録した記録媒体 | |
JP3847970B2 (ja) | 印刷データ処理装置、印刷データ処理方法及び記録媒体 | |
US20030025932A1 (en) | Printing system in which programs required for printer operation are downloaded from computer | |
JPH10177464A (ja) | 印刷制御装置 | |
JP4198154B2 (ja) | 印刷制御用プログラムを格納した電子計算機、そのプログラム及びプログラム記録媒体 | |
KR100611189B1 (ko) | 드라이버정보의 사전 전송을 통해 프린팅 오동작을예측하는 인쇄시스템 및 그 방법 | |
US9507553B2 (en) | Image forming apparatus, image forming control apparatus, image forming system and image forming control program | |
JP3159875B2 (ja) | 印刷方法及びその装置、及び印刷システム | |
JPH10283129A (ja) | 印刷制御装置及び印刷制御プログラムのインストール方法及び記憶媒体 | |
JPH07104955A (ja) | 印刷装置 | |
JPH08185295A (ja) | 印刷装置およびその制御方法 | |
JP3097558B2 (ja) | 印刷制御方法及び印刷装置 | |
US20040252334A1 (en) | Communication control device and method for image forming system | |
JP3810238B2 (ja) | プリントジョブ管理装置およびプリントジョブ管理方法並びにプログラムを記録した記録媒体 | |
JPH1097395A (ja) | 印刷制御装置および印刷装置の印刷制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041216 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061114 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070112 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20070112 |
|
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: 20070613 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070626 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100720 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110720 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110720 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120720 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120720 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130720 Year of fee payment: 6 |
|
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 |