langEnglish

RSI-ECAT FAQ
RSI-ECATについてよくある質問をまとめました。
1-1 適合するコンピュータ
RSI-ECAT-Masterは、コンピュータの搭載するオンボードEthernetポートまたは、拡張Ethernetカードをインターフェースとして使用することが特長のソフトウェア製品です。
適合するEthernetコントローラは、下記、適合表の内、系ネットワークになります。
  • Pro/100 シリーズ
  • Pro/1000 または Gigabit シリーズ
1-2 適合するスレーブ機器
スレーブ機器メーカー各社様のご協力により、弊社にてRSI-ECATとの組み合わせで動作の確認がとれているEtherCAT®スレーブ機器については以下のページにてご紹介いたしております。
1-3 Beckhoff社製コンフィグレータ
現在サポートされておりません。
RSI-ECAT-Masterは、弊社で取り扱うRSI-ECAT-Studioのみをコンフィガレータとしてサポートしています。
1-4 EtherCAT®環境でハブやスイッチを使用できますか?
EtherCAT®におけるネットワークトポロジーとしてスター型やツリー型がサポートされています。しかしこれらのトポロジーを構成するために標準的なハブやスイッチを使用することはできません。特殊なデバイス(ジャンクションスレーブ)を使用する必要があります。
※ ジャンクションスレーブを使用する場合は、RSI-ECAT-Studio 1.12.102.0 以上が必要です。
※ ジャンクションスレーブを使用した場合、ホットコネクト機能、リダンダンシー機能は利用できません。
1-5 スレーブ処理に時間がかかることで、サイクリック周期が破綻することはありますか?
市販のEterhCATスレーブが原因でサイクリック周期が破綻することはなく、またそのような事例の報告もありません。EterhCATスレーブ機器は商品化にあたり認定試験が設けられており、品質は極めて安定しています。
サイクリック周期が破綻する要因として、考えられることは、マスター側の処理がサイクル周期内に完了しない場合です。
このような状況になる原因しましては、接続スレーブ数が多くなる、接続しているスレーブのプロセスイメージが大きい、ユーザーアプリケーション内のスレッドによる影響などが考えられます。
(詳細は 5-1-1 サイクリック周期以内に、サイクリック時の処理が終わらない場合 を参照ください)
1-6 スレーブをソフトで開発することはできませんか?
EtherCAT®スレーブには必ずESCチップが必要になります。ソフトウェアではEtherCAT®のオンザフライ通信を処理できないためです。
PCをEtherCAT®スレーブとして使用する場合、ESCチップを搭載したPCIボードを使用します。以下PCIボードは、メーカーからINtime®用ドライバが提供されていますのでINtime® SDKお持ちであれば、すぐにスレーブアプリケーションを開発できます。詳細は弊社営業までご連絡ください。
メーカー 名称 URL
koenig-pa GmbH
(KPA)
KPA EtherCAT PCI Board https://koenig-pa.de/products/hardware/ethercat-slaves/#KPA-EtherCAT-Boards-with-PCI-Interface
Hilscher CIFX 50E-RE https://www.hilscher.com/ja/製品情報/製品グループ/pcカード/pci-express/cifx-50e-reecs/
1-7 ノイズへの対応はどのようになっていますか?
EtherCAT®通信はEthernet準拠のデジタル通信で、シールドLANケーブル(Cat5)を採用するので、ノイズの影響を心配する必要はほぼありません。
過去の経験では、メーカー試作品のサーボモータスレーブを検証した際に、自身が発するノイズで通信異常になった例がありました。 ただし、EtherCAT®認定試験をパスしたPanasonic様などスレーブメーカの製品では、ノイズによる障害の報告事例はありません。
2-1 RSI-ECAT-Masterは、周期的に処理を行いますが、どのような処理を行っているのでしょうか ?
RSI-ECAT-Master タイミングチャートにおいて、説明しております。ご参照ください。
2-2 DC(Distributed Clock)は使用できますか ?
DCが利用可能なエディション RSI-ECAT-Master/DC または RSI-ECAT-Master/RED にて使用可能です。
RSI-ECAT-Master では使用できません。
2-3 DC(Distributed Clock)とFree runを混在して使用できますか ?
はい、使用可能です。
DCを使う為に、DCが利用可能なエディション RSI-ECAT-Master/DC または RSI-ECAT-Master/RED が必要になります。
2-4 RSI-ECAT-Masterの周期は設定できますか ?
はい、設定可能です。
デフォルト動作として、INtime® カーネルティック値と同じ周期になります。
RSI-ECAT-Masterの起動パラメータに、"-cycle=[周期時間(us単位指定)]"を指定することで設定できます。
※ INtime® カーネルティック値の単位で指定する必要があります。
 例:
  INtime® カーネルティック値 = 500us の場合、500us, 1000us, 1500us と 500us 単位の指定となります。
2-5 古いバージョンのRSI-ECAT-Studioで作成したENIファイルを使用できますか?
RSI-ECAT-Studio 1.10.172.0 ~ 1.12.102.0 で生成したものは、RSI-ECAT-Master 2.0~2.51 で使用できます。
RSI-ECAT-Master 1.4.6.7 と RSI-ECAT-Studio 1.9.21.0 のみセットとなり、他のバージョンでは利用できない構成になります。

次の表をご参照ください。
RSI-ECAT version Studio 1.12.*.* Studio 1.10.*.* Studio 1.9.*.*
Master 4.0.0
Master 3.0.4
Master 3.0.3
Master 3.0.2
Master 3.0.1
Master 3.0.0
Master 2.9.5
Master 2.9.4
Master 2.9.2
Master 2.9
Master 2.8
Master 2.7
Master 2.6
Master 2.5.1
Master 2.5
Master 2.4
Master 2.3.2
Master 2.3.1
Master 2.3
Master 2.2
Master 2.1
Master 2.0
Master 1.4.6.7

