PLCNEXT#SPLC1000を使ってみよう_ Part3_Siemens PLCと通信

Phoenix Contact SPLC1000を使用する第3話です。今回はSiemensのS71212FCをF-HOSTとして立ち上げ、SPLC1000をF-DevicesとしてProfisafe通信します。

SPLC1000は4Wordの安全データ入出力データを提供しています。

さ、始めよう!

Reference Link

PLCNEXT#SPLC1000を使ってみよう_ Part1
PLCNEXT#SPLC1000を使ってみよう_ Part2
Pilz#PDP67を使ってみよう_Part2_SPLC1000とPLCNEXTを接続

Trips About Safety Program

Influence of the safety program’s cycle time

安全プログラムのサイクルタイムが長いと、安全機能の応答時間も遅くなり、標準ユーザプログラムの処理時間は長くなります。でも安全プログラムのサイクルタイムが短いと、安全機能の応答時間は早くなりますが、逆に標準ユーザプログラムの処理できる時間は短くなります。

下図のように、黄色は安全プログラムのサイクルタイムで、灰色なのは標準ユーザプログラムです。先程説明した通り、Case1の場合はF-Cycleは10msなので、標準ユーザプログラムの処理時間が少なくなります。逆にCase3の場合は、F-Cycleは30msなので、標準ユーザプログラムの処理時間が長くなります。

そして優先順位の高い編成ブロック ( 例えば、サイクリック割込み OB やモーションコントロール OB)に入ったり、安全プログラムを図のように中断できることに注意してください。安全プログラムが中断されないように注意しましょう。

PROFIsafe address types

Profisafe Addressは、F-I/O を一意にアドレスし、IP アドレスのような番号だとおもってください。そしてProfisafe AddressにはType1とType2があります。

そのPROFIsafe Addressは必ず一意でなければ なりません。工場セクションのネットワーク化が進むと、個別にPrROFIsafe Address設定する場合、正確に計画する必要がありま す。

Type1

  • PROFIsafe Addressの一意性は Fdestination Addressによってのみ保証されます。
  • Fdestination Addressは、ネットワークとCPU全体で一意でなければならない。
  • Safety Summaryでは、すべてのF-CPUのFdestination範囲が重複しないことを確認する必要があります。
  • Fdestination Addressと Fsource addressは、安全プログラムの CRC に含まれる。

Type2

  • PROFIsafe Addressの一意性は、Fsource Addressと F-destination Addressを組み合わせることで保証されます。
  • F destination Addressは CPU 全体でユニークで なければならず、同じネットワーク内の PROFIsafe Address Type1の他のすべてのF-destination Addressと異なる必要があります。
  • F-CPUやF-I/Oに使用されるF-destinationは、ネットワーク全体で一意でなければならない。
  • Fdestination Addressと Fsource addressは、安全プログラムの CRC に含まれる。

F-change history(Siemens TIA Only)

F-change Hostoryは、標準的なユーザープログラムの変更履歴と同様に機能し、プロジェクトツリーのCommon data>LogsからF-CPUごとに1つのF-change historyが作成されます。

F-change history機能では、下記の情報が記録されています。

  • F-collective signature
  • User name
  • Compile time stamp
  • Safety ProgramのTimeStamp
  • Compiled F-blocks with signature and time stamp

この機能を使用することによって、

  • CRCのオンラインとオフラインのステータスを比較することにより、最後の変更がDownloadされたことを確認できます。
  • マルチユーザプロジェクトでは、どのユーザが安全プログラムを変更したか、またはダウンロードしたかを追跡できます。
  • CPUとPG/PCがオンライン接続されていない状態でのオンライン/オフラインの対照

Call sequence of the blocks

次はSafety プログラムを作成するときBlocksの呼び出し順番です。以下の説明はあくまでも推奨だけで、CPUは常に最新の値を使用してると保証できます。

Sequence 1.RCVDP

F-CPU間のデータを受信します。

Sequence 2.ACK_GL

Fモジュール/Fチャンネルのエラー確認や再統合を制御する。

Sequence 3.Sensor

入力データを整理する。

Sequence 4.OperationMode

装置の操作モードを評価する。

Sequence 5.Logic

装置の制御プログラムや計算を行う。

Sequence 6.Actuators

安全出力を制御する。

Sequence 7.SENDDP

他のF-CPUにデータを送信する。

Jumps in the safety program

standard user programでは、あるNetworkから別のNetworkへのJump関数(またラベルへのJump関数)やブロックからのReturnは、単純なプログラム分岐でも、各Blockのサイクルで再計算され、なおかつCPUからなにも保護はありませんますね。

例えばEMCによるメモリ・エラーが原因で、”false “条件にもかかわらずジャンプが実行されるかどうかのチェックは行われません。

ですが、Safety Programではこのようなプログラム作法が禁止されます。Safey Programが正しいルートで実行されていることを常に保証しなければならない。

このため、Safety プログラムは論理計算の結果はTrue・Falseを完全に計算する必要があります。

安全プログラムで使用するジャンプの数が多ければ多いほど、コントローラの性能に与える影響は大きくなります。

Download GSD File

下記のLinkからAXCF3152のGSDML FileをDownloadします。

https://www.phoenixcontact.com/en-pc/products/extension-module-axc-f-xt-splc-1000-1159811

Implementation

Siemens Side

Enable Safety Function

S71200Fの安全機能を有効にするため、あなたのPLC>Device Configurationを開きます。

General>Fail-safeからF-activationのCheckboxを入れ、安全機能を有効にします。

CPUの安全機能が有効になると、F-parametersが設定できるようになります。

