EtherNet/IPネットワークの通信では、IEEE 802.3 Ethernet上にアプリケーション層のプロトコルとしてCIP(Common Industrial Protocol)が付加されており、そのCIPのサイクリック通信機能として、UDP/IP上で動作する「タグデータリンク」機能があります。
注1.「タグデータリンク」という用語は、従来のPLC間通信におけるデータリンク通信と類似した機能のため、それをイメージしやすいように、オムロン独自に使用している用語です。
EtherNet/IPにおけるI/Oメッセージのサイクリックによる通信機能を意味します。
タグデータリンクに関する主な機能と、その設定のための方法について以下に説明します。
■タグデータリンク機能
タグデータリンクでは、紐付けされた出力タグと入力タグの間で、出力タグのデータを入力タグへ転送します。
出力タグや入力タグには、PLCのネットワーク変数 または I/Oメモリアドレスを割り付けます。
出力タグから入力タグへマルチキャスト(複数ノードへの一斉送信)などによるデータ送信を行い、異なるノード間でデータの共有を行います。
タグをI/Oメモリアドレスに割り付ける場合でも、出力タグと入力タグのI/Oメモリアドレスは異なっても構いません。
出力タグ対入力タグは、1対1以上であれば、Controller Linkにおけるデータリンク通信などのように全部のノードに入力タグを割り付ける必要はありません。
従来のデータリンクでは通常PLC間での通信となりますが、タグデータリンクではPLCと画像センサやロボットなどのデバイス間でも通信を行います。
ただし、PLC以外のデバイスを参加させる場合は、そのデバイスのEDS(Electronic Data Sheet)ファイルが必要です。

