モーションコントロール用語集【WMX3初学者向け】

モーションコントロール用語集【WMX3初学者向け】 その他

WMX3やEtherCATを使い始めると「CSPモード」「インポジション」「サイクルタイム」など、初めて聞く専門用語がたくさん出てきます。このページではWMX3を使う上で必ず出てくる用語を、初学者向けにやさしく解説します。

基本概念

WMX3(ダブルエムエックススリー)

Moventas(モベンシス)社が開発したソフトウェアモーションコントローラ。PCにインストールするだけでEtherCATスレーブ(サーボアンプ・I/Oモジュール等)を制御できる。C#・C++・Pythonから同じAPIで操作できるのが特徴。

モーションコントロール

モーターを使って機械の「位置・速度・力(トルク)」を精密に制御すること。工作機械・ロボット・半導体製造装置などで使われる技術。

WMX3エンジン

WMX3の中核となるリアルタイムプロセス。RTX(リアルタイムOS拡張)上で動作し、EtherCATの通信と軸制御演算を担う。ユーザーアプリ(C#など)からAPIを通じてエンジンに指令を送る仕組み。

デバイス(Device)

WMX3エンジンとの通信チャネルを開いたオブジェクト。C#では WMX3Api クラスのインスタンスを作り、CreateDevice() でデバイスを取得する。スレッドごとに別々のデバイスを作る必要がある。

RTX / RTX64

WindowsにリアルタイムOS機能を追加する拡張ソフト(IntervalZero社製)。WMX3はRTX上でサイクリックなモーション演算を行う。RTXライセンスドングルが必要。

シミュレーター(Simulator)

実機のサーボやI/Oがなくても、PC内で軸の動作を仮想的に再現できる機能。開発初期のデバッグや動作確認に使う。

制御モード

CSPモード(Cyclic Synchronous Position)

サイクルごとに「目標位置」をサーボアンプへ送る制御モード。WMX3が1サイクルごとに位置指令を計算してサーボへ送信する。最も一般的に使われるモード。

CSVモード(Cyclic Synchronous Velocity)

サイクルごとに「目標速度」をサーボアンプへ送る制御モード。速度制御が必要な用途(巻き取り機、ローラーなど)で使う。

CSTモード(Cyclic Synchronous Torque)

サイクルごとに「目標トルク(力)」をサーボアンプへ送る制御モード。張力制御やダンサー制御などで使う。

位置制御モード / 速度制御モード / トルク制御モード

WMX3の軸指令モード(AxisCommandMode)。CSP≒位置、CSV≒速度、CST≒トルクに対応する。cm.axisControl.SetCommandMode() で切り替える。

軸の状態(OperationState)

Idle(アイドル)

軸が停止していて、次の命令を受け付けられる状態。移動命令は必ずIdle状態から送る。NotIdleState エラーが出たら前の動作完了を motion.Wait() で待つ。

Pos(ポス)

絶対位置・相対位置移動中の状態(Position の略)。MoveAbsolute や MoveRelative を実行中はこの状態になる。

Jog(ジョグ)

速度指令で連続移動中の状態。StartJog() で開始し、Stop() で停止する。速度の符号(±)で移動方向を決める。

Home(ホーム)

原点復帰動作中の状態。StartHome() で開始する。完了するとエンコーダ位置がリセットされる。

プロファイル・軌跡

台形加減速(Trapezoidal Profile)

加速→定速→減速の3段階で動く最も基本的な速度プロファイル。速度グラフが台形に見えることから名前が付いた。ProfileType.Trapezoidal で指定する。

S字加減速(S-Shape / Jerk Ratio)

加速・減速をなめらかなS字曲線にするプロファイル。急激な速度変化(ジャーク)を抑えることで機械への衝撃を減らせる。ProfileType.SShape または JerkRatio パラメータで設定する。

ジャーク(Jerk)

加速度の変化率(加加速度)。ジャークが大きいと機械に振動が発生する。S字加減速でジャークを制限することで滑らかな動作になる。

補間(Interpolation)

複数の軸を連動させて、直線・円弧などの軌跡を描く制御。例えばX軸とY軸を同時に動かしてX方向に直線移動するのが「直線補間」。WMX3では StartLinearIntplPos() / StartArcIntplPos() などで実現する。

直線補間(Linear Interpolation)

2軸以上を使って直線経路を描く補間。工作機械のカット動作などに使う。

円弧補間(Circular Interpolation)

2軸を使って円・円弧を描く補間。中心点と終点、または半径と終点で円弧を指定する。

オーバーライド(Override)

動作中に速度を倍率で変更する機能。100%を基準に50%にすると速度が半分になる。緊急減速や速度調整に使う。

I/O・信号

デジタルI/O(Digital I/O)

ON/OFFの2値で信号をやり取りする入出力。センサーの検出信号(入力)やシリンダー制御(出力)などに使う。WMX3では io.SetOutputBit() / io.GetInputBit() で操作する。

アドレス(Address)とビット(Bit)

I/Oの位置を指定する番号。アドレスはバイト単位(0、1、2…)、ビットはそのバイト内のビット位置(0〜7)。例えば「アドレス0、ビット3」のように指定する。

インポジション(InPos / In-Position)

軸が目標位置の近くに達したことを示す信号。「位置決め完了」とも呼ぶ。インポジション幅(許容誤差)はパラメータで設定する。

リミットスイッチ(Limit Switch)

軸の移動限界を検出するセンサー。ハードリミット(物理スイッチ)とソフトリミット(ソフトウェアの上限/下限設定)の2種類がある。ハードリミットが作動すると AxisHardLimit エラーが返る。

アンプアラーム(Amp Alarm)

サーボアンプが異常を検出して停止した状態。過電流・過熱・エンコーダ異常などが原因。AxisAmpAlarm エラーが返る。アラームをリセットして原因を取り除いてから再起動する。

EtherCAT通信

EtherCAT(イーサキャット)

産業用リアルタイムEthernetの通信規格。通常のEthernetを改良し、1ms以下の短サイクルでデータをやり取りできる。サーボアンプ・I/Oモジュールとの通信に使われる。

マスター(Master)/スレーブ(Slave)

EtherCATはマスター(親)とスレーブ(子)の構成。PCがマスターとなり、サーボアンプやI/Oモジュールがスレーブになる。WMX3エンジンがマスターとして動作する。

サイクルタイム(Cycle Time)

EtherCATが1回のデータ送受信を行う時間間隔。WMX3では通常1ms(1000μs)。短いほどリアルタイム性が高くなるが、PCの処理能力が必要になる。

ESIファイル(EtherCAT Slave Information)

EtherCATスレーブの仕様情報が書かれたXMLファイル。スレーブメーカーが提供する。WMX3の設定フォルダに配置してスレーブを認識させる。拡張子は .xml。

ENIファイル(EtherCAT Network Information)

EtherCATネットワーク全体の構成情報をまとめたファイル。WMX3ではTwinCAT等のツールでネットワークをスキャンしてENIファイルを生成し、WMX3に読み込ませる。

SDO通信(Service Data Object)

EtherCATのスレーブ設定パラメータを読み書きする通信方式。通信開始前後に使用し、サーボのゲイン設定や動作モード変更などに使う。PDO通信と違いサイクリックではない(非定期)。POD通信中でも、この処理が出来ます。ただ、EtherCAT周期の数回分で通信が行われるので、早く設定を書き換える必要がある場合は注意。

PDO通信(Process Data Object)

EtherCATのリアルタイムデータをサイクリックに交換する通信方式。位置指令・速度指令・現在位置などをサイクルごとに送受信する。WMX3のモーション制御はPDOを使っている。

原点復帰(Homing)

原点復帰(Homing / Home)

機械の基準位置(原点)を確定させる動作。電源を入れた直後はエンコーダの絶対位置が不明なため、決まった動作でリミットセンサーやZ相パルスを探して位置をリセットする。

Z相(Z-phase)

エンコーダが1回転ごとに1パルス出力する原点検出用の信号。モーターが1回転するたびに正確に同じ位置でパルスが出るため、原点の目印として使う。

まとめ

  • CSP/CSV/CST:位置/速度/トルク制御モード。WMX3では通常CSPモードを使う
  • OperationState:軸の状態。Idleになってから次の命令を送る
  • 台形 vs S字:S字は振動が少ないが、JerkRatioの設定が必要
  • インポジション:位置決め完了の合図。許容幅はパラメータで設定する
  • ESI/ENIファイル:EtherCATを動かす前に必要な設定ファイル
  • サイクルタイム:短いほど精度が高くなるが、PCの負荷も上がる

あとがき

この記事はニーズがあるのかよくわからなかったので、とりあえず書いてみました。アクセス数が多ければこのような記事も書きます。

コメント

タイトルとURLをコピーしました