(57)【要約】【課題】Ｖ４プリンタードライバーにおける拡張機能を使用してプリンターを制御する場合に、ログ情報を取得する。【解決手段】プリンターと通信する通信部と、応答データを取得するための送信コマンドの前記プリンターへの送信要求を行う通信制御部と、通信制御部からの要求に応じてプリンターと通信部を介した通信を行う拡張機能部と、記憶部と、を有し、拡張機能部は、記憶部にログ情報を記憶し、通信制御部は、前記記憶部から前記ログ情報を取得する。【選択図】図３
2016177610.tif 000002
【特許請求の範囲】
【請求項１】
プリンターを制御する印刷制御装置であって、
前記プリンターと通信する通信部と、
応答データを取得するための送信コマンドの前記プリンターへの送信要求を行う通信制御部と、
前記通信制御部からの要求に応じて前記プリンターと前記通信部を介した通信を行う拡張機能部と、
記憶部と、を有し、
前記拡張機能部は、前記拡張機能部が行う通信に関するログ情報を前記記憶部に記憶し、
前記通信制御部は、前記記憶部から前記ログ情報を取得する、ことを特徴とする印刷制御装置。
【請求項２】
前記拡張機能部による機能を制御するスプーラを有し、
前記スプーラは、前記通信制御部からの要求により前記拡張機能部を呼び出す、ことを特徴とする請求項１に記載の印刷制御装置。
【請求項３】
前記通信制御部は、前記記憶部から前記ログ情報を取得する場合、前記スプーラに前記拡張機能部を呼び出させ、
前記拡張機能部は、前記プリンターとの通信を行うことなく処理を終了し、
前記通信制御部は、前記記憶部から前記ログ情報を取得する、ことを特徴とする請求項２に記載の印刷制御装置。
【請求項４】
前記拡張機能部による、前記応答データの取得は、get機能を用いて行われる、ことを特徴とする請求項１から請求項３のいずれか一項に記載の印刷制御装置。
【請求項５】
前記通信部は、ＵＳＢ規格に対応するインタフェースである、ことを特徴とする請求項１から請求項４のいずれか一項に記載の印刷制御装置。
【請求項６】
コンピューターにプリンターを制御させる印刷制御プログラムであって、
コンピューターに、
応答データを取得するための送信コマンドの前記プリンターへの送信要求を行う通信制御機能と、
前記通信制御機能からの要求に応じて前記プリンターと通信部を介した通信を行う拡張機能と、を有し、
前記拡張機能は、記憶部にログ情報を記憶し、
前記通信制御機能は、前記記憶部から前記ログ情報を取得する、ことを特徴とする印刷制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンターを制御する印刷制御装置に関する。
【背景技術】
【０００２】
Ｗｉｎｄｏｗｓ（登録商標）環境下で動作する端末では、プリンター等のデバイスとの間で双方向通信を実行するための双方向通信機能（ＢｉＤｉ）を備えている。双方向通信機能を用いることで、端末はプリンターに対するコマンドの送信と、送信したコマンドに応じたプリンターからの応答データの取得とを実現することができる。
【０００３】
Ｗｉｎｄｏｗｓ８以降のＷｉｎｄｏｗｓ環境下で動作するＶｅｒｓｉｏｎ４プリンタードライバー（以下、Ｖ４プリンタードライバーとも記載する）では、双方向通信機能はＯＳに対する拡張機能として定義されている。この拡張機能では、アプリケーションからプリンターへコマンドを送信する処理と、プリンターからの応答データを取得する処理とは、Ｊａｖａｓｃｒｉｐｔ（登録商標）で作成された別々のインタフェースにより実現されている。例えば、アプリケーションで発行したコマンドをプリンターに送信するためには、拡張機能のｓｅｔ機能を用いて一連の処理が行われる。一方、プリンターからの応答データの取得は、拡張機能のｇｅｔ機能を用いて一連の処理が行われる（例えば、特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】http://msdn.microsoft.com/library/windows/hardware/br259124
【発明の概要】
【発明が解決しようとする課題】
【０００５】
プログラムで作成されたモジュールは、処理で使用される関数や変数をログ情報として記憶しておき、利用者からの要求に応じてこのログ情報を出力する場合がある。このログ情報を用いることで、利用者が通信の不具合等を確認できるようになる。しかし、Ｊａｖａｓｃｒｉｐｔ（登録商標）は、ファイル出力や外部データファイルへの書き込みといった処理を行う機能を備えていない。そのため、Javascriptで作成されている従来の拡張機能では、ログ情報の利用者に提供することができなかった。
本発明は、上記課題に鑑みたもので、Ｖ４プリンタードライバーにおける拡張機能を使用してプリンターを制御する場合に、ログ情報を取得することができる印刷制御装置、印刷制御プログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するための一態様では、通信部を用いた双方向通信機能を用いてプリンターを制御する印刷制御装置に関するものである。「端末」は、Ｖ４プリンタードライバーを備えてプリンターを制御できるものであれば、パーソナルコンピューターや、タブレット端末、スマートフォン等どのような装置であってもよい。「通信部」は、プリンターと印刷制御装置との通信を実現するインタフェースであり、ＵＳＢ（Universal Serial Bus）や、ＴＣＰ／ＩＰ（Transmission Control Protocol / Internet Protocol）に従って動作するインタフェースである。
通信制御部は、印刷制御部の内部で生成された送信コマンドをプリンターに送信するための送信要求を行う。通信制御部が送信要求を行う送信コマンドは、印刷制御部内に実装されているアプリケーションが生成したものや、通信制御部が生成したものを含む。
この送信要求に応じて、拡張機能部はプリンターと通信部を介した通信を行う。また、拡張機能部は記憶部にログ情報を記憶する。
通信制御部は、記憶されたログ情報を取得する。ログ情報は、このログ情報の表示や、ログ情報の解析等に用いられる。
【０００７】
上記のように構成された発明では、拡張機能部の機能を用いてプリンターとの通信時のログ情報を記憶部に記憶し、通信制御部がデバック情報を取得することができるため、このログ情報を用いた処理を行うことが可能となる。
【図面の簡単な説明】
【０００８】
【図１】一例としての印刷制御装置の構成を説明するブロック図。
【図２】ＣＰＵ１６により実現されるソフトウェアの機能を説明する図。
【図３】ＣＰＵ１６により実現される各機能のうち、ＵＳＢＩＦ２０を用いた双方向通信に係る機能のみを模式的に示した図。
【図４】双方向通信における送信コマンドの送信に係る各モジュールの処理を説明するシーケンス図。
【図５】双方向通信における応答データＲＤの取得に係る各モジュールの処理を説明するシーケンス図。
【図６】受信制御部１８６がステップＳ１３で実行する処理を説明するフローチャート。
【図７】応答データとデバックログＤＲＯＧとが記憶される領域を説明する図。
【図８】上位通信モジュール１８１により参照される参照テーブルＲＴを説明する図。
【図９】双方向通信におけるデバックログＤＲＯＧの取得に係る各モジュールの処理を説明するシーケンス図。
【図１０】一例として、ディスプレイ１１に表示されるデバックログＤＲＯＧを説明する図。
【発明を実施するための形態】
【０００９】
以下、下記の順序に従って本発明の実施形態を説明する。
１．第１の実施形態：
（１）印刷制御装置の構成
（２）ソフトウェアの機能構成
（３）送信制御
（４）受信制御（デバックログの書き込み・取得方法）
（５）作用・効果
２．その他の実施形態：
【００１０】
１．第１の実施形態：
（１）印刷制御装置の構成
【００１１】
図１は、一例としての印刷制御装置の構成を説明するブロック図である。以下では、印刷制御装置の一例として、パーソナルコンピューター等の端末１０を例に説明を行う。端末１０は、ディスプレイ１１、操作キー１２、ビデオカード１３、Ｉ・ＯＩＦ１４、バス１５、ＣＰＵ１６、外部記憶装置１７、ＲＡＭ１８、ＲＯＭ１９、ＵＳＢＩＦ２０、を備えている。
【００１２】
ディスプレイ１１は、画像を表示する表示部１１１や、利用者からの操作を受け付けるタッチパネルモジュール１１２を備えている。表示部１１１は、例えば、ＬＣＤ（Liquid Crystal Display）や、ＬＣＤを駆動するためのドライバー回路を備え、ビデオカード１３に接続されている。ビデオカード１３は、バス１５とディスプレイ１１とを接続している。また、タッチパネルモジュール１１２は、静電容量方式や抵抗膜方式のセンサーを備え、利用者の操作位置に応じた電圧値を、Ｉ・ＯＩＦ１４に出力する。
【００１３】
操作キー１２は、押し込み式のボタンにより構成され、利用者の操作を受け付けるユーザインタフェースである。
Ｉ・ＯＩＦ１４は、利用者によるタッチパネルモジュール１１２または操作キー１２の操作に応じて生成される信号をバス１５に出力する。
【００１４】
バス１５には、ＣＰＵ１６、外部記憶装置１７、Ｉ・ＯＩＦ１４、ＲＡＭ１８、ＲＯＭ１９、ビデオカード１３、ＵＳＢＩＦ２０が接続されている。バス１５は、不図示のチップセットを備え、ＣＰＵ１６と他のデバイスとの通信を制御する。
【００１５】
ＣＰＵ１６は、外部記憶装置１７またはＲＯＭ１９に記憶されたプログラムをＲＡＭ１８に展開して実行することで、端末１０の駆動を統合的に制御する。ＲＯＭ１９には、ＣＰＵ１６が起動する際に実行されるＢＩＯＳプログラムが記憶されている。ＲＡＭ１８は、ＣＰＵ１６により処理されるプログラムやデータを展開するワークエリアとして機能する。
【００１６】
外部記憶装置１７は、ＯＳ（Operating System）としての機能をＣＰＵ１６に付与するＯＳ（Operating System）プログラム１７ａ、アプリケーションの機能をＣＰＵ１６に付与するアプリケーションプログラム１７ｂ、ＯＳと協働してプリンター２００を制御するプリンタードライバープログラム（ＰＤＲＶプログラム）１７ｃが記憶されている。ＯＳプログラム１７ａは、例えば、Ｗｉｎｄｏｗｓ１０（Ｗｉｎｄｏｗｓは登録商標）である。アプリケーションプログラム１７ｂは、描画ソフト、ＰＤＦファイルビューア、ブラウザー、Ｗｅｂアプリケーションといったアプリケーションの機能をＣＰＵ１６に実現させる。ＰＤＲＶプログラム１７ｃは、Ｖ４プリンタードライバーであり、拡張機能を備えている。
【００１７】
ＵＳＢＩＦ２０は、ＵＳＢコントローラや、ＵＳＢケーブルを備え、バス１５とプリンター２００とを接続している。この実施形態では、通信部は、ＵＳＢＩＦ２０により実現されている。
【００１８】
プリンター２００は、インクジェットプリンターやレーザープリンターである。プリンター２００は、外部記憶装置１７に記憶されたＰＤＲＶプログラム１７ｃに対応しており、端末１０からＵＳＢＩＦ２０を通じて送信される印刷用データや送信コマンドによりその駆動が制御される。なお、プリンター２００の内部構成は周知でありその説明は省略する。
【００１９】
（２）ソフトウェアの機能構成
図２は、ＣＰＵ１６により実現されるソフトウェアの機能を説明する図である。図２では、外部記憶装置１７に記憶された各プログラムによりＣＰＵ１６に実現される機能をアプリケーション１６０、ＯＳ１７０、プリンタードライバー１８０として示している。
【００２０】
アプリケーション１６０は、画像や文章を含む印刷用データを生成する。印刷用データはＸＰＳ（XML Paper Specification）のフォーマットに対応するものを想定しているが、これ以外のフォーマットに対応するものであってもよい。また、アプリケーション１６０は、プリンター２００に対して、インク残量等の状態を示すステータス情報の取得や、クリーニング等の処理を実行させるメンテナンスコマンドを発行する機能を備えている。以下では、アプリケーション１６０が発行するコマンドを送信コマンドＳＣと記載する。
【００２１】
ＯＳ１７０は、スプーラ１７１、ＵＳＢポートモニター１７２と、を備え、プリンタードライバー１８０と協働してプリンター２００を制御する。スプーラ１７１は、印刷処理時のデータ（スプールデーター）の出力処理や、双方向通信時のデータの送受信を制御する。ＵＳＢポートモニター１７２は、アプリケーション１６０やプリンタードライバー１８０が通信を行う際に使用するポート番号の管理や、印刷処理時や双方向通信時におけるこのポート番号を用いた実質的な通信を行う。
【００２２】
プリンタードライバー１８０は、上位通信モジュール１８１、グラフィックスモジュール１８２、拡張機能部１８３を備えている。上位通信モジュール（通信制御部）１８１は、アプリケーション１６０からの印刷用データの受信や、アプリケーション１６０との間で行われる制御用データ（送信コマンドＳＣ、応答データＲＤ）の受け渡しを実行する。グラフィックスモジュール１８２は、印刷処理時に、アプリケーション１６０が生成した印刷用データをプリンター２００が対応するフォーマットに変換する。拡張機能部１８３は、印刷処理時や双方向通信時に行われる機能を拡張するためのモジュールにより構成されている。
【００２３】
拡張機能部１８３は、その機能ごとに複数の機能モジュールを備えている。各機能モジュールは、Ｊａｖａｓｃｒｉｐｔにより構成されたスクリプトファイルや、ＸＭＬ（eXtensible Markup Language）ファイルにより構成されている。ＸＭＬファイルには、各機能を定義するスキーマとして機能し、スクリプトファイルは、このＸＭＬファイルに基づいて動作することで、プリンタードライバー１８０に拡張された機能を提供する。各機能モジュールは、スプーラ１７１から呼び出されることで、実施される。
【００２４】
図３は、ＣＰＵ１６により実現される各機能のうち、ＵＳＢＩＦ２０を用いた双方向通信に係る機能のみを模式的に示した図である。双方向通信は、スプーラ１７１が、拡張機能部１８３が備える機能モジュールのうち、USB Bidi Extender１８４を呼び出すことで実行される。図３では、USB Bidi Extender１８４の機能として、setSchema()、getSchemas()、getStatus()とを示している。
【００２５】
スクリプトファイル内に実装されているメソッド（関数）であるsetSchema()は、上位通信モジュール１８１がアプリケーション１６０から取得した送信コマンドＳＣを、ＵＳＢポートモニター１７２からＵＳＢＩＦ２０によりプリンター２００に送信する機能を実現する。
【００２６】
スクリプトファイル内に実装されているメソッド（関数）であるgetSchemas()は、プリンター２００が送信コマンドＳＣに対して生成する応答データＲＤをＵＳＢＩＦ２０を通じて取得する機能を実現する。getSchemas()で取得される応答データＲＤは、ＸＭＬファイル内の要素で定義されたＲＡＭ１８の該当領域（後述する応答データ格納領域）に記憶される。
【００２７】
スクリプトファイル内に実装されているメソッド（関数）であるgetStatus()は、印刷処理中にプリンター２００の応答を読むために使用される。getStatus()で取得される応答データＲＤは、ＸＭＬファイル内の要素で定義されたＲＡＭ１８の該当領域（後述する応答データ格納領域）に記憶される。
【００２８】
非印刷処理時は、setSchema()による送信コマンドＳＣのプリンター２００への送信と、getSchemas()によるプリンター２００からの応答データＲＤの取得とが行われる。
【００２９】
以下では、端末１０（ＣＰＵ１６）がsetSchema()を用いることで実現される機能を送信制御部と、getSchemas()又はgetStatus()を用いることで実現される機能を受信制御部とも記載する。
【００３０】
（３）送信制御
次に、双方向通信機能を用いたプリンター制御方法を説明する。図４は、双方向通信における送信コマンドの送信に係る各モジュールの処理を説明するシーケンス図である。図４は、送信コマンドをプリンター２００に送信する場合のアプリケーション１６０、上位通信モジュール１８１、スプーラ１７１、送信制御部１８５、受信制御部１８６、プリンター２００による処理をそれぞれ示している。
【００３１】
図４のＳ１では、アプリケーション１６０は、プリンター２００に対してステータス情報（応答データＲＤ）を要求するための送信コマンドＳＣを発行する。例えば、ステータス情報は、アプリケーション１６０がプリンター２００の状態を示すＵＩ画面を表示させる情報である。
【００３２】
上位通信モジュール１８１は、アプリケーション１６０からの送信コマンドＳＣを取得すると、ステップＳ２では、スプーラ１７１に対してsetSchema()を呼び出すための関数をコールする。上位通信モジュール１８１が呼び出した関数によりスプーラ１７１に対する、拡張機能部１８３のsetSchema()の呼び出しが行われる。
【００３３】
ステップＳ３では、スプーラ１７１は、上位通信モジュール１８１が呼び出した関数により、USB Bidi Extender１８４のsetSchema()を呼び出し、送信コマンドをsetSchema()の引数として設定する。setSchema()の読み出しにより、ＣＰＵ１６は送信制御部１８５として機能することになる。
【００３４】
ステップＳ４では、送信制御部１８５は、ＵＳＢポートモニター１７２を制御し、送信コマンドＳＣをプリンター２００に送信する。ＵＳＢポートモニター１７２の機能により送信コマンドはＵＳＢＩＦ２０を介してプリンター２００に出力される。プリンター２００はＵＳＢＩＦ２０を介して送信コマンドを受信すると、送信コマンドを解釈し、送信コマンドに対応する応答データＲＤを作成する。
【００３５】
（４）受信制御（デバックログの書き込み・取得方法）
次に、端末１０で行われる受信制御を説明する。この受信制御では、応答データＲＤの取得に係る処理をデバックログＤＲＯＧとして記憶する。このデバックログＤＲＯＧはログ情報の一例である。受信制御において行われるデバックログＤＲＯＧの書き込みは、getSchemas()又はgetStatus()のいずれを用いた場合でも行われる。以下では、getSchemas()を用いた場合を例に説明を行う。
【００３６】
図５は、双方向通信における応答データＲＤの取得に係る各モジュールの処理を説明するシーケンス図である。図５は、アプリケーション１６０、上位通信モジュール１８１、スプーラ１７１、送信制御部１８５、受信制御部１８６、プリンター２００による処理をそれぞれ示している。
【００３７】
応答データを要求する条件が成立すると、図５のステップＳ１１では、上位通信モジュール１８１は、応答データを受信するための処理を行う。上位通信モジュール１８１は、getSchemas()を呼ぶ関数を実行し、スプーラ１７１に対して応答データの取得を要求する。
【００３８】
ステップＳ１２では、スプーラ１７１は上位通信モジュール１８１が実行する関数に応じて、拡張機能部１８３のUSB Bidi Extender１８４からgetSchemas()を呼び出す。getSchemas()が実行されることで、ＣＰＵ１６は受信制御部１８６として機能することとなる。
【００３９】
ステップＳ１３では、受信制御部１８６は、プリンター２００から応答データを取得するための処理を行う。図６は、受信制御部１８６がステップＳ１３で実行する処理を説明するフローチャートである。
【００４０】
ステップＳ１３１は、送信制御部１８５は、上位通信モジュール１８１から受け取った送信コマンドＳＣがデバックログＤＲＯＧの取得を要求する送信コマンドＲＳＣであるか否かを判断する。デバックログＤＲＯＧの取得を要求する送信コマンドＲＳＣは、ステップＳ１の送信コマンドＳＣとは別に、上位通信モジュール１８１が所定のタイミングで発行するものである。
【００４１】
ここでは、送信コマンドがデバックログＤＲＯＧの取得を要求するものでないため（ステップＳ１３１：ＮＯ）、ステップＳ１３２では、受信制御部１８６はプリンター２００から応答データＲＤ（図５、ステップＳ１４で送信された応答データＲＤ）を取得する。
【００４２】
ステップＳ１３３では、受信制御部１８６は取得した応答データＲＤを対応するＲＡＭ１８の記憶領域（応答データ格納領域）に記憶する。図７は、応答データとデバックログＤＲＯＧとが記憶される領域を説明する図である。図７（ａ）では、応答データＲＤの記憶先となる応答データ格納領域は、領域１８ａとして示されている。受信制御部１８６により応答データが格納される応答データ格納領域のアドレスは、拡張機能部１８３のＸＭＬファイルに定義されている。
【００４３】
ステップＳ１３４では、受信制御部１８６はデバックログＤＲＯＧをＲＡＭ１８のデバックログ格納領域に記憶する。デバックログＤＲＯＧは、getSchemas（受信制御部１８６）により実行された関数、変数、エラー情報を示すテキストデータや、テキストデータにより示される処理が実行されたタイムスタンプが含まれる。デバックログ格納領域は、このテキストデータやタイムスタンプが記憶されるＲＡＭ１８の領域である。図７（ｂ）では、デバックログ格納領域は領域１８ｂとなっており、応答データ格納領域と異なる領域となっている。デバックログＤＲＯＧが格納されるデバックログ格納領域のアドレスは、拡張機能部１８３のＸＭＬファイルに定義されている。
【００４４】
図５に戻り、ステップＳ１５では、上位通信モジュール１８１は、応答データＲＤを取得する。上位通信モジュール１８１は、応答データが記憶されている参照先の領域（応答データ格納領域）を送信データ（ステップＳ１１で記憶した送信コマンドＳＣ）の種別から特定し、特定された参照先の領域から応答データを取得する。参照先の領域の判断は、例えば、拡張機能部１８３に記憶されている参照テーブルＲＴを用いて行われる。
【００４５】
図８は、上位通信モジュール１８１により参照される参照テーブルＲＴを説明する図である。参照テーブルＲＴには、送信コマンドの種別毎に、参照先の領域を特定可能な格納領域特定情報が記憶されている。格納領域特定情報としては、例えば、参照先の応答データ格納領域をＸＭＬファイルで定義したスキーマ名称や、ＸＭＬファイル上で応答データ格納領域を定義する定義名称を用いることができる。これ以外にも、応答データ格納領域のアドレス等を用いてもよい。図８に示す参照テーブルＲＴには、応答データＲＤを取得するための送信コマンドＳＣ１、ＳＣ２には、応答データ記憶領域の格納領域特定情報が対応づけられ、デバックログＤＲＯＧを取得するための送信コマンドＳＣ３には、デバックログ格納領域の格納領域特定情報が対応づけられている。
【００４６】
ここでは、応答データを取得する処理であるため上位通信モジュール１８１は参照テーブルＲＴから応答データＲＤが記憶された応答データ格納領域の格納領域特定情報を取得し、応答データＲＤを取得する。
ステップＳ１６では、上位通信モジュール１８１は、応答データをアプリケーション１６０に渡す。
【００４７】
次に、デバックログＤＲＯＧの取得について説明する。
図９は、双方向通信におけるデバックログＤＲＯＧの取得に係る各モジュールの処理を説明するシーケンス図である。受信制御において行われるデバックログＤＲＯＧの取得は、getSchemas()、getStatus()を用いて行われる。また、デバックログＤＲＯＧの取得においても、受信制御部１８６の処理を図６のフローチャートを流用して説明を行う。
【００４８】
図９のステップＳ２１では、上位通信モジュール１８１は、getSchemas()を呼ぶ関数を実行し、スプーラ１７１に対してデバックログＤＲＯＧの取得を要求する。
【００４９】
ステップＳ２２では、スプーラ１７１は上位通信モジュール１８１が実行する関数に応じて、拡張機能部１８３のUSB Bidi Extender１８４からgetSchemas()を呼び出す。getSchemas()が実行されることで、ＣＰＵ１６は受信制御部１８６として機能することとなる。
【００５０】
ステップＳ２３では、受信制御部１８６は、デバックログＤＲＯＧを取得するための処理を行う。具体的には、図５のステップＳ１３１において、受信制御部１８６は、上位通信モジュールから受け取った送信コマンドＳＣがデバックログＤＲＯＧの取得を要求する送信コマンドＲＳＣであるか否かを判断する。送信コマンドＳＣがデバックログＤＲＯＧの取得である場合（ステップＳ１３１：ＹＥＳ）、ステップＳ１３５では、受信制御部１８６はプリンター２００からの応答データＲＤを取得することなく処理を終了する。デバックログＤＲＯＧの取得のための処理は、応答データＲＤを取得するための処理ではないため、この処理により応答データ格納部に記憶された応答データＲＤが更新されてしまうのを防止するためである。
【００５１】
図９に戻り、ステップＳ２４では、上位通信モジュール１８１は、デバックログＤＲＯＧを取得する。例えば、上位通信モジュール１８１は、デバックログＤＲＯＧが記憶されているデバックログ格納領域を送信コマンドＳＣ（ステップＳ２１で記憶した送信コマンドＳＣ）の種別から特定し、特定された参照先の領域から応答データを取得する。
【００５２】
図１０は、一例として、ディスプレイ１１に表示されるデバックログを説明する図である。上位通信モジュール１８１は、ステップＳ２４で取得したデバックログＤＲＯＧをデバックログ画面３００としてディスプレイ１１に表示させる。図１０に示すデバックログ画面３００には、タイムスタンプ３１０と、各処理３２０とが表示されている。利用者はディスプレイ１１に表示されたデバックログ画面３００を確認することで、端末１０とプリンター２００との間の双方向通信における処理の内容を確認することが可能となる。
【００５３】
（５）作用・効果
以上説明したようにこの第１の実施形態では、端末１０は、拡張機能部の機能を用いてプリンター２００との通信時のデバック情報を記憶部に記憶する。上位通信モジュール１８１（通信制御部）は、記憶部からデバック情報を取得することで、このデバック情報を用いた処理を行うことが可能となる。
【００５４】
２．その他の実施形態：
本発明は上記実施例に限られるものでないことは言うまでもない。当業者であれば言うまでもないことであるが、
・上記実施例の中で開示した相互に置換可能な部材および構成等を適宜その組み合わせを変更して適用すること
・上記実施例の中で開示されていないが、公知技術であって上記実施例の中で開示した部材および構成等と相互に置換可能な部材および構成等を適宜置換し、またその組み合わせを変更して適用すること
・上記実施例の中で開示されていないが、公知技術等に基づいて当業者が上記実施例の中で開示した部材および構成等の代用として想定し得る部材および構成等と適宜置換し、またその組み合わせを変更して適用すること
は本発明の一実施例として開示されるものである。
【符号の説明】
【００５５】
１０…端末、１１…ディスプレイ、１２…操作キー、１３…ビデオカード、１５…バス、１６…ＣＰＵ、１７…外部記憶装置、１７ａ…ＯＳプログラム、１７ｂ…アプリケーションプログラム、１７ｃ…プリンタードライバープログラム（ＰＤＲＶプログラム）、１８…ＲＡＭ、１９…ＲＯＭ、１１１…表示部、１１２…タッチパネルモジュール、１６０…アプリケーション、１７０…ＯＳ、１７１…スプーラ、１７２…ＵＳＢポートモニター、１８０…プリンタードライバー、１８１…上位通信モジュール、１８２…グラフィックスモジュール、１８３…拡張機能部、１８４…USB Bidi Extender、１８５…送信制御部、１８６…受信制御部、２００…プリンター
【図１】
2016177610.tif 000003
【図２】
2016177610.tif 000004
【図３】
2016177610.tif 000005
【図４】
2016177610.tif 000006
【図５】
2016177610.tif 000007
【図６】
2016177610.tif 000008
【図７】
2016177610.tif 000009
【図８】
2016177610.tif 000010
【図９】
2016177610.tif 000011
【図１０】
2016177610.tif 000012