JP2000203124A - プリンタおよび印刷システム - Google Patents
プリンタおよび印刷システムInfo
- Publication number
- JP2000203124A JP2000203124A JP11007286A JP728699A JP2000203124A JP 2000203124 A JP2000203124 A JP 2000203124A JP 11007286 A JP11007286 A JP 11007286A JP 728699 A JP728699 A JP 728699A JP 2000203124 A JP2000203124 A JP 2000203124A
- Authority
- JP
- Japan
- Prior art keywords
- printing
- command
- printer
- unit
- print data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
(57)【要約】
【課題】 印刷データ処理速度や通信速度、印字速度な
どの不特定要因に影響されることなく、確実に印字終了
を通知する。 【解決手段】 CPU1は、ホストコンピュータからの
印刷データをRAM3の受信バッファに順次格納すると
ともに、1行分ずつラインバッファに展開して印字す
る。このとき、印刷データに終了通知要求コマンドEN
Rがあると、印字に関するメカニズム動作が全て終了す
るまで待機する。そして、キャリッジモータ8の停止ま
たはオートカッター10の動作により印字終了が確認さ
れると、印字終了情報ビットを「1(終了)」にセット
する。CPU1は、ホストコンピュータからのステータ
ス要求に応じて、上記印字終了情報ビットが含まれるス
テータス情報をホストコンピュータに送信する。
どの不特定要因に影響されることなく、確実に印字終了
を通知する。 【解決手段】 CPU1は、ホストコンピュータからの
印刷データをRAM3の受信バッファに順次格納すると
ともに、1行分ずつラインバッファに展開して印字す
る。このとき、印刷データに終了通知要求コマンドEN
Rがあると、印字に関するメカニズム動作が全て終了す
るまで待機する。そして、キャリッジモータ8の停止ま
たはオートカッター10の動作により印字終了が確認さ
れると、印字終了情報ビットを「1(終了)」にセット
する。CPU1は、ホストコンピュータからのステータ
ス要求に応じて、上記印字終了情報ビットが含まれるス
テータス情報をホストコンピュータに送信する。
Description
【0001】
【発明の属する技術分野】本発明は、双方向通信可能な
インターフェースを備えるプリンタおよび印刷システム
に関する。
インターフェースを備えるプリンタおよび印刷システム
に関する。
【0002】
【従来の技術】従来、POSや無人端末、ゲーム機な
ど、ホストコンピュータからの印刷データに従ってユー
ザに所定の印字出力(レシート、伝票、文書、画像デー
タなど)を行うプリンタを備える機器が知られている。
上記プリンタは、ホストコンピュータからの印刷データ
を受信するとともに、自身の動作状態(ステータス)を
ホストコンピュータに送信するために双方向通信可能な
インターフェースを備えている。上記プリンタは、ホス
トコンピュータが1シート分の印刷データ(レシート、
伝票、文書、画像データなどの所定のデータ量からなる
印刷データ)を送信してくると、印刷データを順次受信
バッファに格納するとともに、受信バッファに格納され
た印刷データを所定の単位(1バイト)で読出し、ビッ
トマップデータに変換した後、所定の用紙に印字して出
力する。
ど、ホストコンピュータからの印刷データに従ってユー
ザに所定の印字出力(レシート、伝票、文書、画像デー
タなど)を行うプリンタを備える機器が知られている。
上記プリンタは、ホストコンピュータからの印刷データ
を受信するとともに、自身の動作状態(ステータス)を
ホストコンピュータに送信するために双方向通信可能な
インターフェースを備えている。上記プリンタは、ホス
トコンピュータが1シート分の印刷データ(レシート、
伝票、文書、画像データなどの所定のデータ量からなる
印刷データ)を送信してくると、印刷データを順次受信
バッファに格納するとともに、受信バッファに格納され
た印刷データを所定の単位(1バイト)で読出し、ビッ
トマップデータに変換した後、所定の用紙に印字して出
力する。
【0003】ここで、図10および図11は、従来のプ
リンタにおける印字動作を説明するためのフローチャー
トである。まず、メモリなどのクリア、印字ヘッドの初
期化など、プリンタの初期化処理を行う(図10に示す
ステップS1)。次に、プリンタエラー情報ビットを
「0(エラー無し)」に初期化し(ステップS2)、受
信バッファエンプティ情報ビットを「1(空)」に初期
化するとともに(ステップS3)、印字モータ停止中情
報ビットを「1(停止)」に初期化する(ステップS
4)。なお、上記受信バッファエンプティ情報ビット
は、印刷データを格納する受信バッファが空であるか否
かを示し、「0」でデータ有り、「1」で空であること
を示す。次に、データ受信割込み許可し(ステップS
5)、受信バッファに印刷データが格納されているか否
かを判断し、受信データが格納されるまで待機する(ス
テップS6)。
リンタにおける印字動作を説明するためのフローチャー
トである。まず、メモリなどのクリア、印字ヘッドの初
期化など、プリンタの初期化処理を行う(図10に示す
ステップS1)。次に、プリンタエラー情報ビットを
「0(エラー無し)」に初期化し(ステップS2)、受
信バッファエンプティ情報ビットを「1(空)」に初期
化するとともに(ステップS3)、印字モータ停止中情
報ビットを「1(停止)」に初期化する(ステップS
4)。なお、上記受信バッファエンプティ情報ビット
は、印刷データを格納する受信バッファが空であるか否
かを示し、「0」でデータ有り、「1」で空であること
を示す。次に、データ受信割込み許可し(ステップS
5)、受信バッファに印刷データが格納されているか否
かを判断し、受信データが格納されるまで待機する(ス
テップS6)。
【0004】プリンタは、ホストコンピュータからのデ
ータを受信すると、図12に示すデータ受信割込み処理
を実行する。まず、受信データがENQコマンドである
か否かを判断し(ステップS20)、ENQコマンドで
なければ、受信データを受信バッファへ格納し(ステッ
プS21)、受信バッファが空でないことを示すために
受信バッファエンプティ情報ビットを「0」に設定する
(ステップS22)。一方、受信データがENQコマン
ドであれば、ステータス情報をホストコンピュータへ送
信する(ステップS23)。ステータス情報は、上記受
信バッファエンプティ情報、印字モータ停止情報、プリ
ンタエラー情報、用紙切れ情報などからなる。言い換え
ると、ホストコンピュータは、プリンタに対してENQ
コマンドを送信することにより、プリンタの動作状態を
知ることができる。
ータを受信すると、図12に示すデータ受信割込み処理
を実行する。まず、受信データがENQコマンドである
か否かを判断し(ステップS20)、ENQコマンドで
なければ、受信データを受信バッファへ格納し(ステッ
プS21)、受信バッファが空でないことを示すために
受信バッファエンプティ情報ビットを「0」に設定する
(ステップS22)。一方、受信データがENQコマン
ドであれば、ステータス情報をホストコンピュータへ送
信する(ステップS23)。ステータス情報は、上記受
信バッファエンプティ情報、印字モータ停止情報、プリ
ンタエラー情報、用紙切れ情報などからなる。言い換え
ると、ホストコンピュータは、プリンタに対してENQ
コマンドを送信することにより、プリンタの動作状態を
知ることができる。
【0005】上記データ受信割込み処理により受信バッ
ファに印刷データが格納されると、プリンタは、1バイ
トの受信データを受信バッファから読み出す(ステップ
S7)。そして、受信バッファにまだ受信データが残っ
ているか否かを判断し(ステップS8)、受信データが
残っていなければ、受信バッファが空になったというこ
となので、受信バッファエンプティ情報ビットを「1
(空)」とする(ステップS9)。一方、受信データが
残っている場合には、受信バッファエンプティ情報を変
更しない。
ファに印刷データが格納されると、プリンタは、1バイ
トの受信データを受信バッファから読み出す(ステップ
S7)。そして、受信バッファにまだ受信データが残っ
ているか否かを判断し(ステップS8)、受信データが
残っていなければ、受信バッファが空になったというこ
となので、受信バッファエンプティ情報ビットを「1
(空)」とする(ステップS9)。一方、受信データが
残っている場合には、受信バッファエンプティ情報を変
更しない。
【0006】次に、受信データがコマンドであるかキャ
ラクタであるかを判断し(ステップS10)、コマンド
であれば、対応するコマンド処理を実行する(ステップ
S11)。そして、ステップS6に戻り、受信バッファ
から次の受信データを読み出し、同様の処理を行う。一
方、受信データがキャラクタであれば、印字データ編集
およびドット展開し(ステップS12)、1行分のデー
タが揃ったか否かを判断する(ステップS13)。そし
て、1行分のデータが揃っていなければ、ステップS6
に戻り、上述した処理を繰り返すことで1行分のデータ
を用意する。
ラクタであるかを判断し(ステップS10)、コマンド
であれば、対応するコマンド処理を実行する(ステップ
S11)。そして、ステップS6に戻り、受信バッファ
から次の受信データを読み出し、同様の処理を行う。一
方、受信データがキャラクタであれば、印字データ編集
およびドット展開し(ステップS12)、1行分のデー
タが揃ったか否かを判断する(ステップS13)。そし
て、1行分のデータが揃っていなければ、ステップS6
に戻り、上述した処理を繰り返すことで1行分のデータ
を用意する。
【0007】そして、1行分のデータが揃うと、印字モ
ータや紙送りモータを起動し、印字を開始し(ステップ
S14)、印字モータ停止中情報ビットを「0(起動
中)」とする(ステップS15)。なお、ステップS1
1の処理が印字命令を伴うコマンド(改行<LF>、改
ページ<FF>、復帰<CR>など)によるものである
場合には、1行分のデータが揃う前であっても直ちに印
字動作を開始する。次に、プリンタエラーが生じたか否
かを判断し、紙無しや紙ジャムなどのエラーが生じた場
合には、ブザーを鳴動したり、プリンタエラー情報ビッ
ト、用紙切れ情報ビットなどを立てるなどの所定のエラ
ー処理を実行する(ステップS17)。エラー処理後、
またはエラーがない場合には、印字モータが停止したか
否かを判断し、印字モータが停止していなければ、印字
動作が継続しているものと判断し、ステップS16へ戻
り、印字モータが停止するまで、上述した処理を繰り返
し実行する。
ータや紙送りモータを起動し、印字を開始し(ステップ
S14)、印字モータ停止中情報ビットを「0(起動
中)」とする(ステップS15)。なお、ステップS1
1の処理が印字命令を伴うコマンド(改行<LF>、改
ページ<FF>、復帰<CR>など)によるものである
場合には、1行分のデータが揃う前であっても直ちに印
字動作を開始する。次に、プリンタエラーが生じたか否
かを判断し、紙無しや紙ジャムなどのエラーが生じた場
合には、ブザーを鳴動したり、プリンタエラー情報ビッ
ト、用紙切れ情報ビットなどを立てるなどの所定のエラ
ー処理を実行する(ステップS17)。エラー処理後、
またはエラーがない場合には、印字モータが停止したか
否かを判断し、印字モータが停止していなければ、印字
動作が継続しているものと判断し、ステップS16へ戻
り、印字モータが停止するまで、上述した処理を繰り返
し実行する。
【0008】そして、印字モータが停止すると、印字モ
ータ停止中情報ビットを「1(停止)」とし、前述した
図10に示すステップS6に戻り、次行のデータを受信
バッファから取り出し、印字データ編集およびドット展
開し、印字するという動作を繰り返し実行する。なお、
上記印字モータ停止中情報ビットは、プリンタの印字モ
ータ(印字ヘッドを駆動するキャリッジモータまたは紙
送りモータ)が停止したか否かを示し、「0」で起動
中、「1」で停止していることを示す。
ータ停止中情報ビットを「1(停止)」とし、前述した
図10に示すステップS6に戻り、次行のデータを受信
バッファから取り出し、印字データ編集およびドット展
開し、印字するという動作を繰り返し実行する。なお、
上記印字モータ停止中情報ビットは、プリンタの印字モ
ータ(印字ヘッドを駆動するキャリッジモータまたは紙
送りモータ)が停止したか否かを示し、「0」で起動
中、「1」で停止していることを示す。
【0009】
【発明が解決しようとする課題】ところで、上記ホスト
コンピュータ−プリンタからなるシステムでは、正確な
印字出力を実現するために、ホストコンピュータは、印
刷データを送信後、所定の時間間隔でプリンタの動作状
態を確認するための要求(ENQコマンド)を発行す
る。プリンタは、上記要求(ENQコマンド)を受信す
ると、上述したように、受信バッファエンプティ情報、
印字モータ停止情報、プリンタエラー情報、用紙切れ情
報などからなるステータス情報をホストコンピュータに
通知する。
コンピュータ−プリンタからなるシステムでは、正確な
印字出力を実現するために、ホストコンピュータは、印
刷データを送信後、所定の時間間隔でプリンタの動作状
態を確認するための要求(ENQコマンド)を発行す
る。プリンタは、上記要求(ENQコマンド)を受信す
ると、上述したように、受信バッファエンプティ情報、
印字モータ停止情報、プリンタエラー情報、用紙切れ情
報などからなるステータス情報をホストコンピュータに
通知する。
【0010】ホストコンピュータは、上記エラーが印字
終了後に発生したのか、印字途中で発生したのかを判別
し、印字途中で発生した場合には、オペレータへの通
知、印字処理中の用紙の強制的破棄、あるいはエラーが
生じたジョブに対する印字動作の再開などの復帰処理を
実行しなければならない。また、ホストコンピュータが
1シート分(または1行分)の印刷データ(レシート、
伝票、文書、画像データなどの所定のデータ量からなる
印刷データ)をプリンタに送信する際には、1つ前のジ
ョブ(1シート分の印刷)に対する印字動作が確実に終
了したことを確認してから次のジョブに関する印刷デー
タを送信する必要がある。いずれの場合であっても、ホ
ストコンピュータは、印字終了を正確に認識する必要が
ある。
終了後に発生したのか、印字途中で発生したのかを判別
し、印字途中で発生した場合には、オペレータへの通
知、印字処理中の用紙の強制的破棄、あるいはエラーが
生じたジョブに対する印字動作の再開などの復帰処理を
実行しなければならない。また、ホストコンピュータが
1シート分(または1行分)の印刷データ(レシート、
伝票、文書、画像データなどの所定のデータ量からなる
印刷データ)をプリンタに送信する際には、1つ前のジ
ョブ(1シート分の印刷)に対する印字動作が確実に終
了したことを確認してから次のジョブに関する印刷デー
タを送信する必要がある。いずれの場合であっても、ホ
ストコンピュータは、印字終了を正確に認識する必要が
ある。
【0011】そこで、従来技術においては、プリンタ
は、上述したように、受信バッファが空になった時点
(受信データを全て印字終了した時点に相当)で、受信
バッファエンプティ情報ビットを「1(空)」とすると
ともに、印字モータが停止した時点(1行分の印字が終
了した時点に相当)で、印字モータ停止中情報ビットを
「1(停止)」とし、ホストコンピュータは、上記受信
バッファエンプティ情報ビットおよび印字モータ停止中
情報ビットのいずれか一方、もしくは双方の状態に基づ
いて印字終了を判断していた。
は、上述したように、受信バッファが空になった時点
(受信データを全て印字終了した時点に相当)で、受信
バッファエンプティ情報ビットを「1(空)」とすると
ともに、印字モータが停止した時点(1行分の印字が終
了した時点に相当)で、印字モータ停止中情報ビットを
「1(停止)」とし、ホストコンピュータは、上記受信
バッファエンプティ情報ビットおよび印字モータ停止中
情報ビットのいずれか一方、もしくは双方の状態に基づ
いて印字終了を判断していた。
【0012】すなわち、まず、第1の方法では、ホスト
コンピュータは、上記ENQコマンドに対して取得した
受信バッファエンプティ情報ビットが「1(空)」とな
っている場合には、印刷データが全て印字されたと認識
し、印字終了であると判断していた。また、第2の方法
では、上記ENQコマンドに対して取得した印字モータ
停止中情報ビットが「1(停止)」となっている場合に
は、印字終了であると判断していた。また、第3の方法
では、上記第1および第2の方法を組み合わせ、受信バ
ッファエンプティ情報ビットが「1」で、かつ印字モー
タ停止中情報ビットが「1」となっている場合には、印
字終了であると判断していた。
コンピュータは、上記ENQコマンドに対して取得した
受信バッファエンプティ情報ビットが「1(空)」とな
っている場合には、印刷データが全て印字されたと認識
し、印字終了であると判断していた。また、第2の方法
では、上記ENQコマンドに対して取得した印字モータ
停止中情報ビットが「1(停止)」となっている場合に
は、印字終了であると判断していた。また、第3の方法
では、上記第1および第2の方法を組み合わせ、受信バ
ッファエンプティ情報ビットが「1」で、かつ印字モー
タ停止中情報ビットが「1」となっている場合には、印
字終了であると判断していた。
【0013】しかしながら、一般に、ホストコンピュー
タは、複数のプリンタに対して印刷データを送出した
り、他のタスクを実行するなど、複数のタスクを処理し
ている場合や、インターフェースの通信速度(+ホスト
送信処理)がプリンタの処理速度(+印字速度)よりも
遅い場合がある。このような場合、プリンタは、ホスト
コンピュータが1シート分の印刷データを全て送信し終
える前に、受信バッファ内の受信データを全て印字して
しまうことになり、プリンタ側の受信バッファが空とな
って受信バッファエンプティ情報ステータスが「1」に
なる可能性がある。この結果、受信バッファエンプティ
情報ビットが「1(空)」となった時点で印字終了であ
ると判断する場合、1シート分(または1行分)の印字
動作が終了していないにもかかわらず、ホストコンピュ
ータは、印字終了と誤判断してしまうという問題があっ
た。
タは、複数のプリンタに対して印刷データを送出した
り、他のタスクを実行するなど、複数のタスクを処理し
ている場合や、インターフェースの通信速度(+ホスト
送信処理)がプリンタの処理速度(+印字速度)よりも
遅い場合がある。このような場合、プリンタは、ホスト
コンピュータが1シート分の印刷データを全て送信し終
える前に、受信バッファ内の受信データを全て印字して
しまうことになり、プリンタ側の受信バッファが空とな
って受信バッファエンプティ情報ステータスが「1」に
なる可能性がある。この結果、受信バッファエンプティ
情報ビットが「1(空)」となった時点で印字終了であ
ると判断する場合、1シート分(または1行分)の印字
動作が終了していないにもかかわらず、ホストコンピュ
ータは、印字終了と誤判断してしまうという問題があっ
た。
【0014】また、プリンタにおいて、1行分の印字が
終了する時点で、次の印刷データを受信し終えていない
と、1枚のシートの途中で印字モータが停止してしまう
ため、印字モータ停止中情報ビットが「1」となる可能
性がある。この場合も、やはりホストコンピュータは、
1シート分の印字動作が終了していないにもかかわら
ず、印字終了と誤判断してしまうという問題があった。
終了する時点で、次の印刷データを受信し終えていない
と、1枚のシートの途中で印字モータが停止してしまう
ため、印字モータ停止中情報ビットが「1」となる可能
性がある。この場合も、やはりホストコンピュータは、
1シート分の印字動作が終了していないにもかかわら
ず、印字終了と誤判断してしまうという問題があった。
【0015】また、双方のステータス情報が共に成立し
たことで印字終了と判断する場合であっても、1枚のシ
ートの途中で2つの条件が成立する可能性があるため、
上述した例と同様に、1シート分の印字動作が終了して
いないにもかかわらず、印字終了と誤判断してしまうと
いう問題があった。
たことで印字終了と判断する場合であっても、1枚のシ
ートの途中で2つの条件が成立する可能性があるため、
上述した例と同様に、1シート分の印字動作が終了して
いないにもかかわらず、印字終了と誤判断してしまうと
いう問題があった。
【0016】このように、従来技術では、印字終了を示
すステータス情報の成立タイミングは、送信データ長、
ホストコンピュータの動作環境、プリンタの動作性能な
どの複数の不特定要因に左右される。したがって、正確
な印字終了を判定することができないという問題があっ
た。
すステータス情報の成立タイミングは、送信データ長、
ホストコンピュータの動作環境、プリンタの動作性能な
どの複数の不特定要因に左右される。したがって、正確
な印字終了を判定することができないという問題があっ
た。
【0017】本発明は上述した事情に鑑みてなされたも
ので、ホストコンピュータなどの外部装置の印刷データ
送信処理速度や、ホストコンピュータなどの外部装置−
プリンタ間の通信速度、プリンタの処理速度/印字速度
などの不特定要因に影響されることなく、任意の時点で
確実に印字終了を通知することができるプリンタおよび
印刷システムを提供することを目的としている。
ので、ホストコンピュータなどの外部装置の印刷データ
送信処理速度や、ホストコンピュータなどの外部装置−
プリンタ間の通信速度、プリンタの処理速度/印字速度
などの不特定要因に影響されることなく、任意の時点で
確実に印字終了を通知することができるプリンタおよび
印刷システムを提供することを目的としている。
【0018】
【課題を解決するための手段】上述した問題点を解決す
るために、請求項1に記載の発明では、外部装置から送
信されてくる印刷データを印字するプリンタにおいて、
外部装置から送信されてくる印刷データを格納する記憶
手段と、記憶手段に格納された印刷データを所定単位で
順次印字する印字手段と、記憶手段に格納された印刷デ
ータに所定のコマンドが含まれている場合には、該所定
のコマンドまでの印刷データに対する印字手段による印
字動作が終了するまで待機し、印字手段による印字動作
が終了すると、外部装置に印字動作終了を通知する通知
手段とを具備することを特徴としている。
るために、請求項1に記載の発明では、外部装置から送
信されてくる印刷データを印字するプリンタにおいて、
外部装置から送信されてくる印刷データを格納する記憶
手段と、記憶手段に格納された印刷データを所定単位で
順次印字する印字手段と、記憶手段に格納された印刷デ
ータに所定のコマンドが含まれている場合には、該所定
のコマンドまでの印刷データに対する印字手段による印
字動作が終了するまで待機し、印字手段による印字動作
が終了すると、外部装置に印字動作終了を通知する通知
手段とを具備することを特徴としている。
【0019】また、請求項2に記載の発明では、請求項
1に記載のプリンタにおいて、前記外部装置が指定する
コードデータを前記所定のコマンドとして登録する登録
手段を具備することを特徴としている。
1に記載のプリンタにおいて、前記外部装置が指定する
コードデータを前記所定のコマンドとして登録する登録
手段を具備することを特徴としている。
【0020】また、請求項3に記載の発明では、請求項
1に記載のプリンタにおいて、前記印字手段における所
定の動作開始または動作終了のいずれか一方、または双
方を契機に前記印字手段における印字動作終了を認識す
る印字動作終了認識手段を具備することを特徴としてい
る。
1に記載のプリンタにおいて、前記印字手段における所
定の動作開始または動作終了のいずれか一方、または双
方を契機に前記印字手段における印字動作終了を認識す
る印字動作終了認識手段を具備することを特徴としてい
る。
【0021】また、請求項4に記載の発明では、請求項
1に記載のプリンタにおいて、前記通知手段は、前記外
部装置からの通知要求を受信した時点、または、前記印
字手段による印字動作が終了した時点のいずれか一方、
または双方で、印字手段による印字動作終了を通知する
ことを特徴としている。
1に記載のプリンタにおいて、前記通知手段は、前記外
部装置からの通知要求を受信した時点、または、前記印
字手段による印字動作が終了した時点のいずれか一方、
または双方で、印字手段による印字動作終了を通知する
ことを特徴としている。
【0022】また、上述した問題点を解決するために、
請求項5に記載の発明では、外部装置から送信されてく
るデータを印字するプリンタにおいて、前記外部装置か
ら送信されてくるデータを格納する記憶手段と、記憶手
段に格納されたデータを所定単位で順次読み出し、読み
出したデータが印字データであるか、コマンドであるか
を判別するデータ判別手段と、データ判別手段により印
字データであると判別された場合には、該印字データを
印字する印字手段と、データ判別手段によりコマンドで
あると判別された場合には、該コマンドが終了通知要求
コマンドであるか判別するコマンド判別手段と、コマン
ド判別手段により終了通知要求コマンドであることが判
別されると、該終了通知要求コマンドまでの印字データ
に対する印字手段による印字動作終了を検出する印字動
作終了検出手段と、印字動作終了検出手段により印字動
作が終了したことが検出されると、外部装置に印字動作
終了を通知する通知手段とを具備することを特徴として
いる。
請求項5に記載の発明では、外部装置から送信されてく
るデータを印字するプリンタにおいて、前記外部装置か
ら送信されてくるデータを格納する記憶手段と、記憶手
段に格納されたデータを所定単位で順次読み出し、読み
出したデータが印字データであるか、コマンドであるか
を判別するデータ判別手段と、データ判別手段により印
字データであると判別された場合には、該印字データを
印字する印字手段と、データ判別手段によりコマンドで
あると判別された場合には、該コマンドが終了通知要求
コマンドであるか判別するコマンド判別手段と、コマン
ド判別手段により終了通知要求コマンドであることが判
別されると、該終了通知要求コマンドまでの印字データ
に対する印字手段による印字動作終了を検出する印字動
作終了検出手段と、印字動作終了検出手段により印字動
作が終了したことが検出されると、外部装置に印字動作
終了を通知する通知手段とを具備することを特徴として
いる。
【0023】また、請求項6に記載の発明では、請求項
5に記載のプリンタにおいて、前記印字動作終了検出手
段は、印字手段における所定の動作開始または動作終了
のいずれか一方、または双方を検出することにより、前
記印字手段における印字動作が終了したとすることを特
徴としている。
5に記載のプリンタにおいて、前記印字動作終了検出手
段は、印字手段における所定の動作開始または動作終了
のいずれか一方、または双方を検出することにより、前
記印字手段における印字動作が終了したとすることを特
徴としている。
【0024】また、上述した問題点を解決するために、
請求項7に記載の発明では、印刷データを送信する外部
装置と、印刷データを印字するプリンタとからなる印刷
システムにおいて、外部装置は、印刷データとともに所
定のコマンドを送信する送信手段と、プリンタからの印
字動作終了を受信すると、所定のコマンドまでの印刷デ
ータの印字が終了したことを認識する認識手段とを備
え、プリンタは、外部装置から送信されてくる印刷デー
タを格納する記憶手段と、記憶手段に格納された印刷デ
ータを順次印字する印字手段と、記憶手段に格納された
データが所定のコマンドである場合には、該所定のコマ
ンドまでの印字データに対する印字手段による印字動作
が終了するまで待機し、印字手段による印字動作が終了
すると、外部装置に印字動作終了を通知する通知手段と
を具備することを特徴としている。
請求項7に記載の発明では、印刷データを送信する外部
装置と、印刷データを印字するプリンタとからなる印刷
システムにおいて、外部装置は、印刷データとともに所
定のコマンドを送信する送信手段と、プリンタからの印
字動作終了を受信すると、所定のコマンドまでの印刷デ
ータの印字が終了したことを認識する認識手段とを備
え、プリンタは、外部装置から送信されてくる印刷デー
タを格納する記憶手段と、記憶手段に格納された印刷デ
ータを順次印字する印字手段と、記憶手段に格納された
データが所定のコマンドである場合には、該所定のコマ
ンドまでの印字データに対する印字手段による印字動作
が終了するまで待機し、印字手段による印字動作が終了
すると、外部装置に印字動作終了を通知する通知手段と
を具備することを特徴としている。
【0025】また、請求項8に記載の発明では、請求項
7に記載の印刷システムにおいて、前記外部装置は、前
記所定のコマンドとして所定のコードデータを指定し、
前記プリンタに対して登録要求し、プリンタは、外部装
置からの登録要求に従ってコードデータを所定のコマン
ドとして登録することを特徴としている。
7に記載の印刷システムにおいて、前記外部装置は、前
記所定のコマンドとして所定のコードデータを指定し、
前記プリンタに対して登録要求し、プリンタは、外部装
置からの登録要求に従ってコードデータを所定のコマン
ドとして登録することを特徴としている。
【0026】また、請求項9に記載の発明では、請求項
7または8に記載の印刷システムにおいて、前記外部装
置は、印刷データの所定箇所に前記所定のコマンドを付
加してプリンタに送信することを特徴としている。
7または8に記載の印刷システムにおいて、前記外部装
置は、印刷データの所定箇所に前記所定のコマンドを付
加してプリンタに送信することを特徴としている。
【0027】本発明によれば、記憶手段は、外部装置か
ら送信されてくる印刷データを格納する。印字手段は、
記憶手段に格納された印刷データを所定単位で順次印字
する。このとき、通知手段は、記憶手段に格納された印
刷データに所定のコマンドが含まれている場合には、該
所定のコマンドまでの印刷データに対する印字手段によ
る印字動作が終了するまで待機し、印字手段による印字
動作が終了すると、外部装置に印字動作終了を通知す
る。したがって、外部装置の印刷データ送信処理速度
や、外部装置−プリンタ間の通信速度、プリンタの処理
速度/印字速度などの不特定要因に影響されることな
く、所定のコマンドまでの印刷データが確実に印字終了
した時点で、印字終了を通知することが可能となる。
ら送信されてくる印刷データを格納する。印字手段は、
記憶手段に格納された印刷データを所定単位で順次印字
する。このとき、通知手段は、記憶手段に格納された印
刷データに所定のコマンドが含まれている場合には、該
所定のコマンドまでの印刷データに対する印字手段によ
る印字動作が終了するまで待機し、印字手段による印字
動作が終了すると、外部装置に印字動作終了を通知す
る。したがって、外部装置の印刷データ送信処理速度
や、外部装置−プリンタ間の通信速度、プリンタの処理
速度/印字速度などの不特定要因に影響されることな
く、所定のコマンドまでの印刷データが確実に印字終了
した時点で、印字終了を通知することが可能となる。
【0028】
【発明の実施の形態】次に図面を参照して本発明の実施
形態について説明する。A.プリンタの構成 まず、図1は、本発明の一実施形態によるプリンタの構
成を示すブロック図である。図において、CPU1は、
ホストコンピュータとの間におけるデータ送受信やプリ
ンタ全体の動作を所定のプログラムに従って制御する。
特に、本実施形態では、CPU1は、ホストコンピュー
タから後述する終了通知要求コマンドENRを受信する
と、印字に関するメカニズム動作が全て終了するまで待
機し、印字モータが停止することにより印字終了が確認
された後、印字終了情報ビットを「1(終了)」にセッ
トする。なお、上記印字終了情報ビットは、本発明によ
り新たに設けられた情報であり、「0」で印字未終了、
「1」で印字終了であることを示す。また、本実施形態
では、上記印字終了情報ビットを設けたことにより、従
来技術で用いていた、受信バッファエンプティ情報ビッ
ト、印字モータ停止情報ビットを用いていない。
形態について説明する。A.プリンタの構成 まず、図1は、本発明の一実施形態によるプリンタの構
成を示すブロック図である。図において、CPU1は、
ホストコンピュータとの間におけるデータ送受信やプリ
ンタ全体の動作を所定のプログラムに従って制御する。
特に、本実施形態では、CPU1は、ホストコンピュー
タから後述する終了通知要求コマンドENRを受信する
と、印字に関するメカニズム動作が全て終了するまで待
機し、印字モータが停止することにより印字終了が確認
された後、印字終了情報ビットを「1(終了)」にセッ
トする。なお、上記印字終了情報ビットは、本発明によ
り新たに設けられた情報であり、「0」で印字未終了、
「1」で印字終了であることを示す。また、本実施形態
では、上記印字終了情報ビットを設けたことにより、従
来技術で用いていた、受信バッファエンプティ情報ビッ
ト、印字モータ停止情報ビットを用いていない。
【0029】プログラムROM2は、上記CPU1で実
行されるプログラムを記憶する。RAM3は、上記CP
U1によるプログラム実行におけるワーキングエリアや
受信バッファとして用いられる。上記CPU1、ROM
2およびRAM3とは、データバス4を介してデータ授
受を行う。インターフェース受信部5は、ホストコンピ
ュータからのデータを受信し、インターフェース制御I
/O7を介してCPU1に供給する。インターフェース
送信部6は、インターフェース制御I/O7を介してC
PU1から供給されるデータ(例えば、ステータス情
報)をホストコンピュータに送信する。インターフェー
ス制御I/O7は、CPU1と上記インターフェース受
信部5およびインターフェース送信部6との間でデータ
の仲介を行う。
行されるプログラムを記憶する。RAM3は、上記CP
U1によるプログラム実行におけるワーキングエリアや
受信バッファとして用いられる。上記CPU1、ROM
2およびRAM3とは、データバス4を介してデータ授
受を行う。インターフェース受信部5は、ホストコンピ
ュータからのデータを受信し、インターフェース制御I
/O7を介してCPU1に供給する。インターフェース
送信部6は、インターフェース制御I/O7を介してC
PU1から供給されるデータ(例えば、ステータス情
報)をホストコンピュータに送信する。インターフェー
ス制御I/O7は、CPU1と上記インターフェース受
信部5およびインターフェース送信部6との間でデータ
の仲介を行う。
【0030】キャリッジモータ8は、印字ヘッド(キャ
リッジ)を駆動するためのモータである。また、紙送り
モータ9は、用紙を印字ヘッドへ順次搬送するためのモ
ータである。なお、本実施形態のプリンタでは、上記用
紙は、巻回された長尺のものを用いている。オートカッ
ター10は、1ページ分の印字が終了した時点で、上記
長尺用紙を切断する。これらキャリッジモータ8、紙送
りモータ9およびオートカッター10は、メカニズム制
御I/O11を介してCPU1により制御される。メカ
ニズム制御I/O11は、CPU1と上記キャリッジモ
ータ8、紙送りモータ9およびオートカッター10との
間でデータの仲介を行う。
リッジ)を駆動するためのモータである。また、紙送り
モータ9は、用紙を印字ヘッドへ順次搬送するためのモ
ータである。なお、本実施形態のプリンタでは、上記用
紙は、巻回された長尺のものを用いている。オートカッ
ター10は、1ページ分の印字が終了した時点で、上記
長尺用紙を切断する。これらキャリッジモータ8、紙送
りモータ9およびオートカッター10は、メカニズム制
御I/O11を介してCPU1により制御される。メカ
ニズム制御I/O11は、CPU1と上記キャリッジモ
ータ8、紙送りモータ9およびオートカッター10との
間でデータの仲介を行う。
【0031】ディップスイッチ12は、プリンタの動作
モードなどを指定する。操作パネル13は、電源投入や
用紙排出、リセットなどを行うための各種スイッチから
なる。ブザー14は、エラーが発生した場合などに鳴動
し、オペレータに報知する。I/O15は、CPU1
と、上記ディップスイッチ12、操作パネル13および
ブザー14との間でデータの仲介を行う。
モードなどを指定する。操作パネル13は、電源投入や
用紙排出、リセットなどを行うための各種スイッチから
なる。ブザー14は、エラーが発生した場合などに鳴動
し、オペレータに報知する。I/O15は、CPU1
と、上記ディップスイッチ12、操作パネル13および
ブザー14との間でデータの仲介を行う。
【0032】B.実施形態の動作 次に、本発明の実施形態によるプリンタの動作について
説明する。B−1.印字処理 ここで、図2および図3は、本実施形態によるプリンタ
における印字動作を説明するためのフローチャートであ
る。まず、RAM3のクリア、印字ヘッドの初期化な
ど、プリンタの初期化処理を行う(図2に示すステップ
Sa1)。次に、プリンタエラー情報ビットを「0(エ
ラー無し)」に初期化し(ステップSa2)、印字終了
情報ビットを「0(未終了)」に初期化するとともに
(ステップSa3)、データ受信割込み許可とし(ステ
ップSa4)、受信バッファにデータが格納されている
か否かを判断し、受信データが格納されるまで待機する
(ステップSa5)。
説明する。B−1.印字処理 ここで、図2および図3は、本実施形態によるプリンタ
における印字動作を説明するためのフローチャートであ
る。まず、RAM3のクリア、印字ヘッドの初期化な
ど、プリンタの初期化処理を行う(図2に示すステップ
Sa1)。次に、プリンタエラー情報ビットを「0(エ
ラー無し)」に初期化し(ステップSa2)、印字終了
情報ビットを「0(未終了)」に初期化するとともに
(ステップSa3)、データ受信割込み許可とし(ステ
ップSa4)、受信バッファにデータが格納されている
か否かを判断し、受信データが格納されるまで待機する
(ステップSa5)。
【0033】プリンタは、ホストコンピュータからのデ
ータを受信すると、図4に示すデータ受信割込み処理を
実行する。まず、受信データがENQコマンドであるか
否かを判断し(ステップSb1)、ENQコマンドでな
ければ、受信データを受信バッファへ格納する(ステッ
プSb2)。一方、受信データがENQコマンドであれ
ば、ステータス情報をホストコンピュータへ送信し(ス
テップSb3)、印字終了ビットを「0(未終了)」に
設定する(ステップSb4)。上記ステータス情報は、
図6に示すように、プリンタエラー情報ビットと、用紙
切れ情報ビットと、印字終了ビットとを含んでいる。言
い換えると、ホストコンピュータは、プリンタに対して
ENQコマンドを送信することにより、プリンタの動作
状態を知ることができる。
ータを受信すると、図4に示すデータ受信割込み処理を
実行する。まず、受信データがENQコマンドであるか
否かを判断し(ステップSb1)、ENQコマンドでな
ければ、受信データを受信バッファへ格納する(ステッ
プSb2)。一方、受信データがENQコマンドであれ
ば、ステータス情報をホストコンピュータへ送信し(ス
テップSb3)、印字終了ビットを「0(未終了)」に
設定する(ステップSb4)。上記ステータス情報は、
図6に示すように、プリンタエラー情報ビットと、用紙
切れ情報ビットと、印字終了ビットとを含んでいる。言
い換えると、ホストコンピュータは、プリンタに対して
ENQコマンドを送信することにより、プリンタの動作
状態を知ることができる。
【0034】上記データ受信割込み処理により受信バッ
ファにデータが格納されると、プリンタは、1バイトの
受信データを受信バッファから読み出す(ステップSa
6)。次に、受信データがコマンドであるかキャラクタ
であるかを判断し(ステップSa7)、受信データがキ
ャラクタであれば、印字データ編集およびドット展開し
(ステップSa8)、1行分のデータが揃ったか否かを
判断する(ステップSa9)。そして、1行分のデータ
が揃っていなければ、ステップSa5に戻り、上述した
処理を繰り返すことで、1行分のデータを用意する。
ファにデータが格納されると、プリンタは、1バイトの
受信データを受信バッファから読み出す(ステップSa
6)。次に、受信データがコマンドであるかキャラクタ
であるかを判断し(ステップSa7)、受信データがキ
ャラクタであれば、印字データ編集およびドット展開し
(ステップSa8)、1行分のデータが揃ったか否かを
判断する(ステップSa9)。そして、1行分のデータ
が揃っていなければ、ステップSa5に戻り、上述した
処理を繰り返すことで、1行分のデータを用意する。
【0035】そして、1行分のデータが揃うと、キャリ
ッジモータ(印字モータ)や紙送りモータを起動し、印
字を開始する(ステップSa10)。なお、図3のステ
ップSa14の処理が印字命令を伴うコマンド(改行<
LF>、改ページ<FF>、復帰<CR>など)による
ものである場合には、1行分のデータが揃う前であって
も直ちに印字動作を開始する。次に、プリンタエラーが
生じたか否かを判断し(ステップSa11)、紙無しや
紙ジャムなどのエラーが生じた場合には、所定のエラー
処理を実行する(ステップSa12)。ここで、図5
は、上述したエラー発生時に実行されるエラー処理を説
明するためのフローチャートである。エラーが発生する
と、まず、プリンタエラー情報ビットを「1(エラー発
生)」とし(ステップSc1)、操作パネル13のLE
Dを点滅した後(ステップSc2)、ブザー14により
警報音を鳴動する(ステップSc3)。そして、オペレ
ータにより操作パネル13のエラー復帰スイッチが押下
されたか否かを判断し、エラー復帰スイッチが押下され
ると、プリントエラー情報ビットを「0(エラー無
し)」とし、当該処理を終了する。
ッジモータ(印字モータ)や紙送りモータを起動し、印
字を開始する(ステップSa10)。なお、図3のステ
ップSa14の処理が印字命令を伴うコマンド(改行<
LF>、改ページ<FF>、復帰<CR>など)による
ものである場合には、1行分のデータが揃う前であって
も直ちに印字動作を開始する。次に、プリンタエラーが
生じたか否かを判断し(ステップSa11)、紙無しや
紙ジャムなどのエラーが生じた場合には、所定のエラー
処理を実行する(ステップSa12)。ここで、図5
は、上述したエラー発生時に実行されるエラー処理を説
明するためのフローチャートである。エラーが発生する
と、まず、プリンタエラー情報ビットを「1(エラー発
生)」とし(ステップSc1)、操作パネル13のLE
Dを点滅した後(ステップSc2)、ブザー14により
警報音を鳴動する(ステップSc3)。そして、オペレ
ータにより操作パネル13のエラー復帰スイッチが押下
されたか否かを判断し、エラー復帰スイッチが押下され
ると、プリントエラー情報ビットを「0(エラー無
し)」とし、当該処理を終了する。
【0036】エラー処理後、またはエラーがない場合に
は、印字モータが停止したか否かを判断し(Sa1
3)、印字モータが停止していなければ、印字動作が継
続しているものと判断し、ステップSa11へ戻り、印
字モータが停止するまで、上述した処理を繰り返し実行
する。そして、印字モータが停止すると、前述したステ
ップSa5に戻り、次行のデータを受信バッファから取
り出し、印字データ編集およびドット展開し、印字する
という動作を繰り返し実行する。
は、印字モータが停止したか否かを判断し(Sa1
3)、印字モータが停止していなければ、印字動作が継
続しているものと判断し、ステップSa11へ戻り、印
字モータが停止するまで、上述した処理を繰り返し実行
する。そして、印字モータが停止すると、前述したステ
ップSa5に戻り、次行のデータを受信バッファから取
り出し、印字データ編集およびドット展開し、印字する
という動作を繰り返し実行する。
【0037】一方、受信バッファから読み出した受信デ
ータがコマンドであれば、対応するコマンド処理を実行
する(図3のステップSa14)。次に、上記受信デー
タが終了通知要求コマンドENRであるか否かを判断
し、終了通知要求コマンドENRでなければ、図2に示
すステップSa5に戻り、受信バッファから次の受信デ
ータを読み出し、同様の処理を行う。一方、受信データ
が終了通知要求コマンドENRであれば、受信バッファ
にまだ印字していない(読み出していない)受信データ
があるか否かを判断する(ステップSa16)。そし
て、未印字データがあれば、1バイトの受信データを受
信バッファから読み出し(ステップSa17)、受信デ
ータを印字データ編集およびドット展開し(ステップS
a18)、印字モータや紙送りモータを起動し、印字を
開始する(ステップSa19)。一方、未印字データが
ない場合には、直接以下の処理へ進む。
ータがコマンドであれば、対応するコマンド処理を実行
する(図3のステップSa14)。次に、上記受信デー
タが終了通知要求コマンドENRであるか否かを判断
し、終了通知要求コマンドENRでなければ、図2に示
すステップSa5に戻り、受信バッファから次の受信デ
ータを読み出し、同様の処理を行う。一方、受信データ
が終了通知要求コマンドENRであれば、受信バッファ
にまだ印字していない(読み出していない)受信データ
があるか否かを判断する(ステップSa16)。そし
て、未印字データがあれば、1バイトの受信データを受
信バッファから読み出し(ステップSa17)、受信デ
ータを印字データ編集およびドット展開し(ステップS
a18)、印字モータや紙送りモータを起動し、印字を
開始する(ステップSa19)。一方、未印字データが
ない場合には、直接以下の処理へ進む。
【0038】次に、プリンタエラーが生じたか否かを判
断し(ステップSa20)、紙無しや紙ジャムなどのエ
ラーが生じた場合には、所定のエラー処理を実行する
(ステップSa21:図5に示すエラー処理)。エラー
処理後、またはエラーがない場合には、印字モータが停
止したか否かを判断し(Sa22)、印字モータが停止
していなければ、印字動作が継続しているものと判断
し、ステップSa20へ戻り、印字モータが停止するま
で、上述した処理を繰り返し実行する。そして、全ての
受信データを印字終了し、印字モータが停止すると、印
字終了情報ビットを「1(終了)」とし(ステップSa
23)、図2に示すステップSa5に戻り、ホストコン
ピュータから次のデータを受信するまで待機する。
断し(ステップSa20)、紙無しや紙ジャムなどのエ
ラーが生じた場合には、所定のエラー処理を実行する
(ステップSa21:図5に示すエラー処理)。エラー
処理後、またはエラーがない場合には、印字モータが停
止したか否かを判断し(Sa22)、印字モータが停止
していなければ、印字動作が継続しているものと判断
し、ステップSa20へ戻り、印字モータが停止するま
で、上述した処理を繰り返し実行する。そして、全ての
受信データを印字終了し、印字モータが停止すると、印
字終了情報ビットを「1(終了)」とし(ステップSa
23)、図2に示すステップSa5に戻り、ホストコン
ピュータから次のデータを受信するまで待機する。
【0039】B−2.具体的な動作例 次に、図7を参照して具体的な動作例について説明す
る。ホストコンピュータは、印刷データとともに、終了
通知要求コマンドENRをプリンタに送信する。プリン
タは、上記印刷データおよび終了通知要求コマンドEN
Rを受信バッファに順次格納するとともに、受信バッフ
ァから印刷データを読み出して、1行単位で印字してい
く。ホストコンピュータは、印刷データの送信が終了す
ると、所定の時間間隔で、プリンタに対してENQコマ
ンドを送信する。プリンタは、ENQコマンドを受信す
る度に、その時点のステータス情報をホストコンピュー
タに送信する。本実施形態では、上記終了通知要求コマ
ンドENRに対する処理を実行するまでは、印字終了情
報ビットを「1(印字終了)」としない。したがって、
ホストコンピュータは、印字中であることを認識する。
る。ホストコンピュータは、印刷データとともに、終了
通知要求コマンドENRをプリンタに送信する。プリン
タは、上記印刷データおよび終了通知要求コマンドEN
Rを受信バッファに順次格納するとともに、受信バッフ
ァから印刷データを読み出して、1行単位で印字してい
く。ホストコンピュータは、印刷データの送信が終了す
ると、所定の時間間隔で、プリンタに対してENQコマ
ンドを送信する。プリンタは、ENQコマンドを受信す
る度に、その時点のステータス情報をホストコンピュー
タに送信する。本実施形態では、上記終了通知要求コマ
ンドENRに対する処理を実行するまでは、印字終了情
報ビットを「1(印字終了)」としない。したがって、
ホストコンピュータは、印字中であることを認識する。
【0040】そして、プリンタが受信バッファから終了
通知要求コマンドENRを読み出すと、終了通知要求コ
マンドENR処理を実行し(図3のステップSa15〜
Sa23)、印字が全て終了し、印字モータが停止する
のを待って、印字終了情報ビットを「1(印字終了)」
とする。したがって、この直後にホストコンピュータか
らENQコマンドを受信すると、印字終了情報ビットが
「1(印字終了)」となったステータス情報をホストコ
ンピュータに送信する。この結果、ホストコンピュータ
は、印字終了であることを認識する。プリンタでは、ス
テータス情報送信後、印字終了情報ビットを「0(印字
未終了)」とする(ステップSb4)。
通知要求コマンドENRを読み出すと、終了通知要求コ
マンドENR処理を実行し(図3のステップSa15〜
Sa23)、印字が全て終了し、印字モータが停止する
のを待って、印字終了情報ビットを「1(印字終了)」
とする。したがって、この直後にホストコンピュータか
らENQコマンドを受信すると、印字終了情報ビットが
「1(印字終了)」となったステータス情報をホストコ
ンピュータに送信する。この結果、ホストコンピュータ
は、印字終了であることを認識する。プリンタでは、ス
テータス情報送信後、印字終了情報ビットを「0(印字
未終了)」とする(ステップSb4)。
【0041】B−3.終了通知要求コマンド設定処理 本実施形態では、ホストコンピュータから送信する終了
通知要求コマンドENRを、システムで使用されてない
任意のコードに割り当てることができるようになってい
る。通常、プリンタ(CPU1)は、<ESC>+コー
ドの形式をコマンドとして認識する。本実施形態では、
<ESC>+「1」+n+mの形式で、終了通知要求コ
マンドENRとしてコードnを指定するようになってい
る。mは、コードnを終了通知要求コマンドENRとし
て登録するのか、取り消すのかを示すパラメータであ
る。以下、終了通知要求コマンドENRの設定処理につ
いて説明する。
通知要求コマンドENRを、システムで使用されてない
任意のコードに割り当てることができるようになってい
る。通常、プリンタ(CPU1)は、<ESC>+コー
ドの形式をコマンドとして認識する。本実施形態では、
<ESC>+「1」+n+mの形式で、終了通知要求コ
マンドENRとしてコードnを指定するようになってい
る。mは、コードnを終了通知要求コマンドENRとし
て登録するのか、取り消すのかを示すパラメータであ
る。以下、終了通知要求コマンドENRの設定処理につ
いて説明する。
【0042】ここで、図8は、上述した終了通知要求コ
マンドENRの設定処理を説明するためのフローチャー
トである。また、図9は、アスキーコード表を示す表図
である。なお、図9において、0AHは、<LF>=改
行、0CHは、<FF>=改ページ、0DHは、<CR
>=復帰、1EHは、<RS>=オートカッターコマン
ドとして登録されている。また、<ESC>は拡張コマ
ンドとして扱われる。
マンドENRの設定処理を説明するためのフローチャー
トである。また、図9は、アスキーコード表を示す表図
である。なお、図9において、0AHは、<LF>=改
行、0CHは、<FF>=改ページ、0DHは、<CR
>=復帰、1EHは、<RS>=オートカッターコマン
ドとして登録されている。また、<ESC>は拡張コマ
ンドとして扱われる。
【0043】ホストコンピュータから終了通知要求コマ
ンドENRを指定するためのコマンド(<ESC>+
「1」+n+m)が送信されてくると、プリンタ(CP
U1)は、図8に示す終了通知要求コマンド設定処理を
実行する。まず、0(H)≦n≦1F(H)であるか否
かを判断する(ステップSd1)。0(H)〜1F
(H)の以外は、図9に示すように、既に文字に割り当
てられているので、コマンドに割り当てることができな
い。したがって、nが0(H)〜1F(H)の以外であ
れば、当該処理を終了する。
ンドENRを指定するためのコマンド(<ESC>+
「1」+n+m)が送信されてくると、プリンタ(CP
U1)は、図8に示す終了通知要求コマンド設定処理を
実行する。まず、0(H)≦n≦1F(H)であるか否
かを判断する(ステップSd1)。0(H)〜1F
(H)の以外は、図9に示すように、既に文字に割り当
てられているので、コマンドに割り当てることができな
い。したがって、nが0(H)〜1F(H)の以外であ
れば、当該処理を終了する。
【0044】一方、nが0(H)〜1F(H)の範囲で
あれば、nがENQコマンド(05H)であるか否かを
判断する(ステップSd2)。ENQコマンド(05
H)は、図9に示すように、ステータス情報を要求する
コマンドとして既に割り当てられているので、終了通知
要求コマンドENRとして割り当てるのは適当ではな
い。したがって、nがENQコマンド(05H)であれ
ば、コマンドに割り当てることができないので、当該処
理を終了する。
あれば、nがENQコマンド(05H)であるか否かを
判断する(ステップSd2)。ENQコマンド(05
H)は、図9に示すように、ステータス情報を要求する
コマンドとして既に割り当てられているので、終了通知
要求コマンドENRとして割り当てるのは適当ではな
い。したがって、nがENQコマンド(05H)であれ
ば、コマンドに割り当てることができないので、当該処
理を終了する。
【0045】一方、nがENQコマンド(05H)でな
ければ、次に、nがESC(1BH)であるか否かを判
断する(ステップSd3)。ESC(1BH)は、文字
の大きさ、フォントの種類などを指定するためのコマン
ドとして既に割り当てられているので、終了通知要求コ
マンドENRとして割り当てるのは適当ではない。した
がって、nがESC(1BH)であれば、コマンドに割
り当てることができないので、当該処理を終了する。
ければ、次に、nがESC(1BH)であるか否かを判
断する(ステップSd3)。ESC(1BH)は、文字
の大きさ、フォントの種類などを指定するためのコマン
ドとして既に割り当てられているので、終了通知要求コ
マンドENRとして割り当てるのは適当ではない。した
がって、nがESC(1BH)であれば、コマンドに割
り当てることができないので、当該処理を終了する。
【0046】一方、nがESC(1BH)でなければ、
すなわち、nが0(H)〜1F(H)の範囲で、かつ、
ENQコマンド(05H)またはESC(1BH)のい
ずれでもない場合には、mが「0」であるか否かを判断
する(ステップSd4)。そして、mが「0」であれ
ば、コマンドnを終了通知要求コマンドENRとしてR
AM3の所定の領域に登録する。また、mが「0」でな
ければ、mが「1」であるか否かを判断し(ステップS
d6)、mが「1」であれば、コマンドnの終了通知要
求コマンドENRとしての登録を取り消す。また、mが
「0」でも「1」でもなければ、当該設定要求を無効と
して当該処理を終了する。
すなわち、nが0(H)〜1F(H)の範囲で、かつ、
ENQコマンド(05H)またはESC(1BH)のい
ずれでもない場合には、mが「0」であるか否かを判断
する(ステップSd4)。そして、mが「0」であれ
ば、コマンドnを終了通知要求コマンドENRとしてR
AM3の所定の領域に登録する。また、mが「0」でな
ければ、mが「1」であるか否かを判断し(ステップS
d6)、mが「1」であれば、コマンドnの終了通知要
求コマンドENRとしての登録を取り消す。また、mが
「0」でも「1」でもなければ、当該設定要求を無効と
して当該処理を終了する。
【0047】なお、上述した実施形態では、終了通知要
求コマンドENRは、印刷データの最後部に付加されて
いたが、これに限らず、印刷データを送信する前に送信
しても、あるいは印刷データの先頭部に付加して送信し
てもよい。また、印刷データは、一ページ単位でも、1
行単位でもよく、所定のブロック単位であればよい。さ
らに、設定する終了通知要求コマンドは、<SUB>+
A、<SUB>+A+1などの複数バイト長であっても
よい。
求コマンドENRは、印刷データの最後部に付加されて
いたが、これに限らず、印刷データを送信する前に送信
しても、あるいは印刷データの先頭部に付加して送信し
てもよい。また、印刷データは、一ページ単位でも、1
行単位でもよく、所定のブロック単位であればよい。さ
らに、設定する終了通知要求コマンドは、<SUB>+
A、<SUB>+A+1などの複数バイト長であっても
よい。
【0048】また、上述した実施形態では、ホストコン
ピュータからのENQコマンドに対して、印字終了情報
ビットを含むステータス情報を送信していたが、これに
限らず、印字終了情報ビットが「1(印字終了)」とな
った時点で、プリンタからホストコンピュータへ送信す
るようにしてもよい。
ピュータからのENQコマンドに対して、印字終了情報
ビットを含むステータス情報を送信していたが、これに
限らず、印字終了情報ビットが「1(印字終了)」とな
った時点で、プリンタからホストコンピュータへ送信す
るようにしてもよい。
【0049】また、上述した実施形態では、プリンタに
おいて、印字の正常終了後、印字モータが停止したこと
で、印字終了を通知していたが、これに限らず、他の動
作開始または終了により印字終了を認識するようにして
もよい。例えば、長尺用紙を1ページ単位でカッターに
より切断して排出するプリンタであれば、印字の正常終
了後、カッターを動作させた後に印字された用紙を排出
するので、カッター動作により印字が終了したものとし
てホストコンピュータに通知するようにしてもよい。
おいて、印字の正常終了後、印字モータが停止したこと
で、印字終了を通知していたが、これに限らず、他の動
作開始または終了により印字終了を認識するようにして
もよい。例えば、長尺用紙を1ページ単位でカッターに
より切断して排出するプリンタであれば、印字の正常終
了後、カッターを動作させた後に印字された用紙を排出
するので、カッター動作により印字が終了したものとし
てホストコンピュータに通知するようにしてもよい。
【0050】
【発明の効果】以上説明したように、本発明によれば、
外部装置から送信されてくる印刷データを記憶手段に格
納し、記憶手段に格納された印刷データを印字手段によ
って所定単位で順次印字し、このとき、記憶手段に格納
された印刷データに所定のコマンドが含まれている場合
には、該所定のコマンドまでの印刷データに対する印字
手段による印字動作が終了するまで待機し、印字手段に
よる印字動作が終了すると、通知手段によって、外部装
置に印字動作終了を通知するようにしたので、外部装置
の印刷データ送信処理速度や、外部装置−プリンタ間の
通信速度、プリンタの処理速度/印字速度などの不特定
要因に影響されることなく、所定のコマンドまでの印刷
データが確実に印字終了した時点で、印字終了を通知す
ることができるという利点が得られる。
外部装置から送信されてくる印刷データを記憶手段に格
納し、記憶手段に格納された印刷データを印字手段によ
って所定単位で順次印字し、このとき、記憶手段に格納
された印刷データに所定のコマンドが含まれている場合
には、該所定のコマンドまでの印刷データに対する印字
手段による印字動作が終了するまで待機し、印字手段に
よる印字動作が終了すると、通知手段によって、外部装
置に印字動作終了を通知するようにしたので、外部装置
の印刷データ送信処理速度や、外部装置−プリンタ間の
通信速度、プリンタの処理速度/印字速度などの不特定
要因に影響されることなく、所定のコマンドまでの印刷
データが確実に印字終了した時点で、印字終了を通知す
ることができるという利点が得られる。
【図1】 本発明の一実施形態によるプリンタの構成を
示すブロック図である。
示すブロック図である。
【図2】 本実施形態によるプリンタにおける印字動作
を説明するためのフローチャートである。
を説明するためのフローチャートである。
【図3】 本実施形態によるプリンタにおける印字動作
を説明するためのフローチャートである。
を説明するためのフローチャートである。
【図4】 データ受信割込み処理を説明するためのフロ
ーチャートである。
ーチャートである。
【図5】 エラー発生時に実行されるエラー処理を説明
するためのフローチャートである。
するためのフローチャートである。
【図6】 本実施形態によるプリンタのステータス情報
の構成を示す概念図である。
の構成を示す概念図である。
【図7】 本実施形態によるプリンタの具体的な動作例
を説明するためのシーケンス図である。
を説明するためのシーケンス図である。
【図8】 終了通知要求コマンドENRの設定処理を説
明するためのフローチャートである。
明するためのフローチャートである。
【図9】 アスキーコード表を示す表図である。
【図10】 従来のプリンタにおける印字動作を説明す
るためのフローチャートである。
るためのフローチャートである。
【図11】 従来のプリンタにおける印字動作を説明す
るためのフローチャートである。
るためのフローチャートである。
【図12】 従来のプリンタにおけるデータ受信割込み
処理を説明するためのフローチャートである。
処理を説明するためのフローチャートである。
1…CPU(通知手段、登録手段、印字動作終了認識手
段、データ判別手段、コマンド判別手段、印字動作終了
検出手段) 2…プログラムROM 3…RAM(記憶手段) 4…データバス 5…インターフェース受信部 7…インターフェース制御I/O 6…インターフェース送信部(通知手段) 8…キャリッジモータ(印字手段) 9…紙送りモータ(印字手段) 10…オートカッター(印字手段) 11…メカニズム制御I/O 12…ディップスイッチ 13…操作パネル 14…ブザー 15…I/O
段、データ判別手段、コマンド判別手段、印字動作終了
検出手段) 2…プログラムROM 3…RAM(記憶手段) 4…データバス 5…インターフェース受信部 7…インターフェース制御I/O 6…インターフェース送信部(通知手段) 8…キャリッジモータ(印字手段) 9…紙送りモータ(印字手段) 10…オートカッター(印字手段) 11…メカニズム制御I/O 12…ディップスイッチ 13…操作パネル 14…ブザー 15…I/O
Claims (9)
- 【請求項1】 外部装置から送信されてくる印刷データ
を印字するプリンタにおいて、 前記外部装置から送信されてくる印刷データを格納する
記憶手段と、 前記記憶手段に格納された印刷データを所定単位で順次
印字する印字手段と、 前記記憶手段に格納された印刷データに所定のコマンド
が含まれている場合には、該所定のコマンドまでの印刷
データに対する前記印字手段による印字動作が終了する
まで待機し、前記印字手段による印字動作が終了する
と、前記外部装置に印字動作終了を通知する通知手段と
を具備することを特徴とするプリンタ。 - 【請求項2】 前記外部装置が、指定するコードデータ
を前記所定のコマンドとして登録する登録手段を具備す
ることを特徴とする請求項1に記載のプリンタ。 - 【請求項3】 前記印字手段における所定の動作開始ま
たは動作終了のいずれか一方、または双方を契機に前記
印字手段における印字動作終了を認識する印字動作終了
認識手段を具備することを特徴とする請求項1に記載の
プリンタ。 - 【請求項4】 前記通知手段は、前記外部装置からの通
知要求を受信した時点、または、前記印字手段による印
字動作が終了した時点のいずれか一方、または双方で、
前記印字手段による印字動作終了を通知することを特徴
とする請求項1に記載のプリンタ。 - 【請求項5】 外部装置から送信されてくるデータを印
字するプリンタにおいて、 前記外部装置から送信されてくるデータを格納する記憶
手段と、 前記記憶手段に格納されたデータを所定単位で順次読み
出し、読み出したデータが印字データであるか、コマン
ドであるかを判別するデータ判別手段と、 前記データ判別手段により印字データであると判別され
た場合には、該印字データを印字する印字手段と、 前記データ判別手段によりコマンドであると判別された
場合には、該コマンドが終了通知要求コマンドであるか
判別するコマンド判別手段と、 前記コマンド判別手段により終了通知要求コマンドであ
ることが判別されると、該終了通知要求コマンドまでの
印字データに対する前記印字手段による印字動作終了を
検出する印字動作終了検出手段と、 前記印字動作終了検出手段により印字動作が終了したこ
とが検出されると、前記外部装置に印字動作終了を通知
する通知手段とを具備することを特徴とするプリンタ。 - 【請求項6】 前記印字動作終了検出手段は、印字手段
における所定の動作開始または動作終了のいずれか一
方、または双方を検出することにより、前記印字手段に
おける印字動作が終了したとすることを特徴とする請求
項5に記載のプリンタ。 - 【請求項7】 印刷データを送信する外部装置と、前記
印刷データを印字するプリンタとからなる印刷システム
において、 前記外部装置は、印刷データとともに所定のコマンドを
送信する送信手段と、 前記プリンタからの印字動作終了を受信すると、前記所
定のコマンドまでの印刷データの印字が終了したことを
認識する認識手段とを備え、 前記プリンタは、 前記外部装置から送信されてくる印刷データを格納する
記憶手段と、 前記記憶手段に格納された印刷データを順次印字する印
字手段と、 前記記憶手段に格納されたデータが所定のコマンドであ
る場合には、該所定のコマンドまでの印字データに対す
る前記印字手段による印字動作が終了するまで待機し、
前記印字手段による印字動作が終了すると、前記外部装
置に印字動作終了を通知する通知手段とを具備すること
を特徴とする印刷システム。 - 【請求項8】 前記外部装置は、前記所定のコマンドと
して所定のコードデータを指定し、前記プリンタに対し
て登録要求し、 前記プリンタは、前記外部装置からの登録要求に従っ
て、前記コードデータを前記所定のコマンドとして登録
することを特徴とする請求項7に記載の印刷システム。 - 【請求項9】 前記外部装置は、印刷データの所定箇所
に前記所定のコマンドを付加して前記プリンタに送信す
ることを特徴とする請求項7または8に記載の印刷シス
テム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11007286A JP2000203124A (ja) | 1999-01-14 | 1999-01-14 | プリンタおよび印刷システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11007286A JP2000203124A (ja) | 1999-01-14 | 1999-01-14 | プリンタおよび印刷システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000203124A true JP2000203124A (ja) | 2000-07-25 |
Family
ID=11661804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11007286A Pending JP2000203124A (ja) | 1999-01-14 | 1999-01-14 | プリンタおよび印刷システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2000203124A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009056614A (ja) * | 2007-08-30 | 2009-03-19 | Seiko Epson Corp | プリントシステムおよびプログラム |
JP2010191994A (ja) * | 2010-05-07 | 2010-09-02 | Canon Inc | ジョブ状態監視システム、ジョブ状態監視方法、プログラム及び記憶媒体 |
JP2012108718A (ja) * | 2010-11-17 | 2012-06-07 | Seiko Epson Corp | 制御装置、制御装置の制御方法、プログラム、記録装置、及び、記録システム |
JP2012136023A (ja) * | 2012-01-11 | 2012-07-19 | Seiko Epson Corp | プリンタおよびプログラム |
US8891118B2 (en) | 2011-03-22 | 2014-11-18 | Seiko Epson Corporation | Printing system, printing device, and print control method |
-
1999
- 1999-01-14 JP JP11007286A patent/JP2000203124A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009056614A (ja) * | 2007-08-30 | 2009-03-19 | Seiko Epson Corp | プリントシステムおよびプログラム |
JP2010191994A (ja) * | 2010-05-07 | 2010-09-02 | Canon Inc | ジョブ状態監視システム、ジョブ状態監視方法、プログラム及び記憶媒体 |
JP2012108718A (ja) * | 2010-11-17 | 2012-06-07 | Seiko Epson Corp | 制御装置、制御装置の制御方法、プログラム、記録装置、及び、記録システム |
CN102529454A (zh) * | 2010-11-17 | 2012-07-04 | 精工爱普生株式会社 | 记录装置以及记录装置的控制方法 |
US8724148B2 (en) | 2010-11-17 | 2014-05-13 | Seiko Epson Corporation | Recording device that can connect to a control device, control method for a recording device that can connect to a control device, and storage medium that stores a program for controlling parts of a recording device that can connect to a control device |
US8891118B2 (en) | 2011-03-22 | 2014-11-18 | Seiko Epson Corporation | Printing system, printing device, and print control method |
JP2012136023A (ja) * | 2012-01-11 | 2012-07-19 | Seiko Epson Corp | プリンタおよびプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3535837B2 (ja) | 印刷装置及び印刷システム及び制御方法及び記憶媒体及びプログラム | |
EP0834828A2 (en) | Hybrid printer equipped with a plurality of printing mechanisms and method of controlling it | |
JPH09258931A (ja) | 印刷制御装置 | |
JP2000203124A (ja) | プリンタおよび印刷システム | |
JPH06286229A (ja) | 印刷装置 | |
JP4174169B2 (ja) | 印刷制御装置及び印刷制御方法 | |
JPH09107426A (ja) | 印刷制御装置並びに印刷装置および印刷制御装置の印刷ジョブ処理方法 | |
JP3852728B2 (ja) | 印刷装置および情報処理装置 | |
JP2002036640A (ja) | ラベルプリンタ | |
JP2002244821A (ja) | プリントサーバを利用した印刷方法、プリントサーバ、プログラム、及び、記録媒体 | |
JPH11134120A (ja) | 印刷システム | |
JPH0798638A (ja) | 画像形成装置 | |
JP2905660B2 (ja) | 情報処理装置のデータ登録及び印刷方法 | |
JP3073921B2 (ja) | 印刷制御装置および印刷制御装置のデータ処理方法 | |
JP3004440B2 (ja) | 印刷方法及びその装置 | |
JP2004062875A (ja) | 印刷システム、印刷装置、及び印刷制御方法 | |
JPH10114127A (ja) | プリンタ | |
JPH10244713A (ja) | プリンタ装置 | |
JPH11321036A (ja) | 画像処理装置およびその制御方法 | |
JP3342282B2 (ja) | プリンタ制御装置及びデータ出力方法 | |
JP2003140868A (ja) | ラベルプリンタにおけるインターフェース装置 | |
JP2000289297A (ja) | プリンタ及び印刷システム | |
JPH06187104A (ja) | 印刷装置 | |
JPH08324039A (ja) | 印刷装置、印刷制御装置、印刷方法および印刷制御方法 | |
JPH01249474A (ja) | 印字出力装置制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050715 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20051110 |