先日公開しました広告のモーションコントローラ(CPU)についてご紹介していきます。
【近日公開】モーションCPUによるサーボモータ制御 pic.twitter.com/EfPoZxXQ9x
— にわかFA電気屋💡シーケンス制御屋 (@FA36601032) 2019年1月6日
みなさん、モーションコントローラ(CPU)をご存知でしょうか。
私は三菱電機のカタログに入っているブラックボックスで、触れてはいけないものだとずっと避けていました。笑
そんな自分を追い詰めるかのようにモーションコントローラを使った仕事が舞い込んできました。
実際私がプログラムを作ったのではなく協力業者の方が作ったのですが、私の知らないプログラムで動いているのが悔しかった。
このままだとモーションコントローラから逃げてしまう。
そんな自分が嫌だったので、モーションコントローラを一から学ぼうと決心し、独学でカム制御までなんとなく動作させることができました。
モーションコントローラについて様々調べて見ましたが、参考資料が少なく、はじめて触れる方にはハードルがかなり高いものとなっております。
普段から使い慣れている方からすれば知っているよという内容かもしれませんが、これからモーションコントローラ(CPU)を使う人のための資料となれば幸いです。
【目次】
広告
モーションコントローラとは
モーションコントローラとは、サーボモータによる複雑な制御(2軸補間やカム制御など)を行うものです。
そもそもなぜPLCで制御しないの?
本来ならPLCによって制御されれば良いのですが、PLCの処理方法はマルチタスク処理(条件制御重視)のように行うため、サーボモータの複雑な制御を演算するための時間が確保できません。
※マルチタスク(条件制御重視)はプログラムを1度上から下へ全てスキャンする方法。全てのプログラムをスキャンする時間をスキャンタイムといいます。
そこで、モーションコントローラによるシングルタスク処理(順次制御重視)を行うことによって、高速な演算を可能としました。
※シングルタスク(順次制御重視)はポイントとなるイベントが発生したかどうかでプログラムが移行する方法。
ここで、PLCとモーションコントローラが異なる処理方式となってしまい、PLCはラダー言語、モーションコントローラはSFC言語というようになったのです。
※PLCでもSFC言語で記述することもできますが、ここではPLCで記述するのはラダー言語と仮定します。
また、PLCで2軸補間やカム制御のような複雑な演算を記述するのは向いておらず、サーボモータの専用機としてサーボアンプとモーションコントローラという組み合わせを取った方がのちの改造でもコストダウンが図れると思います。
モーションコントローラによるマルチCPU制御の利点
上記でも述べましたが、PLCプログラムの負担軽減です。
また、モーションコントローラは高速演算可能ですので、サーボモータを制御するには適しています。
PLCはその分、それ以外の機械制御(インダクションモータなど)や情報制御を担当することによって処理負荷を分散することが可能となります。
シンプルモーションユニットとは
シンプルモーションユニットはモーションコントローラと同様の制御(2軸補間やカム制御など)ができ、SFCで記述することがないためPLCからの指令で簡単に動作することができます。
ただし、PLCからの指令出力に依存するため、サーボモータ制御を連続で行う場合は、モーションコントローラの方がシンプルモーションユニットよりも動作完了が早くなります。
また、シンプルモーションユニットの利点としてはモーションコントローラよりも安価であり、PLCプログラムも従来通りのMOV指令などを用いれば簡単に制御することが可能です。
なぜモーションコントローラを使用するのか?
では、なぜシンプルモーションユニットという安価で簡単にサーボモータ制御できるものが存在するのに、わざわざモーションコントローラを使用するのでしょうか。
それは高度なモーション制御(2軸補間やカム制御など)が可能でありながら、PLCのスキャンタイムに影響されずに高速システム構築が可能であるからです。
PLCのスキャンタイムはプログラム容量に影響されてしまうため、サーボモータを多軸制御するとどうしてもPLCのプログラム量が増えてしまいます。
モーションコントローラによって、サーボモータの動作方法やタイミングまで制御できればPLCのプログラム負担は軽減されます。
モーションコントローラ一性能一覧
終わりに
今回はモーションコントローラとはということを自分なりにまとめました。
ニュアンスが異なる部分もあると思いますので、ご指摘頂ければ幸いです。
広告