(57)【要約】【課題】簡単な処理でコマンドの誤認識を防ぐことができる。【解決手段】プリンタにコマンドを送信するホスト装置と、ホスト装置から受信したコマンドに基づいて処理を行うプリンタを有する印刷システムであって、ホスト装置は、コマンドが所定の条件に一致する場合にコマンドを変換条件に基づいて変換して、変換した変換コードをコマンドとしてプリンタに送信し、プリンタは、ホスト装置からコマンドを受信する受信部と、受信されたコマンドが変換条件に基づいて変換された変換コードであるか否かを判別し、コマンドが変換コードである場合に変換条件に基づいて変換コードをコマンドに変換するコマンド変換部と、コマンドが変換コードである場合にコマンド変換部が変換したコマンドを実行し、コマンドが変換コードではない場合に受信されたコマンドを実行するコマンド処理部と、を備える。【選択図】図１
2020004169.tif 000002
【特許請求の範囲】
【請求項１】
プリンタにコマンドを送信するホスト装置と、前記ホスト装置から受信したコマンドに基づいて処理を行うプリンタを有する印刷システムであって、
前記ホスト装置は、前記コマンドが所定の条件に一致する場合に前記コマンドを変換条件に基づいて変換して、変換した変換コードを前記コマンドとして前記プリンタに送信し、
前記プリンタは、
前記ホスト装置から前記コマンドを受信する受信部と、
受信された前記コマンドが前記変換条件に基づいて変換された変換コードであるか否かを判別し、前記コマンドが変換コードである場合に前記変換条件に基づいて前記変換コードを前記コマンドに変換するコマンド変換部と、
前記コマンドが変換コードである場合に前記コマンド変換部が変換した前記コマンドを実行し、前記コマンドが変換コードではない場合に受信された前記コマンドを実行するコマンド処理部と、
を備える印刷システム。
【請求項２】
前記コマンドは、プリンタが受信後に逐次的に処理を実行する逐次コマンド、およびプリンタが前記逐次コマンドよりも優先的に処理を実行する即時コマンドのいずれか１つを含み、
前記コマンド変換部は、受信された前記コマンドが前記即時コマンドの変換コードである場合に前記コマンドが前記即時コマンドであると判定し、受信された前記コマンドが前記逐次コマンドの前記変換コードである場合に前記コマンドが逐次コマンドであると判定し、または受信された前記コマンドが前記即時コマンドの前記変換コードではない場合かつ受信された前記コマンドが前記逐次コマンドの前記変換コードではない場合に前記コマンドが逐次コマンドであると判定する、
ことを特徴とする請求項１に記載の印刷システム。
【請求項３】
前記ホスト装置は、
前記即時コマンドを送信する場合に、前記即時コマンドのデータバイトを上位ビットと下位ビットとに分割し、前記上位ビット及び前記下位ビットを前記即時コマンドの変換コードに変換した２バイトを前記コマンドとして前記プリンタに送信し、
前記逐次コマンドを送信する場合に、前記逐次コマンドのデータに前記即時コマンドの変換コードおよび前記逐次コマンドの変換コードが含まれているかを判別し、前記逐次コマンドのデータバイトが前記逐次コマンドの変換コードである場合に、当該データバイトを２バイトの前記逐次コマンドの変換コードに変換したコマンドを前記コマンドとして前記プリンタに送信し、前記逐次コマンドのデータバイトが前記即時コマンドの変換コードである場合に、当該データバイトを前記逐次コマンドの変換コードの後に前記逐次コマンドのコードが続く２バイトのデータに変換したコマンドを前記コマンドとして前記プリンタに送信し、
前記コマンド変換部は、第１コマンド変換部と、第２コマンド変換部と、を備え、
前記コマンド処理部は、逐次コマンドに基づく処理を実行する逐次コマンド処理部と、即時コマンドに基づく処理を実行する即時コマンド処理部と、を備え、
前記第１コマンド変換部は、
受信された前記コマンドが前記即時コマンドの前記変換コードである場合に前記コマンドが前記即時コマンドであると判定し、前記変換条件に基づいて前記即時コマンドの前記変換コードを前記即時コマンドに変換し、変換した前記即時コマンドを前記即時コマンド処理部に出力し、
前記第２コマンド変換部は、
受信された前記コマンドが前記逐次コマンドの前記変換コードである場合に前記コマンドが逐次コマンドであると判定し、前記変換条件に基づいて前記逐次コマンドの前記変換コードを前記逐次コマンドに変換し、変換した前記逐次コマンドを前記逐次コマンド処理部に出力し、
受信された前記コマンドが前記即時コマンドの前記変換コードではない場合かつ受信された前記コマンドが前記逐次コマンドの前記変換コードではない場合に前記コマンドが逐次コマンドであると判定し、前記コマンドを前記逐次コマンド処理部に出力する、
ことを特徴とする請求項２に記載の印刷システム。
【請求項４】
プリンタに対するコマンドを受信する受信部と、
受信された前記コマンドが所定の変換条件に基づいて変換された変換コードであるか否かを判別し、前記コマンドが変換コードである場合に、前記変換条件に基づいて前記変換コードを前記コマンドに変換するコマンド変換部と、
前記コマンドが変換コードである場合に前記コマンド変換部が変換した前記コマンドを実行し、前記コマンドが変換コードではない場合に受信された前記コマンドを実行するコマンド処理部と、
を備えるプリンタ。
【請求項５】
前記コマンドは、プリンタが受信後に逐次的に処理を実行する逐次コマンド、およびプリンタが前記逐次コマンドよりも優先的に処理を実行する即時コマンドのいずれか１つを含み、
前記コマンド変換部は、受信された前記コマンドが前記即時コマンドの変換コードである場合に前記コマンドが前記即時コマンドであると判定し、受信された前記コマンドが前記逐次コマンドの前記変換コードである場合に前記コマンドが逐次コマンドであると判定し、または受信された前記コマンドが前記即時コマンドの前記変換コードではない場合かつ受信された前記コマンドが前記逐次コマンドの前記変換コードではない場合に前記コマンドが逐次コマンドであると判定する、
ことを特徴とする請求項４に記載のプリンタ。
【請求項６】
前記コマンド変換部は、第１コマンド変換部と、第２コマンド変換部と、を備え、
前記コマンド処理部は、逐次コマンドに基づく処理を実行する逐次コマンド処理部と、即時コマンドに基づく処理を実行する即時コマンド処理部と、を備え、
前記第１コマンド変換部は、
受信された前記コマンドが前記即時コマンドの前記変換コードである場合に前記コマンドが前記即時コマンドであると判定し、前記変換条件に基づいて前記即時コマンドの前記変換コードを前記即時コマンドに変換し、変換した前記即時コマンドを前記即時コマンド処理部に出力し、
前記第２コマンド変換部は、
受信された前記コマンドが前記逐次コマンドの前記変換コードである場合に前記コマンドが逐次コマンドであると判定し、前記変換条件に基づいて前記逐次コマンドの前記変換コードを前記逐次コマンドに変換し、変換した前記逐次コマンドを前記逐次コマンド処理部に出力し、
受信された前記コマンドが前記即時コマンドの前記変換コードではない場合かつ受信された前記コマンドが前記逐次コマンドの前記変換コードではない場合に前記コマンドが逐次コマンドであると判定し、前記コマンドを前記逐次コマンド処理部に出力する、
ことを特徴とする請求項５に記載のプリンタ。
【請求項７】
プリンタにコマンドを送信するホスト装置と、前記ホスト装置から受信したコマンドに基づいて処理を行うプリンタを有する印刷システムにおける印刷制御方法であって、
前記ホスト装置が、前記コマンドが所定の条件に一致する場合に前記コマンドを変換条件に基づいて変換して、変換した変換コードを前記コマンドとして前記プリンタに送信するステップと、
前記プリンタが、前記ホスト装置から前記コマンドを受信するステップと、
前記プリンタが、受信された前記コマンドが前記変換条件に基づいて変換された変換コードであるか否かを判別し、前記コマンドが変換コードである場合に前記変換条件に基づいて前記変換コードを前記コマンドに変換するステップと、
前記プリンタが、前記コマンドが変換コードである場合に変換した前記コマンドを実行し、前記コマンドが変換コードではない場合に受信された前記コマンドを実行するステップと、
を有する印刷制御方法。
【請求項８】
プリンタにおける印刷制御方法であって、
前記プリンタに対するコマンドを受信するステップと、
受信された前記コマンドが所定の変換条件に基づいて変換された変換コードであるか否かを判別し、前記コマンドが変換コードである場合に、前記変換条件に基づいて前記変換コードを前記コマンドに変換するステップと、
前記コマンドが変換コードである場合に変換した前記コマンドを実行し、前記コマンドが変換コードではない場合に受信された前記コマンドを実行するステップと、
を有する印刷制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷システム、プリンタ、および印刷制御方法に関する。
【背景技術】
【０００２】
プリンタでは、ホスト装置からコマンドを受信すると、受信した順にコマンドを実行している。ところで、プリンタが実行する処理の中には、優先度の高い処理があり、このような処理を実行させる場合、コマンドを送信するホスト装置が、優先度の高い処理を示すコマンドを先に送信する制御を行うことがあった（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２３８０９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このようなプリンタのコマンドには、受信されたデータを順次解析して処理する即時(リアルタイム)コマンドと、受信されたデータを受信バッファに格納した後に順次受信バッファから取り出し処理する逐次コマンドとがある。
しかしながら、従来のコマンド体系、ホスト装置からの送信処理方式およびプリンタの受信処理方式では、逐次コマンドであるイメージ系コマンドのデータ部を即時コマンドと誤認識してしまうことがあるという問題がある。すなわち、偶発的に即時コマンドデータ列と同じデータ列がイメージデータに含まれている場合、イメージデータとして送信したデータが意図せず即時コマンドと解釈され、処理されてしまうことがある。
これを避けるためには、イメージデータ内に即時コマンド列が存在しないことをホスト装置で確認する必要があり、即時コマンドデータ列が存在する場合には、イメージデータの一部を変更するなどの対応が必要になる。
【０００５】
そこで、本発明は上述の事情を鑑みてなされたものであり、簡単な処理でコマンドの誤認識を防ぐことができる印刷システム、プリンタ、および印刷制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様は、プリンタにコマンドを送信するホスト装置と、前記ホスト装置から受信したコマンドに基づいて処理を行うプリンタを有する印刷システムであって、前記ホスト装置は、前記コマンドが所定の条件に一致する場合に前記コマンドを変換条件に基づいて変換して、変換した変換コードを前記コマンドとして前記プリンタに送信し、前記プリンタは、前記ホスト装置から前記コマンドを受信する受信部と、受信された前記コマンドが前記変換条件に基づいて変換された変換コードであるか否かを判別し、前記コマンドが変換コードである場合に前記変換条件に基づいて前記変換コードを前記コマンドに変換するコマンド変換部と、前記コマンドが変換コードである場合に前記コマンド変換部が変換した前記コマンドを実行し、前記コマンドが変換コードではない場合に受信された前記コマンドを実行するコマンド処理部と、を備える印刷システムである。
【０００７】
また、本発明の一態様は、上記印刷システムにおいて、前記コマンドは、プリンタが受信後に逐次的に処理を実行する逐次コマンド、およびプリンタが前記逐次コマンドよりも優先的に処理を実行する即時コマンドのいずれか１つを含み、前記コマンド変換部は、受信された前記コマンドが前記即時コマンドの変換コードである場合に前記コマンドが前記即時コマンドであると判定し、受信された前記コマンドが前記逐次コマンドの前記変換コードである場合に前記コマンドが逐次コマンドであると判定し、または受信された前記コマンドが前記即時コマンドの前記変換コードではない場合かつ受信された前記コマンドが前記逐次コマンドの前記変換コードではない場合に前記コマンドが逐次コマンドであると判定するようにしてもよい。
【０００８】
また、本発明の一態様は、上記印刷システムにおいて、前記ホスト装置は、前記即時コマンドを送信する場合に、前記即時コマンドのデータバイトを上位ビットと下位ビットとに分割し、前記上位ビット及び前記下位ビットを前記即時コマンドの変換コードに変換した２バイトを前記コマンドとして前記プリンタに送信し、前記逐次コマンドを送信する場合に、前記逐次コマンドのデータに前記即時コマンドの変換コードおよび前記逐次コマンドの変換コードが含まれているかを判別し、前記逐次コマンドのデータバイトが前記逐次コマンドの変換コードである場合に、当該データバイトを２バイトの前記逐次コマンドの変換コードに変換したコマンドを前記コマンドとして前記プリンタに送信し、前記逐次コマンドのデータバイトが前記即時コマンドの変換コードである場合に、当該データバイトを前記逐次コマンドの変換コードの後に前記逐次コマンドのコードが続く２バイトのデータに変換したコマンドを前記コマンドとして前記プリンタに送信し、前記コマンド変換部は、第１コマンド変換部と、第２コマンド変換部と、を備え、前記コマンド処理部は、逐次コマンドに基づく処理を実行する逐次コマンド処理部と、即時コマンドに基づく処理を実行する即時コマンド処理部と、を備え、前記第１コマンド変換部は、受信された前記コマンドが前記即時コマンドの前記変換コードである場合に前記コマンドが前記即時コマンドであると判定し、前記変換条件に基づいて前記即時コマンドの前記変換コードを前記即時コマンドに変換し、変換した前記即時コマンドを前記即時コマンド処理部に出力し、前記第２コマンド変換部は、受信された前記コマンドが前記逐次コマンドの前記変換コードである場合に前記コマンドが逐次コマンドであると判定し、前記変換条件に基づいて前記逐次コマンドの前記変換コードを前記逐次コマンドに変換し、変換した前記逐次コマンドを前記逐次コマンド処理部に出力し、受信された前記コマンドが前記即時コマンドの前記変換コードではない場合かつ受信された前記コマンドが前記逐次コマンドの前記変換コードではない場合に前記コマンドが逐次コマンドであると判定し、前記コマンドを前記逐次コマンド処理部に出力するようにしてもよい。
【０００９】
また、本発明の一態様は、プリンタに対するコマンドを受信する受信部と、受信された前記コマンドが所定の変換条件に基づいて変換された変換コードであるか否かを判別し、前記コマンドが変換コードである場合に、前記変換条件に基づいて前記変換コードを前記コマンドに変換するコマンド変換部と、前記コマンドが変換コードである場合に前記コマンド変換部が変換した前記コマンドを実行し、前記コマンドが変換コードではない場合に受信された前記コマンドを実行するコマンド処理部と、を備えるプリンタである。
【００１０】
また、本発明の一態様は、上記プリンタにおいて、前記コマンドは、プリンタが受信後に逐次的に処理を実行する逐次コマンド、およびプリンタが前記逐次コマンドよりも優先的に処理を実行する即時コマンドのいずれか１つを含み、前記コマンド変換部は、受信された前記コマンドが前記即時コマンドの変換コードである場合に前記コマンドが前記即時コマンドであると判定し、受信された前記コマンドが前記逐次コマンドの前記変換コードである場合に前記コマンドが逐次コマンドであると判定し、または受信された前記コマンドが前記即時コマンドの前記変換コードではない場合かつ受信された前記コマンドが前記逐次コマンドの前記変換コードではない場合に前記コマンドが逐次コマンドであると判定するようにしてもよい。
【００１１】
また、本発明の一態様は、上記プリンタにおいて、前記コマンド変換部は、第１コマンド変換部と、第２コマンド変換部と、を備え、前記コマンド処理部は、逐次コマンドに基づく処理を実行する逐次コマンド処理部と、即時コマンドに基づく処理を実行する即時コマンド処理部と、を備え、前記第１コマンド変換部は、受信された前記コマンドが前記即時コマンドの前記変換コードである場合に前記コマンドが前記即時コマンドであると判定し、前記変換条件に基づいて前記即時コマンドの前記変換コードを前記即時コマンドに変換し、変換した前記即時コマンドを前記即時コマンド処理部に出力し、前記第２コマンド変換部は、受信された前記コマンドが前記逐次コマンドの前記変換コードである場合に前記コマンドが逐次コマンドであると判定し、前記変換条件に基づいて前記逐次コマンドの前記変換コードを前記逐次コマンドに変換し、変換した前記逐次コマンドを前記逐次コマンド処理部に出力し、受信された前記コマンドが前記即時コマンドの前記変換コードではない場合かつ受信された前記コマンドが前記逐次コマンドの前記変換コードではない場合に前記コマンドが逐次コマンドであると判定し、前記コマンドを前記逐次コマンド処理部に出力するようにしてもよい。
【００１２】
また、本発明の一態様は、プリンタにコマンドを送信するホスト装置と、前記ホスト装置から受信したコマンドに基づいて処理を行うプリンタを有する印刷システムにおける印刷制御方法であって、前記ホスト装置が、前記コマンドが所定の条件に一致する場合に前記コマンドを変換条件に基づいて変換して、変換した変換コードを前記コマンドとして前記プリンタに送信するステップと、前記プリンタが、前記ホスト装置から前記コマンドを受信するステップと、前記プリンタが、受信された前記コマンドが前記変換条件に基づいて変換された変換コードであるか否かを判別し、前記コマンドが変換コードである場合に前記変換条件に基づいて前記変換コードを前記コマンドに変換するステップと、前記プリンタが、前記コマンドが変換コードである場合に変換した前記コマンドを実行し、前記コマンドが変換コードではない場合に受信された前記コマンドを実行するステップと、を有する印刷制御方法である。
【００１３】
また、本発明の一態様は、プリンタにおける印刷制御方法であって、前記プリンタに対するコマンドを受信するステップと、受信された前記コマンドが所定の変換条件に基づいて変換された変換コードであるか否かを判別し、前記コマンドが変換コードである場合に、前記変換条件に基づいて前記変換コードを前記コマンドに変換するステップと、前記コマンドが変換コードである場合に変換した前記コマンドを実行し、前記コマンドが変換コードではない場合に受信された前記コマンドを実行するステップと、を有する印刷制御方法である。
【発明の効果】
【００１４】
本発明によれば、簡単な処理でコマンドの誤認識を防ぐことができる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態における印刷システムの構成を示すブロック図である。
【図２】本実施形態における即時コマンドの変換コード及び逐次コマンドの変換コードの一例を示す概略図である。
【図３】本実施形態におけるホスト装置が実行するホストデータ送信処理の処理手順を示したフローチャートである。
【図４】本実施形態におけるプリンタが実行するホストデータ受信処理の処理手順を示したフローチャートである。
【図５】本実施形態におけるプリンタが実行する逐次コマンド処理の処理手順を示したフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明の一実施形態について、図面を参照しながら説明する。
図１は、本実施形態における印刷システムＳ１の構成を示すブロック図である。図示するように、印刷システムＳ１は、プリンタ２にコマンドを送信するホスト装置１と、ホスト装置１から受信したコマンドに基づいて処理を行うプリンタ２とを備える。コマンドは、プリンタが受信後に逐次的に処理を実行する逐次コマンド、およびプリンタが逐次コマンドよりも優先的に処理を実行する即時コマンドのいずれか１つを含む。即時コマンドには、例えば逐次コマンドを格納する受信バッファ２３をクリアするコマンド”ＣＬＲ”等がある。
【００１７】
ホスト装置１は、データ送信部１１と、制御部１２と、記憶部１３とを備える。データ送信部１１は、コマンドをプリンタ２に送信する。
【００１８】
制御部１２は、所定の条件に一致する場合にコマンドを変換条件に基づいて変換して、変換した変換コードをコマンドとしてデータ送信部１１からプリンタ２に送信する。より具体的には、制御部１２は、即時コマンドを送信する場合に、即時コマンドのデータバイトを上位ビットと下位ビットとに分割し、分割した上位ビット及び下位ビットをそれぞれ即時コマンドの変換コードに変換する。すなわち、制御部１２は、即時コマンドのデータバイトを２バイトの即時コマンドの変換コードに変換してコマンドとしてプリンタ２に送信する。
【００１９】
また、制御部１２は、逐次コマンドを送信する場合に、まず、逐次コマンドのデータに即時コマンドの変換コードおよび逐次コマンドの変換コードが含まれているかを判別する。そして、制御部１２は、逐次コマンドのデータバイトが逐次コマンドの変換コードである場合に、当該データバイトを２バイトの逐次コマンド変換コードに変換したコマンドをプリンタ２に送信する。また、制御部１２は、逐次コマンドのデータバイトが即時コマンドの変換コードである場合に、逐次コマンドの変換コードの後に前記逐次コマンドのコードが続く２バイトのデータに当該データバイトを変換したコマンドをプリンタ２に送信する。また、制御部１２は、逐次コマンドのデータバイトが即時コマンドの変換コードでも逐次コマンドの変換コードでもない場合には、当該データバイトをそのまま送信する。
【００２０】
記憶部１３は、変換条件、即時コマンドの変換コード、逐次コマンドの変換コード、および逐次コマンドのコードを記憶する。
【００２１】
プリンタ２は、データ受信部２１と、即時コマンド処理部２２と、受信バッファ２３と、逐次コマンド処理部２４と、印字制御部２５と、紙送りモータ２６と、サーマルヘッド２７と、記憶部２８とを備える。
【００２２】
データ受信部２１は、ホスト装置１からコマンドを受信する。データ受信部２１は、第１コマンド変換部２１１を備える。
【００２３】
第１コマンド変換部２１１は、受信されたコマンドが変換条件に基づいて変換された変換コードであるか否かを判別し、コマンドが変換コードである場合に変換条件に基づいて変換コードをコマンドに変換する。より具体的には、第１コマンド変換部２１１は、受信されたコマンドが即時コマンドの変換コードである場合にコマンドが即時コマンドであると判定し、受信されたコマンドが逐次コマンドの変換コードである場合にコマンドが逐次コマンドであると判定し、または受信されたコマンドが即時コマンドの変換コードではない場合かつ受信されたコマンドが逐次コマンドの変換コードではない場合にコマンドが逐次コマンドであると判定する。そして、第１コマンド変換部２１１は、受信されたコマンドが即時コマンドであると判定した場合には、変換条件に基づいて即時コマンドの変換コードを即時コマンドに変換し、変換した即時コマンドを即時コマンド処理部２２に出力する。具体的には、第１コマンド変換部２１１は、２バイトの即時コマンドの変換コードそれぞれから即時コマンドのデータバイトの上位４ビット及び下位４ビットを取り出して組み合わせ、即時コマンドに変換する。一方、第１コマンド変換部２１１は、受信されたコマンドが逐次コマンドであると判定した場合には、受信されたコマンドを受信バッファ２３に書き込んで格納する。
【００２４】
即時コマンド処理部２２は、受信されたコマンドが即時コマンドの変換コードである場合に第１コマンド変換部２１１が変換した即時コマンドに基づく処理を実行する。つまり、第１コマンド変換部２１１から入力された即時コマンドに基づく処理を実行する。
【００２５】
受信バッファ２３は、受信した逐次コマンドを順に記憶する。逐次コマンド処理部２４は、逐次コマンドを順に受信バッファ２３から取り出し、逐次コマンドが変換コードである場合に第２コマンド変換部２４１が変換したコマンドを実行し、逐次コマンドが変換コードではない場合に当該逐次コマンドを実行する。逐次コマンド処理部２４は、第２コマンド変換部２４１を備える。
【００２６】
第２コマンド変換部２４１は、逐次コマンドが変換条件に基づいて変換された変換コードであるか否かを判別し、逐次コマンドが変換コードである場合に変換条件に基づいて変換コードを逐次コマンドに変換する。例えば、第２コマンド変換部２４１は、受信されたコマンドが逐次コマンドの変換コードである場合にコマンドが逐次コマンドであると判定し、変換条件に基づいて逐次コマンドの変換コードを逐次コマンドに変換し、変換した逐次コマンドを逐次コマンド処理部２４に出力する。より具体的には、第２コマンド変換部２４１は、逐次コマンドのデータバイトが逐次コマンドの変換コードである場合には、次のデータバイトが逐次コマンドの変換コードであるときには、当該２バイトの逐次コマンドの変換コードを１バイトの逐次コマンドの変換コードに変換し、次のデータバイトが逐次コマンドの変換コードでないときには、次のデータバイトを即時コマンドの変換コードに変換する。
【００２７】
また、第２コマンド変換部２４１は、受信されたコマンドが即時コマンドの変換コードではない場合かつ受信されたコマンドが逐次コマンドの変換コードではない場合にコマンドが逐次コマンドであると判定し、コマンドを逐次コマンド処理部２４に出力する。すなわち、第２コマンド変換部２４１は、逐次コマンドのデータバイトが即時コマンドの変換コードでも逐次コマンドの変換コードでもない場合には、当該データバイトをそのまま逐次コマンド処理部２４に出力する。
【００２８】
印字制御部２５は、逐次コマンド処理部２４の指示に基づいて紙送りモータ２６及びサーマルヘッド２７を制御して逐次コマンドが示すデータを印字する。紙送りモータ２６は、用紙を搬送させる。サーマルヘッド２７は、用紙に印字を行う。記憶部２８は、変換条件、即時コマンドの変換コード、逐次コマンドの変換コード、および逐次コマンドのコードを記憶する。
【００２９】
図２は、本実施形態における即時コマンドの変換コード及び逐次コマンドの変換コードの一例を示す概略図である。本例では、即時コマンドの変換コードは、０ｘ８０〜０ｘ８ｆである。また、逐次コマンドの変換コードは、０ｘ７ｆである。また、逐次コマンドとして処理される逐次コマンドのコードは、その他の０ｘ００〜０ｘ７ｅおよび０ｘ９０〜０ｘｆｆである。
【００３０】
なお、即時コマンドの変換コードは、０ｘ８０〜０ｘ８ｆに限らず、例えば０ｘ９０〜０ｘ９ｆ等、上位ビットが同一でありかつ逐次コマンドに使用される頻度が低いコード範囲であればよい。また、逐次コマンドの変換コードは、０ｘ７ｆに限らず、例えば０ｘａｆ等、逐次コマンドに使用される頻度が低い任意のコードでよい。
【００３１】
続いて、具体例を用いて印刷システムＳ１における動作を説明する。例えば、ホスト装置１の制御部１２は、即時コマンド”ＣＬＲ”(０ｘ４３，０ｘ４ｃ，０ｘ５２)を送信する場合には、１バイトのデータバイト「０ｘ４３」を上位４ビット「４」と下位４ビット「３」とに分割し、上位４ビット「４」を即時コマンドの変換コード「０ｘ８４」に、下位４ビットを即時コマンドの変換コード「０ｘ８３」にして２ビットのデータ「０ｘ８４，０ｘ８３」に変換する。このように即時コマンドの各データバイトを変換することにより、”ＣＬＲ”(０ｘ４３，０ｘ４ｃ，０ｘ５２)は、（０ｘ８４，０ｘ８３，０ｘ８４，０ｘ８ｃ，０ｘ８５，０ｘ８２）に変換される。データ送信部１１は、変換された即時コマンドの変換コードを送信する。なお、即時コマンドは、サイズが２倍の即時コマンドの変換コードへ変換されるが、即時コマンドの使用頻度は非常に低いため、ホスト装置１から送信されるデータサイズへの影響は小さい。
【００３２】
プリンタ２のデータ受信部２１は、ホスト装置１から送信された即時コマンドの変換コード（０ｘ８４，０ｘ８３，０ｘ８４，０ｘ８ｃ，０ｘ８５，０ｘ８２）を受信する。第１コマンド変換部２１１は、受信したコマンドの全てのデータバイトの上位４ビットが「０ｘ８」であるため、受信したコマンドが即時コマンドであると判定し、１バイト目の「０ｘ８４」の下位４ビット「４」と２バイト目の「０ｘ８３」の下位４ビット「３」とを結合させて即時コマンドのデータバイト「０ｘ４３」に復元する。このように即時コマンドの変換コードを２バイトずつ下位４ビットを結合させることにより、即時コマンドの変換コード（０ｘ８４，０ｘ８３，０ｘ８４，０ｘ８ｃ，０ｘ８５，０ｘ８２）を即時コマンド(０ｘ４３，０ｘ４ｃ，０ｘ５２)に変換することができる。第１コマンド変換部２１１は、変換した即時コマンドを即時コマンド処理部２２に出力する。即時コマンド処理部２２は、入力された即時コマンドが示す処理”ＣＬＲ”を実行する。
【００３３】
また、ホスト装置１の制御部１２は、逐次コマンド”Ｐｒｉｎｔ  ｄａｔａ”を送信する場合には、逐次コマンドのデータバイトが全て０ｘ００〜０ｘ７ｅの範囲内である（すなわち、逐次コマンドに即時コマンドの変換コードも逐次コマンドの変換コードも含まれない。）ため、そのままデータ送信部１１に送信させる。
【００３４】
プリンタ２のデータ受信部２１は、ホスト装置１から送信された逐次コマンド”Ｐｒｉｎｔ  ｄａｔａ”を受信する。第１コマンド変換部２１１は、受信した逐次コマンド”Ｐｒｉｎｔ  ｄａｔａ”に即時コマンドの変換コードが含まれないため、当該逐次コマンドを受信バッファ２３に書き込む。第２コマンド変換部２４１は、受信バッファ２３から逐次コマンド”Ｐｒｉｎｔ  ｄａｔａ”を取り出し、取り出した逐次コマンドに逐次コマンドの変換コードが含まれないため、当該逐次コマンドをそのまま逐次コマンド処理部２４に出力する。逐次コマンド処理部２４は、印字制御部２５を制御して逐次コマンドが示す”Ｐｒｉｎｔ  ｄａｔａ”を印字する。
【００３５】
また、ホスト装置１の制御部１２は、イメージの印字を指示するイメージ系コマンドである場合には、イメージを示すデータ部のあるデータバイトが逐次コマンドのコード（０ｘ００〜０ｘ７ｅまたは０ｘ９０〜０ｘｆｆの範囲内）であるときは、そのデータバイトをそのままデータ送信部１１に送信させる。また、制御部１２は、イメージを示すデータ部のあるデータバイトが逐次コマンドの変換コード「０ｘ７ｆ」であるときは、「０ｘ７ｆ,０ｘ７ｆ」の２バイトをデータ送信部１１に送信させる。すなわち、イメージ系コマンドのイメージを示すデータ部に逐次コマンドの変換コード「０ｘ７ｆ」がある場合には、そのデータバイト「０ｘ７ｆ」を２バイト、データ送信部１１に送信させる。なお、逐次コマンドの変換コード「０ｘ７ｆ」は２倍の逐次コマンドの変換コードへ変換されるが、逐次コマンドの変換コードを逐次コマンドに使用される頻度が低いコードにすることで、ホスト装置１から送信されるデータサイズへの影響を小さくすることができる。
【００３６】
また、制御部１２は、イメージを示すデータ部のあるデータバイトが即時コマンドの変換コード（０ｘ８０〜０ｘ８ｆの範囲内）であるときは、「０ｘ７ｆ」を送信した後に、そのデータバイトの下位４ビット（０ｘ００〜０ｘ０ｆ）を示すデータバイトをデータ送信部１１に送信させる。例えば、「０ｘ８０」は「０ｘ７ｆ，０ｘ００」に変換され、「０ｘ８ｃ」は「０ｘ７ｆ，０ｘ０ｃ」に変換され、「０ｘ８ｆ」は「０ｘ７ｆ，０ｘ０ｆ」に変換される。なお、イメージ系コマンド内にある即時コマンドの変換コード（０ｘ８０〜０ｘ８ｆ）は２倍のデータへ変換されるが、即時コマンドの変換コードを逐次コマンドに使用される頻度が低いコード範囲にすることで、ホスト装置１から送信されるデータサイズへの影響を小さくすることができる。
【００３７】
プリンタ２のデータ受信部２１は、ホスト装置１から送信されたイメージ系コマンドを受信する。第１コマンド変換部２１１は、受信したイメージ系コマンドに即時コマンドの変換コードが含まれないため、当該イメージ系コマンドを受信バッファ２３に書き込む。また、第２コマンド変換部２４１は、受信バッファ２３からイメージ系コマンドを取り出し、１バイトずつ処理する。第２コマンド変換部２４１は、データバイトが逐次コマンドのコードである場合には、そのまま逐次コマンド処理部２４に出力する。
【００３８】
また、第２コマンド変換部２４１は、データバイトが逐次コマンドの変換コード「０ｘ７ｆ」である場合には、次のデータバイトを取り出す。第２コマンド変換部２４１は、次のデータバイトが逐次コマンドの変換コード「０ｘ７ｆ」である場合には、２バイトの逐次コマンドの変換コード「０ｘ７ｆ」を１バイトのデータ「０ｘ７ｆ」として逐次コマンド処理部２４に出力する。すなわち、２バイトのデータ「０ｘ７ｆ，０ｘ７ｆ」が１バイトのデータ「０ｘ７ｆ」に変換される。
【００３９】
また、第２コマンド変換部２４１は、次のデータバイトが逐次コマンドの変換コード「０ｘ７ｆ」でない場合には、その次のデータバイトの下位４ビットに「０ｘ８０」を加算した１バイトのデータに変換して逐次コマンド処理部２４に出力する。例えば、第２コマンド変換部２４１は、次のデータバイトが「０ｘ０ｃ」である場合には、データバイト「０ｘ８ｃ」に変換する。すなわち、２バイトのデータ「０ｘ７ｆ，０ｘ０ｃ」が１バイトのデータ「０ｘ８ｃ」に変換される。逐次コマンド処理部２４は、印字制御部２５を制御して逐次コマンドが示すイメージを印字する。
【００４０】
図３は、本実施形態におけるホスト装置１が実行するホストデータ送信処理の処理手順を示したフローチャートである。
【００４１】
（ステップＳ１０１）制御部１２は、プリンタ２に送信する即時コマンドがあるか否かを判定する。即時コマンドがあると制御部１２が判定した場合には、ステップＳ１０２の処理に進む。また、即時コマンドがないと制御部１２が判定した場合には、ステップＳ１０４の処理に進む。
【００４２】
（ステップＳ１０２）制御部１２は、即時コマンドのデータバイトの上位４ビットを即時コマンドの変換コードに変換した１バイトの即時コマンド変換データバイトをデータ送信部１１から送信する。その後、ステップＳ１０３の処理に進む。
（ステップＳ１０３）制御部１２は、即時コマンドのデータバイトの下位４ビットを即時コマンドの変換コードに変換した１バイトの即時コマンド変換データバイトをデータ送信部１１から送信する。その後、ステップＳ１０１の処理に戻る。
【００４３】
（ステップＳ１０４）制御部１２は、プリンタ２に送信する逐次コマンドがあるか否かを判定する。逐次コマンドがあると制御部１２が判定した場合には、ステップＳ１０５の処理に進む。また、逐次コマンドがないと制御部１２が判定した場合には、ステップＳ１０１の処理に戻る。
【００４４】
（ステップＳ１０５）制御部１２は、送信する逐次コマンドのデータバイトが逐次コマンドのコード（０ｘ００〜０ｘ７ｅまたは０ｘ９０〜０ｘｆｆの範囲内）であるか否かを判定する。データバイトが逐次コマンドのコードであると制御部１２が判定した場合には、ステップＳ１０６の処理に進む。また、データバイトが逐次コマンドのコードでないと制御部１２が判定した場合には、ステップＳ１０７の処理に進む。
（ステップＳ１０６）制御部１２は、逐次コマンドのデータバイトをそのままデータ送信部１１に送信させる。その後、ステップＳ１０４の処理に戻る。
【００４５】
（ステップＳ１０７）制御部１２は、送信する逐次コマンドのデータバイトが逐次コマンドの変換コード「０ｘ７ｆ」であるか否かを判定する。データバイトが逐次コマンドの変換コードであると制御部１２が判定した場合には、ステップＳ１０８の処理に進む。また、データバイトが逐次コマンドの変換コードでないと制御部１２が判定した場合には、ステップＳ１０９の処理に進む。
（ステップＳ１０８）制御部１２は、逐次コマンドの変換コード「０ｘ７ｆ」を２バイト、データ送信部１１に送信させる。その後、ステップＳ１０４の処理に戻る。
【００４６】
（ステップＳ１０９）制御部１２は、逐次コマンドの変換コード「０ｘ７ｆ」をデータ送信部１１に送信させた後、逐次コマンドのデータバイトの下位４ビットを示すデータバイト（０ｘ８０〜０ｘ８ｆをそれぞれ０ｘ００〜０ｘ０ｆに変換したデータバイト）をデータ送信部１１に送信させる。その後、ステップＳ１０４の処理に戻る。
【００４７】
図４は、本実施形態におけるプリンタ２が実行するホストデータ受信処理の処理手順を示したフローチャートである。
【００４８】
（ステップＳ２０１）データ受信部２１は、受信データがあるか否かを判定する。受信データがあるとデータ受信部２１が判定した場合には、ステップＳ２０２の処理に進む。また、受信データがないとデータ受信部２１が判定した場合には、ステップＳ２０１の処理を再度実行する。
【００４９】
（ステップＳ２０２）第１コマンド変換部２１１は、受信データのデータバイトの上位４ビットが「０ｘ８」であるか否かを判定する。データバイトが即時コマンドの変換コードである場合には、受信データが即時コマンドを変換した即時コマンド変換データであると判定し、ステップＳ２０３の処理に進む。また、データバイトが即時コマンドの変換データでない場合には、ステップＳ２０６の処理に進む。
【００５０】
（ステップＳ２０３）第１コマンド変換部２１１は、即時コマンド変換データを２バイト受信したか否かを判定する。２バイト受信したと第１コマンド変換部２１１が判定した場合には、ステップＳ２０４の処理に進む。また、２バイト受信していないと第１コマンド変換部２１１が判定した場合には、ステップＳ２０１の処理に戻る。
【００５１】
（ステップＳ２０４）第１コマンド変換部２１１は、受信した２バイトの即時コマンド変換データそれぞれの下位４ビットを組み合わせて１バイトのデータに変換する。その後、ステップＳ２０５の処理に進む。
（ステップＳ２０５）即時コマンド処理部２２は、第１コマンド変換部２１１が変換したデータバイトを即時コマンドのデータバイトとして処理する。その後、ステップＳ２０１の処理に戻る。
【００５２】
（ステップＳ２０６）第１コマンド変換部２１１は、受信データをそのまま受信バッファ２３に書き込んで格納する。その後、ステップＳ２０１の処理に戻る。
【００５３】
図５は、本実施形態におけるプリンタ２が実行する逐次コマンド処理の処理手順を示したフローチャートである。
【００５４】
（ステップＳ３０１）第２コマンド変換部２４１は、受信バッファ２３に受信データが格納されているか否かを判定する。受信データが格納されていると第２コマンド変換部２４１が判定した場合には、ステップＳ３０２の処理に進む。また、受信データが格納されていないと第２コマンド変換部２４１が判定した場合には、ステップＳ３０１の処理を再度実行する。
【００５５】
（ステップＳ３０２）第２コマンド変換部２４１は、受信データを１バイト、受信バッファ２３から取り出す。その後、ステップＳ３０３の処理に進む。
（ステップＳ３０３）第２コマンド変換部２４１は、取り出した１バイトの受信データが逐次コマンドのコード（０ｘ００〜０ｘ７ｅまたは０ｘ９０〜０ｘｆｆの範囲内）であるか否かを判定する。受信データが逐次コマンドのコードであると第２コマンド変換部２４１が判定した場合には、ステップＳ３０４の処理に進む。また、受信データが逐次コマンドのコードでないと第２コマンド変換部２４１が判定した場合には、ステップＳ３０５の処理に進む。
【００５６】
（ステップＳ３０４）逐次コマンド処理部２４は、受信データをそのまま逐次コマンドのデータバイトとして処理する。その後、ステップＳ３０１の処理に戻る。
【００５７】
（ステップＳ３０５）第２コマンド変換部２４１は、次の受信データを１バイト、受信バッファ２３から取り出し、取り出した次の受信データが逐次コマンドの変換コード（０ｘ７ｆ）であるか否かを判定する。次の受信データが逐次コマンドの変換コードであると第２コマンド変換部２４１が判定した場合には、ステップＳ３０６の処理に進む。また、次の受信データが逐次コマンドの変換コードでないと第２コマンド変換部２４１が判定した場合には、ステップＳ３０７の処理に進む。
【００５８】
（ステップＳ３０６）逐次コマンド処理部２４は、「０ｘ７ｆ」を逐次コマンドのバイトデータとして処理する。その後、ステップＳ３０１の処理に戻る。
【００５９】
（ステップＳ３０７）逐次コマンド処理部２４は、次の受信データの下位４ビットに「０ｘ８０」を加算したデータを逐次コマンドのデータバイトとして処理する。その後、ステップＳ３０１の処理に戻る。
【００６０】
上述したとおり、本実施形態における印刷システムＳ１は、プリンタ２にコマンドを送信するホスト装置１と、ホスト装置１から受信したコマンドに基づいて処理を行うプリンタ２を有する印刷システムＳ１であって、ホスト装置１は、コマンドが所定の条件に一致する場合にコマンドを変換条件に基づいて変換して、変換した変換コードをコマンドとしてプリンタ２に送信し、プリンタ２は、ホスト装置１からコマンドを受信するデータ受信部２１と、受信されたコマンドが変換条件に基づいて変換された変換コードであるか否かを判別し、コマンドが変換コードである場合に変換条件に基づいて変換コードをコマンドに変換する第１コマンド変換部２１１及び第２コマンド変換部２４１と、コマンドが変換コードである場合に変換したコマンドを実行しコマンドが変換コードではない場合に受信されたコマンドを実行する即時コマンド処理部２２及び逐次コマンド処理部２４と、を備える。これにより、簡単な処理でコマンドの誤認識を防ぐことができる。
【００６１】
また、コマンドは、プリンタが受信後に逐次的に処理を実行する逐次コマンド、およびプリンタが前記逐次コマンドよりも優先的に処理を実行する即時コマンドのいずれか１つを含み、第１コマンド変換部２１１は、受信されたコマンドが即時コマンドの変換コードの場合にコマンドが即時コマンドであると判定し、第２コマンド変換部２４１は、受信されたコマンドが逐次コマンドの変換コードである場合にコマンドが逐次コマンドであると判定し、または受信されたコマンドが即時コマンドの変換コードではない場合かつ受信されたコマンドが逐次コマンドの変換コードではない場合にコマンドが逐次コマンドであると判定する。これにより、簡単な処理で即時コマンドと逐次コマンドとを誤認識することを防ぐことができる。
【００６２】
また、ホスト装置１は、即時コマンドを送信する場合に、即時コマンドのデータバイトを上位ビットと下位ビットとに分割し、上位ビット及び下位ビットを即時コマンドの変換コードに変換した２バイトをコマンドとしてプリンタ２に送信し、逐次コマンドを送信する場合に、逐次コマンドのデータに即時コマンドの変換コードおよび逐次コマンドの変換コードが含まれているかを判別し、逐次コマンドのデータバイトが逐次コマンドの変換コードである場合に、当該データバイトを２バイトの逐次コマンド変換コードに変換したコマンドをコマンドとしてプリンタ２に送信し、逐次コマンドのデータバイトが即時コマンドの変換コードである場合に、当該データバイトを逐次コマンドの変換コードの後に逐次コマンドのコードが続く２バイトに変換したコマンドをコマンドとしてプリンタ２に送信し、第１コマンド変換部２１１は、受信されたコマンドが即時コマンドの変換コードである場合にコマンドが即時コマンドであると判定し、変換条件に基づいて即時コマンドの変換コードを即時コマンドに変換し、変換した即時コマンドを即時コマンド処理部２２に出力し、第２コマンド変換部２４１は、受信されたコマンドが逐次コマンドの変換コードである場合にコマンドが逐次コマンドであると判定し、変換条件に基づいて逐次コマンドの変換コードを逐次コマンドに変換し、変換した逐次コマンドを逐次コマンド処理部２４に出力し、受信されたコマンドが即時コマンドの変換コードではない場合かつ受信されたコマンドが逐次コマンドの変換コードではない場合にコマンドが逐次コマンドであると判定し、コマンドを逐次コマンド処理部２４に出力する。
【００６３】
これにより、コード範囲を制限することなく、また、簡単な変換により、逐次コマンドと即時コマンドとを誤認識することなく識別することができる。また、モノクロプリンタのイメージデータ（逐次コマンド）などで頻繁に使用される０ｘ００や０ｘｆｆなどのコードをそのまま送信できるため、変換によりデータサイズが増大しにくい。
【００６４】
なお、上述した実施形態では、プリンタ２の一例としてサーマルプリンタを示しているが、これに限らずインクジェット方式やレーザプリンタ等の他のプリンタであってもよい。
【００６５】
なお、上述した実施形態におけるホスト装置１またはプリンタ２が備える各部の機能全体あるいはその一部は、これらの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【００６６】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶部のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００６７】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形および置換を加えることができる。
【符号の説明】
【００６８】
Ｓ１…印刷システム、１…ホスト装置、２…プリンタ、１１…データ送信部、１２…制御部、１３…記憶部、２１…データ受信部、２２…即時コマンド処理部、２３…受信バッファ、２４…逐次コマンド処理部、２５…印字制御部、２６…紙送りモータ、２７…サーマルヘッド、２８…記憶部、２１１…第１コマンド変換部、２４１…第２コマンド変換部
【図１】
2020004169.tif 000003
【図２】
2020004169.tif 000004
【図３】
2020004169.tif 000005
【図４】
2020004169.tif 000006
【図５】
2020004169.tif 000007