• 検索結果がありません。

TCPࡐ࡯࠻9100

ドキュメント内 UB-E03 詳細取扱説明書 (ページ 41-45)

TM ࡊ࡝ࡦ࠲࡯

PORT 9100 による直接印刷

Windows コ ンソ ール版

下記のプログラムは、Windows のコマンドシェルから UB-E03 を装着した TM プリンターに、イーサーネットを 介して "EPSON UB-E03" を印刷するプログラムです。

/* TCP9100 programming sample for win32 * HOW TO BUILD

* cl wtcp.cpp wsock32.lib */#include <stdio.h>

#include <winsock.h>

int main(int argc, char* argv[]) { WSADATA data;

SOCKET sock;

struct linger Linger;

struct sockaddr_in addr;

if (argc != 2) {

printf("usage: wtcp <IP_ADDRESS>\n");

exit(1);

}

/* Initialize windows socket */

WSAStartup(0x0101, &data);

/* Create socket */

if ((sock = socket(AF_INET, SOCK_STREAM, 0)) == INVALID_SOCKET) { fprintf(stderr, "Error socket(): %d\n", WSAGetLastError());

exit(1);

}

/* Set connection timeout */

Linger.l_onoff = 1;

Linger.1_linger = 60;

setsockopt(sock, SOL_SOCKET, SO_LINGER,(char*)&Linger,sizeof(struct linger));

/* initialize the parameter */

memset(&addr, 0, sizeof(addr));

addr.sin_family = AF_INET;

addr.sin_port = htons(9100);

addr.sin_addr.s_addr = inet_addr(argv[1]);

/* connect */

if (connect(sock, (struct sockaddr*)&addr, sizeof(addr)) < 0) { fprintf(stderr, "Error connect(): %d\n", WSAGetLastError());

exit(1);

} printf("connected\n");

3

Linux 版

下記のプログラムは、Linux のコマンドシェルから UB-E03 を装着した TM プリンターに、イーサーネットを介して

"EPSON UB-E03" を印刷するプログラムです。

/* TCP9100 programming sample for LINUX * HOW TO BUILD

* cc ltcp.c */

#include <stdio.h>

#include <netdb.h>

int main(int argc, char* argv[]) {

int sock;

struct sockaddr_in addr;

if (argc != 2) {

printf("usage: ltcp <ip address>\n");

exit(1);

}

/* create socket */

sock = socket(AF_INET, SOCK_STREAM, 0);

if (sock < 0){

perror("socket()");

exit(1);

}

/* initialize the parameter */

memset(&addr, 0, sizeof(addr));

addr.sin_family = AF_INET;

addr.sin_port = htons(9100);

addr.sin_addr.s_addr = inet_addr(argv[1]);

/* connect */

if (connect(sock, (struct sockaddr*)&addr, sizeof(addr)) < 0){

perror("connect()");

} printf("connected\n");

/* send data */

send(sock, "EPSON\n", 6, 0);

/* close socket */

close(sock);

return 0;

}

電源オン時に TM プ リ ンターに送信されるコマン ド

UB-E03 は、電源オン時、プリンターに対して下記の ESC/POS コマンドを送信し、ステータスを保持します。

UB-E03 は、GS I コマンドにより、EPSON TMNet WinConfig でプリンターの機種情報を取得し、GS a 255 コマンドにより、EPSON TMNet WebConfig によるプリンターの状態監視を実現しています。

電源オン時にプリンターがオフライン状態の場合は、下記コマンドは送られません。

ASB ステータスの監視

UB-E03 はプリンターの状態を監視するために、プリンターの ASB ステータス機能を使用しています。したがっ て、アプリケーションからの送信データに ASB ステータス機能を無効化するコマンドが含まれていた場合、UB-E03 からプリンターの状態を把握できなくなります。

UB-E03 に正しくプリンターの状態を監視させるためには、ASB ステータス機能を無効化するコマンドを送信しな いようにするか、ASB ステータス機能を有効化するコマンドを再度送るようにしてください。

印刷の権利

UB-E03 は、lpr/port9100 のプロトコルにかかわらず、最大 3 つまでの接続要求に対して接続を許可します。実 際に TM プリンターに対して印刷が可能なのは、印刷権利を得られた最初の接続です。他の接続要求は、最初の接続 がクローズ(ホストによる明示的なクローズ、またはタイムアウトによるクローズ)されるまで、データ送信がブ ロックされます。

タ イムアウ ト

UB-E03 は、lpr/port9100 のプロトコルにかかわらず、ホストから UB-E03 にデータが 5 分間送られてこない 場合、UB-E03 の側から接続をクローズします。

ESC/POS コ マ ン ド 解説

GS l 1 プリンター機種ID取得

GS l 2 プリンタータイプID取得

GS l 3 プリンターROMバージョンID取得

GS a FFh ASBステータスの有効化

接続 タ イ ム ア ウ ト は、 EPSON TMNet WebConfig で設定す る こ と が で き ま す。 初期値は 5 分 (300

4

ドキュメント内 UB-E03 詳細取扱説明書 (ページ 41-45)

関連したドキュメント