(57)【要約】【課題】ホストコンピュータが制御対象のプリンタの現在の動作モードを把握することなく、所望の動作モードに移行させ、サポートしていないプリンタ制御コマンドの出力に起因するゴミ印字などの誤動作を防止する。【解決手段】ホストコンピュータ４Ａ、４Ｂは、複数種類のプリンタ２Ａ、２Ｂに対し動作モードを変更するためのプリンタ制御コマンドを出力するに際し、プリンタ制御コマンドの先頭部分に前記複数種類のプリンタの全てにおいてプリンタ制御コマンドとして認識可能なコマンド先頭データ列を配置し、コマンド先頭データ列に続けて前記動作モードを変更するための動作モード変更データ列を配置して、前記プリンタに出力する。【選択図】図１
2007140657.tif 000002
【特許請求の範囲】
【請求項１】
複数種類のプリンタに対し動作モードを変更するためのプリンタ制御コマンドを出力するに際し、
前記プリンタ制御コマンドの先頭部分に前記複数種類のプリンタの全てにおいて前記プリンタ制御コマンドとして認識可能なコマンド先頭データ列を配置し、前記コマンド先頭データ列に続けて前記動作モードを変更するための動作モード変更データ列を配置して、前記プリンタに出力する動作モード制御部を備えたことを特徴とするプリンタ制御装置。
【請求項２】
請求項１記載のプリンタ制御装置において、
前記動作モードは、所定のプリンタ動作をエミュレートするエミュレーションモードあるいは所定の通信プロトコルを用いて通信を行う通信プロトコルモードを含むことを特徴とするプリンタ制御装置。
【請求項３】
請求項１または請求項２記載のプリンタ制御装置において、
前記コマンド先頭データ列は、ＥSＣコードと所定のコードとを含むことを特徴とするプリンタ制御装置。
【請求項４】
請求項１ないし請求項３のいずれかに記載のプリンタ制御装置にネットワークあるいは通信線を介して接続されるプリンタであって、
複数のエミュレーションモードを有し、
前記複数のエミュレーションモードにおいて、前記コマンド先頭データ列を解釈するコマンド解釈部と、
前記コマンド先頭データ列に続く前記動作モード変更データ列に基づいて当該プリンタの動作モードを変更する動作モード変更部と、
を備えたことを特徴とするプリンタ。
【請求項５】
請求項４記載のプリンタにおいて、
前記コマンド解釈部は、前記コマンド先頭データ列が当該プリンタにおいてサポートしていないプリンタ制御コマンドに対応するものである場合には、当該プリンタ制御コマンドを破棄することを特徴とするプリンタ。
【請求項６】
複数種類のプリンタに対し動作モードを変更するためのプリンタ制御コマンドを生成し出力するプリンタ制御装置の制御方法において、
先頭部分に前記複数種類のプリンタの全てにおいて前記プリンタ制御コマンドとして認識可能なコマンド先頭データ列を配置し、前記コマンド先頭データ列に続けて前記動作モードを変更するための動作モード変更データ列を配置して、前記プリンタ制御コマンドを生成するコマンド生成過程と、
制御対象のプリンタに対し、生成した前記プリンタ制御コマンドを出力するコマンド出力過程と、
を備えたことを特徴とするプリンタ制御装置の制御方法。
【請求項７】
外部のプリンタ制御装置にネットワークあるいは通信線を介して接続されるプリンタの制御方法において、
プリンタ制御コマンドの先頭部分に配置され、前記複数種類のプリンタの全てにおいて前記プリンタ制御コマンドとして認識可能なコマンド先頭データ列および前記コマンド先頭データ列に続けて配置され、前記動作モードを変更するための動作モード変更データ列を受信するコマンド受信過程と、
複数のエミュレーションモードにおいて、前記コマンド先頭データ列を解釈するコマンド解釈過程と、
前記コマンド先頭データ列に続く前記動作モード変更データ列に基づいて当該プリンタの動作モードを変更する動作モード変更過程と、
を備えたことを特徴とするプリンタの制御方法。
【請求項８】
複数種類のプリンタに対し動作モードを変更するためのプリンタ制御コマンドを生成し出力するプリンタ制御装置をコンピュータにより制御する制御プログラムにおいて、
先頭部分に前記複数種類のプリンタの全てにおいて前記プリンタ制御コマンドとして認識可能なコマンド先頭データ列を配置させ、前記コマンド先頭データ列に続けて前記動作モードを変更するための動作モード変更データ列を配置させて、前記プリンタ制御コマンドを生成させ、
制御対象のプリンタに対し、生成した前記プリンタ制御コマンドを出力させる、
ことを特徴とする制御プログラム。
【請求項９】
外部のプリンタ制御装置にネットワークあるいは通信線を介して接続されるプリンタをコンピュータにより制御するための制御プログラムにおいて、
プリンタ制御コマンドの先頭部分に配置され、前記複数種類のプリンタの全てにおいて前記プリンタ制御コマンドとして認識可能なコマンド先頭データ列および前記コマンド先頭データ列に続けて配置され、前記動作モードを変更するための動作モード変更データ列を受信させ、
複数のエミュレーションモードにおいて、前記コマンド先頭データ列を解釈させ、
前記コマンド先頭データ列に続く前記動作モード変更データ列に基づいて当該プリンタの動作モードを変更させる、
ことを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタ制御装置、プリンタ、それらの制御方法および制御プログラムに係り、特にプリンタ機能の設定を行う技術に関する。
【背景技術】
【０００２】
代表的なプリンタ制御コマンドとして、エスケープシーケンス（ＥＳＣシーケンス）と呼ばれるプリンタ制御コマンド群が知られている。
このＥＳＣシーケンスは、メーカーによって異なるコマンド体系を有するため、様々なプリントシステムに対応させるために、その動作モードとして複数のエミュレーションモードを搭載している（例えば、特許文献１参照）。
【特許文献１】特開平５−２７００６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし現在の動作モード状態によってホストコンピュータ側がモード認識を間違えると同じ印刷データであっても、文字化けなどが発生するいわゆるゴミ印字がなされてしまうという問題があった。
また、エミュレーションモードをホストコンピュータ側から切り替える場合に、プリンタ制御コマンドとしてエミュレーションモード切替コマンドが用いられることとなるが、プリンタの現在のエミュレーションモードにより当該プリンタに出力すべきエミュレーションモード切替コマンドが異なっており、プリンタの現在のエミュレーションモードをホストコンピュータが把握していないとエミュレーションモードを切り替えることはできないという問題点があった。
【０００４】
同様にして複数のホストコンピュータにプリンタがネットワークを介して接続されているプリントシステムにおいては、各ホストコンピュータがプリンタの現在のエミュレーションモードを把握していないと正しい印刷を行うことができないという問題点があった。
そこで、本発明の目的は、ホストコンピュータが制御対象のプリンタの現在の動作モードを把握することなく、所望の動作モードに移行させることができるとともに、サポートしていないプリンタ制御コマンドの出力に起因するゴミ印字などの誤動作を防止することが可能なプリンタ制御装置、プリンタ、それらの制御方法および制御プログラムを提供することにある。
【課題を解決するための手段】
【０００５】
上記課題を解決するため、プリンタ制御装置は、複数種類のプリンタに対し動作モードを変更するためのプリンタ制御コマンドを出力するに際し、前記プリンタ制御コマンドの先頭部分に前記複数種類のプリンタの全てにおいて前記プリンタ制御コマンドとして認識可能なコマンド先頭データ列を配置し、前記コマンド先頭データ列に続けて前記動作モードを変更するための動作モード変更データ列を配置して、前記プリンタに出力する動作モード制御部を備えたことを特徴としている。
上記構成によれば、動作モード制御部は、プリンタ制御コマンドの先頭部分に複数種類のプリンタの全てにおいてプリンタ制御コマンドとして認識可能なコマンド先頭データ列を配置し、コマンド先頭データ列に続けて動作モードを変更するための動作モード変更データ列を配置して、プリンタに出力する。
【０００６】
この場合において、前記動作モードは、所定のプリンタ動作をエミュレートするエミュレーションモードあるいは所定の通信プロトコルを用いて通信を行う通信プロトコルモードを含むようにしてもよい。
また、前記コマンド先頭データ列は、ＥSＣコードと所定のコードとを含むようにしてもよい。
【０００７】
また、上記いずれかに記載のプリンタ制御装置にネットワークあるいは通信線を介して接続されるプリンタであって、複数のエミュレーションモードを有し、前記複数のエミュレーションモードにおいて、前記コマンド先頭データ列を解釈するコマンド解釈部と、前記コマンド先頭データ列に続く前記動作モード変更データ列に基づいて当該プリンタの動作モードを変更する動作モード変更部と、を備えたことを特徴としている。
上記構成によれば、コマンド解釈部は、複数のエミュレーションモードにおいて、前記コマンド先頭データ列を解釈する。
これにより、動作モード変更部は、コマンド先頭データ列に続く動作モード変更データ列に基づいて当該プリンタの動作モードを変更する。
【０００８】
この場合において、コマンド解釈部は、前記コマンド先頭データ列が当該プリンタにおいてサポートしていないプリンタ制御コマンドに対応するものである場合には、当該プリンタ制御コマンドを破棄するようにしてもよい。
【０００９】
また、複数種類のプリンタに対し動作モードを変更するためのプリンタ制御コマンドを生成し出力するプリンタ制御装置の制御方法において、先頭部分に前記複数種類のプリンタの全てにおいて前記プリンタ制御コマンドとして認識可能なコマンド先頭データ列を配置し、前記コマンド先頭データ列に続けて前記動作モードを変更するための動作モード変更データ列を配置して、前記プリンタ制御コマンドを生成するコマンド生成過程と、制御対象のプリンタに対し、生成した前記プリンタ制御コマンドを出力するコマンド出力過程と、を備えたことを特徴としている。
【００１０】
また、外部のプリンタ制御装置にネットワークあるいは通信線を介して接続されるプリンタの制御方法において、プリンタ制御コマンドの先頭部分に配置され、前記複数種類のプリンタの全てにおいて前記プリンタ制御コマンドとして認識可能なコマンド先頭データ列および前記コマンド先頭データ列に続けて配置され、前記動作モードを変更するための動作モード変更データ列を受信するコマンド受信過程と、複数のエミュレーションモードにおいて、前記コマンド先頭データ列を解釈するコマンド解釈過程と、前記コマンド先頭データ列に続く前記動作モード変更データ列に基づいて当該プリンタの動作モードを変更する動作モード変更過程と、を備えたことを特徴としている。
【００１１】
また、複数種類のプリンタに対し動作モードを変更するためのプリンタ制御コマンドを生成し出力するプリンタ制御装置をコンピュータにより制御する制御プログラムにおいて、先頭部分に前記複数種類のプリンタの全てにおいて前記プリンタ制御コマンドとして認識可能なコマンド先頭データ列を配置させ、前記コマンド先頭データ列に続けて前記動作モードを変更するための動作モード変更データ列を配置させて、前記プリンタ制御コマンドを生成させ、制御対象のプリンタに対し、生成した前記プリンタ制御コマンドを出力させる、ことを特徴としている。
【００１２】
また、外部のプリンタ制御装置にネットワークあるいは通信線を介して接続されるプリンタをコンピュータにより制御するための制御プログラムにおいて、プリンタ制御コマンドの先頭部分に配置され、前記複数種類のプリンタの全てにおいて前記プリンタ制御コマンドとして認識可能なコマンド先頭データ列および前記コマンド先頭データ列に続けて配置され、前記動作モードを変更するための動作モード変更データ列を受信させ、複数のエミュレーションモードにおいて、前記コマンド先頭データ列を解釈させ、前記コマンド先頭データ列に続く前記動作モード変更データ列に基づいて当該プリンタの動作モードを変更させる、ことを特徴としている。
【発明の効果】
【００１３】
本発明によれば、ホストコンピュータが制御対象のプリンタの現在の動作モードを把握することなく、所望の動作モードに移行させることができるとともに、サポートしていないプリンタ制御コマンドの出力に起因するゴミ印字などの誤動作を防止できる。
【発明を実施するための最良の形態】
【００１４】
次に本発明の好適な実施の形態について図面を参照して説明する。
図１は実施形態のプリントシステムの概要構成ブロック図である。
プリントシステム１は、複数のプリンタ２Ａ、２Ｂと、プリンタ２Ａ、２Ｂとネットワーク３を介して接続された複数のホストコンピュータ４Ａ、４Ｂと、を備えている。
ここで、ホストコンピュータ４Ａ、４Ｂは、ＣＰＵ、ＲＯＭ、ＲＡＭなどを備えたマイクロコンピュータとして構成されており、ＣＰＵ、ＲＯＭ、ＲＡＭなどは、プリンタ制御コマンドを生成し、複数のプリンタ２Ａ、２Ｂを制御する動作モード制御部として機能している。
次にプリンタ２Ａと、プリンタ２Ｂとは、同様の構成であるので、プリンタ２Ａを例として詳細に説明する。
【００１５】
図２は、本実施形態のプリンタのハードウエア構成の説明図である。
プリンタ２Ａは、大別すると、実際の印刷を行うプリントエンジン１０と、プリンタ２Ａ全体を制御する制御部１１と、各種インタフェース動作を行うインタフェース部１２と、液晶ディスプレイパネルなどの表示部１３および操作ボタン１４を有するコントロールパネル１５と、を備えている。
制御部１１は、制御部１１全体を制御するＣＰＵ２１、制御プログラムなどを予め格納したＲＯＭ２２、各種データを一時的に記憶するＲＡＭ２３および設定データなどを更新可能に不揮発的に記憶するＥＥＰＲＯＭ２４を備え、マイクロコンピュータとして機能している。
【００１６】
そして、制御部１１は、ホストコンピュータ４Ａ、４Ｂからインタフェース部１２を介して送られてくるデータや、コントロールパネル１５の操作ボタン１４等からの入力に従ってプリントエンジン１０を駆動制御する。
ここで、実施形態のプリンタシステムにおいて用いられるプリンタ制御コマンドの説明をする。
本実施形態においては、動作モード（エミュレーションモードあるいは通信プロトコルモード）を切り替えるに際し、全ての動作モードにおいてサポートされているコードであって、１バイト以上のパラメータを有するコード、あるいは、いずれの動作モードでも使用していないコードであって、１バイト以上のパラメータを有するコードでプリンタ制御コマンドを構成するようにしている。
この結果、いずれのプリンタにおいても、プリンタ制御コマンドとして認識できるとともに、各プリンタにおいて、プリンタ制御コマンドの機能をサポートしていない場合にもプリンタ制御コマンドが読み捨てられるに留まり、いわゆるゴミ印字がなされることはない。
【００１７】
具体的な動作モード切替コマンドとしてのプリンタ制御コマンドとして、例えば、シリアルプリンタを用いた場合について説明する。以下の説明において、［＊］、［＊１］、［＊２］は所定のコードを、ｘｘＨは、１６進数の数値を表している。
全ての動作モードにおいてサポートされているコードであって、１バイト以上のパラメータを有するコードで構成したプリンタ制御コマンドとしては、以下のようなものが考えられる。
【００１８】
ＥＳＣ Ｓ  ［＊］  ＥＳＣ Ｓ  ｘｘＨ
ＥＳＣ Ｊ  ［＊］  ＥＳＣ Ｊ  ｘｘＨ
ＥＳＣ Ｌ  ［＊］  ＥＳＣ Ｌ  ｘｘＨ
ＥＳＣ Ｕ  ［＊］  ＥＳＣ Ｕ  ｘｘＨ
【００１９】
ここで、所定のコード［＊］の前の部分（先頭部分）は複数種類のプリンタの全てにおいてプリンタ制御コマンドとして認識可能なコマンド先頭データ列として機能しており、所定のコード［＊］以下の部分は、プリンタの動作モードを変更するための動作モード変更データ列として機能している（以下、同様）。
また、所定のコード［＊］としては、ＥＳＣ＝１ＢＨ、ＮＵＬ＝００Ｈ、ＳＯＨ＝０１Ｈ、ＤＣ１＝１１Ｈ、ＦＳ＝１ＣＨ、ＳＰ＝２０Ｈのいずれかを用いることが可能となっている。
さらに、同一のフォーマットで「ＥＳＣ Ｓ」、「ＥＳＣ Ｊ」、「ＥＳＣ Ｌ」、「ＥＳＣ Ｕ」のコードの内、いずれか二つを組み合わせるようにすることも可能である。具体的には、「ＥＳＣ Ｓ」および「ＥＳＣ Ｊ」を用いる場合には以下の通りとなる。
【００２０】
ＥＳＣ Ｓ  ［＊］  ＥＳＣ Ｊ  ｘｘＨ
ＥＳＣ Ｊ  ［＊］  ＥＳＣ Ｓ  ｘｘＨ
【００２１】
また、いずれの動作モードでも使用していないコードであって、１バイト以上のパラメータを有するコードでプリンタ制御コマンドを構成したプリンタ制御コマンドとしては、以下のようなものが考えられる。
【００２２】
ＥＳＣ Ｓ  ［＊］  ［＊１］  ｘｘＨ
［＊１］   ［＊］  ＥＳＣ Ｓ  ｘｘＨ
【００２３】
ここで、所定のコード［＊］としては、ＥＳＣ＝１ＢＨ、ＮＵＬ＝００Ｈ、ＳＯＨ＝０１Ｈ、ＤＣ１＝１１Ｈ、ＦＳ＝１ＣＨ、ＳＰ＝２０Ｈのいずれかを用いることが可能となっており、所定のコード［＊１］としては、以下のものいずれかを用いることが可能となっている。
【００２４】
ＥＳＣ ＳＯＨ                （０１Ｈ）
ＥＳＣ ＢＥＬ                （０７Ｈ）
ＥＳＣ ＢＳ                  （０８Ｈ）
ＥＳＣ ＨＴ                  （０９Ｈ）
ＥＳＣ ＦＦ                  （０ＣＨ）
ＥＳＣ ＣＲ                  （０ＤＨ）
ＥＳＣ ＤＣ１                （１１Ｈ）
ＥＳＣ ＤＣ２                （１２Ｈ）
ＥＳＣ ＤＣ３                （１３Ｈ）
ＥＳＣ ＤＣ４                （１４Ｈ）
ＥＳＣ ＣＡＮ                （１８Ｈ）
ＥＳＣ ＥＳＣ                （１ＢＨ）
ＥＳＣ ＦＳ                  （１ＣＨ）
ＥＳＣ ，                    （２ＣＨ）
ＥＳＣ ９                    （３９Ｈ）
ＥＳＣ ；                    （３ＢＨ）
ＥＳＣ ｚ                    （７ＡＨ）
【００２５】
また、さらにＩＥＥＥ１２８４．４に規定されるパケットモードが上位層にあることを意識した共通コマンドとしてのプリンタ制御コマンドとしては、以下のようなものが考えられる。
ＮＵＬ  ＮＵＬ  ＮＵＬ  ＥＳＣ ＳＯＨ  ［＊２］
ここで、所定のコード［＊２］としては、以下のいずれかを用いることが可能となっている。
【００２６】
ＥＳＣ Ｓ  ｘｘＨ
ＥＳＣ Ｊ  ｘｘＨ
ＥＳＣ Ｌ  ｘｘＨ
ＥＳＣ Ｕ  ｘｘＨ
【００２７】
図３は、図１に示したハードウエアにより実現される機能ブロック図である。各機能は、実際には上記のＲＯＭ等に格納された所定のプログラムをＣＰＵが実行することによって実現される。ホストコンピュータ４Ａ、４Ｂからネットワークおよびインタフェース部１２を介して上述したプリンタ制御コマンドを含む印刷命令を受けると、制御部１１はこれを処理する。プリンタ制御コマンドを含む印刷命令は、まず解釈部５１のデータ解析部５２において印刷命令の解析がなされる。
【００２８】
図４は、印刷命令の解析処理の処理フローチャートである。
受信した印刷データは、データ解析部５２によって一旦データバッファ５３に蓄積される（ステップＳ１）。
続いて制御コード解釈部５４は、データバッファ５３がいっぱいになるか、又は全てのデータを受信して所定時間が経過（タイムアウト）したか否か、すなわち、データの蓄積が完了したか否かを判別する（ステップＳ２）。
ステップＳ２の判別において、制御コード解釈部５４は、データの蓄積が完了した場合には（ステップＳ２；Ｙｅｓ）、蓄積されているデータの先頭から処理を行い、コードが印刷対象の文字コードであるか、あるいは、プリンタ制御コマンドであるかを判別する（ステップＳ３）。
【００２９】
ステップＳ３の判別において、処理対象のコードが文字コードであった場合には、当該文字コードを印字データ解釈部５５に転送し、イメージデータに展開してイメージバッファ５６に書き込ませる（ステップＳ４）。
ステップＳ３の判別において、処理対象のコードがプリンタ制御コマンドであった場合には、制御コード解釈部５４は、当該プリンタ制御コマンド全体のコードを読み込んで、当該プリンタ制御コマンドが実行可能か否かを判別する（ステップＳ５）。
ここでプリンタ制御コマンドが実行可能であるとは、当該プリンタにおいて、サポートしているプリンタ制御コマンドであるという意味である。
従って、実行可能なプリンタ制御コマンドが入力された場合には（ステップＳ５；Ｙｅｓ）、当該プリンタ制御コマンドの所定の定義に従って、動作モード（エミュレーションモードあるいは通信プロトコルモード）を変更したり、印字機構制御部５７を介してプリントエンジン１０を構成する印字機構を制御して、印字モードを制御したり、モータ制御部５８を介して搬送モータやキャリッジモータ等を制御させ、紙送り量、改ページ制御、キャリッジ駆動速度などの制御を行う（ステップＳ６）。
これらの結果、イメージバッファ５６内の文字コード印字が実行されることとなる（ステップＳ８）。
【００３０】
ステップＳ５の判別において、実行可能ではないコマンドが入力された場合には（ステップＳ５；Ｎｏ）、すなわち、サポートしていないプリンタ制御コマンドが入力された場合には、データ解析部３３は、制御コード解釈部３６に対して該当するプリンタ制御コマンドを読み捨てるように指定する。読み捨ての指定を受けた制御コード解釈部３６では、データバッファ３４からプリンタ制御コマンドに対応するデータを取り出しながら、それをイメージバッファに３７に展開することなく破棄する（ステップＳ７）。
そして当該プリンタ制御コマンドの破棄が終了すると、これに続くコードの処理に移行することとなる。
【００３１】
以上の説明のように、本実施形態によれば、ホストコンピュータ４Ａ、４Ｂは、プリンタ２Ａ、２Ｂの現在の動作モード（エミュレーションモードあるいは通信プロトコルモード）が不明であっても、目的とする動作モード（エミュレーションモードあるいは通信プロトコルモード）に移行させることができ、ホストコンピュータ４Ａ、４Ｂの想定している動作モード（エミュレーションモードあるいは通信プロトコルモード）とプリンタ２Ａ、２Ｂの現在の動作モードが異なることに起因する、いわゆる、ゴミ印字の防止を容易に実現することができる。
【００３２】
以上の説明では、プリンタとして、シリアルプリンタの場合について説明したが、ページプリンタ、ＰＯＳプリンタなどにおいても、同様の考え方で、現在のプリンタの動作モードを正確に把握することなく、プリンタの動作モードの変更が可能となる。
【図面の簡単な説明】
【００３３】
【図１】実施形態のプリントシステムの概要構成ブロック図である。
【図２】本実施形態のプリンタのハードウエア構成の説明図である。
【図３】図１に示したハードウエアにより実現される機能ブロック図である。
【図４】印刷命令の解析処理の処理フローチャートである。
【符号の説明】
【００３４】
１…プリンタシステム、２Ａ、２Ｂ…プリンタ、３…ネットワーク、４Ａ、４Ｂ…ホストコンピュータ、１０…プリントエンジン、１１…制御部、１２…インタフェース部、１３…表示部、１４…操作ボタン、１５…コントロールパネル、２１…ＣＰＵ、２２…ＲＯＭ、２３…ＲＡＭ、２４…ＥＥＰＲＯＭ、５１…解釈部、５２…データ解析部、５３…データバッファ、５４…制御コード解釈部、５５…印字データ解釈部、５６…イメージバッファ、５７…印字機構制御部、５８…モータ制御部。
【図１】
2007140657.tif 000003
【図２】
2007140657.tif 000004
【図３】
2007140657.tif 000005
【図４】
2007140657.tif 000006