: ENI使用可能
2-6 プロセスデータ内の項目数やデータサイズ、オフセット情報は、どこで確認できますか?
EtherCAT®バス内の各スレーブデータは、1つのプロセスデータとしてやりとりされます。
RSI-ECAT-Master では、この1つのプロセスデータを入力用と出力用に分け、管理しています。
RSI-ECAT-Master では、プロセスデータと同等のメモリ空間として、VIOSメモリ空間を用意しており、入力用は、VIOS-INメモリ空間、出力用はVIOS-OUTメモリ空間にアクセスする事でやりとり可能です。
プロセスデータ内の項目数、データサイズ、データオフセット情報は、コンフィグレーション段階の RSI-ECAT-Studio にて、Process Image タブをクリックする事で確認する事が可能です。
その他、ENIファイル内の ProcessImage タグ内を見るか、RSI-ECAT-Master 3.0 以降に付属する ENI Viewerツールを使用する事で確認できます。
RSI-ECAT-Studio の Process Image タブや、ENIファイル内の ProcessImage タグ内のデータサイズ、データオフセット情報は、ビット(bit)単位で表記されている事に注意してください。

RSI-ECAT-Studio の Process Image タブ情報 例:
pi_studio.jpg

ENIファイル内の ProcessImage タグ情報 例:
pi_eni.jpg
2-7 断線時には再送信処理は行いますか?(ホットコネクト機能は無しのとき)
EtherCAT®通信に再送の概念はなく、EtherCAT®マスターは断線の有無に関わらず、マスター周期ごとにパケット送信が繰り返されます。
2-8 スレーブ単位での断線検知はできますか?
アプリケーションは断線をイベントで検知できます。アプリケーションは各スレーブのレジスタ読み取りを試行し、エラーになることをもって、断線位置を特定することもできます。
2-9 断線時のスレーブステートはどうなりますか?
スレーブからすれば、断線は時間内にパケットが流れてこなかった認識になります。(ウォッチドッグタイムアウト)
このときSafe-Operationalに移行するのがEtherCAT®スレーブの実装ガイドラインとしてあるようですが、実際には、各スレーブメーカの事情により必ずしもSafe-Operationalに移行するとは限りません。
2-10 RSI-ECAT-Masterのサイクル周期以外の設定は、どのように設定しますか?
RSI-ECAT-Studio にて、各所設定した後、ENIファイルへエクスポートし、規定の位置へ配置してください。
そのうえで、ドライバ起動パラメータとして、"-cycle=eni" をご指定ください。

"-cycle=eni"を指定することで、以下の内容がENIファイルから設定を利用します。

設定項目名 詳細
サイクル周期 EtherCAT®のプロセスデータ通信周期です。
メールボックス周期
(旧名称: サブサイクル周期)
EtherCAT®のメールボックス通信周期です。
CoE通信やステートチェンジに影響する周期です。
オートリカバリ周期 EtherCAT®のオートリカバリチェック周期です。
ホットコネクト機能やリダンダンシー機能のタイミングに影響する周期です。
DC SYNC0/SYNC1周期 EtherCAT®のDC時に利用するSYNC0/SYNC1周期です。
DCに影響する周期です。

2-11 RSI-ECAT-Masterのサイクル周期等のデフォルト値はいくつですか?

各項目のデフォルト値は以下の通りです。
設定項目名 デフォルト値
サイクル周期 INtime®カーネルティック値
メールボックス周期
(旧名称: サブサイクル周期)
サイクル周期に設定されている値の4倍
オートリカバリ周期 サイクル周期に設定されている値の200倍
DC SYNC0/SYNC1周期 ENIファイルの値をそのまま利用
※ ENIファイルのサイクル周期と異なる場合、期待した同期処理が行われないため、DCを利用時は "-cycle=eni" の起動パラメータをご利用ください。

2-12 スレーブとの通信状態を確認するにはどうすればいいでしょうか?
EtherCAT State Machineを Operational遷移後、スレーブとの通信状態が正常に行われているかは以下の2つを行うことで確認できます。

1) スレーブ毎にEhGetSlaveStateをコールし、Operational(MST_OPERATIONAL)であるか確認
EhGetSlaveStateで得られるスレーブの現在ステートがOperationalであるか確認します。
Operational以外の場合、EtherCAT 回線上で問題が発生している可能性があります。

2) スレーブ毎にEhGetALStatusをコールし、エラーが発生していないか(bit4:エラー状態=0)かを確認
ALStatusのbit4はエラー状態を示すフラグになっており、1である場合スレーブはマスターからの要求ステートになっていない、 あるいはマスターからの要求ステートを維持できなくなりステートが変わっていることを示しています。
bit4が1であった場合、EhGetALStatusCodeによってその原因を得ることができます。
得られる値の意味については使用しているスレーブのマニュアルを参照ください。
2-13 バージョンアップするにはどうすればよいでしょうか?
RSI-ECAT-Masterのバージョンアップは以下の手順で行います。

1) INtimeカーネルを停止させます。

2) 以下のファイルをバックアップします。
C:\Program Files (x86)\Micronet\RSIECAT\bin\NodeA\RtEcHdr.xml

3) 以下のファイルに行った設定を控えます。
C:\Program Files (x86)\Micronet\RSIECAT\bin\NodeA\ecatmkpa.ini

