こちらの記事ではWeidmullerのProfinet Coupler UR20-FBC-PN-IRT-V2と4つチャンネル付きのUR20-4COM-IO-LINKの組み合わせて、シーメンス社のCPU 1516F-3 PN/DPとProfinet ネットワークの構築方法を0から説明します。
また、今回の記事で使用したIO-Linkデバイスはオムロン・Nass MagnetとMurrelektronikのものになります。
さ、FAを楽しもう。
![](http://soup01.com/wp-content/uploads/2024/07/image-8.png)
Reference Link
http://soup01.com/ja/category/siemens-jp/tia/
UR20-FBC-PN-IRT-V2?
UR20-FBC-PN-IRTまたはUR20-FBC-PN-IRT-V2フィールドバスカプラは、PROFINETユーザー組織によって認証されたPROFINET I/Oデバイスです。
カプラはu-remoteシステムバスのヘッドモジュールで、最大64台のアクティブu-remoteモジュールを接続できます。
そのPROFINETカプラは2つのイーサネットポートを持ち、統合スイッチはラインネットワーク構造をサポートします。
また、USBサービスインターフェースまたはイーサネットを介して、システムに依存しないウェブサーバーアプリケーションでアクセスできます。そのため、診断、ステータス値、パラメータなどのすべての情報を読み取ることができ、接続されているすべてのモジュールをシミュレーションまたは強制的に操作することができます。
Wiring
こちらはUR20-FBC-PN-IRT-V2の配線図です。
Process Input Data
こちらはUR20-FBC-PN-IRT-V2のProcess Input Mappingになります。
UR20-4COM-IO-LINK?
デジタル通信モジュール UR20-4COM-IO-LINK は IO-Link 仕様 V1.1.2 に従った IO-Link マスタで、各プラグインコネクタには、1 つの IO-Link デバイスを接続できます。また、IO-Link デバイスはポートクラス A 、もしくは追加の電位分布モジュールを使用し、ポートクラスBも可能になります。
さらに、各プラグインコネクタで 1 つのデジタル入力を使用でき、プロセスデータは、各 IO-Link ポートを介して接続された IO-Link デバイスと交換されます。なので、4つの通信チャンネルは、標準的なフィールド機器のデジタル入力またはデジタル出力としても使用できます。
それ以外にも、非周期的なデータ(診断データ、パラメータデータ、ステータス情報)を交換することもできる。それにより、接続された IO-Link デバイスのパラメータデータは、パラメータライジングサーバ(データストレージ)から管理されるマスタモジュールに保存できます。
ワイドミュラーではu-mation configuratorというソフトウエアが提供されており、UR20-4COM-IO-LINK の IO-Link システムを設定することも可能です。
Wiring
こちらはUR20-4COM-IO-LINKモジュールの配線です。
Module LED
こちらはUR20-4COM-IO-LINKモジュールのLED表示です。
Block Digram
こちらはUR20-4COM-IO-LINKモジュールのブロック図です。
Wiring for class A port
こちらはClass A PortとしてUR20-4COM-IO-LINKモジュールの配線図です。
Wiring for class B port
こちらはClass B PortとしてUR20-4COM-IO-LINKモジュールの配線図です。
Process data Input
こちらはUR20-4COM-IO-LINKモジュールの入力データになります。
Process data Output
こちらはUR20-4COM-IO-LINKモジュールの出力データになります。
MVP8-P3 DIO8 8xM8-3 IOLA12 E0 59607
こちらは今回記事で使用するmurrelektronik製のMVP8-P3 DIO8 8xM8-3 IOLA12 E0 59607になります。このモジュールでは以下の特徴があります。
- 30mmプラスチックハウジングのIO-Linkハブ
- 1 x M12 IO-Link class A
- 8 x M8 I/O
- 8 configurable digital inputs/outputs
こちらは59607のLayoutになります。
![](http://soup01.com/wp-content/uploads/2024/07/image-9.png)
PortA
こちらは59607がPortAとして使用する場合の配線図になります。
PortB
こちらは59607がPortBとして使用する場合の配線図になります。
Port Base Input Data Bitmap
こちらは59607がPort Baseとして使用する場合、入力データのMappingです。
Port Base Output Data Bitmap
こちらは59607がPort Baseとして使用する場合、出力データのMappingです。
Pin Base Input Data Bitmap
こちらは59607をPin Baseとして使用する場合、入力データのMappingです。
Pin Base Output Data Bitmap
こちらは59607をPin Baseとして使用する場合、出力データのMappingです。
E2E_X3B4_IL3_2M
こちらは今回記事で使用するOMRON製のE2E-X3B4-IL3-2Mになります。https://www.fa.omron.co.jp/products/family/3543/feature.html
Specification
こちらはE2E-X3B4-IL3-2MのIOLINK仕様になります。
Process Input Data
こちらはOMRON製のE2E-X3B4-IL3-2MのByte0 入力データMappingになります。
こちらはOMRON製のE2E-X3B4-IL3-2MのByte1 入力データMappingになります。
Wiring
こちらはOMRON製のE2E-X3B4-IL3-2Mの配線図です。
Flow
こちらはOMRON製のE2E-X3B4-IL3-2MのIOLINK動作図です。
IO-Link?
IO-Linkというのは、オートメーション技術用の通信プロトコルで、センサ・アクチュエータレベルまたはフィールドレベルまたは制御レベルのデバイス間のシリアル双方向ポイントツーポイント通信を可能にする技術です。
IO-Link では、サイクリックなプロセスデータの他に、パラメータ、診断、識別データを非周期的に交換することができ、またIO-Link は IEC 61131-9 で”single-drop communication interface for small sensors and actuators”(SDCI)として世界的に標準化されています。
IO-Link システムは 2 つのコンポーネントから構成される:
- IO-Link マスタ:IOLink デバイスと上位通信システムとの間のインタフェースを表します。
- IO-Link デバイス:通信可能なフィールドデバイス。
IO-Linkマスターと IO-Link デバイスは、スイッチおよび通信ケーブル C/Q を介して通信します、IO-Link デバイスには、L+ および L- ケーブルを介して IO-Linkマスターから電圧が供給されます。ポートクラスによって、IO-Link ポートには追加の接続も可能です。
Port class A? Port class B?
IOLINKにはPort Class AとPort Class Bがあります。
- Port Class A:追加接続の機能はメーカーによって選択される。多くの場合、この接続は追加のデジタル入力または出力で使用されます。
- Port Class B: IO-Link マスタは、さらに 2 つの接続を介して 2 つ目の電源電圧を供給します。
IO-Link デバイスを IO-Linkマスターの IO-Link ポートに 3 ケーブルまたは 5 ケーブルで接続します。
IO-Link ポートは IO-Link モードで双方向通信を行うか、SIO モードでデジタル入力またはデジタル出力として動作させることができます。
IO-Link モードでは、IO-Link マスタは起動後に IO-Link 通信に適した伝送レートを自動的に設定し、IO-Link マスタは IO-Link デバイスの識別をチェックします。
また、データストレージ機能により、IO-Link デバイスまたは IO-Link マスタを交換した後でも、追加プログラミングなしで IO-Link デバイスの正しいパラメータ化ができます。
さらに、IO-Link デバイスは、Configuration Softwareまたは非同期通信サービスを使ってパラメータ化できます。そのためには、IO-Link デバイスメーカのデバイス記述ファイル(IODDs)が必要です。IO-Link Consortium ウェブサイトの IODDfinder を使って IODD を検索し、ダウンロードすることができます。
https://io-link.com/en/IODDfinder/IODDfinder.php
Implementation
Download GSDML File
下記のLinkでUR20-FBC-PN-IRT-V2のGSDML FileをDownloadしてください。
https://catalog.weidmueller.com/catalog/Start.do?localeId=en&ObjectID=2566380000
Siemens Side
少々古いですが、今回記事で使用するのはTIAV18になります。
New Project
Project>Newで新規プロジェクトを作成します。
プロジェクト名を入力します。
Done!
Install GSDML
Options>Manage general Station description files(GSD)をクリックします。
GSDMLの管理画面が表示され、…ボタンをクリックします。
先程DownloadされたGSDML Folderを選びましょう。
Done!GSDML Fileが見つかりました。InstallでGSDML Fileをインストールします。
Done!
Add S7-1500
S71500を追加するため。Add new deviceで新規PLCを追加します。
Controllers>SIMATIC S7-1500のカタログを開きます。
今回記事で使用するCPU 1516F-3 PN/DPを追加します。
Configure Security
TIAV17からS71500CPUにいくつかのセキュリティ設定が可能になります。
PG/PCやHMIのみの通信使用するかを設定し、Next>で進みます。
セキュリティ通信のみ許可するかどうかを設定し、Next>>で進みます。
PLCをアクセスできるレベルを設定し、Next>>で進みます。
Done!
Configure IP Address
CPU 1516F-3 PN/DPが追加されたら、PROFINET interface>Etherent address>Set IP address in the projectでIPアドレスをアプリケーションに合わせて設定しましょう。
Add UR20-FBC-PN-IRT-V2
UR20-FBC-PN-IRT-V2 Profinet Couplerを追加します。
TIA でNetwork viewを切り替えます。
こちらの画面でProfinetなどのネットワークデバイス設定できます。
先ほどUR20-FBC-PN-IRT-V2のGSDML Fileを追加しましたので、I/O>Weidmuller Interface >UR20 System>UR20-FBC-PN-IRT-V2Profinet DeviceをDropしましょう。
Done!UR20-FBC-PN-IRT-V2がプロジェクトに追加されました。
Assign Profinet Network
次はUR20-FBC-PN-IRT-V2をCPU 1516F-3 PN/DPのProfinetに追加します。
Not assignedからUR20-FBC-PN-IRT-V2を接続したいProfinetネットワークを選びましょう。
Done!
Change IP Address
UR20-FBC-PN-IRT-V2のIPアドレスをアプリケーションに合わせて設定しましょう。
Configure UR20
次はUR20-FBC-PN-IRT-V2にインストールされた各Slotを構築します。
UR20-FBC-PN-IRT-V2の設定画面に変わります。
Insert UR20-8DO-P
UR20-8DO-Pの出力モジュールを追加します。
Module>DO>UR20-8DO-Pを追加します。
Done!
Insert UR20-PF-O-1DI-SIL
UR20-PF-O-1DI-SILの安全モジュールを追加します。
Module>DI>UR20-PF-O-1DI-SILを追加します。
Done!
Insert UR20-16DI-P
UR20-16DI-Pの入力モジュールを追加します。
Module>DI>UR20-PF-O-1DI-SILを追加します。
Done!
Insert UR20-4AI-UI-16
UR20-4AI-UI-16Lのアナログ入力モジュールを追加します。
Module>AI>UR20-4AI-UI-16を追加します。
Insert UR20-4COMHOL-128BYTE-INOUT
UR20-4COM-IO-LINKのIOLINKモジュールを追加します。
Module>IOL>UR20-4COMHOL-128BYTE-INOUTを追加します。
Done!
次はModule parametersでIOLINKパラメタを設定します。
Operation Mode
各PortのOperation ModeをIO-Linkに変更して下さい。
Input/Output Length
次は各Portの入出力データサイズを設定します。
Ch0
Channel0はE3AS-HL500LMNと接続されていますので、Input Data=32 Bytes、Output Data=0Bytesで設定します。
Ch1
Channel1はE3E-X3B4-IL3-2Mと接続されていますので、Input Data=32 Bytes、Output Data=0Bytesで設定します。
Ch2
Channel2はSmart Connectorと接続されていますので、Input Data=32 Bytes、Output Data=1Bytesで設定します。
Ch3
Channel3は59507と接続されていますので、Input Data=32 Bytes、Output Data=2Bytesで設定します。
Result
最後は各モジュールのI/Q Addressを設定しましょう。
Program
次はプログラムを組みます。
DUT
まず構造体の定義から始めましょう。
DUT_1Bytes
こちらは1Bytesの構造体で、Process DataのTag定義やFunction Blockの入出力として使われます。
DUT_2Bytes
こちらは2Bytesの構造体で、Process DataのTag定義やFunction Blockの入出力として使われます。
DUT_4Bytes
こちらは4Bytesの構造体で、Process DataのTag定義やFunction Blockの入出力として使われます。
DUT_32Bytes
こちらは32Bytesの構造体で、Process DataのTag定義やFunction Blockの入出力として使われます。
DUT_Murr_59507_IN
こちらはMurrelektronikのMVP8-P3 DIO8 8xM8-3 IOLA12 E 59507のPort-based入力データの構造体です。
DUT_Murr_59507_OUT
こちらはMurrelektronikのMVP8-P3 DIO8 8xM8-3 IOLA12 E 59507のPort-based出力データの構造体です。
DUT_Murr_59507
こちらはMurrelektronikのMVP8-P3 DIO8 8xM8-3 IOLA12 E 59507の制御FBに渡す構造体になります。
DUT_NASS_IN
こちらはNass MagnetのSmart Connectorの入力データの構造体です。
DUT_NASS_OUT
こちらはNass MagnetのSmart Connectorの出力データの構造体です。
DUT_NASS
こちらはNass MagnetのSmart Connectorの制御FBに渡す構造体になります。
DUT_OMRON_E2E_X3B4_IL3_2M_IN_Status
こちらはOMRONのE2E-X3B4-IL3-2Mの入力データの構造体になります。
DUT_OMRON_E2E_X3B4_IL3_2M_IN
こちらはOMRONのE2E-X3B4-IL3-2Mの制御FBに渡す構造体になります。
DUT_OMRON_E3AS_HL500LMN_IN_Status
こちらはOMRONのE3AS-HL500LMNの入力データの構造体になります。
DUT_OMRON_E3AS_HL500LMN_IN
こちらはOMRONのE3AS-HL500LMNの制御FBに渡す構造体になります。
DUT_UR20_DI
こちらはUR20-4COM-IO-LINKの入力データの構造体になります。
DUT_UR20_DO
こちらはUR20-4COM-IO-LINKの出力データの構造体になります。
DB_UR20
こちらはUR20-4COM-IO-LINKの構造体になります。
Tags
次はIOアドレスに合わせてTagsを定義しましょう。
FB_Murr_59507
こちらはMurrelektronikのMVP8-P3 DIO8 8xM8-3 IOLA12 E 59507のFunction Blockになります。
Interface
Network1
今回はその信号を使用していませんが、内部FBで使用するEnable信号になります。
Network2
こちらはMappingに合わせて入力データを取得します。
Network3
こちらはMappingに合わせて入力データを取得します。
Network4
こちらはMappingに合わせてモジュールの状態を取得します。
Network5
こちらはMappingに合わせて出力します。
FB_NASS_SmartConnector
こちらはNass Magnet Smart ConnectorのFunction Blockになります。
Interface
Network1
こちらは内部FBで使用するEnable信号になります。
Network2-4
こちらはMappingに合わせてデバイスの状態を取得します。
Network5-8
こちらはMappingに合わせてデバイスの状態を取得します。
Network9
こちらはNass MagnetのSmart Connectorの出力制御になります。
FB_OMRON_E2E_X3B4_IL3_2M
こちらはOMRON E2E-X3B4-IL3-2MのFunction Blockになります。
Interface
Network1
今回はその信号を使用していませんが、内部FBで使用するEnable信号になります。
Network2
Network3
FB_OMRON_E3AS_HL500LMN
Interface
Network1
こちらはMappingに合わせて検知距離を取得します。
Network2
こちらはMappingに合わせてLighting Levelを取得します。
Network3
こちらはMappingに合わせてデバイスの状態を取得します。
FB_TestFlow
こちらのFunction BlockはMurrelektronikのMVP8-P3 DIO8 8xM8-3 IOLA12 E 59507の出力を1つずつ順番にONするGraphになります。
FB_UR20_IOLINK
こちらはUR20-4COM-IO-LINKを制御するFunction Blockになります。
Interface
Network1
こちらはProcess IOをData Blockに転送します。
Network2
こちらはIOLINKの出力データを有効にします。
Network3
こちらはData Blockの出力データをProcess IOに転送するプログラムです。
Network4
こちらは各PortがIOLINKデバイスと通信Okするときのみ、Enable信号を有効にします。
Network5
先ほど作成したOMRON E3AS-HL500MNのFunction Blockを呼び出します。
Network6
先ほど作成したOMRON E2E-X3B4-IL3-2MのFunction Blockを呼び出します。
Network7
先ほど作成したSmart ConnectorのFunction Blockを呼び出します。
Network8
先ほど作成したMurrelektronikのMVP8-P3 DIO8 8xM8-3 IOLA12 E 59507のFunction Blockを呼び出します。
OB1
最後はOB1で必要なFBを呼び出します。
Download
最後はプロジェクトをCPUにDownloadします。
適切なNetwork Interfaceを選び、Start SearchでCPUを検索します。
そしてプロジェクトのDownload先を選び>LoadでプロジェクトをDownloadしましょう。
Connectで進みましょう。
プロジェクトをDownloadします。
少々お待ち下さい…
Done!
Assign Name
Profinetネットワークでは各ProfinetデバイスにDevice名を割り付ける必要があります。
Profinet Couplerを選び>右クリック>Assign device nameをクリックします。
Update Listします。
デバイス名を割り付けましょう。
u-mation configurator
実際IOLINKデバイスのデータを確認するまえに、ワイドミュラーは無償な設定ツールを提供しています。下記のLinkでDownloadしてください。
https://catalog.weidmueller.com/catalog/Start.do?localeId=en&ObjectID=1315740000
Start the Tool
ソフトウエアを起動します。
Connect
Connectをクリックし、Profinet Couplerと接続しましょう。
Profinet Couplerに設定したIPアドレスになります。
User名とPasswordの入力が求められます。Defaultでは、
- User name: admin
- Password: Detmold
Done!ツールとCouplerの接続ができました。UR20-4COM-IO-LINKも認識できました。
では、UR20-4COM-IO-LINKをクリックします。
UR20-4COM-IO-LINKの各Portと接続状態などを確認できます。
Show Process Data
Show process dataをクリックし、現在のProcess dataを確認できます。
Show diagnoses
Show diagnosesをクリックし、モジュールの診断状況を確認できます。
Idenifty
Idenifty機能を使用し、現在各Portと接続してるIO-Link デバイスの情報を確認します。
Find IODD
IODD Fileをツールにロードさせます。IODD herunterladenをクリックすれば自動的にIODD FinderのWebページに行きます。
そこにIO-Linkデバイスの型式を入力しましょう。
下図の例ではNass Magnet社のSmart Connectorを検索してみました。
DownloadをクリックしIODD FileをDownloadしましょう。
Done!
Load IODD
次はSelect IODDをクリックし、IODD Fileをツールにロードします。
先程DownloadしたFileを選択します。
Done!
Edit
次はEditボタンをクリックし、IO-Linkデバイスのパラメタなどを変更することできます。
該当するIO-Linkデバイスのすべてのパラメータや状況を確認できました。
診断Menuの隣にあるRefleshボタンをクリックし現在値を更新できます。
Result
Go OnlineでTIAとCPUを接続します。
Done!現在CPU 1516F-3 PN/DPとProfinet Couplerの通信が確立されました。
こちらはPLCとCouplerが正常化するときのLEDやDisplay状態です。
こちらの動画で動作確認できます。
また、こちらのLinkでプロジェクトをDownloadできます。
https://github.com/soup01Threes/Siemens/blob/main/pWeidmuellerCoupoler_IOLINKTerminal.zap18