「ソフテックだより」では、ソフトウェア開発に関する情報や開発現場における社員の取り組みなどを定期的にお知らせしています。
さまざまなテーマを取り上げていますので、他のソフテックだよりも、ぜひご覧下さい。
ソフテックだより(発行日順)のページへ
ソフテックだより 技術レポート(技術分野別)のページへ
ソフテックだより 現場の声(シーン別)のページへ
ソフテックだより第355号の技術レポートで「Rockwell Automation社製Allen Bradley PLCについて」をテーマに、CPU選定の仕方や注意点などをご紹介いたしました。
今回は第2弾として、Rockwell Automation(ロックウェル・オートメーション)社製Allen Bradley(アレン・ブラッドリー) PLC(以下、AB-PLC)で、EtherNet/IP機器と通信する方法を紹介します。
プログラミングツールはStudio5000 Logix Designer Version31.00.00 - Standard Editionを前提に記載いたします。
AB-PLCとEtherNet/IP機器との通信確立までの流れを以下に示します。
図1.通信確立までの流れ
次項以降で定義・設定する機器構成は以下とします。
表1.機器構成
Node | IPアドレス | 機器名称 |
---|---|---|
1 | 192.168.1.1 | AB-PLC Ethernetモジュール |
2 | 192.168.1.2 | Cognex ID Reader |
3 | 192.168.1.3 | Keyence DL-EP1 (光電センサ用通信ユニット) |
4 | 192.168.1.4 | Yaskawa SI-EN3/V (インバータ用通信ユニット) |
最初にLogix Designerプロジェクトを新規作成します。
New ProjectでCPUを選択し、
図2.CPU選択
図3.プロジェクト設定
Node1のAB-PLC Ethernetモジュールを定義します。
Logix DesignerのI/O Configurationで定義します。
図4.AB-PLC Ethernetモジュール定義
スロット1にEthernetモジュールが定義されました。
IPアドレスはPrivate Network(192.168.1.1)を使用しています。任意のIPアドレスを指定することもできますが、EtherNet/IP機器の中には192.168.1.*でしか使用できないもの(もしくはIPアドレス変更が困難なもの)があるのでPrivate Networkを使用したほうが無難です。
次にEtherNet/IP機器をLogix DesignerのI/O Configurationで定義します。
定義する方法は大きく分けて3種類あります。
AOPとはAdd On Profile(プロファイル登録)の略です。
Logix Designerでは、IO機器をプロファイル管理しており、プロファイル登録済みの機器の中から、使用したい機器を選択することで定義する形になります。
(前項で定義したAB-PLC Ethernetモジュールは、標準でプロファイル登録済みの機器です)
ここではNode2のCognex ID Readerを、AOPファイルで定義してみます。
(1) Cognex社が配布しているAOPファイルを入手する
(2) AOPファイルを実行し、インストールする
図5.AOPファイル
(3) Logix DesignerのI/O Configurationで定義する
図6.AOPファイルによる定義
これで定義完了です。
定義が完了すると、IOタグ(国内PLCで言うXYデバイスに相当)も自動生成されます。
EDSとはElectronic Data Sheetsの略です。
ここではNode3のKeyence DL-EP1 (光電センサ用通信ユニット)を、EDSファイルで定義してみます。
(1) Keyence社が配布しているEDSファイルを入手する
(2) Logix DesignerからEDS Hardware Installation Toolを起動する
図7.EDS Hardware Installation Tool起動
(3) 入手したEDSファイルを選択してインストールする
図8.EDS ファイルインストール
(4) Logix DesignerのI/O Configurationで定義する(2-3-1項と同様)
これで定義完了です。
EDSファイルによる定義も、前項のAOPファイルによる定義と同様にプロファイル登録して定義する形になります。
両社の違う点は、
・AOPファイルはAB-PLC専用だが、EDSファイルは汎用
という点です。
そのため、AOPファイルで定義した場合は、用途に合った名称のIOタグが自動生成されるのに対し、EDSファイルで定義した場合は、「Data[0]」などといった汎用的な名称のIOタグが自動生成されます。
図9.IOタグ比較
従って、EDSファイルで定義した場合は、使いたいIOタグはどれか?を機器のマニュアルを参照しながら選定していく、という作業が必要です。
AOPファイルもEDSファイルも見つからない! といった場合は、手動で定義します。
ここではNode4のYaskawa SI-EN3/V (インバータ用通信ユニット)を、手動で定義してみます。
図10.ETHERNET-MODULE選択
(2) 機器のマニュアルを参照しながら、通信設定を行う
図11.ETHERNET-MODULE通信設定
これで定義完了です。
通信設定は、機器のマニュアルのみならず、YouTubeで設定動画が公開されている場合があります。
特に海外の機器に多いので参考にしましょう。
なお、AOPファイル、EDSファイルがある機器においても、手動で定義することが可能です。
(Yaskawa SI-EN3/V(インバータ用通信ユニット)も、安川電機社よりEDSファイルが配布されています)
全てのEtherNet/IP機器の定義が完了したら、それぞれのRPI(通信周期)を設定します。
機器のプロパティから設定してください。
なお、AOPファイルで定義した機器は、適正なRPIが自動設定されていますので設定する必要はありません。
図12.RPI設定
AB-PLCへプロジェクトをダウンロードし、通信確認を行います。
I/O Configurationで機器のStatusが「Runnig」と表示されれば、通信成功です。
図13.通信確認
通信が成功しない場合、以下を見直してください。
今回はRockwell Automation社製Allen Bradley PLCついて、EtherNet/IP機器と通信する方法を紹介させて頂きました。
私が対応したときは、海外のPLCということで、まず言葉の壁がありました。
(私は英検すら持っていません)
また、周囲にAB-PLCでEtherNet/IPを扱ったことがある経験者もおりませんでした。
そのため、正解に辿り着くまで時間がかかり、遠く離れた有識者の方にご協力いただいたり、インターネットを調べてみたり(英語圏のyahoo知恵袋のようなサイトもたくさん見ました)、現場で試行錯誤しながら、苦労いたしました。
この先、皆様がAB-PLCでEtherNet/IPを扱うとき、私と同じ苦労を極力少なくなるようにと考え、少しでもお役に立てればと本稿を執筆しました。
本稿が少しでも皆様のお役に立てていただければ幸いです。
(Y.S.)
関連ページへのリンク
関連するソフテックだより