今回の記事はPilzのPSS u2 P0 F/S EIP2 CIP Safetyモジュールを使用し、OMRONのNX102-1220とSL5700の組み合わせてCIP Safety 接続とNormalのEthernet/IP接続をStep by Stepで紹介します。
また、みなさんが一番困ってるSysmac StudioのSafety EDS File生成方法もEZ-EDSツールを見ながら説明します。
なお、記事はものすごく長くなりますので、Part1はまずどうやってCIP Safetyネットワークを構築するかを説明し、Part2では実際にオムロンのプログラム作成方法を書きます。
さ、始めよう!
Reference Link
Thanks!
この記事が出来上がったのはオムロン株式会社さまとPilz Japan.さまから機材を貸してくださったおかけです。誠にありがとうございます。
オムロン株式会社
オムロン株式会社は、オートメーションのリーディングカンパニーとして、工場の自動化を中心とした制御機器、電子部品、駅の自動改札機や太陽光発電用パワーコンディショナーなどの社会システム、ヘルスケアなど多岐にわたる事業を展開し、約120の国と地域で商品・サービスを提供しています。
こちらはオムロン株式会社のホームページです。
どうぞよろしくお願いします。
PILZ
PILZは安全およびオートメーション技術のソリューションでトータルソリューションサプライヤとしてのFA現場を支え、人の安全だけではなく、機械、および環境の安全を保証し、機械や設備をいかに安全に稼働させます。ピルツは全世界に42の現地法人や支社を設置し、包装、自動車産業、ロボットアプリケーション、さらに風力発電、鉄道技術など様々な分野で活躍しています。
Office:
ピルツジャパン株式会社
〒222-0033
横浜市港北区新横浜3-17-5
いちご新横浜ビル 4階
HP
PSS u2 P0 F/S EIP2?
PSS u2 P0 F/S EIP2は、PSS u2システムでのみ使用でき、以下のような安全関連アプリケーション用に設計されています。
- CIP Safety via EtherNet/IP
- non-safety-related applications with EtherNet/IP
- EN IEC 61508 up to SIL CL 3
- EN 298に準拠
Block Diagram
こちらはPSS u2 P0 F/S EIP2の内部ブロック図です。
IP address
IPアドレスはDIPスイッチからStatic・DHCP経由で設定可能です。
ST process image
STは標準入出力データとして使用されています。
- Assembly Objec(0x04)のInstance 101 は、ST 出力のProcess Imagesです。
- Assembly Objec(0x04)のInstance 104 は、ST 入力のProcess Imagesです。
- Assembly Objec(0x04)のHeartbeat Instanceは198です。
- Assembly Objec(0x04)のListen Only Instanceは198です。
The sequence of the data in the process image depends on the slot number (beginning with
slot 1). 注意するのはSTProcess dataの長さは、設定されているSTモジュールの数に依存します。モジュールにのProcess Imageは最低限1バイトを占めます。(すべてのビットが使用されていなくても)
ST Inputs
また、ST出力の有効ビットは、ST入力のProcess Imageに転送される。
- I: Input
- n.u.: not used
- V: Valid bit
ST Outputs
こちらはST 出力のProcess Imagesです。
- O: Output
- n.u.: not used
CIP Safety
PSS u2 P0 F/S EIP2は最大24個のFSモジュールまで使用可能です。
FS process image of inputs
こちらは安全データになります。
- Assembly Objec(0x04)のInstance 772は安全入力Process Imagesになります。
- Process ImagesにCISに含まれていて、Byte0に割り付けられています。
- CIS=Combined Input State
- CIS=0、すべてのFS入力モジュールが有効な値を提供してない
- CIS=1、すべてのFS入力モジュールが有効な値を提供してる
- CIS=Combined Input State
- Process ImagesにCOSに含まれていて、Byte1に割り付けられています。
- COS=Combined Output State
- COS=0、すべてのFS入力モジュールが有効な値を提供してない
- COS=1、すべてのFS入力モジュールが有効な値を提供してる
- COS=Combined Output State
FS process image of outputs
こちらは安全データになります。
- Assembly Objec(0x04)のInstance 769は安全出力Process Imagesになります。
注意するのは出力のFS Process Imagsは空になれません。FS出力モジュールがプロジェクトで使用されていない場合、ヘッドモジュールは自動的にFS出力データを作成します。
Connections
こちらはPSS u2 P0 F/S EIP2の電源供給図です(別電源)。
こちらはPSS u2 P0 F/S EIP2の電源供給図です(共有電源)。
Implementation
これから実際Step By Stepで構築します。
Pilz Side
まずはPilz側です。
Install PASConfig
PASConfigのインストール方法は下記の記事を参考にしてください。
またPASConfigのソフトは下記のLinkからDownloadしてください。
New Project
PASConfigを起動し、Project>Newで新しいプロジェクトを作成します。
Projectを選び、Next>で進みます。
Project名を設定し、Next>で進みます。
次はDeviceの設定画面に変わります。
今回はPSS u2 EIP2を使用しますので、下記のように実際のデバイスに合わせて設定してください。
次はデバイス名を入力します。
デバイスのIPアドレスに合わせ、Next>で進みます。
Done!プロジェクトを作成しました。
Check Connection
今度はPCとPSS u2 P0 F/S EIP2と接続確認するため、Tools>Connection Managerを開きます。
先程作成したデバイスを選び>Testですすみます。
Done!
Configuration Slot
次は実機にインストールされてるSlotをあわせてプロジェクトを構築しましょう。
Configure IO-Link Slot Size
今回使用するPilzのIO-Link Master モジュールを設定するため、IO-Link Masterをクリックします。
System Overview>Module>Overall process image sizeで各ChannelのIOLINK Channelのサイズに設定しましょう。今回は32ByteIN/OUTのデータ交換に設定し、つまり各ChannelのIO Linkデバイスにも32Byte の入出力データを交換することになります。
Overall process image sizeの項目にDrop-Listからデータサイズの変更ができます。
Download Configuration
System>Download Configuration dataをクリックしDownload Configuration DataでプロジェクトをモジュールにDownloadしましょう。
しばらくまちます…
Passwordの入力画面が表示され、FS Passwordを入力しDownloadしましょう。
Omron Side
次はOmron NX1側を構築します。
Configure IP
NX1 CPUのIP設定をします。Configuration and Setup>Controller Setup>Built in Ethernet/IP Port Settingsで各Etherent Port を設定します。
Add SL5700
OMRONのSafety CPU Deviceを追加するため、CPU/Expansion Racks>CPU Rackをクリックします。
Configuration 画面が表示されます。
Toolbox>Safety CPU Deviceを選び、”Show all versions”のCheckboxを入れます。それは手元にあるSafety CPU Deviceは必ず最新Versionではありませんし、OmronのSafety CPU Device Firmwareは実機とプロジェクトを一致させる必要があります。
今回使用するSafety CPU DeviceはNX-SL5700 Ver1.3です。
NX-SL5700 Ver1.3を右クリック>Insertします。
Done!
Configure CIP Safety Connection
今度はCIP Safety通信を設定するため、Drop-Listから先程定義したSafety CPU Deviceを開きます。
Communications>Safety>Ethernet/IP Safety Connection Settings>Connection Setting(Originator)をクリックします。
こちらはSysmac StudioのCIP Safety設定画面になります。
Install EDS File
EtherNet/IP Portの空き場所を右クリック>EDS Library for CIP SafetyをクリックしPSS u2 P0 F/S EIP2のEDS Fileをインストールします。
InstallボタンでEDS Fileを登録します。
PilzのHPからDownloadしたEDS Fileを選択します。
ですが、Sysmac StudioはこのEDS Fileに対応していません。
Create the EDS File
実はSysmac StudioはImportできないEDS Fileに対して”New EDS File”というEDS File作成ツールも用意されています。
こちらはSafety EDS Fileの作成画面になります。
USE E-Zeds Tools
OMRONのSysmac StudioでEDS Fileを作成するにはEZ-EDSというツールを使ったほうが便利です。
こちらのLinkからDownloadし、ツールを起動>PilzのEDS Fileを開きましょう。
https://www.odva.org/subscriptions-services/additional-tools/ez-eds-download/
EDS TypeはEtherent/IP EDSでもGeneric EDS でもOKです。
Continueで進みます。
Done!
Vendor ID
Vendor IDはEZ-EDS ツールのDevice>Vendor IDに該当します。
Vendor Name
Vendor NameはEZ-EDS ツールのDevice>Vendor Nameに該当します。
Product Type
Product TypeはEZ-EDS ツールのDevice>Product Typeに該当します。
Product Type String
Product Type StringはEZ-EDS ツールのDevice>Product Type Stringに該当します。
Product Code
Product CodeはEZ-EDS ツールのDevice>Product Codeに該当します。
Product Name
Product NameはEZ-EDS ツールのDevice>Product Nameに該当します。
Magjor Revision
Magjor RevisionはEZ-EDS ツールのDevice>Major Devisionに該当します。
Miror Revision
Miror RevisionはEZ-EDS ツールのDevice>Miror Revisionに該当します。
Safety Input
今度はEDS FileのSafety 入力部分を設定するため、Params Fieldを開きます。
EDS Fileを作成するには入出力データのByte数を把握する必要があり、PilzのPASconfig>System>View process imageをクリックします。
今回記事で使用するにはCIP Safetyモジュール本体と入力データ合わせて7Bytesを使用し、Input Assembly 番号は772になります。
Safety InputのInput Assembly は772、Output Assembly Instanceは199、Data Sizeは7Bytesになります。
Safety Output
今回記事で使用するにはCIP Safetyモジュール本体と出力データ合わせて1Bytesを使用し、Output Assembly 番号は769になります。
Safety OutputのInput Assembly は769、Input Assembly Instanceは199、Data Sizeは1Bytesになります。
Configuration Assembly
Configuration Assembly番号は199になります。
Format Type
今回SL5700とNX CPUがPILZのCIP Safetyモジュールの出力データを制御するので、Safety Format SupportをExtended Onlyにしてください。
作成終わったらOKです進みます。
Confirm
Sysmac Studioから作成するEDS Fileが誤りないかを再確認し、Okで進みます。
Done!
Result
Sysmac StudioのEDS Libaray for CIP Safetyをもう一度開くと、先ほど作成したEDS Fileが表示されました。
Insert Devices
先ほど追加したPilz CIP Safety モジュール PSS u2 P0 F/S EIP2を選び>右クリック>InsertでCIP Safety ネットワークに追加しましょう。
Done!
Safety Network Number
CIP Safetyネットワークを構築するにはSafety Network Number(TUNID)をAdapter側に設定する必要があります。OMRON SL5700 Port1のSafety Network NumberをSysmac Studio上で確認できます。
これから書き込むTUNIDのデバイスプロジェクトを選び>PASconfigツールを開いて>System>Set Target Unique Identifier(TUNID)をクリックします。
Safety Network NumberはSysmac Studioで表示されたSafety Network Numberを貼り付けましょう。IP AddressはPilz CIP Safety モジュールPSS u2 P0 F/S EIP2に合わせて入力してください。
EPI
サイクルタイムはアプリケーションに合わせて設定しましょう。
Configure Ethernet/IP Connections
今回の記事で使用したPilz PSS u2 P0 F/S EIP2には安全IOだけではなく非安全のIO-Linkモジュールもインストールされています。IO-Linkモジュールのデータを取得するにはSysmac Studioで非安全なEthernet/IP Connectionを構築する必要があります。
Tools>Ethernet/IP Connection SettingsでEtherent/IP接続を構築します。
こちらはSysmac StudioのEthernet/IP設定や監視画面になります。
今回PilzのCIP Safety モジュールPSS u2 P0 F/S EIP2とPort1で接続してるので、Port1を選ぶ>右クリック>Editをクリックします。
Sysmac StudioがEthernet/IPのConnection設定画面に変わりました。
Define Global Variables
Data>Global VariablesでGlobal変数を定義します。これらの変数はEtherent/IP Connectionの入出力データとして使用されます。
今回の記事では32Bytesの配列変数を2つ定義し、Network PublishをInput/Output 1つずつに設定します。
Registration
次はSysmac StudioのEthernet/IP Connection設定画面に戻り、Tag Set画面>Registration AllをクリックしGlobal変数を登録します。
先ほど定義したGlobal変数を登録しましょう。
Done!
Connections
次はEthernet/IP Connectonsを作成します。
Install EDS File
PilzのEDS Fileをインストールするため、Display EDS Libraryをクリックします。
EDS Library画面が表示され、Installボタンをクリックします。
Pilz HPからDownloadしたEDS Fileを開きます。
Done!
Add Target Device
今度はTargetデバイスを追加します。先ほど登録したEDS Fileを利用しPilzのEthernet/IPデバイスを作成します。まずはToolboxから+ボタンをクリックします。
新しいTarget デバイスが追加されました。
Node Address
Node AddressはPilzのPSS u2 P0 F/S EIP2に設定したIPアドレスに合わせます。
Model Name
Model NameはPSS u2 P0 F/S EIP2を選びます。
Revision
Revisionは1です。
Add
最後はAddボタンでTargetデバイスを追加します。
Result
Done!
Add Connection
先ほど追加したPilzのPSS u2 P0 F/S EIP2を選び>右クリック>Add Connectionします。
Done!PSS u2 P0 F/S EIP2がSysmac StudioのEtherent/IP Connectionに追加されました。
Target VariableはPSS u2 P0 F/S EIP2のInstance番号になります。
Input=104、Output=101です。
これらの数字はEZ-EDSツールから確認できます。
Size(Byte)は32を入力し、Originator Variablesは先程登録したGlobal Variablesを選択します。
Done!
Download Safety
最初はSafety データをDownloadします。
Onlineします。
CPUをPROGRAM Modeに切り替えます。
Yesで進みます。
Passwordが入力し、Okで進みます。
CPUがPROGRAM Modeに変わりました。
今度はDEBUG Modeに切り替えます。
Yesで進みます。
Yesで進みます。
いまCPUがDebug Modeに変わりました。
Okで進みます。
Okで進みます。
Passwordを入力すればOkです。
最後はSafety ValidationをクリックしSafety構成とプログラムをDownloadします。
Yesで進みます。
OKで進みます。
Done!Safety プロジェクトがDownloadしました。
Download Project
今度はCPU本体のプロジェクトをCPUにDownloadします。
To ControllerをクリックしプロジェクトをCPUにDowloadします。
Executeで進みます。
Download Etherent/IP Configuration
次はEthernet/IP ConfigurationをCPUにDownloadするため、Tools>Ethernet/IP Connection Settingsをクリックします。
Port1をEditでクリックします。
Connection 画面を切り替えます。
Transfer to Controllerをクリックし設定をCPUに転送します。
Yesで進みます。
今回はCPUがRun ModeのままにConfigurationを転送します。
Result
Ethernet/IPの接続を確認するため、Port1>右クリックMonitorします。
Ethernet/IP のMonitor画面に変わりました。
Tag StatusのTabから現在のConnection状態を確認できます。いまは正常の状態です。
CIP Safety通信もOkです!
WireSharkからもCIP CM成功返信のPackagesがありました!
Download EDS File
こちらのLinkからPilz PSS u2 P0 F/S EIP2のEDS FileをDonwloadしください。
https://github.com/soup01Threes/OMRON/blob/main/00B5_00FF_PSS%20u2%20P0%20FS%20EIP_2F47B597.eds