JP5397162B2 - プリンタードライバー、及び、posプリンターの制御方法 - Google Patents

プリンタードライバー、及び、posプリンターの制御方法 Download PDF

Info

Publication number
JP5397162B2
JP5397162B2 JP2009249444A JP2009249444A JP5397162B2 JP 5397162 B2 JP5397162 B2 JP 5397162B2 JP 2009249444 A JP2009249444 A JP 2009249444A JP 2009249444 A JP2009249444 A JP 2009249444A JP 5397162 B2 JP5397162 B2 JP 5397162B2
Authority
JP
Japan
Prior art keywords
application
printer
pos
dedicated
pos printer
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
Application number
JP2009249444A
Other languages
English (en)
Other versions
JP2011096013A (ja
JP2011096013A5 (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 JP2009249444A priority Critical patent/JP5397162B2/ja
Priority to US12/911,636 priority patent/US8711403B2/en
Priority to EP10189046A priority patent/EP2317429A3/en
Priority to CN201010531500XA priority patent/CN102053806A/zh
Publication of JP2011096013A publication Critical patent/JP2011096013A/ja
Publication of JP2011096013A5 publication Critical patent/JP2011096013A5/ja
Application granted granted Critical
Publication of JP5397162B2 publication Critical patent/JP5397162B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1225Software update, e.g. print driver, modules, plug-ins, fonts

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、プリンタードライバー、及び、POSプリンターの制御方法関する。
近年、アプリケーションプログラムの作成を容易にするためのインターフェイスとして、所謂API(Application Programming Interface)が開発されている。APIは、各アプリケーションが共通して利用する機能を提供するインターフェイスであり、各アプリケーションのユーザーは規約に従って、APIが提供する機能を呼び出すだけで、その機能を利用した様々なアプリケーションを作成することができる。
特許文献1には、プリンターのステータス情報を、通信可能に接続されたホストコンピューターが取得し、ホストコンピューターに搭載されているプリンタードライバーの印刷データ生成モジュールがAPIを使用してステータス情報を含む印刷イメージを生成する内容が開示されている。
また、特許文献2には、クライアントPCのOS(Operating System)上で実行されるスプーラー監視プログラムやステータス監視プログラムがAPIを利用して、スプーラーの状態を監視したり、プリンターのステータス変化を監視する内容が開示されている。
このように、APIを利用することで様々な機能を提供するアプロケーションを容易に開発することができる。近年では、デバイス特有のアプリケーションの開発を容易にするため、そのデバイスに専用のAPIを搭載した専用ドライバーが提供されるようになっている。
例えば、デバイスの一例として、POS(Point Of Sales)システムにおいて使用されるPOSプリンターがある。OSにWindows(登録商標)を採用するホストコンピューターにWindows(登録商標)仕様の汎用ドライバーを搭載した場合、POSプリンターから取得できるステータス情報は一定のものに限定される。例えば、汎用ドライバーでは、POSプリンターから取得できる情報が一定のものに限定されてしまうことがある。このため、POSプリンターが提供する機能を十分に利用するためには、ホストコンピューターにPOSプリンター専用のAPIを搭載した専用ドライバーでデバイスを利用することが行なわれている。
特開2001−154816号公報 特開2007−72711号公報
上述した専用ドライバーは、デバイスの開発業者が提供するものであり、デバイス特有のアプリケーションはデバイスを購入するユーザーが専用ドライバーを利用して独自に開発することが多い。このため、ユーザーが開発したアプリケーションを、専用ドライバーを介して実行している場合は、プログラム内容に特段の問題がない限りプリンターは正常に動作する。
デバイスの開発業者は専用ドライバーに新たな機能を追加してバージョンアップし、新バージョンとしてユーザーに再提供することが多い。この場合、旧バージョンのアプリケーションにも対応する必要がある。通常、新バージョンの専用ドライバーは、旧バージョンの専用ドライバーの機能を全て受け継ぐため、旧バージョンの専用ドライバーに対応させて開発したアプリケーションを実行することができるようになっている。しかしながら、専用ドライバーとアプリケーションのバージョンが異なる場合には、意図しない動作をプリンターが実行するケースが発生する。
その一例を挙げる。近年では、複数のアプリケーションで1台のプリンターを共有することができるように、マルチアプリケーション対応のAPIと通信モジュールを搭載した専用ドライバーが新たに開発されている。マルチアプリケーション非対応のAPIを搭載した旧バージョンの専用ドライバーを取得したユーザーが開発したアプリケーションは、やはりマルチアプリケーション非対応の旧バージョンのものである。旧バージョンのアプリケーションを、新バージョンの専用ドライバーを介して実行すると、マルチアプリケーション対応のためのプリンターの占有の制御に関連した部分で、意図しない動作が実行される場合がある。
本発明は上記課題を解決するためになされたものであって、マルチアプリケーション非対応の旧バージョンのアプリケーションを、マルチアプリケーション対応の新バージョンの専用ドライバーを介して実行しても、意図しない動作をプリンターが実行することを防止することができるプリンタードライバー、プリンターの制御方法及びプリンターの制御プログラムを提供することを目的とする。
本発明は次の実施形態を備える。
(実施形態1)
POS用のコンピューターに搭載可能であり、他のアプリケーションとPOSプリンターを共有することが可能なマルチアプリケーション及び前記他のアプリケーションと前記POSプリンターを共有することができないシングルアプリケーションのいずれにも対応可能で、前記POSプリンターとの通信を制御する通信モジュールを有するプリンタードライバーであって、
前記マルチアプリケーションまたは前記シングルアプリケーションからの利用開始要求に基づき前記POSプリンターを占有する互換モードと、前記互換モードにおいてさらに前記利用開始要求があった場合、前記利用開始要求をしたのは前記マルチアプリケーションであると判断し、前記POSプリンターの占有を切替え可能なマルチモードに移行する状態管理部と、を備えることを特徴とするプリンタードライバー。
(実施形態2)
前記状態管理部は、前記互換モードにおいて前記POSプリンターの占有要求または開放要求があった場合、前記占有要求または前記開放要求をしたのは前記マルチアプリケーションであると判断し、前記マルチモードに移行することを特徴とする前記実施形態1に記載のプリンタードライバー。
(実施形態3)
前記状態管理部は、前記マルチモードに移行した後は前記互換モードに移行しないことを特徴とする前記実施形態1または2に記載のプリンタードライバー。
(実施形態4)
前記状態管理部は、前記マルチモードにおいて、前記通信モジュールで前記マルチアプリケーションからの印刷データの受信待ち状態が続くと、前記通信モジュールに対して所定のダミーデータを送信し、前記通信モジュールにおける前記受信待ち状態を解放することを特徴とする前記実施形態1から3の何れかに記載のプリンタードライバー。
(実施形態5)
前記コンピューターが読み取り可能なものであって、前記実施形態1から4のいずれかに記載のプリンタードライバーを記録した記録媒体。
(実施形態6)
他のアプリケーションとPOSプリンターを共有することが可能なマルチアプリケーション又は前記他のアプリケーションと前記POSプリンターを共有することができないシングルアプリケーションの少なくともいずれかを搭載したPOS用のコンピューターに接続可能なPOSプリンターの制御方法であって、
前記マルチアプリケーションまたは前記シングルアプリケーションからの利用開始要求に基づき前記POSプリンターを占有する互換モードと、前記互換モードにおいてさらに前記利用開始要求があった場合、前記利用開始要求をしたのは前記マルチアプリケーションであると判断し、前記POSプリンターの占有を切替え可能なマルチモードに移行することを特徴とするPOSプリンターの制御方法。
上記課題を解決することのできる本発明は、プリンターの通信を制御する通信モジュールと、アプリケーションから受信する要求であって、前記プリンターを占有する占有要求あるいは前記占有を解放する解放要求によって、複数の前記アプリケーションを切り替えて動作させることが可能な状態管理部を備えたプリンタードライバーであって、前記状態管理部は、前記アプリケーションから前記プリンターの利用開始要求を受信すると、前記アプリケーションによる前記プリンターの占有を前記通信モジュールに通知し、前記プリンターを占有状態とすることを特徴とする。
上記構成によれば、アプリケーションからプリンターの利用開始要求を受信すると、プリンターの占有を通信モジュールに通知する。すなわち、旧バージョンあるいは新バージョンの何れのアプリケーションから利用開始要求を受信しても、プリンターを占有状態とすることができる。したがって、本来、占有要求あるいは解放要求によって、複数のアプリケーションを切り替えて動作させることが可能な新バージョンのプリンタードライバーであっても、マルチアプリケーション非対応であり、占有要求あるいは解放要求を行わない旧バージョンのアプリケーションから利用開始要求を受信しても、いきなりプリンターを共有状態とするのではなく、まずは占有状態とすることができる。このため、旧バージョンのアプリケーションを、マルチアプリケーション対応の新バージョンの専用ドライバーを介して実行しても、プリンターが共有状態ではないので、プリンターが意図しない動作を実行することを防止することができる。旧バージョンあるいは新バージョンの何れのアプリケーションにも対応可能となる。
また、本発明において、前記状態管理部は、前記アプリケーションによる前記プリンターの占有中に、他のアプリケーションからの利用開始要求があると、前記占有状態を解放して複数のアプリケーションによるプリンターの共有を前記通信モジュールに通知し、前記プリンターを共有状態とすることが好ましい。
上記構成によれば、アプリケーションによるプリンターの占有中に、他のアプリケーションからの利用開始要求がある場合とは、複数のアプリケーションが実行された場合である。また、複数のアプリケーションが実行されるということは、何れのアプリケーションもマルチアプリケーション対応の新バージョンのアプリケーションであるはずと推定できる。したがって、占有状態を解除して共有状態としても、プリンターが意図しない動作を実行することがない。また、新バージョンのプリンタードライバー本来の、占有要求あるいは解放要求によって、複数のアプリケーションを切り替えて動作させることが可能である。
また、本発明において、前記状態管理部は、前記アプリケーションから前記占有要求あるいは前記解放要求を受信すると、前記プリンターの共有を前記通信モジュールに通知し、前記プリンターを共有状態とすることが好ましい。
上記構成によれば、アプリケーションから占有要求あるいは解放要求を受信するということは、そのアプリケーションはマルチアプリケーション対応の新バージョンであるはずと推定できる。したがって、共有状態としても、プリンターが意図しない動作を実行することがない。
また、本発明において、前記状態管理部が、前記通信モジュールに対して前記占有を通知した後に、前記印刷データの受信待ち状態が続くと、前記通信モジュールに対してダミーデータを送信して、前記占有を解放することが好ましい。
プリンターを占有してから、プリンターが印刷データの受信待ち状態が所定の期間続くと、その占有を解除しないと、他のアプリケーションを実行することができなくなってしまう。上記構成によれば、NULLなどダミーデータを送信することで受信待ち状態を解除し、占有を解放するので、他のアプリケーションを実行することが可能となる。
また、上記課題を解決することのできる本発明は、アプリケーションから受信する要求であって、プリンターを占有する占有要求あるいは前記占有を解放する解放要求によって、複数の前記アプリケーションを切り替えて動作させることが可能なプリンターの制御方法であって、
前記アプリケーションから前記プリンターの利用開始要求を受信するステップと、前記アプリケーションによる前記プリンターの占有を、前記プリンターの通信を制御する通信モジュールに通知し、前記プリンターを占有状態とするステップと、を有することを特徴とする。
また、上記課題を解決することのできる本発明は、アプリケーションから受信する要求であって、プリンターを占有する占有要求あるいは前記占有を解放する解放要求によって、複数の前記アプリケーションを切り替えて動作させるプリンターの制御プログラムであって、
前記アプリケーションから前記プリンターの利用開始要求を受信するステップと、前記アプリケーションによる前記プリンターの占有を、前記プリンターの通信を制御する通信モジュールに通知し、前記プリンターを占有状態とするステップと、をホストコンピューターが備えるコンピューターに実行させることを特徴とする。
上記構成によれば、占有要求あるいは解放要求によって、複数のアプリケーションを切り替えて動作させることが可能な新バージョンのプリンタードライバーであっても、旧バージョンのアプリケーションから利用開始要求を受信しても、いきなりプリンターを共有状態とするのではなく、まずは占有状態とすることができる。したがって、旧バージョンのアプリケーションを、マルチアプリケーション対応の新バージョンの専用ドライバーを介して実行しても、プリンターが意図しない動作を実行することを防止することができる。旧バージョンあるいは新バージョンの何れのアプリケーションにも対応可能となる。
プリンターとホストコンピューターとからなるシステムのハードウェア構成を示したブロック図である。 本実施形態のホストコンピューター内のソフトウェア構成を示す図である。 本実施形態の専用ドライバーの状態遷移を示した図である。 アプリケーションから利用開始要求を受信したときに専用ドライバーが行なう処理を説明するための図である。 他のアプリケーションから利用開始要求を受信したときに専用ドライバーが行なう処理を説明するための図である。 アプリケーションから占有要求あるいは解放要求を受信したときに専用ドライバーが行なう処理を説明するための図である。
以下、図面を参照して本発明のプリンタードライバー、プリンターの制御方法及びプリンターの制御プログラムの実施形態を説明する。
まず、図1を参照してホストコンピューター及びプリンターのハードウェア構成について説明する。ホストコンピューター10は演算処理の中枢をなすCPU11を備えており、このCPU11はシステムバス12を介してBIOSなどの記載されたROM13やRAM14にアクセス可能となっている。また、システムバス12には外部記憶装置としてのハードディスクドライブ15とフロッピー(登録商標)ディスクドライブ16とCD−ROMドライブ17とが接続されており、ハードディスクドライブ15に記憶されたOS(Operating System)やアプリケーションなどがRAM14に転送され、CPU11はROM13とRAM14に適宜アクセスしてソフトウェアを実行する。
シリアル通信用I/O19aにはキーボード41やマウス42の操作用入力機器が接続され、図示しないビデオボードを介して表示用のディスプレイ18も接続されている。さらに、POSプリンター30とはパラレル通信用I/O19bを介してパラレル接続が可能となっている。本ホストコンピューター10の構成は簡略化して説明しているが、パーソナルコンピューターとして一般的な構成を有するものを採用することができる。
一方、POSプリンター30は、POSシステムにおいて使用されるプリンターであり、レシート印刷などを行うことができる。POSプリンター30は、演算処理の中枢をなすCPU31を備えており、このCPU31はシステムバス32を介してROM33やメモリー34にアクセス可能となっている。ここで、メモリー34はステータス情報を格納するためのステータス情報メモリーと印刷データを格納するバッファメモリー等によって構成されている。ステータス情報メモリーはRAMやEEPROMで構成することが可能である。また、システムバス32にはPOSプリンター30の内部の印刷駆動機構を制御するプリンターコントローラー35と、パラレル通信用I/O37とが接続されている。かかる構成によりCPU31はROM33やメモリー34に適宜アクセスしつつ所定のファームウェアを実行する。
CPU31は、メモリー34に記憶された印刷データに基づいてプリンターコントローラー35を制御してステータス情報を保持したり、レシート印刷を行う。POSプリンター30のステータス情報は、ホストコンピューター10とパラレル通信用I/O37を介して、ホストコンピューター10へ送信される。
次に図2を参照して、本実施形態のホストコンピューター内のソフトウェア構成を説明する。CPU11は、ハードディスクドライブ15に記憶されている各プログラムをOS上で実行する。本実施形態では、各アプリケーション26,27,28、プリンタードライバー20を実行する。また、図2に示すように本実施形態のプリンタードライバー20は、汎用ドライバー21、専用ドライバー22及び通信モジュール25を備えている。
汎用ドライバー21は、例えばホストコンピューター10のOSにWindows(登録商標)を採用する場合は、Windows(登録商標)の規約にしたがって作成されたドライバーである。汎用ドライバー21は、他のアプリケーション26から取得したデータを、POSプリンター30が処理可能なデータに変換する。しかし、機能は限定されている。
専用ドライバー22(状態管理部)は、POSプリンター30の専用ドライバーである。専用ドライバー22は、例えば、汎用ドライバー21では取得できないPOSプリンター30のステータス情報を取得することができる。具体的には、POSプリンター専用のアプリケーションであるステータス取得アプリケーション27を実行すると、専用ドライバー22のステータス取得API23が呼び出される。ステータス取得API23は、POSプリンター30の状態を監視し、通信モジュール25を介してPOSプリンター30からステータスを受信する。ステータス取得アプリケーション27からのステータス取得要求に応じて、受信したステータス情報をステータス取得アプリケーション27へ送信する。
また、専用ドライバー22は、POSプリンター30によるレシート印刷処理を制御することもできる。POSプリンター専用のアプリケーションであるレシート印刷アプリケーション28を実行すると、専用ドライバー22のレシート印刷API24が呼び出される。レシート印刷API24は、レシート印刷アプリケーション28から受信した印刷データを、POSプリンター30が処理可能な形式へ変換し、通信モジュールを介してPOSプリンター30へ送信する。
このように、本実施形態の専用ドライバー22は、専用アプリケーション27,28からの呼び出しに応じてAPIを実行する。各専用アプリケーション27,28は、APIの呼び出しをするには、まず専用ドライバー22に対してPOSプリンター30の利用開始要求を送信することが必要である。
また、専用ドライバー22は、複数の専用アプリケーションによってPOSプリンター30を共有することができる。例えば、ステータス取得アプリケーション27の起動中にレシート印刷アプリケーション28を立ち上げることができ、レシート印刷アプリケーション28の起動中にステータス取得アプリケーション27を立ち上げることができる。専用ドライバー22は、各専用アプリケーション27,28から受信する。
また、専用ドライバー22は、POSプリンター30を占有する占有要求あるいはその占有を解放する解放要求によって、POSプリンター30を一時的に占有することで、ステータス取得アプリケーション27及びレシート印刷アプリケーション28を切り替えて動作させることができる。つまり、複数の専用アプリケーションはPOSプリンター30を時分割で共有する。
また、専用ドライバー22は、何れかの専用アプリケーション27,28から最初の利用開始要求を受信すると、POSプリンター30の占有を通信モジュール25に通知し、自動的にPOSプリンター30を占有状態とする。すなわち、図3に示すように、専用ドライバー22は、何れかの専用アプリケーション27,28から最初に利用開始要求を受信すると、開始点100から互換モード110へ移行する。互換モード110は、旧バージョンのアプリケーションにも対応するものである。
また、専用ドライバー22は、一方の専用アプリケーション27(あるいは28)によるPOSプリンター30の上記占有状態中に、他の専用アプリケーション28(あるいは27)からの利用開始要求があると、所定の処理の後、占有状態を自動的に解放する。そして、複数の専用アプリケーション27,28によるPOSプリンター30の共有を通信モジュール25に通知し、POSプリンター30を共有状態とする。すなわち、図3に示すように、専用ドライバー22は、互換モード110において、別の専用アプリケーション28(あるいは27)からの利用開始要求を受信すると、マルチモード120へ移行する。マルチモード120は、新バージョンのアプリケーションに対応するものである。他の専用アプリケーション28(あるいは27)からの利用開始要求があるものは、新バージョンのアプリケーションであると推定できるためである。
また、専用ドライバー22は、専用アプリケーション27(あるいは28)から上述した占有要求あるいは解放要求を受信すると、POSプリンター30の共有を通信モジュール25に通知し、POSプリンター30を共有状態とする。すなわち、図3に示すように、専用ドライバー22は、互換モード110において、専用アプリケーション28(あるいは27)から上述した占有要求あるいは解放要求を受信した場合も、マルチモード120へ移行する。
また、専用ドライバー22は、専用アプリケーション27(あるいは28)から利用終了要求を受信すると、専用アプリケーション27(あるいは28)によるプリンターの利用を終了する。すなわち、図3に示すように、専用ドライバー22は、互換モード110あるいはマルチモード120において、専用アプリケーション27(あるいは28)から利用終了要求を受信すると、終了点130へ移行する。
また、専用ドライバー22は、通信モジュール25に対して占有を通知した後に、POSプリンター30の印刷データ受信待ち状態が続くと、通信モジュール25に対してダミーデータを送信し、POSプリンター30の解放を通知する。例として、所定量のビットマップデータが全て受信するまで待っている等がある。ビットマップデータは大量なことがあり、送信側で時間が掛かっているとか何かトラブルがあると、ずっと待ち状態が続き、次のアプリケーションが使えない。
このように、専用ドライバー22は、専用アプリケーションから利用開始要求を受信すると、まずは互換モード110へ移行し、その後他の専用アプリケーションの利用開始要求、占有要求あるいは解放要求があるとマルチモード120へ移行する。しかし、一度マルチモード120へ移行した後は、互換モード110へ戻ることはない。占有要求あるいは解放要求をするものは、新バージョンのアプリケーションであると推定できるためである。
次に、専用ドライバー22が、互換モード110あるいはマルチモード120へ移行するまでの処理の流れを図4〜図6を参照して説明する。
<互換モードへ移行する処理について>
図4は、互換モード110へ移行する際の処理の流れを示している。
ユーザーはPOSプリンター30のステータス情報を取得するため、ステータス取得アプリケーション27を起動する。専用アプリケーション27は、専用ドライバー22に対して利用開始要求を送信する(ステップS11)。
ステータス取得API23が呼び出されると、ステータス取得API23は通信モジュール25に対して利用開始を通知し(ステップS12)、通信モジュール25はステータス取得API23に対して成功を返す(ステップS13)。続いて、ステータス取得API23は、通信モジュール25に対して占有を通知し(ステップS14)、通信モジュール25はステータス取得API23に対して成功を返す(ステップS15)。続いて、ステータス取得API23は、通信モジュール25に対して互換モード110で動作することを通知し(ステップS16)、通信モジュール25はステータス取得API23に対して成功を返す(ステップS17)。ステータス取得API23は、専用アプリケーション27に対して成功を通知する(ステップS18)。
このように、専用アプリケーションから初めて利用開始要求を受信すると、必ず互換モード110へ移行する。つまり、ステータスAPI23は、専用アプリケーション27から占有要求を受信しなくても、利用開始要求を受信しただけで自動的にPOSプリンター30を占有状態とすることができる。したがって、例えば専用アプリケーション27が、本実施形態の専用ドライバー22のように占有要求や解放要求によって複数の専用アプリケーションを切り替えて動作させる新バージョンのドライバーに対応していない旧バージョンのアプリケーションであっても、まずは互換モード110へ移行することで、POSプリンター30を占有することができる。このため、専用アプリケーション27がPOSプリンター30を複数の専用アプリケーションで共有することができない、いわゆるシングルアプリケーションである場合には、POSプリンター30を時分割で共有するのではなく、占有状態を維持することができるので、共有状態等に起因し、POSプリンター30が予期せぬ動作を実行することを防止することができる。
<マルチモードへ移行する処理について>
図5は、図4において移行した互換モード110からさらにマルチモード120へ移行する際の処理の流れを示している。
ユーザーは専用アプリケーション27を動作させたまま、レシート印刷を実行するためレシート印刷アプリケーション28を起動する。専用アプリケーション28は、専用ドライバー22に対して利用開始要求を送信する(ステップS21)。
レシート印刷API24が呼び出されると、レシート印刷API24は通信モジュール25に対して利用開始を通知し(ステップS22)、通信モジュール25はレシート印刷API24に対して成功を返す(ステップS23)。続いて、レシート印刷API24は、通信モジュール25に対して占有を通知するが(ステップS24)、ここでは図4のステップS14でステータス取得API23がPOSプリンター30を占有しているため、通信モジュール25はレシート印刷API24に対して失敗を返す(ステップS25)。続いて、レシート印刷API24は、図4のステップS16と同様に通信モジュール25に対して互換モード110で動作することを通知し(ステップS26)、通信モジュール25はレシート印刷API24に対して成功を返す(ステップS27)。
通信モジュール25は、ステップS26におけるレシート印刷API24からの通知に応じて、ステータス取得API23に対して互換モードを通知する(ステップS28)。続いて、ステータス取得API23は、通信モジュール25からの互換モードの通知に応じて、図4のステップ14で通知した占有を解放するために、通信モジュール25に解放を通知する(ステップS29)。通信モジュール25はステータス取得API23に対して成功を返す(ステップS30)。
そして、ステータス取得API23は、互換モード110からマルチモード120への移行を通信モジュール25へ通知し(ステップS31)、通信モジュール25はステータス取得API23に対して成功を返す(ステップS32)。
通信モジュール25は、ステータス取得API23からのマルチモード移行の通知に応じて、レシート印刷API24に対して、マルチモード120への移行を通知する(ステップS33)。さらにレシート印刷API24は、専用アプリケーション28に対してマルチモード120への移行を通知する(ステップS34)。これによりステータスAPI23及びレシート印刷API24の何れもがマルチモード120へ移行する。
このように、専用アプリケーション23によるPOSプリンター30の占有中に、他の専用アプリケーション28からの利用開始要求があった場合は、複数の専用アプリケーション27,28が実行された状態である。したがって、何れの専用アプリケーション27,28もマルチアプリケーション対応の新バージョンの専用アプリケーションであると推定できる。したがって、ステップS14の占有状態を解除してマルチモード120へ移行しても、つまり、POSプリンター30を共有状態としても、POSプリンター30が意図しない動作を実行することがない。POSプリンター30を時分割で共有することができる。
<マルチモードへ移行する他の処理について>
図6は、図4において移行した互換モード110からさらにマルチモードへ移行する他の処理の流れを示している。
専用アプリケーション27はPOSプリンター30を一時的に占有するため、専用ドライバー22に対して占有要求を送信する(ステップS41)。ステータス取得API23が呼び出されると、ステータス取得API23は通信モジュール25に対して占有を通知し(ステップS42)、通信モジュール25はステータス取得API23に対して成功を返す(ステップS43)。続いて、ステータス取得API23は、通信モジュール25に対して、図4のステップS16で通知した互換モード110からマルチモード120への移行を通知する(ステップS44)。通信モジュール25はステータス取得API23に対して成功を返し(ステップS45)、ステータス取得API23は専用アプリケーション27へ成功を返す(ステップS46)。
なお、専用アプリケーション27によるPOSプリンター30の一時的な占有を解放するためには、上記と同様に、ステータス取得API23はステップS41で解放要求を専用アプリケーション27から受信し、ステップS42で解放を通信モジュール25へ通知し、ステップS44でマルチモード120への移行を通信モジュール25へ通知すればよい。
このように、ステータス取得API23が専用アプリケーション27から占有要求あるいは解放要求を受信するということは、その専用アプリケーションはマルチアプリケーション対応の新バージョンであることが推定される。つまり、専用アプリケーション27は、占有要求あるいは解放要求によって、POSプリンター30を一時的に占有することで、複数の専用アプリケーションを切り替えて動作させることができる新バージョンの専用ドライバー22に対応させて開発された専用アプリケーションであるはずである。このため、ステップS44でマルチモード120へ移行しても、つまりPOSプリンター30を共有状態としても、POSプリンター30が意図しない動作を実行することがない。
なお、上記実施形態では、図4において専用アプリケーション27からの利用開始要求に応じて、ステータス取得API23が通信モジュール25に対して占有を通知したが、専用アプリケーション28からの利用開始要求に応じて、レシート印刷API24が通信モジュール25に対して占有を通知することもできる。
例えば、レシート印刷API24が、通信モジュール25に対して図4のステップS14で占有を通知した後に、コマンドを送信するためのコマンド送信APIがPOSプリンター30へ印刷データとしてビットマップデータを分割送信していたとする。この印刷データの送信中に、システムエラーなどが発生すると、POSプリンター30が印刷データ受信待ち状態となる場合がある。このような場合は、専用ドライバー22は通信モジュール25に対してNULLなどのダミーデータを送信することで、通信モジュール25からダミーデータがPOSプリンター30へ送信され、POSプリンター30の受信待ち状態を解除することができる。専用ドライバー22はPOSプリンター30の受信待ち状態を解除した後、ステップS14で通知した占有を解放するため通信モジュール25に対して解放を通知する。
POSプリンター30を占有してから、POSプリンター30が印刷データの受信待ち状態になると、その占有を解除しないと、他の専用アプリケーションを実行することができなくなってしまう。したがって、ダミーデータを送信することで受信待ち状態を解除し、占有を解放するので、他の専用アプリケーションを実行することが可能となる。
なお、上記実施形態では、専用ドライバー22として、ステータス取得API23やレシート印刷API24を呼び出して実行する場合を例示したが、その他のAPIを呼び出して実行することもできる。
例えば、POSプリンター30内部にメンテナンスカウンターを保持している場合は、メンテナンスカウンター値を取得するAPIやメンテナンスカウンター値をリセットするためのAPI、POSプリンター30にドロワーが接続されている場合は、ドロワーをオープンするためのAPIなどがある。
さらに、センサーの有無、カスタマディスプレイの接続、ファームウェアの情報などプリンターの仕様を取得するAPI、復帰可能エラーからの復帰、紙詰まりなどの復帰可能なエラー原因を取り除いた後にPOSプリンター30をエラー状態から復帰させるAPI、POSプリンター30をリセットするためのAPI、電源オフの前処理を行なうためのAPI、コマンド定義ファイルをPOSプリンター30に定義したり、定義されたコマンド定義ファイルのコマンドをPOSプリンター30に送り実行するためのAPI、コマンドをPOSプリンター30へ送信したり、POSプリンター30からデータを受信するAPI等がある。
なお、本発明が適用されるホストコンピューターはパーソナルコンピューターに限定されるものではない。上記実施形態ではいわゆるデスクトップ型コンピューターであるが、ノート型であるとか、モバイル対応のものであっても良い。また、ホストコンピューター10とPOSプリンター30との接続インターフェイスもパラレル通信用I/O19bに限る必要はなく、シリアルインタフェースやSCSI,USB接続など種々の接続態様を採用可能であるし、今後開発されるいかなる接続態様であっても同様である。
また、上記実施形態では各アプリケーション26,27,28やプリンタードライバー20等のプログラムはハードディスクドライブ15に記憶されているが、記録媒体はこれに限定されるものではない。例えば、フロッピー(登録商標)ディスク16aであるとか、CD−ROM17aであってもよい。これらの記録媒体に記録されたプログラムはフロッピー(登録商標)ディスクドライブ16やCD−ROMドライブ17を介してホストコンピューター10にて読み込まれ、ハードディスクドライブ15にインストールされる。そして、ハードディスクドライブ15を介してRAM14上に読み込まれてホストコンピューター10を制御する。
また、上記実施形態では、ホストコンピューター10とPOSプリンター30が1対1の関係で説明したが、POSプリンター30はネットワークを介して複数のホストコンピューターと接続されていてもよい。この場合は、各ホストコンピューターが実行する複数のアプリケーションによってPOSプリンター30を共有することができる。
10:ホストコンピューター、11:CPU、12:システムバス、13:ROM、14:RAM、15:ハードディスクドライブ、16:フロッピー(登録商標)ディスクドライブ、17:CD−ROMドライブ、18:ディスプレイ、19a:シリアル通信用I/O、19b:パラレル通信用I/O、20:プリンタードライバー、21:汎用ドライバー、22:専用ドライバー(状態管理部)、23:ステータス取得API、24:レシート印刷API、25:通信モジュール、26:他のアプリケーション、27:専用(ステータス取得)アプリケーション、28:専用(レシート印刷)アプリケーション、30:POSプリンター。

Claims (6)

  1. POS用のコンピューターに搭載可能であり、他のアプリケーションとPOSプリンターを共有することが可能なマルチアプリケーション及び前記他のアプリケーションと前記POSプリンターを共有することができないシングルアプリケーションのいずれにも対応可能で、前記POSプリンターとの通信を制御する通信モジュールを有するプリンタードライバーであって、
    前記マルチアプリケーションまたは前記シングルアプリケーションからの利用開始要求に基づき前記POSプリンターを占有する互換モードと、前記互換モードにおいてさらに前記利用開始要求があった場合、前記利用開始要求をしたのは前記マルチアプリケーションであると判断し、前記POSプリンターの占有を切替え可能なマルチモードに移行する状態管理部と、を備えることを特徴とするプリンタードライバー。
  2. 前記状態管理部は、前記互換モードにおいて前記POSプリンターの占有要求または開放要求があった場合、前記占有要求または前記開放要求をしたのは前記マルチアプリケーションであると判断し、前記マルチモードに移行することを特徴とする請求項1に記載のプリンタードライバー。
  3. 前記状態管理部は、前記マルチモードに移行した後は前記互換モードに移行しないことを特徴とする請求項1または2に記載のプリンタードライバー。
  4. 前記状態管理部は、前記マルチモードにおいて、前記通信モジュールで前記マルチアプリケーションからの印刷データの受信待ち状態が続くと、前記通信モジュールに対して所定のダミーデータを送信し、前記通信モジュールにおける前記受信待ち状態を解放することを特徴とする請求項1から3の何れかに記載のプリンタードライバー。
  5. 前記コンピューターが読み取り可能なものであって、請求項1から請求項4のいずれかに記載のプリンタードライバーを記録した記録媒体。
  6. 他のアプリケーションとPOSプリンターを共有することが可能なマルチアプリケーション又は前記他のアプリケーションと前記POSプリンターを共有することができないシングルアプリケーションの少なくともいずれかを搭載したPOS用のコンピューターに接続可能なPOSプリンターの制御方法であって、
    前記マルチアプリケーションまたは前記シングルアプリケーションからの利用開始要求に基づき前記POSプリンターを占有する互換モードと、前記互換モードにおいてさらに前記利用開始要求があった場合、前記利用開始要求をしたのは前記マルチアプリケーションであると判断し、前記POSプリンターの占有を切替え可能なマルチモードに移行することを特徴とするPOSプリンターの制御方法。
JP2009249444A 2009-10-29 2009-10-29 プリンタードライバー、及び、posプリンターの制御方法 Expired - Fee Related JP5397162B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2009249444A JP5397162B2 (ja) 2009-10-29 2009-10-29 プリンタードライバー、及び、posプリンターの制御方法
US12/911,636 US8711403B2 (en) 2009-10-29 2010-10-25 Printer driver, printer control method, and recording medium
EP10189046A EP2317429A3 (en) 2009-10-29 2010-10-27 Printer driver, printer control method, and recording medium
CN201010531500XA CN102053806A (zh) 2009-10-29 2010-10-29 打印机驱动器、打印机的控制方法及记录介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009249444A JP5397162B2 (ja) 2009-10-29 2009-10-29 プリンタードライバー、及び、posプリンターの制御方法

Publications (3)

Publication Number Publication Date
JP2011096013A JP2011096013A (ja) 2011-05-12
JP2011096013A5 JP2011096013A5 (ja) 2012-11-22
JP5397162B2 true JP5397162B2 (ja) 2014-01-22

Family

ID=43332646

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009249444A Expired - Fee Related JP5397162B2 (ja) 2009-10-29 2009-10-29 プリンタードライバー、及び、posプリンターの制御方法

Country Status (4)

Country Link
US (1) US8711403B2 (ja)
EP (1) EP2317429A3 (ja)
JP (1) JP5397162B2 (ja)
CN (1) CN102053806A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10282145B2 (en) 2015-02-12 2019-05-07 Seiko Epson Corporation Printer driver and POS system
KR102226608B1 (ko) 2020-09-07 2021-03-11 (주)시큐어포인트 Pos용 프린터 공유 방법 및 이를 수행하는 장치

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5939890B2 (ja) * 2012-05-30 2016-06-22 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム
JP6468937B2 (ja) * 2015-02-27 2019-02-13 キヤノン株式会社 情報処理装置、制御方法、制御プログラム
PL3330913T3 (pl) * 2016-11-30 2021-09-27 Wincor Nixdorf International Gmbh Sposób i urządzenie do sterowania dostępem i konfiguracji urządzeń peryferyjnych punktu sprzedaży
CN107256134B (zh) * 2017-04-25 2020-01-21 百富计算机技术(深圳)有限公司 将pos终端虚拟为计算机打印机的方法和装置、pos终端
JP7178611B2 (ja) * 2019-07-01 2022-11-28 パナソニックIpマネジメント株式会社 溶接用チップ

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5628030A (en) * 1994-03-24 1997-05-06 Multi-Tech Systems, Inc. Virtual modem driver apparatus and method
JP3311177B2 (ja) 1994-11-25 2002-08-05 キヤノン株式会社 情報処理装置および情報処理方法
JP3581463B2 (ja) 1995-11-30 2004-10-27 キヤノン株式会社 情報処理装置および印刷装置およびデータ処理方法
JPH11149357A (ja) * 1997-11-18 1999-06-02 Minolta Co Ltd ネットワークプリンタおよびその印刷ジョブ管理方法
US6201611B1 (en) * 1997-11-19 2001-03-13 International Business Machines Corporation Providing local printing on a thin client
US6240472B1 (en) * 1998-10-22 2001-05-29 Microsoft Corporation Method and system for sharing a communications port
JP2000347980A (ja) * 1999-03-29 2000-12-15 Canon Inc 周辺装置、周辺装置の制御方法、記憶媒体、及び、情報処理システム
JP2001154816A (ja) 1999-12-01 2001-06-08 Seiko Epson Corp ステータス情報印刷プログラムを記録した媒体、印刷装置、印刷制御装置、ステータス情報印刷方法およびステータス情報印刷システム
KR100582896B1 (ko) * 2004-01-28 2006-05-24 삼성전자주식회사 소프트웨어 버전 자동 관리 시스템 및 버전 관리 방법
JP4865358B2 (ja) 2005-03-31 2012-02-01 キヤノン株式会社 プリント要求の受付順保証機能を備える印刷制御装置、制御方法、記憶媒体及びプログラム
JP4029889B2 (ja) * 2005-04-12 2008-01-09 コニカミノルタビジネステクノロジーズ株式会社 ドライバ設定方法、ドライバ設定プログラム、記録媒体、及び情報処理装置
JP2007072711A (ja) 2005-09-06 2007-03-22 Seiko Epson Corp オンデマンド印刷監視システム、オンデマンド印刷監視方法、オンデマンド印刷監視プログラムおよびオンデマンド印刷装置
JP4143659B2 (ja) * 2006-07-07 2008-09-03 キヤノン株式会社 プリンタユーティリティ手段による制御方法および情報処理装置
JP2008250658A (ja) * 2007-03-30 2008-10-16 Seiko Epson Corp 情報処理装置および情報処理プログラム
JP2009199419A (ja) * 2008-02-22 2009-09-03 Brother Ind Ltd コンピュータ、印刷制御プログラム及び印刷制御装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10282145B2 (en) 2015-02-12 2019-05-07 Seiko Epson Corporation Printer driver and POS system
KR102226608B1 (ko) 2020-09-07 2021-03-11 (주)시큐어포인트 Pos용 프린터 공유 방법 및 이를 수행하는 장치

Also Published As

Publication number Publication date
US8711403B2 (en) 2014-04-29
EP2317429A3 (en) 2013-02-13
US20110102838A1 (en) 2011-05-05
CN102053806A (zh) 2011-05-11
JP2011096013A (ja) 2011-05-12
EP2317429A2 (en) 2011-05-04

Similar Documents

Publication Publication Date Title
JP5397162B2 (ja) プリンタードライバー、及び、posプリンターの制御方法
US11204852B2 (en) Information processing apparatus, method of controlling the same, information processing system and storage medium
US8730490B2 (en) Printer driver, information processing apparatus, and computer program product
JP5322595B2 (ja) コンピュータ、制御方法、及びプログラム
KR20080067633A (ko) 재부팅 없는 디스플레이 드라이버 업그레이드
JP6007642B2 (ja) 情報処理装置、省電力制御方法、省電力制御プログラム
US10356267B2 (en) Information processing apparatus, control method, and storage medium
JP6468937B2 (ja) 情報処理装置、制御方法、制御プログラム
JP5039331B2 (ja) 情報処理装置、削除方法及びプログラム
US9606761B2 (en) Information processing apparatus for controlling an output process and method for the same
JP2008257714A (ja) ポータブルプリンタドライバ
JP2006024155A (ja) 周辺装置
JP2005173701A (ja) 情報処理装置、情報処理方法及びそのプログラム
KR100720922B1 (ko) 인쇄 제어 프로그램을 격납한 전자계산기, 및 인쇄 제어용 프로그램을 기록한 전자계산기로 읽을 수 있는 저장매체
JP5596376B2 (ja) 周辺装置
US8134726B2 (en) Bi-directional communication between printer and client
US11625205B2 (en) Information processing apparatus, server apparatus, control method, and storage medium
US20180146111A1 (en) Image forming apparatus, control method therefor, and storage medium
US11119708B2 (en) Information processing apparatus, controlling method for information processing apparatus, and storage medium storing print extension application
US8675223B2 (en) Image forming device, image forming system and computer readable medium for installing related software to another device
US11977801B2 (en) Image processing apparatus, control method, and storage medium
JP2005063128A (ja) 印刷ターミナルおよび印刷データ出力装置
US20230251806A1 (en) Storage medium, information processing apparatus, and control method
JP5125689B2 (ja) 複数環境の運用方法および記録媒体
JP5747557B2 (ja) 省電力制御装置及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121003

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121003

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20121003

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130913

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131007

R150 Certificate of patent or registration of utility model

Ref document number: 5397162

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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