Schmersal#PSC1安全コントローラー_Part8_Siemens S71500とProfisafeで繋がりましょう

こちらは新しいシリーズで、Schmersal社のPSC1-C-100-FB1 Safety Controllerを利用し様々な記事を展開していきます。第8話はSiemens S71500FとProfinet・Profisafe経由でデータ交換します。また、記事の中でTIA V20を使用します。

さ、FAを楽しもう。

Reference Video

Schmersal.PSC1-C-100-FB1 開封しました!

Reference Link

http://soup01.com/ja/category/schmersal_jp/psc1/

前書き

いつも私の技術ブログとYouTubeチャンネルをご覧いただき、心より感謝申し上げます。また、いまFullさん(full@桜 八重 (@fulhause) / X)と共に毎週水曜日の夜にお届けしている「高橋クリス」ラジオ番組を運営しています。

現在、私達の活動はほぼ無償で続けており、より多くのコンテンツを提供するためには、皆様の温かいご支援が大変重要です。もし可能であれば、以下のリンクから応援していただけると大変嬉しく思います。

高橋クリスのメンバーシップ

こちらはFullさん(full@桜 八重 (@fulhause) / X)と共にやっているラジオにメンバーシップを登録いただけます。

https://note.com/fulhause/membership/join

AMAZON ギフトリスト

こちらは自分のブログのコンテンツ制作や設備の充実に大いに役立てさせていただきます。

https://www.amazon.co.jp/hz/wishlist/ls/H7W3RRD7C5QG?ref_=wl_share

Patreon

こちらは自分のブログのコンテンツ制作や設備の充実に対する小さな応援の気持ちのPatreonです。

https://www.patreon.com/user?u=84249391

皆様のサポートが、私たちの活動をより充実させる力となります。

どうぞよろしくお願いします。

メールアドレス(*=@)

soup01threes*gmail.com

X

https://x.com/3threes2

Implementation

こちらが今回の記事の構成になります。

Schmersal Side

最初にSchmersal側から構築します。

Confiugre Fieldbus 

PSC1-C-100-FB1 Safety ControllerでProfisafe Interfaceを有効にするために、コントローラーをクリックします。

Properties画面にあるLocal Network>FieldbusのCheckboxを入れます。

プロジェクトのLocal Network TabにFieldbusの表示が増えます。

次はLocal Network>Fieldbusをクリックします。

Properties>Network>TypeでProfinetを設定します。

今回の記事ではProfisafeとProfinet両方も使用しますので、Network Prototypeを”Both”に設定してください。

F-Address

PSC-C-100-FB1のF-Addressを設定し、あとでTIAから合わせて起きましょう。

Safety Program

次は安全プログラムを作成します。今回の記事ではPart7の続きになり、なおかつ安全通信を追加します。Fieldbus Network>F-Bus OutputをFunction Sheetに追加します。

今回はF-Bus OutputをLight Curtainの出力と接続します。

そしてSiemens Profisafe信号からSafety リセットも可能です。

Connect to the Controller

PSC1-C-100-FB1のCOM Portと専用ケーブルをPCに接続します。

SafePLC2>Home>Device Interfaceをクリックします。

Connection Settingsをクリックします。

今回はRS-232ケーブルを使用するので、COM PortをDevice Managerに合わせて設定しましましょう。

最後はConnectボタンをクリックし、CPUとSafePLC2を接続しましょう。

OKで進みます。それでSafePLC2とPSC1-C-100-FB1を接続しました。

Send Configuration

Send Configurationをクリックし、プロジェクトをPSC1-C-100-FB1に転送しましょう。

しばらくお待ち下さい…

Siemens Side

次はSiemens側を作成します。

Download GSDML File

Profinet/Profisafeネットワークを構築するには、Schmersal社のHPからGSDMLをDownloadしてください。

https://products.schmersal.com/en_IO/psc1-c-100-fb1-103008452.html

Install GSDML File

Options>Manage general Station description files(GSD)をクリックします。

GSDMLの管理画面が表示され、…ボタンをクリックします。

先程DownloadされたGSDML Folderを選びましょう。

Done!GSDML Fileが見つかりました。InstallでGSDML Fileをインストールします。

少々お待ち下さい。

Done!

Configure Profinet Network

次はProfinet Networkを構築します。

Add PSC

Schmersal社のPSC-C-100-FB1コントローラーをProfinetネットワークに追加します。

Done!

Assign Profinet Network

Schmersal PSC-C-100-FB1の”Not assigned”のところをクリックし、適切なProfinetインタフェースを設定しましょう。

Done!

Configure IP Address

次は各ProfinetデバイスのIPアドレスを設定するため、Show address lablesをクリックします。

各Profinet デバイスのIPアドレスが表示されましたので、アプリケーションに合わせて設定してください。

Configure PSC1

Schmersal社のPSC-C-100-FB1安全コントローラーを設定するため、PSC-C-100-FB1をダブルクリックしてください。

