FINSコマンド

FINSコマンドとは

FINSコマンドはオムロン共通のネットワークメッセージサービスのコマンド体系です
FinsコマンドをEthernetまたはControllerLinkまたは上位リンクなどで接続しているオムロン製機器に送信することでコマンドに対するレスポンスを受信することができます
また、CPUユニット以外にも高機能ユニットにも送信出来ます
ネットワーク中継機能を使って3階層のネットワークを超えてアクセスすることが可能です

ここではPCからEthernet経由でのCPUユニットにFINSコマンドを送信する方法を説明します finscmd00

マニュアル
FINSマンドの説明は
通信コマンドリファレンスマニュアルを参照してください

FINS/UDPとFINS/TCPでの送信の仕方は
Ethernetユニットユーザーズマニュアル(アプリケーション構築編)の 「第7章FINS 通信上位アプリケーション作成」を参照してください

FINSフレーム

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

FINSレスポンスフレーム
FINSヘッダ FINSコマンド
ICF RSV GCT DNA DA1 DA2 SNA SA1 SA2 SID MRC SRC MRES SRES TEXT
(例) C0 00 02 00 0A 00 00 01 00 01

FINSヘッダで変更が必要な個所
ICF 送信時は0x80
RSV 0x00固定
GCT 0x02固定
相手先
FINS
アドレス
DNA 相手先ネットワークアドレス(自ネットワークの場合は0x00)
DA1 相手先ノードアドレス
DA2 相手先号機アドレス(CPU宛て=0x00)
発信元
FINS
アドレス
SNA 発信元ネットワークアドレス(自ネットワークの場合は0x00)
SA1 発信元ノードアドレス(01-FEで送信先と被らなければよさそう)
SA2 発信元号機アドレス(0x00固定)
SID 任意のサービスID (通常は通信毎にカウントアップした値を入れる)


FINSアドレス
FINSアドレスは3バイトで構成されていて次のような意味があります
1バイト目 2バイト目 3バイト目
ネットワークアドレス ノードアドレス 号機アドレス

FINSアドレスの詳細


FINSコマンド

代表的なコマンド
コマンド
MRC SRC
内容 オペランド
0101 メモリ読出 アドレス, 要素数
0102 メモリ書込 アドレス, 要素数, 書込みデータ
0103 一括書込 アドレス, 要素数, 書込みデータ
0104 複合読出 複数の読出しアドレス
0401 運転開始 モニタ または 運転
0402 運転停止
0501 CPUユニット情報
0601 CPUステータス読出し
0620 サイクルタイム イニシャライズ または 読出し
0701 時間情報読出
0702 時間情報書込
2101 異常解除 故障コード
2102 異常履歴 開始レコードNo, レコード数
2103 異常履歴クリア

メモリ種別とアドレスの指定方法


FINS/UDPとFINS/TCP

比較
  • FINS/UDP

  • FINS/TCP

  • ・ コネクションレスのためコネクション数に制限がない

    ・ 一斉同報が使用できる

    ・ TCPと比べて信頼性が落ちる
    多階層のIPネットワーク(例:インターネット)を経由する場合は通信の信頼性が落ちる

    ・ 高速
    接続の手続きが無いため手続きに掛かる時間を短縮できる

  • ・ コネクション数に制限がある

    ・ 一斉同報が使用できない

    ・ 信頼性が高い
    多階層のIPネットワーク(例:インターネット)を経由する場合でも通信の信頼性が高い

    ・ UDPに比べて速度が落ちる
    接続の手続きがあるためUDP/IPより処理時間が掛かる

    ・ 接続制限ができる
    サーバ側の設定で接続できるクライアントを制限できる

  • フレーム構造
    Ethernet2 IP UDP FINS FCS

  • フレーム構造
    Ethernet2 IP TCP FINS/TCP
    ヘッダ
    FINS FCS
詳細

FINS/UDPとFINS/TCPの比較