EC-Motion Advanced - モーション制御ライブラリ

概要

EC-Motion Advancedは、CiA402®プロファイル対応ドライブ向けのモーション制御ライブラリであり、EC-Masterのアドオンとして提供されます。追加の専用ハードウェアを必要とせず、単軸および多軸のモーション制御を実現できます。
EC-Motionは、PLC(プログラマブルロジックコントローラ)スタイルのインターフェースを備えており、PLC環境やC++アプリケーションに容易に組み込んでサーボドライブを制御することができます。

内蔵の軌跡生成器(トラジェクトリジェネレータ)は、指定された動作条件(最大速度、加速度、減速度、ジャーク値)に基づいて、目標位置までの速度プロファイルを自動計算します。ジャーク制限付きの動作や、速度間のスムーズな切り替え(ブレンディング)にも対応しています。サーボドライブは、Cyclic Synchronous Position(CSP)モードまたはCyclic Synchronous Velocity(CSV)モードで動作可能です。

ソフトウェア構成

ライブラリには、軸を「Operation enabled」状態に切り替える McPower のような管理用ファンクションブロック、および軸を特定の位置へ移動させる McMoveAbsolute などのモーション制御用ブロックが用意されています。

軸が移動中であっても、次の動作コマンドは自動的にキューに登録され、現在の動作完了後に実行されます。
また、低/前/次/高といったブレンディングモードを使用することで、途切れのない一連の動作を実現できます。

ライブラリの中核であるトラジェクトリジェネレータは、動作開始前に加速・定速・減速といった各セクションを分割して計算します。加速および減速セクションでは、ジャーク制限を設定することが可能です。

滑らかな軸動作を実現するため、ジェネレータは毎サイクルごとに次の速度値を算出し、最終位置に到達するまで更新を続けます。軸レイヤーは動作モードに応じて、算出した速度を 目標位置(CSP) または 目標速度(CSV) に変換します。

設定と診断

EtherCAT 設定・診断ツール「EC-Engineer」 を使用することで、各軸のパラメータ設定を簡単に行えます。一度設定すれば、CiA402 対応のすべてのドライブをアプリケーションコードを変更することなく制御できます。

また、EC-Engineer の診断モードでは、各軸の入出力をリアルタイムでモニタリングできます。
モーションダイアログには現在位置やモーション状態などのライブデータが表示され、軸のオン/オフ切り替えや位置決め動作の実行も可能です。

主な特長

  • 対応OS:Linux、Xenomai、FreeRTOS、QNX、VxWorks、RTX64 など
  • 対応CPUアーキテクチャ:x86、x64、ARM、ARM64
  • 単軸および多軸(カミング/ギアリング)制御に対応
  • 高精度トラジェクトリジェネレータ搭載
    • ジャーク制限付きモーションに対応
    • 停止せずに連続動作できるブレンディング機能
  • 動作中のパラメータ変更(連続更新)をサポート
  • PLC 互換インターフェースによる容易な統合
  • 管理系ファンクションブロック(Administrative Function Blocks)
    • McPower:パワーステージのオン/オフを制御します。
    • McSetPosition:座標系をシフトします。
    • McReadParameter / McReadBoolParameter:パラメータ値を読み出します。
    • McWriteParameter / McWriteBoolParameter:パラメータ値を変更します。
    • McReadActualPosition:現在位置を読み出します。
    • McReadActualVelocity:現在の速度を読み出します。
    • McReadMotionState:現在の動作状態を取得します。
    • McReadAxisInfo:軸に関する情報を読み出します。
    • McReadAxisError:ファンクションブロックに直接関連しない一般的な軸エラーを表示します。
    • McReset:エラーリセットを行い、「ErrorStop」状態から「Standstill」状態へ遷移させます。
    • McCalcMoveProfile / McCalcMoveTimeAtPos:実際に動作せずに軌道や到達時間を計算します。
  • 単軸モーションファンクションブロック(Single-Axis Motion Function Blocks)
    • McStop:制御された停止動作を指令し、軸を「Stopping」状態に遷移させます。
    • McHalt:制御された停止動作を指令し、軸を「Standstill」状態に遷移させます。
    • McMoveAbsolute:指定した絶対位置への制御された動作を指令します。
    • McMoveRelative:現在位置から指定距離分の相対移動を指令します。
    • McMoveVelocity:指定した速度で継続的に動作するよう指令します(終わりのない連続動作)。
    • McMoveContinuousAbsolute:指定した絶対位置への制御動作を行い、終了時の速度も指定します。
    • McMoveContinuousRelative:指定した相対距離分の制御動作を行い、終了時の速度も指定します。
  • 多軸モーションファンクションブロック(Multi-Axis Motion Function Blocks)
    • McCamTableSelect:CAMテーブルを選択し、関連するテーブルとの接続を設定します。
    • McCamIn:CAM制御を有効化します。
    • McCamOut:スレーブ軸をマスター軸から即座に切り離します。
    • McGearIn:スレーブ軸とマスター軸の速度比を設定します。
    • McGearOut:スレーブ軸をマスター軸から切り離します。

メリット

  • 追加のモーションコントローラ不要 → ハードウェアコスト削減
  • EC-Master とのシームレス統合 → 開発効率向上
  • 多くの OS/CPU に即対応 → セットアップ時間短縮
  • モーション制御とメインデバイススタックを一括提供 → 導入と管理を簡素化
Free Evaluation Request