ロボット制御

【ロボット制御】FANUCロボット × Keyence PLCでの EtherNet/IP 通信設定

fa-engineer

はじめに

工場自動化でロボットは不可欠です。本記事では FANUCロボットKeyence PLC(KV-8000/KV-7500 など)を EtherNet/IP(※表記ゆれ対策で本文中に「Ethernet/IP」も併記)で接続するための手順を、実機画面を交えながら解説します。

前提

  • Keyence:KV-8000/KV-7500 または KV-XLE02 等、EtherNet/IP対応ポート搭載機
  • FANUC:EtherNet/IPオプション導入済み

手順の全体像

  1. ネットワーク設計(IPとサブネットの決定)
  2. PLC(KV STUDIO)側:IP設定
  3. PLC側:EDS登録と相手機器の追加
  4. ロボット側:TCP/IP(ホスト通信)設定と疎通確認
  5. I/O(入出力)サイズの設定(両機器で一致させる)
  6. ロボット側:システム設定(UOP/リモート等)
  7. I/O割付(UI/UO・DI/DO・GI/GO)
  8. 動作確認(DO→PLC、モニタで検証)

1. ネットワーク設計(IP/サブネット)

まずはIPアドレスを決めます。例として以下で進めます。

  • PLC192.168.0.10 / 255.255.255.0
  • ロボット192.168.0.11 / 255.255.255.0

IPは“ネットワーク上の住所”。相互通信には同一セグメント(例:255.255.255.0)での設計が基本です。


2. PLC側:IPアドレス設定(KV STUDIO)

①左ペインのプロジェクトで対象ユニット(例:KV-8000)を選択 → 右クリック > ユニットエディタを開く。

②右側のユニット設定(2)ポート設定でIPを確認/設定。

③本例では 192.168.0.10 / 255.255.255.0 を設定。


3. PLC側:EDS登録と相手機器の追加

EtherNet/IPでは各機器のEDSファイル(電子データシート)を使って設定します。

  • メーカーサイトから取得(FANUCはお得意様会員登録後にDL可能)。

手順:

ユニットエディタでロボットと通信するユニットを右クリック → EtherNet/IP設定を開く。

②ツールバー [EDSファイル] → [登録] を選択。

③取得した FANUCのEDS を選んで登録。

④機器一覧にFANUCが追加されるので、PLCツリーへドラッグ&ドロップ

⑤表示されるIP設定ダイアログで、ロボット側のIPを 192.168.0.11 に設定。


4. ロボット側:TCP/IP(ホスト通信)設定と疎通確認

①ティーチペンダントで [設定] → [ホスト通信] を開く。

[TCP/IP] → [詳細] → [ホスト通信設定] を開き、ロボット自身のIPを 192.168.0.11、サブネット 255.255.255.0 に設定。

③併せてホスト(相手)IP192.168.0.10(PLC) を設定。

④[PING] ボタンで疎通確認。成功ならOK。エラーなら配線やIP/サブネット、スイッチ設定を再確認。


5. I/Oサイズ(領域)を合わせる

I/O = IN/OUT

  • PLCのOUT → ロボットのINロボットのOUT → PLCのIN
  • 手紙の例で言えば、郵便受け(領域)サイズを双方で揃えるイメージ。

ロボット側(EtherNet/IP Connection)

[I/O] → [Ethernet/IP] → Connection1 を開く。

入出力サイズを入力。本例は “入4ワード / 出4ワード”

1ワード=2バイト。4ワード=8バイト

PLC側(コネクション/パラメータ)

①PLCのEtherNet/IP設定で対象デバイスを右クリック → [コネクション設定]

[パラメータ設定] を開き、Input/Output Data Size8(バイト)に設定。

※ここの設定値ははbyte表示になってますので注意してください。8byte = 4 word


