三菱電機#RJ71SEIP91-T4とEuchner CIP Safetyドアロックを接続しよう

こちらは新しい記事シリーズで、三菱のRJ71SEIP91-T4を使用し様々な通信テストを行います。今回はRJ71SEIP91-T4とEuchnerのMGB-L2B-EIA-R-136508とCIP SAFETY Class通信方法を0から構築し、GXWORKS3内にもSafetyFBを使用し安全プログラムを作成していきます。

さ、FAを楽しもう。

Reference Link

三菱電機#RJ71SEIP91-T4とOMRON NX1 SL5500でCIP Safety Class0 Instance通信しよう
三菱電機#RJ71SEIP91-T4とTwinCAT3 TF6280でInstance通信しよう
三菱電機#RJ71SEIP91-T4とOMRON NX1でClass 1 Instance通信しよう
OMRON#Turck TBIP-L5-4FDI-4FDXとCIP Safetyで繋がってみよう
三菱電機#RJ71SEIP91-T4とTURCK TBIP-L5-4FDI-4FDXでCIP Safety通信しよう

Reference Video

OMRON.TurckのCIP Safety IOと繋がってみよう

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

前書き

いつも私の技術ブログとYouTubeチャンネルをご覧いただき、心より感謝申し上げます。また、いまFullさん(full@桜 八重 (@fulhause) / X)と共に毎週水曜日の夜にお届けしている「高橋クリス」ラジオ番組を運営しています。

現在、私達の活動はほぼ無償で続けており、より多くのコンテンツを提供するためには、皆様の温かいご支援が大変重要です。もし可能であれば、以下のリンクから応援していただけると大変嬉しく思います。

高橋クリスのメンバーシップ

こちらはFullさん(full@桜 八重 (@fulhause) / X)と共にやっているラジオにメンバーシップを登録いただけます。

https://note.com/fulhause/membership/join

AMAZON ギフトリスト

こちらは自分のブログのコンテンツ制作や設備の充実に大いに役立てさせていただきます。

https://www.amazon.co.jp/hz/wishlist/ls/H7W3RRD7C5QG?ref_=wl_share

Patreon

こちらは自分のブログのコンテンツ制作や設備の充実に対する小さな応援の気持ちのPatreonです。

https://www.patreon.com/user?u=84249391

皆様のサポートが、私たちの活動をより充実させる力となります。

どうぞよろしくお願いします。

メールアドレス(*=@)

soup01threes*gmail.com

X

https://x.com/3threes2

MGB-L2B-EIA-R-136508

こちらは今回記事で使用するCIP Safetyドアロック、EuchnerのMGB-L2B-EIA-R-136508 (Order no. 136508)になります。

Layout

こちらはMGB-L2B-EIA-R-136508 (Order no. 136508)のLayoutです。

DIP スイッチ設定

こちらはMGB-L2B-EIA-R-136508 (Order no. 136508)のDIPスイッチ設定です。

Connections, variant M12

バスモジュールには、イーサネット/IP接続(X3とX4)と電源接続(X1とX2)が含まれます。 接続はM12プラグ(イーサネット/IP M12 Dコード、電源 M12 Aコード)を使用します。また、イーサネット接続用のイーサネット/IPスイッチが搭載されています。

Ethernet/IP data bytes

MGBシステムには以下のモジュールが含まれています。

  • バスモジュール、MGB-B-…EI (Ethernet/IP接続に必要なすべてを含む)
  • ロックモジュール、MGB-L。 (ハンドルモジュールと共にドアロック機構を形成します)

また、各MGBモジュールは、制御システムの入出力範囲において、一定数のデータ・バイトを占有し、以下のデータ型は区別されます:

  • 安全データ
  • 非安全データ

M+SF_GLOCK_R 

こちらはガードロックを制御し、なおかつ位置を監視するFBです。 このFBは機械式ロックスイッチと共に使用でき、 オペレータは危険エリアへのアクセスを要求します。 ガードのロックは、危険領域が安全状態にあるときのみ解除できます。

