(57)【要約】【課題】  プリンタエンジンの初期化中に発生したエラーをホスト装置に通知するためのステータス情報通信ポートと、ホスト装置から送信される印刷データを受信するための印刷データ通信ポートとを、それぞれ適切なタイミングで開く。【解決手段】  インタフェースの初期化が完了したことに応じて、ステータス情報通信ポートを開く。また、プリンタエンジンの初期化が完了したことに応じて、印刷データ通信ポートを開く。【選択図】  図７
2014108545.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置であって、
ホスト装置と通信を実行するためのインタフェースと、
前記ホスト装置から受信した印刷データに基づいて印刷処理を実行する印刷手段と、
前記印刷装置の起動時に、前記インタフェースの初期化と前記印刷手段の初期化とを実行する制御手段とを備え、
前記制御手段は、前記インタフェースの初期化が完了したことに応じて、前記印刷手段の初期化中に発生したエラーを前記ホスト装置に通知するための第１の論理ポートを開き、前記印刷手段の初期化が完了したことに応じて、前記印刷データを前記ホスト装置から受信するための第２の論理ポートを開くことを特徴とする印刷装置。
【請求項２】
前記印刷手段の初期化中にエラーが発生した場合は、前記制御手段は、前記第１の論理ポートを使用して当該エラーを前記ホスト装置に通知することを特徴とする請求項１に記載の印刷装置。
【請求項３】
印刷装置であって、
ホスト装置と通信を実行するためのインタフェースと、
前記ホスト装置から受信した印刷データに基づいて印刷処理を実行する印刷手段と、
前記印刷装置の起動時に、前記インタフェースの初期化と前記印刷手段の初期化とを実行する制御手段とを備え、
前記制御手段は、前記印刷手段の初期化中にエラーが発生したことを検知した場合に、当該エラーを前記ホスト装置に通知するための第１の論理ポートを開き、更に当該第１の論理ポートを使用して当該エラーを前記ホスト装置に通知し、
前記制御手段は、前記印刷手段の初期化中にエラーが発生したことを検知しなかった場合に、前記印刷手段の初期化が完了したことに応じて、前記第１の論理ポートと前記印刷データを前記ホスト装置から受信するための第２の論理ポートとを開くことを特徴とする印刷装置。
【請求項４】
前記インタフェースはネットワークインタフェースであり、
前記第１の論理ポートと前記第２の論理ポートは、それぞれＴＣＰ／ＩＰのポート番号に割り当てられることを特徴とする請求項１乃至３のいずれか１項に記載の印刷装置。
【請求項５】
前記インタフェースはＵＳＢインタフェースであり、
前記第１の論理ポートと前記第２の論理ポートは、それぞれＵＳＢインタフェースのＥｎｄＰｏｉｎｔに割り当てられることを特徴とする請求項１乃至３のいずれか１項に記載の印刷装置。
【請求項６】
ホスト装置と通信を実行するためのインタフェースと、前記ホスト装置から受信した印刷データに基づいて印刷処理を実行する印刷手段とを備える印刷装置の制御方法であって、
前記印刷装置の起動時に、前記インタフェースの初期化と前記印刷手段の初期化とを実行するステップと、
前記インタフェースの初期化が完了したことに応じて、前記印刷手段の初期化中に発生したエラーを前記ホスト装置に通知するための第１の論理ポートを開くステップと、
前記印刷手段の初期化が完了したことに応じて、前記印刷データを前記ホスト装置から受信するための第２の論理ポートを開くステップとを有することを特徴とする印刷装置の制御方法。
【請求項７】
ホスト装置と通信を実行するためのインタフェースと、前記ホスト装置から受信した印刷データに基づいて印刷処理を実行する印刷手段とを備える印刷装置の制御方法であって、
前記印刷装置の起動時に、前記インタフェースの初期化と前記印刷手段の初期化とを実行するステップと、
前記印刷手段の初期化中にエラーが発生したことを検知した場合に、当該エラーを前記ホスト装置に通知するための第１の論理ポートを開き、更に当該第１の論理ポートを使用して当該エラーを前記ホスト装置に通知するステップと、
前記印刷手段の初期化中にエラーが発生したことを検知しなかった場合に、前記印刷手段の初期化が完了したことに応じて、前記第１の論理ポートと前記印刷データを前記ホスト装置から受信するための第２の論理ポートとを開くステップとを有することを特徴とする印刷装置の制御方法。
【請求項８】
請求項６又は７に記載の印刷装置の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置、印刷装置の制御方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、印刷装置とホスト装置とを接続するインタフェースは、ＵＳＢＩ／ＦやＥｔｈｅｒケーブルによるネットワークＩ／Ｆなどが一般的である。これらのインタフェースは、印刷データをホスト装置から印刷装置へ送信するだけでなく、印刷装置で発生したエラー等のステータス情報を印刷装置からホスト装置へ送信するためにも使用される。
【０００３】
印刷データやステータス情報の通信について、特許文献１には、印刷データの通信とステータス情報の通信とでそれぞれ異なる論理ポートを使用する構成が開示されている。印刷データの通信とステータス情報の通信とでそれぞれ異なる論理ポートを使用することで、それぞれの通信が競合せずに、印刷装置とホスト装置との間で効率的に通信を行うことができる。ここでいう論理ポートとは、物理的には１本の通信ケーブルで接続されるが、論理的に複数の通信ポートとして使用可能なポートのことである。例えば、ＵＳＢＩ／Ｆは複数のＥｎｄＰｏｉｎｔを持つことが可能であり、それぞれのＥｎｄＰｏｉｎｔが論理ポートに相当する。また、ネットワークＩ／ＦはＴＣＰ／ＩＰのポート番号を指定することで仮想的に複数の通信ポートを実現可能であり、この通信ポートが論理ポートに相当する。
【０００４】
次に、一般的な印刷装置の電源ＯＮ時の初期化シーケンスを、図１を用いて説明する。印刷装置の電源がＯＮになると、まずＯＳ（ＯｐｅｒａｔｉｎｇＳｙｓｔｅｍ）が起動される（１０１）。そしてＯＳの起動が完了すると、インタフェースの初期化（１０２）とプリンタエンジンの初期化（１０３）が並行して実行される。
【０００５】
インタフェースの初期化とは、ＵＳＢＩ／ＦやネットワークＩ／Ｆを通信可能な状態にすることである。ただし、インタフェースの初期化が完了したからといって、すぐに通信を実行できるわけではない。通信を実行するためには、通信ポートを開く必要がある。一方、プリンタエンジンの初期化とは、プリンタエンジンが印刷を実行できる状態にすることである。具体的には、例えば定着器ヒーターが規定温度まで温調可能かどうか、用紙搬送モータが正常に動作するかどうかなどの、各機構の動作チェックを行う。インタフェースの初期化とプリンタエンジンの初期化を比較すると、プリンタエンジンの初期化の方がインタフェースの初期化よりも時間がかかる。そして、インタフェースの初期化とプリンタエンジンの初期化が両方とも完了すると、印刷装置は印刷を実行可能な状態になる。
【０００６】
次に、一般的な印刷装置について、印刷データの通信に使用する印刷データ通信ポートを開くタイミングと、エラー等のステータス情報の通信に使用するステータス情報通信ポートを開くタイミングについて説明する。図２は、一般的な印刷装置として第１タイプの印刷装置について説明する図である。第１タイプの印刷装置は、ホスト装置から送信されたＰＤＬ（ページ記述言語）データを印刷装置が受信し、印刷装置が受信したＰＤＬデータをビットマップデータに展開して印刷を実行する。第１タイプの印刷装置の特徴は、ＬＣＤ等の表示部を備える点である。
【０００７】
第１タイプの印刷装置の電源がＯＮになると、まずＯＳが起動する（２０１）。そしてＯＳの起動が完了すると、インタフェースの初期化（２０２）とプリンタエンジンの初期化（２０３）が並行して実行される。第１タイプの印刷装置では、印刷データ通信ポートとステータス情報通信ポートは、両方ともプリンタエンジンの初期化が完了したタイミングで開かれる。
【０００８】
第１タイプの印刷装置において、プリンタエンジンの初期化中にタイミング２０４でエンジンエラーが発生したとする。このとき、ステータス情報通信ポートは開かれていないが、表示部にエンジンエラーの内容を表示できるため、ステータス情報通信ポートを開くタイミングはプリンタエンジンの初期化が完了したタイミングで問題ないことがわかる。
【０００９】
また、エンジンエラーが発生した場合は、ユーザがエンジンエラーを解消するための操作をした後に、印刷装置の電源ＯＦＦを伴う再起動が必要になる。そして印刷装置が再起動すると、印刷装置が既に保持している印刷データ（ＰＤＬデータ及び展開済みのビットマップデータ）が削除されてしまう。しかしながら第１タイプの印刷装置は、印刷データ通信ポートが開かれるタイミングはプリンタエンジンの初期化が完了したタイミングであるため、電源ＯＦＦを伴う再起動を実行したとしても、このとき印刷装置が印刷データを保持していることはない。従って、第１タイプの印刷装置については、印刷データ通信ポートを開くタイミングはプリンタエンジンの初期化が完了したタイミングで問題ないことがわかる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０００−２３８３６３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ここで、上述した第１タイプの印刷装置とは異なる第２タイプの印刷装置について考える。第２タイプの印刷装置の特徴は、第１タイプの印刷装置とは異なり、ＬＣＤ等の表示部を備えない点である。
【００１２】
第２タイプの印刷装置について、印刷データ通信ポートを開くタイミングとステータス情報通信ポートを開くタイミングを第１タイプの印刷装置と同様にした場合に発生する課題を、図３を用いて説明する。第２タイプの印刷装置の電源がＯＮになると、まずＯＳが起動する（３０１）。そしてＯＳの起動が完了すると、インタフェースの初期化（３０２）とプリンタエンジンの初期化（３０３）が並行して実行される。印刷データ通信ポートを開くタイミングとステータス情報通信ポートを開くタイミングは、図３では第１タイプの印刷装置と同様であり、両方ともプリンタエンジンの初期化が完了したタイミングで開かれる。
【００１３】
プリンタエンジンの初期化中にタイミング３０４でエンジンエラーが発生すると、ユーザにエンジンエラーを通知する必要がある。しかしながら、第２タイプの印刷装置は表示部を備えておらず、またステータス情報通信ポートが開かれていないため、エラーをユーザに通知できないという課題がある。
【００１４】
つまり、第２タイプの印刷装置について各通信ポートを開くタイミングを第１タイプの印刷装置と同様にしてしまうと、図３で説明した課題が発生してしまう。そこで本発明では、第２タイプの印刷装置の特徴を考慮し、適切なタイミングで印刷データ通信ポートとステータス情報通信ポートを開くことを目的とする。
【課題を解決するための手段】
【００１５】
上述した課題を解決するために、本発明が提供する印刷装置は、印刷装置であって、ホスト装置と通信を実行するためのインタフェースと、前記ホスト装置から受信した印刷データに基づいて印刷処理を実行する印刷手段と、前記印刷装置の起動時に、前記インタフェースの初期化と前記印刷手段の初期化とを実行する制御手段とを備え、前記制御手段は、前記インタフェースの初期化が完了したことに応じて、前記印刷手段の初期化中に発生したエラーを前記ホスト装置に通知するための第１の論理ポートを開き、前記印刷手段の初期化が完了したことに応じて、前記印刷データを前記ホスト装置から受信するための第２の論理ポートを開くことを特徴とする。
【００１６】
また、本発明が提供する印刷装置は、印刷装置であって、ホスト装置と通信を実行するためのインタフェースと、前記ホスト装置から受信した印刷データに基づいて印刷処理を実行する印刷手段と、前記印刷装置の起動時に、前記インタフェースの初期化と前記印刷手段の初期化とを実行する制御手段とを備え、前記制御手段は、前記印刷手段の初期化中にエラーが発生したことを検知した場合に、当該エラーを前記ホスト装置に通知するための第１の論理ポートを開き、更に当該第１の論理ポートを使用して当該エラーを前記ホスト装置に通知し、前記制御手段は、前記印刷手段の初期化中にエラーが発生したことを検知しなかった場合に、前記印刷手段の初期化が完了したことに応じて、前記第１の論理ポートと前記印刷データを前記ホスト装置から受信するための第２の論理ポートとを開くことを特徴とする。
【発明の効果】
【００１７】
本発明によれば、プリンタエンジンの初期化中に発生したエラーをホスト装置に通知することができる。また、プリンタエンジンの初期化が完了したことに応じて印刷データ通信ポートを開くため、プリンタエンジンの初期化中は印刷装置が印刷データを受信しないようにできる。
【図面の簡単な説明】
【００１８】
【図１】従来技術における、印刷装置の起動時の初期化処理を説明する図である。
【図２】従来技術における、第１タイプの印刷装置の初期化処理を説明する図である。
【図３】第２タイプの印刷装置における課題を説明する図である。
【図４】印刷システムの構成を示す図である。
【図５】実施形態１における、印刷装置４００の初期化処理を示す図である。
【図６】実施形態１における、印刷装置４００の初期化処理を示すフローチャートである。
【図７】実施形態２における、印刷装置４００の初期化処理を示す図である。
【発明を実施するための形態】
【００１９】
以下、本発明を実施するための最良の形態について図面を用いて説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００２０】
（実施形態１）
図４を用いて本実施形態に係る印刷システムについて説明する。本実施形態の印刷システムは、印刷装置４００とホスト装置４２０を備え、印刷装置４００とホスト装置４２０はネットワーク４１０を介して互いに通信可能に接続されている。印刷装置４００は、ホスト装置から送信されたＰＤＬデータを受信する。そして印刷装置４００は当該ＰＤＬデータをビットマップデータに展開し、展開したビットマップデータに基づいて用紙に印刷処理を実行する。
【００２１】
ホスト装置４２０は例えばＰＣである。ユーザの操作に応じて、ホスト装置４２０は印刷データとしてＰＤＬデータを印刷装置４００に送信する。また、ホスト装置４２０には表示部が備えられていて、後述する印刷装置４００から通知されたステータス情報を表示することができる。
【００２２】
次に、印刷装置４００の構成を説明する。ＣＰＵ４０１は、ＲＯＭ４０２に記憶された制御プログラムを読み出して、印刷装置４００全体の動作を制御する。ＲＡＭ４０３は、ＣＰＵ４０１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＮＶＲＡＭ４０４は不揮発性メモリであり、様々な情報を記憶する。ＨＤＤ４０５は、フォントデータ、エミュレーションプログラム、フォームデータを記憶するための記憶領域として用いられる。
【００２３】
なお、印刷装置４００は、１つのＣＰＵ４０１が１つのメモリ（ＲＡＭ４０３またはＨＤＤ４０５）を用いて後述する図６のフローチャートに示す各処理を実行するものとするが、他の態様であっても構わない。例えば、複数のＣＰＵや複数のＲＡＭまたはＨＤＤを協働させて後述する図６のフローチャートに示す各処理を実行するようにすることもできる。
【００２４】
プリンタ４０６はプリンタエンジンを備え、ホスト装置４２０から受信したＰＤＬデータに基づいて、用紙に印刷処理を実行する。
【００２５】
操作パネル４０７は、ユーザが印刷装置４００を操作するためのスイッチや操作キー、ＬＥＤ表示器等を備える。
【００２６】
ネットワークＩ／Ｆ４０９は、印刷装置４００とホスト装置４２０との間で実行される通信を制御する。ネットワークＩ／Ｆ４０９には、ＥｔｈｅｒケーブルやＬＡＮケーブル等のネットワークケーブルが接続される。
【００２７】
印刷装置４００はネットワークＩ／Ｆ４０９を介してホスト装置４２０から送信された印刷データ（ＰＤＬデータ）を受信したり、印刷装置４００で発生したエラー等のステータス情報をホスト装置４２０に送信する。印刷データの通信とステータス情報の通信を１つの通信ポートで行うと、それぞれの通信が競合してしまい、通信が失敗する場合がある。そこで本実施形態では、印刷装置４００は印刷データの通信とステータス情報の通信とでそれぞれ異なる論理ポートを使用する。ネットワークＩ／Ｆ４０９は、ＴＣＰ／ＩＰのポート番号を指定することで仮想的に複数の通信ポートを実現可能であり、この複数の通信ポートを論理ポートとしてそれぞれ印刷データの通信とステータス情報の通信とに割り当てる。
【００２８】
印刷装置４００とホスト装置４２０との間の通信は、ネットワークＩ／Ｆ４０９に限らない。印刷装置４００はＵＳＢＩ／Ｆ４０８を備え、ＵＳＢＩ／Ｆ４０８にはＵＳＢケーブルが接続される。そしてＵＳＢケーブルを介して、印刷装置４００とホスト装置４２０との間で通信を実行することもできる。ＵＳＢＩ／Ｆは複数のＥｎｄＰｏｉｎｔを持つことが可能であり、それぞれのＥｎｄＰｏｉｎｔが、論理ポートとして印刷データの通信とステータス情報の通信とに割り当てられる。図４ではネットワークＩ／Ｆ４０９を介してホスト装置４２０と通信を行っているが、ＵＳＢＩ／Ｆ４０８を用いて通信を行っても構わない。
【００２９】
以上、印刷装置４００の構成を説明した。なお、印刷装置４００は、印刷装置４００で発生したエラー等のステータス情報を表示するための表示部を備えていない。仮に表示部を備えていたとしても、例えば表示領域が小さいという理由で、ステータス情報の詳細な表示はできないこととする。また、印刷装置４００は、ＬＥＤ表示器やビープ音を用いて何らかのエラーが発生していることはユーザに通知できるかもしれないが、ＬＥＤ表示器やビープ音ではエラーの詳細な内容をユーザに通知することはできない。そこで印刷装置４００は、印刷装置４００で発生したエラー等のステータス情報をユーザに通知するために、インタフェース（ＵＳＢＩ／Ｆ４０８又はネットワークＩ／Ｆ４０９）を介してホスト装置４２０にステータス情報を通知する。この通知を受けたホスト装置４２０は、ホスト装置４２０の表示部に通知されたステータス情報を表示する。
【００３０】
次に、印刷装置４００の電源ＯＮ時、つまり印刷装置４００の起動時に実行する初期化シーケンスを、図５を用いて説明する。印刷装置４００の電源がＯＮになると、まずＯＳが起動する（５０１）。そしてＯＳの起動が完了すると、インタフェースの初期化（５０２）とプリンタエンジンの初期化（５０３）が並行して実行される。
【００３１】
インタフェースの初期化とは、ＵＳＢＩ／Ｆ４０８やネットワークＩ／Ｆ４０９を通信可能な状態にすることである。つまり、インタフェースの初期化が完了すると、ＵＳＢＩ／Ｆ４０８やネットワークＩ／Ｆ４０９は通信可能な状態になる。ただし、インタフェースの初期化が完了したからといって、すぐに通信を実行できるわけではない。通信を実行するためには、通信ポートを開く必要がある。なお、通信ポートを開くとは、その通信ポートを使用した通信を許可すること、或いはホスト装置４２０との間でデータを送受信できる状態にすることである。また、通信ポートをオープンにする、通信ポートを開放するという表現も、本実施形態における「通信ポートを開く」と同義である。
【００３２】
一方、プリンタエンジンの初期化とは、プリンタ４０６が印刷を実行できる状態にすることである。つまり、プリンタエンジンの初期化が完了すると、プリンタ４０６は印刷を実行可能な状態になる。具体的には、例えば定着器ヒーターが規定温度まで温調可能かどうか、用紙搬送モータが正常に動作するかどうかなどの、各機構の動作チェックを行う。インタフェースの初期化とプリンタエンジンの初期化を比較すると、プリンタエンジンの初期化の方がインタフェースの初期化よりも時間がかかる。そして、インタフェースの初期化とプリンタエンジンの初期化が両方とも完了すると、印刷装置４００は印刷を実行可能な状態になる。
【００３３】
次に、印刷データの通信に使用する印刷データ通信ポートを開くタイミングと、エラー等のステータス情報の通信に使用するステータス情報通信ポートを開くタイミングとについて説明する。印刷装置４００は、５０２で示すインタフェースの初期化が完了すると、ステータス情報通信ポートを開く。そして５０３で示すプリンタエンジンの初期化が完了すると、印刷データ通信ポートを開く。ステータス情報通信ポートを開くタイミングと印刷データ通信ポートを開くタイミングを図５で示すタイミングにするメリットを次に説明する。
【００３４】
印刷装置４００において、プリンタエンジンの初期化中にタイミング５０４でエンジンエラーが発生したとする。印刷装置４００は、エンジンエラーをユーザに通知するためには、エンジンエラーを示すステータス情報をホスト装置４２０に通知する必要がある。本実施形態では、プリンタエンジンの初期化の完了を待たずにインタフェースの初期化が完了したことに応じてステータス情報通信ポートが開かれているため、エンジンエラーをホスト装置４２０に通知することができる。もしステータス情報通信ポートを開くタイミングをプリンタエンジンの初期化が完了したタイミングにすると、図３で説明したように印刷装置４００はエンジンエラーをユーザに通知できなくなってしまう。
【００３５】
プリンタエンジンの初期化中にエンジンエラーが発生した場合、ユーザがエンジンエラーを解消するための操作をした後に、印刷装置４００の電源ＯＦＦを伴う再起動が必要になる。印刷装置４００は、電源ＯＦＦを伴う再起動を行うと、印刷装置４００が既に保持している印刷データを削除してしまう。そこで本実施形態では、印刷データ通信ポートを開くタイミングを、５０３で示すプリンタエンジンの初期化が完了したタイミングとしている。もし印刷データ通信ポートを開くタイミングをインタフェースの初期化が完了したタイミングにすると、タイミング５０４の時点で既に印刷装置４００が印刷データを保持している場合がある。この場合、再起動によって印刷装置４００が印刷データを削除してしまう。削除された印刷データを印刷装置４００が再度取得しようとすると、例えばホスト装置４２０においてユーザが再度印刷操作を行い、削除された印刷データと同じ印刷データを再度印刷装置に送信するという手間が発生してしまう。そこで本実施形態では、印刷データ通信ポートを開くタイミングを５０３で示すプリンタエンジンの初期化が完了したタイミングにすることで、プリンタエンジンの初期化中にホスト装置４２０から印刷データを受信しないようにすることができる。
【００３６】
以上の説明の通り、印刷装置４００は、５０２で示すインタフェースの初期化が完了するとステータス情報通信ポートを開き、５０３で示すプリンタエンジンの初期化が完了すると印刷データ通信ポートを開く。これにより、プリンタエンジンの初期化中に発生したエンジンエラーのユーザへの通知を実現しつつ、エンジンエラーの発生によって印刷データが削除されてしまうことを防止することができる。
【００３７】
次に、印刷装置４００の電源がＯＮになったとき、つまり印刷装置４００の起動時に印刷装置４００が実行する処理について、図６のフローチャートを用いて説明する。図６のフローチャートに示す各ステップは、ＣＰＵ４０１がＲＯＭ４０２等のメモリに格納されたプログラムをＲＡＭ４０３に展開して実行することによって処理される。
【００３８】
印刷装置４００の電源がＯＮになると、ステップＳ６０１において、ＣＰＵ４０１はＯＳを起動する。そしてステップＳ６０２において、ＣＰＵ４０１はＯＳの起動が完了したか否かを判定する。ＯＳの起動が完了したとＣＰＵ４０１が判定すると、ステップＳ６０３に進む。一方、ＯＳの起動が完了していないとＣＰＵ４０１が判定すると、ＯＳの起動が完了するまで待機する。
【００３９】
次にステップＳ６０３において、ＣＰＵ４０１はインタフェースの初期化とプリンタエンジンの初期化を開始する。インタフェースの初期化とは、印刷装置４００が備えるインタフェース、即ちＵＳＢＩ／Ｆ４０８とネットワークＩ／Ｆ４０９を通信可能な状態にすることである。一方、プリンタエンジンの初期化とは、プリンタ４０６が印刷を実行できる状態にすることである。なお、本実施形態ではＯＳの起動が完了した後にインタフェースの初期化とプリンタエンジンの初期化を行っているが、ＯＳの起動の完了を待たずにインタフェースの初期化とプリンタエンジンの初期化を行っても構わない。
【００４０】
次にステップＳ６０４において、ＣＰＵ４０１はインタフェースの初期化が完了したか否かを判定する。インタフェースの初期化が完了したとＣＰＵ４０１が判定すると、ステップＳ６０５に進む。一方、インタフェースの初期化が完了していないとＣＰＵ４０１が判定すると、インタフェースの初期化が完了するまで待機する。
【００４１】
次にステップＳ６０５において、ＣＰＵ４０１はステータス情報通信ポートを開く。ＵＳＢＩ／Ｆ４０８の場合、複数のＥｎｄＰｏｉｎｔの１つに割り当てられたステータス情報通信ポートを開く。また、ネットワークＩ／Ｆ４０９の場合、ＴＣＰ／ＩＰのポート番号の１つに割り当てられたステータス情報通信ポートを開く。ステップＳ６０５でステータス情報通信ポートを開くことにより、印刷装置４００は印刷装置４００で発生したエラーをホスト装置４２０に通知できるようになる。
【００４２】
次にステップＳ６０６において、ＣＰＵ４０１はプリンタエンジンの初期化中にエンジンエラーが発生したか否かを判定する。エンジンエラーが発生したとＣＰＵ４０１が判定すると、ステップＳ６０７に進む。一方、エンジンエラーが派生していないとＣＰＵ４０１が判定すると、ステップＳ６０８に進む。なお、図５ではインタフェースの初期化が完了した後にエンジンエラーが発生した例を説明したが、インタフェースの初期化が完了する前にエンジンエラーが発生したとしても、ステップＳ６０６の処理によってエラーが発生したことをＣＰＵ４０１は検知できる。
【００４３】
ステップＳ６０７において、ＣＰＵ４０１はプリンタエンジンの初期化中にエンジンエラーをホスト装置４２０に通知する。本実施形態では、ＣＰＵ４０１は、ＵＳＢＩ／Ｆ４０８もしくはネットワークＩ／Ｆ４０９を介して接続されているホスト装置４２０に対して、ステップＳ６０５で開いたステータス情報通信ポートを使用してエンジンエラーをホスト装置４２０に通知する。エンジンエラーの通知を受けたホスト装置４２０は、エンジンエラーの内容をホスト装置４２０の表示部に表示する。ユーザはこれを確認することで、印刷装置４００のプリンタエンジンの初期化中に発生したエンジンエラーを確認することができる。
【００４４】
次にステップＳ６０８において、ＣＰＵ４０１はプリンタエンジンの初期化が完了したか否かを判定する。プリンタエンジンの初期化が完了したとＣＰＵ４０１が判定すると、ステップＳ６０９に進む。一方、プリンタエンジンの初期化が完了していないとＣＰＵ４０１が判定すると、ステップＳ６０６に戻る。
【００４５】
次にステップＳ６０９において、ＣＰＵ４０１は印刷データ通信ポートを開く。ＵＳＢＩ／Ｆ４０８の場合、複数のＥｎｄＰｏｉｎｔの１つに割り当てられた印刷データ通信ポートを開く。また、ネットワークＩ／Ｆ４０９の場合、ＴＣＰ／ＩＰのポート番号の１つに割り当てられた印刷データ通信ポートを開く。ステップＳ６０９で印刷データ通信ポートを開くことにより、印刷装置４００はホスト装置から送信された印刷データを受信できるようになる。
【００４６】
以上の説明の通り、本実施形態では、ステータス情報通信ポートを開くタイミングをインタフェースの初期化が完了したタイミングにする。これにより、プリンタエンジンの初期化中に発生したエンジンエラーをホスト装置４２０に通知できる。また、本実施形態では、印刷データ通信ポートを開くタイミングをプリンタエンジンの初期化が完了したタイミングにする。これにより、プリンタエンジンの初期化中、つまりプリンタエンジンのエラーが発生する可能性がある間は、ホスト装置４２０から印刷データを受信しないようにすることができる。
【００４７】
なお、本実施形態ではインタフェースの例としてネットワークＩ／Ｆ（ネットワークインタフェース）とＵＳＢＩ／Ｆ（ＵＳＢインタフェース）を挙げて説明したが、他のインタフェースを使用して印刷装置４００とホスト装置４２０との間で通信を実行してもよい。例えば、無線ＬＡＮを用いて印刷装置４００とホスト装置４２０との間で通信を実行してもよい。無線ＬＡＮを用いる場合も、ステータス情報通信ポートと印刷データ通信ポートをそれぞれ異なる論理ポートに割り当て、ステータス情報通信ポートと印刷データ通信ポートを開くタイミングを図５で説明したタイミングにすればよい。
【００４８】
（実施形態２）
実施形態１では、図５で説明したようにインタフェースの初期化が完了したことに応じてステータス情報通信ポートを開く構成を説明した。これに対して本実施形態では、実施形態１の変形例を図７を用いて説明する。
【００４９】
本実施形態では、インタフェースの初期化が完了したことに応じてステータス情報通信ポートを開くのではなく、プリンタエンジンの初期化中にエンジンエラーが発生したことをＣＰＵ４０１が検知した場合に、ＣＰＵ４０１がステータス情報通信ポートを開く。図７（ａ）では、タイミング７０１でエンジンエラーが発生し、ＣＰＵ４０１がこのエンジンエラーを検知したことに応じてステータス情報通信ポートを開いている。そしてＣＰＵ４０１は、ステータス情報通信ポートを使用してホスト装置４２０にエンジンエラーを通知する。
【００５０】
プリンタエンジンの初期化中にエンジンエラーが発生しなかった場合は、図７（ｂ）で示すように、プリンタエンジンの初期化が完了したことに応じてＣＰＵ４０１が印刷データ通信ポートとステータス情報通信ポートを両方開く。
【００５１】
本実施形態によれば、エンジンエラーを検知したことに応じてステータス情報通信ポートを開くため、実施形態１と同様にエンジンエラーをホスト装置４２０に通知できる。また、本実施形態では、印刷データ通信ポートを開くタイミングをプリンタエンジンの初期化が完了したタイミングにする。これにより、実施形態１と同様に、プリンタエンジンの初期化中、つまりプリンタエンジンのエラーが発生する可能性がある間は、ホスト装置４２０から印刷データを受信しないようにすることができる。
【００５２】
（その他の実施形態）
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００５３】
４００  印刷装置
４０１  ＣＰＵ
４０８  ＵＳＢＩ／Ｆ
４０９  ネットワークＩ／Ｆ
４２０  ホスト装置
【図１】
2014108545.tif 000003
【図２】
2014108545.tif 000004
【図３】
2014108545.tif 000005
【図４】
2014108545.tif 000006
【図５】
2014108545.tif 000007
【図６】
2014108545.tif 000008
【図７】
2014108545.tif 000009