6. ロボット側:システム設定(UOP/リモート)

  1. システム設定「専用外部入力(UOP)」を有効に。
  2. (任意)CSTOPIでプログラム強制終了/全終了を有効化。非常停止系で即停止させたい場合に有効。一時停止運用なら無効のまま推奨。
  3. リモート/ローカルリモートへ。上位(PLC)からの起動が可能に。
  4. [設定] → [プログラム選択]
    • 自動運転開始方法:UOP
    • プログラム選択方式:OTHER
    • マスタープログラムを選択(PLC起動時にこのプログラムが走る)

7. I/O割付(UI/UO・DI/DO・GI/GO)

本例のデバイス割付表

■ロボット OUT ⇒ PLC IN

EtherNet/IP 割付表(FANUC → PLC:UO/DO/GO)
word数bit数ロボット割付PLC割付デバイスコメントロボット割付開始点
11UO1W00.0ロボット_UOP11
2UO2W00.1ロボット_UOP22
3UO3W00.2ロボット_UOP33
4UO4W00.3ロボット_UOP44
5UO5W00.4ロボット_UOP55
6UO6W00.5ロボット_UOP66
7UO7W00.6ロボット_UOP77
8UO8W00.7ロボット_UOP88
9UO9W00.8ロボット_UOP99
10UO10W00.9ロボット_UOP1010
11UO11W00.10ロボット_UOP1111
12UO12W00.11ロボット_UOP1212
13UO13W00.12ロボット_UOP1313
14UO14W00.13ロボット_UOP1414
15UO15W00.14ロボット_UOP1515
16UO16W00.15ロボット_UOP1616
21UO17W01.0ロボット_UOP1717
2UO18W01.1ロボット_UOP1818
3UO19W01.2ロボット_UOP1919
4UO20W01.3ロボット_UOP2020
5W01.4空き21
6W01.5空き22
7W01.6空き23
8W01.7空き24
9W01.8空き25
10W01.9空き26
11W01.10空き27
12W01.11空き28
13W01.12空き29
14W01.13空き30
15W01.14空き31
16W01.15空き32
31DO1W02.0ロボットbit出力133
2DO2W02.1ロボットbit出力234
3DO3W02.2ロボットbit出力335
4DO4W02.3ロボットbit出力436
5DO5W02.4ロボットbit出力537
6DO6W02.5ロボットbit出力638
7DO7W02.6ロボットbit出力739
8DO8W02.7ロボットbit出力840
9DO9W02.8ロボットbit出力941
10DO10W02.9ロボットbit出力1042
11DO11W02.10ロボットbit出力1143
12DO12W02.11ロボットbit出力1244
13DO13W02.12ロボットbit出力1345
14DO14W02.13ロボットbit出力1446
15DO15W02.14ロボットbit出力1547
16DO16W02.15ロボットbit出力1648
4 1 GO1 W03 ロボットword出力 49
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

■PLC OUT ⇒ ロボット IN

EtherNet/IP 割付表(PLC → FANUC:UI/DI/GI)
word数bit数ロボット割付PLC割付デバイスコメントロボット割付開始点
11UI1W04.0ロボット_UIP11
2UI2W04.1ロボット_UIP22
3UI3W04.2ロボット_UIP33
4UI4W04.3ロボット_UIP44
5UI5W04.4ロボット_UIP55
6UI6W04.5ロボット_UIP66
7UI7W04.6ロボット_UIP77
8UI8W04.7ロボット_UIP88
9UI9W04.8ロボット_UIP99
10UI10W04.9ロボット_UIP1010
11UI11W04.10ロボット_UIP1111
12UI12W04.11ロボット_UIP1212
13UI13W04.12ロボット_UIP1313
14UI14W04.13ロボット_UIP1414
15UI15W04.14ロボット_UIP1515
16UI16W04.15ロボット_UIP1616
21UI17W05.0ロボット_UIP1717
2UI18W05.1ロボット_UIP1818
3W05.2空き19
4W05.3空き20
5W05.4空き21
6W05.5空き22
7W05.6空き23
8W05.7空き24
9W05.8空き25
10W05.9空き26
11W05.10空き27
12W05.11空き28
13W05.12空き29
14W05.13空き30
15W05.14空き31
16W05.15空き32
31DI1W06.0ロボットbit入力133
2DI2W06.1ロボットbit入力234
3DI3W06.2ロボットbit入力335
4DI4W06.3ロボットbit入力436
5DI5W06.4ロボットbit入力537
6DI6W06.5ロボットbit入力638
7DI7W06.6ロボットbit入力739
8DI8W06.7ロボットbit入力840
9DI9W06.8ロボットbit入力941
10DI10W06.9ロボットbit入力1042
11DI11W06.10ロボットbit入力1143
12DI12W06.11ロボットbit入力1244
13DI13W06.12ロボットbit入力1345
14DI14W06.13ロボットbit入力1446
15DI15W06.14ロボットbit入力1547
16DI16W06.15ロボットbit入力1648
4 1 GI1 W07 ロボットword入力 49
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

