こちらは新しい記事シリーズで、三菱のRJ71SEIP91-T4を使用し様々な通信テストを行います。今回はRJ71SEIP91-T4とOMRON NX1-9000でClass 1 通信構築方法を0から説明します。RJ71SEIP91-T4がAdapterであり、OMRON NX1-9000はScannerになります。
さ、FAを楽しもう。
Reference Link
Reference Video
Implementation
ここからプロジェクトを構築していきましょう。
IQR Side
最初に三菱電機のIQ-R側を構築します。
Register Profile
三菱電機のHPからRJ71SEIP91-T4のProfileをDownloadしてください。
https://emea.mitsubishielectric.com/fa/products/cnt/plc/allcpu/rj71seip91-t4.html#downloads
次はProfileをGXWORKS3に登録するため、Tool>Profile Managment>Registerをクリックします。
先程DownloadしたXXXX.iparを選びます。
Done!RJ71SEIP91-T4のProfile登録に成功しました。
Install Module Label
次はRJ71SEIP91-T4のModule LabelをGXWORKS3にインストールするために、先ほどDownloadしたRJ71SEIP91-T4.msluをC:\Program Files (x86)\MELSOFT\MSF\Common\Library\UNITFBのDirectoryに複製してください。
次はC:\Program Files (x86)\MELSOFT\GPPW3\GXW3PluginPreloader.exeを管理者権限で実行してください。
Install Configuration Tools
RJ71SEIP91-T4モジュールを構築するには専用のConfiguration Toolsを使用する必要があり、下記のLinkからRJ71SEIP91-T4 CIP Safety Configuration ToolをDownloadしてください。
https://emea.mitsubishielectric.com/fa/products/cnt/plc/allcpu/rj71seip91-t4.html#downloads
先ほどDownloadしたZIP Fileを解凍し、Setup,exeをクリックします。
Next>で進みます。
CIP Safety Configuration Toolのインストール先を設定し、Next>で進みます。
InstallをクリックしCIP Safety Configuration Toolをセットアップ開始します。
少々お待ちください…
CIP Safety Configuration ToolのPacketsをFirewallに通過できるするため、Yesで進みます。
Done!
Create New Project
GXWORKS3を起動し、Project>Newで新規プロジェクトを追加します。
今回記事で使用したのはR32SF Safety PLCです。
Safety PLCを使用するにはプロジェクトにUser nameとPasswordの設定が必要です。
User nameとPasswordを設定し、Okで進みます。
プロジェクトが作成されたら、Setting Changeをクリックします。
Use Module LabelのOptionをつけます。
Done!プロジェクトが作成されました。
Module Configuration
Hardware Configurationを設定するために、Module Configurationをクリックします。
こちらはModule Configurationの画面になります。
Add R35B
IQ-R Series>Main Base>R35BをDropし、今回記事で使用するBase Unitを追加します。
Done!
Add R61P
次はPower Suppy>R61Pで今回記事で使用する電源モジュールを追加します。
Done!
Add PLC into PLC Rack
R32SF Safety PLCをCPU SlotにDropします。
Done!それでCPUをRackにインストールしました。
Add R6SFM
CPU Extension>R6SFMでCPUの安全拡張ユニットを追加します。
Done!
Add RJ71SEIP91-T4
最後はNetwork>RJ71SEIP91-T4をSlot1にDropします。
Done!
Save the Configuration
次はModule Configurationを保存します。
OKで進みます。
M+Global
先程Module Label使用の設定を有効にしたので、Label>Global Label>M+GlobalというGlobal Variable Listが追加されました。
M+Globalには今回記事で使用したCPUやモジュール(もちろんRJ71SEIP91-T4)のラベルが定義されました。
Check your Configuration
Convert>Rebuild Allで一回Hardware Configuration問題ないかを確認しましょう。
Reset User
R32SF Safety PLC本体のPasswordを忘れた場合に、PLCデータを初期化し、すべてのデータをリセットしましょう。Online>User Authentication>Initialize all PLC Dataをクリックします。
Write User Data
次は今回プロジェクトのUser DataをCPUに書き込むため、Online>User Authentication>Write User information to PLCでUser dataをR32SF Safety PLCに書き込見ます。
Yesで進みます。
さらにYesで進みます。
Done!
Write to PLC
Hardware Configurationを一旦CPUに書き込むため、Online>Write to PLCを実行してください。
Check RJ71SEIP91-T4 IP Address
現在RJ71SEIP91-T4のIPアドレスを確認するため、Diagnosis>System Monitorをクリックします。
RJ71SEIP91-T4 モジュールをダブルクリックします。
RJ71SEIP91-T4の診断情報を確認でき、Module Information List Tabを開きます。
RJ71SEIP91-T4の詳細情報が表示され、P1=192.168.250.11を確認できました。
Configure Ethernet/IP Network
次はEthernet/IPネットワークを構築するため、RJ71SEIP91-T4>CIP Safety Configuration Toolをダブルクリックし、ツールを起動しましょう。
Setup the Local Adapter
Safety Communication Moduleを選び>General>Local Network interface IP address to useのところからRJ71SEIP91-T4と通信するEthernet Portを設定します。
Drop-Listから適切なEthernet インタフェース(自分のPC)を設定しましょう。
Done!
Configure Network1
今回記事で使用したのはRJ71SEIP91-T4のPort1になります。RJ71SEIP91-T4本体にも書いてありますが、P1書いてるPort AとPort BはNetwork1で、P2が書いてるPortAとPort BはNetwork2になります。
Network1をクリックします。
Detect the Network1
General>Scanner IP Address Settings>DetectでRJ71SEIP91-T4を検索します。
Done!現在PCとRJ71SEIP91-T4接続されているPortのIPアドレスはIdnetifierの欄に表示されています(192.168.250.11)。
次はOKで設定を適用します。
Done!RJ71SEIP91-T4 Port1のIPアドレス設定が反映されました。
Ping Network1
Ping>Send PingでRJ71SEIP91-T4のNetwork1と通信確認を行います。
Done!Pingコマンドが通過しました。
Configure Class1 Connection
次はRJ71SEIP91-T4にClass1 Connection用のInstanceを追加するためにGeneral>Target(Class1)のCheckboxを入れてください。
CIP Safety Configuration Toolに”Target(Class 1)”というTabが追加されました。
ここでClass1のTagとInstanceの操作が可能です。
Add Instance
今回の記事ではClass1 Instance通信を使用しますので、Target(Class 1 Instance)>Addで新しいInstanceを追加しましょう。
Done!Connection下にある数字は該当するConnectionのIdnetifierを指定できますので、今回の例は1に、のちほどのIdnetifierとInstance番号の関係を追っていきます。
T->O SizeとO->T Sizeは今回20Bytesずつに設定します。
Transfer the Configuration
CIP Safety Configuration ToolからHardware ConfigurationをRJ71SEIP91-T4に転送します。Safety Communication Module>General>Save configuration to ModuleをクリックしConfigurationをRJ71SEIP91-T4に転送しましょう。
Yesで進みます。
少々お待ち下さい…
Done!
Close the Application
CIP Safety Configuration Toolを閉じることを忘れないでください。
Program
次はプログラムを作成します。
IF RJ71SEIP91_1.stEIPCls1_P1.uSet_CommunicationStartupRequest_D = 0 AND RJ71SEIP91_1.bSts_ModuleReady THEN RJ71SEIP91_1.stEIPCls1_P1.uSet_CommunicationStartupRequest_D := 1; END_IF; FOR iCounter:=0 TO 9 DO RJ71SEIP91_1.stEIPCls1_P1.unArea_Class1OutputDataArea_D[iCounter]:=0; END_FOR; IF NOT RJ71SEIP91_1.stEIPCls1_P1.bnSts_Class1Error_Connection_D[1] THEN RJ71SEIP91_1.stEIPCls1_P1.unArea_Class1OutputDataArea_D[0]:=12; RJ71SEIP91_1.stEIPCls1_P1.unArea_Class1OutputDataArea_D[1]:=34; RJ71SEIP91_1.stEIPCls1_P1.unArea_Class1OutputDataArea_D[2]:=56; RJ71SEIP91_1.stEIPCls1_P1.unArea_Class1OutputDataArea_D[3]:=78; RJ71SEIP91_1.stEIPCls1_P1.unArea_Class1OutputDataArea_D[4]:=90; RJ71SEIP91_1.stEIPCls1_P1.unArea_Class1OutputDataArea_D[5]:=123; RJ71SEIP91_1.stEIPCls1_P1.unArea_Class1OutputDataArea_D[6]:=124; RJ71SEIP91_1.stEIPCls1_P1.unArea_Class1OutputDataArea_D[7]:=125; RJ71SEIP91_1.stEIPCls1_P1.unArea_Class1OutputDataArea_D[8]:=126; RJ71SEIP91_1.stEIPCls1_P1.unArea_Class1OutputDataArea_D[9]:=127; END_IF; |
Write
Online>Write to PLCでプロジェクトをCPUにDownloadしましょう。
Reset Power
最後はIQ-R CPUの電源を入れ直しましょう。
OMRON Side
次はOMRON NX102-9000側を構築します。
Download EDS File
下記のLinkで三菱のRJ71SEIP91-T4のEDS FileをDownloadしてください。
https://emea.mitsubishielectric.com/fa/products/cnt/plc/allcpu/rj71seip91-t4.html#downloads
New Project
Sysmac Studioを起動し、新規プロジェクトを作成します。
Configure IP Address
Configuration and Setup>Controller Setup>build in EtherNet/IP Portを開き、アプリケーションに合わせてIPアドレスを設定します。
Global Variables
次はGlobal変数を追加します。
三菱のRJ71SEIP91-T4と交換する入出力データを定義します。そのときは、Network PublishにInputとOutputを設定することを忘れないでください。
Program
次は簡単通信確認プログラムを作成します。
DataToEagle[0]:=220; DataToEagle[1]:=221; DataToEagle[2]:=222; DataToEagle[3]:=223; DataToEagle[4]:=224; DataToEagle[5]:=225; DataToEagle[6]:=226; DataToEagle[7]:=227; DataToEagle[8]:=228; DataToEagle[9]:=229; ; |
Ethernet/IP Setting
Ethernet/IPの接続設定を行うためにTools>EtherNet/IP Connection Settingsを開きます。
自分のNX1CPUのネットワーク設定などが表示されます。
今回記事で使用したのはNetwork1なので、Portを右クリック>Editします。
Install EDS File
次はRJ71SEIP91-T4のEDS Fileをインストールします。
一番下にある”Install”ボタンをクリックします。
三菱のHPからDownloadしたRJ71SEIP91-T4のEDS Fileをインストールしましょう。
Done!
Resigter
今度はTag Setの画面に入り、Registration Allをクリックしプロジェクト内の変数をEthernet/IPのネットワークで使用できるように公開します。
すべてのTagを選び、Registerで進みます。
Done!
Add RJ71SEIP91-T4
今度はRJ71SEIP91-T4を追加するため、Toolboxにある+ボタンをクリックします。
Ethernet/IPのNode設定画面に切り替えます。
Node Address
Node Addressは三菱のRJ71SEIP91-T4のIPアドレスに設定します。
Model Name
Model NameはもちろんRJ71SEIP91-T4に設定しましょう。
Revision
Revisionが1つしかありません。
Add RJ71SEIP91-T4
最後はToolboxの一番下にあるAddボタンでEthernet/IP Nodeを追加しましょう。
Done!
先ほど追加したRJ71SEIP91-T4を追加して行きましょう。
Configure Connection
RJ71SEIP91-T4と接続するためのパラメータを設定します。
INPUT/Originator Variable
INPUT/Originator VariableはRJ71SEIP91-T4からきたデータに転送する変数を定義します。今回の例ではDataFromEagleに設定します。
OUTPUT/Originator Variable
OUTPUT/Originator VariableはRJ71SEIP91-T4に送信するデータの変数を定義します。今回の例ではDataToEagleに設定します。
Open EDS File via EZ
RJ71SEIP91-T4のInstance番号を知りたいので、EZ-EDS ツールでRJ71SEIP91-T4のEDS Fileを開きます。今回の記事で使用したいのはExclusive Owner接続なので、Connection Manager>Connection1をクリックしてください。
一番下にScrollするとConnection1 Exclusive Ownerの接続Pathが表示されます。
そこにParam21とParam20という2つの変数があります。
Param21=RJ71SEIP91-T4の出力データ、Param20=RJ71SEIP91-T4の入力データになります。
一旦EZ-EDS ツールからParams項目を開き、Param21‐Assembly instance O->Tを開きます。
Min Valueが1024、Maxは1087、そしてDefaultは1024と明記されていますので、Param21が1024から始まることがわかります。前回の記事でRJ71SEIP91-T4が1Portあたり最大のClass1通信数は64までと言いましたが、1024+64‐1=1087なので、丁度64Connectionになります。
次はParam20‐Assembly instance T->Oを開きます。Min Valueが768、Maxは831、そしてDefaultは768と明記されていますので、Param20が768から始まることがわかります。前回の記事でRJ71SEIP91-T4が1Portあたり最大のClass1通信数は64までと言いましたが、768+64‐1=831なので、丁度64Connectionになります。
Input Target Variable
RJ71SEIP91-T4のInstance番号が把握できましたので、Target VariableにInstance番号を設定しましょう。
先程Param21で1024がDefaultだと把握できましたね。
OMORNのPLCをRJ71SEIP91-T4のIdentifier 1のConnectionと接続する予定なのでここは1024を入力しましょう。
Input Byte Size
RJ71SEIP91-T4のデータサイズは20Bytesだと三菱側が設定しましたので、OMRON側もそれに合わせて行きましょう。
Output Target Variable
RJ71SEIP91-T4のInstance番号が把握できましたので、Output Target VariableにInstance番号を設定しましょう。OMORNのPLCをRJ71SEIP91-T4のIdentifier 1のConnectionと接続する予定なのでここは768を入力しましょう。
それは先程Param20で768がDefaultだと把握できましたね。
Output Byte Size
RJ71SEIP91-T4のデータサイズは20Bytesだと三菱側が設定しましたので、OMRON側もそれに合わせて行きましょう。
Connection Type
Connection TypeはPoint to Pointに設定します。
RPI
RPIはアプリケーションとネットワーク負荷に合わせて設定しましょう。
Go Online
Controller>Onlineします。
Transfer Ethernet/IP Setting
Ethernet/IP設定をOMRON NX1 CPUに転送します。
Yesで進みます。
今回はCPUを一旦止めて転送したいので、”Change to PROGRAM mode and execute the transfer”をクリックします。
しばらく待ちます…
YesでCPUを状態をもとに戻ります。
Transfer Project
今度はプロジェクト全体をCPUに転送します。Controller>Transfer>To Controllerをクリックします。
Execute で進みます。
Yesで進みます。
しばらく待ちます…
Done!YesをクリックしCPUをRUNに切り替えましょう。
Done!
Result
最後は通信確認したいので、Sysmac StudioがOnlineしてる状態でPortを右クリック>Monitorします。
Status TabからRJ71SEIP91-T4と通信してることがわかります。
Connection Statusにもエラーなしであることがわかります。
Tag StatusにはDataFromEagleとDataToEagle2つのTagにもOKだと確認できました。
Output Tag Set/Input Tag SetのTab現在すべてのTagの通信状態を確認可能です。
三菱RJ71SEIP91-T4と交換してるデータの現在値も確認できました。
WiresharkからもCIP IO Messageが交換してることがわかりました。