# TCPClient

TCPClient 関数は、スプレッドシートのセルを TCP/IP クライアントとして定義します。これにより、他の TCP/IP デバイスとの通信が開始され、ネットワークを介してデータを共有することができます。

注 :

- TCPClient 関数を追加するか、ジョブをスプレッドシートにロードするとすぐに TCP スプレッドシート関数と他の TCP/IP デバイスとの接続が開始されます。

- TCPClient 関数はパケットを受信すると、イベントを発生させます。このイベントによって、スプレッドシートが更新されます。

## TCPClient の入力

パラメータ | 説明
--- | ---
ホスト名 | 接続を確立する TCP デバイスの名前または IP アドレスを指定します。ホスト名を指定しない場合、TCPClient 関数は #ERR を返します。
ポート番号 | TCP/IP デバイスとの間で接続を確立するポート番号を指定します。ポート番号は、符号なし 16 ビットのポート番号です。0 は有効なポートではありません。デフォルトのポート番号は 3000 です。 注 : ここで入力したポート番号をサーバに割り当てる必要があります。
パケットタイプ | TCP/IP デバイスとの間で通信する文字列のデータフォーマットを定義します。
タイプ | 説明
--- | ---
0 = 文字列 CR+LF (デフォルト) | ASCII フォーマットです。TCP スプレッドシート関数から送信される際、ASCII 文字 13 (キャリッジリターン) と 10 (ラインフィード) がデータ文字列に付加されます。受信の際には、データ文字列は CR+LF で終了します。
1 = 文字列 + CR (13) | ASCII フォーマットです。TCP スプレッドシート関数から送信される際、ASCII 文字 13 (キャリッジリターン) がデータ文字列に付加されます。受信の際には、データ文字列は CR で終了します。
2 = 文字列 + LF (10) | ASCII フォーマットです。TCP スプレッドシート関数から送信される際、ASCII 文字 10 (ラインフィード) がデータ文字列に付加されます。受信の際には、データ文字列は LF で終了します。
3 = 文字列 + ヌル文字 (0) | ASCII フォーマットです。TCP スプレッドシート関数から送信される際、ASCII 文字 0 (ヌル文字) がデータ文字列に付加されます。受信の際には、データ文字列はヌル文字で終了します。 注 : 指定されたパケットタイプに関わらず、In-Sight ビジョンシステムでデータを受信する場合、データ文字列は ASCII 文字の 0 (ヌル文字) で終了します。
5 = カスタム終端記号付き文字列 | ASCII フォーマットです。TCP スプレッドシート関数から送信される際、指定した終端記号がデータ文字列に付加されます。受信の際には、データ文字列は終端記号で終了します。
タイムアウト | TCPClient で TCP/IP 接続の確立を試みてから中断するまでの待機時間をミリ秒単位 (1000 ～ 15000、デフォルト = 1000) で指定します。 接続されていない場合、WriteDeviceが再接続を試みます。タイムアウト時間内に失敗した場合は、#ERR が表示されます。接続されているが、TCPClient がタイムアウト時間内にパケットをネットワークソケットのキューに入れることができなかった場合は、WriteDeviceも #ERR を示します。TCPClient は #ERR を返しません。
終端記号 | [パケットタイプ] に [カスタム終端記号付き文字列] または [カスタム終端記号を持つバイナリ] を指定した場合に使用するバイト値を指定します。
最大パケットサイズ | TCPClient が受信できる最大パケットサイズを指定します。リモートの送信側が最大パケットサイズを超えた場合、ReadDeviceは #ERR を示します。

## TCPClient の出力

戻り値 | Device データ構造体。入力パラメータが無効である場合、#ERR が返されます。
結果 | TCPClient 関数がセルに入力されると、右側の隣接したセルに WriteDevice関数が自動的に挿入されます。

## 例

SYSTEM0 という名前の In-Sight ホストビジョンシステムが、次のパラメータ値を含む関連付けられたセルで設定されています。

A3=TCPClient(&quot;SYSTEM1&quot;,3000,0,1000,0,1024)

B3=WriteDevice($A$0,A3,C3)

SYSTEM1 という名前の 2 番目のホストには、TCP/IP サーバが含まれており、次のパラメータ値を含む関連付けられたセルで設定されています。

A4=TCPServer(3000,0,0,1024)

B4=ReadDevice(A4)

SYSTEM0 と SYSYEM1 のシステムは両方ともオンラインです。

SYSTEM0 のセル $A$0 のデフォルト画像が取り込まれるたびに、セル A3 の TCP/IP クライアントは、SYSTEM1 のセル A4 にある TCP/IP サーバとポート 3000 で接続を確立します。

SYSTEM0 のセル B3 の WriteDevice関数は、セル C3 のデータを SYSTEM1 のセル B4 の ReadDevice関数にエクスポートします。