2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

日記;回すだけ⑨ST言語でモータを回す記述<その1>

Posted at

ST言語を使う

 最初、ST言語はC言語のようにがりがりプログラムを書いていかないとモータは回らないと思っていました。調べると、複数の言語が使える国際規格「IEC1131-3」にあるファンクション・ブロック(FB)をST言語の中で利用できるようになっているのです。
 ファンクション・ブロック(FB)は、次のような形です(https://infosys.beckhoff.com/から転載)。
t114.png
 左が入力、右側が出力です。必要なところだけ、記述します。例えば、モータの名前が「軸1」であれば、Axisに軸1を記入します。このモジュールが呼ばれたら、有無を言わせず実行するには、ExecuteをTRUEにします。このファンクション・ブロック(FB)は絶対位置の移動を実施するので、位置はPositionへ、速度はVerlocityを、加速度はAccelerationに実数を書き込みます。
 つまり、C++のクラス・ライブラリと考えればいいわけです。引数がなければ、デフォルト値が使われたりします。
 ST言語内で、図のない形でファンクション・ブロック(FB)が使えます。
 デフォルトだと、スタンダードのライブラリが利用できますが、Motion用にMC2ライブラリを追加すれば、

  • MC_Power(電源ON)
  • MC_Reset
  • MC_SetPosition
  • MC_MoveAbsolute
  • MC_MoveRelative
  • MC_MoveAdditive
  • MC_MoveModulo
  • Notes on modulo positioning
  • MC_MoveVelocity
  • MC_MoveContinuousAbsolute
  • MC_MoveContinuousRelative
  • MC_Halt
  • MC_Stop

などが利用できます。これらは、
https://infosys.beckhoff.com/
 -TwinCAT 3
  -TF5xxx - Motion
   -PLC Libraries Motion
    -Tc2_MC2
     -Motion function blocks
      -Point to point motion
付近に解説があります。

何をどう書けばいいのか

 上記のような利用できるファンクションがあって、モータを回すには、何と何を書けば、指定の位置へモータを回すことができるか、という解説は見つかりませんでした。

 youtube Beckhoffの日本法人のコンテンツです。TwinCAT3モーションプログラム動作

 9秒後の画面を止めます。プログラムが見えています。最初はMC_Power、次はMC_MoveAbsoluteです。この二つでデモをやっています。

 次回、実際にプログラムを書きますが、ほぼ内容が同じものが、youtubeの12. TwinCAT3 motion programにあります。韓国語を字幕を出し翻訳してみましたが、ほとんど意味がわかりませんでしたから、画面の操作を見て理解しましょう。
 この事例も、MC_PowerとMC_MoveAbsoluteの二つを使っています。

 たくさんのファンクションを使う例は、MB06a. [TwinCAT 3 NC] Program MC_Velocity, MC_Relative, MC_Absolute Motion Control [8/20]にあります。プログラムはラダーですが、MC2のファンクション・ブロック(FB)をたくさん使っています。

資料

 IEC61131-3の日本語の資料は、少し古いように思えます。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?