Toyopuc#Nano SafetyとNXR-SXD1204-CSTとCIP Safetyで接続しよう

今回の記事では、ToyopucのSafety Nanoと10GXを使用しオムロンのNXR-SXD1204-CSTと接続します。

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/

CIP Safety通信

CIP Safety通信(CIP Safety over EtherNet/IP)は、ODVA(Open DeviceNet Vendor Association inc.)が管理・認証している産業用イーサネット通信です。

EtherNet/IP通信をベースにした安全通信なので、通常のEtherNet/IP通信と同じネットワーク上で使うことができます。

そのため、Ethernet通信、EtherNet/IP通信、CIP Safety通信を同じネットワーク内で混在させることも可能です。

CIP Safety通信では、コネクションと呼ばれる通信経路を使って通信します。

通信を始めるには、まず相手機器とのコネクションをオープンする必要があります。

このとき、コネクションをオープンする側をオリジネータ、オープンされる側をターゲットと呼びます。

オリジネータからターゲットへコネクション接続要求を送り、通信を開始します。Nano Safetyは、オリジネータとターゲットの両方の機能を使用できます。

用語

説明

Configuration Owning UNID(CFUNID)

ターゲット機器の安全コンフィギュレーションデータの所有者を一意に識別する値です。権限を持たないオリジネータ機器がコンフィギュレーションデータを変更するのを防止するために使用されます。

Node ID

デバイスに割り当てられたIPアドレスです。IPv4アドレスのため、4Byteで構成されます。

Safety Network Number(SNN)

安全システム内でネットワークを一意に識別するための値です。6Byteで構成され、安全ネットワークごとに、システム全体で一意となるSNNを割り当てます。

Safety Configuration Identifier(SCID)

SCCRCとSCTSを組み合わせた値です。

Safety Configuration CRC(SCCRC)

安全デバイスのコンフィギュレーションデータをもとに算出されるCRC値です。

Safety Configuration Time Stamps(SCTS)

安全デバイスのコンフィギュレーションデータを作成・変更したときに記録されるタイムスタンプ値です。

Target’s UNID(TUNID)

ターゲット機器のUNIDです。ターゲット機器を一意に識別するために使用されます。

Originator’s UNID(OUNID)

オリジネータ機器のUNIDです。オリジネータ機器を一意に識別するために使用されます。

Output Connection Point Owning UNID(OCPUNID)

ターゲット機器の出力コネクションの所有者を一意に識別する値です。権限を持たないオリジネータ機器が、出力コネクションのオーナーシップを取得するのを防止するために使用されます。

UNID(Unique Node Identifier)

Node IDとSNNで構成される10Byteの値です。コネクション確立時に、デバイスを一意に識別するために使用されます。

コネクション

コネクションを接続するときは、ターゲット側で設定されているコネクションポイントを、オリジネータ側から指定します。このコネクションポイントの指定には、インスタンスIDを使用します。

CIP Safety通信でインスタンスIDを使う場合、オリジネータとターゲットの間で双方向通信を行うために、2つのコネクションを使用します。

コネクションの確立

CIP Safety通信では、まずオリジネータ機器とターゲット機器の間でコネクションを確立します。コネクションが確立したあと、その通信経路を使ってデータの送受信を行います。

コネクション接続要求

CIP Safety通信で安全信号をサイクリック通信するには、まずオリジネータ機器とターゲット機器の間でコネクションを確立する必要があります。そのため、オリジネータ機器からターゲット機器に対して、Safety Open と呼ばれるコネクション接続要求を送信します。

Safety Openには、以下の3種類があります。

種類

概要

対応状況

Type1 Safety Open

・ターゲット機器に設定する Configuration Dataを含む

・コネクション確立時に SCIDのチェックを実施する(SCID≠0)

非対応

Type2a Safety Open

・ターゲット機器に設定する Configuration Dataを含まない

・コネクション確立時に SCIDのチェックを実施する(SCID≠0)

対応

Type2b Safety Open

・ターゲット機器に設定する Configuration Dataを含まない

・コネクション確立時に SCIDのチェックを実施しない(SCID=0)

対応

Type1

・ターゲット機器に設定する Configuration Dataを含む