4) RSI-ECAT-Masterで使用していたNICを INpassを使ってWindows側に戻します。

5) 「アプリと機能」画面より、RSI-ECAT-Masterをアンインストールします。

6) 新しいRSI-ECAT-Masterをインストールします。

7) 4)でWindows側へ戻したNICを、INpassを使ってINtime側へパスします。

8) 3)で控えておいた設定をecatmkpa.iniに行います。
設定の際には編集用のツールを用います。編集用のツールは以下の方法で起動します。
スタートメニュー > Micronet RSI-ECAT-Master > ecatmkpa.ini

9) 2)でバックアップしたファイルを所定の位置に戻します。
C:\Program Files (x86)\Micronet\RSIECAT\bin\NodeA\
2-14 RSI-ECAT-Master バージョン4 以降のライセンスについて
RSI-ECAT-Master 4 から、製品アクティブ化ツールと呼ばれる新しいライセンス認証方法に変更されます。
製品アクティブ化ツールは、USBメモリスティックのような形状になっており、PCに挿した後、USB内の製品アクティブ化ツールを起動してウィザード形式で進める認証方法です。
これにより、任意のINtimeやTraceable Controllerの開発環境や実行環境に対して、RSI-ECAT-Master をインストールして実行する事が可能になります。
RSI-ECAT-Master 4 からは、RSI-ECAT-Master 3.x までの INtimeドングルキーとのセットでライセンス認証する方法や、USBアクティベータタイプのライセンス認証方法は廃止されます。

具体的なライセンス認証方法については、こちらを参照ください。
3-1 スレーブを用意しなくてもコンフィグレーション(ENIファイル)はできますか ?
はい、コンフィグレーション可能です。
使用するスレーブのESIファイルが事前に必要になります。
コンフィグ方法については、下記 オフラインコンフィグレーション手順 をご参照ください。
3-2 Configuration Station Alias設定時にワーニングメッセージが表示されます。
バージョン1.12.473.0以降をお使いの場合、IdentifaictionのMechanismを「Configuration station alias」に設定したときに、ワーニングメッセージが表示される場合があります。
ワーニングメッセージ
これは、EEPROM に書き込まれているAlias値(EEPROM value)と、ESCレジスタ 0x12に設定されている値(Physical Value)が異なるために表示されます。
値
スレーブ電源の再投入を行い、EEPROM valueとPhysical valueが一致するか確認ください。
再投入によっても一致しない場合は、EEPROMに書き込んだ値はAlias値として利用されません。
利用するためには、ご使用のスレーブマニュアルを参照しESCレジスタ 0x12の値を更新する方法を確認ください。
スレーブによっては、スレーブ本体に実装されたロータリースイッチやディップスイッチの設定がESCレジスタに反映される場合があります。

一致させられできない場合でも、Studio上で設定している値(Configred value)とPhysical valueが一致していればOperational状態への遷移可能となりますので、遷移できることを確認すればENIファイルとして出力して問題ございません。
値
4-2 EhWaitForCyclic()の応答後、出力情報を書き込んだ場合、この情報はいつ出力されますか ?
プライオリティに左右されます。
プライオリティ 78 (※1)よりも高いプライオリティのスレッド(数値的には77以下(※2))が、EhWaitForCyclic()で待機していた場合は、次のサイクリック処理開始前に出力されます。(※3)
プライオリティ 78 (※1)よりも低いプライオリティのスレッド(数値的には79以上(※2))が、EhWaitForCyclic()で待機していた場合は、次の、そのまた次のサイクリック処理開始前に出力されます。

※1 ecatmkpa.ini ファイルの HPE2IfTxPriority 値を 78 から変更された場合は、変更した値 になります。
※2 プライオリティは、小さい数値ほど高プライオリティ(優先度が高い)となり、大きい数値ほど低いプライオリティ(優先度が低い)となります。
※3 他の高プライオリティスレッドが長期間動作していない事が前提です。
  • 例 1)
     A スレッド : RSI-ECAT-Masterサイクリック処理の送信スレッド : プライオリティ = 78 (HPE2IfTxPriority)
     B スレッド : EhWaitForCyclic()待機スレッド : プライオリティ = 77

     このような構成時は、次のような処理遷移になります。

     A スレッド : サイクリック開始通知処理
       ↓
     B スレッド : EhWaitForCyclic()からの帰還
       ↓
     B スレッド : 出力情報をメモリ(VIOS-OUT)へ書き込み
       ↓
     B スレッド : 次のEhWaitForCyclic()コール待機
       ↓
     A スレッド : 出力情報(VIOS-OUT)から出力予定パケットメモリへ更新

  • 例 2)
     A スレッド : RSI-ECAT-Masterサイクリック処理スレッド : プライオリティ = 78 (HPE2IfTxPriority)
     B スレッド : EhWaitForCyclic()待機スレッド : プライオリティ = 130

     このような構成時は、次のような処理遷移になります。

     A スレッド : サイクリック開始通知処理
       ↓
     A スレッド : 出力情報(VIOS-OUT)から出力予定パケットメモリへ更新
       ↓
     B スレッド : EhWaitForCyclic()からの帰還
       ↓
     B スレッド : 出力情報をメモリ(VIOS-OUT)へ書き込み
            (※ 既に出力予定パケットメモリへの更新が終えているので、次のそのまた次の出力となってしまう)
       ↓
     B スレッド : 次のEhWaitForCyclic()コール待機
5-1 ステートチェンジが行えません。
ステートチェンジが行えない場合、いくつかの要因が考えられます。
5-1-1 サイクリック周期以内に、サイクリック時の処理が終わらない場合
サイクリック周期よりもサイクリック時の処理時間の方が長い為に、EtherCAT®通信が成り立たない場合に発生します。
サイクリック周期 ≦ サイクリック時の処理時間 = EtherCAT®通信は成り立たない