図1.タグデータリンクの構成例
■ネットワーク変数とI/Oメモリアドレスのタグへの割付方法
タグには、前述のとおり、PLCのネットワーク変数 または I/Oメモリアドレスを割り付けますが、各々の使用できる条件や方法が異なります。
ただし、それらの機器と通信する場合でも、通信する相手ノードのタグ設定がネットワーク変数とI/O メモリアドレスのどちらで指定されているかには依存しませんので、相互に通信が可能です。
以下にネットワーク変数のタグ割付とI/Oメモリアドレスのタグ割付について説明します。
なお、機種による詳細な組み合わせは、図2の表を参照ください。
<ネットワーク変数>
NJ/NXシリーズコントローラ(PLC)
※2 および CJ2シリーズPLC のCPU内蔵EtherNet/IPポートにおいては、タグデータリンク用の出力タグと入力タグに割り付けるためのネットワーク変数を登録できるようになっています。
ネットワーク変数は、グローバル変数テーブルの「ネットワーク公開」属性を、デフォルトの「非公開」から「公開のみ」「入力」「出力」のいずれかの候補に変更して設定します。
なお、NJ/NXのネットワーク変数の設定はSysmac Studioで、CJ2の設定はCX-Programmerで行います。
入力タグとして使用する場合は「入力」を、出力タグとして使用する場合は「出力」を、タグデータリンクの対象とはせずにEtherNet/IP経由で接続する表示器の画面部品に割り付けるだけの場合は「公開のみ」を設定します。
ネットワーク変数は、通常使用する変数と同様に、配列や構造体を含むあらゆるデータ型に設定できます。
※3※2 NJではCPU内蔵EtherNet/IPポートと外付けのEtherNet/IPユニット(CJ1W-EIP21)を、NXではCPU内蔵EtherNet/IPポートを意味します。
※3 ただし、紐付けする出力タグと入力タグ間では、同一のデータ構造とサイズにする必要があります。
NJ/NXシリーズコントローラとCJシリーズPLC間で、構造体型のネットワーク変数を使用してタグデータリンクを行う場合、両者でメモリ構成が異なるため、NJ/NX側の構造体型定義で、オフセット種別を「CJ」にして、メモリ配置を一致させる必要があります。
詳細については、「
NJ/NX シリーズ CPU ユニット内蔵EtherNet/IP™ポート ユーザーズマニュアル(SBCD-377) 」の「付録 A-5 変数のメモリ確保の方法」をご参照ください。
<I/Oメモリアドレス>
NJ/NXシリーズコントローラ(PLC) ※4 および CS/CJシリーズPLC のCPU内蔵EtherNet/IPポートと外付けのEtherNet/IPユニット(CS1W-EIP21 または CJ1W-EIP21(S))のすべてのポートで、I/Oメモリアドレスをタグとして登録できるようになっています。
ただし、I/Oメモリアドレスの場合、ビット単位でタグに割り付けることはできません。
そのため、BOOL型ネットワーク変数のタグと、I/Oメモリアドレスのタグを紐付けする場合、1chのI/Oメモリアドレスを指定することで、その0ビット目が対象となります。
なお、EtherNet/IPネットワークにつながるすべてのPLCのタグをI/Oメモリアドレスとして割り付ける場合は、そのタグ設定の他に、後述のCIPコネクションやパケットインターバル(RPI)の設定も含めて、すべての操作をNetwork Configuratorというツールソフトのみで行うことができます。
※4 NJ/NXの場合、タグに割り付ける変数にI/Oメモリアドレスを割り当てる必要があるため、グローバル変数テーブルの割付先属性をCJユニットメモリのCIOやDMなどにAT指定(アドレス固定割付)して設定する必要があります。
〇:可能 △:Verにより可能 ×:不可
| CPUユニット形式 | 内蔵EtherNet/IP ポート:内蔵ポート 外付EtherNet/IP ユニット:形式 | Network Configurator ハードウェア リスト上の名称 | ネットワーク 変数名での指定 | I/Oメモリ アドレスでの指定 |
| NX701-□□20 | 内蔵ポート | NX701 | 〇 | 〇 *1 |
| NX701-□□00 | NX701 | 〇 | × |
| NX502 | NX502-□□□□ | 〇 | 〇 *1 *2 |
| NX-EIP201 | NX-EIP201 | 〇 | 〇 *1 *2 |
| NX102 | 内蔵ポート | NX102-□□□□ | 〇 | 〇 *1 *2 |
| NX1P2 | NX1P2 | 〇 | 〇 *1 *2 |
NJ501 NJ301 NJ101 | 内蔵ポート | NJ501-□□□□ NJ301-□□□□ NJ101 | 〇 | 〇 *1 |
| CJ1W-EIP21 | CJ1W-EIP21(NJ) | 〇 | 〇 *1 |
| CJ1W-EIP21S | CJ1W-EIP21S(NJ) | 〇 | 〇 *1 |
| CJ2H-CPU6□-EIP | 内蔵ポート | CJ2B-EIP21 | 〇 | 〇 |
| CJ1W-EIP21S | CJ1W-EIP21S(CJ2) | 〇 | 〇 |
| CJ1W-EIP21 | CJ1W-EIP21 (CJ2) | 〇 | 〇 |
| CJ2H-CPU6□ | CJ1W-EIP21S | CJ1W-EIP21S(CJ2) | △ *3 | 〇 |
| CJ1W-EIP21 | CJ1W-EIP21 (CJ2) | △ *3 | 〇 |
| CJ2M-CPU3□ | 内蔵ポート | CJ2M-EIP21 | 〇 | 〇 |
| CJ1W-EIP21S | CJ1W-EIP21S(CJ2) | 〇 | 〇 |
| CJ1W-EIP21 | CJ1W-EIP21 (CJ2) | 〇 | 〇 |
| CJ2M-CPU1□ | CJ1W-EIP21S | CJ1W-EIP21S(CJ2) | △ *4 | 〇 |
| CJ1W-EIP21 | CJ1W-EIP21 (CJ2) | △ *4 | 〇 |
| CJ1 | CJ1W-EIP21S | CJ1W-EIP21S | × | 〇 |
| CJ1W-EIP21 | CJ1W-EIP21 | × | 〇 |
| CS1 | CS1W-EIP21S | CS1W-EIP21S | × | 〇 |
| CS1W-EIP21 | CS1W-EIP21 | × | 〇 |
図2.機種によるタグの指定方法の詳細表
*1.I/Oメモリアドレスをタグに指定したい場合は、タグにI/Oメモリアドレスを直接指定するのではなく、Sysmac Studio でI/OメモリアドレスをAT指定した変数を作成し、そのAT指定した変数を、タグとして指定してください。
*2.NX502、NX102 およびNX1P2 CPU ユニットの場合、I/Oメモリアドレスを使用するにはCJユニット用メモリ設定が必要です。CJメモリ設定については、『NJ/NX シリーズ CPU ユニット ユーザーズマニュアル ソフトウェア編(SBCA-467) 』を参照してください。
*3.CJ2H-CPU6□ Ver1.6以降であればネットワーク変数名での指定が可能です。
*4.CJ2M-CPU1□ Ver2.2以降であればネットワーク変数名での指定が可能です。
■CIPコネクション
タグデータリンクでは、データを共有したい出力タグと入力タグを紐付けするために、データリンクするノード間でCIPコネクションを開設する必要があります。
1つ以上の入力タグまたは出力タグとコネクション情報をひとまとめにしたものをタグセットと呼びます。
タグデータリンクを行うためには、入力タグセット側(オリジネータと呼びます)でコネクション情報を作成して、出力タグセット側(ターゲットと呼びます)へコネクションを開設する必要があります。
図1のタグデータリンク構成における入力タグと出力タグの関係を、CIPコネクションで表現すると、図3のようになります。

