1. TOP
  2. OMRON
  3. NX/NJシリーズ
  4. 上位ネットワーク
  5. 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. グローバル変数の作成
  2. EIPコネクション設定

1. グローバル変数の作成

グローバル変数にサイクリック通信する変数を設定ます
NOTE
ネットワーク公開を入力と出力に設定します EipKv01a

2. EIPコネクション設定

1.メニューの[ツール]-[Ethernet/IPコネクション設定]を開きます

EipKv01b

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

EipTagKv02

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

EipTagKv06

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

NOTE
インスタンスIDを100に設定
EipTagKv07

5.EDSライブラリの追加

ツールボックスで右クリックしてEDSライブラリ表示をクリックします
EipTagKv03

6.EDSライブラリの追加

EDSファイルをインストール
[インストール]ボタンを押してKVシリーズのEDSファイルを選択します
NOTE
EDSファイルはKEYENCE ダウンロード(ソフトウェア)でKV8000などで検索して入手してください
EipTagKv04

7.ターゲットデバイスの追加

ツールボックスの[+]ボタンを押します
EipKv01b

8.ターゲットデバイスの追加

サイクリック通信する相手のアドレスなどを設定します
EipKv01b

9.コネクションの設定

ターゲットデバイス : KV-5500
コネクションタイプ : InputOnly (ID type)
入出力 : 入力
ターゲット変数 : 100 (KV-STUDIOで設定したID)
サイズ : 20 (byte)
オリジネータ変数 : EIP_IN
サイズ : 20 (byte)
EipKv01b

KEYENCE KVシリーズの設定

  1. EDSファイルの登録
  2. 出力エリアの設定
  3. 入力エリアの設定

1. EDSファイルの登録

1.EDSファイルの登録

EtherNet/IP設定を開いて機器一覧を右クリックして[EDSファイル登録]でNXシリーズのEDSファイルを登録します
NOTE
EDSファイルはEtherNet/IP EDSファイル ダウンロードからNXシリーズのEDSファイルを入手してください
EipKv11

2.アダプタ初期設定

機器一覧に登録したNXを左の青いエリアにドラッグアンドドロップしてアダプタ初期設定画面を表示します
NXのIPアドレスを設定します
EipKv12

2. 出力エリアの設定

1. タグ設定

サイクリックで出力するエリアの設定

KV-5500の文字をクリックしてタグ一覧画面を表示します
[追加]ボタンを押してタグを追加します
インスタンスIDを100にして使用のチェックをチェックします
デバイス割付領域に先頭デバイスをDM0にしてサイズを10ワードとして設定ます EipKv13

3. 入力エリアの設定

1. コネクション設定

サイクリックで読み出すエリアの設定

追加したアダプタ(NX)のInput Onlyの文字をクリックしてコネクション一覧を表示します
EipKv14

2. パラメータ設定

[パラメータ設定]ボタンを押してパラメータ設定画面を表示して以下の設定をします
Produced Assenbly ID : 100 (SysmacStudioの出力タグセットで設定したID)
Size : 20 EipKv15

デバイス割付

[デバイス割付]ボタンを押してデバイス割付設定画面を表示して以下の設定をします
先頭デバイス : DM50
サイズ : 10ワード EipKv16

サイクリックデータの確認

NX/NJ KV
変数名 データ型 アドレス
EIP_OUT ARRAY[0..9] OF WORD DM50~59
EipKv41 EipKv43
EIP_IN ARRAY[0..9] OF WORD DM0~9
EipKv42 EipKv44

もう少し実用的な通信エリアを設定する場合

サイクリック通信エリアにビット、ワード、数値、文字を組み合わせて設定してみます
次のデータをサイクリック通信します

NX/NJ KV
変数名 データ型 アドレス
EIP_OUT2 sEIP_OUT2 D200~241
EIP_IN2 sEIP_IN2 D100~D157

構造体
EipKv21

  1. NXの設定
  2. KVの設定
  3. 文字列の場合はエンディアン変換が必要
  4. メモリのアライメント

1. NXの設定

1. グローバル変数の設定

EipKv22

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

EipKv23

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

EipTagKv24

4. コネクションを設定

EipTagKv25

2. KVの設定

1. タグ設定

EipTagKv31

2. コネクション設定

EipTagKv32

3. パラメータ設定

EipTagKv33

4. デバイス設定

EipTagKv34

3. 文字列の場合はエンディアン変換が必要

NJ側で変換

文字列を_HIGH_LOWを指定してバイト配列に変換したあとに文字列に戻します
EipTagKv35

KV側で変換

サイクリック通信エリアから上位バイト下位バイトを入れ替えてD300以降に格納します
EipTagKv36

付録. メモリのアライメント

構造体を使ってリンクする場合は少し気を付けるところがあります
今回の構造体 sEIP_IN2 のサイズは112byte(56Word)になりますが入力タグセットを設定では116byteになっています

名称データ型byte数
BARRAY[0..15] OF BOOL2
WARRAY[0..9] OF WORD20
INT32ARRAY[0..9] OF DINT40
STRSTRING[50]50
合計112

これはメモリを確保するメモリ量が変わるためで、詳しくはマニュアル NJ/NXシリーズ CPUユニット ソフトウェア編の 「A-12 変数のメモリ確保の方法」を確認してください

特に問題なければそのままタグセットで表示されるバイト数でコネクションを作ってください
変更する場合は構造体のデータ型を設定する項目のオフセット種別を変更することで調整することもできます

この記事へのコメント