【名 称】 ステータスの問い合わせ
【コード】 ASCII ESC ACK SOH
16進数 1B 06 01
10進数 27 6 1
【定義域】 ---
【初期値】 ---
【機 能】 本コマンドは双方向データ通信が可能なインタフェースにおいてのみ有効である。
本コマンドを受信すると、プリンタはステータスをリアルタイムでホストに送信する(受信バッファから取り出したとき ではなく、ホストから受信した時点で即実行する)。
双方向パラレルインタフェース時は、“データ有り”状態となる。
ステータスの内容については付録 自動ステータスを参照。
シリアルインタフェースのDTRモードの場合、およびパラレルインタフェースの場合は、エラーなどによるオフライン 中もステータスを問い合わせできるように設定しておくこと。
本コマンドを自動ステータス有効時使用しないこと。
なお、プリンタに対して本コマンドを1回送信したら、自動ステータスを最後まで受信するまで、次のESC ACK SOH コマンドを送らないこと。
―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
STARコマンド仕様書 3-57
ESC RS a n
【名 称】 自動ステータス送信条件の設定
【コード】 ASCII ESC RS a n
16進数 1B 1E 61 n
10進数 27 30 97 n
【定義域】 仕様①②
0≦n≦3、48≦n≦53 (”0”≦n≦”3”)
仕様③
0≦n≦3、48≦n≦51 (”0”≦n≦”3”)
【初期値】 DIPSW又はメモリスイッチ設定
【機 能】 本コマンドにより、下表の自動ステータス送信条件を設定する。自動ステータスは付録2参照。
本コマンド設定は ESC @(コマンドイニシャリゼーション)にて影響を受けない。
DIPSW/メモリSW設定については、各プリンタの製品仕様書を参照のこと。
尚、無線LAN I/F使用時、本コマンドは無視される。
仕様①
n ステータス送信条件設定
0, 48 ASB無効
1, 49 ASB有効
仕様②
n ステータス送信条件設定
0, 48 ASB無効
1, 49 ASB有効
仕様③
n ステータス送信条件設定
0, 48 ASB無効 ・ NSB無効
1, 49 ASB有効 ・ NSB無効
2, 50 ASB無効 ・ NSB有効
3, 51 ASB有効 ・ NSB有効
―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
STARコマンド仕様書 3-58
ETB
【名 称】 ETBステータスの更新 (印字終了の確認)
【コード】 ASCII ETB
16進数 17
10進数 23
【定義域】 ---
【初期値】 仕様① ---
仕様② ETBカウンタ = 0
【機 能】 本コマンドは双方向データ通信が可能なインタフェースにおいてのみ有効である。
仕様 ①
本コマンドにより、全ての印字が終了する(印字モーターが停止する)までウェイトし、印字終了後、自動ステータス プリンタステータス1-1(ETBコマンド)を”1”(ETB実行済み)にする。
本コマンド実行時、ラインバッファ内に印字データが残っていた場合は、残りデータを印字してから本コマンドが実 行される。ホストは、このビットが”1”になったことを確認することで、送信データの印字終了を知ることができる。
このETBステータスビットはホストへ返信したときに”0”にクリアされる。
本コマンドにおけるプリンタ内部の処理詳細を下記に示す。
(1)ETBコマンド、受信バッファから読み出し
(2)ETBコマンド前の印字データの印字終了待ち
(3)印字終了を確認後、自動ステータスのETBステータスをセット
(4)自動ステータス送信(自動ステータス有効時のみ)
自動ステータスについては付録を参照のこと。
仕様 ②
本コマンドにより、全ての印字が終了する(印字モーターが停止する)までウェイトし、印字終了後、自動ステータス
1-1(ETBコマンド)を”1”(ETB実行済み)にするとともに、ETBカウンタを更新(インクリメント)する。
本コマンド実行時、ラインバッファ内に印字データが残っていた場合は、残りデータを印字してから本コマンドが実 行される。ホストは、このビットが”1”になったことを確認することで、送信データの印字終了を知ることができる。
このETBステータスビットはホストへ返信したときに”0”にクリアされる。
また、1データブロック終端にETBを付加して複数ブロックを一括送信し、順次ETBカウンタを取得することにより、
複数ブロックの印字終了の確認を行うことができる。
尚、ETBカウンタのゼロクリアは、ESC RS Eコマンドにて行う。
本コマンドにおけるプリンタ内部の処理詳細を下記に示す。
(1)ETBコマンド、受信バッファから読み出し
(2)ETBコマンド前の印字データの印字終了待ち
(3)印字終了を確認後、自動ステータスのETBステータスをセットし、ETBカウンタをインクリメントする。
(4)自動ステータス送信(自動ステータス有効時のみ)
自動ステータスについては付録を参照のこと。
■Ethernet使用時における注意点
マルチセション有効時、<ETB>により送信されるASB(ETBカウンタ)は接続中の全てのホストに対して送信される。
このため、複数セッションからETBを送信するような使い方をしたの場合、ETBカウンタの誤認の原因となる。
このため、印字終了カウンタの確認は、<ESC><GS><ETX>コマンドを推奨する。
→機種別コマンド対応一覧を参照。
―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
STARコマンド仕様書 3-59
ESC RS E n
【名 称】 ASBのETBカウンタとETBステータスの初期化
【コード】 ASCII ESC RS E n
16進数 1B 1E 45 n
10進数 27 30 69 n
【定義域】 n = 0 n = 48 ( “0”)
【初期値】 ---
【機 能】 ASBのETBカウンタをゼロクリアし、自動ステータス1-1のETBステータスをクリアする。
―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
STARコマンド仕様書 3-60
ESC GS ETX s n1 n2
【名 称】 印字終了カウンタの送信と初期化
【コード】 ASCII ESC GS ETX s n1 n2
16進数 1B 1D 03 s n1 n2
10進数 27 30 3 s n1 n2
【定義域】 仕様① 0≦s≦2 仕様② 0≦s≦4 0≦n1≦255, 0≦n2≦255
【機 能】 本コマンドは受信バッファから読み出したときに実行され、sパラメータに従って、印字終了カウンタに関する処理を 行う。
s 名称 機能
0 印字終了カウンタ参照 現在の印字終了カウンタをホストへ送信する。
(印字終了は待たない。カウントアップもしない。)
1 印字終了カウンタ更新
次の動作を実行する。
①ラインバッファ内のデータがあれば吐き出し印字実行
②印字終了(モータ停止)まで待つ
③印字終了カウンタを更新(+1)
④印字終了カウンタをホストへ送信
2 印字終了カウンタクリア 印字終了カウンタを初期値に戻す(ゼロクリア)。
(印字終了は待たない。印字終了カウンタはホストへ返信しない。)
3 ドキュメント開始 n1, n2 = 0
①データ吸い込みモード設定
②初期化処理
4 ドキュメント終了 n1, n2 = 0
①ラインバッファ内のデータがあれば吐き出し印字実行
②印字終了(モータ停止)まで待つ
③データ吸い込みモード解除
s=0またはs=1指定時にホストへ返信するデータフォーマットは次の通り。
<返信データフォーマット>
【コード】 ASCII ESC GS ETX s n1 n2 [印字終了カウンタ] NUL
16進数 1B 1D 03 s n1 n2 [印字終了カウンタ] 00
10進数 27 30 3 s n1 n2 [印字終了カウンタ] 0
※ESC GS ETX s n1 n2まではホストからの指定内容をそのままエコーバックし、続いて印字終了カウンタ値と NULを送る。
[印字終了カウンタ] は1バイト長で、初期値は0x00。
s=1の場合には、本コマンドを処理するごとに+1する。0xFFの次は0x00に戻る。
[印字終了カウンタ] は、n1,n2値とは無関係にプリンタ内に1つ存在している。
(n1n2値に対応したカウンタがあるわけではない。)
(参考情報)ETBコマンドと本コマンドの相違点
項目 ESC GS ETX s n1 n2 ETB
ASB (ETBステータス)への影響 なし あり
ASB発生 なし あり
ASB有効/無効設定の影響 なし あり
ESC RS E nコマンドの影響 なし あり
Ethernetにおけるステータス送信先
(マルチセッション有効時)
接続中の当該印刷セッション(ホ スト)にのみ送信する
ASB を接続中の全セッション(ホ スト)へ配信する
※本印字終了カウンタとETBコマンドにより送信されるETBカウンタは別であり、お互いに影響を及ぼさない。
―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
STARコマンド仕様書 3-61
下記に、本コマンドの通信例を示す。
通信例1
ホスト送信データ プリンタ返信データ
ESC GS ETX 0x00 0x00 0x00 →
← ESC GS ETX 0x00 0x00 0x00 0x00 0x00 (カウンタ参照)
印刷データ+ESC GS ETX 0x01 0x00 0x00 →
← ESC GS ETX 0x01 0x00 0x00 0x01 0x00 (カウンタ更新)
印刷データ+ESC GS ETX 0x01 0x00 0x00 →
← ESC GS ETX 0x01 0x00 0x00 0x02 0x00 (カウンタ更新)
通信例2
ホスト送信データ プリンタ返信データ
ESC GS ETX 0x02 0x02 0x00
ESC GS ETX 0x00 0x02 0x00 →
← ESC GS ETX 0x00 0x02 0x00 0x00 0x00
(カウンタクリア)
(カウンタ参照)
印刷データ+ESC GS ETX 0x01 0x02 0x11 →
← ESC GS ETX 0x01 0x02 0x11 0x01 0x00 (カウンタ更新)
印刷データ+ESC GS ETX 0x01 0x02 0x12 →
← ESC GS ETX 0x01 0x02 0x12 0x02 0x00 (カウンタ更新)
印刷データ+ESC GS ETX 0x01 0x02 0x13 →
← ESC GS ETX 0x01 0x02 0x13 0x03 0x00 (カウンタ更新)
印刷データ+ESC GS ETX 0x01 0x02 0x14 →
← ESC GS ETX 0x01 0x02 0x14 0x04 0x00 (カウンタ更新)
<n1, n2の活用例>
・Ethernetの場合: n1=ホストID、n2=ドキュメント番号として指定し、返信される印字終了カウンタ取得とともに、
ホストID、ドキュメントIDについて送信元の情報と返信された情報との整合性の確認をする。
・Etheenet以外の場合: n1+ n2*256をドキュメントIDとして指定し、同様にドキュメントIDの整合性の確認をする。
・送信元と返信元の整合性の確認をしない場合:常にn1=0, n2=0固定とする。
―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
STARコマンド仕様書 3-62
ドキュメント開始コマンド受信後エラーになった場合、エラーからの復帰時にドキュメント終了コマンドまで受信データを受け捨て する。ドキュメント終了コマンドを認識できない場合は、受信データを全て破棄する。タイムアウトを10秒とし、データ吸い込み モードを自動解除する。
【制限事項】
1) スループット低下
s=3指定時の初期化処理は、ESC @ (コマンドイニシャリゼーション)と同じ各種コマンド初期化を行う。
PE PE
T
T
T
文書1
文書2
文書3
文書1
文書2
文書3
E
E
E
E
受け捨て 受け捨て
T
< T : TOPコマンド / E : ENDコマンド >