KVシリーズのEtherNet/IPでサイクリック通信をする方法
概略
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 |
MRON NX/NJシリーズの設定
1. グローバル変数の作成
グローバル変数にサイクリック通信する変数を設定ます
NOTE
ネットワーク公開を入力と出力に設定します
2. EIPコネクション設定
1.メニューの[ツール]-[Ethernet/IPコネクション設定]を開きます

2.ポート1をダブルクリックして編集画面を表示します

3.入力のタグセットを以下のように設定します

4.出力のタグセットを以下のように設定します
NOTE
インスタンスIDを100に設定
5.EDSライブラリの追加
ツールボックスで右クリックしてEDSライブラリ表示をクリックします
6.EDSライブラリの追加
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 変数のメモリ確保の方法」を確認してください
特に問題なければそのままタグセットで表示されるバイト数でコネクションを作ってください
変更する場合は構造体のデータ型を設定する項目のオフセット種別を変更することで調整することもできます




