FINS-UDPとFINS-TCPの比較
| 項目 | FINS-UDP | FINS-TCP |
|---|---|---|
| 接続 | 不要 | 必要 |
| 速度 | 高速 | やや遅い |
| 信頼性 | 普通 | 高い |
| コネクション数 | 制限なし | 最大16 |
FINS-UDPとFINS-TCPはどちらを選ぶべきか
工場内LANの場合
同一LAN内でPLCと通信する場合はFINS/UDPが一般的です。 高速で設定も簡単です。
VPNやインターネット経由の場合
信頼性を重視する場合はFINS/TCPが適しています。
比較
FINS-UDP
FINS-TCP
-
特徴
コネクションレスの通信プロトコルなので PCからPLCへデータを送信するとき相手のPLCが居る居ないに関わらず一方的にデータを送ります
・ コネクションレスのためコネクション数に制限がない
・ 一斉同報が使用できる
・ 多階層のIPネットワーク(例:インターネット)を経由する場合は通信の信頼性が落ちる
・ 接続の手続きが無いため手続きに掛かる時間を短縮できる(高速) -
特徴
コネクション型の通信プロトコルなので PCからPLCへメッセージを送る前にコネクションの開設要求して確立します
・ コネクション数に制限がある
・ 一斉同報が使用できない
・ 多階層のIPネットワーク(例:インターネット)を経由する場合でも通信の信頼性が高い
・ 接続の手続きがあるためUDP/IPより処理時間が掛かる
・ サーバ側の設定で接続できるクライアントを制限できる
-
- フレーム構造
Ethernet2 IP UDP FINS FCS
-
- フレーム構造
Ethernet2 IP TCP FINS/TCP
ヘッダFINS FCS
-
UDPポート番号
PLCのポート番号はデフォルト:9600(変更可)
PCのポート番号に指定はありませんが、PLCと同じ9600にすると分かりやすい
-
TCPポート番号
← UDPと同様
-
コネクションレス
-
TCPのコネクション
PLCのFINS/TCPコネクションは
最大16個(同時)
-
通信手順
前処理不要で直接FINSフレームを送信
-
通信手順
1. TCPのコネクションを確立
2. FINSノードアドレス情報を交換
PCからノードアドレス=0で送信して空いているFINSノードアドレスを受信(自動割付FINSノードアドレス)
3. 取得したFINSノードアドレスを使ってFINSフレームを送信
-
自動割付FINSアドレス
FINSノードアドレス情報送信コマンドを使ってノードアドレスを取得します
送信コマンドHeader "FINS" Length 0x0000000c Command 0x00000000 ErrorCode 0x00000000 ClientNodeAddress 0x00000000
受信コマンドHeader "FINS" Length 0x00000010 Command 0x00000001 ErrorCode 0x00000000 ClientNodeAddress 0x00000001-0x000000fe ServerNodeAddress 0x00000001-0x000000fe
-
FINS/TCPヘッダ
FINS/TCPではFINSフレームの前にFINS/TCPヘッダを付加します
Header "FINS" Length 0x00000014-0x000007e4 Command 0x00000002 ErrorCode 0x00000000 FINSフレーム LengthはCommandからFINSフレームの最後までのバイト数
フレームの例
| FINSヘッダ | FINSコマンド | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ICF | RSV | GCT | DNA | DA1 | DA2 | SNA | SA1 | SA2 | SID | MRC | SRC | TEXT | |
| (例) | 80 | 00 | 02 | 00 | 01 | 00 | 00 | 0A | 00 | 01 | 05 | 01 | - |
| FINS/TCPヘッダ | FINSヘッダ | ||||||
|---|---|---|---|---|---|---|---|
| Header | Length | Command | ErrorCode | ICF | RSV | GCT | |
| (例) | "FINS" | 00000014 | 00000002 | 00000000 | 80 | 00 | 02 |
| FINSヘッダ (続き) | FINSコマンド | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| DNA | DA1 | DA2 | SNA | SA1 | SA2 | SID | MRC | SRC | TEXT | |
| 00 | 01 | 00 | 00 | 0A | 00 | 01 | 05 | 01 | - | |
関連ページ
よくある質問
FINS-UDPとFINS-TCPはどちらを選ぶべきですか?
同一LAN内でPLCと通信する場合は高速で設定が容易なFINS/UDPが一般的です。VPNやインターネット経由など通信の信頼性を重視する場合はFINS/TCPが適しています。
FINS-UDPの特徴は何ですか?
FINS-UDPはコネクションレス通信であり、接続手続きが不要なため高速です。一斉同報通信が可能で、コネクション数の制限もありません。
FINS-TCPの特徴は何ですか?
FINS-TCPはコネクション型通信であり、接続確立後に通信を行います。通信の信頼性が高く、FINSノードアドレスの自動割付機能を利用できます。