サイクリック周期は、デフォルト値としてINtime® カーネルティック値と同じになります。
EhGetSystemInfo()をコールすることで、動作中のサイクリック周期(μ秒単位)を得ることが可能です。
サイクリック時の処理時間は、INtime®ツールに含まれる INscope を使用することで、確認することが可能です。
RSI-ECAT-Masterは、RtEcHdr.RTA というプロセスとして動作しております。

INscope でトレースした例 :
INscopeLog.jpg

サイクリック時の処理時間は、CPUの処理能力に大きく影響します。
Core™ i3 や i5, i7 CPUでは、1サイクリック処理にかかる時間が、約100μs 程度で処理できますが、Atom® CPUでは、約600μs ほど必要とします。
また、INtime®の共有モード、専有モードによっても変化します。
5-1-2 ENIファイル内のスレーブ構成と、実際に接続しているスレーブ構成が違う場合
ENIファイルに構成されているスレーブ構成、接続順と、 実際に使用しているスレーブ構成、接続順が違う場合に発生します。
(※ エイリアス配置設定がされているENIファイルの場合、接続順は無視されます。)
5-1-3 ステートチェンジの指令と、確認方法が誤っている場合
ステートチェンジには EhRqState() を使用しますが、EhRqState()は、ステートチェンジ要求を出した後、即応答を返します。
要求後、直ぐにステートチェンジが完了するわけではございません。

EhRqState()を発行後に、EhGetState()にてステートチェンジが完了したかどうかを確認する必要があります。

WORD  woResult;
  WORD  woReqState, woReqState;

  woResult = EhRqState(hAPI, MST_OPERATIONAL);
  if( woResult != 0 ) {
     printf("EhRqState() failed. status=%04xH\n", woResult);
     return; // error
  }

  while(1) {
     woReqState = 0;
     woReqState = 0;

     woResult = EhGetState(hAPI, &woReqState, &woNowState);
     if( woResult != 0 ) {
         printf("EhGetState() failed. status=%04xH\n", woResult);
         return; // error
     }

     if( woNowState == MST_OPERATIONAL ) {
         break; // ステートチェンジ完了
     }

     RtSleep(500); // 通信処理するためにもRtSleep等で制御を返す必要があります
  }
5-1-4 ENI作成時に Download to slave にチェックが入っている場合
スレーブのESIによってはデフォルトで、PDOアサイン情報/PDOコンフィグ情報の書き込みにチェックが入っていても許可していないスレーブがあります。
このようなスレーブの場合、PDOアサイン情報/PDOコンフィグ情報の書き込みに対してエラーになるため、Pre-Operational から Safe-Operational に遷移しなかったり、Safe-Operational から Operational に遷移しない現象として現れます。

対処方法
RSI-ECAT-Studio から、Download to slave のチェック状態を確認します。
1) RSI-ECAT-Studio 起動後、スレーブを検出してください。
2) 左ツリーウィンドウより、設定を確認したいスレーブをクリック後、右ウィンドウから FMMU/SM タブをクリックしてください。
3) Download to slave グループにある、PDO assignment と PDO configuration にチェックが入っている場合は、チェックを外してください。

downloadtoslave.jpg

4) ENIファイル(RtEcHdr.XML)としてエクスポートして、これを使用してください。
5-1-5 DC機能が必要なスレーブに対して、DC機能が無効な場合
スレーブによっては、DC(Distributed Clock)機能が必須のものが存在します。
このようなスレーブを使用して、DC機能が無効の場合、ステートチェンジに失敗します。
主に、モーション制御スレーブや、モーション制御に関わるエンコーダやカウンタ機能を持つスレーブに見られる傾向です。
RSI-ECAT-Studio にて、マスターのDC(Distributed Clock)機能を有効にして、再度お試しください。
5-1-6 RSI-ECAT-Studio 使用中で、DC機能を有効にして、Attach Master中の場合
RSI-ECAT-Studio 上では、DC機能を有効にして動作を確認する事ができません。
RSI-ECAT-Studio 付属の EtherCAT Master は、Windowsソフトウェアであるため、リアルタイム性能が無く、 DC機能のような、確定的な高頻度周期タイミングを作る事ができないためです。
Attach Master には成功しますが、Operationalへの遷移ができない場合が殆どです。
もし、Operationalへの遷移に成功しても、数秒後には同期ズレにより Safe-Operational へ落ちる傾向があります。
DC機能の動作を確認するには、ENIファイルを作成し、RSI-ECAT-Master/DC または RSI-ECAT-Master/RED にて行ってください。
5-2 DCを使用すると、時刻戻ったり進んだりしてしまいます。
DCによる時刻同期がマスターにも適用されていることが原因です。
RSI-ECAT-Studioでは、DCのリファレンスクロックをデフォルト値として最初に見つかったDCスレーブを設定します。

RefSlave.jpg

リファレンスクロックとして指定されたスレーブの時刻を全てのスレーブとマスターに、時刻を反映させます。
そのため、マスターが使用している時刻を調整されることから、時刻が戻ったり進んだりする現象として現われます。

マスターの時刻を調整されたくない場合には、リファレンスクロックの指定をマスターに設定します。

RefMaster.jpg

