RTPL-EC 既知の問題

最終更新日:

KB027

9604 2023/9/5 0.2.70A

0.3.60A
調査中 2023/9/5

コマンドバッファを利用した制御を行っている際に、位置決め完了しているのにもかかわらず位置決め完了イベントが得られないケースが確認されています。

コマンドバッファに、軸間の非同期処理(GroupID=0のコマンド)を登録した後に、同期処理を登録し、実行した場合に発生します。
現在調査中となります。

[回避方法] : 軸間非同期のコマンドを実行する際には、一旦すべての軸の制御が完了したのちに、次の制御をコマンドバッファに登録するようお願いします。

9239 2022/12/22 0.3.30A
0.3.40.1
修正済み 2023/1/24

RtplECTInitializeLibとRtplECTCloseLibを100回以上連続コールすることでPageFaultが発生する場合があります。

RtplECTCloseLib処理内でのリソース解放処理に問題があったために発生しています。 次期バージョンで対応予定です。

[回避方法] : 高頻度にRtplECTInitializeLib/RtplECTCloseLibコールを行わないようにお願いします。

[修正対応] : バージョン0.3.50.1で修正されました。

9226 2022/12/15 0.3.30A
0.3.40.1
修正済み 2023/1/24

1つのスレーブで複数軸を制御できるモーションスレーブ(マルチスレーブ)において、2軸目以降のサーボONができません。

次期バージョンで対応予定です。

[修正対応] : バージョン0.3.50.1で修正されました。

9154 2022/11/18 0.3.30A

0.2.02.1
修正済み 2023/1/24

初期化処理をコールする中で、ライセンスエラー発生が発生した場合に、稀にRTPLにメモリリークが発生する場合がありました。

現象が発生するとINtimeカーネルの再起動が必要になります。これは連続的に初期化処理をコールする場合などに発生しやすくなります。

[回避方法] : ライセンス認証状態での運用をお願いします。

[修正対応] : バージョン0.3.50.1で修正されました。

9092 2022/9/30 0.3.30A 修正済み 2023/1/24

低速( 1[指令単位/サイクリック周期]未満 )での位置決め制御で、到達位置が指定目標位置と異なってしまうことがあります。

次期バージョンで対応予定です。

[回避方法] : 1[指令単位/サイクリック周期]以上になるような位置決めをお願いします。

[修正対応] : バージョン0.3.50.1で修正されました。

9093 2022/7/25 0.3.30A 修正済み 2022/7/25

RTPL-EC導入手順書(TB00-0994.pdf)P.6に記載のURLがリンク切れになっています。

ご使用のNICがEtherCATで利用可能かを確認するには、RSI-ECAT-Master付属ツールINpassを活用ください。

[修正対応] : バージョン0.3.40.1で修正されました。

9094 2022/7/25 0.3.30A 仕様(機能仕様) 2022/11/18

サンプルプログラムWinTPCSmplApをVisual Studio2008より新しいバージョンでビルドした場合、以下のWarnningが表示されます。

「warning C4091: '': 変数が何も宣言されていないときは、'RTPLECT_OBJ_DATA' の左辺を無視します。

[回避方法] : Warningは無視しても問題はありません。

8441 2021/9/2 0.3.20A
0.3.30A
未定 2022/12/22

INtime 6環境において、製品付属サンプルをビルドすると以下のビルドエラーが発生します。

clib.lib(cppstart.obj) : error LNK2019: 未解決の外部シンボル ___vshelper_init が関数 _mainCRTStartup で参照されました。
clib.lib(isa_avail.obj) : error LNK2019: 未解決の外部シンボル ___isa_available_init が関数 ___isa_init で参照されました。

プロジェクトワークスペースがINtime 6よりも古いバージョンのSDKにて作成しているため、INtime 6環境上でビルドすると上記ビルドエラーが発生します。発生するサンプルプログラムは以下となります。
FncExecSmplApp / RecipeSmplApp / SampleApp / TpcSmplApp

[回避方法]:vshelper.libをリンクするように設定をお願いします。

