ソフトウェア(ユーザープログラム)で同期制御を行うには、主軸に取り付けたエンコーダからのフィードバックを取得し、その現在位置に合わせて従軸に対して位置決め制御を行います。2軸の同期制御の場合には比較的容易に実装することが可能です。
しかし、3軸以上での位置決め制御の場合、各軸を目的位置に順次移動させるため、同時に制御開始するといった並列で動作する機構の場合は、動作開始までの時間に誤差が出てきます。
そのためソフトウェア(ユーザープログラム)での同期制御は、主軸が動作してから従軸が動作するまでの応答時間を気にしないで済む、短時間の動作には有効な方法だと思います。

|
図1. ソフトウェアによる同期制御
|
モーションコントローラは高価ですが、機能として同期制御を備えていて簡単に同期制御を行うことができます。
また、サーボアンプとモーションコントローラ間は、 SSCNETやMECHATROLINK
(※1)といったネットワークで繋がれていることで、リアルタイムに近い精度の高い同期制御が可能となっています。
モーターの動作は、コントローラからサーボアンプに対してパルス指令を出すことで行われますが、上記ネットワークの特徴的な仕様としてサーボアンプとコントローラ間の高速な定周期通信があります。この定周期通信でコントローラからサーボアンプに指令を送り、また、サーボアンプからコントローラに制御状態の情報を返すので、定周期通信の周期が短ければ短いほど、精度の高い同期制御を行うことができます。
(SSCNET IIIの場合は、コントローラの仕様にもよりますが0.44[ms]周期での通信可能です)
また、主軸に対して従軸がどのように追従するか?は、電子カムと呼ばれるテーブルデータに登録するといった使い方が可能です。この場合、主軸の動作に応じて電子カムに登録した情報に沿って従軸が動作しますので、複雑な動作パターンも簡単に動作させることができます。
さらに、モーションコントローラの場合モーター同士の同期だけでなくエアシリンダーなどとも同期を取ることが可能です。通常、モーションコントローラには同期接点出力が用意されています。これによって主軸の移動量により同期接点出力をON/OFFしてエアシリンダーの動作を行うといったことが可能になります。
|

|
|
図2. モーションコントローラを使用した同期制御
|