OMRON#NX102-9000とNX-SL5500でNXR-SXD1204-CSTとCIP Safety通信しよう_User defined編

今回の記事では、Safety Controllerとして OMRON NX102-9000 + NX-SL5500 を使用し、CIP Safety Targetとして NXR-SXD1204-CST をEtherNet/IPネットワーク上に接続します。

NXR-SXD1204-CST側には、非常停止スイッチとSafety Output機器を接続し、Safety Inputの状態をCIP Safety経由でNX-SL5500へ送信しますが、NXR-SXD1204-CSTの特徴であるUser definedアプリケーションを活用し、プログラムレスで安全制御を行います。

さ、FAを楽しもう!

Reference Link

http://soup01.com/ja/category/omron%e3%82%aa%e3%83%a0%e3%83%ad%e3%83%b3/nxr-sxd/

http://soup01.com/ja/category/protocol/ethernet-ip/cip-safety/

Safety Application

NXR-SのSafety Applicationは大きく4種類あります。違いは、「LogicをNXR-S側で持つか」「誰がApplicationを管理するか」です。大体4種類に分けています。

種類

そもそも何か

主な使い方

Remote I/O Mode Application

NXR-S内部Logicを使わず、I/O設定だけを持つApplication

Safety Controller側でSafety Logicを実行したい場合

Fixed Application

NXR-Sに最初から内蔵されているSafety Logic

用意されたLogicが用途にそのまま合う場合

User-defined Application

Sysmac Studioで独自に作成し、Safety ControllerからType1 Safety OpenでNXR-Sへ送るApplication

複数のNXR-SをSafety Controller側で集中管理したい場合

Add-on Application

Sysmac Studioで独自に作成し、Application FileとしてWeb UIからNXR-Sへ保存するApplication

NXR-S側にLogicを保存して分散管理したい場合

Remote I/O Mode Application

これは一番普通の「Safety Remote I/Oとして使うモード」と考えると分かりやすいです。NXR-S自身ではSafety Logicを実行せず、I/O Configurationだけを持ちます。Safety InputをSafety Controllerへ送り、Safety Controller側のSafety Programで判断してSafety Outputを制御します。また、NXR-S本体のSETTING SW1 / SW2は両方とも0に設定します。

Fixed Application

これはOMRONがあらかじめNXR-S本体に用意しているSafety Logicです。ユーザーがLogicを作る必要はありません。その代わり、Logicの仕様はカスタマイズできません。

Applicationには、Safety LogicとI/O Configurationが含まれており、NXR-S内部でSafety制御を実行します。そのため、Safety Controller側でSafety Logicを組む必要はなく、必要に応じてSafety ControllerからNXR-Sの入出力状態をMonitorすることもできます。

Fixed Application自体はNXR-S内部に保持されているため、使用するApplicationを本体のSETTING SW1 / SW2で選択します。SW1とSW2は両方とも、使用するFixed Applicationの番号1~3に設定します。

Add-on Application

Add-onも、User-definedと同じく自分でLogicを作る方式です。違うのは、そのLogicをSafety Controllerから毎回Configurationするのではなく、Safety ProgramはSafety Controller内に保持される一方、Add-on ApplicationはSysmac Studioで作成し、Web UIを使ってNXR-SへDownloadします。

Sysmac StudioでLogic+I/O Configurationを作成し、Application FileをExport。そのFileをWeb UIからNXR-SへDownloadします。

Safety ControllerはNXR-Sに対して Type 2a Safety Open でConnectionを確立します。NXR-S側のSafety ApplicationにはLogic設定とI/O Configurationが含まれており、必要に応じてSafety Controller側のSafety Programと組み合わせた制御も可能です。

使用するApplicationは、本体の SETTING SW1 / SW2 を、登録したAdd-on Application番号に対応する 9~D に設定して選択します。

User-defined Application

User-defined Applicationは、ユーザーがSysmac Studioで独自に作成するSafety Applicationです。このApplicationには、NXR-SのI/O構成設定とLogic設定を含めることができ、NXR-S内部でSafety Inputを評価してSafety Outputを制御します。

そして、作成したUser-defined Applicationは、Safety ControllerからNXR-Sへ CIP SafetyのType1 Safety Open を使ってConfigurationされます。マニュアルでも、User-defined Applicationは「Type1 Safety OpenでのConfigurationを使用してDownloadする、Logicを持つSafety Application」と定義されています。

安全応答性能

Safety Response Performance(安全応答性能)とは、Safety Chain上で異常や故障が発生した場合に、危険側への出力を遮断するまでに必要となる最大時間です。

Safety Systemを設計する際は、この応答時間をもとにSafety Distanceを算出します。そのため、Safety Inputの検出から最終的に機械や駆動部が停止するまでの最悪時間が、要求されるSafety Specificationを満たしている必要があります。

ここでいうSafety Chainとは、

Safety Input Device

→ Safety I/O Terminal

→ Safety Controller

→ Safety Output

のように、Safety Functionを実現するために連続して構成される一連の経路を指します。

Safety Response Timeの計算(CIP Safety使用の場合)

CIP Safetyを使用してSafety Controllerで制御する場合、Safety Chain全体の応答時間は、各機器・通信区間の最大応答時間を合計して求めます。

概念的には次の式です。

TSafety​=Ta​+Tb​+Tc1​+Td​+Tc2​+Te​+Tf​

項目

内容

Ta

Light CurtainやE-STOPなど、Safety Device自身のON→OFF応答時間

Tb