8352 2021/7/29 0.3.10.1
0.3.00.1
0.2.90.1
0.2.80.1
修正済み 2021/9/2

RtplECTReleaseAPIThreadでレスポンスバッファがクリアされません。

このため、レスポンスバッファに応答が残ったままRtplECTReleaseAPIThread/RtplECTCloseをしてしまうと、次回以降の制御で、不正な応答(前回制御に対する応答)を受信してしまいます。

[回避方法]:RtplECTReleaseAPIThreadコール前に、アプリケーション側でRtplECTResWaitコールにより応答キューをクリアしてください。

[修正対応]:バージョン0.3.20.1で修正されました。

8351 2021/7/2 0.3.10.1
0.3.00.1
0.2.90.1
0.2.80.1
0.2.70.1
0.2.60.1
修正済み 2021/9/2

製品付属サンプルをVS2015/VS2017にアップグレードするとビルドに失敗します。

これはアップグレードすることでのセキュリティポリシーが変更なり、この変更に追従できていませんでした。
全てのバージョンで発生します。

[回避方法]:アップグレード後以下の2つの設定を変更します。
1) プロジェクトのプロパティを変更「共通言語ランタイムサポート」を
「純粋MSIL共通言語ランタイムサポート(/clr:pure)」→「共通言語ランタイムサポート(/clr)」
2) "AssemblyInfo.cpp"の中の"SecurityPermission"についてコメントアウト
 //[assembly:SecurityPermission(SecurityAction::RequestMinimum, UnmanagedCode = true)];

[修正対応]:バージョン0.3.20.1で修正されました。

8350 2021/7/2 0.3.10.1 修正済み 2021/9/2

RtplECTJOGStartをコマンドバッファに積んだ状態でRtplECTJOGStopをコールすると例外発生(PageFault)

RtplECTJOGStartをコマンドバッファに積んだ状態で、RtplECTCmdAcitveで実行する前に、RtplECTJOGStopをコールすると発生します。

[回避方法]:RtplECTJOGStopはJOG動作中に実行するようにしてください。

[修正対応]:バージョン0.3.20.1で修正されました。

8344 2021/6/30 0.3.10.1
0.3.00.1
0.2.90.1
0.2.80.1
修正済み 2021/9/2

自動コンフィグモードで正しくスレーブ情報を取得できない問題があります。

自動コンフィグモード設定でRtplECTInitializeMasterをコールすると処理は成功しますが、得られるスレーブ情報が正しくありません。
0.2.80.1以降で発生しています。

[回避方法]:自動コンフィグモードは使用せず、ユーザーアプリケーション側でスレーブ情報を指定しRtplECTInitializeMasterをコールしてください。

[修正対応]:バージョン0.3.20.1で修正されました。

8284 2021/6/2 0.3.10.1 修正済み 2021/9/2

オーバートラベル時に、オーバートラベル方向への移動APIを実行すると、次の移動APIの移動が完了しません。

対象の移動APIは以下となります。
RtplECTPositioning/RtplECTLinInterpolate/RtplECTLinInterpolateEx/RtplECTCirInterpolate
RtplECTCirInterpolateEx/RtplECTCirInterpolateMs/RtplECTCirInterpolateMsEx/RtplECTLatchPositioning

[回避方法]
<根本的な解決方法>
①既にオーバートラベルとなっている場合には、オーバートラベル方向への移動を実行しない
ステータスデータでオーバートラベル方向を確認し、オーバートラベル方向への移動をしないでください。
<上記状態に陥った場合の脱出方法>
②目標位置を指定しない移動方法(JOG動作)で移動する
機械の様子をみながら、オペレータが慎重にJOG動作でオーバートラベルの逆方向に移動してください。
③応答しない移動APIを移動中断する
上記APIにてオーバートラベル方向へ移動した後、上記APIで移動すると移動完了しても応答しません。
その場合、移動中断(RtplECTStopPositioning)で停止すると、それ以降は正常に移動できるようになります。

[修正対応]:バージョン0.3.20.1で修正されました。

8205 2021/3/31 0.3.00.1 修正済み 2021/3/31