※ リファレンスクロックをマスターにすることで、マスターの時刻を全スレーブへ通知することになります。
  マスターとして使用しているPCのAPICタイマー応答性能次第では、DCの性能を十分に発揮できない可能性があります。
  INtime® Graphical Jitter Display ツールにて、PCのAPICタイマー応答性能を確認することができます。
  応答性能の揺らぎが大きい場合には、時刻を優先させるか、DCを優先させるかの選択が必要になります。

これらの設定は、ENIに反映されますので、ENIを出力し、このENIを使用するようにしてください。
5-3 Digital Output をオブジェクトディクショナリ経由で書き込みましたが、値が反映されず出力されません。
PDOにマッピングされているオブジェクトディクショナリの項目は、値が書き込めないようスレーブからエラーが返却されるか、値が反映される前にプロセスイメージで上書きされてしまいます。
オブジェクトディクショナリ経由で書き込みたい場合には、PDOのマッピングを解除する必要があります。
PDOのマッピングを解除するには、RSI-ECAT-Studio 上からスレーブが持つ FMMU/SM 項目にて設定します。

※ スレーブによっては必ずPDOにマッピングする必要がある項目については、FMMU/SM から変更できない場合もあります。
5-4 EhReadOD, EhWriteOD, EhReadODByAlias, EhWriteODByAlias, で、ステータス 0x0049 : ER_EHAPI_LENGTH が返却されます。
RSI-ECAT-Master 2.7 までの仕様上、オブジェクトディクショナリへの最大データ長は、63バイトまでとなります。
64バイト以上のデータ長を持つオブジェクトディクショナリの項目を読み書きする場合には、RSI-ECAT-Master 2.8 以降をお使いください。
RSI-ECAT-Master 2.8 からは、255バイトまで拡張されております。
5-5 サイクリック破綻通知のコンソール表示を行わない方法はありませんか?
RSI-ECAT-Master 2.6 以降であれば、RSI-ECAT-Master (RtEcHdr.rta)の起動パラメータとして、"-console=hide"を指定することでサイクリック破綻通知のコンソール表示を行わなくなります。
autoload_hide.jpg

RSI-ECAT-Master 2.6 未満の場合は、EH APIの EhSetOverrunCheck にて、woNoticeMode = 0 をセットすることでサイクリック破綻通知のコンソール表示を行わなくなります。
このEH API設定は、2.6以降も使用可能です。
5-6 RSI-ECAT-Studio 使用中に、No license... と表示されます。
RSI-ECAT-Studio にて、Attach Master後、ライセンスが無い旨のメッセージが表示されますが、これは KPA EtherCAT Master for Windows ライセンスが無い為に表示されています。
nolic_studio.png

RSI-ECAT-Studio は、EtherCAT®通信にWindowsネットワークを用いますが、その際の EtherCAT Master として KPA EtherCAT Master for Windows を介して行います。 KPA EtherCAT Master for Windows を用いて開発、提供する場合には別途ライセンスが必要となりますが、コンフィグレーションのみの場合は免除されており、デモライセンスモードとして動作するようになっており、その旨を通知するメッセージとなっております。 その為、そのままご使用いただいて問題ございません。
5-7 DC機能で動作中、出力タイミングが不安定になる場合がありますが、これは何が影響していますか?
   例1: デジタル出力において、出力される波形が不安定になる
   例2: アナログ出力において、 同じ値が出力される時がある
   例3: モーション制御において、異音がする
スレーブ側のDCイベント発生タイミングに、ばらつきが生じている可能性があります。コンフィグレーションにて、次の設定項目を調整し、動作を確認してください。

RSI-ECAT-Studio において、
左ツリーウィンドウから Master 1 選択 > 右ウィンドウから、Distributed Clocks タブを選択します。
  1. Enable propagation delay compensation
    フレーム送信の遅延を補正する機能です。
    このチェックを入れることで、DCの同期精度が向上するため、殆どのDC環境においてチェックを入れることをお薦めします。このチェックを入れた場合、DC初期化に時間を要するため、オペレーショナルまで遷移する時間が、チェックを入れていない場合と比べて、若干増加する傾向にあります。
  2. Sync shift time
    Master の応答時間や、スレーブの応答時間の許容範囲を広げます。
    通常、サイクル周期の 10% 程度を指定しますが、遅延具合が把握できている場合は、この部分へ許容範囲値を指定します。
5-8 インストール途中で Unable to access the "Firewall" service. ... と表示されます。
RSI-ECAT-Studio インストール途中で、次のようなメッセージが表示される場合があります。

nolic_studio.png

本メッセージは、RSI-ECAT-Studio インストーラーが、Windowsファイアウォールへのアクセスに失敗した場合に表示されます。 Windowsファイアウォールへのアクセスが必要な理由として、RSI-ECAT-Studio インストーラーに含まれる Licensing Utilities が様々なライセンス認証方式をサポートしており、その内の1つに、ネットワーク認証方式があるためです。
RSI-ECAT-Studio のライセンス認証方法はUSBドングルキーのみとしておりますので、ネットワーク認証方式は使用しない事から本エラーは問題となりません。OKボタンを押してインストールを続行してください。
5-9 RSI-ECAT-Studio が起動しません。
RSI-ECAT-Studio は、.NET Framework 2.0 を必要とします。.NET Framework 2.0 をインストールしてください。
5-10 DC機能が使えるEtherCATスレーブに対して、リファレンスクロックの設定が行えません。
リファレンスクロックの設定は、それよりも前にDC機能を有するEtherCATスレーブが存在する場合、設定する事ができません。
次の内いずれかの対処になります。
(1) 対象EtherCATスレーブよりも前にあるDC機能を有するEtherCATスレーブを、リファレンスクロックとします。
(2) 対象EtherCATスレーブよりも前にあるDC機能を有するEtherCATスレーブに対して、DC機能を無効(Not Used)にし、対象EtherCATスレーブをリファレンスクロックに設定します。
5-11 一時的にオペレーショナル状態になりますが、入力値が得られず、出力値が反映されません。
DC機能の一部に対応するものの、DC配信ができないタイプのEtherCATスレーブが混在している場合、他のDC機能を持つスレーブがエラー、および、セーフオペレーショナルへ落ちる場合があります。
この時、DC機能(Free Run を含む)を有効にしているものの内、エラーになっていないスレーブが、「DC機能の一部に対応するものの、DC配信ができないタイプ」の可能性があります。
このEtherCATスレーブに対して、DC機能を無効(Not Used)にして動作をお確かめください。
5-12 APIタイムアウト値を伸ばしたときAPIコールをするとスピン検知されます。
APIタイムアウト値をEhSetApiTimeoutで(ODアクセス系APIはEhSetTimeoutForODで)伸ばした状態でAPIをコールしたとき、以下のようなダイアログが表示されることがあります。

