1. TOP
  2. KEYENCE
  3. KVシリーズ
  4. ファンクションブロック
  5. OMRON FinsUDP通信

OMRONのPLCとFinsコマンドで接続する

ダウンロード

FinsUdp.kufb (ライブラリのみ)

概略

FinsUDP

OMRONのPLCのEthernetポートに対してメッセージ(Finsコマンド)通信を行いPLCの状態やメモリの読み書きをします。

FINSコマンドとは

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

マニュアル

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

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

Finsファンクションブロック

KV8000シリーズのソケット通信機能を使ってOMRONのPLCとUDP/IP接続するためのファンクションブロックを作成したので使い方を説明します

FB一覧

FinsRead メモリエリアの読出し
FinsWrite メモリエリアの書込み
FinsFill メモリエリアの一括書き込み
FinsRun 動作モード変更
FinsStop プログラムモードに変更
FinsUnitType CPUユニット情報の読出し
FinsSetClock 時間情報の書込み
FinsUdp FinsUdp通信

FB共通入出力

入力

EN BOOL 起動
UnitNo UINT ユニット番号
SocketNo UINT ソケット番号
SocketSetting UINT[8] U_SOPENの設定データ
FinsAddress sFinsAddress FINSアドレス

出力

ENO BOOL 起動
Busy BOOL 実行中
Done BOOL 正常終了
Error BOOL 異常終了
SocketStatus UINT[12] U_SSTATで読み出すソケット処理ステータス
EndCode UINT FINS終了コード

配列

SocketSetting
[0] 自ポート番号
[1] 送信先IPアドレス(1byte目)
[2] 送信先IPアドレス(2byte目)
[3] 送信先IPアドレス(3byte目)
[4] 送信先IPアドレス(4byte目)
[5] 送信先ポート番号
[6] 要求タイムアウト(ms)
[7] UDP送信フラグ

構造体

sFinsAddress
SrcNet UINT 送信元ネットワークアドレス
SrcNode UINT 送信元ノードアドレス
SrcUnit UINT 送信元号機アドレス
DstNet UINT 送信先ネットワークアドレス
DstNode UINT 送信先ノードアドレス
DstUnit UINT 送信先号機アドレス

FinsRead (メモリエリアの読出し)

コマンドコード : 0101
連続したI/O メモリエリアの内容を読み出します

FinsRead
入力
Address
読出し開始アドレス
Size
読出し要素数
出力
ResData
読出しデータ


FinsWrite (メモリエリアの書込み)

コマンドコード : 0102
連続したI/O メモリエリアにデータを書き込みます

FinsWrite
入力
Address
書込み開始アドレス
Size
書込み要素数
WriteData[]
書込みデータ(要素数分)


FinsFill (メモリエリアの一括書き込み)

コマンドコード : 0103
連続したI/O メモリエリアに同一のデータを書き込みます

FinsFill
入力
Address
書込み開始アドレス
Size
書込み要素数
FillData
書込みデータ


FinsRun (動作モード変更)

コマンドコード : 0401
CPUユニットの動作モードを「モニタ」または「運転」モードに変更します

FinsRun
入力
Mode
モード (2=モニタ, 4=運転)


FinsStop (プログラムモードに変更)

コマンドコード : 0402
CPUユニットの動作モードを「プログラム」モードに変更します

FinsStop


FinsUnitType (CPUユニット情報の読出し)

コマンドコード : 0501
CPUユニットの情報を読み出します

FinsUnitType
出力
UnitData
CPUユニットの情報

CPUユニットの情報

CPUユニットの形式 20byte
CPUユニットの内部システムのバージョン 20byte
システム情報 40byte
エリア情報 12byte


FinsSetClock (時間情報の書込み)

コマンドコード : 0702
時間情報を書き込みます (KV8000の時計データを書き込みます)

FinsSetClock


FinsUdp (Fins通信 UDP)

FINSコマンドを送受信します

FinsUdp
入力
Cmd
FINSコマンド
CmdByteSize
送信バイト数
出力
ResData
FINS受信データ


実装

1. 「SampleFinsUdp.zip」または「FinsUdp.kufb」をダウンロードし、KV STUDIOでプロジェクトに追加します。
2. KV8000のIPアドレスはOMRON PLCのEthernetポートと同じネットワーク内に設定してください。
3. KV8000のソケット機能を有効にします

実装1

4. 使用するソケットを「UDP」に設定します

実装2

5. PLC間の通信を確認するために、FinsUnitTypeのFBを使用してOMRONのPLCの形式を読み出してみます

実装3

6. 上記のようにDoneがONになりPLCの形式が読み出せたら正常に接続できています
うまくいかない場合は「SampleFinsUdp.zip」を使って OMRON PLCのIPアドレスを 192.168.250.1 にし、KVのIPアドレスを 192.168.250.31 にして実行してみてください

この記事へのコメント