UI/UO(ユニバーサルI/O:必須信号)

[I/O] → [UOP]

UI/UOともラック89 / スロット1 / 開始点1 UI/UOの信号内容(生存信号、サイクルスタート等)はFANUC取説参照。

DI/DO(ビット信号:ON/OFF)

[I/O] → [DIO(デジタル)]

DO:範囲 1–16ラック89 / スロット1 / 開始点33

DIIN/OUT切替でDIへ。範囲 1–16ラック89 / スロット1 / 開始点33

GI/GO(ワード信号:数値)

[I/O] → [GIO(グループ)]

GO1ラック89 / スロット1 / 開始点49 / サイズ16

GI1も同様に設定し、必要なビット幅を確保。

設定後、コントローラを再起動すると反映されます。

8. 動作確認

ロボット → PLC(DO → PLC IN)

DI/DOモニタを開き、該当のDOをON(例:DO1 と DO16)。

②KV STUDIOで [モニタ/シミュレータ] → [登録モニタウィンドウ] を開く。

次に確認するデバイスをウィンドウに登録していきます。

DI/DO先頭と末尾を登録して状態を確認。

④同様の手順でUI/UO / GI/GO先頭と末尾を登録して状態を確認。

⑤該当のデバイスがそれぞれONしていればOK


よくあるつまずきと対処

  • PINGが通らない:IP/サブネット、ケーブル/スイッチ、重複IP、セキュリティ設定を再確認。
  • I/Oが反映されないI/Oサイズ不一致(ワード↔バイト変換ミス)や、再起動未実施
  • UOPで起動できない:UOP有効化、リモート設定マスタープログラム選択を確認。
  • 非常停止で止まらない/止まりすぎるCSTOPI関連の有効/無効を要件に合わせる。
  • アドレスずれラック/スロット/開始点の打鍵ミスに注意。割付表とモニタを突き合わせて検証。

補足(用語メモ)

  • IPアドレス:ネットワーク上の住所。
  • サブネットマスク:同一ネットワークの範囲を決める値。
  • UOP(専用外部入出力):自動運転の必須信号群(Cycle Start、Fault Reset など)。
  • DI/DO:ビット入出力。
  • GI/GO:グループ(ワード)入出力。
  • EtherNet/IP:産業用イーサネット規格。表記ゆれ対策で「Ethernet/IP」も本文に含めています。

ABOUT ME
Yu
Yu
設備エンジニア(フリーランス)
生産技術の現場で10年以上の経験を持ち、制御設計を中心に生産設備の開発全般に携わってきました。 特に、産業用ロボットを活用した自動化設備の開発を得意としており、機械・電気・制御の知識を横断的に活かして業務に取り組んでいます。 近年では、PLCと連携したIoTシステムの構築にも注力しており、PythonやSQL Serverなどを活用したデータ収集・可視化・分析の仕組みづくりにも対応しています。 現場のリアルな課題を解決するための実践的なノウハウを発信していきます。
記事URLをコピーしました