VAR_INPUT

変数名タイプ説明
i_bActivate Bit 1=FBを作動する
i_bS_GuardMon Bit ガードインターロックを監視する0:ガードオープン1: ガードクローズ
i_bS_SafetyActive Bit 危険区域の状況0:マシンは「非安全」状態。1:マシンが安全状態
i_bS_GuardLock Bitメカニカルガードのロック状態0:ガードはロックされていません1: ガードがロックされています
i_bUnlockRequest Bitロック解除コマンド0:リクエストなし。1: リクエストあり。
i_bS_StartReset Bit起動した(初回)安全 FB のリセット方法の選択。
i_bS_AutoReset Bit入力信号をONにリセットするリセット方法の選択
i_bReset Bitリセット入力

VAR_OUTPUT

変数名タイプ説明
o_bReady Bit セーフティFBが作動しているかどうかの状態
o_bS_GuardLocked Bit 停止が必要な危険区域へのインターフェース0:安全状態ではない1:安全状態。 (ガードを閉じてロックしているので、機械は操作できます)。
o_bS_UnlockGuard Bit ガード解除コマンド0:クローズガード。1: ガードのロックを解除します。
o_bError Bit 1=エラーあり
o_wDiagCode Word [signed] 診断コード

Flow

こちらはM+SF_GLOCK_RのFlowになります。

シーケンサ

シーケンサ1,2

現在は危険区域が安全な状態にあることを確認し、該当する危険区域が安全な状態にあることをフィードバックします。

シーケンサ3,4

オペレータによるガード解除要求(i_bUnlockRequest input=ON)し、ガード解除信号を出力します(o_bS_UnlockGuardをONに設定)。

シーケンサ5

ガードロックを解除した信号が入力され(i_bS_GuardLock入力OFF)、ガードが開けられるようになります (o_bS_GuardLocked入力OFF)。

シーケンサ5.5

オペレーターがガードを開けます。

シーケンサ6

ガードが再び閉じているかどうかをチェックします。 (i_bS_GuardMonをON入力)

シーケンサ7,8

オペレータからの危険区域再開をリクエストします。(i_bUnlockRequest=ON)それによって、ガードをロックします。 (o_bS_UnlockGuard=ON)

シーケンサ9

ガードがロックされているかどうかをチェックします(i_bS_GuardLock=ON)。

シーケンサ10,11

危険区域は再び操業できます。 (o_bS_GuardLocked=ON) 

注意するにはi_bS_AutoResetがOFFの場合、i_bReset入力によるリセットが必要です。

Implementation

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

Euncher Side

最初にEuchner社のMGB-L2B-EIA-R-136508側を設定します。

Download EDS File

こちらのLinkでEuchnerのドアロックのEDS FileをDownloadしてください。

https://marketplace.odva.org/products/1872-mgb-with-ethernet-ip

Factory Reset

MGB-L2B-EIA-R-136508の右側のCoverを開けてください。

中にDIPスイッチがあり、すべてのDIPスイッチをOFFし、デバイスを再起動します。

DHCP Server Setting

ドアロックのDHCP Serverに設定するにはDIPスイッチ2のみONしてください。

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

Install EDS File

CIP Configuration Tools>Device Library>Add EDSでEDS Fileをインストールします。

”Add EDS From Directory”を選択し、Browseで先程DownloadしたEDS Fileが格納されたFolderを選択します。

インストールするEDS Fileを選び>Next>で進みます。

Done!EDS Fileがインストールされました。

Start Detection

Network Detection>Start Network detectionでネットワーク内のEthernet/IPデバイスを検索します。

OKで進みます。

しばらく待ちます…

Done!Euchner社のMGB-L2B-EIA-R-136508を検索できました。

Euchner社のMGB-L2B-EIA-R-136508をNetwork1に追加して行きましょう。

Done!

Safety Settings

