今回の記事はDELTA MOTION社のECATモジュールと安川電機のServopack SigmaXとEtherCAT通信するとき、EtherCAT Telegramに追加情報(例えばError Code・回転層)を設定する方法を紹介します。
さ、FAを楽しもう。

Reference Link
http://soup01.com/ja/category/deltamotioncontrol/
http://soup01.com/ja/category/yaskawa%e5%ae%89%e5%b7%9d%e9%9b%bb%e6%a9%9f/
Implementation
今回使用してるのはDelta Motion社のRMC200コントローラー+ECAT EtherCATマスターモジュールです。下図ではすでにECATモジュールと安川電機のServopack とEtherCAT通信をセットアップしてた状態です。
PDO Mapping
EtherCAT SlaveのServopackをクリックし、該当するSlaveの設定画面を開きます。
今回は安川電機のServopackに回転数をEtherCAT のFrameに追加したいので、PDO Mappingをクリックします。
実はこのプロジェクトにすでにError CodeをEtherCAT Frameに追加済みです。
PDOに新しいエントリーを挿入する
新しいElementをEtherCAT Frameに追加するため、いま使用中のPDO Mappingを選び>Editをクリックします。
Edit PDO画面が表示されます。
Addボタンで新規Entriesを追加します。
CoE Object-Dictionaryリストが表示されます。
今回は安川電機のServopackのモーター回転数をEtherCAT Frameに追加したいので、0x606Cを選択してください。
Done!Velocity Actual Valueが追加され、最後はOKで設定を適用します。
Done!
EtherCATコンフィギュレーションのダウンロード
最後はEtherCATの設定をECATモジュールにDownloadしましょう。
結果
SigmaWINツールを起動し、安川電機のServopackと接続します。そしてDelta Motionに書き込んだEtherCATパラメータがServopackに反映されたかを確認しましょう。
Basic Functions>Edit Parametersをクリックします。
CatalogからEtherCATをクリックします。
PnC70は606C0020に格納され、それはServopackのモーター回転速度になります。
先程追加したエラーコードEntryにもエラーコードが格納されています。
そしてServopackのモータが回転してるとき、その回転速度もEtherCAT経由でECATモジュールに送信し確認できます。