スピン制御ダイアログ

これはRSI-ECATドライバプロセスが行うAPI処理が連続して行われる時間が長くなったため、その間にINtime for Windows付属ツールであるSpinDoctorが、スピン発生(一定時間CPU時間を占有)と判断したために表示されています。
よくある事例としては接続スレーブ台数が何十台もある中でEhOpenをコールしたときなどです。
この場合、SpinDoctorのスピン検知判定閾値を伸ばす、またはSpinDoctorを無効にしてください。
これらの設定を変更するには表示されるダイアログの下部にある、「スピン制御設定」にて行います。
5-13 オープンに失敗します。
オープンに失敗する場合、いくつかの要因が考えられます。
5-13-1 Aliasの重複が検出された場合
オープン時に、Aliasの重複をチェックしています。Aliasの重複チェックは、次の順序で実施されます。
(1). ENIファイル
ENIファイル内にAliasの定義が存在する場合は、これを基準にします。
  • RSI-ECAT-Master 3 まで:
    (2), (3) は実施しません。(但し、/RED は、Ver.4.* 以降と同じ挙動になります。)
  • RSI-ECAT-Master 4 以降:
    マスターは、ENIファイルに定義されたAliasとEtherCATスレーブが持つAliasを比較します。
    一致しない場合、ステートチェンジに失敗します。
(2). Configured Station Alias
ENIファイル内にAliasの定義が無い場合、接続されているスレーブから、Configured Station Alias を読み込みます。
(3). EEPROM Alias
Configured Station Alias が 0 の場合、接続されているスレーブから、EEPROM Alias を読み込みます。
EEPROM Alias が 0 の場合、このスレーブは、Aliasを使用しない、と判断します。

これらの方法で集められた各スレーブのAlias値を照らし合わせて、0 以外の値が重複している場合、Error! Alias conflict. と表示されます。

対処方法:
RSI-ECAT-Studio にて、各スレーブのAliasを重複しないように調整してください。
Aliasの設定方法については、次の内いずれかのドキュメントをご参照ください。
  1. RSI-ECAT-Studio のCD-ROM内にある EtherCAT Configuration.pdf 内の「 エイリアスの設定方法 」
  2. RSI-ECAT-Master をインストールした環境にあるユーザーマニュアル(DOCRSIECATDRV.PDF)内の「 RSI-ECAT-Studio によるエイリアス設定手順 」

備考:
  1. ロータリースイッチやディップスイッチを持たないスレーブの Configured Station Alias は、EEPROM Alias の値を表示しています。
  2. RSI-ECAT-Master では、Alias の 0 を、唯一重複しても良い数値としています。

6-1 RSI-ECAT-Masterについて
 
6-1-1 EhWaitForCyclic で待機中にEhCloseを実行しても、EhWaitForCyclicから応答が返りません。
EhWaitForCyclic で待機中にEhCloseを実行されると、応答が返らなくなる現象を確認しております。
回避方法としまして、EhWaitForCyclic のタイムアウト値を短くするか、EhWaitForCyclic でブロックしているスレッドを削除してください。
6-1-2 下位バージョンでビルドしたRTAを、上位バージョン実行すると、ページ違反例外が発生します。
RSI-ECAT-Master 2.4 よりバージョンが低い環境において、EH APIを使用し、ビルドされたものをビルド環境よりもバージョンの高い環境で動作させた場合に、ページ違反例外として終了してしまう問題を確認しております。
これは、EH API に含まれる SLAVE_DETAIL 構造体が、2.3以下、2.31、2.32、2.4 でそれぞれサイズが異なる為に起こっております。
SLAVE_DETAIL 構造体を利用する EH API は、次の通りです。
  • EhFindSlave
  • EhFindSlaveByAlias
  • EhFindSlaveBySlaveNo

回避方法 :
 これらの EH API に渡す SLAVE_DETAIL 構造体を、以下に定義した新しい構造体に変更し、stDetails を使用します。

 // 新しい構造体 : union chReserved[256] によりバッファを増設しています。
 #pragma pack(push, 1)
 typedef struct {
        union {
                SLAVE_DETAIL    stDetails;
                char            chReserved[256];
        };
 } SLAVE_DETAIL_FIX;
 #pragma pack(pop)

 SLAVE_DETAIL_FIX       stSlave;

 stSlave.stDetails.dwSize  = sizeof(SLAVE_DETAIL);
 stSlave.stDetails.woAlias = 33;

 EhFindSlaveByAlias( ehApi, &stSlave.stDetails );
