JP2015005098A - 制御装置、制御装置の制御方法、および、プログラム - Google Patents

制御装置、制御装置の制御方法、および、プログラム Download PDF

Info

Publication number
JP2015005098A
JP2015005098A JP2013129474A JP2013129474A JP2015005098A JP 2015005098 A JP2015005098 A JP 2015005098A JP 2013129474 A JP2013129474 A JP 2013129474A JP 2013129474 A JP2013129474 A JP 2013129474A JP 2015005098 A JP2015005098 A JP 2015005098A
Authority
JP
Japan
Prior art keywords
data
input
status data
control unit
status
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.)
Granted
Application number
JP2013129474A
Other languages
English (en)
Other versions
JP2015005098A5 (ja
JP6065761B2 (ja
Inventor
明男 高本
Akio Takamoto
明男 高本
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 JP2013129474A priority Critical patent/JP6065761B2/ja
Priority to CN201410225422.9A priority patent/CN104228363B/zh
Priority to US14/310,361 priority patent/US9524130B2/en
Publication of JP2015005098A publication Critical patent/JP2015005098A/ja
Publication of JP2015005098A5 publication Critical patent/JP2015005098A5/ja
Application granted granted Critical
Publication of JP6065761B2 publication Critical patent/JP6065761B2/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/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
    • 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
    • G06F3/1209Improving or facilitating administration, e.g. print management resulting in adapted or bridged legacy communication protocols, e.g. emulation, protocol extension
    • 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/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • 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/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device

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)

Abstract

【課題】制御装置について、接続された印刷装置を、構造の異なる印刷装置に交換する際に、印刷装置の制御に係るプログラムに対する改変を抑制する。【解決手段】ホストコンピューター2は、入力されたステータスデータに基づく処理を実行可能な印刷制御部31と、印刷制御部31から出力された制御コマンドが入力された場合、応答データを出力する仮想第2印刷装置部32と、印刷制御部31から出力された制御コマンドが入力された場合、インクジェットプリンター3に対応した制御コマンドに変換して、インクジェットプリンター3に出力すると共に、インクジェットプリンター3からのステータスデータが入力された場合、入力されたステータスデータを、サーマルプリンター5とインクジェットプリンター3との構造の差異に応じて、サーマルプリンター5に対応したデータに変換し、印刷制御部31に出力するデータ処理部33と、を備えている。【選択図】図2

Description

本発明は、印刷装置に接続された制御装置、当該印刷装置の制御方法、および、当該印刷装置を制御するためのプログラムに関する。
従来、制御装置(印刷制御装置)と、印刷装置(プリンター)とが接続され、印刷装置から制御装置に対して、ステータスデータ(ステータス情報)が送信されるシステムが知られている(例えば、特許文献1参照)。
特開2011−118597号公報
上述したシステムのように制御装置が印刷装置を制御するものでは、一般に、制御装置にアプリケーション、および、プリンタードライバーがインストールされ、制御装置は、これらプログラムの機能により、印刷装置を制御する。
ここで、上述したシステムにおいて、制御装置に接続する印刷装置を、構造の異なる他の印刷装置に交換する場合を想定する。交換前の印刷装置と、交換後の印刷装置とでは、その構造上の差異に起因してステータスデータの態様が異なる蓋然性が高い。例えば、交換前の印刷装置がサーマルプリンターであり、交換後の印刷装置がカラープリンターである場合、交換前の印刷装置が出力するステータスデータには、インクに関するステータスデータが含まれない。このような場合において、構造の差異に起因してステータスデータの態様が異なることを踏まえ、制御に係るプログラム(上記例では、アプリケーション、および、プリンタードライバー)に対する改変をできるだけ抑制しつつ印刷装置の交換を実行できれば、交換に係る作業が容易になり、ユーザーの利便性が向上する。
本発明は、上述した事情に鑑みてなされたものであり、制御装置について、接続された印刷装置を、構造の異なる印刷装置に交換する際に、印刷装置の制御に係るプログラムの改変を抑制することを目的とする。
上記目的を達成するために、本発明の制御装置は、第1の印刷装置に接続され、前記第1の印刷装置とは構造が異なる第2の印刷装置に対応した制御コマンドを生成して出力可能であると共に、前記第2の印刷装置に対応したステータスデータが入力され、入力されたステータスデータに基づく処理を実行可能な印刷制御部と、前記印刷制御部から出力された制御コマンドが入力可能に構成され、制御コマンドが入力された場合、第2の印刷装置に対応した応答データを前記印刷制御部に出力する仮想第2印刷装置部と、前記印刷制御部から出力された制御コマンドが入力可能に構成され、制御コマンドが入力された場合、前記第1の印刷装置に対応した制御コマンドに変換して、前記第1の印刷装置に出力すると共に、接続された前記第1の印刷装置からのステータスデータが入力可能に構成され、ステータスデータが入力された場合、前記ステータスデータを、前記第1の印刷装置と前記第2の印刷装置との構造の差異に応じて、前記第2の印刷装置に対応したデータに変換し、前記印刷制御部に出力するデータ処理部と、を備えることを特徴とする。
この構成によれば、印刷制御部による第2の印刷装置に対応する制御コマンドの出力があった場合は、仮想第2印刷装置部の機能により、印刷制御部に対してその応答が行われる。つまり、印刷制御部は、第1の印刷装置に対応する制御コマンドを出力することなく、第2の印刷装置が接続されている場合と同様に処理を継続して実行することが可能であり、接続される印刷装置を第2の印刷装置から第1の印刷装置に交換した場合であっても、印刷制御部による制御コマンドの生成、出力に係る機能を実現するプログラムについて、印刷制御部が第1の印刷装置に対応する制御コマンドを出力するような改変を行う必要がない。
その上で、上記構成によれば、データ処理部は、接続された第1の印刷装置からステータスデータが入力された場合、入力されたステータスデータを、第1の印刷装置と第2の印刷装置との構造の差異に応じて、第2の印刷装置に対応したステータスデータに変換し、印刷制御部に出力する。つまり、データ処理部から印刷制御部に対して、第1の印刷装置と第2の印刷装置との構造の差異を踏まえたステータスデータが出力される。このため、制御装置に接続される印刷装置を、第2の印刷装置から第1の印刷装置へと交換した場合であっても、印刷制御部は、第2の印刷装置に対応するステータスデータを受け付け、当該データに基づく処理を実行可能であればよく、印刷制御部の機能を実現するプログラムについて、第1の印刷装置のステータスデータに対応するための改変を施す必要が無い。つまり、制御装置に接続された印刷装置を、構造の異なる印刷装置に交換する際に、印刷装置の制御に係るプログラムの改変を抑制することが可能となる。
また、本発明は、前記データ処理部は、前記第1の印刷装置からステータスデータが入力された場合、入力されたステータスデータと内容の同一性を有し、前記第2の印刷装置に対応したステータスデータである対応ステータスデータが存在するか否かを判別し、存在する場合は、入力されたステータスデータを対応ステータスデータに変換して前記印刷制御部に出力することを特徴とする。
ここで、構造の異なる印刷装置であっても、双方の印刷装置が、内容が同一のステータスデータを送信可能な場合がある。例えば、双方の印刷装置にカバーが設けられており、双方の印刷装置がカバーオープンを示すステータスデータを送信可能な場合がある。
そして、上記構成によれば、データ処理部は、第1の印刷装置からステータスデータが入力された場合、対応ステータスデータが存在する場合は、入力されたステータスデータを対応ステータスデータに変換して印刷制御部に出力するため、第1の印刷装置のステータスについて、的確に、印刷制御部に通知することが可能となる。
また、本発明は、前記データ処理部は、前記対応ステータスデータが存在するか否かの判別の結果、対応ステータスデータが存在しない場合であって、入力されたステータスデータが、前記印刷制御部による制御コマンドの出力を停止すべきエラーが発生していることを示すエラー通知データである場合は、前記印刷制御部に対して制御コマンドの出力を停止させるデータを出力すると共に、前記エラーの内容を報知することを特徴とする。
この構成によれば、第1の印刷装置から入力されたステータスデータに対応する対応ステータスデータが存在しない場合であっても、印刷制御部による制御コマンドの出力を停止すべきエラーが発生している場合には、制御コマンドの出力を停止させることができると共に、当該エラーの内容をユーザーに報知することが可能である。
また、本発明は、前記データ処理部は、前記対応ステータスデータが存在するか否かの判別の結果、対応ステータスデータが存在しない場合であって、入力されたステータスデータが、前記エラー通知データでない場合、入力されたステータスデータが示すステータスの内容を報知することを特徴とする。
この構成によれば、第1の印刷装置から入力されたステータスデータに対応する対応ステータスデータが存在しない場合であっても、そのステータスデータが示すステータスをユーザーに認識させ、対応する処理を行わせることができる。
また、本発明は、前記印刷制御部は、前記第2の印刷装置に対応するステータスデータであって、ステータスをフラグの状態で表わすステータスデータであるフラグステータスデータに基づく処理を実行可能に構成され、前記データ処理部は、接続された前記第1の印刷装置から入力されたステータスデータに基づいて前記第1の印刷装置のステータスに変化があったか否かを監視し、ステータスに変化があった場合、フラグステータスデータについて、変化したステータスに係るフラグを立てたフラグステータスデータを前記印刷制御部に出力することを特徴とする。
この構成によれば、フラグステータスデータを利用して、第1の印刷装置のステータスに変化があった場合に、印刷制御部に的確にその変化を通知可能である。
また、上記目的を達成するために、本発明の制御装置の制御方法は、第1の印刷装置に接続され、前記第1の印刷装置とは構造が異なる第2の印刷装置に対応した制御コマンドを生成して出力可能であると共に、前記第2の印刷装置に対応したステータスデータが入力され、入力されたステータスデータに基づく処理を実行可能な印刷制御部と、前記印刷制御部から出力された制御コマンドが入力可能に構成され、制御コマンドが入力された場合、第2の印刷装置に対応した応答データを前記印刷制御部に出力する仮想第2印刷装置部と、を備える制御装置を制御して、前記印刷制御部から出力された制御コマンドを、前記第1の印刷装置に対応した制御コマンドに変換して、前記第1の印刷装置に出力すると共に、接続された前記第1の印刷装置からのステータスデータが入力された場合、前記ステータスデータを、前記第1の印刷装置と前記第2の印刷装置との構造の差異に応じて、前記第2の印刷装置に対応したデータに変換し、前記印刷制御部に出力することを特徴とする。
この構成によれば、印刷制御部による第2の印刷装置に対応する制御コマンドの出力があった場合は、仮想第2印刷装置部の機能により、適切な応答が行われるため、印刷制御部31の制御コマンドの生成、出力に係るプログラムについて、改変を行う必要がない。
その上で、上記構成によれば、データ処理部の機能により、第1の印刷装置からステータスデータが入力された場合、データの変換が適切に行われて印刷制御部に出力されるため、印刷制御部のステータスデータの処理に係るプログラムについて、改変を行う必要がない。つまり、印刷制御部の機能を実現するプログラムについて、交換に伴う改変を抑制でき、交換に係る作業が容易になる。
また、上記目的を達成するために、本発明は、第1の印刷装置に接続された制御装置を制御する制御部により実行可能なプログラムであって、前記制御部を、前記第1の印刷装置とは構造が異なる第2の印刷装置に対応した制御コマンドを生成して出力可能であると共に、前記第2の印刷装置に対応したステータスデータが入力され、入力されたステータスデータに基づく処理を実行可能な印刷制御部と、前記印刷制御部から出力された制御コマンドが入力可能に構成され、制御コマンドが入力された場合、第2の印刷装置に対応した応答データを前記印刷制御部に出力する仮想第2印刷装置部と、前記印刷制御部から出力された制御コマンドが入力可能に構成され、制御コマンドが入力された場合、前記第1の印刷装置に対応した制御コマンドに変換して、前記第1の印刷装置に出力すると共に、接続された前記第1の印刷装置からのステータスデータが入力可能に構成され、ステータスデータが入力された場合、前記ステータスデータを、前記第1の印刷装置と前記第2の印刷装置との構造の差異に応じて、前記第2の印刷装置に対応したデータに変換し、前記印刷制御部に出力するデータ処理部と、として機能させることを特徴とする。
この構成によれば、印刷制御部による第2の印刷装置に対応する制御コマンドの出力があった場合は、仮想第2印刷装置部の機能により、適切な応答が行われるため、印刷制御部の制御コマンドの生成、出力に係るプログラムについて、改変を行う必要がない。
その上で、上記構成によれば、データ処理部の機能により、第1の印刷装置からステータスデータが入力された場合、データの変換が適切に行われて印刷制御部に出力されるため、印刷制御部のステータスデータの処理に係るプログラムについて、改変を行う必要がない。つまり、印刷制御部の機能を実現するプログラムについて、交換に伴う改変を抑制でき、交換に係る作業が容易になる。
本発明によれば、制御装置について、接続された印刷装置を、構造の異なる印刷装置に交換する際に、印刷装置の制御に係るプログラムの改変を抑制できる。
本実施形態に係る制御システムの機能的構成を示すブロック図である。 ホストコンピューターの機能的構成を詳細に示すブロック図である。 ホストコンピューターの動作を示すフローチャートである。 ホストコンピューターの動作を示すフローチャートである。 フラグステータスデータのデータ構造を示す図である。 ホストコンピューターの動作を示すフローチャートである。
以下、図面を参照して本発明の実施形態について説明する。
<第1実施形態>
図1は、本実施形態に係る制御システム1の構成を示す機能ブロック図である。
図1に示すように、制御システム1は、ホストコンピューター2(制御装置)と、このホストコンピューター2に接続され、ホストコンピューター2の制御の下、記録媒体への画像の印刷を行うインクジェットプリンター3(第1の印刷装置)と、を備えている。
制御システム1は、スーパーマーケットや、コンビニエンスストア等の店舗に適用される、いわゆるPOSシステムの一部を構成する。制御システム1に係るPOSシステムが適用される店舗では、複数のレジカウンターが設けられる。そして、レジカウンターのそれぞれに、制御システム1が構築される。制御システム1は、少なくとも、レジカウンターにおける会計に基づいて、レシートを発行する機能を有している。
インクジェットプリンター3は、カラー印刷が可能なインクジェット方式のプリンターである。ホストコンピューター2に、インクジェットプリンター3が接続される前は、サーマルプリンター5(第2の印刷装置)が接続されていた。このサーマルプリンター5は、グレースケール印刷が可能なサーマル方式のプリンターである。
交換後のインクジェットプリンター3と、交換前のサーマルプリンター5とは、その構造が異なっている。
そして、本実施形態に係る制御システム1は、サーマルプリンター5をインクジェットプリンター3に交換する際に、ホストコンピューター2のソフトウェアの改変を抑制し、交換に係る作業を容易にし、ユーザーの利便性を向上させることを、目的の1つとしている。
ホストコンピューター2は、いわゆるPOS端末として機能する装置であり、図1に示すように、ホスト制御部10(制御部)と、ホスト入力部11と、ホスト表示部12と、ホスト記憶部13と、デバイス通信部14と、インターフェース部15と、を備えている。
ホスト制御部10は、CPUや、ROM、RAM、その他の周辺回路等を備え、ホストコンピューター2の各部を制御する。ホスト制御部10は、機能ブロックとして、印刷制御部31と、仮想第2印刷装置部32と、データ処理部33と、を備えているが、これらについては後述する。
ホスト入力部11は、キーボード等の入力デバイスに接続され、入力デバイスに対する入力を検出し、ホスト制御部10に出力する。ホスト表示部12は、液晶表示パネル等の表示パネル16を備え、ホスト制御部10の制御の下、各種データを表示する。
ホスト記憶部13は、ハードディスクやEEPROM等のメモリーを備え、各種データを不揮発的に書き換え可能に記憶する。ホストコンピューター2には、POSアプリケーションAP、および、サーマルプリンタードライバーSPDがインストールされている。POSアプリケーションAPは、少なくとも、レシートの発行に際し、レシートの発行に必要な情報を含んだデータ(以下、「印刷データ」という。)を生成し、サーマルプリンタードライバーSPDに対して出力する機能を有している。サーマルプリンタードライバーSPDは、サーマルプリンター5の制御に係るプリンタードライバーである。サーマルプリンタードライバーSPDは、少なくとも、POSアプリケーションAPから入力された印刷データに基づいて、サーマルプリンター5のコマンド体系に準拠した制御コマンドを生成し、出力する機能を有している。
デバイス通信部14は、商品やその包装に付されたバーコードを読み取るバーコードリーダー、会員カード等のカードに記録された情報を読み取るカードリーダー、紙幣や硬貨を収容するレジスター等の各デバイスに接続される。デバイス通信部14は、ホスト制御部10の制御の下、各デバイスと通信する。インターフェース部15は、後述する通信ポートTPを含んで構成され、ホスト制御部10の制御の下、インクジェットプリンター3と所定の通信規格に準拠して通信する。
図1における図示は省略したが、ホストコンピューター2は、LANや、インターネット等のネットワークを介して、POS管理サーバーと通信可能である。POS管理サーバーは、商品マスターや、顧客マスターを記憶し、POSシステム全体を管理する。ホストコンピューター2は、レシートの発行に際し、適宜、POS管理サーバーにアクセスし、商品名や、商品単価、顧客に関する情報等、必要な情報を取得する。
また、図1に示すように、インクジェットプリンター3は、インクプリンター制御部20と、インクジェットプリント機構21と、インターフェース部22と、を備えている。
インクプリンター制御部20は、CPUや、ROM、RAM、その他の周辺回路等を備え、インクジェットプリンター3の各部を制御する。インクジェットプリント機構21は、インクジェットヘッドや、ヘッドを走査させるキャリッジ、記録媒体の搬送機構、記録媒体を切断する切断機構等を備えている。インクジェットヘッドは、複数の色のインクカートリッジからインクの供給を受け、カラー印刷が可能である。インターフェース部22は、インクプリンター制御部20の制御の下、ホストコンピューター2と所定の通信規格に準拠して通信する。
上述したように、サーマルプリンター5は、ホストコンピューター2に接続される印刷装置が、インクジェットプリンター3に交換される前に、ホストコンピューター2に接続されていた印刷装置である。
図1に示すように、サーマルプリンター5は、サーマルプリンター制御部25と、サーマルプリント機構26と、インターフェース部27と、を備えている。
サーマルプリンター制御部25は、CPUや、ROM、RAM、その他の周辺回路等を備え、サーマルプリンター5の各部を制御する。サーマルプリント機構26は、サーマルヘッドや、記録媒体の搬送機構、記録媒体を切断する切断機構等を備えている。インターフェース部27は、サーマルプリンター制御部25の制御の下、ホストコンピューター2と所定の通信規格に準拠して通信する。
ところで、上述の通り、ホストコンピューター2に接続された印刷装置は、サーマルプリンター5からインクジェットプリンター3へと交換されているが、本実施形態に係るホストコンピューター2は、以下の構成により、交換時にPOSアプリケーションAP、および、サーマルプリンタードライバーSPDに対する改変を不要とし、交換に係る作業を容易にしている。以下、詳述する。
図2は、ホストコンピューター2の機能的構成をより詳細に示す図である。
図2では、説明の便宜のため、機能ブロックや、プログラム、ソフトウェア的(論理的)なポート、物理的な装置等を、同等のブロックで表現している。
なお、以下で説明する機能ブロックのそれぞれの機能は、CPUがプログラムを読み出して実行する等、ハードウェアとソフトウェアとの協働により実現される。
ホスト制御部10が備える印刷制御部31は、サーマルプリンター5(第2の印刷装置)に対応した制御コマンドを生成して出力可能であると共に、後述するように、サーマルプリンター5に対応したステータスデータが入力され、入力されたステータスデータに基づく処理を実行可能な機能ブロックである。
レシートの発行に際し、印刷制御部31は、POSアプリケーションAPの機能により、上述した印刷データを生成し、サーマルプリンタードライバーSPDに出力する。さらに、印刷制御部31は、サーマルプリンタードライバーSPDの機能により、印刷データに基づいて、サーマルプリンター5のコマンド体系に準拠した制御コマンド(第2の印刷装置に対応した制御コマンド)を生成し、ソフトウェア的(論理的)なポートとして開放されている第1仮想ポートP1に出力する。
なお、所定のデータについては、POSアプリケーションAPが生成した後、直接、第1仮想ポートP1に出力され、また、第1仮想ポートP1を介して、直接、POSアプリケーションAPに入力される。
印刷制御部31により第1仮想ポートP1に出力された制御コマンドは、ポートハンドラー35に引き渡される。すなわち、印刷制御部31は、生成した制御コマンドを、第1仮想ポートP1を介してポートハンドラー35に出力する。
データ処理部33は、ホスト制御部10が備える機能ブロックであり、図2に示すように、機能ブロックとして、ポートハンドラー35、および、データ解析/変換部36を備えている。
データ処理部33は、詳細は後述するが、印刷制御部31から出力された制御コマンドが入力可能に構成され、印刷制御部31からの制御コマンドが入力された場合、インクジェットプリンター3に対応した制御コマンドに変換して、インクジェットプリンター3に出力する。さらに、データ処理部33は、詳細は後述するが、接続されたインクジェットプリンター3からのステータスデータが入力可能に構成され、インクジェットプリンター3からのステータスデータが入力された場合、当該ステータスデータを、インクジェットプリンター3とサーマルプリンター5との構造の差異に応じて、サーマルプリンター5に対応したデータに変換し、印刷制御部31に出力する。
データ処理部33は、POSアプリケーションAP、および、サーマルプリンタードライバーSPDの機能を拡張することを1つの目的としている。後に明らかとなるとおり、本実施形態では、POSアプリケーションAP、および、サーマルプリンタードライバーSPDに対する改変を伴うことなく印刷装置の交換が行われているが、これは、データ処理部33、および、後述する仮想第2印刷装置部32の協働により実現されている。
ポートハンドラー35は、少なくとも、以下の機能を有している。
ポートハンドラー35の1つの機能は、第1仮想ポートP1、第2仮想ポートP2(後述)、および、通信ポートTP(後述)のいずれかを介して入力されたデータ(例えば、第1仮想ポートP1を介して入力された制御コマンド)をデータ解析/変換部36(後述)に出力する機能である。
ポートハンドラー35の別の機能は、データ解析/変換部36から入力されたデータを、第1仮想ポートP1、第2仮想ポートP2(後述)、および、通信ポートTP(後述)のいずれかに出力すると共に、出力の際に、PCS(Port Communication Service)の機能により、出力するポートに対応したデータ変換を行う機能である。
PCSとは、サーマルプリンタードライバーSPDを含むプログラムから呼び出し可能な関数であり、インターフェースの規格(RS232Cや、USB等の規格)に対応したデータ変換を行なう機能を有している。PCSにより、各種インターフェースの規格の差異が吸収され、POSアプリケーションAPや、サーマルプリンタードライバーSPDに対して各種インターフェースの規格の差異に起因したソフトウェア的な改変を行なう必要が無くなる。
データ解析/変換部36は、ポートハンドラー35から入力されたデータを解析する機能、および、解析結果に基づいて、データの変換を含む、後述する各種処理を実行する機能を有する機能ブロックである。
このデータ解析/変換部36の機能は、OPOSや、UPOSが提供するAPI関数を利用して作成されたプログラムによって実現される。そして、データ解析/変換部36に係るプログラムは、同じくOPOSや、UPOSの規格に準拠したサーマルプリンタードライバーSPDによって、適宜、呼び出し可能な構成となっている。
図2に示すように、ポートハンドラー35は、物理的なポートである通信ポートTPとの間でデータの入出力が可能である。この通信ポートTPは、例えば、USBの通信規格に係る通信ポートであり、通信ポートTPには、対応する通信規格に準拠した通信ケーブルを介してインクジェットプリンター3が接続されている。
また、ポートハンドラー35は、ソフトウェア的な(論理的な)ポートとして開放されている第2仮想ポートP2との間でデータの入出力が可能である。この第2仮想ポートP2には、仮想第2印刷装置部32が接続されている。
仮想第2印刷装置部32は、印刷制御部31から出力された制御コマンドが、第1仮想ポートP1を介して入力可能に構成され、制御コマンドが入力された場合、サーマルプリンター5に対応した応答データ(第2の印刷装置に対応した応答データ)を、印刷制御部31に出力する。
この仮想第2印刷装置部32は、印刷制御部31との関係において、サーマルプリンター5として振る舞い、印刷制御部31に対して適切に応答する機能を有する。これにより、印刷制御部31は、サーマルプリンター5が接続されている場合と同様に、通常の処理を継続して実行することが可能である。つまり、印刷制御部31は、各種処理をインクジェットプリンター3に行わせる際に、サーマルプリンター5が接続されている場合と同様の処理を実行する。これにより、印刷装置の交換に際して、印刷制御部31の機能を実現するためのプログラムであるPOSアプリケーションAP、および、サーマルプリンタードライバーSPDの改変が不要となる。
なお、階層型のオペレーティングシステムにおいて、印刷制御部31、仮想第2印刷装置部32、および、データ処理部33はアプリケーション層S1に位置し、また、第1仮想ポートP1、および、第2仮想ポートP2はカーネル層S2に位置し、また、通信ポートTPは物理層S3に位置する。
以下、レシートを発行する際の印刷制御部31、仮想第2印刷装置部32、および、データ処理部33の基本的な動作について説明する。
図3は、レシート発行時の各機能ブロックの動作を示すフローチャートであり、(A)は印刷制御部31の動作を、(B)はデータ処理部33の動作を、(C)は仮想第2印刷装置部32の動作をそれぞれ示している。
ここで、本実施形態に係るサーマルプリンタードライバーSPDは、制御コマンドを生成して出力した後、一定の期間、待機する。待機期間中に、制御コマンドの受信が完了した旨の応答データが入力された場合は、印刷装置による制御コマンドの受信が正常に完了したものとして、待機期間のカウントの解除等の予め定められた処理を実行する。一方、上記待機期間中に、制御コマンドの受信が完了した旨の応答データが入力されなかった場合は、サーマルプリンタードライバーSPDは、印刷装置による制御コマンドの受信が正常に完了しなかったものとして、以後、表示パネル16にエラーを表示する等して、エラーの発生を報知すると共に、ユーザーによる指示があるまでは、制御コマンドの出力を停止する。
つまり、印刷制御部31が、通常の処理を継続して行うためには、印刷制御部31による制御コマンドの出力後、待機期間中に、所定の応答データが返ってくる必要がある。
図3を参照し、レシートの発行に際し、印刷制御部31は、サーマルプリンター5のコマンド形式に準拠した制御コマンドを生成し(ステップSA1)、第1仮想ポートP1を介して、データ処理部33のポートハンドラー35に出力する(ステップSA2)。印刷制御部31は、制御コマンドの出力に応じて、待機期間のカウントを開始する(ステップSA3)。
データ処理部33のポートハンドラー35は、入力された制御コマンドをデータ解析/変換部36に出力する(ステップSB1)。
データ処理部33のデータ解析/変換部36は、入力された制御コマンドを解析し、制御コマンドが、サーマルプリンター5のコマンド体系に準拠した制御コマンドであって、レシートの発行を指示する制御コマンドであることを認識する(ステップSB2)。
次いで、データ解析/変換部36は、上記認識の下、インクジェットプリンター3にレシートを発行させるべく、以下の処理を実行する。すなわち、データ解析/変換部36は、制御コマンドを、インクジェットプリンター3のコマンド体系に準拠した制御コマンドであって、インクジェットプリンター3にレシートの発行に係る各種処理を実行させる制御コマンド(第1の印刷装置に対応した制御コマンド)に変換する(ステップSB3)。なお、データ解析/変換部36の機能を実現するプログラムには、予め定められた規則に準じて制御コマンドの変換を行う機能が実装されている。ここで、変換された制御コマンドは、インクジェットプリンター3が実行可能な制御コマンドであって、適切にカラー化が施された画像の印刷の実行を指示する制御コマンドである。
制御コマンドの変換後、データ解析/変換部36は、出力先のポートとして通信ポートTPを指定する情報と共に、変換後の制御コマンドをポートハンドラー35に出力する(ステップSB4)。
ポートハンドラー35は、指定された通信ポートTPに応じたデータ処理を実行すると共に、通信ポートTPを介して、変換後の制御コマンドをインクジェットプリンター3に送信する(ステップSB5)。変換後の制御コマンドを受信したインクジェットプリンター3のインクプリンター制御部20は、制御コマンドに基づいて各種処理を実行して、レシートを発行する。
次いで、データ解析/変換部36は、入力された制御コマンド、すなわち、サーマルプリンター5のコマンド体系に準拠した制御コマンドを、出力先のポートとして第2仮想ポートP2を指定する情報と共に、ポートハンドラー35に出力する(ステップSB6)。ポートハンドラー35は、指定された第2仮想ポートP2に応じたデータ処理を実行すると共に、第2仮想ポートP2を介して、制御コマンドを仮想第2印刷装置部32に出力する(ステップSB7)。
制御コマンドが入力されると、仮想第2印刷装置部32は、制御コマンドに対応する応答データを特定する(ステップSC1)。ここで、ホスト記憶部13の所定の記憶領域には、入力された制御コマンドと、制御コマンドが入力されたときに出力すべき応答データとが対応付けられたテーブルが記憶されている。当該テーブルは、仮想第2印刷装置部32の機能を実現するためのプログラム上に定義されていてもよい。ステップSC1において、仮想第2印刷装置部32は、上記テーブルを利用して、入力された制御コマンドに対応する応答データを特定する。
応答データは、サーマルプリンター5のコマンド体系に準拠したデータである。
次いで、仮想第2印刷装置部32は、ステップSC1で特定した応答データを、第2仮想ポートP2を介して、ポートハンドラー35に出力する(ステップSC2)。
ポートハンドラー35は、入力された応答データをデータ解析/変換部36に出力する(ステップSB8)。
データ処理部33のデータ解析/変換部36は、入力された応答データを解析し、制御コマンドが、サーマルプリンター5のコマンド体系に準拠した応答データであって、レシートの発行を指示する制御コマンドに応答したものであることを認識する(ステップSB9)。
次いで、データ解析/変換部36は、上記認識の下、印刷制御部31に応答データを出力すべく、出力先のポートとして第1仮想ポートP1を指定する情報と共に、応答データをポートハンドラー35に出力する(ステップSB10)。
ポートハンドラー35は、指定された第1仮想ポートP1に応じたデータ処理を実行すると共に、第1仮想ポートP1を介して、応答データを印刷制御部31に出力する(ステップSB11)。
応答データが入力されると、印刷制御部31は、サーマルプリンタードライバーSPDの機能により、待機期間のカウントの解除を含む、印刷装置による制御コマンドの受信が正常に完了した場合に実行すべき処理を実行する(ステップSA4)。
以上のように、レシートの発行に際し、印刷制御部31は、交換前の印刷装置であるサーマルプリンター5に出力していた制御コマンドを出力する。つまり、印刷装置の交換の前後で、印刷制御部31の機能を実現するためのプログラムに対する改変は行われない。そして、印刷制御部31がサーマルプリンター5に対応する制御コマンドを出力しても、データ処理部33および仮想第2印刷装置部32の協働により、レシートの発行、および、処理の正常終了が適切に行われる。
さて、交換前の印刷装置であるサーマルプリンター5はサーマル方式のプリンターであり、一方、交換後の印刷装置であるインクジェットプリンター3はインクジェット方式のプリンターであり、これらはその構造が相違している。
ここで、サーマルプリンター5およびインクジェットプリンター3のそれぞれには、所定のタイミングで、自身のステータス(状態)を示すステータスデータを送信する機能が実装されている。所定のタイミングとは、例えば、ステータスに変更があった場合や、ホストコンピューター2から問い合わせがあった場合である。
ステータスデータは、ステータスを示す情報が含まれた所定のフォーマットのデータである。
本実施形態では、サーマルプリンター5には、少なくとも、セットされたロール紙が紙切れに近い状態(以下、「サーマル側ニア紙切れ状態」という。)となったこと、および、セットされたロール紙が紙切れの状態(以下、「サーマル側リアル紙切れ状態」という。)となったことを示すステータスデータを送信する機能が実装されている。
また、本実施形態では、インクジェットプリンター3には、少なくとも、セットされたロール紙が紙切れに近い状態(以下、「インク側ニア紙切れ状態」という。)となったこと、セットされたロール紙が紙切れの状態(以下、「インク側リアル紙切れ状態」という。)となったこと、インクがインク切れに近い状態(以下、「ニアインク切れ状態」という。)となったこと、および、インクがインク切れの状態(以下、「リアルインク切れ状態」という。)となったことを示すステータスデータを送信する機能が実装されている。なお、以下の説明では、説明の便宜のため、インクの色を区別しない。
ここで、サーマルプリンター5は、インクに関するステータスデータを送信する機能を有しておらず、この点で、インクジェットプリンター3と異なっている。
このように、交換前の印刷装置(サーマルプリンター5)と、交換後の印刷装置(インクジェットプリンター3)とは、構造の相違に由来して、ステータスデータの態様が異なっている。
そして、本実施形態では、印刷装置の交換の前後で印刷制御部31に係るプログラムに改変を加えることなく、データ処理部33の機能により、ステータスデータの態様の相違に対応する。以下、詳述する。
図4は、印刷制御部31のステータスデータの処理に係る動作を示すフローチャートである。
ポートハンドラー35は、インクジェットプリンター3からステータスデータが入力されたか否かを監視する(ステップSD1)。
ステータスデータが入力された場合(ステップSD1:YES)、ポートハンドラー35は、入力されたステータスデータを、データ解析/変換部36に出力する(ステップSD2)。
データ解析/変換部36は、入力されたステータスデータについて、入力されたステータスデータと内容の同一性を有し、サーマルプリンター5に対応したステータスデータである対応ステータスデータが存在するか否かを判別する(ステップSD3)。以下、ステップSB3の処理について詳述する。
上述した、サーマル側ニア紙切れ状態と、インク側ニア紙切れ状態とは、共に、セットされたロール紙が紙切れに近い状態であることを示しており、同一性を有する状態である。従って、サーマル側ニア紙切れ状態を示すステータスデータと、インク側ニア紙切れ状態を示すステータスデータとは、その内容に同一性がある。よって、本例では、インク側ニア紙切れ状態を示すステータスデータにとって、サーマル側ニア紙切れ状態を示すステータスデータが対応ステータスデータに該当する。
同様の理由により、本例では、インク側リアル紙切れ状態を示すステータスデータにとって、サーマル側リアル紙切れ状態を示すステータスデータが対応ステータスに該当する。
これを踏まえ、ステップSB3において、データ解析/変換部36は、入力されたステータスデータが、インク側ニア紙切れ状態を示すステータスデータ、または、インク側リアル紙切れ状態を示すステータスデータの場合、対応ステータスデータが存在すると判別する。本実施形態において、上記判別は、以下のようにして実行される。すなわち、ホスト記憶部13には、インクジェットプリンター3が送信するステータスデータについて、対応ステータスデータが存在するものについては、ステータスデータと、対応ステータスデータとが対応付けられたテーブルであるステータス対応テーブルTBL1が記憶されている。本例では、このテーブルにおいて、インク側ニア紙切れ状態を示すステータスデータと、サーマル側ニア紙切れ状態を示すステータスデータとが対応付けられると共に、インク側リアル紙切れ状態を示すステータスデータと、サーマル側リアル紙切れ状態を示すステータスデータとが対応付けられる。このテーブルはプログラム上に定義されていてもよい。そして、ステップSD3において、データ解析/変換部36は、上記テーブルを参照し、入力されたステータスデータについて、対応ステータスデータが存在するか否かを判別する。
ステップSD3において、対応ステータスデータが存在すると判別した場合(ステップSD3:YES)、データ解析/変換部36は、ステータス対応テーブルTBL1を参照して、対応ステータスデータを取得する(ステップSD4)。次いで、データ解析/変換部36は、出力ポートとして第1仮想ポートP1を指定する情報と共に、ステップSD4で取得した対応ステータスデータをポートハンドラー35に出力する(ステップSD5)。ポートハンドラー35は、対応ステータスデータについて、必要なデータ処理を施した後、第1仮想ポートP1を介して、印刷制御部31に出力する(ステップSD6)。
このように、インクジェットプリンター3から入力されたステータスデータについて対応ステータスデータが存在する場合は、対応ステータスデータが印刷制御部31に入力される。そして、上述したように、印刷制御部31は、サーマルプリンター5に対応したステータスデータを処理可能である。例えば、サーマルプリンター5にサーマル側ニア紙切れ状態が発生し、その旨を表示パネル16に表示する構成となっていた場合、印刷制御部31は、インクジェットプリンター3にインク側ニア紙切れ状態が発生した場合も、同様の処理を実行する。また例えば、サーマルプリンター5にサーマル側リアル紙切れ状態が発生し、その旨を表示パネル16に表示すると共に、サーマルプリンター5への制御コマンドの出力を停止して当該プリンターの動作を停止する構成となっていた場合、印刷制御部31は、インクジェットプリンター3にインク側リアル紙切れ状態が発生した場合も、同様の処理を実行する。
一方で、ステップSD3において、対応ステータスデータが存在しないと判別した場合(ステップSD3:NO)、データ解析/変換部36は、入力されたステータスデータの内容を分析し、当該ステータスデータが、エラー通知データであるか否かを判別する(ステップSD7)。
エラー通知データとは、印刷制御部31による制御コマンドの出力を停止することによって、インクジェットプリンター3の動作を停止すべき状況のようなエラーが発生していることを示すステータスデータのことである。本例では、リアルインク切れ状態を示すステータスデータが、エラー通知データに該当する。
ステータスデータごとに、エラー通知データであるか否かが予め設定されており、各ステータスデータがエラー通知データであるか否かを示す情報を含むデータがホスト記憶部13に記憶されている。ステップSD7では、データ解析/変換部36は、当該データを参照して、判別を実行する。
ステータスデータが、エラー通知データである場合(ステップSD7:YES)、データ解析/変換部36は、出力ポートとして第1仮想ポートP1を指定する情報と共に、制御コマンドの出力を停止させるデータ(以下、「出力停止データ」という。)をポートハンドラー35に出力する(ステップSD8)。
この出力停止データは、交換前のサーマルプリンター5が出力可能なデータであり、例えば、サーマルプリンター5がシリアル通信方式のインターフェースに対応している場合、制御コマンドの出力の停止を要求する信号(ビジー信号)に対応するデータである。
ポートハンドラー35は、出力停止データについて、必要なデータ処理を施した後、第1仮想ポートP1を介して、印刷制御部31に出力する(ステップSD9)。
このステップSD9の処理により、印刷制御部31は、ユーザーによる明示的な指示や、所定の処理(電源のオフ→オンや、リセット)が行われるまで、制御コマンドの出力を停止する。上述したように、印刷制御部31は、サーマルプリンター5に対応したステータスデータを処理可能であるため、上記処理が可能となる。
さらに、データ解析/変換部36は、ホスト表示部12を制御して、表示パネル16に、エラー通知データが示すエラーの内容を少なくとも含む情報を表示(報知)する(ステップSD10)。例えば、エラー通知データが、リアルインク切れ状態を示すステータスデータである場合は、データ解析/変換部36は、表示パネル16に、インクジェットプリンター3がリアルインク切れ状態である旨表示させる。エラー通知データごとに、表示すべき情報は予め定められており、プログラム上に、または、プログラムが参照可能なデータ上に定義されている。
なお、エラーの内容の報知の方法は、表示パネル16への表示に限らず、LEDが設けられている場合は、当該LEDを所定の態様で点灯/消灯したり、ブザー等によって音声により報知したりする方法でもよい。
このステップSD10の処理により、エラー通知データが示すエラーについて、ユーザーが的確に認識できる。つまり、本実施形態では、印刷制御部31に係るプログラムに対する改変を行うことなく、交換前のサーマルプリンター5に発生し得ないエラーが、インクジェットプリンター3に発生した場合に、その発生をユーザーに的確に認識させることができる。
一方で、ステータスデータが、エラー通知データでない場合(ステップSD7:NO)、データ解析/変換部36は、ホスト表示部12を制御して、表示パネル16に、ステータスデータが示すステータスの内容を少なくとも含む情報を表示(報知)する(ステップSD11)。これにより、ステータスデータが示すステータスについて、ユーザーが的確に認識できる。つまり、本実施形態では、印刷制御部31に係るプログラムの改変を行うことなく、交換前のサーマルプリンター5が対応していないステータスであって、インクジェットプリンター3が対応しているステータスについて、インクジェットプリンター3から通知があった場合に、当該ステータスをユーザーに的確に認識させることができる。
以上説明したように、本実施形態に係るホストコンピューター2(制御装置)は、サーマルプリンター5(第2の印刷装置)に対応した制御コマンドを生成して出力可能であると共に、サーマルプリンター5に対応したステータスデータが入力され、入力されたステータスデータに基づく処理を実行可能な印刷制御部31を備えている。また、ホストコンピューター2は、印刷制御部31から出力された制御コマンドが入力可能に構成され、制御コマンドが入力された場合、サーマルプリンター5に対応した応答データを印刷制御部31に出力する仮想第2印刷装置部32を備えている。また、ホストコンピューター2は、印刷制御部31から出力された制御コマンドが入力可能に構成され、印刷制御部31からの制御コマンドが入力された場合、インクジェットプリンター3に対応した制御コマンドに変換して、インクジェットプリンター3に出力すると共に、接続されたインクジェットプリンター3からのステータスデータが入力可能に構成され、インクジェットプリンター3からのステータスデータが入力された場合、入力されたステータスデータを、サーマルプリンター5とインクジェットプリンター3との構造の差異に応じて、サーマルプリンター5に対応したデータに変換し、印刷制御部31に出力するデータ処理部33を備えている。
この構成によれば、印刷制御部31によるサーマルプリンター5に対応する制御コマンドの出力があった場合は、仮想第2印刷装置部32の機能により、適切な応答が行われるため、印刷制御部31の制御コマンドの生成、出力に係るプログラムについて、改変を行う必要がない。
その上で、上記構成によれば、データ処理部33の機能により、インクジェットプリンター3からステータスデータが入力された場合、データの変換が適切に行われて印刷制御部31に出力されるため、印刷制御部31のステータスデータの処理に係るプログラムについて、改変を行う必要がない。つまり、印刷制御部31の機能を実現するプログラムについて、交換に伴う改変を抑制でき、交換に係る作業が容易になる。
また、本実施形態では、データ処理部33は、インクジェットプリンター3からステータスデータが入力された場合、入力されたステータスデータと内容の同一性を有し、サーマルプリンター5が出力可能なステータスデータである対応ステータスデータが存在するか否かを判別し、存在する場合は、入力されたステータスデータを対応ステータスデータに変換して印刷制御部31に出力する。
この構成によれば、データ処理部33は、インクジェットプリンター3からステータスデータが入力された場合、対応ステータスデータが存在する場合は、入力されたステータスデータを対応ステータスデータに変換して印刷制御部31に出力するため、インクジェットプリンター3のステータスについて、的確に、印刷制御部31に通知することが可能となると共に、印刷制御部31に対応する処理を実行させることが可能となる。
また、本実施形態では、データ処理部33は、対応ステータスデータが存在するか否かの判別の結果、対応ステータスデータが存在しない場合であって、入力されたステータスデータが、印刷制御部31による制御コマンドの出力を停止すべきエラーが発生していることを示すエラー通知データである場合は、印刷制御部31に対して制御コマンドの出力を停止させるデータを出力すると共に、当該エラーの内容を報知する。
この構成によれば、インクジェットプリンター3から入力されたステータスデータに対応する対応ステータスデータが存在しない場合であっても、印刷制御部31による制御コマンドの出力を停止すべきエラーが発生している場合には、制御コマンドの出力を停止させることができると共に、当該エラーの内容をユーザーに報知することが可能である。
また、本実施形態では、データ処理部33は、対応ステータスデータが存在するか否かの判別の結果、対応ステータスデータが存在しない場合であって、入力されたステータスデータが、エラー通知データでない場合、入力されたステータスデータが示すステータスの内容を報知する。
この構成によれば、インクジェットプリンター3から入力されたステータスデータに対応する対応ステータスデータが存在しない場合であっても、そのステータスデータが示すステータスをユーザーに認識させ、対応する処理を行わせることができる。
<第2実施形態>
次に、第2実施形態について説明する。
第2実施形態に係るデータ処理部33は、オートステータスバック対応機能を有している。
以下、オートステータスバック対応機能について、説明する。
交換前のサーマルプリンター5は、自身のステータスに変化があった場合、そのことを通知するフラグステータスデータを送信する構成となっている。
図5は、フラグステータスデータのデータ構造を示す図である。
図5に示すように、フラグステータスデータは、4バイトからなるデータである。そして、フラグステータスデータを構成するビットのそれぞれは、ステータスを表わすフラグとして機能する。図5の例では、1ビット目はサーマル側ニア紙切れ状態のフラグであり、2ビット目はサーマル側リアル紙切状態のフラグである。
サーマルプリンター5のサーマルプリンター制御部25は、自身のステータスを監視し、例えば、サーマル側ニア紙切れ状態となったことを検出した場合、1ビット目のフラグが立ったフラグステータスデータを生成し、送信する。当該ステータスデータが印刷制御部31に入力されると、印刷制御部31は、サーマルプリンタードライバーSPDの機能により、1つ前に入力されたステータスデータと、新たに入力されたステータスデータとの排他的論理和をとり、ビットの状態により、ステータスを認識する。印刷制御部31には、入力されたステータスデータを保持する機能、および、上述した排他的論理和を取ることによりステータスを認識する機能が実装されている。つまり、印刷制御部31は、サーマルプリンター5に対応したステータスデータであるフラグステータスデータに基づく処理を実行可能に構成されている。
図6は、ホストコンピューター2のオートステータスバック対応機能に係る動作を示すフローチャートである。
図6を参照し、インクジェットプリンター3が接続されている状況下において、データ解析/変換部36は、当該プリンターから入力されたステータスデータに基づいて、ステータスに変化があったか否かを監視する(ステップSE1)。例えば、データ解析/変換部36は、ステータスを問い合わせ、その応答に係るデータ(この場合、当該データが「ステータスデータ」に該当する。)に基づいて、ステータスに変化があったか否かを監視する。また例えば、インクジェットプリンター3は、自身のステータスに変化があった場合、その旨を示すデータ(この場合、当該データが「ステータスデータ」に該当する。)を送信する構成となっており、受信した当該データに基づいて、ステータスに変化があったか否かを監視する。
ステータスに変化があった場合(ステップSE1:YES)、データ解析/変換部36は、直近で印刷制御部31に対して出力されたフラグステータスデータを取得する(ステップSE2)。上述したように、印刷制御部31は、直近で入力されたフラグステータスデータを保持しており、新たにフラグステータスデータが入力された場合は、これらフラグステータスデータの比較結果に基づいて所定の処理を実行する。
ステップSE2の処理は、以下のようにして実行される。例えば、フラグステータスデータの印刷制御部31の出力がデータ解析/変換部36のみによって行われる場合は、データ解析/変換部36は、自身が出力したフラグステータスデータを記憶しておき、ステップSE2において記憶したフラグステータスデータを取得する。また、仮想第2印刷装置部32によってもフラグステータスデータの出力が実行される場合は、データ解析/変換部36は、自身が出力したフラグステータスデータ、および、仮想第2印刷装置部32が出力したフラグステータスデータのうち、直近のものを記憶しておき、ステップSE2において記憶したフラグステータスデータを取得する。また、印刷制御部31に問い合わせる構成であってもよい。この場合、印刷制御部31に係るプログラムに改変を行わないためには、当該プログラムに、上記問い合わせに対して応答する機能が実装されていることが前提となる。
次いで、データ解析/変換部36は、取得したフラグステータスデータについて、変化があったステータスに係るフラグを立てる(対応するビットの値を「0」から「1」へと変移させる。)(ステップSE3)。
次いで、データ解析/変換部36は、出力先のポートとして第1仮想ポートP1を指定する情報と共に、ステップSE3でフラグステータスデータをポートハンドラー35に出力する(ステップSE4)。ポートハンドラー35は、フラグステータスデータを第1仮想ポートP1を介して印刷制御部31に出力する(ステップSE5)。
上述したように、印刷制御部31は、記憶しておいた1つ前に入力されたステータスデータと、新たに入力されたステータスデータとの排他的論理和をとり、ビットの状態により、インクジェットプリンター3の変化があったステータスを認識する。
以上説明したように、本実施形態に係るデータ処理部33のデータ解析/変換部36は、接続されたインクジェットプリンター3から入力されたステータスデータに基づいてステータスに変化があったか否かを監視し、ステータスに変化があった場合、フラグステータスデータについて、変化したステータスに係るフラグを立てて印刷制御部31に出力する。
この構成によれば、フラグステータスデータを利用して、インクジェットプリンター3のステータスに変化があった場合に、印刷制御部31に的確にそのことを通知可能である。
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
上述した実施形態では、構造の異なる印刷装置として、サーマル式のプリンターと、インクジェット式のプリンターとを例にしたが、構造の異なる印刷装置はこれらプリンターに限られない。すなわち、制御装置に接続された印刷装置を、ある1の印刷装置から、構造の相違に起因してステータスデータの態様が異なる他の印刷装置に交換する場合一般に、本発明を適用可能である。
また、図1、2に示す各機能ブロックはハードウェアとソフトウェアの協働により任意に実現可能であり、特定のハードウェア構成を示唆するものではない。また、ホストコンピューター2の各機能を、これら装置に外部接続される別の装置に持たせてもよい。また、ホストコンピューター2は、外部接続される記憶媒体に記憶させたプログラムを実行することにより、各機能の動作を実現してもよい。
1…制御システム、2…ホストコンピューター(制御装置)、3…インクジェットプリンター(第1の印刷装置)、5…サーマルプリンター(第2の印刷装置)、10…ホスト制御部(制御部)、31…印刷制御部、32…仮想第2印刷装置部、33…データ処理部、35…ポートハンドラー(データ処理部)、36…データ解析/変換部(データ処理部)。

Claims (7)

  1. 第1の印刷装置に接続され、
    前記第1の印刷装置とは構造が異なる第2の印刷装置に対応した制御コマンドを生成して出力可能であると共に、前記第2の印刷装置に対応したステータスデータが入力され、入力されたステータスデータに基づく処理を実行可能な印刷制御部と、
    前記印刷制御部から出力された制御コマンドが入力可能に構成され、制御コマンドが入力された場合、第2の印刷装置に対応した応答データを前記印刷制御部に出力する仮想第2印刷装置部と、
    前記印刷制御部から出力された制御コマンドが入力可能に構成され、制御コマンドが入力された場合、前記第1の印刷装置に対応した制御コマンドに変換して、前記第1の印刷装置に出力すると共に、
    接続された前記第1の印刷装置からのステータスデータが入力可能に構成され、ステータスデータが入力された場合、前記ステータスデータを、前記第1の印刷装置と前記第2の印刷装置との構造の差異に応じて、前記第2の印刷装置に対応したデータに変換し、前記印刷制御部に出力するデータ処理部と、
    を備えることを特徴とする制御装置。
  2. 前記データ処理部は、
    前記第1の印刷装置からステータスデータが入力された場合、
    入力されたステータスデータと内容の同一性を有し、前記第2の印刷装置に対応したステータスデータである対応ステータスデータが存在するか否かを判別し、存在する場合は、入力されたステータスデータを対応ステータスデータに変換して前記印刷制御部に出力することを特徴とする請求項1に記載の制御装置。
  3. 前記データ処理部は、
    前記対応ステータスデータが存在するか否かの判別の結果、対応ステータスデータが存在しない場合であって、入力されたステータスデータが、前記印刷制御部による制御コマンドの出力を停止すべきエラーが発生していることを示すエラー通知データである場合は、前記印刷制御部に対して制御コマンドの出力を停止させるデータを出力すると共に、前記エラーの内容を報知することを特徴とする請求項2に記載の制御装置。
  4. 前記データ処理部は、
    前記対応ステータスデータが存在するか否かの判別の結果、対応ステータスデータが存在しない場合であって、入力されたステータスデータが、前記エラー通知データでない場合、入力されたステータスデータが示すステータスの内容を報知することを特徴とする請求項3に記載の制御装置。
  5. 前記印刷制御部は、
    前記第2の印刷装置に対応するステータスデータであって、ステータスをフラグの状態で表わすステータスデータであるフラグステータスデータに基づく処理を実行可能に構成され、
    前記データ処理部は、
    接続された前記第1の印刷装置から入力されたステータスデータに基づいて前記第1の印刷装置のステータスに変化があったか否かを監視し、ステータスに変化があった場合、変化したステータスに係るフラグを立てたフラグステータスデータを前記印刷制御部に出力することを特徴とする請求項1ないし4のいずれかに記載の制御装置。
  6. 第1の印刷装置に接続され、
    前記第1の印刷装置とは構造が異なる第2の印刷装置に対応した制御コマンドを生成して出力可能であると共に、前記第2の印刷装置に対応したステータスデータが入力され、入力されたステータスデータに基づく処理を実行可能な印刷制御部と、
    前記印刷制御部から出力された制御コマンドが入力可能に構成され、制御コマンドが入力された場合、第2の印刷装置に対応した応答データを前記印刷制御部に出力する仮想第2印刷装置部と、を備える制御装置を制御して、
    前記印刷制御部から出力された制御コマンドを、前記第1の印刷装置に対応した制御コマンドに変換して、前記第1の印刷装置に出力すると共に、接続された前記第1の印刷装置からのステータスデータが入力された場合、前記ステータスデータを、前記第1の印刷装置と前記第2の印刷装置との構造の差異に応じて、前記第2の印刷装置に対応したデータに変換し、前記印刷制御部に出力することを特徴とする制御装置の制御方法。
  7. 第1の印刷装置に接続された制御装置を制御する制御部により実行可能なプログラムであって、
    前記制御部を、
    前記第1の印刷装置とは構造が異なる第2の印刷装置に対応した制御コマンドを生成して出力可能であると共に、前記第2の印刷装置に対応したステータスデータが入力され、入力されたステータスデータに基づく処理を実行可能な印刷制御部と、
    前記印刷制御部から出力された制御コマンドが入力可能に構成され、制御コマンドが入力された場合、第2の印刷装置に対応した応答データを前記印刷制御部に出力する仮想第2印刷装置部と、
    前記印刷制御部から出力された制御コマンドが入力可能に構成され、制御コマンドが入力された場合、前記第1の印刷装置に対応した制御コマンドに変換して、前記第1の印刷装置に出力すると共に、
    接続された前記第1の印刷装置からのステータスデータが入力可能に構成され、ステータスデータが入力された場合、前記ステータスデータを、前記第1の印刷装置と前記第2の印刷装置との構造の差異に応じて、前記第2の印刷装置に対応したデータに変換し、前記印刷制御部に出力するデータ処理部と、
    として機能させることを特徴とするプログラム。
JP2013129474A 2013-06-20 2013-06-20 制御装置、および、制御装置の制御方法 Expired - Fee Related JP6065761B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013129474A JP6065761B2 (ja) 2013-06-20 2013-06-20 制御装置、および、制御装置の制御方法
CN201410225422.9A CN104228363B (zh) 2013-06-20 2014-05-26 控制装置以及控制装置的控制方法
US14/310,361 US9524130B2 (en) 2013-06-20 2014-06-20 Control device, control method of a control device, and storage medium to generate and output a control command compatible with a second printing device that differs structurally from the first printing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013129474A JP6065761B2 (ja) 2013-06-20 2013-06-20 制御装置、および、制御装置の制御方法

Publications (3)

Publication Number Publication Date
JP2015005098A true JP2015005098A (ja) 2015-01-08
JP2015005098A5 JP2015005098A5 (ja) 2016-05-19
JP6065761B2 JP6065761B2 (ja) 2017-01-25

Family

ID=52110701

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013129474A Expired - Fee Related JP6065761B2 (ja) 2013-06-20 2013-06-20 制御装置、および、制御装置の制御方法

Country Status (3)

Country Link
US (1) US9524130B2 (ja)
JP (1) JP6065761B2 (ja)
CN (1) CN104228363B (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9760316B2 (en) * 2015-03-27 2017-09-12 Konica Minolta Laboratory U.S.A., Inc. Method and system for managing software version compatibility amongst devices in a multi-device network environment
JP6759901B2 (ja) * 2016-09-09 2020-09-23 ブラザー工業株式会社 端末装置
US20220236932A1 (en) * 2021-01-27 2022-07-28 Toshiba Tec Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium
JP2023172071A (ja) * 2022-05-23 2023-12-06 セイコーエプソン株式会社 情報処理装置、印刷システム、印刷制御方法、及び印刷制御プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05334023A (ja) * 1992-06-04 1993-12-17 Fujitsu Ltd 遠隔印刷制御方法及びその装置
JP2004127150A (ja) * 2002-10-07 2004-04-22 Ricoh Co Ltd 画像形成装置
JP2006146946A (ja) * 1997-07-25 2006-06-08 Seiko Epson Corp 印刷システム、方法及びプリンタ

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1126023C (zh) * 1996-09-02 2003-10-29 精工爱普生株式会社 设置有多个打印机构的组合式打印机及其控制方法
JP3481810B2 (ja) 1997-02-06 2003-12-22 京セラ株式会社 ファクシミリ装置
JP4006392B2 (ja) * 2003-12-03 2007-11-14 キヤノン株式会社 情報処理装置、及び、制御プログラム
US7275881B2 (en) * 2004-10-15 2007-10-02 Sanford, L.P. Control of dual printing mechanisms
JP4360359B2 (ja) * 2004-10-29 2009-11-11 セイコーエプソン株式会社 印刷管理装置、印刷管理機能付印刷装置、印刷管理機能付情報処理装置、印刷システム、印刷装置、印刷管理プログラム、印刷管理機能付印刷装置制御プログラム、印刷管理機能付情報処理装置制御プログラム、印刷装置制御プログラム、印刷管理方法、印刷管理機能付印刷装置制御方法、印刷管理機能付情報処理装置制御方法及び印刷装置制御方法
JP4710903B2 (ja) * 2005-05-17 2011-06-29 セイコーエプソン株式会社 印刷システム、posシステム、接続デバイス、印刷システムの制御方法およびそのプログラム
JP4694283B2 (ja) * 2005-06-30 2011-06-08 ブラザー工業株式会社 印刷システム及び印刷装置
JP5009862B2 (ja) * 2008-06-10 2012-08-22 株式会社リコー 印刷装置、印刷システムおよびプログラム
JP5321311B2 (ja) * 2009-07-17 2013-10-23 セイコーエプソン株式会社 通信制御装置
JP2011118597A (ja) 2009-12-02 2011-06-16 Canon Inc 印刷制御装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
JP5045777B2 (ja) * 2010-03-30 2012-10-10 ブラザー工業株式会社 一括ファイル転送方法
JP2012058810A (ja) 2010-09-06 2012-03-22 Seiko Epson Corp 印刷データを用いた機能拡張プログラム、機能拡張装置、及び、機能拡張方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05334023A (ja) * 1992-06-04 1993-12-17 Fujitsu Ltd 遠隔印刷制御方法及びその装置
JP2006146946A (ja) * 1997-07-25 2006-06-08 Seiko Epson Corp 印刷システム、方法及びプリンタ
JP2004127150A (ja) * 2002-10-07 2004-04-22 Ricoh Co Ltd 画像形成装置

Also Published As

Publication number Publication date
US20140376031A1 (en) 2014-12-25
US9524130B2 (en) 2016-12-20
CN104228363A (zh) 2014-12-24
CN104228363B (zh) 2016-09-07
JP6065761B2 (ja) 2017-01-25

Similar Documents

Publication Publication Date Title
JP5810609B2 (ja) 記録装置、記録装置の制御方法、及び、プログラム
JP5909871B2 (ja) 記録装置
JP6065761B2 (ja) 制御装置、および、制御装置の制御方法
JP2009226690A (ja) 印刷装置および情報管理システム
JP2009226689A (ja) 印刷装置
JP5728946B2 (ja) 制御装置、制御装置の制御方法、及び、プログラム
US9058133B2 (en) Control device, control method for a control device, and recording medium
US9591078B2 (en) Media processing device and POS system
WO2014091707A1 (ja) レシート印刷システム、レシート印刷システムの制御方法、及び、制御装置
JP2013244628A (ja) 媒体処理装置、及び、posシステム
JP6986948B2 (ja) プリンタ装置
EP3023914B1 (en) Printing device and printing system
US9959489B2 (en) Network system, printing device, and control method of a printing device
JP6127638B2 (ja) 印刷装置、印刷装置の制御方法、及び、プログラム
US9547852B2 (en) Printing device, control method of a printing device, and printing system
JP2011034506A (ja) 制御装置、制御装置の制御方法、プログラム
JP6578894B2 (ja) ネットワークシステム、及び、制御装置
JP6578895B2 (ja) ネットワークシステム、及び、制御装置
JP2015201025A (ja) Posシステムおよびposシステムの制御方法
JP6019749B2 (ja) 媒体処理装置、及び、posシステム
JP2012174094A (ja) 電子機器、電子機器の制御方法、及び、プログラム
JP2014195878A (ja) 印刷装置、制御システム、印刷装置の制御方法、及び、プログラム
JP2013105181A (ja) 制御装置、制御装置の制御方法、及び、プログラム
JP2018051972A (ja) 印刷装置、及び印刷装置の制御方法
JP2016173706A (ja) 制御装置、制御装置の制御方法、及び、制御システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160328

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160328

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161212

R150 Certificate of patent or registration of utility model

Ref document number: 6065761

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees