JP5906620B2 - 制御装置の制御方法 - Google Patents

制御装置の制御方法 Download PDF

Info

Publication number
JP5906620B2
JP5906620B2 JP2011195746A JP2011195746A JP5906620B2 JP 5906620 B2 JP5906620 B2 JP 5906620B2 JP 2011195746 A JP2011195746 A JP 2011195746A JP 2011195746 A JP2011195746 A JP 2011195746A JP 5906620 B2 JP5906620 B2 JP 5906620B2
Authority
JP
Japan
Prior art keywords
printer
control
application program
calls
character code
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.)
Active
Application number
JP2011195746A
Other languages
English (en)
Other versions
JP2013058065A5 (ja
JP2013058065A (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 JP2011195746A priority Critical patent/JP5906620B2/ja
Priority to CN201210250667.8A priority patent/CN102915215B/zh
Priority to US13/561,605 priority patent/US9110615B2/en
Publication of JP2013058065A publication Critical patent/JP2013058065A/ja
Publication of JP2013058065A5 publication Critical patent/JP2013058065A5/ja
Application granted granted Critical
Publication of JP5906620B2 publication Critical patent/JP5906620B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、プリンター等のデバイスを制御する制御装置の制御方法、及び、プログラムに関する。
オブジェクト指向プログラミングによるコンポーネントベースのプログラムあるいはソフトウェア(以降においてはオブジェクト)は、オペレーティングシステム上で稼動する再利用可能なソフトウェアであり、オブジェクトを用いて多種多様なシステムが開発されている。例えば、マイクロソフト(登録商標)社が提供する.NET Frameworkを基盤としたオペレーティングシステム(OS)では、クライアントであるアプリケーションプログラム(コンテナアプリケーション)がオブジェクトを使用可能とする環境を提供する広範囲な機能を有するオペレーティングシステムである。
例えば、POSシステムは多種多様な周辺装置により組み立てられるシステムの1つであり、パーソナルコンピューターなどの中心となるホストコンピューターにディスプレイ、プリンター、スキャナー、ドロワー、カードリーダーなど様々な入デバイスが接続されることによりシステムが構築される(例えば、特許文献1参照)。特許文献1には、オブジェクトを用い構築されたPOSシステムであってパーソナルコンピューターベースのフレキシブルな構成のPOSシステムが開示されている。
オブジェクト分散型のPOSシステムでは、様々なメーカーにより提供されるPOSアプリケーションプログラムと、プリンター、スキャナー、ドロワーなどの周辺装置(デバイス)の種類単位(デバイスクラス単位)に供給されるコントロールオブジェクトと、周辺装置毎、すなわち、デバイス毎に供給されるサービスオブジェクトとを備えている。例えばPOSアプリケーションプログラムがプリンターから出力するときは、データがプリンターのコントロールオブジェクト(CO)に渡され、さらに、出力するプリンターのメーカーおよび機種に対応したサービスオブジェクト(SO)に渡され、OSを介してプリンターに供給される。
OPOS(OLE for Retail POS)システムでは、POSアプリケーションプログラムに対して、OPOS標準仕様に準拠したデバイスクラス毎のコントロールオブジェクトおよびサービスオブジェクトを備えたオブジェクト制御システムが、アプリケーションプログラムに対して標準化されたインターフェースを提供するとともに、プリンターなどの周辺機器に対して機種依存性のないインターフェースを提供する。アプリケーションプログラムがデバイスクラス毎に定義されたメソッドを呼び出すと、コントロールオブジェクトがサービスオブジェクトのメソッドを、デバイスの機種に依存しないインターフェース(例えば、マイクロソフト社のIDispatchインターフェース)を介して呼び出す。サービスオブジェクトはOSが提供するデバイス毎のデバイスドライバーを利用してリクエストを実行し、実行結果をイベントとしてコントロールオブジェクトを通じてアプリケーションプログラムに通知する。
コントロールオブジェクトは、周辺機器のデバイスクラス毎に詳細な仕様が規定されていて、実質的にOPOS仕様により標準化されているが、一方のサービスオブジェクトは個々のデバイスの仕様に合わせて開発される。
特開平9−106355号公報
ところで、デバイスの仕様変更や新機種開発にあたっては、当然のことながら変更後のデバイスに適合したサービスオブジェクトを開発する必要があるが、デバイスの多機能化によってコントロールオブジェクトが呼び出すメソッドはきわめて多く、その全てに対応するようにサービスオブジェクトを新規に開発することは大きな労力を要する。
本発明は、上述した事情に鑑みてなされたものであり、デバイス制御プログラムにおいてデバイスに依存するオブジェクトの開発に係る労力の軽減を図ることを目的とする。
上記目的を達成するために、本発明は、デバイスの機能に対応する第1のメソッドを呼び出す第1のオブジェクト、前記第1のメソッドを起動して処理を実行する第2のオブジェクト、及び前記第1のオブジェクトと前記第2のオブジェクトとの間に介在する第3のオブジェクトを有し、前記第1のオブジェクトが前記第1のメソッドを呼び出したときに前記第3のオブジェクトが呼び出され、前記第3のオブジェクトにより前記第2のオブジェクトを呼び出すか否かを判別し、前記第1のメソッドに対して前記第2のオブジェクトが対応していない場合、前記第3のオブジェクトが、第2のメソッドを起動して処理を実行し、前記第2のメソッドで処理を実行した後に前記第2のオブジェクトに対して前記第1のメソッドを呼び出させ、前記第2のオブジェクトが前記第1のメソッドを起動して処理を実行し、前第1のメソッドに対して前記第2のオブジェクトが対応する場合、前記第3のオブジェクトが前記第2のオブジェクトに対して前記第1のメソッドを呼び出させ、前記第2のオブジェクトが前記第1のメソッドを起動して処理を実行することを特徴とする。
本発明によれば、アプリケーションプログラムが出力するデータに基づいてデバイスを制御する制御装置が、第2のオブジェクトが対応していない一部のメソッドが呼び出された場合に第3のオブジェクトにより処理を実行できる。これにより、第2のオブジェクトが有する全てのメソッドがデバイスに適合していない場合であっても、この第2のオブジェクトを利用してデバイスを制御できる。従って、第2のオブジェクトの機能の一部について変更や拡張が容易になるため、例えばデバイスの仕様変更や新機種開発等にあたって第2のオブジェクトの全体を新規に作成しなくても、旧来の第2のオブジェクトの資産を利用して必要なシステムを構築できる。
また、本発明は、上記制御装置の制御方法において、前記第3のオブジェクトは、前記第2のオブジェクトが前記第1のオブジェクトに対し提供するンターフェースに介在る。
本発明によれば、第2のオブジェクト及び第1のオブジェクトの構成に影響を与えないように、第2のオブジェクトを補完できる。
また、本発明は、上記制御装置の制御方法において、前記第1のオブジェクトは前記デバイスに対して提供されるコントロールオブジェクトであり、前記第2のオブジェクトは前記デバイスの機種対して提供されるサービスオブジェクトである
本発明によれば、例えばデバイスの仕様変更や新機種のデバイスの開発にあたって、当該デバイスの種類に対応するコントロールオブジェクトに対する互換性を確保した上で、デバイス毎に用意されるサービスオブジェクトの機能を補完することで、旧来のサービスオブジェクトの資産を利用できる。
また、本発明は、上記制御装置の制御方法において、前記制御装置は、前記第1のオブジェクトに前記第1のメソッドを呼び出すPOSアプリケーションプログラムを有し、前記第1のオブジェクトは、前記POSアプリケーションプログラムの要求に応じてプリンターを制御するコントロールオブジェクトであり、前記第2のオブジェクトは、前記POSアプリケーションプログラムの要求に応じてプリンターを制御するサービスオブジェクトであり、前記第1のメソッドは、所定の文字コードセットのプリントメソッドであり、前記第3のオブジェクトの第2のメソッドは、前記第1のオブジェクトが前記所定の文字コードセットのプリントメソッドを呼び出した場合に、前記所定の文字コードセットから他の文字コードセットへの変換を行う。
本発明によれば、第2のオブジェクトが文字コードの変換機能を持たない場合であっても、この変換機能を第3のオブジェクトが補完することで、第2のオブジェクトが対応していない文字コードセットのデータを処理できる。
また、本発明は、上記制御装置の制御方法において、前記所定の文字コードセットはunicodeであり、前記他の文字コードセットはバイトコードである。
アプリケーションからUnicodeで指定された文字が送られて来たとき、デバイスであるプリンターがUnicodeに対応していない場合、第3のオブジェクトがバイトコードに変換して印刷することができる。
また、本発明は、上記制御装置の制御方法において、前記第1のオブジェクトはOPOS準拠のコントロールオブジェクトである
本発明によれば、OPOSに準拠したサービスオブジェクトの機能を、OPOS準拠のコントロールオブジェクトに影響を与えることなく補完できる。
また、上記目的を達成するために、本発明は、複数種類のデバイスを制御可能なアプリケーションプログラムに対し前記デバイスの種類毎のインターフェースを提供する第1のオブジェクトと、前記第1のオブジェクトに対し前記デバイスの種類毎のインターフェースを提供するとともに前記デバイス単位の処理を実行する第2のオブジェクトとを、オペレーティングシステムの下で動作させ、前記第1のオブジェクトが呼び出す少なくとも一部のメソッドについては前記第2のオブジェクトに代わって第3のオブジェクトにより処理を実行し、実行後の結果に基づき前記第2のオブジェクトのメソッドを呼び出す一方、前記第1のオブジェクトが他のメソッドを呼び出した場合は前記第2のオブジェクトのメソッドを呼び出すことを特徴とする。
本発明の制御方法を実行することにより、アプリケーションプログラムが出力するデータに基づいてデバイスを制御する制御装置が、第2のオブジェクトが対応していない一部のメソッドが呼び出された場合に第3のオブジェクトにより処理を実行できる。これにより、第2のオブジェクトが有する全てのメソッドがデバイスに適合していない場合であっても、この第2のオブジェクトを利用してデバイスを制御できる。従って、第2のオブジェクトの機能の一部について変更や拡張が容易になるため、例えばデバイスの仕様変更や新機種開発等にあたって第2のオブジェクトの全体を新規に作成しなくても、旧来の第2のオブジェクトの資産を利用して必要なシステムを構築できる。
また、上記目的を達成するために、本発明は、複数種類のデバイスを制御可能なアプリケーションプログラムと、前記アプリケーションプログラムに対してインターフェースを提供するオブジェクトを、オペレーティングシステムの下で実行するコンピューターを、複数種類のデバイスを制御可能なアプリケーションプログラムに対し前記デバイスの種類毎のインターフェースを提供する第1のオブジェクトと、前記第1のオブジェクトに対し前記デバイスの種類毎のインターフェースを提供するとともに前記デバイス単位の処理を実行する第2のオブジェクトと、前記第1のオブジェクトが呼び出す少なくとも一部のメソッドについては前記第2のオブジェクトに代わって処理を実行し、実行後の結果に基づき前記第2のオブジェクトのメソッドを呼び出す一方、前記第1のオブジェクトが他のメソッドを呼び出した場合は前記第2のオブジェクトのメソッドを呼び出す第3のオブジェクトとして機能させることを特徴とする。
本発明のプログラムを実行することにより、アプリケーションプログラムが出力するデータに基づいてデバイスを制御する制御装置が、第2のオブジェクトが対応していない一部のメソッドが呼び出された場合に第3のオブジェクトにより処理を実行できる。これにより、第2のオブジェクトが有する全てのメソッドがデバイスに適合していない場合であっても、この第2のオブジェクトを利用してデバイスを制御できる。従って、第2のオブジェクトの機能の一部について変更や拡張が容易になるため、例えばデバイスの仕様変更や新機種開発等にあたって第2のオブジェクトの全体を新規に作成しなくても、旧来の第2のオブジェクトの資産を利用して必要なシステムを構築できる。
また、本発明は、上記プログラムを記憶した記憶媒体として実現してもよい。
本発明によれば、アプリケーションプログラムが出力するデータに基づいてデバイスを制御する制御装置において、例えばデバイスの仕様変更や新機種開発等にあたってオブジェクトの全体を新規に作成しなくても、旧来の資産を利用して必要なシステムを構築できる。
実施形態に係るPOSシステムの機能的構成を示すブロック図である。 OPOSドライバーの構成を示す図である。 OPOSドライバーの具体的な動作例を示す図である。 POSシステムの動作を示すフローチャートである。
以下、図面を参照して本発明の実施形態について説明する。
図1は、本発明を適用した実施形態に係るPOSシステム1の概要構成を示すブロック図である。
POSシステム1は、図示しないPOSサーバーに通信回線を介して接続されたホストコンピューター10(制御装置)を備え、このホストコンピューター10には、ディスプレイ51、キーボード52、プリンター53、スキャナー54、及びドロワー55の各種デバイスが接続されている。
ホストコンピューター10は、プリンター53とともにスーパーやコンビニエンス・ストア等の店舗において、ユーザーが会計処理をする近くに設置され、オペレーターによって入力された商品販売に関する入力情報に基づいてレシートを発行する。プリンター53は、直接ホストコンピューター10に接続されるローカルプリンターであり、プリンター53とインターフェースを介して有線又は無線で接続され、図1にはコネクターを介して有線接続された例を示す。ホストコンピューター10は、顧客に渡すクーポンやキッチンでの調理指示用の伝票などを印刷するための1または複数のプリンター53を制御し、ホストコンピューター10が生成した印刷データに基づいて、レシートや伝票を印刷出力させる。
ホストコンピューター10は、商品情報を入力する入力デバイスとしてキーボード52及びスキャナー54を備え、キーボード52による入力またはスキャナー54による商品のバーコードの読み取り結果によって商品に関する入力情報を取得する。POSサーバー(図示略)は、ホストコンピューター10が送信する入力情報に基づいて、商品マスタから商品コード、商品名、金額に関する情報を抽出して返信する。
ホストコンピューター10は、POSサーバーから受信した情報に基づき、レシートや伝票の印刷を実行する。また、ホストコンピューター10は、POSサーバーから送信された商品データを元に生成した商品情報を表示するディスプレイ51を有し、このディスプレイ51における表示によって、顧客に対して購入商品の金額等を掲示する。ドロワー55は、商品販売に伴い授受される金銭を収容し、ホストコンピューター10により会計処理がされる毎に開閉される。
ホストコンピューター10は、例えば、マイクロソフト社が提供する.NET Frameworkを基盤とした、ウィンドウズ(登録商標)等のオペレーティングシステム12を実行し、このオペレーティングシステム12上でPOSアプリケーションプログラム11、及びOPOSドライバー20を稼働させる。OPOSドライバー20は、オペレーティングシステム12上で稼動するプリンタードライバーOLE for Retail POS(以下OPOSドライバーという)であって、オペレーティングシステム12上で各種デバイスを制御する。
OPOSドライバー20は、オペレーティングシステム12上で稼動するPOSアプリケーションプログラム11に対して、プリンター53、スキャナー54、及びドロワー55の各デバイスとの機種依存性のないインターフェースを提供するものであり、プリンターなどデバイスのカテゴリー毎に対応したコントロールオブジェクト(CO)とデバイスの機種毎の仕様に対応したサービスオブジェクト(SO)とによって構成されている。コントロールオブジェクトは、OPOSにより規格化された仕様に準拠して作成されたもので、通常、オペレーティングシステム12とともにPOSシステムのプラットホームの一部として提供される。
これに対し、サービスオブジェクトはプリンター53、スキャナー54及びドロワー55の機種毎に開発、作成されるもので、各デバイスのメーカー等により提供される。サービスオブジェクトは各デバイスの機種間で異なる機能や仕様に合わせて異なった機能を有しており、デバイスの機種毎の特性に合わせた制御を行う。例えば、プリンターCO21は、オペレーティングシステム12による分類に従って、POSアプリケーションプログラム11に対してプリンターのデバイスカテゴリーに属するデバイスに共通のインターフェースを提供する。プリンターCO21(第1のオブジェクト)は、OPOS仕様に準拠した方法により、POSアプリケーションプログラム11が出力したデータに基づいて、プリンターSO22のメソッドを呼び出す。プリンターSO22(第1のオブジェクト)は、プリンター53の機種に適合するように作成され、プリンターCO21によりメソッドが呼び出されると処理を実行し、プリンター53を制御し、処理結果をイベントとしてプリンターCO21に通知する。
また、OPOSドライバー20は、スキャナー54のデバイスカテゴリーに対応したスキャナーCO41と、スキャナー54の機種に対応して用意されたスキャナーSO42とを備え、これらによりスキャナー54の制御とバーコードの読み取りを可能としている。OPOSドライバー20は、ドロワー55のデバイスカテゴリーに対応したドロワーCO43と、ドロワー55の機種に対応して用意されたドロワーSO44とを備え、これらによりドロワーSO44の開閉制御を可能としている。ディスプレイ51及びキーボード52は、オペレーティングシステム12が提供するデバイスドライバーにより、POSアプリケーションプログラム11から制御可能となっている。
なお、ホストコンピューター10は、入力デバイスとして、カード型記録媒体に記録された磁気情報を読み取るカードリーダーを備えていてもよく、この場合、OPOSドライバー20は、カードリーダーのデバイスカテゴリーに対応するコントロールオブジェクト及びカードリーダーの機種に対応するサービスオブジェクトを備えた構成とすればよい。
図2は、OPOSドライバー20の概念的な構成を詳細に示す図である。
この図2に示すように、プリンターSO22は、プリンターCO21からのメソッドの呼び出しやデータを受け取るためのインターフェースとして、IDispatchインターフェース23を提供する。プリンターSO22が実現するプリンター53の制御に係る様々な処理は、処理の種類(機能)毎に区分され、各機能に対応するメソッド24がある。また、それらに対応するIDispatchインターフェース23が設けられている。IDispatchインターフェースは、マイクロソフト社がオブジェクト間の通信のために提供するインターフェースである。例えば、プリンターCO21が、プリンターSO22の機能Bを実行させる場合、この機能Bを含むメソッド24が、そのメソッド24に対応するIDispatchインターフェース23を介して呼び出されて起動する。
ところで、プリンターSO22はプリンター53の様々な機能に対応してメソッド24を備えているため、プリンター53の機能や設定項目が複雑であるほどプリンターSO22の構成も複雑化する。例えば、一般的なサーマルプリンターに対応するサービスオブジェクトが、100を超えるメソッドに対応していることも珍しくない。
プリンターの新機種の開発、或いは従来機種の仕様変更を行う場合、プリンターSO22の開発も必要になるが、例えば従来使用していたプリンターSO22に対して一部の機能のみを変更あるいは追加すれば済む場合がある。しかしながら、プリンターSO22においては、各々の機能を備える必要があり、また、IDispatchインターフェース23の構成とプリンターSO22の機能との整合が保たれることが必要である。上述したようにプリンターCO21はデバイスカテゴリー毎に共通のものを使用することになっている。
そこで、本実施形態のOPOSドライバー20は、プリンターCO21とプリンターSO22に加え、ラッパーSO30(第3のオブジェクト)を備え、このラッパーSO30によりプリンターSO22の機能を補完する構成となっている。
ラッパーSO30は、プリンターCO21とプリンターSO22との間に介在し、プリンターSO22がプリンターCO21に対して提供するIDispatchインターフェース23への呼び出しを検出する。ここで、ラッパーSO30は、プリンターCO21に対してIDispatchインターフェース23と同様に識別されるIDispatchインターフェース31を備えており、プリンターCO21がプリンターSO22のメソッドを呼び出すと、IDispatchインターフェース31を介してラッパーSO30が呼び出される。
ラッパーSO30は、特定の機能に関するメソッド32を有している。このメソッド32は、プリンターSO22が有していない機能や、プリンターSO22の機能を改良、拡張、変更した機能に対応している。ラッパーSO30は、プリンターCO21からの呼び出しに対し、ラッパーSO30自身が有するメソッド32が制御を行うか、或いは、プリンターSO22のメソッド24を呼び出すかを判別する。そして、プリンターSO22のメソッド24で処理すればよい場合には、プリンターCO21からの呼び出しを、IDispatchインターフェース23に対して行う。プリンターSO22のメソッドからイベントが通知された場合、ラッパーSO30はIDispatchインターフェース31を介して、プリンターCO21に対してイベントを通知する。また、ラッパーSO30は、ラッパーSO30のメソッド32を実行した場合には、その結果をイベントとしてプリンターCO21に通知する機能を有する。
このように、ラッパーSO30は、プリンターSO22で実行すべきで無いメソッドが呼び出された場合に、プリンターSO22に代わって当該メソッドを実行するものであり、ラッパーSO30を用いることでプリンターSO22の機能の追加、拡張、改変等を実現できる。また、ラッパーSO30はIDispatchインターフェース31を備え、プリンターCO21からはプリンターSO22の一部のように振る舞うため、プリンターCO21の仕様変更や改変等を伴わずに適用できるという利点がある。
図3は、OPOSドライバー20の具体的な動作例を示す図であり、(A)はラッパーSO30がプリンターSO22のメソッドを呼び出す場合を示し、(B)はラッパーSO30のメソッドが呼び出される場合を示す。
図3(A)に示すように、POSアプリケーションプログラム11が、コードページを指定するデータで構成される文字データとともに、「PrintNormal」メソッドを呼び出すと、プリンターCO21は、プリンターSO22に対して「PrintNormal」メソッドの呼び出しを行う。POSアプリケーションプログラム11が出力したデータはプリンター53が内蔵するフォントデータの中から文字を指定する情報であり、このデータの形態がコードページを指定する情報となっているため、プリンター53は当該データに基づいて一つのフォントを取得して印刷できる。この場合、ラッパーSO30は、この呼び出しをプリンターSO22が実行可能であると判別して、プリンターSO22の「PrintNormal」メソッドを呼び出し、プリンター53を制御させる。
一方、図3(B)に示すように、POSアプリケーションプログラム11がUnicodeで文字を指定するデータとともに、「PrintNormal」メソッドを呼び出し、プリンターCO21がプリンターSO22の「PrintNormal」メソッドの呼び出しを行った場合、ラッパーSO30は、この呼び出しをプリンターSO22が実行できないと判別して、ラッパーSO30が備えるMBCS(Multibyte Character Set)/Unicodeの変換を行うメソッド32を呼び出す。これは、プリンター53、及びプリンターSO22がUnicodeに対応していないため、プリンターSO22のメソッドを呼び出しても印刷できないためである。ラッパーSO30は、呼び出したメソッドによりPOSアプリケーションプログラム11が出力したデータの文字コードセットを変換して、マルチバイトコードの文字データを生成し、このデータに基づきプリンターSO22の「PrintNormal」メソッドを呼び出す。これにより、プリンターSO22の制御によって印刷が実行される。
図4は、POSシステム1の動作を示すフローチャートである。
この図4を参照して、POSシステム1の動作の流れについてまとめると、POSアプリケーションプログラム11が印刷すべきデータと、印刷を実行させるため「PrintNormal」メソッドを呼び出すと(ステップS11)、プリンターCO21がメソッドを呼び出す(ステップS12)。
ラッパーSO30は、プリンターCO21が呼び出したメソッドをプリンターSO22に対して呼び出すか、ラッパーSO30自身が有するメソッド32で実行するかを判別し(ステップS13)、ラッパーSO30自身が実行する場合(ステップS13;Yes)、メソッド32を呼び出して処理を行い、処理後のデータに基づいてプリンターSO22のメソッド24を呼び出す(ステップS14)。また、ラッパーSO30自身が有するメソッドを実行しない場合(ステップS13;No)、プリンターSO22のメソッド24を呼び出す(ステップS16)。
その後、プリンターSO22がプリンター53を制御して印刷を実行し(ステップS15)、印刷の正常終了を示すイベントを通知して、本処理を終了する。
以上のように、本発明を適用した実施形態に係るPOSシステム1は、プリンター53を含む複数種類のデバイスを制御可能なPOSアプリケーションプログラム11に対しデバイスの種類毎のインターフェースを提供するプリンターCO21と、プリンターCO21に対しデバイスの種類毎のインターフェースを提供するとともにデバイス単位の処理を実行するプリンターSO22とを有し、これらのオブジェクトがオペレーティングシステム12の下で動作するホストコンピューター10は、プリンターCO21が呼び出す少なくとも一部のメソッドについてはプリンターSO22に代わって処理を実行し、実行後の結果に基づきプリンターSO22のメソッドを呼び出す一方、プリンターCO21が他のメソッドを呼び出した場合はプリンターSO22のメソッドを呼び出すラッパーSO30を有し、プリンターSO22が対応していない一部のメソッドが呼び出された場合にラッパーSO30により処理を実行する。これにより、プリンターSO22が有する全てのメソッドがデバイスに適合していない場合であっても、このプリンターSO22を利用してデバイスを制御できる。従って、プリンターSO22の機能の一部について変更や拡張が容易になるため、例えばデバイスの仕様変更や新機種開発等にあたってプリンターSO22の全体を新規に作成しなくても、旧来のプリンターSO22の資産を利用して必要なシステムを構築できる。
また、ラッパーSO30は、プリンターSO22がプリンターCO21に対し提供するインターフェースに介在して、プリンターCO21により呼び出されたメソッドを実行し、インターフェースを介してプリンターSO22のメソッドを呼び出すので、プリンターSO22及びプリンターCO21の構成に影響を与えないように、プリンターSO22を補完できる。ここで、プリンターCO21はパーソナルコンピューターのデバイスの種類毎に提供されるコントロールオブジェクトであり、プリンターSO22はデバイス毎に提供されるサービスオブジェクトであるため、例えばデバイスの仕様変更や新機種のデバイスの開発にあたって、当該デバイスの種類に対応するコントロールオブジェクトに対する互換性を確保した上で、デバイス毎に用意されるサービスオブジェクトの機能を補完することで、旧来のサービスオブジェクトの資産を利用できる。
また、プリンターCO21及びプリンターSO22は、POSアプリケーションプログラム11の要求に応じてプリンターを制御するオブジェクトとして構成され、ラッパーSO30は、プリンターCO21が所定の文字コードセットのプリントメソッドを呼び出した場合に、所定の文字コードセットから他の文字コードセットへの変換を行い、変換後の文字コードセットに基づきプリンターSO22のプリントメソッドを呼び出すので、プリンターSO22が文字コードの変換機能を持たない場合であっても、この変換機能をラッパーSO30が補完することで、プリンターSO22が対応していない文字コードセットのデータを処理できる。
さらに、プリンターCO21はOPOS準拠のコントロールオブジェクトとして構成され、プリンターSO22がプリンターCO21に対し提供するインターフェースはIDispatchインターフェースとして構成され、ラッパーSO30は、プリンターCO21に対しIDispatchインターフェースを提供する一方、プリンターSO22のIDispatchインターフェースを介してプリンターSO22のメソッドを呼び出すので、OPOSに準拠したサービスオブジェクトの機能を、OPOS準拠のコントロールオブジェクトに影響を与えることなく補完できる。
なお、上記各実施形態は本発明を適用した一具体例を示すものであり、本発明はこれに限定されるものではない。例えば、POSシステム1が備えるデバイスはディスプレイ51、キーボード52、プリンター53、スキャナー54及びドロワー55に限定されず、他のデバイスを使用することが可能であるし、例えばホストコンピューター10が複数台のプリンター53を制御して印刷を実行させる場合に本発明を適用することも可能である。また、上記実施形態ではプリンター53を制御するプリンターSO22の機能を補完するためラッパーSO30を設けた構成を例に挙げて説明したが、例えばスキャナーSO42やドロワーSO44の機能の拡張、変更等を行うために、スキャナー54やドロワー55に対応するラッパーSOを設けることも可能である。
さらに、本発明はオペレーティングシステム12上で実行される全てのアプリケーションプログラムに対してインターフェースを提供するオブジェクトを対象として、適用することが可能であり、アプリケーションプログラムはPOSアプリケーションプログラムに限定されないし、制御対象のデバイスも上述したように特に限定されない。
また、図1〜図3に示した各機能部は機能的構成を示すものであって、各機能部を独立したハードウェアにより構成する必要はなく、ソフトウェアとハードウェアとの協働により、複数の機能部の機能を1つのハードウェアに集約して実現することも、一つの機能部を複数のハードウェアにより実現することも勿論可能である。また、上述の動作を行うホストコンピューター10が実行するプログラムは、ホストコンピューター10を構成するROM等の不揮発性記憶装置が記憶する構成に限らず、可搬型の記録媒体に記憶されている構成であってもよいし、或いは、通信回線を介して接続された他の装置にダウンロード可能に記憶され、これらの装置からホストコンピューター10が上記プログラムをダウンロードして実行してもよく、その他の構成についても任意に変更可能である。
1…POSシステム、10…ホストコンピューター(制御装置)、11…POSアプリケーションプログラム、12…オペレーティングシステム、20…OPOSドライバー、21…プリンターCO(第1のオブジェクト)、22…プリンターSO(第2のオブジェクト)、23…IDispatchインターフェース23、24…メソッド、30…ラッパーSO(第3のオブジェクト)、31…IDispatchインターフェース、32…メソッド、41…スキャナーCO、42…スキャナーSO、43…ドロワーCO、44…ドロワーSO、53…プリンター(デバイス)、54…スキャナー(デバイス)、55…ドロワー(デバイス)。

Claims (6)

  1. デバイスの機能に対応する第1のメソッドを呼び出す第1のオブジェクト、前記第1のメソッドを起動して処理を実行する第2のオブジェクト、及び前記第1のオブジェクトと前記第2のオブジェクトとの間に介在する第3のオブジェクトを有し、
    前記第1のオブジェクトが前記第1のメソッドを呼び出したときに前記第3のオブジェクトが呼び出され、前記第3のオブジェクトにより前記第2のオブジェクトを呼び出すか否かを判別し、
    前記第1のメソッドに対して前記第2のオブジェクトが対応していない場合、
    前記第3のオブジェクトが、第2のメソッドを起動して処理を実行し、前記第2のメソッドで処理を実行した後に前記第2のオブジェクトに対して前記第1のメソッドを呼び出させ、
    前記第2のオブジェクトが前記第1のメソッドを起動して処理を実行し、
    第1のメソッドに対して前記第2のオブジェクトが対応する場合、
    前記第3のオブジェクトが前記第2のオブジェクトに対して前記第1のメソッドを呼び出させ
    前記第2のオブジェクトが前記第1のメソッドを起動して処理を実行することを特徴とする制御装置の制御方法。
  2. 前記第3のオブジェクトは、前記第2のオブジェクトが前記第1のオブジェクトに対し提供するインターフェースに介在する請求項1記載の制御装置の制御方法。
  3. 前記第1のオブジェクトは前記デバイスに対して提供されるコントロールオブジェクトであり、前記第2のオブジェクトは前記デバイスの機種に対して提供されるサービスオブジェクトである請求項1または2記載の制御装置の制御方法。
  4. 前記制御装置は、前記第1のオブジェクトに前記第1のメソッドを呼び出すPOSアプリケーションプログラムを有し、
    前記第1のオブジェクトは、前記POSアプリケーションプログラムの要求に応じてプリンターを制御するコントロールオブジェクトであり、
    前記第2のオブジェクトは、前記POSアプリケーションプログラムの要求に応じてプリンターを制御するサービスオブジェクトであり、
    前記第1のメソッドは、所定の文字コードセットのプリントメソッドであり、
    前記第3のオブジェクトの第2のメソッドは、前記第1のオブジェクトが前記所定の文字コードセットのプリントメソッドを呼び出した場合に、前記所定の文字コードセットから他の文字コードセットへの変換を行う請求項3に記載の制御装置の制御方法。
  5. 前記所定の文字コードセットはUnicodeであり、前記他の文字コードセットはバイトコードである請求項4に記載の制御装置の制御方法。
  6. 前記第1のオブジェクトはOPOS準拠のコントロールオブジェクトである請求項4または5に記載の制御装置の制御方法。
JP2011195746A 2011-08-03 2011-09-08 制御装置の制御方法 Active JP5906620B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2011195746A JP5906620B2 (ja) 2011-09-08 2011-09-08 制御装置の制御方法
CN201210250667.8A CN102915215B (zh) 2011-08-03 2012-07-19 控制装置以及控制方法
US13/561,605 US9110615B2 (en) 2011-08-03 2012-07-30 Point of sale control device, control method, and storage medium storing a program for a point of sale device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011195746A JP5906620B2 (ja) 2011-09-08 2011-09-08 制御装置の制御方法

Publications (3)

Publication Number Publication Date
JP2013058065A JP2013058065A (ja) 2013-03-28
JP2013058065A5 JP2013058065A5 (ja) 2014-09-11
JP5906620B2 true JP5906620B2 (ja) 2016-04-20

Family

ID=48133911

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011195746A Active JP5906620B2 (ja) 2011-08-03 2011-09-08 制御装置の制御方法

Country Status (1)

Country Link
JP (1) JP5906620B2 (ja)

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07325808A (ja) * 1994-05-31 1995-12-12 Canon Inc 文書処理装置およびその処理方法
GB2293470A (en) * 1994-09-22 1996-03-27 Ibm Message encapsulation in Object Oriented Programming.
US5940845A (en) * 1997-12-05 1999-08-17 International Business Machines Corporation System for accessing databases with different character sets
JP2001067325A (ja) * 1998-09-30 2001-03-16 Hitachi Software Eng Co Ltd 分散オブジェクト管理方法およびシステム
JP2000293375A (ja) * 1999-04-05 2000-10-20 Toshiba Information Systems (Japan) Corp オブジェクト指向計算機システム及びプログラムを記憶したコンピュータ読み取り可能な記憶媒体
JP4792646B2 (ja) * 2001-03-12 2011-10-12 セイコーエプソン株式会社 シンボルプリンタ用ドライバ、及び情報記録媒体
JP3915876B2 (ja) * 2000-12-28 2007-05-16 セイコーエプソン株式会社 文字列データの処理方法および処理装置
JP4635341B2 (ja) * 2001-01-05 2011-02-23 セイコーエプソン株式会社 制御システム
JP4362977B2 (ja) * 2001-01-16 2009-11-11 セイコーエプソン株式会社 デバイス状態監視装置
JP4491989B2 (ja) * 2001-04-17 2010-06-30 セイコーエプソン株式会社 制御システム
JP2002318703A (ja) * 2001-04-20 2002-10-31 Seiko Epson Corp 制御システム
EP3107002A1 (en) * 2006-01-24 2016-12-21 ZIH Corp. Global printing system and method of using same
US8225333B2 (en) * 2007-07-31 2012-07-17 Microsoft Corporation POS hardware abstraction
JP2009140063A (ja) * 2007-12-04 2009-06-25 Seiko Epson Corp ファイル管理モジュール、印刷装置、ファイル管理方法、ファイル管理プログラム

Also Published As

Publication number Publication date
JP2013058065A (ja) 2013-03-28

Similar Documents

Publication Publication Date Title
US9262106B2 (en) Method of adding value to print data, a value-adding device, and a recording medium
US9110615B2 (en) Point of sale control device, control method, and storage medium storing a program for a point of sale device
US9030704B2 (en) Function expansion method using print data for a point-of-sale terminal
JP4289067B2 (ja) 電子レシート発行方法、プログラム、電子レシート発行装置、印刷装置およびposシステム
JP5810609B2 (ja) 記録装置、記録装置の制御方法、及び、プログラム
US20130229352A1 (en) POS System, Control System, and Control Method of a Control System
US9058139B2 (en) Function expansion method using print data, and function expansion device
EP2942706B1 (en) Data conversion system, data conversion device, and data conversion method
US8755081B2 (en) Devices, methods, and media for using compatible commands to control recording devices
JP2015114687A (ja) プリンター及び制御方法
US9898691B2 (en) Control device, control system, and control method of a control device
JP5906620B2 (ja) 制御装置の制御方法
JP5867563B2 (ja) 印刷データを用いた機能拡張プログラム、機能拡張装置、及び、機能拡張方法
JP2012198613A (ja) 出力装置、ジャーナル生成システム、ジャーナル生成方法及びプログラム
JP5790267B2 (ja) 出力制御システム、及び、制御方法
US8693036B2 (en) Distribution processing method, distribution processing device, print data processing method, print data processing device, and recording medium
JP2012168758A (ja) 印刷物編集用プログラム、印刷物編集装置、及び、印刷物編集方法
JP2015015052A (ja) 出力先を分散するための印刷データ処理プログラム、印刷データ処理装置、及び、印刷データ処理方法
JP6326924B2 (ja) Posシステムおよびposシステムの制御方法
JP2013041440A (ja) 出力制御装置、出力装置の制御方法、及び、プログラム
US9720788B2 (en) Recording device and control method of a recording device
JP6075427B2 (ja) 印刷制御方法、及び、プリンタードライバー
JP6511859B2 (ja) 情報処理システム、その制御方法、及びプログラム、並びに、情報処理装置、その制御方法、及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140728

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140728

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20150107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150722

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: 20160223

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160307

R150 Certificate of patent or registration of utility model

Ref document number: 5906620

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150