6-1-3 イベントビューワに Set media status というログが記録されます。
EhOpenをコールするたびに、イベントビューワのINtime®カテゴリへ、Set media status というイベントログが記録されることを確認しております。
これは、ネットワークドライバに対して全二重(フルデュプレックス)の設定を行おうとしておりますが、INtime® 4とINtime® 5で設定方法が異なるため、警告として記録されるものです。
このログが記録されても全二重(フルデュプレックス)の設定は行われるので動作的には問題ありませんが、イベントログとして記録されてしまいます。

RSI-ECAT 2.4以降をお使いの場合 :
 次のファイル削除してください。
  1. (Program Files)\Micronet\RSI-ECAT\bin\hpeif2.rsl
  2. (Program Files)\Micronet\RSI-ECAT\bin\hpeif2.org
 削除後、INtime®カーネルを再起動してください。

RSI-ECAT 2.4以前(2.0~2.32)をお使いの場合 :
 本問題を解消する方法はなく、RSI-ECAT 2.4以降へアップグレードしてください。
6-1-4 INtime® 6上で実行できません
INtime® 6上にインストールした場合、RSI-ECATを正しくロードすることができません。これは、RSI-ECATの参照するライブラリパスが INtime® Configuration 上に設定されない問題のためです。RSL検索パスリストにRSI-ECATのインストールパスを追加してください:
path_list.png
6-1-5 INtime® 6上で実行するとページ違反例外が発生します
INtime® 6のワークスペースでアプリケーションをビルドすると、EhGetEhNodeStatusの実行時にページ違反例外が出力されます。原因は、RSI-ECATのライブラリが、INtime® 6にて採用されたXM Modeに対応していないためです。
  • 回避方法
    • プロジェクトワークスペースの設定にてUse XM modeDo not use XM modeとします。
      project_mode.png
6-1-6 Intel® i219 の使用について
Intel® i219LM や Intel® i219V 等、i219 と名称が付いているものを使用した際に、サイクル周期処理に要する時間が延びたり、ホットコネクト再接続時において通信が復旧しない問題が確認されております。
i219 にのみ本現象が発生する事から、i219 のエラッタやデバイスの特性について調べておりますが、未だ原因は断定できておりません。i219 シリーズのネットワークデバイスを使用しないようにしてください。
6-2 RSI-ECAT-Studioについて
 
6-2-1 RSI-ECAT-Studioをインストールしても、ファイルがインストールされません。
RSI-ECAT-Studio v1.10.172.0 において、UAC機能がON状態("通知しない"以外)に設定されていると、ファイルのインストールがブロックされてしまいます。
UAC機能をOFFにした後、再度インストールを試みて下さい。

UAC機能をOFFにするには、 コントロールパネル → ユーザーアカウントと家族のための安全設定 → ユーザーアカウント → ユーザーアカウント制御設定の変更 を開き、バーを一番下の"通知しない"側に設定後、OKを押します。
その後Windowsの再起動が求められた場合は、Windowsを再起動してください。
6-2-2 ジャンクションスレーブに接続されているスレーブを正しく検出できません。
ジャンクションスレーブの先に接続されているスレーブが、接続されている順に検出されないことを確認しております。
自動検出後、ドラッグ&ドロップにて、実際に接続されている位置と同じ位置にスレーブが存在するようツリーウィンドウを操作してください。
また、Process Imageタブからメモリ構成方法を Create PI by tree view に変更してください。
  • 本問題は、RSI-ECAT-Studio 1.12.102.0 で解消されております。
※ ジャンクションスレーブを使用した場合、ホットコネクト機能、リダンダンシー機能は利用できません。
6-2-3 RSI-ECAT-StudioでNetwork cardが認識されません
Windowsのデバイスマネージャで有効となっているNICがRSI-ECAT-StudioのNetwork cardリスト(以下参照)に表示されず、選択できないことがございます。
niclist.png

RSI-ECAT-Studioのインストールに付随する「WinPcap」がインストールされる際、Network cardのリストが生成されます。
以下のようなNICはNetwork cardのリストと一致せず、Studioに認識されません。
  • Studioインストール後、INtime®にパスされたことがあるNIC
  • Studioをインストールした後に増設したNIC
解決策 :
  上記理由により使用できないNICは、以下の手順で「WinPcap」を再インストールすることで、リストが再度生成されStudioで使用可能となります。
   1. Windowsデバイスマネージャより、該当NICが有効となっていることを確認します。
   2. 「コントロールパネル」より「プログラムの追加と削除」を開きます。
   3. 「WinPcap X.X.X」をアンインストールします。
   4. 以下のサイトの「Download」リンクよりWinpcapをダウンロードします。
    https://www.winpcap.org/default.htm
   5. ダウンロードした WinPcap_X_X_X.exe を実行し、指示に従いインストールします。
6-2-4 モジュラーデバイス(MDP スレーブ)のPDO生成ができません
バージョン1.12.102の[Module]タブから、MDP moduleの構成を行うことができません。これは1.12.102における[Modules]機能の問題で、後のバージョンにて修正予定となっています。
6-2-5 KPA EtherCAT Master Runtime for Win32 Trial (MRT_WIN32_TRIAL_v....msi) のインストールに失敗します。
Microsoft Windows 10 において、KPA EtherCAT Master Runtime for Win32 Trial に含まれる WinPcap 4.1.3 が、
Microsoft Windows 10 非対応の為、インストールに失敗します。

WinPcap 4.1.3 not supported by Windows 10.

以下の方法を用いてインストールを行ってください。

