1-1 | RSW-ECAT-Masterとは何ですか? |
RSW-ECAT-Masterは、WindowsアプリケーションからEtherCAT®スレーブの制御することのできるEtherCAT®マスターソフトウェア製品です。 お手持ちのWindows PCにインストールすることで利用することができます。 |
1-2 | 利用することのできるコンピュータはどんなものですか? |
CPU(2コア以上)を搭載したWindows PCです。 EtherCAT®の制御に、PCに内蔵されたLANポート(Ethernetコントローラ)を利用します。 適合するEthernetコントローラ Gigabit Ethernet Adapterとなります。 ただし、DAQ機能を使用するなどの理由で、EtherCAT®周期にリアルタイム性を要求する場合には、リアルタイム性能の高いPCを選定する必要があります。特に、ノート型PCの中には独自の電源管理手法、ポリシーを持つものがあり、リアルタイム性を実現できないものがあります。 詳しくは営業までお問い合わせください。 |
1-3 | 利用することのできるEtherCAT®スレーブ機器はどんなものですか? |
EtherCAT®に対応したスレーブ機器がその制御対象となりますが、本マスターソフトウェアには時刻同期機能(DC機能)は実装されていないため、モーション制御などの用途には向きません。 |
1-4 | RSW-ECAT-Masterを購入するだけですぐ利用することができますか? |
RSW-ECAT-Masterを利用するためには、利用するEtherCAT®スレーブの構成情報をENIファイルという形で用意する必要があります。 このENIファイルを作成するための「RSI-ECAT-Studio」というコンフィガレータ製品が必要となります。 Beckhoff社製のコンフィガレータ製品もございますが、こちらは現在RSW-ECAT-Masterではサポートしておりません。 |
1-5 | EtherCAT®環境でハブやスイッチを利用することができますか? |
EtherCAT®におけるネットワークトポロジーとしてスター型やツリー型がサポートされています。 しかしこれらのトポロジーを構成するために標準的なハブやスイッチを使用することはできません。特殊なデバイス(ジャンクションデバイス)を使用する必要があります。 |
1-6 | 1つのネットワークポートをRSI-ECAT-Studio用とRSW-ECAT-Master用とで兼用できますか? |
設定を使用用途に応じて毎回切り替える必要があります。 切り替えることで使いまわすことは可能ですが、基本的にはそれぞれ専用のポートを用意することを推奨しております。 RSW-ECAT-Master用への設定変更が漏れていたために、回線オープンに失敗するというような混乱を防ぐためです。 |
1-7 | モーション制御スレーブの内、利用できるCiA402のモードはどれになりますか? |
まず初めに、RSW-ECAT-Masterで利用できる同期モードは、SM同期、フリーラン(FreeRUN)同期の2種類となります。 次に、CiA402が用意しているモードの内、予め指令情報を書き込み、開始信号のみ発行するようなモードが利用できます。 Profile position mode(PPモード), Profile velocity mode(PVモード), Torque profile mode(TQモード) 等が挙げられます。 但し、これらのモードでも複数指令をバッファして行う場合は注意が必要です。Windowsの負荷状況により指令と指令の間に時間が空き、動作がカクつく場合が予想されるためです。 利用できないモードとしては、逐次(位置/速度/トルク等)情報を更新するようなモード、Cyclic synchronous *** mode(CS*モード: CSPモード, CSVモード, CSTモード 等)になります。Windowsの負荷状況により読み書きを遅延させられるためです。 これらのモードを利用できる製品として、リアルタイムOS「INtime®」向けのRSI-ECAT-Masterがございます。RSI-ECAT-Masterについては、こちらをご参照ください。 |
1-8 | ノートPCで動作したことが確認されている機種を教えてください。 |
動作が確認されているノートPCの機種情報を蓄積していないため、提供することはできませんがノートPCを使用しているユーザーはおります。 動作環境の条件に一致しているノートPCは適切な設定を調整することで、だいたいは利用出来ています。 |
1-9 | 正常に動作しません。 |
正常に動作しない場合、問題の多くは下記が原因と考えられます。
1)インストールに失敗する
原因:セキュアブート(Secure Boot)が有効になっている ※Ver.4.2.0.5以前 関連FAQ:「3-1 RSW-ECAT-Masterがインストールできません。」 2)動作しない 原因:WindowsのHyper-V 機能が有効になっている 3)リアルタイム性能が出ない 原因:電源オプション設定など 関連FAQ:「1-2 利用することのできるコンピュータはどんなものですか?」 4)APIでエラーが発生する 原因:マニュアルエラーコード参照 ※上記に一致しない場合もございますので、その時はお問合せください。 |
2-1 | RSW-ECAT-Masterを利用したアプリケーションにはどのようなものが必要ですか? |
アプリケーション開発のためには、マイクロソフトVisualStudio製品が必要となります。 対応するバージョンは、2008,2010,2012,2013,2015です。 RSW-ECAT-MasterのインストールCDで開発のためのライブラリ等をインストールする事ができます。 |
2-2 | DC機能は使えますか? |
RSW-ECAT-MasterにはDC機能が実装されておりません。 DC機能を利用するような製品をお求めの際は、リアルタイムOS「INtime®」向けのRSI-ECAT-Masterの利用をご検討ください。 |
2-3 | Windows向けのEtherCAT®マスターということはリアルタイム性能がないのでは? |
RSW-ECAT-Masterは、Windows向けのEtherCAT®マスターソフトウェアのため、制御を行うWindowsアプリケーションは当然リアルタイム性能がないものとなります。 しかし、RSW-ECAT-Master自身は、Windowsと並列動作しながらリアルタイム性を堅持するカーネル機能によって通信をリアルタイム制御します。 この機能によって、最速1ミリ秒のデータサンプリングが可能となります。 |
2-4 | 動作しているEtherCAT®通信のプロセスイメージを確認することはできますか? |
確認できます。 EtherCAT®通信のデバッグツール「RSI-ECAT-Monitor」を利用することで、プロセスデータを確認することができます。 |
2-5 | スレーブ機器のファームウェア更新で、再コンフィグレーションが必要になりますか? |
更新内容によって異なります。 再コンフィグレーションが不要なケース: - リビジョン(Revision)や、プロダクトリビジョン(ProductRevision)のみ変更、他に変更なし 再コンフィグレーションが必要なケース: - ベンダーID(VendorID)や、プロダクトコード(ProductCode)が変更 - プロセスデータ構成が変更 - シンクマネージャー構成が変更 |
2-6 | RSI-ECAT-Studioで使用したネットワークは、Windowsネットワークとして利用できますか? |
RSI-ECAT-Studioで使用していない時は、通常のWindowsネットワークとして利用できます。 IPやサブネットマスクを任意の値に設定して利用できます。 |
2-7 | VB.NETアプリケーションから利用可能ですか? |
いえ、利用できません。 C# 向けのアセンブリのみとなります。 |
2-8 | 利用できる同期モードには何がありますか? |
RSW-ECAT-Masterでは、「SM同期」と「フリーラン」の2種類の同期モードを利用できます。 ただし「DC同期」は利用できませんので、DC同期を利用するような製品をお求めの際は、リアルタイムOS「INtime®」向けのRSI-ECAT-Masterのご利用をご検討ください。 |
3-1 | RSW-ECAT-Masterがインストールできません。 |
RSW-ECAT-Masterが使用しているリアルタイムスケジューラは、セキュアブート(Secure Boot)に非対応の為、予めセキュアブート(Secure Boot)機能を無効にする必要があります。( Ver.4.2.0.5以前 ) セキュアブート(Secure Boot)機能を無効にする方法: BIOS/UEFIを起動し、セキュリティ項目から、Secure Boot を無効(Disabled)に変更します。 Secure Boot の項目が無い場合や、無効に変更できないPCの場合は、ご使用になられているPCのベンダーまでお問い合わせください。 ※Ver.4.3.0.1以降の場合は、セキュアブート(Secure Boot)機能に対応済みのため本手順は不要です。 インストールに失敗する場合は、別の原因が考えられます。 |
3-2 | RSW-ECAT-Masterインストール後、Windowsのシャットダウンを行っても電源が切れません。 |
一部の比較的新しいシステムではWindowsシャットダウン後、電源がOFFとならない症状が確認されております。 レジストリエディタを起動し、以下の設定を行い、動作をお試しください。 ■HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\rtif\Parameters Flags へ、0x00000005 または 0x00000025 を設定(※) (※)0x00000005 がセットされている場合は、0x00000025 を設定してお試しください。 (※)0x00000025 がセットされている場合は、0x00000005 を設定してお試しください。 本設定は、RSW-ECAT-Masterが使用しているリアルタイムスケジューラのCPUに対する挙動を変更しています。 ●0x00000005 の時: ・リアルタイムスケジューラ開始時: リアルタイムスケジューラの使用するプロセッサに対しStart Up IPI(SIPI)を送り、リアルタイムスケジューラを開始します。 ・リアルタイムスケジューラ停止時: リアルタイムスケジューラに対し停止メッセージを送信し、リアルタイムスケジューラの使用するプロセッサに対しINIT IPI を送り、リアルタイムスケジューラの実行したコアをリセットし、SIPIの待ち受け状態にします。 ●0x00000025 の時: ・リアルタイムスケジューラ開始時: リアルタイムスケジューラの使用するプロセッサに対しINIT IPIを送り、リアルタイムスケジューラの実行したコアを リセットし、SIPIの待ち受け状態にします。 リアルタイムスケジューラの使用するプロセッサに対しStart Up IPI(SIPI)を送り、リアルタイムスケジューラを開始します。 ・リアルタイムスケジューラ停止時: リアルタイムスケジューラに対し停止メッセージを送信します。 |
3-3 | スレーブとの通信状態を確認するにはどうすればいいでしょうか? |
EtherCAT State Machineを Operational遷移後、スレーブとの通信状態が正常に行われているかは以下の2つを行うことで確認できます。 1) スレーブ毎にWEhGetSlaveStateをコールし、Operational(MST_OPERATIONAL)であるか確認 WEhGetSlaveStateで得られるスレーブの現在ステートがOperationalであるか確認します。 Operational以外の場合、EtherCAT 回線上で問題が発生している可能性があります。 2) スレーブ毎にWEhGetALStatusをコールし、エラーが発生していないか(bit4:エラー状態=0)かを確認 ALStatusのbit4はエラー状態を示すフラグになっており、1である場合スレーブはマスターからの要求ステートになっていない、 あるいはマスターからの要求ステートを維持できなくなりステートが変わっていることを示しています。 bit4が1であった場合、WEhGetALStatusCodeによってその原因を得ることができます。 得られる値の意味については使用しているスレーブのマニュアルを参照ください。 |
3-4 | ステートチェンジが行えません。 |
ステートチェンジが行えない場合、いくつかの要因が考えられます。 |
3-4-1 | ENIファイル内のスレーブ構成と、実際に接続しているスレーブ構成が違う場合 |
ENIファイルに構成されているスレーブ構成、接続順と、 実際に使用しているスレーブ構成、接続順が違う場合に発生します。 ご利用のENIファイル構成を確認してください。確認には、製品付属ツール ENI Viewerをお使いください。 [スタートメニュー] → [すべてのプログラム] → [Micronet RSW-ECAT-Master] → [ENI Viewer Tool]
|
3-4-2 | ステートチェンジの指令と、確認方法が誤っている場合 |
ステートチェンジには WEhRqState() を使用しますが、WEhRqState()は、ステートチェンジ要求を出した後、即応答を返します。 要求後、直ぐにステートチェンジが完了するわけではございません。 WEhRqState()を発行後に、WEhGetState()にてステートチェンジが完了したかどうかを確認する必要があります。 WORD woResult; WORD woReqState, woReqState; woResult = WEhRqState(hAPI, MST_OPERATIONAL); if( woResult != 0 ) { printf("WEhRqState() failed. status=%04xH\n", woResult); return; // error } while(1) { woReqState = 0; woReqState = 0; woResult = WEhGetState(hAPI, &woReqState, &woNowState); if( woResult != 0 ) { printf("WEhGetState() failed. status=%04xH\n", woResult); return; // error } if( woNowState == MST_OPERATIONAL ) { break; // ステートチェンジ完了 } Sleep(500); // 通信処理するためにもSleep等で制御を返す必要があります } |
3-4-3 | 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 にチェックが入っている場合は、チェックを外してください。 4) ENIファイル(RtEcHdr.XML)としてエクスポートして、これを使用してください。 |
3-4-4 | DC機能が必要なスレーブを利用している場合 |
スレーブによっては、DC(Distributed Clock)機能が必須のものが存在します。このようなスレーブを使用して、DC機能が無効の場合、ステートチェンジに失敗します。 RSW-ECAT-MasterはDC機能をサポートしていないため、DC機能必須スレーブを扱うことはできません。 このようなスレーブを扱うためには、RSI-ECAT-Master の利用をご検討ください。 |