三菱電機#RJ71SEIP91-T4とOMRON NX1 SL5500でCIP Safety Class0 Instance通信しよう

こちらは新しい記事シリーズで、三菱のRJ71SEIP91-T4を使用し様々な通信テストを行います。今回はRJ71SEIP91-T4とOMRON NX1-9000とSL5500でCIP Safety Class 0 通信構築方法を0から説明します。RJ71SEIP91-T4がAdapterであり、OMRON NX1-9000はScannerになります。

さ、FAを楽しもう。

Reference Link

三菱電機#RJ71SEIP91-T4とTwinCAT3 TF6280でInstance通信しよう
三菱電機#RJ71SEIP91-T4とOMRON NX1でClass 1 Instance通信しよう

Reference Video

三菱電機.RJ71SEIP91-T4 開封しました!

Safety Communications

CIP Safety モジュールはoriginator またはtargetとして動作し、CIP Safety 互換デバイスとの接続を確立し、固定スキャンで安全通信を実行します。

セーフティ・コミュニケーションには2つの方法があります:

  • インスタンスIDを使用するインスタンス通信
  •  タグ名を使用するタグ通信

こちらはRJ71SEIP91-T4がTargetとして設定された場合、使用可能な設定です。

こちらはRJ71SEIP91-T4がoriginatorとして設定された場合、使用可能な設定です。

Overview 

これはCIP Safetyの通信を見てみましょう。

CIP Safety Module As Consumer

CIP Safety モジュール ( consumer ) と入力デバイス ( producer ) の間でCIP Safety 対応デバイスからデータを受信するときは、CIP Safety モジュールをoriginator /consumerに設定します。

外部装置の状態は、CIP Safety 対応入力装置 (producer) の安全入力に保存されます。

セキュリティデータの転送により、CIP Safety モジュール(consumer)に接続された CPU モジュールのセーフティデバイス(受信データ)に、 CIP Safety 対応入力装置(producer)のセーフティ入力状態が格納されます。

CIP Safety Module As Consumer

CIP Safety モジュール ( producer ) と出力デバイス ( consumer ) の間でCIP Safety 対応デバイスにデータを送信するときは、CIP Safety モジュールをTarget/およびproducer に設定します。

CIP Safety モジュール ( producer  ) に接続された CPU モジュールの安全装置 ( 送信データ ) がONコマンドに入っています。

安全データを転送することで、CIP Safety モジュール(producer)に接続された CPU モジュールの安全装置の状態が、CIP Safety 対応出力装置(consumer)の安全出力に格納されます。

CIPセーフティ対応出力機器(consumer)のセーフティ出力状態を外部機器に出力します。

Safety response time

安全応答時間とは、入力装置(センサやスイッチなど)から出力装置(アクチュエータなど)までの総応答時間(最大値)です。こちらのシステム構成の例では、非常停止スイッチを押してからロボットが停止するまでの時間が安全応答時間となります。

Calculation formula

総安全応答時間は、安全通信部の応答時間と安全装置の応答時間の和であります。

Response time of the safety communication part (ms)

Implementation

これからCIP Safety接続や安全プログラムを構築します。

Mels Side

最初に三菱とRJ71SEIP91-T4側を設定します。

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をダブルクリックし、ツールを起動しましょう。

Enable Safety Target

RJ71SEIP91-T4にSafety Target Class0通信を有効にするため、使用するネットワークを選び>General>Operation Mode>Safety Target(Class 0)のCheckboxを入れます。

CIP Configuration Toolに”Safety Target (Class 0)”のTabが追加されました。

Add Class0 Instance

次はClass0 通信用のInstanceを設定します。

Direction

Class0 Instance通信方式を設定します。

  • T->OはRJ71SEIP91-T4視点では出力データになります。
  • O->TはRJ71SEIP91-T4視点では入力データになります。
Instance Number

次は該当するClass0通信のInstance番号を設定します。(528から)

Size

Sizeでは各Connectionの交換するデータサイズ(Byte単位)を設定します。

Max Subscribers

マルチキャスト通信の最大同時接続数を設定します。この項目は、方向がT->Oの場合のみ有効です。

Safety Operation

次はSafety Tabを開きます。

Safety Reset