位置決め制御中にリミットセンサを検知したとき、TargetPosition(0x607A)とActualPositionValue(0x6064)との間に差が生じてしまう。

このため、リミットセンサON検知時、サーボON状態を保持する場合、リミットセンサが解除された瞬間に、サーボモータがわずかに動作してしまいます。
次期バージョンで修正予定です。

[回避方法]]:サーボアンプ設定で、リミットセンサON時にはアラームにすることで回避できます。

[修正対応]:バージョン0.3.10.1で修正されました。

8100 2021/3/3 0.2.60.1 修正済み 2021/3/3

PDOマッピングのCOEオブジェクトが上限を超えた場合に例外エラーが発生する

マスター初期化(RtplECTInitializeMaster,RtplECTInitializeMasterMs)を実行する時、PDOアサインオブジェクトが上限(16)を超える場合、PDOアサインオブジェクト毎のPDOマッピングオブジェクトの上限(64)を超える場合や、局毎のPDOマッピングオブジェクトの上限(512)を超える場合、エラー(RTPLECT_ERROR_ECT_MAPPING_OBJ_OVER)となります。

[修正対応]:バージョン0.3.00.1で修正されました。

8078 2021/3/3 0.2.60.1 修正済み 2021/3/3

応答待機(RtplECTResWait)の割り込み待ち時間(WaitingTime)をNO_WAITでコールすると、必ず、タイムアウトエラー(RTPLECT_ERROR_RES_WAIT_TIMEOUT)になる。

[修正対応]:バージョン0.3.00.1で修正されました。

7755 2020/8/4 0.2.60.1 修正済み 2020/12/14

C++環境で使用するとリンクエラーが発生する。

[回避方法]:RTPLヘッダーのインクルード時にextern "C"の記述をします。
//#include <RtplECT.h>
extern "C" {
 #include "RtplECT.h"
 #include "RtplECT_Def.h"
}

[修正対応]:バージョン0.2.70.1で修正されました。

7721 2020/7/27 0.2.60.5 修正済み 2020/12/14

RtplECTHoldAxisにて減速中に、RtplECTResumeAxisをコールすると、RTPLECT_CS_WAIT_HOLD_AXISフラグがOFFしない問題。

RTPLECT_CS_WAIT_HOLD_AXISフラグは一時停止するまでの減速区間中にONするフラグなので、本来はResumeされるとOFFになるべきフラグです。

[回避方法]:減速中にResumeしないようなパラメータでの制御をお願いします。

[修正対応]:バージョン0.2.70.1で修正されました。

7713 2020/8/5 0.2.60.1 修正済み 2020/12/14

コマンドバッファが空の時に、RtplECTClearCmdBuffをコールしても、割り込みコマンドをクリアできない問題。

本問題により、例えば目標位置変更処理(割り込みコマンド)は、制御を終えた後ではRtplECTClearCmdBuffをコールしてもクリアできず、次の制御で作用してしまう現象に繫がります。

[修正対応]:バージョン0.2.70.1で修正されました。

7666 2020/6/18 0.2.60.4 修正済み 2020/12/14

RtplECTPositioning中にEtherCATバスケーブルを断線させることにより、RTPLプロセス上で例外が発生する。

本件は、加速(jerk)を用いた位置決め(RtplECTPositioning)での移動中にケーブルを引き抜く等断線状態となった際に発生する問題です。

[修正対応]:バージョン0.2.70.1で修正されました。

7640 2020/6/4 0.2.60.1 修正済み 2020/12/14

RtplECTPositioningにて、特定の軸に対してJerkを指定した位置決めを5回実行することでRTPLプロセス内でページ違反が発生します。

[回避方法]:RtplECTLinInterpolateExにて代替する。

[修正対応]:バージョン0.2.70.1で修正されました。

7469 2020/6/4 0.2.60.1 修正済み 2020/12/14

接続スレーブエラー時、リセット処理にてEtherCAT®ステートマシンをInit状態まで遷移させていませんでした。

[修正対応]:バージョン0.2.70.1で修正されました。

7349 2020/6/4 0.2.50 修正済み 2020/6/4