図3.CIPコネクション開設例
コネクションの設定は、通常Network Configuratorで行い、 (*5) 設定したコネクションデータをオリジネータに転送すると、転送完了後自動的にリセットされ、オリジネータが転送されたコネクション設定を元にターゲットにコネクションの開設を要求します。
Network Configuratorは、オートメーションソフトウェア Sysmac Studio SYSMAC-SE2□□□と、FA統合ツールパッケージ CX-One CXONE-AL□□D-V4 のいずれのパッケージにも同梱されています。
*5. オリジネータデバイスが、NJ/NX シリーズコントローラの内蔵ポート もしくは NJシリーズコントローラに外付けしたEtherNet/IPユニット(CJ1W-EIP21)の場合は、コネクションのオリジネータデバイスの設定をSysmac Studio を使って設定することもできます。
また、ターゲットデバイスもNJ/NX シリーズコントローラの場合は、ターゲットデバイスのタグ・タグセットも、Sysmac Studio で設定することができます。
■パケットインターバル(RPI)
■Network Configuratorによる設定手順概要
ここでは、Network Configuratorのみで設定可能な、I/Oメモリタグでのデータリンクに限定し、図1と図3に示すネットワーク構成での各デバイス間のコネクション設定例と、パケットインターバル(RPI)の調整例を用いて、タグデータリンクの設定手順概要を以下の図4~図7の①~⑤にて説明します。
なお、タグデータリンクを起動するには、その後、各デバイスあてに設定データを転送(一括転送もしくは個別転送)する必要があります。

図4.ネットワーク構成の作成とタグの作成・編集

図5.自動コネクション設定

図6.コネクション構成の確認

図7.パケットインターバル(RPI)の設定
なお、タグデータリンクに関する詳細については、「NJ/NX シリーズ CPU ユニット内蔵EtherNet/IP™ポート ユーザーズマニュアル(SBCD-377) 」、「CS/CJシリーズ EtherNet/IP™ユニット ユーザーズマニュアル(SBCD-342)」をご参照ください。
マニュアルのダウンロードには無料の会員登録、ログインが必要です。