RJ71SEIP91-T4の安全通信部分にセーフティリセットを実行し、TUNIDをリセットします。

Resetをクリックします。

Yesで進みます。

Done!

PLCを再起動しましょう。

Edit your TUNID

EditボタンをクリックしRJ71SEIP91-T4のTUNIDを設定します。

Time-basedもしくは手動で設定可能で、今回は手動でTUNIDを設定します。

Set TUNID

最後はSet TUNIDボタンをクリックし、RJ71SEIP91-T4のTUNIDを設定しましょう。

Done!

Listing

Configuration>ListingをクリックしRJ71SEIP91-T4のCIP Safety接続を確認します。

CIP Configuration Toolに各CIP Safetyの通信設定パラメータが表示されました。

Mapping

Safety Communication Moduleをクリックし>CPU Data Exchange TabでデータのMappingを行います。

こちらはCIP Safety<ー>CPU間をMappingする設定画面です。

Receive Labels Data

こちらは受信デバイス内の入力データのラベル名を設定します。

Cons. Status Prod. Status

内部のConsumer 安全接続ステータスのラベル名を設定します。

Receive Devices 

GXWORKS内に受信デバイスを設定します。

Send Labels

送信デバイスのラベル名を設定します。

Send Devices

CIP Safetyで送信デバイスを設定します。

Export Label to GxWorks3

最後は”GxWorks3 Copy Labels”のボタンをクリックし、ツールで設定したMapping設定をGxWorks3 のプロジェクトに貼り付けましょう。

Label>Global Label>右クリック>Add New Dataします。

Category項目でSafetyを設定します。

Global Label List名を入力し、OKで確定します。

Done!

Safety Global Label Listを開き、”Show Details”をクリックします。

次はCtrl+Vで先ほど設定したラベルを貼り付けましょう。

Done!

Add Shared GVL

次はStandard/Safety SharedのGlobal Label Listを追加します。

安全・非安全のプログラムで使用する変数を定義します。

NonSafety-Program

非安全プログラムを作成します。

下図のようにRJ71SEIP91-T4の通信開始信号や各接続の状態を取得します。

RJ71SEIP91_1.stEIPCls1_P1.uSet_CommunicationStartupRequest_D:=1;
gModuleOK:=RJ71SEIP91_1.bSts_ModuleReady;
gConnection528OK:=RJ71SEIP91_1.stCIP_Safety_P1.bnDataLinkStatus_Out_D[1];
gConnection529OK:=RJ71SEIP91_1.stCIP_Safety_P1.bnDataLinkStatus_In_D[2];

Safey Program

今度は安全プログラムを作成するため、Fixed Scan>右クリック>Add New Dataをします。

CategoryをSafetyに選択します。

Data typeをProgram Blockに設定します。

三菱の安全プログラムではLadderのみで作成できます。

Done!

こちらは今回三菱側が作成した安全プログラムです。

Rung1/2

こちらはInstance528とInstance529の状態、またRJ71SEIP91-T4本体エラー発生してるかをCheckします。

Rung3/4/5

こちらはOMRON NX1にCIP Safety経由で送信するデータです。

Rung6/7

こちらはOMRON NX1から受信したデータです。

Write

Online>Write to PLCでプロジェクトをCPUにDownloadしましょう。

Reset Power

最後はIQ-R CPUの電源を入れ直しましょう。

OMRON Side

次はオムロン側を設定します。

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アドレスを設定します。

Configure Safety

Sysmac Studio側のCIP Safety接続や安全プログラムを構築していきます。

Insert SL5500

今回記事で使用するSL5500をHardware Configurationに挿入するため、CPU/Expansion Racks>CPU Rackをクリックします。

ToolboxからSL5500をプロジェクトに追加します。

Done!

次はDrop-ListからSL5500(安全部分)を設定します。

Sysmac StudioがSL5500の設定画面になりました。

Configure CIP Safety Connection

SL5500でCIP Safety(Originator)接続を追加するため、Connection Settingsを開きます。

こちらはCIP Safetyの接続画面になります。

Safety Network Number

Network1のSafety Network 番号を設定します。

今回はManaul 0004 1に設定します。

Done!

Open EDS File via EZ