.NET Framework 3.5に依存している。

[修正対応]:バージョン0.2.60.1以降で修正済み。

7243 2020/6/4 0.2.50.1 修正済み 2020/6/4

制御中断線検出時APIが正常終了する問題。

[修正対応]:本問題はバージョン0.2.60.1にて修正済み。

7238 2020/6/4 0.2.10 修正済み 2020/6/4

アプリケーション終了時ページ例外が発生するケースが検出されました。

RTPL終了時、起動した別タスクを非同期的に削除する状況で発生していました。

[修正対応]:バージョン0.2.40以降で修正されています。

7217 2020/6/4 0.2.42 修正済み 2020/6/4

RtplECTGetStatusにて最終エラーが取得できない問題。

複数のスレーブが同時にエラーを通知した場合、最も番号の大きいもののエラーのみ表示される問題でした。

[修正対応]:0.2.50にて修正されています。

7090 2020/6/4 0.2.40 修正済み 2020/6/4

アラームステータスが取得できない問題。

MINAS A5B等StatuswordのFaultビット成立後603Fへのエラー出力が遅れるサーボデバイスに対応していませんでした。
100ms待機時間設けて適切に値の取得ができるよう修正しています。

[修正対応]:バージョン 0.2.42にて修正されました。

7080 2020/6/4 0.2.40 修正済み 2020/6/4

RtplECTGetTorqueにてトルク値を得られませんでした。

オブジェクト0x6077のみでなく、0x6071のマッピングが必要とされていました。

[修正対応]:バージョン 0.2.50.1にて修正されました。

6843 2019/7/29 0.2.10 修正済み 2020/6/4

直線補間制御(RtplECTLinInterpolate)を行うとき、INPOS設定を行っても応答イベント取得タイミングに変化がありません。

本現象はRTPL-ECの不具合です。

[回避方法]:つなぎ機能をOFFに設定します。
つなぎ機能をOFFにするには、RtplECTLinInterpolateに渡すパラメータ構造体の中のSmoothingにRTPLECT_SMOOTHING_OFFを設定しコマンドバッファに積みます。

[修正対応]:0.2.42 にて修正されました。

6748 2019/7/1 0.2.10 修正済み 2020/6/4

RtplECTInitializeMasterでエラーコード616が返ってきます。

エラーコード616はサイクルタイムアンマッチエラーです。
DC周期とサイクリック周期が一致していないことにより発生します。

[回避方法]:RSI-ECAT-Masterの起動引数に「-cycle=eni」を指定することで解消されます。

[修正対応]:0.2.42 にて修正されました。

6742 2019/6/28 0.2.10 修正済み 2020/6/4

RtplECTP.rtaにてページ違反例外が発生します。

パラメータ「加速時定数」への設定が制限値を越えたためエラーが発生し、この状態でコマンドバッファなどのクリア処理を行わずにコマンドの登録、実行を行っていたことが起因となっていました。
RTPLの使用方法としましては、エラーを検知しコマンドバッファ等のクリア処理を行い、処理を再開することになります。

[回避方法]:エラーを受信したとき、以下の処理を実行し復旧します。
①全ての軸に"RtplECTClearCmdBuff"を実行する。
②全ての軸に"RtplECTStopPositioning"を実行する。
③全てのレスポンスを受信する。
"RTPLECT_NO_WAIT_COMP_WITH_ANS"で実行したコマンドのレスポンスが無くなるまで、"RtplECTResWait"を実行してください。
NO_WAITで実行して"RTPLECT_ERROR_RES_WAIT_TIMEOUT"が返却されれば、レスポンスは全て受信できたと判断できます。

[修正対応]:0.2.42 にて修正されました。

6706 2019/6/17 0.2.10 修正済み 2020/6/4

RTPL-ECの開始処理/終了処理を繰り返すたびにモータの移動速度も倍々になっていきます。

RTPL-EC 0.2.10 と RSI-ECAT-Master 3.00との組み合わせにてRtplECTResetLibをコールすることで発生します。

[修正対応]:0.2.42 にて修正されました。