・コネクション確立時に SCIDのチェックを実施する(SCID≠0)

Type2a

ターゲット機器に設定する Configuration Dataを含まない

・コネクション確立時に SCIDのチェックを実施する(SCID≠0)

Type2b

ターゲット機器に設定する Configuration Dataを含まなく、コネクション確立時に SCIDのチェックを実施しない(SCID=0)。

Type2b Safety Openでは、コネクションを確立するときにSCIDチェックを行いません。

そのため、オリジネータ機器とターゲット機器の間で、Configuration Dataの認識が一致しているかどうかは確認されません。つまり、ターゲット機器に設定されているConfiguration Dataが、意図した内容になっているかどうかは保証されません。

Type2b Safety Openを使ってCIP Safety通信のコネクションを確立する場合は、ターゲット機器のConfiguration Dataが意図した設定になっていることを、事前に確認しておく必要があります。

SNN(Safety Network Number)

SNN(Safety Network Number)は、安全システム内で安全ネットワークを一意に識別するために割り当てる値です。安全ネットワークごとに異なるSNNを設定することで、他の安全ネットワークと明確に区別できます。

たとえば、ネットワークAとネットワークBで同じネットワークアドレス(192.168.250.***)を使用している場合でも、異なるSNNを割り当てることで、それぞれの安全ネットワークを一意に識別できます。

オーナーシップの競合

ターゲット機器では、コネクションを確立したときに、オリジネータ機器の識別情報である OUNID を OCPUNID として記憶します。その後、別のOUNIDを持つオリジネータ機器からコネクション接続要求を受けた場合、ターゲット機器はオーナーシップの競合を検出し、その接続要求を拒絶します。

これによって、意図していない別のオリジネータ機器が、すでに接続済みのターゲット機器へコネクションを確立することを防ぎます。ターゲット機器に記憶されているオーナーシップ情報をクリアしたい場合は、次のいずれかを行います。

  • Safety Reset(タイプ1):ターゲット機器を初期状態にリセット
  • Safety Reset(タイプ2):ターゲット機器のOCPUNIDをリセット

対応接続タイプ

Nano SafetyはType2aもしくはType2のみ対応します。

設定ツール

機種名

設定項目

プログラミングツール

Nano Safety(マスターモジュール)

ネットワーク詳細設定 IPアドレス

PCwin2

〃

ネットワーク詳細設定 サブネットマスク

PCwin2

〃

ネットワーク詳細設定
ゲートウェイ IP アドレス(デフォルトゲートウェイほか…)

PCwin2

〃

汎用 TCP 設定 *2

PCwin2

〃

オプション設定(EtherNet/IP)

PCwin2

〃

コネクション設定(EtherNet/IP)

PCwin2

〃

Safety データリンク設定 *3

PCwin2

〃

オプション設定(CIP Safety)

PCwin-Safe-Nano

〃

コネクション設定(CIP Safety)

PCwin-Safe-Nano

Implementation

それでは実際にネットワークを構築しましょう。

NXR-SXD1204-CST側

NXR-SXD1204-CST側は特に設定することなく、ロータリースイッチだけを使用するアプリケーションに合わせて設定してください。また、NXR-SXD1204-CSTに関する設定方法などは下記の記事を参考にしてください。

OMRON#NX102-9000とNX-SL5500でNXR-SXD1204-CSTとCIP Safety通信しよう
OMRON#NX102-9000とNX-SL5500でNXR-SXD1204-CSTとCIP Safety通信しよう_User defined編
OMRON#NX102-9000とNX-SL5500でNXR-SXD1204-CSTとCIP Safety通信しよう_User defined_手動リセット信号編
OMRON#NX102-9000からUNSENDコマンドをNXR-SXD1204-CSTに発行しよう
OMRON#NX102-9000とNX-SL5500でNXR-SXD1204-CSTとCIP Safety通信しよう_Add-ons編

PC WIN側

次PC Win2側を設定します。

I/Oもモジュール設定

Parameter→I/O Moduleを開きます。

今回はRack0のSlot1にNano Safetyをインストールしていますので、Rack0 Slot1をNano Safetyに設定します。

モジュールを構築したい場合は、該当するSlotをダブルクリックし、Special/Communication→Nano Safetyを選択していただければOKです。

