今回の記事は、WMXをまったく知らない方にもわかりやすく解説を心がけました。インストールの手順から、仮想環境で軸を動かす方法まで説明します。
「ソフトウェアでモーション制御って、本当に装置で使えるの?」と思われるかもしれませんが、ご安心ください。公式ホームページから無償でダウンロードできるバージョンがありますので、ぜひお試しください。
Windows版WMXについて
Windows版はRTXなしで動作するため、PP、PV、PTモードの制御機能にのみ対応してます。
WMX3ライセンス無しで、EtherCAT連続通信は上限1時間まで使えます。
直線補間や円弧動作も動作しました。雰囲気を知るためには十分の機能があります。
インストールファイルの取得
モベンシスからダウンロードできます。 ダウンロードしても営業から連絡が来ることはありません。(情報入力がいらないので)
[JPN] WMX Download | Movensys
https://www.movensys.com/jp/download/software_jp
ダウンロードしたものを展開すると以下のファイルが出来ます。
“WMX3SetupGuide_JP.pdf”が説明書になります。Hyper-Vの無効化、CPUのクロックを一定にするなどの記載がありますが、RTXを使用しないバージョンの話ですので、BIOSの設定は必要はありません。(装置に組み込んで使う時は、リアルタイム処理の安定対策は必須です)
Windows版WMXでも、Windows Updateはできればやらない方が良いです。記事の執筆中、1度アップデートがかかりました。OS再起動で1度ブルースクリンになりましたが、リセットで今は普通に動いています。
インストールを行う
付属のインストールマニュアルには、スクリンショットがWindws版ではありませんでした。Windwos版の画面を表示しながら私なりの説明を含めて解説します。ユーザー目線での話になります。
では始めましょう。WMX Installer.exeをクリックしインストールを開始します。
表記はちゃんと WMX3 Windowsバージョンになってますね。 普段はRTXバージョンの表記を見ているので新鮮です。 標準インストールで[Install Start]ボタンを押します。
機器をつながないでWMXの味見をしたい方は”Simulation”を選んでください。MotionScopeという標準アプリケーションで軸の軌跡をグラフ表示できます。Consoleという表示アプリケーションで軸の座標も確認できます。
“EtherCAT”を選ぶとスレーブと実際に通信できます。ただ、パソコンに通信用のLANポートが必要です。また、csp (サイクリック同期位置モード)には非対応ですので、複数スレーブ間を同期させる使い方は出来ません。
“Simulation”を選んだので、LANポートの設定はスキップとなります。[Next]を押します。
“Finish”ボタンで完了です。
実際にWMXを動かしてみる
デスクトップにあるアイコンから起動します。
RTXのコンソールが存在しないので、Dos画面にWMXの状態が表示されました。
Agentアプリも起動しました。64軸対応版ですね。 余談ですが、8軸が最小で、制御できる軸数を増やすとWMXのライセンス料もあがります。詳しくはモベンシスの営業さんに聞いてください。
無償版ですが、一通りの標準アプリは付属されてました。ランチャーには英語のコードマニュアルがあります。 あ!”WOS+”アプリがない。(なくてもWOSがあるので問題ありません)
“Simu Configurator”は初めて見ました。RTX版にはありません。
ユーザーマニュアル(コーディング資料)
日本語が好きな方はC:\Program Files\SoftServo\WMX3\Doc\JP\WMX3UserManual_JP.chmにあります。
目次の「モーションの詳細なプログラミングガイドライン」に軸制御の説明があります。お試しレベルだとここだけ読めば制御で出来る事がわかります。
軸を動かしてみる
WMX3コンソールも通常のRTX版と同じですね。新規開発時はお世話になるアプリです。
軸の絶対位置移動の準備
WMXで最初のモーションを始めましょう。
1、Startボタンで仮想のEtherCAT通信を始めます。
2、Pos Cmdボタンで絶対位置移動画面を表示します。(絶対位置・相対移動のコマンドが出来ます)
3、Start0ボタンを押して移動!としたいのですが、今の状態ではエラーがでます。
理由はサーボをON(励磁)していないからです。 通信を開始しても、自動では励磁しません。サーボOFFでもエンコーダーの座標は見ています。
パルスデータを接続していても、サーボON命令は必要となります。
サーボON
下図の右側の赤枠、0番目の軸をONボタンで励磁させます。そうするとOpが”IDLE”状態になります。この状態で移動命令を受付中となります。
“Position Command”でStart0ボタンを押すと、軸が動き始めました。 下は動作途中のスクリンショットです。Targetに指定している座標でとまります。
この座標は実機で動かす時と同じになります。サーボを接続したらこの値で動きます。(実際には電子ギアで物理的な長さと合わせる必要があります)
現在の位置を変えたい
座標をうごかしたので、現在の位置を座標0にしてみます。”SetPos”画面を開いて、対象軸の座標を指定し[Set]ボタンを押すと、現在位置が書き換わります。
実際には原点復帰を行ったあと、この処理を行うとソフト的な原点をずらすことができます。
デジタルI/Oの値を変更してみる
“I/O”ボタンで画面を表示します。 指定のアドレスを指定して、1bit単位でON/OFFできます。
EtherCATスレーブを接続すると、デジタルI/Oの数が増えていきます。
直線補間で2軸動かしてみる
“Mul Pos”ボタンで画面を表示します。
1、もう一つサーボをONします
2、移動モードFunctionを直線補間に変更します
3、Move対象を0軸と1軸にして、絶対位置(移動先)を指定します
4、Startボタンで同期移動が開始されます。 2軸が同時スタートし同時に終わったので同期はOKです。
MotionScopeでプロットさせるとこんな感じ。 ちゃんと直線補間になってますね。
カスタムインストールを選ぶとどうなるの?(余談)
カスタムインストールを選ぶと以下の画面になります。有償のオプション機能となります。
3D仮想シミュレーター
3DCADデータを使って動きのデバックが出来ます。機械の組み立てが終わる前にソフトのデバックが出来るのは素晴らしいですね。ソフト屋さんは納期遅れの挽回を迫られることが多いですし。
Robot
アームロボット、キネマティック計算を使うアプリケーションで使用します。 スカラとか決まった形のものを選択して使うらしいです。対応機種は増えていくそうです。
SDK
下図の左下の部分を作る機能です。WMXのコアのドライバーを自作できるものになります。よくないコードを書くとシステムが止まる危険があるので、マニアでなければ近寄らない方が良いでしょう。
WMXは機能が充実しているので、多くの人はたぶんいりません。これから始められる方はノーマークでよいです。
Pythonのコード実行はできないかも
この方法で開発環境を作り、
コードを実行するとCreateDeviceの実行タイミングで実行エラーが出ました。
実行したコード
print('WMXプログラムスタート ディバイスを作成します')
# WMXを使用するおまじない
Wmx3Lib = WMX3Api()
print('WMX3Api ') #ここまでは表示されました
Wmx3Lib.CreateDevice('C:\\Program Files\\SoftServo\\WMX3\\', DeviceType.DeviceTypeNormal, INFINITE)
print('CreateDevice') ※この文字が出ません
あとがき
付属の標準アプリは、RTX版と同じことができました。1つのモーションの挙動を確認するのには十分ですね。
実際の開発の流れは標準ツールで挙動を確認して、コーディングする方法が効率的です。
今度はC#コードを実行させたらどうなるかの検証を行います。
コメント