Safety Connectionを構築するために必要なパラメータを設定します。

Safety Parameters

先ほど追加したEuchner社のMGB-L2B-EIA-R-136508を選び>Safety Settingsを>Safety Parameters Tabを開きましょう。

Safety ResetをクリックしEuchner社のMGB-L2B-EIA-R-136508のTUNIDをリセットします。

Resetで進みます。

Yesで進みます。

TUNIDをリセットします。

Done!

Set TUNID

次は”Set TUNID”ボタンをクリックし、Euchner社のMGB-L2B-EIA-R-136508に新しいTUNID IDをセットします。

Done!

Save Configuration

最後は”Save Configuration to Module”をクリックし、設定を変更しRJ71SEIP91-T4を転送します。

Yesで設定を保存します。

しばらくお待ち下さい…

Done!

Add Shared GVL

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

こちらはShared GVLの変数です。

Safety GVL

次はGXWORKSにEuchner社のMGB-L2B-EIA-R-136508と交換するSafety I/OデータをMappingします。Safety Communication Module>CPU Data Exchange>Label/Devicesをクリックし、適切なデバイスとMappingしましょう。

GxWorks3 Copy Labelsをクリックします。

新たなSafety GVLを作成、そのままCtrl+Vでラベルを貼り付けましょう。

NonSafety-Program

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

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

RJ71SEIP91_1.stEIPCls1_P1.uSet_CommunicationStartupRequest_D:=1;
RJ71SEIP91_1.stEIPCls1_P2.uSet_CommunicationStartupRequest_D:=1;

gsCommOK:=RJ71SEIP91_1.bSts_ModuleReady
AND RJ71SEIP91_1.stCIP_Safety_P1.bnDataLinkStatus_In_D[3]
and RJ71SEIP91_1.stCIP_Safety_P1.bnDataLinkStatus_Out_D[3];

gs1sClock:=SM412;

;

Safety FB

Fb16Bit2Word

こちらのFBは16個のBoolデータを1つのWordに変換します。

sxIn00 Bit VAR_INPUT
sxIn01 Bit VAR_INPUT
sxIn02 Bit VAR_INPUT
sxIn03 Bit VAR_INPUT
sxIn04 Bit VAR_INPUT
sxIn05 Bit VAR_INPUT
sxIn06 Bit VAR_INPUT
sxIn07 Bit VAR_INPUT
sxIn08 Bit VAR_INPUT
sxIn09 Bit VAR_INPUT
sxIn10 Bit VAR_INPUT
sxIn11 Bit VAR_INPUT
sxIn12 Bit VAR_INPUT
sxIn13 Bit VAR_INPUT
sxIn14 Bit VAR_INPUT
sxIn15 Bit VAR_INPUT
swOut Word [Signed] VAR_OUTPUT

下図のように、各BitをWordに出力するようにします。

MAIN

最後は安全プログラムを作成するため、Fixed Scan>Add New Dataをします。

Safety Ladderを作成します。

VAR

こちらはSafety プログラムで使用する変数になります。

_CommOK Bit VAR
_sEuchnerRUN Bit VAR
_sEuchnerConnFailed Bit VAR
_sEuchnerDiagActive Bit VAR
_AlwaysON Bit VAR_CONSTANT
_F1ES Bit VAR
_F1EEN Bit VAR
_DiagWord Word [Signed] VAR
Fb16Bit2Word_1 Fb16Bit2Word VAR
_AlwaysOFF Bit VAR_CONSTANT
_DiagCount Word [Signed] VAR
_GreenSw Bit VAR
_BlueSw Bit VAR
_RedSw Bit VAR
_DoorInPosition Bit VAR
_FID Bit VAR
_FIB Bit VAR
_FIL Bit VAR
_FISK Bit VAR
_FIUK Bit VAR
M_SF_ESTOP_R_01A_1 M+SF_ESTOP_R_01A VAR
_GreenLED Bit VAR
_BlueLED Bit VAR
_RedLED Bit VAR
M_SF_GLOCK_R_01A_1 M+SF_GLOCK_R_01A VAR
_UblockCommand Bit VAR
_ESTOPStatus1 Bit VAR
_DoorStatus1 Bit VAR
_ESTOPStatus2 Bit VAR
_DoorStatus2 Bit VAR

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