1. インストールに失敗した、KPA EtherCAT Master Runtime for Win32 Trial をアンインストールします。
2. WinPcap 4.1.3 のインストーラーを次のURLより入手します。 https://www.winpcap.org/default.htm
3. WinPcap 4.1.3 インストーラーEXEのプロパティを開き、"互換性"タブを開きます。
4. "互換モードでこのプログラムを実行する:" にチェックを入れます。
5. OSの選択を、"Windows 7"にします。
WinPcap 4.1.3 Compatibility mode setting
6. "設定"の"管理者としてこのプログラムを実行する"にチェックを入れます。
7. OKボタンを押して設定を保存します。
8. WinPcap 4.1.3 インストーラーEXEを起動して、WinPcap 4.1.3 をインストールします。
9. KPA EtherCAT Master Runtime for Win32 Trial をインストールします。
10. Windows を再起動します。

※ Studio 起動後、Network選択項目が空白の場合は、Studio の再起動を試みてください。
7-1 リダンダンシー(二重化)とは?
EtherCAT®の機能として回線の冗長化(二重化)があります。
回線を冗長化(二重化)させることで、回線の断線が発生しても、もう一方の回線によりスレーブとの通信が可能になります。(システムの可用性を高めることができます)
リダンダンシー(二重化)機能は、RSI-ECAT-Master/RED にてご利用頂けます。

リダンダンシー(二重化)されていない場合 :
redundancy1.png

リダンダンシー(二重化)されている場合 :
redundancy2.png

8-1 ホットコネクトとは?
ホットコネクト機能の利用には以下二つの利点が考えられます:
  • 1. 稼働中EtherCAT®バス上でスレーブ機器の接続、切断が可能
  • 2. 回線に接続されないスレーブを含むバス構成構築
通常EtherCAT®バス設定では、接続されるべきスレーブ構成が決定しており、稼働状態となるためには全スレーブが定義された順番で接続される必要があります。
ホットコネクト機能で、接続される各スレーブに対するID(ステーションエイリアス)を設定することで、スレーブの接続数や接続順にかかわりなく稼働状態とすることができます。 ホットコネクト機能により、複雑バス構成、アクセス方法を設定(ENI)で吸収しアプリケーション処理を単純化することができます。 。

faq08-1.png
8-2 ホットコネクト機能とDC機能の併用について
ホットコネクト機能とDC機能を併用し、様々なスレーブ接続構成に適応したDC処理を行うことが可能です。しかし、接続されたスレーブをEtherCAT®バスから切断することで、スレーブ間で受け渡されるメッセージの通信時間は動的に変化し、結果としてDC同期が外れることになります。
現在RSI-ECAT Master/REDではEtherCAT®バス状態が動的に変更された状況においてDC機能を再設定できません。 切断、再接続時にEtherCAT®バスを初期化する必要があります。

9-1 DCとは?
DC(Distributed Clock)機能は、高精度時刻同期機能であり、フレームと同期してスレーブタスクを開始したり、 他のスレーブと同期して入力をラッチ、同時出力を行う、等の動作が可能になります。
EtherCATの同期機能には大きく分けて3つあります。
  1. フリーラン
    DC機能を使わず、通常と同じくスレーブタスクサイクルで処理を行います。
  2. SM(Sync Manager)同期
    パケットフレームに同期して、スレーブタスクを開始させます。
    これにより、常に最新の入力値を取得することが可能です。
  3. DC同期
    他のDC同期機能を有するスレーブと、同期し、同時に動作するよう動作します。
    入力では、同時タイミングに入力をラッチし、出力では、同時タイミングに出力を開始します。
    これにより、先頭付近のDCスレーブと、遠方にあるDCスレーブから、
    同じタイミング(誤差:最小ナノオーダー ~ μオーダー)で、入出力が開始できます。
9-2 DCはどんな時に使用しますか?
常に最新値を取得したい場合や、他のスレーブと同期して動作したい場合に利用します。
例えば、A/D値の取得において、EtherCAT®のサイクル周期に応じた最新値を取得したい場合に、SM同期モードを利用します。 その他、モーション制御において、X軸、Y軸、Z軸、それぞれ別モーション制御スレーブだった場合に、これらのスレーブと同期して補間動作を行う場合には、DC同期モードを利用します。
DC機能を保有するスレーブの内、DC機能を利用しない場合は、フリーランモードを設定します。

10-1 マイクロネット製品アクティブ化ツールの使用方法
マイクロネット製品アクティブ化ツールの使用方法については、こちらを参照ください。
10-2 INtimeやRSI-ECAT-Masterをアンインストールした場合、ライセンスは消失しますか?
INtimeやRSI-ECAT-Masterをアンインストールしても、ライセンスは維持されます。
そのため、INtimeおよびRSI-ECAT-Masterを再インストールすることで再度利用可能になります。
10-3 運用中に故障した場合、新しい環境で動作させるにはどうすればよいですか?
ストレージが故障したり、ストレージをフォーマットした場合は、そのPCで認証されていたRSI-ECAT-Masterのライセンスを失うことになります。 ストレージの交換やフォーマット後にRSI-ECAT-Masterのライセンスを再認証する場合は、マイクロネット製品アクティブ化ツールを用いて再認証してください。 (※ マイクロネット製品アクティブ化ツールでライセンスを認証するたびに、利用可能なライセンス数が1つ減少しますので、ご注意ください。)
マイクロネット製品アクティブ化ツールの入手方法に関しては、弊社担当営業までお問い合わせください。
マイクロネット製品アクティブ化ツールの操作方法については、こちらをご覧ください。

※TenAsys®, INtime®, eVM® and iRMX® are registered trademarks in USA of the TenAsys Corporation.
※EtherCAT® は、Beckhoff Automation GmbH, Germanyの登録商標です。