KVシリーズのEtherNet/IPでサイクリック通信をする方法
本記事ではOMRON NX102とKEYENCE KV-5500を使用し、EtherNet/IPサイクリック通信の設定方法を解説します。
Sysmac StudioとKV STUDIOの設定手順、EDSファイル登録方法、タグセット作成方法、通信確認方法まで画像付きで説明します。
概略
OMRON NX/NJシリーズとKEYENCE KVシリーズの内臓Ethernetポートとサイクリック通信します
ここではNX102とKV5500を使用して
サイクリック通信のエリアを以下のように設定する方法を解説します
| NX/NJ | KV | ||
|---|---|---|---|
| 変数名 | データ型 | アドレス | |
| EIP_OUT | ARRAY[0..9] OF WORD | → | DM50~59 |
| EIP_IN | ARRAY[0..9] OF WORD | ← | DM0~9 |
OMRON NX/NJシリーズの設定
1. グローバル変数の作成
グローバル変数にサイクリック通信する変数を設定ます
2. EIPコネクション設定
1.メニューの[ツール]-[Ethernet/IPコネクション設定]を開きます
2.ポート1をダブルクリックして編集画面を表示します
3.入力のタグセットを以下のように設定します
4.出力のタグセットを以下のように設定します
インスタンスIDを100に設定
5.EDSライブラリの追加
ツールボックスで右クリックしてEDSライブラリ表示をクリックします
6.EDSライブラリの追加
[インストール]ボタンを押してKVシリーズのEDSファイルを選択します
NOTE
EDSファイルはKEYENCE ダウンロード(ソフトウェア)でKV8000などで検索して入手してください
7.ターゲットデバイスの追加
ツールボックスの[+]ボタンを押します
8.ターゲットデバイスの追加
サイクリック通信する相手のアドレスなどを設定します
9.コネクションの設定
| ターゲットデバイス | KV-5500 |
| コネクションタイプ | InputOnly (ID type) |
| 入出力 | 入力 |
| ターゲット変数 | 100 (KV-STUDIOで設定したID) |
| サイズ | 20 (byte) |
| オリジネータ変数 | EIP_IN |
| サイズ | 20 (byte) |
KEYENCE KVシリーズの設定
1. EDSファイルの登録
1.EDSファイルの登録
EtherNet/IP設定を開いて機器一覧を右クリックして[EDSファイル登録]でNXシリーズのEDSファイルを登録します
NOTE
EDSファイルはEtherNet/IP EDSファイル ダウンロードからNXシリーズのEDSファイルを入手してください
2.アダプタ初期設定
機器一覧に登録したNXを左の青いエリアにドラッグアンドドロップしてアダプタ初期設定画面を表示します
NXのIPアドレスを設定します
2. 出力エリアの設定
1. タグ設定
サイクリックで出力するエリアの設定
KV-5500の文字をクリックしてタグ一覧画面を表示します
[追加]ボタンを押してタグを追加します
インスタンスIDを100にして使用のチェックをチェックします
デバイス割付領域に先頭デバイスをDM0にしてサイズを10ワードとして設定ます
3. 入力エリアの設定
1. コネクション設定
サイクリックで読み出すエリアの設定
追加したアダプタ(NX)のInput Onlyの文字をクリックしてコネクション一覧を表示します
2. パラメータ設定
[パラメータ設定]ボタンを押してパラメータ設定画面を表示して以下の設定をします
Produced Assenbly ID : 100 (SysmacStudioの出力タグセットで設定したID)
Size : 20
デバイス割付
[デバイス割付]ボタンを押してデバイス割付設定画面を表示して以下の設定をします
先頭デバイス : DM50
サイズ : 10ワード
サイクリックデータの確認
| NX/NJ | KV | ||
|---|---|---|---|
| 変数名 | データ型 | アドレス | |
| EIP_OUT | ARRAY[0..9] OF WORD | → | DM50~59 |
![]() |
![]() |
||
| EIP_IN | ARRAY[0..9] OF WORD | ← | DM0~9 |
![]() |
![]() |
||
もう少し実用的な通信エリアを設定する場合
サイクリック通信エリアにビット、ワード、数値、文字を組み合わせて設定してみます
次のデータをサイクリック通信します
| NX/NJ | KV | ||
|---|---|---|---|
| 変数名 | データ型 | アドレス | |
| EIP_OUT2 | sEIP_OUT2 | → | D200~241 |
| EIP_IN2 | sEIP_IN2 | ← | D100~D157 |
手順
1. NXの設定
1. グローバル変数の設定

2. 入力タグセットを設定

3. 出力タグセットを設定

4. コネクションを設定

2. KVの設定
1. タグ設定

2. コネクション設定

3. パラメータ設定

4. デバイス設定

3. 文字列の場合はエンディアン変換が必要
NJ側で変換
文字列を_HIGH_LOWを指定してバイト配列に変換したあとに文字列に戻します
KV側で変換
サイクリック通信エリアから上位バイト下位バイトを入れ替えてD300以降に格納します
付録. メモリのアライメント
構造体を使ってリンクする場合は少し気を付けるところがあります
今回の構造体 sEIP_IN2 のサイズは112byte(56Word)になりますが入力タグセットを設定では116byteになっています
| 名称 | データ型 | byte数 |
|---|---|---|
| B | ARRAY[0..15] OF BOOL | 2 |
| W | ARRAY[0..9] OF WORD | 20 |
| INT32 | ARRAY[0..9] OF DINT | 40 |
| STR | STRING[50] | 50 |
| 合計 | 112 | |
これはメモリを確保するメモリ量が変わるためで、詳しくはマニュアル NJ/NXシリーズ CPUユニット ソフトウェア編の 「A-12 変数のメモリ確保の方法」を確認してください
特に問題なければそのままタグセットで表示されるバイト数でコネクションを作ってください
変更する場合は構造体のデータ型を設定する項目のオフセット種別を変更することで調整することもできます
よくある質問
KVシリーズのEDSファイルはどこで入手できますか?
KEYENCE公式サイトからダウンロードできます。
通信できない場合は何を確認すればよいですか?
IPアドレス、インスタンスID、タグサイズ設定を確認してください。
NJとNXのどちらでも利用できますか?
EtherNet/IP対応機種であれば利用できます。




