今回の記事では、EXORのMicroEdge BasicでCodesysを使って、EtherCAT Masterを立ち上げ、PilzのEtherCAT FSoE モジュールでFSOEネットワークを構築します。
FSoE SlaveはPilzのPSEN rd1.x SD I/O FSoE analysing unit Safetyレダーです。
さ、FAを楽しもう。
Reference Link
PSEN rd1.x?
PSEN rd1.2 システムは、機械の制御システムと統合することができ、安全機能を実行するときや故障を検出するとき、PSEN rd1.2 システムは安全出力を非アクティブに変更します。また、非アクティブな状態を維持するため、制御システムはそのエリアを安全な状態にしたり、機械の再起動を防止したりすることができるメリットがあります。
他の制御システムがない場合、PSEN rd1.2 システムは電源や機械の起動を制御する装置に接続することができますが、通常の機械制御機能を実行しません。
Functions
Analysing unit performsには以下の機能があります。
- CANバスを介してすべてのセンサーから情報を収集します。
- 検出された動きの位置を設定値と比較し、少なくとも 1 つのセンサが検出フィールドで動きを検出すると、選択した安全出力を非アクティブにします。
- センサまたは分析ユニットのいずれかに故障が検出された場合、すべての安全出力を停止します。
- すべての設定および診断機能のために PSEN rd1 Configuratorを経由して確認・変更できます。
- 異なるコンフィギュレーションを動的に切り替えることができる。
- 安全なフィールドバス接続(利用可能な場合)を介して安全 PLC と通信できます。
- MODBUSプロトコル(利用可能な場合)を介して通信し、データを交換できます。
- microSDカード(利用可能な場合)へのバックアップ、microSDカードからのシステム構成とパスワードの復元ができます。。
Main components
PSEN rd1.2 System Analysing unitと最大 6 個のセンサーで構成されます。PSEN rd1 コConfiguratorはシステム操作の設定とチェックを可能にします。
Compatibility
以下は Analysing unitとセンサーの対応機種と種類交換性になります。
Sensor communication
センサーは、SIL 2およびPL dを保証するために、EN 50325-5規格に準拠した診断メカニズムを使用して、CANバスを介して分析ユニットと通信します。
正しく機能するためには、各センサーに識別番号(Node ID)を割り当てる必要があります。同じバス上のセンサーは異なるノード ID を持つ必要があります。デフォルトでは、センサーは事前に割り当てられたノードIDを持っていません。
Communication architecture
モデルタイプにより、 Analysing unit、PLC、PC間の構成は以下のように実装可能です。
Layout
こちらはシステムのLayoutです。
EtherCAT
今回の記事ではFSoEを使用しますので、X1はEtherCAT IN Dataで、X2はEtherCAT Out Dataになります。
Cyclical data transmission
フィールドバスマスタとスレーブとして動作するAnalysing unit間の周期的なデータ伝送はプロセスデータオブジェクト(PDOs)を介して行われます。Analysing unitには1つのスロットがあり、安全関連のプロセスデータを伝送するために様々なPDOを専用にプラグインすることができます。
- 2-byte Safe Data PDOs (module ID: 0x50008101)
- RxPDO 2-byte Data Process – index 0x1600
- TxPDO 2-byte Data Process – index 0x1A00
- 4-byte Safe Data PDOs (module ID: 0x50008102)
- RxPDO 4-byte Data Process – index 0x1601
- TxPDO 4-byte Data Process – index 0x1A01
- 16-byte Safe Data PDOs (module ID: 0x50008103)
- RxPDO 4-byte Data Process – index 0x1601
- TxPDO 16-byte Data Process – index 0x1A02
また、安全性に関連しないプロセスデータも利用可能です。(有効化されている場合のみ)
- 16-byte Non-Safe Data PDOs
- TxPDO Non-Safe Data Process – index 0x1A03
Addressing
ネットワーク内で FSoE デバイスを識別するためには、1 から 65,534 までの範囲で一意の FSoE アドレスが必要です。FSoE アドレスは PSEN rd1 コンフィグレーターでデバイスに割り当てることができます。
Watchdog
プロトコルは、各FSoEフレーム伝送にわたって最適な安全接続とエラー防止監視を保証するために、マスターフレームとチェックサムと連動するウォッチドッグタイマーを含む。ウォッチドッグ時間は、FSoEマスターを使用する各スレーブに対して、100~1000msの範囲で個別にパラメータ化されます。
Implementation
Pilz Side
Download ESI File
下記のLinkでPSEN-rd1-xシステムのESI FileをDownloadしてください。
PNOZmulit Configurator
次はPNOZ Controllerのプロジェクトを設定します。
Start
PNOZmulit Configuratorツールを起動します。
Hardware Configuration
今回記事で使用するHardwareをプロジェクトに追加します。今回使用するBase UnitはBase Unit PNOZ m B1です。
もちろんPSEN rd1.x とFSoE通信しますので、Connection Module>PNOZ m EF EtherCAT FSoEを追加します。
今回記事で実際に使用しませんが、Semiconductor Output Module>Input/Output Module PNOZ m EF 8DI4DO 2つを追加します。
Import ESI File
Tools>EtherCAT/FSoE>Import ESI Fileをクリックし、PSEN rd1.xのESI FileをImportしてください。
EtherCAT/FSoE Configuration
次はEtherCAT ネットワークを構築するため、Tools>EtherCAT/FSoE>EtherCAT/FSoE Configurationをクリックします。
EtherCAT/FSoE Slave Libraryから先程ImportしたPSEN rd1.xをネットワークに追加しましょう。今回記事で使用するのは2 Bytesの入出力FSoEデータになります。
FSoE Address/Connection ID
FSoEアドレスをPSEN rd1.xに設定した番号に合わせてください。Connection IDはネットワーク内に被らないように設定しましょう。
Donwload
プロジェクトをDownloadするには、PNOZmulit>Project Managerをクリックしましょう。
Download画面が表示されます。
赤枠のボタンをクリックしプロジェクトをDownloadしましょう。
CPUのOrder NumberとSerial Numberを入力してください。
Order NumberとSerial NumberはCPUの画面から確認できます。
Ethernet Connectionを変更したいので、”Select Device Ethernet Connection”をクリックし、OKで進みます。
”Save project on USB Memory and activate”を選択し、Okで進みましょう。
注意事項を確認し、Confirmで進みましょう。
Downloadが始まるので、しばらく待ってください。
ツールからPNOZmulit CPUを再起動しますか?の確認画面が表示され、Yesで進みます。
PSEN Side
次はPSEN rd1.xシステムを設定します。
Download Tools
PilzのHPからPSEN rd1.x Configurator ToolsをDownloadしてください。そのツールには以下の機能があります。
- Configure the system.
- Create the configuration report.
- Check system functioning.
- Download system log.
コンフィギュレーターを使用するには、PSEN rd1.xをデータUSBケーブル、またはイーサネットポートがある場合はイーサネットケーブルでコンピューターに接続する必要があります。
Factory Reset
下記のボタンを長押し、PSEN rd1.xを出荷設定に戻します。
Start
Pilz HPからDownloadしたツールではインストールバージョンもしくはPortableバージョンがあり、運用によって使ってください。
Connect via USB/Ethernet
下図に示したUSB PortもしくはEthernetをPCと接続してください。
Start Tool
Ethernet connectionを選択し、PSEN rd1.xのIPをアドレスを入力し、CONTINUEで進みます。(Default IPアドレスは192.168.0.20)
Setup Password
出荷設定に戻ったPSEN rd1.xにPasswordを設定してください。
Hardware Configuration
Hardwareに使用するHardwareを設定し、PROCEEDで進みます。
Country
PSEN rd1.xを実際使用する国を選び、PROCEEDで進みます。
Stationary
PSEN rd1.xのアプリケーションを設定し、END CONFIGURATIONで設定を適用しましょう。
少々お待ち下さい…
Result
Done!
Node ID Assignment
Settings>Node ID AssignmentでRader センサーのCAN IDを設定やリセットしてください。
Factory Reset
また、Administrator>FACTORY RESETでデバイスを出荷設定に戻すことが可能です。
Network parameters
Network ParametersでデバイスのIPアドレスを変更できます。
MODBUS Parameters
MODBUS ParametersでデバイスのModbus TCP Serverを有効できます。
Fieldbus Parameters
Fieldbus ParametersでPSEN rd1のFSoEアドレスを設定できあmす。
そのFSoEアドレスはPNOZ Controller側に合わせてください。
Download
最後はAPPLY CHANGESをクリックし、Configurationを適用しましょう。
Codesys Side
次はCodesys側を準備します。こちらは今回の記事で使用するCodesys IDEバージョンです。
Download ESI File
PilzのHPからPSENradarとPNOZ-m-EF-EtherCAT-FSOEのESI FileをDonwloadしてください。
Install ESI File
ESI Fileをインストールするため、Tool>Device Repositoryをクリックします。
Installをクリックし、先程DownloadしたESI Fileをインストールしてください。
EtherCAT Configuration
次はCodesysでEtherCATネットワークを構築します。
Add EtherCAT Master
Deviceを右クリック>Add Deviceで通信Driverを追加します。
Fieldbus>EtherCAT>Master>EtherCAT Masterを追加します。
Done!EtherCAT Masterが追加されました。
Configure Adapter
先程追加されたEtherCAT Masterをクリックし、GeneralをTabでSelectをクリックします。
実際アプリケーションでEtherCAT Masterとして使用したいEthernet Adapterを設定してください。
Done!
Scan Devices
今度はCodesysのEtherCAT 自動SCAN機能を使用します。
Done!すべてのEtherCAT Slaveが検索されたので、Copy All Devices to Projectですべての設定をプロジェクトに複製しましょう。
Done!
PNOZ_m_EF_EtherCAT_FSoEに2BYTESの入出力データも検知されました。
PSEN rd1にも2 BYTESの入出力データが検知されました。
PLC Logic
次はPLCプロジェクトを作ります。
ADD DUT
Add Obejct>DUTで構造体を作成します。
DUT名を入力しましょう。
2 BYTESのFSoEデータ構造体を定義します。
Add GVL
Global Variable Listを作成します。
GVL名を入力しましょう。
PNOZ_m_EF_EtherCAT_FSoEとPSEN rd1の2 Bytes FSoE 入出力データを定義します。 注意するのはすべてのFSoE変数も絶対アドレスを振り分けます。
MAIN PROGRAM
プログラムにPSEN rd1の入力データをそのままPNOZ_m_EF_EtherCAT_FSoEの出力データとしてLoopbackし、PNOZ_m_EF_EtherCAT_FSoEの入力データはPSEN rd1の出力データにLoopbackさせます。
GVL_FSOE.PNOZ_EF_Slot1_OUT:=GVL_FSOE.PSEN_IN; GVL_FSOE.PSEN_OUT:=GVL_FSOE.PNOZ_EF_Slot1_IN; |
Mapping‐PNOZ
FSOE_Slave_CMDとFSOE_Master_CMDの前頭アドレスをGVLにあわせて強制設定してください。
Mapping‐PSEN
FSOE_Slave_CMDとFSOE_Slave_CMDの前頭アドレスをGVLにあわせて強制設定してください。
Download
最後はプロジェクトをRuntimeにDownloadしてください。
Result
Done!CodesysとPNOZ_m_EF_EtherCAT_FSoE・PSEN rd1にも通信できました。
PNOZ_m_EF_EtherCAT_FSoEとPSEN rd1間のFSoE通信も確立されました。
もしPSEN rd1のFSoEアドレスがわからない場合は、PSEN rd1をクリックしてください。
Safety Diagnosis 項目にFSoEアドレスを確認できます。
PSEN rd1もちゃんと稼働しています。