Insert Profisafe Slot

今回の記事ではProfisafe通信を使いますので、Module>F Module IO(12 Bytes)をSlot5に追加してください。

Done!

Adjust the IO Address

PSC-C-100-FB1がProfinet経由で交換するデータのIO番号を調整してください。

Configure Profisafe

次はPSC-C-100-FB1のProfisafe接続を変更するために、先程Slot5に追加したF-Moduleをクリックしてください。

先ほどF-Addressを10に設定しました。

PROFIsafe>F_Dest_Addを10に設定してください。

DUT

PSC-C-100-FB1とS71500Fのデータ交換を合わせて構造体を定義します。

udt_4Bytes

こちらは4 Bytesの構造体です。

udt_128Bytes

こちらは128 Bytesの構造体です。

udt_PSC_IN

こちらはSchmersalmのPSC-C-100-FB1の入力データに合わせて作成した構造体です。

udt_PSC_OUT

こちらはSchmersalmのPSC-C-100-FB1の出力データに合わせて作成した構造体です。

udt_PSC

最後は先程定義したものを組み合わせた構造体を定義しましょう、

Tags

プログラムを作るためにPLC Tagsを作成します。

DB

先ほど作成した構造体の元にDBを宣言します。

Function Block

次はFunction Blockを作成します。

FB_PSC

こちらのFBはProfinet経由でPSC-C-100-FB1から受信したまたは送信したデータを構造体に展開する機能を実装します。

VAR

こちらはFBのインターフェースです。Inoutだけが定義され、パラメータが3つあります。

  • 長さ指定なしのByte配列
  • 先ほど定義したPSC-C-100-FB1構造体
Netwok2

Network2はPSC-C-100-FB1から受信したデータを構造体にあるBool配列に分解します。

Network3

Network3は構造体にあるBool配列をPSC-C-100-FB1に出力するプログラムです。

FB_Station

こちらはFB_PSCで分解したデータを意味がある変数に展開するFBです。

VAR

こちらはFB_Stationのインターフェースです。

  • iReset:PSC-C-100-FB1に送信するリセット許可のBitです。
  • oESTOPなど:PSC-C-100-FB1から受信したデータに展開する変数たちです。
  • ioData:FB_PSCに分解した構造体変数になります。
Netwok1 

Profinet経由で受信したLogicData Bit0はLight Curtainの状態になります。

Netwok2

Profinet経由で受信したLogicData Bit1は非常停止の状態になります。

Netwok3

Profinet経由で受信したLogicData Bit107/Bit407/Bit16/Bit402/Bit250はドアロックの状態になります。

Netwok4

Profinet経由で受信したLogicData Bit30はすべての安全機器が正常である信号になります。

Netwok5

Profinet経由で送信したLogicData Bit19はリセット許可の信号になります。

OB1

次はOB1で作成したFBを呼び出し、適切なTagを割り付けましょう。

Safety Program

今度は安全プログラムを作成します。

VAR

こちらは安全FB1で定義したInstance変数です。

Netwok1

Network1はProfisafeネットワークをリセットするFBを呼び出します。

Netwok2

Network2はS71500FがProfisafe経由でSafetyNetworkリセットのコマンドをPSC-C-100-FB1に送信します。

Netwok3

Network3はProfisafe経由で受信したLight Curtain状態を確認するプログラムになります。

Assign Devices Name

PSC-C-100-FB1にデバイス名を割り付けるために、右クリック>Assign device nameします。

Assign PROFINET Device nameの操作画面が表示されます。

Update Listをクリックします。

PSC-C-100-FB1が見つかりましたで、Assign nameでProfinetデバイス名を割り付けましょう。

Done!

Download

Hardware ConfigurationとプログラムをCPUにDownloadしてください。

Result

最初にProfinetネットワークにF-IO Passivedというアラームが発生します。

System Blocks>STEP7 Safety>F-I/O data blocks>F00200_FxxxというSafetyDBをクリックしてください。

QBADとACK_REQがTUREになってることを確認できます。

  • QBAD=該当するProfisafeデバイスがPassive状態
  • ACK_REQ=ACK動作が必要

なので、安全FBに呼び出したACK_GL のACK_GLOBをTrueにします。

Done!QBADとACK_REQもFALSEになりました。

Profisafeのデータも送受信できるようになりました。

TIA上にも通信エラーがないことを確認できました。

PSC-C-100-FB1に接続されている安全機器の状態も確認できました。

SiemensからProfinet経由でリセット許可の信号を送信します。

PSC-C-100-FB1側のリセットボタンを押したらEnable信号も受信できました!

SafetyPLC2ツールからも信号の状態を確認できます。

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

Download

こちらのLinkから今回記事で作成したTIA V20プログラムをDownloadできます。

https://github.com/soup01Threes/Siemens/blob/main/TestwithPSC.zap20

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

シェアする

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

フォローする