第 7 章 アプリケーションインタフェース
7.1 ソケット単位情報
7.1.1 シングル Ethernet ソケット単位情報の構成
各シングルEthernetソケット毎の状態情報を図 7-1に示します。
図7-1 シングルEthernetソケット毎状態情報
各ビットの“1”となる条件:
TCP :シングルEthernetソケットTCP使用 UDP :シングルEthernetソケットUDP使用
AOP :シングルEthernetソケットをアクティブオープン(TCPのみ)
POP :シングルEthernetソケットをパッシブオープン(TCPのみ)
CON:シングルEthernetコネクション確立中(TCPのみ)
RCV :受信データ有り
RCL :シングルEthernetコネクション確立時に相手から切断された(TCPのみ)
各ビットの“0”となる条件:
TCP :シングルEthernetソケットのクローズ要求時 UDP :シングルEthernetソケットのクローズ要求時 AOP :シングルEthernetソケットのクローズ要求時 POP :シングルEthernetソケットのクローズ要求時 CON:シングルEthernetソケットのクローズ要求時
もしくは相手からコネクションを切断された時 RCV :受信データ無し
RCL :シングルEthernetソケットのクローズ要求時
TCP UDPAOPPOP CON RCL reserve
F E D C B A 9 8 0 RCV
6E8C3850
69
7
シングルEthernetソケット単位情報を展開しているステーションバスアドレスを
ワードアドレスにて示します。
ステーションバスアドレスは、EN6モジュールを実装しているスロットによりベー スアドレスが変わります。次にEN6モジュールを各スロットに実装した場合の、シ ングルEthernetソケット単位情報の先頭のワードアドレスを示します。
ワードオフセット
ソケット0 130944
ソケット1 130945
ソケット2 130946
・・
ソケット46 130990
ソケット47 130991
ベースアドレス
(CntBase) シングルEthernet
ソケット単位情報の先頭 エンジニアリングツール上 のシンボル名
ソケット0 0 %MW13.130944 EN_SOCKET_0
ソケット1 524288 %MW13.655232 EN_SOCKET_1
ソケット2 1048576 %MW13.1179520 EN_SOCKET_2
ソケット3 1572864 %MW13.1703808 EN_SOCKET_3
ソケット4 2097152 %MW13.2228096 EN_SOCKET_4
ソケット5 2621440 %MW13.2752384 EN_SOCKET_5
ソケット6 3145728 %MW13.3276672 EN_SOCKET_6
ソケット7 3670016 %MW13.3800960 EN_SOCKET_7
7
7.1.2 二重化 Ethernet ソケット単位情報の構成
各二重化Ethernetソケット毎のの状態情報を図 7-2に示します。
図7-2 二重化Ethernetソケット毎状態情報
各ビットの“1”となる条件:
TCP :二重化EthernetソケットTCP使用 UDP :二重化EthernetソケットUDP使用
AOP :二重化Ethernetソケットをアクティブオープン(TCPのみ)
POP :二重化Ethernetソケットをパッシブオープン(TCPのみ)
CON:二重化Ethernetコネクション確立中(TCPのみ)
RCV :受信データ有り
RCL :コネクション確立時に相手から切断された(TCPのみ)
各ビットの“0”となる条件:
TCP :二重化Ethernetソケットのクローズ要求時 UDP :二重化Ethernetソケットのクローズ要求時 AOP :二重化Ethernetソケットのクローズ要求時 POP :二重化Ethernetソケットのクローズ要求時 CON:二重化Ethernetソケットのクローズ要求時
もしくは相手からコネクションを切断された時 RCV :受信データ無し
RCL :ソケットをクローズ要求時
TCP UDPAOPPOP CON RCL reserve
F E D C B A 9 8 0 RCV
6E8C3850
71
7
二重化Ethernetソケット単位情報を展開しているステーションバスアドレスをワー ドアドレスにて示します。
ステーションバスアドレスは、EN6モジュールを実装しているスロットによりベー スアドレスが変わります。次にEN6モジュールを各スロットに実装した場合の、二 重化Ethernetソケット単位情報の先頭をワードアドレスを示します。
7.1.3 ソケット単位情報の参照方法
「7.1.1シングルEthernetソケット単位情報の構成」に示した通り、EN6モジュールの ステーションバスには各ユーザアプリケーションが使用しているソケット毎の単位 情報が展開されています。この単位情報をアクセスする上で注意しなければならな い点があります。
Sモジュール/Lモジュールにて命令語を使用してソケット通信を行う場合、
USEND_T命令にて命令語からソケット番号が取得されます。このソケット番号は、
Sモジュール/Lモジュールにて管理しているソケット番号ですので、一度このソ ケット番号をEN6モジュールが管理しているソケットIDに変換します。変換したソ ケットIDを基にEN6モジュールがステーションバスに展開しているソケット毎単位 情報の参照を行います。
なお、通信FBの詳細説明につきましては、SおよびLコントローラの命令語説明書
(6E8C3787 第2版以降)を参照願います。
ワードオフセット
ソケット0 130784
ソケット1 130785
ソケット2 130786
・・
ソケット22 130806
ソケット23 130807
ベースアドレス 二重化Ethernet
ソケット単位情報の先頭 エンジニアリングツール上 のシンボル名
ソケット0 0 %MW13.130784 EN_SOCKET2_0
ソケット1 524288 %MW13.655072 EN_SOCKET2_1
ソケット2 1048576 %MW13.1179360 EN_SOCKET2_2
ソケット3 1572864 %MW13.1703648 EN_SOCKET2_3
ソケット4 2097152 %MW13.2227936 EN_SOCKET2_4
ソケット5 2621440 %MW13.2752224 EN_SOCKET2_5
ソケット6 3145728 %MW13.3276512 EN_SOCKET2_6
ソケット7 3670016 %MW13.3800800 EN_SOCKET2_7
7
7.1.4 ソケット単位情報生成タイミング
TCP/IPでオープンし、データ送受信後にクローズを行った場合の各ソケット単位情
報のセットおよびクリアのタイミング示します。
(注) コントローラをRUN →HALTにした場合、コントローラが使用しているソ ケットに対してコントローラ基本ソフトにてclose要求します。
ソケット単位情報
TCP オープン要求
(コマンド:35H、kind=1)
アクティブ(クライアント)
(注:サーバ側は先にオープン要求を行い、
クライアントからの接続要求に備えます)
パッシブ(サーバ)
TCP オープン要求
(コマンド:35H、kind=2)
socket (*1) <TCP>=1 bind liste n socke t
<TCP>=1 bind
connect
<AOP>=1,<CON>=1 accept (新しいソケットを生成) <TCP>=1,<POP>=1,<CON>=1
(注:*1 にて生成したソケットは 命令語にてcloseされます)
TCP 送信要求
(コマンド:37H)
(データ着信) <RCV>=1
TCP 受信要求
(コマンド:38H)
re cv <RCV>=0
(注:RCV は着信データが有る場 合に ON、無い場合に OFF)
TCP クローズ要求
(コマンド:39H)
shutdown
close 全ビット=0
(リモートクローズ検出) <RCL>=1,<CON>=0
TCP クローズ要求
(コマンド:39H)
shutdown
close 全ビット=0 se le ct
6E8C3850
73
7
ソケット単位情報の各ビット情報のセットおよびクリアのタイミングを以下に示し ます。
ソケット単位情報
アクティブ パッシブ
<TCP>
<AOP>
<POP>
<CON>
<RCV>
<RCL>
<TCP>
<AOP>
<POP>
<CON>
<RCV>
<RCL>
オープン 要求
オープン 要求 accept
connect
送信 要求
受信 要求
クローズ 要求
クローズ 要求