(57)【特許請求の範囲】
【請求項１】
コンピュータと１対１の関係で直接接続され、且つ、電源の供給をオン／オフするための電源スイッチが設けられていないプリンタであって、
コンピュータから、印刷データの送信を開始することを示す印刷開始信号を受信したことを検出する、印刷開始検出手段と、
前記コンピュータから、受信した前記印刷データを、一時的に記憶するデータバッファであって、前記電源の供給がされていないと記憶した前記印刷データを保持できず、前記電源の供給がオフになると記憶した前記印刷データが消去されてしまう、データバッファと、
前記コンピュータから、前記印刷データの送信が完了したことを示す印刷完了信号を受信したことを検出する、印刷完了検出手段と、
前記印刷開始検出手段が前記印刷開始信号を受信した後で、且つ、前記印刷完了検出手段が前記印刷完了信号を受信する前に、前記コンピュータから又は前記コンピュータと別のコンピュータから前記印刷開始信号を再び受信した場合には、前記電源の供給がされたままの状態で、前記データバッファに記憶されている前記印刷データを消去する、消去手段と、
を備えることを特徴とするプリンタ。
【請求項２】
前記印刷開始信号は、当該プリンタに接続されるコンピュータが、当該プリンタの機種を確認するために送信するデバイスＩＤリクエストである、ことを特徴とする請求項１に記載のプリンタ。
【請求項３】
前記印刷開始信号は、当該プリンタに接続されるコンピュータが、前記印刷データの送信を開始する直前に送信する予め決められたストリングである、ことを特徴とする請求項１に記載のプリンタ。
【請求項４】
当該プリンタに接続されるコンピュータは、当該プリンタに、
デバイスＩＤの返信を要求するデバイスＩＤリクエストを送信した後に、前記印刷データの送信開始を意味するケーブル抜き差し有効コマンドを送信し、
前記ケーブル抜き差し有効コマンドを送信した後に、前記印刷データを送信し、
前記印刷データの送信が終了した後に、前記印刷データの送信終了を意味するケーブル抜き差し無効コマンドを送信する、
ように構成されているとともに、
前記ケーブル抜き差し有効コマンドを受信した後、前記ケーブル抜き差し無効コマンドを受信する前に、当該プリンタが前記デバイスＩＤリクエストを受信した場合には、前記消去手段は、前記データバッファに記憶されている前記印刷データを消去する、
ことを特徴とする請求項１に記載のプリンタ。
【請求項５】
パケットを受信中であるかどうかを検出する、パケット受信中検出手段を、さらに備えるとともに、
前記パケット受信中検出手段がパケットの受信中であると判断している場合に、前記デバイスＩＤリクエストを受信した際にも、前記消去手段は前記データバッファに記憶されている前記印刷データを消去する、ことを特徴とする請求項４に記載のプリンタ。
【請求項６】
前記コンピュータと当該プリンタとの間には、複数の論理チャネルが確立され、前記ケーブル抜き差し有効コマンド及び前記ケーブル抜き差し無効コマンドは、論理チャネルの１つを用いて送受される、ことを特徴とする請求項４又は請求項５に記載のプリンタ。
【請求項７】
ユーザが前記データバッファに記憶された前記印刷データを消去するための操作を行うコントロールパネルが設けられていない、ことを特徴とする請求項１乃至請求項６のいずれかに記載のプリンタ。
【請求項８】
コンピュータと１対１の関係で直接接続され、且つ、電源の供給をオン／オフするための電源スイッチが設けられていないプリンタの制御方法であって、
コンピュータから、印刷データの送信を開始することを示す印刷開始信号を受信したことを検出するステップと、
前記コンピュータから受信した前記印刷データを、前記電源の供給がされていないと記憶した前記印刷データを保持できず、前記電源の供給がオフになると記憶した前記印刷データが消去されてしまう、データバッファに、一時的に記憶させるステップと、
前記コンピュータから、前記印刷データの送信が完了したことを示す印刷完了信号を受信したことを検出するステップと、
前記印刷開始信号を受信した後で、且つ、前記印刷完了信号を受信する前に、前記コンピュータから又は前記コンピュータと別のコンピュータから前記印刷開始信号を再び受信した場合には、前記電源の供給がされたままの状態で、前記データバッファに記憶されている前記印刷データを消去するステップと、
を備えることを特徴とするプリンタの制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プリンタ、プリンタ制御方法、及び、そのためのプログラムが記録された記録媒体に関し、特に、印刷の最中にプリンタケーブルが抜かれた場合でも不要な印刷を行わないようにしたプリンタ、プリンタ制御方法、及び、そのためのプログラムが記録された記録媒体に関する。
【０００２】
【従来の技術】
プリンタとコンピュータの間は、パラレルケーブルやＵＳＢ（Universal Serial Bus）ケーブル等のプリンタケーブルにより接続されている。そして、このプリンタケーブルを介して、コンピュータからプリンタに印刷データ等が送信され、プリンタからコンピュータにステータス情報等が送信される。
【０００３】
このようなプリンタが印刷している最中にパラレルケーブルやＵＳＢケーブル等のプリンタケーブルが抜かれてしまうと、印刷データがコンピュータからプリンタに送信されなくなるため、印刷が停止してしまう。このようなプリンタケーブルを抜く行為は、ユーザが故意に行う場合や、不注意で行う場合等がある。故意に行う場合とは、例えば、このプリンタに接続されているコンピュータを、別のコンピュータにする場合などである。
【０００４】
プリンタの印刷中にケーブルが抜かれてしまうと、その後、新たにプリンタケーブルを差し込んでも、プリンタケーブルが抜かれた以降の印刷は行われない。しかも、プリンタケーブルを抜く前までに送信されていた印刷データは、プリンタのデータバッファ内に残っている場合があり、その場合には、プリンタは意味不明な印刷を行ってしまう可能性がある。つまり、いわゆるゴミ印刷を行ってしまう可能性が残る。
【０００５】
このような場合、従来のプリンタにおいては、プリンタの電源スイッチをユーザがオフにしたり、プリンタのコントロールパネルをユーザが操作したりすることにより、データバッファ内に残っている印刷データを消去していた。
【０００６】
【発明が解決しようとする課題】
ところで近年、プリンタの低価格化を図るため、電源スイッチもコントロールパネルもないプリンタが出現してきている。このようなプリンタにおいて、データバッファに蓄積された印刷データを消去するためには、プリンタの電源ケーブルの抜き差しを行うしかなかった。しかし、データバッファ内の印刷データを消去するために、電源ケーブルの抜き差しをするのでは、ユーザにとってあまりにも煩雑である。
【０００７】
そこで本発明は、前記課題に鑑みてなされたものであり、プリンタとコンピュータとの間を接続するプリンタケーブルが抜かれた場合に、プリンタのデータバッファ内に印刷データが残らないようにしたプリンタを提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記課題を解決するため、本発明に係るプリンタは、コンピュータと１対１の関係で直接接続され、且つ、電源の供給をオン／オフするための電源スイッチが設けられていないプリンタであって、コンピュータから、印刷データの送信を開始することを示す印刷開始信号を受信したことを検出する、印刷開始検出手段と、前記コンピュータから、受信した前記印刷データを、一時的に記憶するデータバッファであって、前記電源の供給がされていないと記憶した前記印刷データを保持できず、前記電源の供給がオフになると記憶した前記印刷データが消去されてしまう、データバッファと、前記コンピュータから、前記印刷データの送信が完了したことを示す印刷完了信号を受信したことを検出する、印刷完了検出手段と、前記印刷開始検出手段が前記印刷開始信号を受信した後で、且つ、前記印刷完了検出手段が前記印刷完了信号を受信する前に、前記コンピュータから又は前記コンピュータと別のコンピュータから前記印刷開始信号を再び受信した場合には、前記電源の供給がされたままの状態で、前記データバッファに記憶されている前記印刷データを消去する、消去手段と、を備えることを特徴とする。
【０００９】
この場合、前記印刷開始信号は、当該プリンタに接続されるコンピュータが、当該プリンタの機種を確認するために送信するデバイスＩＤリクエストであってもよい。
【００１０】
或いは、前記印刷開始信号は、当該プリンタに接続されるコンピュータが、前記印刷データの送信を開始する直前に送信する予め決められたストリングであってもよい。
【００１１】
或いは、当該プリンタに接続されるコンピュータは、当該プリンタに、デバイスＩＤの返信を要求するデバイスＩＤリクエストを送信した後に、前記印刷データの送信開始を意味するケーブル抜き差し有効コマンドを送信し、前記ケーブル抜き差し有効コマンドを送信した後に、前記印刷データを送信し、前記印刷データの送信が終了した後に、前記印刷データの送信終了を意味するケーブル抜き差し無効コマンドを送信する、ように構成されているとともに、
前記ケーブル抜き差し有効コマンドを受信した後、前記ケーブル抜き差し無効コマンドを受信する前に、当該プリンタが前記デバイスＩＤリクエストを受信した場合には、前記消去手段は、前記データバッファに記憶されている前記印刷データを消去するようにしてもよい。
【００１２】
この場合、パケットを受信中であるかどうかを検出する、パケット受信中検出手段を、さらに備えるとともに、
前記パケット受信中検出手段がパケットの受信中であると判断している場合に、前記デバイスＩＤリクエストを受信した際にも、前記消去手段は前記データバッファに記憶されている前記印刷データを消去するようにしてもよい。
【００１３】
また、前記コンピュータと当該プリンタとの間には、複数の論理チャネルが確立され、前記ケーブル抜き差し有効コマンド及び前記ケーブル抜き差し無効コマンドは、論理チャネルの１つを用いて送受されるようにしてもよい。
【００１４】
また、当該プリンタには、ユーザが前記データバッファに記憶された前記印刷データを消去するための操作を行うコントロールパネルが設けられていなくてもよい。
【００１５】
本発明に係るプリンタの制御方法は、コンピュータと１対１の関係で直接接続され、且つ、電源の供給をオン／オフするための電源スイッチが設けられていないプリンタの制御方法であって、コンピュータから、印刷データの送信を開始することを示す印刷開始信号を受信したことを検出するステップと、前記コンピュータから受信した前記印刷データを、前記電源の供給がされていないと記憶した前記印刷データを保持できず、前記電源の供給がオフになると記憶した前記印刷データが消去されてしまう、データバッファに、一時的に記憶させるステップと、前記コンピュータから、前記印刷データの送信が完了したことを示す印刷完了信号を受信したことを検出するステップと、前記印刷開始信号を受信した後で、且つ、前記印刷完了信号を受信する前に、前記コンピュータから又は前記コンピュータと別のコンピュータから前記印刷開始信号を再び受信した場合には、前記電源の供給がされたままの状態で、前記データバッファに記憶されている前記印刷データを消去するステップと、を備えることを特徴とする。
【００２１】
【発明の実施の形態】
〔第１実施形態〕
本発明の第１実施形態は、プリンタとコンピュータとの間をパラレルケーブルで接続した印刷システムにおいて、印刷中にこのパラレルケーブルが抜けて、その後、再挿入された場合には、プリンタのデータバッファの印刷データを消去するようにしたものである。より詳しくを、以下に説明する。
【００２２】
図１は、本発明が適用される印刷システムのハードウェア構成を示す図である。この図１に示すように、本発明が適用される印刷システムは、プリンタ１０とコンピュータ３０とを備えて構成されている。
【００２３】
プリンタ１０は、ＣＰＵ１２とＲＡＭ１４とＲＯＭ１６とインターフェース１８、２０とを、内部バスで相互に接続することにより構成されている。また、内部バスは、インターフェース２０を介して、印刷実行部２２に接続されている。本実施形態では、プリンタ１０は、インクジェットプリンタであり、印刷実行部２２でインクヘッドを駆動した印刷が行われる。また、このプリンタ１０には電源コード２４が設けられており、この電源コード２４のプラグを電源コンセントに差し込むことにより、プリンタ１０に電源が供給されるようになっている。但し、このプリンタ１０には、電源スイッチもコントロールパネルも設けられていない。
【００２４】
コンピュータ３０は、ＣＰＵ３２とＲＡＭ３４とＲＯＭ３６とインターフェース３８、４０とを、内部バスで相互に接続することにより構成されている。また、内部バスは、インターフェース４０を介して、ハードディスク４２に接続されている。
【００２５】
これらプリンタ１０とコンピュータ３０との間は、プリンタケーブル５０で接続されている。この第１実施形態では、このプリンタケーブル５０はＩＥＥＥ１２８４．４に基づいたパラレルケーブルを用いている。プリンタケーブル５０の一端側には、コネクタ５２が設けられており、プリンタ１０の接続部５４に挿入されている。プリンタケーブル５０の他端側には、コネクタ５６が設けられており、コンピュータ３０の接続部５８に挿入されている。プリンタケーブル５０のコネクタ５２、５６は、ユーザが任意に、接続部５４、５８に対して抜き差しすることができるようになっている。プリンタ１０の接続部５４は、インターフェース１８に接続されており、コンピュータ３０の接続部５８は、インターフェース３８に接続されている。
【００２６】
この図１に示す印刷システムの印刷動作の一例を説明すると、次のようになる。例えば、コンピュータ３０のハードディスク４２に格納されている印刷データは、インターフェース３８を介して、接続部５８からプリンタケーブル５０に送信される。このプリンタケーブル５０に送信された印刷データは、プリンタ１０の接続部５４から、インターフェース１８を介して、ＲＡＭ１４に格納される。つまり、ＲＡＭ１４の少なくとも一部が、本実施形態における印刷データ用のデータバッファを構成する。
【００２７】
プリンタ１０では、このＲＡＭ１４に格納された印刷データに対して、必要なデータ変換を行い、印刷実行部２２で印刷を行う。より詳しくは、ＣＰＵ１２がＲＯＭ１６に記憶されている印刷処理プログラムを読み込んで、これを実行する。この印刷処理プログラムを実行することにより、ＲＡＭ１４に格納された印刷データに対して、言語解釈を行い、印刷データを印刷実行部２２で印刷が行えるようなデータに変換する。そして、ＣＰＵ１２は、変換後のデータを印刷実行部２２に送信し、印刷実行部２２で印刷が行われる。印刷の終了したデータは、順次、ＲＡＭ１４から消去される。
【００２８】
図２は、正常に印刷が行われた場合におけるプリンタ１０とコンピュータ３０との間の信号の送受を説明する信号図である。
【００２９】
この図２に示すように、コンピュータ３０は印刷を開始する前にデバイスＩＤリクエストＤＲＥＱをプリンタ１０に送信する。このデバイスＩＤリクエストＤＲＥＱに対して、プリンタ１０は、デバイスＩＤリプライＤＲＰＹをコンピュータ３０に返信する。コンピュータ３０からのデバイスＩＤリクエストＤＲＥＱは、プリンタ１０の機種等を確認するためにコンピュータ３０が送信する信号である。本実施形態では、印刷を開始する前にコンピュータ３０は、このデバイスＩＤリクエストＤＲＥＱをプリンタ１０に送信する設計になっている。
【００３０】
次に、コンピュータ３０は、プリンタ１０にマジックストリングＭＳを送信する。このマジックストリングＭＳは、これから印刷データＰＤＡＴを送信することをプリンタ１０に通知するために送信される。続いて、コンピュータ３０は、印刷データＰＤＡＴをプリンタ１０に送信する。印刷するために必要なすべての印刷データＰＤＡＴを送信し終えたコンピュータ３０は、プリンタ１０にクローズチャネルＣＣを送信する。このクローズチャネルＣＣを受領することにより、プリンタ１０は印刷データＰＤＡＴをすべて受領したことを確認することができる。
【００３１】
図３は、印刷の途中でプリンタケーブル５０が抜かれた場合における、プリンタ１０とコンピュータ３０との間の信号の送受を説明する信号図である。
【００３２】
この図３に示すように、コンピュータ３０は印刷を開始する前にデバイスＩＤリクエストＤＲＥＱをプリンタ１０に送信する。このデバイスＩＤリクエストＤＲＥＱに対して、プリンタ１０は、デバイスＩＤリプライＤＲＰＹをコンピュータ３０に返信する。
【００３３】
次に、コンピュータ３０は、プリンタ１０にマジックストリングＭＳを送信する。続いて、コンピュータ３０は、印刷データＰＤＡＴをプリンタ１０に送信する。この図３の例では、印刷するために必要なすべての印刷データＰＤＡＴを送信する前に、何らかの理由、原因により、プリンタケーブル５０がプリンタ１０から抜かれたり、コンピュータ３０から抜かれたとする。そして、その後、プリンタケーブル５０がプリンタ１０に挿入されたり、コンピュータ３０に挿入されたりしたとする。この場合、このプリンタ１０にコンピュータ３０とは別のコンピュータが接続されることもある。このような場合、プリンタ１０に設けられたデータバッファ、つまり、ＲＡＭ１４に、プリンタケーブル５０が抜かれるまでに受信した印刷データＰＤＡＴが残っている場合も想定される。
【００３４】
ユーザが、次の印刷の実行を試みた場合、上述したように、コンピュータ３０からプリンタ１０に、デバイスＩＤリクエストＤＲＥＱが送信される。つまり、本実施形態では、印刷を開始するにあたり、コンピュータ３０はプリンタ１０にデバイスＩＤリクエストＤＲＥＱを送信する仕様になっている。したがって、このデバイスＩＤリクエストＤＲＥＱを受領したプリンタ１０は、ＲＡＭ１４に格納されている印刷データＰＤＡＴは不要であると判断することができる。このため、プリンタ１０はＲＡＭ１４に格納されている印刷データＰＤＡＴの残りを消去する。また、プリンタ１０はインターフェース等の必要な初期設定を行う。
【００３５】
次に、図４に基づいて、プリンタ１０の印刷データ受信処理について詳しく説明する。この図４は、プリンタ１０の印刷データ受信処理を説明するためのフローチャートである。
【００３６】
この印刷データ受信処理のためのプログラムは、プリンタ１０のＲＯＭ１６に格納されており、プリンタ１０に電源が供給され、このプログラムをＣＰＵ１２が読み出して実行することにより、この印刷データ受信処理が行われる。
【００３７】
この図４に示すように、まず、プリンタ１０はマジックストリングＭＳを受領したかどうかを判断する（ステップＳ１０）。マジックストリングを受領していない場合（ステップＳ１０：Ｎｏ）には、このステップＳ１０の処理を繰り返して待機する。このようにマジックストリングＭＳが受領されていないということは、印刷が開始されていないことを意味する。
【００３８】
マジックストリングＭＳを受領した場合（ステップＳ１０：Ｙｅｓ）には、デバイスＩＤリクエストＤＲＥＱを受領したかどうかを判断する（ステップＳ１１）。マジックストリングＭＳを受領したということは、印刷が開始されたことを意味している。このため、印刷中にデバイスＩＤリクエストＤＲＥＱを受領したということは、プリンタケーブル５０が一旦抜かれた後に挿入され、再び新たな印刷が開始されたと推定することが可能である。したがって、プリンタ１０は、デバイスＩＤリクエストＤＲＥＱを受領した場合（ステップＳ１１：Ｙｅｓ）には、データバッファであるＲＡＭ１４に残っている印刷データＰＤＡＴを消去し、印刷途中で停止している用紙を排紙し、そしてインターフェースの初期化を行う（ステップＳ１２）。
【００３９】
デバイスＩＤリクエストＤＲＥＱを受領しなかった場合（ステップＳ１１：Ｎｏ）には、クローズチャネルＣＣを受領したかどうかを判断する（ステップＳ１３）。クローズチャネルＣＣを受領していない場合（ステップＳ１３：Ｎｏ）には、印刷中であることを意味するので、プリンタ１０は印刷を実行する（ステップＳ１４）。そして、上述したステップＳ１１の処理からを繰り返す。
【００４０】
一方、クローズチャネルＣＣを受領した場合（ステップＳ１３：Ｙｅｓ）には、印刷が完了したことを意味するので、プリンタ１０は上述したステップＳ１０からの処理を繰り返す。
【００４１】
以上のように本実施形態に係る印刷システムによれば、プリンタケーブル５０が抜けたことを直接検知できないパラレルケーブルでも、プリンタケーブル５０が抜けた際に、プリンタ１０が不要な印刷をしてしまうのを回避することができる。すなわち、プリンタ１０の印刷中にプリンタケーブル５０が抜けた場合でも、所定時間経過後にはユーザはプリンタケーブル５０を再び挿入して、新たに印刷を開始する。この印刷が開始される際には、本実施形態においては、デバイスＩＤリクエストＤＲＥＱがコンピュータ３０からプリンタ１０へ送信する取り決めになっている。このため、本実施形態においては、印刷終了を意味するクローズチャネルＣＣを受領する前に、印刷開始を意味するデバイスＩＤリクエストＤＲＥＱを受領した場合には、プリンタケーブル５０が抜かれた後再び挿入されたと推定し、ＲＡＭ１４に残っている印刷データＰＤＡＴをクリアすることとした。このため、プリンタ１０がＲＡＭ１４に残っている不要なデータを印刷したり、意味不明なゴミ印刷をしてしまうのを防止することができる。
【００４２】
しかも、ＲＡＭ１４に残っている印刷データＰＤＡＴを、電源スイッチやコントロールパネルが設けられていないプリンタ１０においても、電源コード２４を抜き差しすることなくクリアすることができる。このため、ユーザの使い勝手の向上を図ることができる。
【００４３】
〔第２実施形態〕
本発明の第２実施形態は、プリンタとコンピュータとの間をＵＳＢケーブルで接続した印刷システムにおいて、印刷中にこのＵＳＢケーブルが抜けた場合には、プリンタのデータバッファの印刷データを消去するようにしたものである。より詳しくを、以下に説明する。
【００４４】
本発明の第２実施形態が適用される印刷システムのハードウェア構成は、図１に示した印刷システムと概略的に同様であるが、プリンタ１０とコンピュータ３０との間を接続するプリンタケーブル５０が、ＵＳＢケーブルである点で相違する。
【００４５】
図５に基づいて、プリンタ１０の印刷データ受信処理について詳しく説明する。この図５は、プリンタ１０の印刷データ受信処理を説明するためのフローチャートである。
【００４６】
この印刷データ受信処理のためのプログラムは、プリンタ１０のＲＯＭ１６に格納されており、プリンタ１０に電源が供給され、このプログラムをＣＰＵ１２が読み出して実行することにより、印刷データ受信処理が行われる。
【００４７】
この図５に示すように、まず、プリンタ１０はＵＳＢのＶＢＵＳ（電源バス）の電圧値を参照する（ステップＳ２０）。ＵＳＢにおいては、ＵＳＢケーブルが正常に接続されている場合には、プリンタケーブル５０のＶＢＵＳに５Ｖが供給されている。したがって、プリンタ１０はこのＶＢＵＳの電圧値を検出し、これが５Ｖ近傍であるか０Ｖ近傍であるかによって、ＵＳＢケーブルが正常に接続されているかどうかを判断できる。
【００４８】
このため、次にプリンタ１０はこの電圧値が５Ｖ近傍であるかどうかを判断する（ステップＳ２１）。電圧値が５Ｖ近傍である場合（ステップＳ２１：Ｙｅｓ）には、プリンタケーブル５０が正常に接続されているので、上述したステップＳ２０の処理を繰り返す。一方、電圧値が５Ｖ近傍でない場合（ステップＳ２１：Ｎｏ）、例えば０Ｖ近傍に電圧値が低下している場合には、プリンタケーブル５０が抜けているので、プリンタ１０のデータバッファであるＲＡＭ１４をクリアする（ステップＳ２２）。
【００４９】
続いて、再び、ＵＳＢのＶＢＵＳの電圧値を参照する（ステップＳ２３）。そして、プリンタ１０は、この電圧値が５Ｖ近傍であるかどうかを判断する（ステップＳ２４）。ＵＳＢのＶＢＵＳの電圧値が５Ｖ近傍でなかった場合（ステップＳ２４：Ｎｏ）には、プリンタケーブル５０が抜けたままであるので、上述したステップＳ２３の処理を繰り返して待機する。一方、電圧値が５Ｖ近傍であった場合（ステップＳ２４：Ｙｅｓ）には、プリンタケーブル５０が再び挿入されたことになるので、次の印刷の準備をするため、インターフェース等の初期化を行う（ステップＳ２５）。そして、上述したステップＳ２０からの処理を繰り返す。
【００５０】
以上のように、本実施形態に係る印刷システムによれば、ＵＳＢケーブルが抜けたことをＶＢＵＳの電圧値を観察することにより検知し、ＵＳＢケーブルが抜けた場合には、プリンタ１０のデータバッファであるＲＡＭ１４をクリアすることとした。このため、プリンタ１０がＲＡＭ１４に残っている不要なデータを印刷したり、意味不明なゴミ印刷をしてしまうのを防止することができる。
【００５１】
また、上述した第１実施形態と同様に、ＲＡＭ１４に残っている印刷データＰＤＡＴを、電源スイッチや操作パネルが設けられていないプリンタ１０においても、電源コード２４を抜き差しすることなくクリアすることができる。このため、ユーザの使い勝手の向上を図ることができる。
【００５２】
〔第３実施形態〕
上述した第２実施形態においては、プリンタ１０が印刷を行っている最中であるかどうかに関わらず、ＵＳＢケーブルが抜かれた場合には、ＲＡＭ１４のデータバッファをクリアする仕様になっている。これに対して、本発明の第３実施形態では、プリンタ１０が印刷している最中にＵＳＢケーブルが抜かれた場合にのみプリンタ１０におけるＲＡＭ１４のデータバッファをクリアするようにしたものである。より詳しくを、以下に説明する。
【００５３】
本発明の第３実施形態が適用される印刷システムのハードウェア構成は、上述した第２実施形態と同様である。すなわち、図１に示した印刷システムにおいて、プリンタ１０とコンピュータ３０との間をＵＳＢのプリンタケーブル５０で接続している。
【００５４】
図６に基づいて、プリンタ１０の印刷データ受信処理について詳しく説明する。この図６は、プリンタ１０の印刷データ受信処理を説明するためのフローチャートである。
【００５５】
この印刷データ受信処理のためのプログラムは、プリンタ１０のＲＯＭ１６に格納されており、プリンタ１０に電源が供給され、このプログラムをＣＰＵ１２が読み出して実行することにより、印刷データ受信処理が行われる。
【００５６】
この図６に示すように、まず、プリンタ１０は、コンピュータ３０からマジックストリングＭＳを受領したかどうかを判断する（ステップＳ３０）。このマジックストリングＭＳを受領していない場合（ステップＳ３０：Ｎｏ）には、コンピュータ３０からの印刷データＰＤＡＴの送信は開始されていないので、このステップＳ３０の処理を繰り返して待機する。
【００５７】
一方、マジックストリングＭＳを受領した場合（ステップＳ３０：Ｙｅｓ）には、コンピュータ３０からの印刷データＰＤＡＴの送信が開始されたので、ＵＳＢのＶＢＵＳの電圧値を参照する（ステップＳ３１）。続いて、この電圧値が５Ｖ近傍であるかどうかを判断する（ステップＳ３２）。
【００５８】
電圧値が５Ｖ近傍でない場合（ステップＳ３２：Ｎｏ）には、例えば電圧値が０Ｖ近傍まで低下したような場合には、ＵＳＢのプリンタケーブル５０が抜けたことを意味しているので、ＲＡＭ１４のデータバッファをクリアするとともに、インターフェースの初期化をする（ステップＳ３３）。そして、上述したステップＳ３０の処理に戻る。
【００５９】
一方、電圧値が５Ｖ近傍である場合（ステップＳ３２：Ｙｅｓ）には、印刷データＰＤＡＴの送信が開始されたことを意味しているので、プリンタ１０はクローズチャネルＣＣを受領したかどうかを判断する（ステップＳ３４）。クローズチャネルＣＣを受領していない場合（ステップＳ３４：Ｎｏ）には、印刷データＰＤＡＴの送信が続いていることになるので、印刷を継続して実行する（ステップＳ３５）。そして、上述したステップＳ３１からの処理を繰り返す。
【００６０】
一方、クローズチャネルＣＣを受領した場合（ステップＳ３４：Ｙｅｓ）には、コンピュータ３０からの印刷データＰＤＡＴの送信が完了したことになるので、上述したステップＳ３０からの処理を繰り返す。
【００６１】
以上のように、本実施形態に係る印刷システムによれば、上述した第２実施形態と同様に、ＵＳＢケーブルが抜けたことをＶＢＵＳの電圧値を観察することにより検知し、ＵＳＢケーブルが抜けた場合には、プリンタ１０のデータバッファであるＲＡＭ１４をクリアすることとした。このため、プリンタ１０がＲＡＭ１４に残っている不要なデータを印刷したり、意味不明なゴミ印刷をしてしまうのを防止することができる。
【００６２】
さらに、本実施形態に係るプリンタ１０においては、ＲＡＭ１４のデータバッファに残っている印刷データを消去するのは、印刷の最中にＵＳＢのプリンタケーブル５０が抜かれた場合に限られる。このため、ＲＡＭ１４に格納されているデータを不必要に消去してしまうおそれを回避できる。
【００６３】
また、上述した第１、２実施形態と同様に、ＲＡＭ１４に残っている印刷データＰＤＡＴを、電源スイッチや操作パネルが設けられていないプリンタ１０においても、電源ケーブル２４を抜き差しすることなくクリアすることができる。このため、ユーザの使い勝手の向上を図ることができる。
【００６４】
〔第４実施形態〕
本発明の第４実施形態では、上述した第１実施形態と異なるプリンタケーブル５０の抜き差しの検出手法を用いている。すなわち、物理的にケーブルの抜き差しを検出できないタイプのプリンタケーブル５０が抜き差しされた場合に、その抜き差しの検出手法を変形したものである。より詳しくを以下に説明する。
【００６５】
まず、図７に基づいて、プリンタ１０とコンピュータ３０との通信用に形成される論理チャネルの構成を説明する。この図７は、通信回線に形成される論理チャネルの概略を示す図である。
【００６６】
図７に示すように、プリンタ１０とコンピュータ３０との間には、論理チャネルとして、制御チャネルＣＮＣと、プリンタコントロール用チャネルＰＣＣと、印刷データ転送用チャネルＤＴＣとが、形成される。制御チャネルＣＮＣは、論理チャネルのオープンや、論理チャネルのクローズ、パケット送信数等の情報を伝送するためのチャネルである。プリンタコントロール用チャネルＰＣＣは、インク残量の確認や、インク交換の指示等を伝送するためのチャネルである。印刷データ転送用チャネルＤＴＣは、コンピュータ３０からプリンタ１０へ、印刷データを伝送するためのチャネルである。
【００６７】
本実施形態においては、２つの手法を併用して、ＲＡＭ１４に格納されている印刷データＰＤＡＴの消去を行っている。１つの手法を説明する図が図８であり、もう１つの手法を説明する図が図９である。まず、図８にもとづいて１つの手法を説明する。
【００６８】
この図８は、制御チャネルＣＮＣと印刷データ転送用チャネルＤＴＣとを用いて印刷が行われた場合のタイミングチャートである。図８に示すように、コンピュータ１０はプリンタ３０へ、制御チャネルＣＮＣを用いて、ケーブル抜き差し有効コマンドを送信する。これを受けたプリンタ３０は、監視有効フラグをセットする。次に、コンピュータ１０はプリンタ３０へ、制御チャネルＣＮＣを用いて、印刷データ転送用チャネルオープンコマンドを送信する。これにより、コンピュータ１０とプリンタ３０との間の印刷データ転送用チャネルＤＴＣがオープンする。
【００６９】
続いて、コンピュータ１０はプリンタ３０へ、印刷データ転送用チャネルＤＴＣを用いて、印刷データをパケットに分割して送信する。このパケットを受けたプリンタ３０は、パケットを再構築して、印刷データを生成し、この生成された印刷データに基づいて、印刷を行う。
【００７０】
印刷データのすべてのパケットを送信し終えたコンピュータ１０は、制御チャネルＣＮＣを用いて、印刷データ転送用チャネルクローズコマンドを送信する。これにより、コンピュータ１０とプリンタ３０との間の印刷データ転送用チャネルＤＴＣがクローズする。続いて、コンピュータ１０はプリンタ３０へ、制御チャネルＣＮＣを用いて、ケーブル抜き差し無効コマンドを送信する。これを受けたプリンタ３０は、監視有効フラグをリセットする。
【００７１】
ところが、印刷をしている最中にプリンタケーブル５０が抜かれて、再度挿入された場合、ケーブル抜き差し無効コマンドをプリンタ３０が受信する前に、デバイスＩＤリクエストをプリンタ３０が受信することになる。なぜなら、プリンタケーブル５０を再挿入したユーザは、印刷を再び始め、この際には、コンピュータ１０はプリンタ３０へデバイスＩＤリクエストを送信することになっているからである。つまり、監視有効フラグがセットされている間に、デバイスＩＤリクエストを検出したことは、印刷データの送信が改めて行われようとしていることを意味している。したがって、プリンタ３０は、これによりプリンタケーブル５０の抜き差しが行われたことを検出することができる。
【００７２】
次に図９に基づいて、もう１つの手法を説明する。図９は、印刷データ転送用チャネルＤＴＣを用いて印刷データのパケットが送信されている場合のタイミングチャートである。図９に示すように、コンピュータ１０はプリンタ３０へ、印刷データ転送用チャネルＤＴＣを用いて、印刷データのパケットを送信する。プリンタ３０においては、パケットを受信している間だけ、パケット受信中フラグをセットする。すなわち、印刷データ転送用チャネルＤＴＣのオープン／クローズに合わせてフラグをセット／リセットするのではなく、パケットの受信中にフラグをセットする。パケット受信中フラグがセットされている間に、デバイスＩＤリクエストを受信した場合、プリンタ３０はケーブル５０の抜き差しが生じたと判断することができる。
【００７３】
次に、図１０に基づいて、印刷途中でプリンタケーブル５０が抜き差しされた場合におけるコンピュータ１０とプリンタ３０との間の信号の送受について説明する。
【００７４】
図１０に示すように、まず、コンピュータ１０はプリンタ３０へ、デバイスＩＤリクエストＤＲＥＱを送信する。このデバイスＩＤリクエストＤＲＥＱを受信したプリンタ３０は、コンピュータ１０へ、デバイスＩＤリプライを送信する。
【００７５】
次に、コンピュータ１０はプリンタ３０へ、ケーブル抜き差し有効コマンドＣＥＣを送信する。続いて、コンピュータ１０はプリンタ３０へ、印刷データ転送用チャネルＤＴＣオープンコマンドＰＯＰを送信する。
【００７６】
次に、コンピュータ１０はプリンタ３０へ、印刷データＰＤＡＴを１パケットづつ送信する。この印刷データのパケットを受信したプリンタ３０は、１パケットを受信する毎に、ビジー信号ＢＳをコンピュータ１０へ返信する。このようにして、データの送受信を確認しながら印刷データＰＤＡＴの転送が行われていく。プリンタ３０では、受信した印刷データＰＤＡＴに基づいて、イメージデータを生成し、印刷実行部２２で印刷を行う。
【００７７】
ユーザの誤り等でプリンタケーブル５０が抜き差しされた場合には、印刷途中でその通信回線も切断される。その後、回復した場合には、コンピュータ１０は、プリンタ３０からのビジー信号ＢＳの応答待ち状態となり、プリンタ３０は、コンピュータ１０からの印刷データＰＤＡＴ待ち状態となる。そして、ユーザがコンピュータ１０に再び印刷を指示すると、コンピュータ１０はプリンタ３０へデバイスＩＤリクエストＤＲＥＱを送信する。
【００７８】
しかし、プリンタ３０から見れば、すでに印刷データ転送用チャネルＤＴＣはオープンし、監視有効フラグがセットされており、印刷データＰＤＡＴ待ちの状態になっている。したがって、再度、デバイスＩＤリクエストＤＲＥＱを受信することは、印刷途中でプリンタケーブル５０が抜き差しされたことを意味する。そこで、プリンタ３０は、データバッファであるＲＡＭ１４に残っている印刷データＰＤＡＴを消去するとともに、印刷途中で停止している用紙を排紙して、プリンタ３０を初期状態にリセットする。
【００７９】
次に、図１１に基づいて、本実施形態に係るコンピュータ１０側の処理を説明する。この図１１は、ホストのコンピュータ１０側の印刷データ送信処理を示すフローチャートである。まず、例えば、ユーザーが文書作成用ソフトウェア等のアプリケーションプログラムから印刷を指示すると、コンピュータ１０は、アプリケーションプログラムから入力されたデータに基づいて印刷データを生成する（ステップＳ４０）。そして、印刷データに基づいて、パケットを生成し、このパケットを送信する（ステップＳ４１）。
【００８０】
次に、コンピュータ１０は、プリンタ３０からビジー信号ＢＳを受信したかどうかを判断し（ステップＳ４２）、ビジー信号ＢＳを受信した場合（ステップＳ４２：Ｙｅｓ）には、印刷データＰＤＡＴから生成したすべてのパケットを、送信したかどうかを判断する（ステップＳ４３）。印刷データＰＤＡＴから生成したすべてのパケットの送信を終えた場合（ステップＳ４３：Ｙｅｓ）には、この処理を終了する。一方、すべてのパケットの送信を終えていない場合（ステップＳ４３：Ｎｏ）には、上述したステップＳ４１に戻り、パケットの送信を繰り返す。
【００８１】
一方、プリンタケーブル５０のコネクタが抜き差しされた場合は、プリンタ３０からのビジー信号ＢＳが返ってこないため、上述したステップＳ４２で「Ｎｏ」と判断される。このため、コンピュータ１０は、プリンタ３０からの応答がなくなってから、所定時間（例えば、２０秒）が経過したかどうかを判断する（ステップＳ４４）。所定時間経過していない場合（ステップＳ４４：Ｎｏ）には、ステップＳ４２に戻り、プリンタ３０からの応答があるかどうかが監視される。
【００８２】
一方、所定時間経過してもプリンタ１１からのビジー信号ＢＳを受信しない場合（ステップＳ４４：Ｙｅｓ）には、印刷をキャンセルするか又は再試行するかを、ユーザーに問い合わせる（ステップＳ４５）。ユーザーが印刷をキャンセルした場合（ステップＳ４５：Ｙｅｓ）には、コンピュータ１０は、印刷データを破棄する（ステップＳ４６）。その後、ユーザーがコンピュータ１０に、前回と同じ、若しくは、前回と異なる印刷を指示すると（ステップＳ４７）、上述したステップＳ４０の処理に戻り、再び印刷データが生成され（ステップＳ４０）、上記の処理が繰り返される。
【００８３】
一方、ステップＳ４５でユーザが印刷の再試行を選択した場合（ステップＳ４５：Ｎｏ）には、上述したステップＳ４２に戻り、さらに所定時間だけ、プリンタ３０からのビジー信号ＢＳの受信を待ち続ける。
【００８４】
次に図１２に基づいて、本実施形態に係るプリンタ３０側の処理を説明する。図１２は、プリンタ３０側の受信処理を示すフローチャートである。
【００８５】
図１２に示すように、まず、プリンタ３０では、プリンタケーブル５０の抜き差しが検出されたか否かを判断する（ステップＳ５０）。ケーブルの抜き差しが検出された場合（ステップＳ５０Ｙｅｓ）には、ＲＡＭ１４に残っている印刷データＰＤＡＴを消去し、印刷途中の用紙を排紙する、リセット動作う（ステップＳ５１）。なお、ケーブル抜き差し判定のステップＳ５０及びリセット動作のステップＳ５１については、図１３と共に後述する。
【００８６】
一方、ケーブルの抜き差しが検出されていない場合（ステップＳ５０：Ｎｏ）には、コンピュータ１０から印刷データＰＤＡＴを受信したか否かを判断する（ステップＳ５２）。データを受信していない場合（ステップＳ５２：Ｎｏ）には、上述したステップＳ５０からの処理を繰り返す。
【００８７】
一方、コンピュータ１０から印刷データＰＤＡＴを受信した場合（ステップＳ５２：Ｙｅｓ）には、受信した印刷データＰＤＡＴに基づいて、イメージデータを生成し（ステップＳ５３）、印刷を行う（ステップＳ５４）。そして、上述したステップＳ５０からの処理を繰り返す。
【００８８】
次に、図１３に基づいて、図１２におけるステップＳ５０の抜き差し検出処理、及び、ステップＳ５１のリセット処理について、詳しく説明する。この図１３は、これら抜き差し検出処理及びリセット処理の詳細を示すフローチャートである。
【００８９】
図１３に示すように、まず、プリンタ３０は、ケーブル抜き差し有効コマンドを受信したかどうかを判断する（ステップＳ６０）。ケーブル抜き差し有効コマンドを受信した場合（ステップＳ６０：Ｙｅｓ）には、監視有効フラグをセットする（ステップＳ６１）。
【００９０】
ステップＳ６１で監視有効フラグをセットした後、又は、ステップＳ６０でケーブル抜き差し有効コマンドを受信していないと判断した場合（ステップＳ６０：Ｎｏ）には、ケーブル抜き差し無効コマンドを受信したかどうかを判断する（ステップＳ６２）。ケーブル抜き差し無効コマンドを受信した場合（ステップＳ６２：Ｙｅｓ）には、監視有効フラグをリセットする（ステップＳ６３）。
【００９１】
ステップＳ６３で監視有効フラグをリセットした後、又は、ステップＳ６２でケーブル抜き差し無効コマンドを受信していないと判断した場合（ステップＳ６２：Ｎｏ）には、制御チャネルＣＮＣ、プリンタコントロール用チャネルＰＣＣ、又は、印刷データ転送用チャネルＤＴＣで、何らかのパケットを受信中であるかどうかを判断する（ステップＳ６４）。パケットを受信中である場合（ステップＳ６４：Ｙｅｓ）には、パケット受信中フラグをセットし（ステップＳ６５）、パケットを受信中でない場合（ステップＳ６４：Ｎｏ）には、パケット受信中フラグをリセットする（ステップＳ６６）。以上により、ケーブル抜き差しの監視準備が完了する。
【００９２】
次に、プリンタ３０は、監視有効フラグがセットされている状態で、デバイスＩＤリクエストＤＲＥＱを受信したかどうかを判断する（ステップＳ６７）。監視有効フラグがセットされている状態で、デバイスＩＤリクエストＤＲＥＱを受信していない場合（ステップＳ６７：Ｎｏ）には、プリンタ３０は、パケット受信中フラグがセットされている状態で、デバイスＩＤリクエストＤＲＥＱを受信したかどうかを判断する（ステップＳ６８）。
【００９３】
監視有効フラグがセットされている状態で、デバイスＩＤリクエストＤＲＥＱを受信した場合（ステップＳ６７：Ｙｅｓ）、又は、パケット受信中フラグがセットされている状態で、デバイスＩＤリクエストＤＲＥＱを受信した場合（ステップＳ６８：Ｙｅｓ）には、プリンタケーブル５０の抜き差しがあったか否かを示す抜き差し検出フラグをセットする（ステップＳ６９）。これに対して、監視有効フラグがセットされている状態で、デバイスＩＤリクエストＤＲＥＱを受信しておらず（ステップＳ６７：Ｎｏ）、且つ、パケット受信中フラグがセットされている状態で、デバイスＩＤリクエストＤＲＥＱを受信していない場合（ステップＳ６８：Ｎｏ）には、抜き差し検出フラグをリセットする（ステップＳ７０）。
【００９４】
次に、プリンタ３０は、コンピュータ１０にデバイスＩＤリクエストに応答して、デバイスＩＤリプライを送信する（ステップＳ７１）。続いて、プリンタ３０は、抜き差し検出フラグがセットされいるかどうかを判断する（ステップＳ７２）。抜き差し検出フラグがセットされていない場合（ステップＳ７２：Ｎｏ）には、上述したステップＳ６０の処理に戻る。
【００９５】
一方、抜き差し検出フラグがセットされている場合（ステップＳ７２：Ｙｅｓ）には、ＲＡＭ１６に形成されているデータバッファに残っている印刷データＰＤＡＴを、クリアする（ステップＳ７３）。続いて、印刷途中で止まっている用紙を排出する（ステップＳ７４）。続いて、インターフェースの初期化を行い（ステップＳ７５）、再度の印刷に備える。そして、上述したステップＳ６０の処理に戻る。
【００９６】
以上のように、本実施形態によれば、上述した第１実施形態と同様に、プリンタケーブル５０が抜けたことを直接検知できないパラレルケーブルでも、プリンタケーブル５０が抜けた際に、プリンタ１０が不要な印刷をしてしまうのを回避することができる。
【００９７】
しかも、ＲＡＭ１４に残っている印刷データＰＤＡＴを、電源スイッチやコントロールパネルが設けられていないプリンタ１０においても、電源ケーブル２４を抜き差しすることなくクリアすることができる。このため、ユーザの使い勝手の向上を図ることができる。
【００９８】
さらに、パケット受信中にデバイスＩＤリクエストＤＲＥＱを受信した場合でも、リセット動作をすることとしたので、印刷中以外のタイミングでプリンタケーブル５０のコネクタの抜き差しが行われたとしても、このリセット動作を行うことができる。
【００９９】
〔第５実施形態〕
本発明の第５実施形態は、上述した第４実施形態に変形を加えて、パケット受信中フラグを用いずに、監視有効フラグのみを用いて、プリンタケーブル５０の抜き差しが行われたかどうかを判断するようにしたものである。
【０１００】
図１４は、本実施形態に係るステップＳ５０の抜き差し検出処理及びステップＳ５１のリセット処理を説明するフローチャートである。この図１４は、上述した第４実施形態の図１３に相当する図である。
【０１０１】
本実施形態においては、プリンタケーブル５０の抜き差しがあったことを、監視有効フラグのみで管理している。すなわち、コンピュータ３０からプリンタ１０が、ケーブル抜き差し有効コマンドを受信した場合に監視有効フラグをセットし、ケーブル抜き差し無効コマンドを受信した場合に監視有効フラグをリセットする。そして、この監視有効フラグがセットされている間に、デバイスＩＤリクエストＤＲＥＱを受信した場合には、印刷中にケーブルの抜き差しが行われたと推定して、ＲＡＭ１４に残っている印刷データＰＤＡＴを消去することとしている。
【０１０２】
このため、図１４に示すように、本実施形態においては、上述した第４実施形態（図１３参照）から、ステップＳ６４〜ステップＳ６６、ステップＳ６９を省いている。これ以外の点は、上述した第４実施形態と同様であるので、詳しい説明は省略する。
【０１０３】
以上のように、本実施形態によれば、監視有効フラグのみを用いて、ケーブルの抜き差しを検出することとしたので、印刷データＰＤＡＴをコンピュータ３０からプリンタ１０へ送信している場合にのみ、プリンタケーブル５０の抜き差しを監視するようにできる。このため、ＲＡＭ１４に格納されている印刷データＰＤＡＴを不必要に消去してしまうおそれを回避できる。
【０１０４】
なお、本発明は上記実施形態に限定されず種々に変形可能である。例えば、本発明は、電源スイッチやコントロールパネルのあるプリンタに対しても適用することができる。また、プリンタ１０とコンピュータ３０との間のプリンタケーブル５０の接続仕様は、上述したパラレルケーブルとＵＳＢに限るものではなく、他の接続仕様であってもよい。
【０１０５】
さらに、上述した第１、第３実施形態においては、マジックストリングＭＳやデバイスＩＤリクエストＤＲＥＱを印刷データＰＤＡＴの送信を開始することを示す印刷開始信号とし、クローズチャネルＣＣを印刷データＰＤＡＴの送信が完了したことを示す印刷完了信号としたが、これ以外の信号を用いてもよい。
【０１０６】
また、上述した第４、第５実施形態においては、ケーブル抜き差し有効コマンドを印刷開始信号とし、ケーブル抜き差し無効コマンドを印刷完了信号としたが、これ以外の信号を用いてもよい。例えば、印刷データ転送用チャネルオープンコマンドを印刷開始信号とし、印刷データ転送用チャネルクローズコマンドを印刷完了信号として、用いてもよい。
【０１０７】
また、上述の実施形態で説明した各処理については、これら各処理を実行するためのプログラムをフロッピーディスク、ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）、ＲＯＭ、メモリカード等の記録媒体に記録して、記録媒体の形で頒布することが可能である。この場合、このプログラムが記録された記録媒体をプリンタ１０やコンピュータ３０に読み込ませ、実行させることにより、上述した実施形態を実現することができる。
【０１０８】
また、プリンタ１０やコンピュータ３０は、オペレーティングシステムや別のアプリケーションプログラム等の他のプログラムを備える場合がある。この場合、プリンタ１０やコンピュータ３０の備える他のプログラムを活用し、記録媒体にはそのプリンタ１０やコンピュータ３０が備えるプログラムの中から、本実施形態と同等の処理を実現するプログラムを呼び出すような命令を記録するようにしてもよい。
【０１０９】
さらに、このようなプログラムは、記録媒体の形ではなく、ネットワークを通じて搬送波として頒布することも可能である。ネットワーク上を搬送波の形で伝送されたプログラムは、プリンタ１０やコンピュータ３０に取り込まれて、このプログラムを実行することにより上述した実施形態を実現することができる。
【０１１０】
また、記録媒体にプログラムを記録する際や、ネットワーク上を搬送波として伝送される際に、プログラムの暗号化や圧縮化がなされている場合がある。この場合には、これら記録媒体や搬送波からプログラムを読み込んだプリンタ１０やコンピュータ３０は、そのプログラムの復号化や伸張化を行った上で、実行する必要がある。
【０１１１】
【発明の効果】
以上説明したように、本発明によれば、プリンタがプリンタケーブルの抜けたことを検出して、このプリンタケーブルが抜けた場合には、データバッファに残っている印刷データを消去することとしたので、プリンタが不必要な印刷を行ってしまうのを回避することができる。
【図面の簡単な説明】
【図１】本発明が適用された印刷システムのハードウェア構成を示す図。
【図２】図１に示す印刷システムにおいて正常に印刷が行われた場合のコンピュータとプリンタの間の信号送受関係を示す信号図。
【図３】本発明の第１実施形態において、印刷中にプリンタケーブルが抜けた場合のコンピュータとプリンタの間の信号送受関係を示す図。
【図４】本発明の第１実施形態に係るプリンタにおける印刷データ受信処理を説明するフローチャート。
【図５】本発明の第２実施形態に係るプリンタにおける印刷データ受信処理を説明するフローチャート。
【図６】本発明の第３実施形態に係るプリンタにおける印刷データ受信処理を説明するフローチャート。
【図７】本発明の第４実施形態に係るプリンタとコンピュータとの間で確立される論理チャネルの構成を説明する図。
【図８】本発明の第４実施形態に係るプリンタとコンピュータとの間で確立される制御チャネルと印刷データ転送用チャネルとで送受されるパケットと、監視有効フラグの状態とを説明するタイミングチャート。
【図９】本発明の第４実施形態に係るプリンタとコンピュータとの間で確立される制御チャネルと印刷データ転送用チャネルとで送受されるパケットと、パケット受信中フラグの状態とを説明するタイミングチャート。
【図１０】本発明の第４実施形態に係るプリンタとコンピュータとの間で送受される信号を説明する図。
【図１１】本発明の第４実施形態に係るコンピュータで実行される印刷データ送信処理を説明するフローチャート。
【図１２】本発明の第４実施形態に係るプリンタで実行される受信処理を説明するフローチャート。
【図１３】本発明の第４実施形態に係る抜き差し検出処理及びリセット処理を説明するフローチャート。
【図１４】本発明の第５実施形態に係る抜き差し検出処理及びリセット処理を説明するフローチャート。
【符号の説明】
１０  プリンタ
１２  ＣＰＵ
１４  ＲＡＭ
１６  ＲＯＭ
１８、２０  インターフェース
２２  印刷実行部
２４  電源コード
３０  コンピュータ
３２  ＣＰＵ
３４  ＲＡＭ
３６  ＲＯＭ
３８、４０  インターフェース
４２  ハードディスク
５０  プリンタケーブル
５２、５６  コネクタ
５４、５８  接続部
【図１】
0004306118.tif 000002
【図２】
0004306118.tif 000003
【図３】
0004306118.tif 000004
【図４】
0004306118.tif 000005
【図５】
0004306118.tif 000006
【図６】
0004306118.tif 000007
【図７】
0004306118.tif 000008
【図８】
0004306118.tif 000009
【図９】
0004306118.tif 000010
【図１０】
0004306118.tif 000011
【図１１】
0004306118.tif 000012
【図１２】
0004306118.tif 000013
【図１３】
0004306118.tif 000014
【図１４】
0004306118.tif 000015