Rung1

Rung1は三菱のRJ71SEIP91-T4とEuchnerのMGB-L2B-EIA-R-136508の通信を確認します。

Rung2

Rung2はEuchnerのMGB-L2B-EIA-R-136508ドアロックの状態を取得します。

Rung5

Rung5は先程作成した16Bit→Wordの変換FBを使用し、EuchnerのMGB-L2B-EIA-R-136508の診断情報回数を取得します。

Rung23

Rung23はEuchnerのMGB-L2B-EIA-R-136508の各ボタン状態・非常停止状態を取得します。

Rung27

Rung27はEuchnerのMGB-L2B-EIA-R-136508のドア状態を取得します。

Rung32

Rung32は三菱のSafety Function Blockを使用し非常停止を制御します。

Rung38

Rung38はEuchnerのMGB-L2B-EIA-R-136508のドアロックのロック解除コマンドを発行します。

  • 緑ボタン押す:ロック解除
  • 赤ボタン押す:ロックする

Rung46

Rung46では三菱のSafety Function Blockを利用しEuchnerのMGB-L2B-EIA-R-136508のドアロックを制御します。

Rung49

Rung49は先程のSafety Function Blockの出力により、ドアロックをロック解除します。

TRUE=ロック解除します。

Rung50

Rung50は非常停止のSafety Function Blockの診断ワードから現在の状態を確認します。

  • ESTOP診断ワード=16#8005=リセット待ち
  • ESTOP診断ワード=16#8000=非常停止OK、Enable信号出力中

Rung52

Rung50はドアロックのSafety Function Blockの診断ワードから現在の状態を確認します。

  • ドアロック診断ワード=16#8003=リセット待ち
  • ドアロック診断ワード=16#8000=非常停止OK、Enable信号出力中

Rung54

Rung54は安全機器の状態により、青いランプの点灯か点滅かを出力します。

  • 点滅=リセット待ち
  • 点灯=すべての安全機器の状態は正常であること

Rung57

Rung57はEuchnerのMGB-L2B-EIA-R-136508の青いボタンランプを出力します。

Rung58

Rung58はドアロックの状態によって赤ボタンランプが点滅・点灯します。

  • 赤点滅:ドアロックは適切な位置にあり、リセット待ち
  • 赤点灯:ドアロックはロックした状態

Rung60

Rung60はEuchnerのMGB-L2B-EIA-R-136508の赤ボタンランプを出力します。

Rung61

Rung61はドアロック解除のとき、緑ボタンランプを点滅させて出力します。

Rung64

Rung64はEuchnerのMGB-L2B-EIA-R-136508の緑ボタンランプを出力します。

Result

最初にCIP CM Protocolからエラーメッセージが来てて、Revisionが異なるのせいで接続不可になっています。

そのエラーを解除する方法はEDS Fileを置き換えるか、もしくはSafety Connectionsに以下の設定を行います。

  • Check Type:Compatible Module
  • Minor Version:2(今回EuchnerのMGB-L2B-EIA-R-136508のMinor Version)

Done!CIP I/Oメッセージが交換できるようになりました。

三菱 GXWorks3のCIP Safety Configurationツールにも通信開通してたことをわかります。

こちらの動画で実際の動作を確認できます。

Mitsibushi.CIP Safety Module RJ71SEIP91-T4 With Euchner Door Lock

Download

こちらのLinkで今回記事で作成したプロジェクトをDownloadしてください。

https://github.com/soup01Threes/GXWROKS/blob/main/project_RJ71SEIP91T4_EuchnerCIPSafetyDoorSwitch.gx3

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

シェアする

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

フォローする