RJ71SEIP91-T4のSafety Class0 通信 Instance番号を知りたいので、EZ-EDS ツールでRJ71SEIP91-T4のEDS Fileを開きます。

Install EDS File

EDS Library for CIP Safetyをクリックし、RJ71SEIP91-T4のEDS Fileを作成します。

New EDS Fileをクリックします。

こちらはSysmac StudioのEDS File作成画面です。

Vendor ID

Vendor IDはEZ-EDSで表示したRJ71SEIP91-T4 Vendor ID値をあわせてください。

Vendor Name

Vendor NameはEZ-EDSで表示したRJ71SEIP91-T4 Vendor Name値をあわせてください。

Product Type

Product TypeはEZ-EDSで表示したRJ71SEIP91-T4 Product Type値をあわせてください。

Product Type String

Product Type StringはEZ-EDSで表示したRJ71SEIP91-T4 Product Type String値をあわせてください。

Product Code

Product CodeはEZ-EDSで表示したRJ71SEIP91-T4 Product Code値をあわせてください。

Product Name

Product NameはEZ-EDSで表示したRJ71SEIP91-T4 Product Name値をあわせてください。

Major Revision

Major RevisionはEZ-EDSで表示したRJ71SEIP91-T4 Major Revision値をあわせてください。

Minor Revision

Minor RevisionはEZ-EDSで表示したRJ71SEIP91-T4 Minor Revision値をあわせてください。

Safety Input‐ Input Assembly Instance

Safety Input項目にあるInput Assembly InstanceはRJ71SEIP91-T4のCIP Configuration Toolに設定したT->O>Instance番号に合わせて設定しましょう。

Safety Input‐ Output Assembly Instance

次はSafety Input – Output Assembly Instanec番号を調べるために、Connection Manager>Connection4‐Safety Input Assemblyを開きます。

一番下には接続Pathという項目がありまして、64のところはSafety Input – Output Assembly Instanec番号になります(16進数)。

なので、Safety Input – Output Assembly Instanceに100を設定します。

Safety Input‐ Size

Safety Input AssemblyのデータサイズはCIP Configuration Toolsに設定したデータサイズに合わせていきましょう。

Safety Output‐ Input Assembly Instance

今度はSafety OutputのInput Assembly Instance番号を調べるため、またEZ-EDS ツール>Connection Manager5>Safety Output Assembly をクリックします。

Connection PathのところのSafety Output‐Input Assembly Instance番号が64であることがわかります(16進数)。

なので、Safety Output – Input Assembly Instanceに100を設定します。

次はConnection Pathの隣にCreate/Decode Pathのボタンがあります。

EZ-EDSツールで該当するConnectionのPathを分解することが可能です。

Safety Output‐ Output Assembly Instance

Safety Output項目にあるOutput Assembly InstanceはRJ71SEIP91-T4のCIP Configuration Toolに設定したO->T>Instance番号に合わせて設定しましょう。

Safety Output‐ Data Size

Safety Output AssemblyのデータサイズはCIP Configuration Toolsに設定したデータサイズに合わせていきましょう。

How to Know the Assembly ID?

では、EZ-EDSツールで実際RJ71SEIP91‐T4のSafety Assemblyの番号ってどうやって調べるのでしょう。EZ-EDSツールでParm54でSafety Assembly IDという項目があります。

このParam54には1−1023から設定可能であることがわかります。

Configuration Assembly

最後はRJ71SEIP91‐T4のConfiguration Assembly Instance番号もConnection Pathから調べることができます。ここでConnection Path=64(16進数)であることがわかります。

Configuration Assemblyに100を設定しましょう。

Result

こちらは今回RJ71SEIP91‐T4の設定結果で、OKで進みます。

OKで進みます。

Done!RJ71SEIP91‐T4のEDS Fileが生成されました。

Insert RJ71SEIP91‐T4

次はRJ71SEIP91‐T4をCIP Safetyネットワークに追加するため、先程生成したEDS Fileを選び>右クリック>Insertします。

Done!RJ71SEIP91‐T4が追加されました。

IP Address

RJ71SEIP91‐T4のIPアドレスを設定します。

三菱側のCIP Configuration ToolsにRJ71SEIP91‐T4を設定したIPに合わせていきましょう。

EPI

EPIもアプリケーションに合わせていきましょう。