Install GSD File

Phoenxic Contact PLCNEXTのGSD Fileをインストールするため、Options>Manage general station description files(GSDをクリックします。

GSD Fileの管理画面が表示されました。

…ボタンをクリックします。

先程PhoenixContact HPからDownloadされたGSDML Fileを選択します。

Done!

InstallボタンでGSDML Fileをインストールします。

Done!

TIAがGSDML ライブラリを更新します。

Check the GSDML

ではGSDML FileがImportされたかをCheckしましょう。

Project>Devices & Networksをクリックします。

Hardware catalogからAXCF 3152が見えるはずです。

Add Device

CatalogからAXCF 3152をNetworkに追加しましょう。

Done!AXCF 3152が追加されました。

Assign Profinet 

AXCF 3152を今回のTutorialで使用するCPU 1212FCと繋がりるため、Not assignedをクリックし、Profinet  Interfaceを選択します。

Done!

Configure IP

次はAXC-F-3152のIPアドレスを設定するため、Network Viewから目ICONをクリックします。

Network上の各デバイスのIPが表示されています。

IPを直接クリックすると設定の変更が可能です。

Done!このIPアドレスは実機のPLCNEXT AXCF 3152に合わせてください。

Configure Slots

次はAXCF 3152の各Slot設定します。

SPLC1000の安全データをProfisafeで交換するためOptionsからFDEVを挿入しましょう。

Done!4 Wordの安全入出力データが追加されました。

実際FDEV のDescriptionからにも該当するSlotの情報を確認できます。

IQ Address

I address とQ Address FieldでIOアドレス番地を変更しましょう。

今回は600から使用します。

FEDV Slotが追加されたら、AXC-F-3152のICONにFail-Safeのマークが追加され、つまり、AXC-F-3152はProfisafe通信があると示しています。

Device Name

Profinet通信ではDevie Nameの正しい設定が必要で、TIAからAccessible Devicesをクリックします。

Type of the PG/PC interfaceをPN/IEを選択し、PG/PC Intefaceは同じネットワークで接続してるPCのNetwork カードを設定、”Start Search”ボタンでデバイスを検索します。

Done!AXCF 3152が見つかりました。DeviceのFieldでaxcf3152-pnd-lan3という文字が表示され、この文字列は実にAXCF 3152のデバイス名です。

念のため、PLCNEXT Engineeringからも確認していきましょう。

Project TreeにあるPLC Objectを開きます。

Name of stationで現在AXCF 3152のデバイス名を確認できます。

このデバイス名をTIAプロジェクトにあるAXCF 3152>PROFINET Interface>Ethernet address>PROFINETに入力します。

まず”Generate PROFINET device name automatically”のChecboxを外します。

PROFINET device name欄が入力できるようになります。

先程確認したデバイス名を入力しましょう。

Tags

Configurationが完成したら、今度はTagsを作成します。

PLC tags>Tag Tableを作ります。

先程FDEVで定義したIO番地に合わせて、入出力を定義しましょう。

Program

最後は検証用のSafetyプログラムを作成するため、Program blocks>Main_Safety_RTG1を開きます。

こちらは今回Siemens側の検証プログラムです。

Network1

QW600を周期で加算しProfisafe通信が成立してることを確認します。

Network2

PLCNEXT AXCF 3152の入力データIW602から受け取った数値をそのままQW602にFeedbackします。

Network3

PLCNEXT AXCF 3152の入力データIW604から受け取った数値をそのままQW604にFeedbackします。

Network4

PLCNEXT AXCF 3152の入力データIW606から受け取った数値をそのままQW606にFeedbackします。

Network5

AXCF 3152がリセット必要な場合は自動リセットを行います。

Download

最後はプロジェクトをS71212FCにDownloadするため、TIAから”Download to device”をクリックします。

Loadで進みます。

Done!Start ModuleでCPUをRun Modeにしましょう。

PLCNEXT Side

Siemens側の準備が終わったら今度はPLCNEXT側を構築します。

F-Devices Data

先程TIAから4 Wordの安全入力・出力データがありますね。実際PLCNEXTプロジェクトにどこあるかというと、Safety PLCの項目をクリックしてください。

Data ListにTabを開くと、FDEV_IN0…のTagsがありまして、こちらのTagsはSPLC1000がF-devicesとしてF-Hostと通信するとき、交換する安全データ領域です。

Safety Program

次は検証用のSafety プログラムを作成するため、S_Mainを開きます。

こちらはPLCNEXT側の検証プログラムです。

SAFEWORD_TO_SAFEBYTES

こちらのSafety Function Blockを使用すれば、SAFEWORDの変数を2つのSAFETBYESに変換することができます。

Network2

こちらは固定値を安全出力データByte2/Byte3に書き込みます。

Network3

こちらは固定値を安全出力データByte4/Byte5に書き込みます。

Network4

こちらは固定値を安全出力データByte6/Byte7に書き込みます。

Result

プロジェクトをAXCF 3152にDownloadしS71200をRun Modeにすると、SPLC1000のP/C LEDも緑点灯になります。

TIAからもAXCF 3152というF Deviceが認識できました。

AXCF 3152から送信した安全データはS71200が受信しました。

そしてSiemens側から送信したData FeedbackとCounterも受信できました。

Download

こちらのLinkからAXCF 3152のプロジェクトとSiemensのTIAプロジェクトを一括でDownloadできます。

https://github.com/soup01Threes/PLCNEXT/blob/main/SPLC1000_Project2_ConnectWithS71200.rar

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

シェアする

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

フォローする