Rockwell#Configure the Safety CPU L43S x Connect with Molex CIP Safety IO

この記事ではRockwellの少し古いCPU GuardLogix L43Sと1768 ENBT-A Ethernet/IP Scanner モジュールを使用し、CPU GuardLogix L43SをSafety Controllerを立ち上げるまで説明します。Adpater側はMolex CIP Safety Hash IO TCDEC-8D4B-DYU-GWです。

よろしくお願いします。

Implementation

まずは0から構築をStep by Stepで説明します。

Molex Side

Adapter側、今回使用するMolex CIP Safety Hash IO Moduleから設定していきます。

Wiring

こちらはESTOPの配線です。

Download SNCT Tools 

下記のLinkからMolexのSNCTツールをDownloadします。このツールからSafety ResetやMolex CIP Safety Hash IO Moduleを設定できます。

https://www.molex.com/molex/mysst/doCenter.action

Safety Network Configuration Tools>Downloadします。

Zip fileがDownloadされました。

Installation

Fileを解凍しsetup.exeからツールをインストールします。

Next>.

Next>.

Install.

インストール完了した。

SNCTDevice はOSにインストールされました。

Download EDS Files

次は同じWebからEDS FileもDownloadしてください。

Configure the Module

最初にMolex CIP safety Hash IOをリセットします。

Molex SNCT Software が起動しました。

Create New Project

File>New で新規プロジェクトを作成します。

今回の記事ではTCDEC-8B4B-DYU-Gx を使用しますので、デバイスを選び>OKします。

新規プロジェクトが作成されました。

Go Online