Instance Name

Instance Nameはのちほど変数を定義するときに使用します。

I/O Mapping

次はRJ71SEIP91‐T4とCIP Safetyで交換したデータを安全プログラムで使いたいので、I/O Mapを開きます。

こちらはSafety変数の設定画面になります。

RJ71SEIP91‐T4>Safety input>Safety Input Data Byte1>右クリック>Create Device Variable with Prefixで安全変数を自動生成します。

Prefixを設定し、OKで進みます。

Done!

他の安全入力・安全出力領域にも同じ操作で安全変数を定義しましょう。

Safety Program

今度は安全プログラムを作成するために、Programming>POUs>Programs>DefaultのProgram0を開きます。

Internal

こちらは今回記事で使用した内部変数で、安全と非安全変数もあります。

Program

こちらは今回作成した安全プログラムです。

Network1

ネットワーク1はRJ71SEIP91‐T4に送信する安全データ(Byte1、0Bit目)を常時ONにします。

Network2

ネットワーク2は内部安全変数sONOFFをSF_SRの安全Function BlockでON/OFFを切り替えます。

Network3

ネットワーク3がネットワーク2に演算した結果sONOFFがTrueである場合、RJ71SEIP91‐T4に送信する安全データ(Byte1、7Bit目)をONにします。

Network4

ネットワーク4がネットワーク2に演算した結果sONOFFがFalseである場合、RJ71SEIP91‐T4に送信する安全データ(Byte1、6Bit目)をONにします。

Network5

ネットワーク5がRJ71SEIP91‐T4から受信したデータ(Byte4、0,1,2Bit目)をSF_EmergencyStopの非常停止入力として使用し、Blockの演算結果を、RJ71SEIP91‐T4に送信する安全データ(Byte4、0Bit目)を反映にします。

Download Configuration

最後は安全プログラムをNX1 CPUにDownloadするために、Controller>Onlineします。

Transfer>To Controllerします。

Executeで進みます。

Yesで進みます。

Yesで進みます。

少々お待ち下さい…

Yesで進みます。

Done!

Download Ethernet/IP Connection Settings

次はEthernet/IPの接続設定をControllerにDownloadするために、Tools>Ethernet/IP Connection Settingします。

Port1を右クリック>Editします。

Transfer to Controllerをクリックし、Ethernet/IP設定をNX1 Controllerに転送します。

Yesで進みます。

Ethernet/IP設定を転送するにはCPUを停めるかを選択してください。

少々お待ち下さい…

Yesで進みます。

Download Safety 

最後は安全プログラムをDownloadします。

Controller>Onlineします。

SL5500をPROGRAM Modeに切り替えます。

Yesで進みます。

OKで進みます。

OKで進みます。

Done!

次はDebug Modeに入ります。

Yesで進みます。

Yesで進みます。

Done!

OKで進みます。

Yesで進みます。

Passwordが設定された場合は、Passwordを入力し、OKで進みます。

Verify Validationで安全プロジェクトをコンパイルします。

Yesで進みます。

Done!

OKで進みます。

Go RUN MODE

CPUをRUN MODEに切り替えます。

Yesで進みます。

Yesで進みます。

Done!

Okで進みます。

OKで進みます。

Loginします。

Result

RJ71SEIP91-T4とOMRON NX1のSL5500にもエラーなしの状態です。

CIP Safety Monitorを使用し、現在のRJ71SEIP91-T4と接続状態を確認しましょう。

Safety InputとSafety Output両方の正常な状態になっています。

次はOMRON側のSafetyプログラムを見てみましょう。

GXWROKS3でRJ71SEIP91-T4をOMRONにCIP Safety経由で送信する3つのBitをONにしてみます。

Done!OMRON NX側が正常にデータを受け取りました。

OMRON NX側が送信したデータがRJ71SEIP91-T4も無事に受け取りました。

Footer_Basic

Please Support some devices for my blog

Amazon Gift List

Find ME

Twitter:@3threes2
Email:soup01threes*gmail.com (* to @)
YoutubeChannel:https://www.youtube.com/channel/UCQ3CHGAIXZAbeOC_9mjQiWQ

シェアする

  • このエントリーをはてなブックマークに追加

フォローする