Link Parameters

モジュールの通信設定を行います。

Link Module

先程Rack0 Slot1にはNano Safetyを設定しましたので、Link Noの空きある場所に以下の設定をしましょう。

  • Port L1 Ethernet/IP+CIP Safety→Nano SafetyのPort1をEthernet/IP+CIP Safety接続用として設定する
  • Port L2 Ethernet/IP+CIP Safety→Nano SafetyのPort1をEthernet/IP+CIP Safety接続用として設定する

注意するのはL1とL2両方にも設定する必要があります(不使用なPORTあるとしても)。

詳細設定

今回はPort L1 Ethernet/IP+CIP Safetyの詳細設定を行いたいので、該当するLinkを選択し→Detailをクリックします。

Basic Settingをクリックします。

IPアドレス設定

Nano SafetyのPort1のIPアドレスを設定します。

Universal TCP設定

もしNano SafetyにComputer Linkを使用したい場合、こちらのTabで設定しましょう。

ダウンロード

最後にPC Win2プロジェクトをNano 10GXにダウンロードしましょう。

PC WIN SAFE側

NANO Safetyの安全接続を構築します。PCwin-Safe-Nanoを起動し→Parameters→Link Parametersをクリックします。

Linkセットアップ

今回JTEKTのNano SafetyとNXR-SXD1204-CSTはPort1で接続するので、L1を選び→Link Setupします。

Link Module nameをCIP Safetyを選択し→Okします。

接続設定

今度はDetail setupをクリックします。

Connection setting(CIP Safety)をクリックします。

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

SNN Safety Network Number 設定

下記の赤枠をクリックしSNN番号を設定します。

GenerateをクリックしSNN番号を生成します。

接続1構築

接続1をクリックします。

Connecting SettingをDoにします。

FunctionをOriginatorを設定します。

NXR-SXD1204-CST追加

List Settingをクリックします。

こちらの画面で複数のCIP Safety接続を一括設定できます。

EDS FILE IMPORT

下記のEDS FIESボタンをクリックし、NXR-SXD1204-CSTのEDS FILEをPC WIN SAFEにImportしてください。

IPアドレス設定

Con.Destination欄はNXR-SXD1204-CSTのIPアドレスに合わせて設定してください。

SSN

SSNは先程生成したSafety Network Numberに合わせてください。

詳細はConnection setting(CIP Safety)にあるSNN欄を参考にしてください。

電子Key

EDS FILEからIMPORTしたNXR-SXD1204-CSTですので、Vendor IDなどはすでに自動的IMPORTされています。

Configuration Instance設定

Configuration Instanceは864に設定します。

NXR-SXD1204-CSTの取説ではAssembly 864はConfiguration Instanceだと記載されています。

Safety T->O 接続

Nano SafetyはType1接続に対応していませんので、今回の記事ではType2接続を使用します。

今回記事で使用した961は安全入力状態だけではなく、モジュール状態などの情報も取得可能なAssemblyになります。

Safety O->T 接続

Nano SafetyはType1接続に対応していませんので、今回の記事ではType2接続を使用します。

今回記事で使用した881はStandard出力・リモート出力両方を使用可能なAssemblyになります。

T->O 設定

T->O size欄をクリックし、今回接続で使用するT->Oの番地とデータサイズを設定します。

  • T->Oは安全入力データ9Bytes
  • GX100Lから9Bytes

NXR-SXD1204-CSTの取説ではAssembly 961は9Bytesです。

O->T 設定

O->T size欄をクリックし、今回接続で使用するO->Tの番地とデータサイズを設定します。

  • O->Tは安全出力データ3Bytes
  • GX120Lから3Bytes

NXR-SXD1204-CSTの取説ではAssembly 881は3Bytesです。

Safety Open Type

今回NANO SafetyとNXR-SXD1204-CSTの間はType2bを使用しますので、Safety Open Type欄にType2bを設定してください。

個別Setup方法

接続1をクリックします。

Setupをクリックします。

この画面から個別の接続を設定できます。

ダウンロード

最後にPC WIN SAFEプロジェクトをNano Safetyにダウンロードしましょう。

結果

WiresharkからCIPIOのパッケージを確認できました。

シェアする

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

フォローする