モジュールと接続してるNetwork Interfaceを選び>デバイスのIPを設定>最後はSafety Network Numberを設定すればOKです。(Defaultにしたまま、OmronのツールからSafety Network Numberを設定してもOKです。Module Discovery でデバイスを検索します。

CIP Safety Hash IOを選んで>Selectします。

“Establish communication with the module”をクリックしモジュールと接続します。

TUNIDが実機とProject異なるのでいいですか?の警告があります。

Yesで進みます。

Safety Reset

接続に成功したらSafety Operation Tabを開き>Safety Resetボタンでモジュールをリセットします。

Safety Resetするとすべての情報がリセットされるが大丈夫ですかって。Yesで進みます。

Yesで進みます。

Safety Reset完了です!

Rockwell Side

次はRockwell Sideを構築します。

Install EDS

Tools>EDS Hardware Installation Toolを起動します。

Next>します。

Register an EDS Files(s)を選び、Next>します。

Register a directory of EDS Fileを選び>Browseします。

EDSにあるFolderを選び、OKします。

Next>します。

Next>します。

Next>します。

Done!

Insert Module

次はMolex CIP safety Hash IOをEthernet/IP NetworkにInsertします。1768-ENBT/A右クリック>New Moduleします。

CatalogからMolexを検索し、実機の型式に合わせて選択し、Createボタンをクリックします。

IP Addressを設定・モジュール名を入手>Okします。

TCDEC-8B4B-DYU-Gが追加されました。

Copy Safety Network Number

1768-L43Sをクリック>General TabからSafety Network NumberをCopyします。まず…ボタンをクリックします。

Safety Network Number Popupが表示され、CopyでSafety Network Numberを複製します。

Set TUNNID

またMolexのSNCT Toolに戻り、General TabからSafety Network NumberのところPasteボタンからSafety Network Numberを貼り付けます。

Set TUNID in DeviceでMolex CIP Safety Hash IOのTUNIDを設定します。

これでOKです。

Time

RockwellのCPU 時間を設定します。Date/TimeのTab開き、”Set Date,Time and Zone From Workstation”ボタンでEnginnering Stationの時間とCPUを同期します。

Safety Signature

Communication>Go Onlineをします。

Safety Signatureを生成します。Safety Tab>Generateします。

しばらく待ちます…

これでOKです!

Program

最後は簡単なプログラムを作成します。

Add Data Type

Data Types>User-Defined>右クリック>New Data Typeします。

こちらはMolex CIP Safety Hash IOのInput Only Assembly 768データ構造です。

Input OnlyのAssemblyに合わせてData Typesを作成しましょう。

MAIN

Controller TagsにはすでにMolex CIP Safety Hash IOのTagsが作成されていますが、それでは少しわかりにくいですね。

Program Tags

MainProgramのProgram Tagsで以下の変数を定義します。

Program

こちらは簡単なプログラムになります。

//Safety Input

Module1.SafetyInput[0]:=CIPSafetyModule1:I.Data[0].0;
Module1.SafetyInput[1]:=CIPSafetyModule1:I.Data[0].1;
Module1.SafetyInput[2]:=CIPSafetyModule1:I.Data[0].2;
Module1.SafetyInput[3]:=CIPSafetyModule1:I.Data[0].3;
Module1.SafetyInput[4]:=CIPSafetyModule1:I.Data[0].4;
Module1.SafetyInput[5]:=CIPSafetyModule1:I.Data[0].5;
Module1.SafetyInput[6]:=CIPSafetyModule1:I.Data[0].6;
Module1.SafetyInput[7]:=CIPSafetyModule1:I.Data[0].7;
Module1.SafetyInput[8]:=CIPSafetyModule1:I.Data[1].0;
Module1.SafetyInput[9]:=CIPSafetyModule1:I.Data[1].1;
Module1.SafetyInput[10]:=CIPSafetyModule1:I.Data[1].2;
Module1.SafetyInput[11]:=CIPSafetyModule1:I.Data[1].3;

//Safety Input Status

Module1.SafetyInputStatus[0]:=CIPSafetyModule1:I.Data[2].0;
Module1.SafetyInputStatus[1]:=CIPSafetyModule1:I.Data[2].1;
Module1.SafetyInputStatus[2]:=CIPSafetyModule1:I.Data[2].2;
Module1.SafetyInputStatus[3]:=CIPSafetyModule1:I.Data[2].3;
Module1.SafetyInputStatus[4]:=CIPSafetyModule1:I.Data[2].4;
Module1.SafetyInputStatus[5]:=CIPSafetyModule1:I.Data[2].5;
Module1.SafetyInputStatus[6]:=CIPSafetyModule1:I.Data[2].6;
Module1.SafetyInputStatus[7]:=CIPSafetyModule1:I.Data[2].7;
Module1.SafetyInputStatus[8]:=CIPSafetyModule1:I.Data[3].0;
Module1.SafetyInputStatus[9]:=CIPSafetyModule1:I.Data[3].1;
Module1.SafetyInputStatus[10]:=CIPSafetyModule1:I.Data[3].2;
Module1.SafetyInputStatus[11]:=CIPSafetyModule1:I.Data[3].3;

//Safety Test Output Value
Module1.TestOutValue[0]:=CIPSafetyModule1:I.Data[4].0;
Module1.TestOutValue[1]:=CIPSafetyModule1:I.Data[4].1;
Module1.TestOutValue[2]:=CIPSafetyModule1:I.Data[4].2;
Module1.TestOutValue[3]:=CIPSafetyModule1:I.Data[4].3;
Module1.TestOutValue[4]:=CIPSafetyModule1:I.Data[4].4;
Module1.TestOutValue[5]:=CIPSafetyModule1:I.Data[4].5;
Module1.TestOutValue[6]:=CIPSafetyModule1:I.Data[4].6;
Module1.TestOutValue[7]:=CIPSafetyModule1:I.Data[4].7;
Module1.TestOutValue[8]:=CIPSafetyModule1:I.Data[5].0;
Module1.TestOutValue[9]:=CIPSafetyModule1:I.Data[5].1;
Module1.TestOutValue[10]:=CIPSafetyModule1:I.Data[5].2;
Module1.TestOutValue[11]:=CIPSafetyModule1:I.Data[5].3;

//Safety Test Output Status
Module1.TestOutputStatus[0]:=CIPSafetyModule1:I.Data[6].0;
Module1.TestOutputStatus[1]:=CIPSafetyModule1:I.Data[6].1;
Module1.TestOutputStatus[2]:=CIPSafetyModule1:I.Data[6].2;
Module1.TestOutputStatus[3]:=CIPSafetyModule1:I.Data[6].3;
Module1.TestOutputStatus[4]:=CIPSafetyModule1:I.Data[6].4;
Module1.TestOutputStatus[5]:=CIPSafetyModule1:I.Data[6].5;
Module1.TestOutputStatus[6]:=CIPSafetyModule1:I.Data[6].6;
Module1.TestOutputStatus[7]:=CIPSafetyModule1:I.Data[6].7;
Module1.TestOutputStatus[8]:=CIPSafetyModule1:I.Data[7].0;
Module1.TestOutputStatus[9]:=CIPSafetyModule1:I.Data[7].1;
Module1.TestOutputStatus[10]:=CIPSafetyModule1:I.Data[7].2;
Module1.TestOutputStatus[11]:=CIPSafetyModule1:I.Data[7].3;

//Safety Output Monitioring
Module1.SafetyOutputMonitor[0]:=CIPSafetyModule1:I.Data[8].0;
Module1.SafetyOutputMonitor[1]:=CIPSafetyModule1:I.Data[8].1;
Module1.SafetyOutputMonitor[2]:=CIPSafetyModule1:I.Data[8].2;
Module1.SafetyOutputMonitor[3]:=CIPSafetyModule1:I.Data[8].3;

//Safety Output Status
Module1.SafetyOutputStatus[0]:=CIPSafetyModule1:I.Data[10].0;
Module1.SafetyOutputStatus[1]:=CIPSafetyModule1:I.Data[10].1;
Module1.SafetyOutputStatus[2]:=CIPSafetyModule1:I.Data[10].2;
Module1.SafetyOutputStatus[3]:=CIPSafetyModule1:I.Data[10].3;

//Other Status
Module1.OutputPowerError:=not CIPSafetyModule1:I.Data[12].0;
Module1.InputPowerError:=not CIPSafetyModule1:I.Data[12].1;
Module1.GlobalSafetyOutputStatus:=not CIPSafetyModule1:I.Data[12].2;
Module1.GlobalSafetyInputStatus:=not CIPSafetyModule1:I.Data[12].3;
Module1.MutingLampStatusTO3:=not CIPSafetyModule1:I.Data[12].4;
Module1.MutingLampStatusTO7:=not CIPSafetyModule1:I.Data[12].5;
Module1.OutputCrruentError:=not CIPSafetyModule1:I.Data[12].6;
Module1.InputCurrentError:=not CIPSafetyModule1:I.Data[12].7;

ESTOP:=Module1.SafetyInput[0] and Module1.SafetyInput[1];

Rockwell CPU Download

Communication>DownloadでProjectをCPUにDownloadします。

Downlaodで進みます。

しばらく待ちます…

Molex Configuration Download

MolexのSNCT ToolsからI0とI1をSafety Inputとして設定します。

Download Configuration to moduleでConfigurationをModuleにDownloadします。

Yes。

OKです。

Result

実際の通信状態を見てみましょう。

Ethernet>Molex Moduleをクリックします。

Module Info Tabを開き>Refreshボタンをクリックします。

Faultがなし・モジュールがRun Modeで、Configurationも完了です。

実際I0とI1にも信号が入っていますね!

Turn to Rockwell PLC to Run Mode

Rockwell PLC Normal Status

Molex CIP Safety Hash IO Module Normal Status

https://youtube.com/shorts/35HxnZf9j64

ESTOP Status

Project Download

下記のLINKからProjectをDownloadできます。

https://github.com/soup01Threes/Rockwell/blob/main/Rockwell_L43s.With%20Molex%20CIP%20Safety%20IO.7z

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

シェアする

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

フォローする