今回の記事はBeckhoffのTwinSAFE Logic Terminal EL6910を使ってProfisafe Masterを立ち上げ、WeidmullerのProfisafe Slaveと接続します。少し珍しい使い方ですが、実用できる場合が結構あると思います。EL6910はFSoEだけではありません!
さ、FAを楽しもう。
PROFIsafe With EL6910
TwinCAT アプリケーションに PROFIsafe 通信を実装する場合、以下の点に注意してください。また、EtherCAT内でのPROFIsafeの伝送には制限があります。
- PROFIsafe Telegram は E-bus と PROFINET/PROFIBUS 経由のみ
PROFIsafe のポリシーにより、 PROFIsafe の使用は PROFIBUS と PROFINET のフィールドバスか、バックプレーンバス(例 えば E-bus)経由でのみ可能です。
Valid PROFIsafe configurations
こちらの構成はPROFIsafe マスターと PROFIsafe スレーブのコンフィギュレーションに適用されます。PROFIsafe は CX コントローラに EtherCAT 端子だけが接続され、PROFInet/PROFIbus 経由でしかデータ交換ができない場合などに使用できます。
例えば、EtherCAT経由でEtherCATターミナルとデータ交換を行うTwinCAT PCを使用する場合、PROFIsafeテレグラムはEK1100ステーションの外に出てはいけません。このため、EL6910はEL6631/EL6731 PROFIbusマスターとともにEK1100ステーションに接続されます。従って以下のコンフィギュレーションが有効です。
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サービスインターフェースまたはイーサネットを介して、システムに依存しないウェブサーバーアプリケーションでアクセスできます。
したがって、診断、ステータス値、パラメーターなどのすべての情報を読み取ることができ、接続されているすべてのモジュールをシミュレートまたは強制することができます。
ステーションの主電源はカプラに内蔵されている。電源は2つの4極コネクターから供給され、入力と出力の電流経路に分かれています。
Layout
こちらはUR20-FBC-PN-IRT-V2のLayoutです。
UR20-8DI-PN-FSPS-V2?
UR20-8DI-PN-FSPSまたはUR20-8DI-PN-FSPS-V2デジタル入力モジュールは、PROFIsafeプロトコル用の安全I/Oモジュールです。
モジュールは最大8つのバイナリ制御信号を検出できます。2線式、3線式または4線式接続により、各コネクターに2個のセンサーを接続できます。
プラグ1個あたり0.8Aの供給電流で十分でない場合は、同じ電源セグメント内の別のモジュール(電位分布モジュールなど)の補助出力を使用してセンサー供給を実現する必要があります。
ステータスLEDが各チャンネルに割り当てられる。モジュール・エレクトロニクスは、接続されたセンサーに入力電流経路(IIN)から電力を供給します。
Layout
入力のテストパルスチェックは、入力信号と電源電圧間、異なる入力信号間、または他の信号間のクロスサーキット検出としてパラメータ化できます。
従って、入力は専用の補助出力の信号が保留されている時のみアクティブになります。
独自のテストパルスを生成する OSSD 出力を持つセーフティリレーが接続されている場合は、テストパルスを無効にする必要があります。
デュアルチャネルモード(DIN EN ISO 13849によるカテゴリ4の安全アーキテクチャ)で接続される安全センサは、1つのコネクタにPNとP入力を割り当てる必要があります。
LED
こちらはUR20-8DI-PN-FSPS-V2のLED状態です。
Mapping
こちらはUR20-8DI-PN-FSPS-V2?のMappingになります。
DIP Switch
こちらはUR20-8DI-PN-FSPS-V2?のProfisafeアドレスを設定するDIPスイッチになります。
Implementation
Weidmueller Side
WeidmullerのCouplerでProfinetとProfisafeを使用するには、WeidmullerのHome PageからツールをDownloadする必要があります。
Download GSDML File
下記のLinkからUR20-FBC-PN-IRT-V2のGSDML FileをDownloadしてください。
https://catalog.weidmueller.com/catalog/Start.do?localeId=en&ObjectID=2566380000
CPD-Tool_(PROFIsafe_parameter-checksum-generator)
UR20-8DI-PN-FSPS-V2とProfisafeを使用するには、パラメータのCheck-SumツールをDownload、インストールしてください。
https://catalog.weidmueller.com/catalog/Start.do?localeId=en&ObjectID=2464590000
Beckhoff Side
次はBeckhoff側を構築します。
先程DownloadしたUR20-FBC-PN-IRT-V2 GSDML Fileを下記のDirectoryに格納してください。
C:\TwinCAT\3.1\Config\Io\Profinet
Add EtherCAT Master
EtherCAT Masterを追加するため、I/O>Devices>Add New Itemします。
EtherCAT>EtherCAT Masterを追加します。
Ethernet Adapter
CX5140にEtherCAT Masterとして使用するEthernet Interfaceを設定します。
今回はEL6910経由でPROFIsafe通信したいので、PCI Busを選択してください。
PCI BusはCX5140隣りにあるE-BUSを該当しています。
Scan Network
EtherCAT Masterを右クリック>ScanでEtherCAT Slaveを検索します。
Add Profinet Master
次はProfinet Masterを追加するため、Devices>Add New Itemします。
Profinet>Profinet I/O Controller(RT)を選び>Okします。
Configure Adapter
Profinetとして使用するEthernet Interfaceを設定します。
今回の記事はX001を設定します。
X001はCX5140にある2番目のEthernet Portになります。
Sync Task
Profinetの実行タスクをアプリケーションに合わせて設定しましょう。
IP Setting
次はPROFINET ControllerのIPアドレスを設定し、”Set IP Settings”をクリックし設定を適用します。
Controller Name
Profinet Controller名をわかりやすい名前に設定してください。
Configure Coupler
次はProfinet CouplerUR20-FBC-PN-IRT-V2のHardware ConfigurationをTwinCATプロジェクトに追加します。
Add Coupler
UR20-FBC-PN-IRT-V2 Profinet Couplerを追加します。
先ほど追加したProfinet Controllerを右クリック>Add New Itemします。
Weidmuller>I/O>UR20 Systemを選び>Okで進みます。
今回記事で使用するUR20-FBC-PN-IRT-V2を追加しましょう。
Done!
Station Name
UR20-FBC-PN-IRT-V2のデバイス名をGeneral Tabで設定してください。
Device
Device TabでUR20-FBC-PN-IRT-V2 CouplerのIPアドレスを設定してください。
Configur Slot
UR20-FBC-PN-IRT-V2をProfinetネットワークに追加しましたので、次は隣にインストールしたモジュールを構築します。UR20-FBC-PN-IRT-V2>右クリック>Add New Itemします。
こちらはProfinet のDevice Configuration画面になります。
Add Module1
Slot1はUR20-8DO-Pがインストールされています。
DO>UR20-8DO-Pを選び、Slot1に追加しましょう。
Done!
Add Module2
Slot2はUR20-PF-O-1DI-SILがインストールされています。
DI>UR20-PF-O-1DI-SILを選び、Slot2に追加しましょう。
Done!
Add Module3
Slot3にはUR20-8DI-PN-FSPS-V2がインストールされています。
DI>UR20-8DI-PN-FSPS-V2を選び、Slot3に追加しましょう。
Done!
Parameters
今度はUR20-8DI-PN-FSPS-V2のパラメータを設定します。
Parameterize Module Tabを開きモジュール設定します。
General Parameters
General Parametersは各チャンネルの入力パラメータになり、アプリケーションに合わせて設定しましょう。
PROFIsafe
こちらはPROFIsafe通信のパラメータになります。
F_Source_Add
F_Source_AddはEL6910のFSoEアドレスになり、今回は1になります。
F_Dest_Add
F_Dest_AddはUR20-8DI-PN-FSPS-V2のDIPスイッチに設定したPROFIsafeアドレスに設定しましょう。
F_WD_Time
F_WD_TimeはWatchdogの設定です。
F_iPar_CRC
最後はパラメータのCRC値を設定する必要があります。
Weidmueller社にはSiemensのTIA 専用のParameters CRCツールのみ提供されましたので、TIAにWeidmuellerのUR20-8DI-PN-FSPS-V2を追加したUR20 Profinet Couplerを右クリック>Start device toolをクリックします。
Startで進みます。
こちらはWeidmullerのSafety Configuratorになります。
パラメータ
すべてのパラメータをセットアップし、”Calc CRC”をクリックしモジュールのパラメータCRC値を計算します。
Done!CRC値をHexもしくはDecに表示を切り替えることができます。
そのCRC値をF_iPar_CRCに貼り付けます。
Write
Writeをクリックしパラメータをモジュールに書き込みます。
Read
Readでパラメータが書き込まれたかを確認しましょう。
Add PLC
PLCAdd New ItemでPLC Projectを作成します。
Standard PLC Projectを選び>AddすればOKです。
Add GVL
GVLs>Add>Global Variable Listを追加します。
Global Variable List名を設定します。
下図のようにEL6910とデータ交換するProcess IOを定義します。
{attribute ‘qualified_only’} VAR_GLOBAL RUN AT %Q*:BOOL; ACK AT %Q*:BOOL; B1 AT %I*:BOOL; B2 AT %I*:BOOL; COMACK AT %Q*:BOOL; State AT %I*:UINT; END_VAR |
Build
Build>Build Solutionでプロジェクトをビルドします。
Active Configuration
Active Configurationをクリックし、一回プロジェクトをRuntimeにDownloadします。
OKで進みます。
OKでTwinCAT RuntimeをRun Modeにソフトします。
Login
LoginでプログラムをDownloadします。
Yesで進みましょう。
Start
最後はStartボタンでRuntimeのプログラムを実行します。
Add Safety Project
SAFETY>右クリック>Add New Itemしあmす。
TwinCAT Safety Project Preconfigured EndAckを選び>Add します。
EL6910を使用しますので、TargetはHardware Safety PLCを選び>OKします。
Safety Projectが追加されました。
その中のTwinSAFEGroupは安全プログラムを組むところです。
Set Target System
まずSafety ProjectのTarget Systemを設定します。今回はEL6910が対象ですね。Target Systemの項目をクリックします。
TwinCAT側はTargetの設定画面に変わります。
Select Target System
まずTarget Systemを選択します。DefaultはEL69100でTarget SystemのDrop Listをクリックします。
EL6910を選択します。
Set Physical Devices
次はSafety ProjectのTarget Systemと実機のEL6910とを紐つけます。
赤枠にあるボタンをクリックします。
もしデバイスが見つからない場合はDeviceの型式があってるか、電源いれてるかを確認したうえに赤枠のRefleshボタンをクリックしもう一度Target SystemをScanしてみましょう。
EL6910を選び>OKします。
いまTarget SystemがEL6910に変更し、実機のSoftware Version・Serial NumberやProject CRCに読み込めるようになりました。
Update Hardware Address
念の為、Hardware Addressをもう一度Updateしましょう。
Add Digital Inputs/Outputs
Alias Devicesに以下の変数を追加します。
- Digital Inputs、Safety Group Run信号
- Digital Inputs、Error Ack信号
- Digital Inputs、COM Ack信号
- Digital Outputs、TwinCATプロジェクトにFeedbackする信号
Add PROFISafe Connection
次はUR20-8DI-PN-FSPS-V2のPROFIsafe ConnectionをAlias Devicesに追加します。
Safety>PROFIsafe>Custom PROFIsafe Connection Safetyを選び>Addします。
Done!Custom PROFIsafe Connectionが追加されました。
Linking
今度はいつものFSoE Slaveと同じように設定するだけです。
Physical Device
Linking Tab>Physical Deviceにある赤枠のボタンをクリックします。
先ほど追加したUR20-8DI-PN-FSPS-V2が表示され、OKで追加します。
Safety Address
Safety AddressはUR20-8DI-PN-FSPS-V2のPROFIsafeアドレスに該当します。
Connection
次はConnection Tabを開きます。
Mode
ModeをPROFIsafe Masterに設定してください。
Watchdog
Watchdogをアプリケーションに合わせて設定してください。
COM Err Ack
こちらは通信エラーの承認デバイスになります。
Safety Parameters
次はProfisafeのパラメータを設定していきましょう。
F_Dest_AddはUR20-8DI-PN-FSPS-V2に設定したDIPスイッチに合わせて設定しましょう。あとCRC値も先程CRC Toolsの計算値にあってるかを確認してください。
最後は現在のSafety Parametersを転送しましょう。
Safety GVL
今度はSafety 安全変数を定義します。
UR20-8DI-PN-FSPS-V2の安全入力とMappingをしておきます。
Safety Group
次は簡単なSafetyプログラムを作成します。
注意するのはRun/StopとErr Ackを先ほど追加したDigital InputsをMappingします。
Verify
最後は安全プロジェクトをコンパイルします。
Done!エラーがありません。
Download Safety Project
Download Safety Projectで安全アプリケーションをDownloadします。
Login画面が表示されます。UsernameはAdministratorです。
次はSerial Numberです。
Target Systemの画面に表示されたSerial Numberをそのまま入力してください。
今回のモジュールは1198182なのでSerial NumberのFieldは1198182にします。
最後のPasswordのDefaultはTwinSAFEです。
全部入力しNextで進みます。
入力した情報が間違えなければ、Select Project Dataの画面に進みます。
Select DataはComplete Project DataのままでNextします。
プロジェクトが無事にDownloadしました。Nextで進みます。
最後はCheckboxを入れ、Nextします。
Safety Applicationを有効にするためにPasswordをもう一度入力します。
Default PasswordはTwinSAFEです。
Result
RUN FlagをTRUEにし、SafetyプログラムをRUN モードに移行します。
安全プログラムを監視します。
現在はエラー状態です。
ACKとCOMACKをTRUEしエラーをリセットします。
Done!Safety プログラムは現在エラーがありません。IO状態も確認できました!
EL6910・UR20-FBC-PN-IRT-V2両方もエラーLEDがありません!