NXR-SがSafety Inputを検出・処理するまでの時間

Tc

CIP Safety Connection上でSafety Dataを伝送する時間

Td

Safety ControllerがSafety Programを演算する時間

Te

NXR-SがSafety OutputをOFFするまでの時間

Tf

Safety Relay、Contactorなど外部機器が実際にOFFするまでの時間

NXR-S自身の応答時間については、設定によって値が変わります。Tbは、Input Channel Modeと要求Safety Levelによって以下のようになります。さらに、Safety Inputに ON→OFF Delay を設定している場合は、そのDelay Timeも加算します。

条件

基本応答時間

Dual Channel

10 ms

Single Channel、危険側故障を考慮しない場合

10 ms

Single Channel、危険側故障を考慮する場合

260 ms

一方、Safety Output側 (e) の基本応答時間は 5 ms です。こちらもOutput側にON→OFF Delayを設定している場合、その時間を加算します。また、NXR-S内部Logicを使用する構成では、Logic Execution Timeもこの応答時間に含めて考える必要があります。

Safety Response Timeの計算(CIP Safety使用しないの場合)

NXR-S内部のSafety Applicationだけで制御する場合、Safety InputからSafety Outputまでの処理がNXR-S内部で完結します。

そのため、CIP Safetyを使用する構成で必要だった、

  • Tc
  • Td

はSafety Chainから除外できます。

NXR-S単体構成では、概念的には次のようになります。

TSafety​=(a)+(b)+(e)+(f)

つまり、Safety Sensor → NXR-S Input → NXR-S Output → Actuatorの各応答時間を合計してSafety Response Timeを求めます。

また、NXR-Sを2台I/O接続Cableで接続する場合は、1台増えるごとにInput Response Time (b) と Output Response Time (e) の合計を加算します。例えば2台構成なら、

TSafety=(a)+(b)+(e)+(b)+(e)+(f)

項目

内容

Ta

Light CurtainやE-STOPなど、Safety Device自身のON→OFF応答時間

Tb

NXR-SがSafety Inputを検出・処理するまでの時間

Tc

CIP Safety Connection上でSafety Dataを伝送する時間

Td

Safety ControllerがSafety Programを演算する時間

Te

NXR-SがSafety OutputをOFFするまでの時間

Tf

Safety Relay、Contactorなど外部機器が実際にOFFするまでの時間

Implementation

オムロン側

最初にオムロン側から設定します。

I/O Assembly設定

I/O Assembly設定をRemote Output1+Safety Remote Output1+Stand Outputを使用します。

Done!

IO 設定

今回は15:User Applicationを使用するので、Open TypeをType1に設定してください。

NXRのプロパティにはInput/Output/LogicのTabが表示されます。

入力

今回の記事ではSi00とSi04にDualチャンネルの非常停止を追加します。

出力

今回の記事ではSo00をDual Output without Test Pulseに設定します。

アプリケーション設定

今度はApplication Tabを開き、ApplicationのDrop-listから15:User definedを指定します。

ロジック作成

次はLogic Tabを開きます。

ロジック追加

赤枠の+ボタンで新しいロジックを追加します。

Done!新しいロジックが追加されました。

Input Drop-listから該当するロジックを判断する入力を指定します。

下図ではロジックをSi00を使用することになりました。

次はDevice欄をクリックします。

こちらはロジックの詳細を設定できます。

Reset TypeをAutoに設定し、自動リセットするようにします。

Input TypeではORもしくはANDを選択できます。

今回の記事ではANDを設定します。

ANDもしくはORを設定した場合、2個目の新語をInput Signalから選択できます。

今回はSi04を選択します。

これでOkです。

Done!

安全プログラム

今回の記事ではUser-definedを使用するので、安全プログラムは一切作成しません。

ダウンロード

最後はプロジェクトをCPUにダウンロードしてください。

NXR-SXD1204-CST側

次はNXR-SXD1204-CST本体をセットアップします。

TUNID ID をクリアする

NXR-SにTUNIDを設定できるのは、Targetが「Waiting for TUNID」状態にある場合です。すでにTUNIDが登録されている場合は上書きできないため、Memory All Clearで既存TUNIDを削除したうえで再設定します。また、TargetとのEtherNet/IP通信が確立できない場合もTUNID設定は実行できません。

WEB UIにアクセスし、Execute Command→Memory All Clearします。

そしてクリアしたい項目のCheckを外してください。

次はSafetyパスワードを入力し、コマンドを実行します。

TUNID ID を設定する

次はTUNID IDを設定するためにUnit Settings→TUNID Settingsをクリックします。

こちらはTUNIDの読み書き画面です。

Readボタンをクリックし現在NXR-SXD1204-CSTのTUNIDを読み出します。

Done!

次は設定したいTUNIDを入力し、Writeボタンで新しいTUNIDを書き込みます。

ロータリースイッチ設定

NXR-Sで使用するSafety Applicationは、本体のSETTINGロータリースイッチ SW1 / SW2で選択します。SW1とSW2は同じ値に設定し、指定した番号に応じて使用するApplicationが決まります。今回はUser definedを使用しますのでロータリースイッチSW1/SW2をFに設定しましょう。

SETTING SW1 / SW2

使用するSafety Application

0

Remote I/O Mode Application

1~3

Fixed Application

9~D

Add-on Application

F

User-defined Application

結果

WiresharkからCIP Safety IO Messageを確認できました。

こちらの動画から動作確認できます。

https://youtu.be/xq2cu-zfoNo

シェアする

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

フォローする