三菱PLCでサーボPLCopen制御

今年2月にOMRON PLC(NX)でPLCopenファンクションブロックによるサーボ制御の仕事を行ったが、今回は三菱PLCでもPLCopenによる制御が可能なので紹介する。

今回はMR-J5サーボアンプで動作する位置決めユニットRD78G4を例に紹介する。

ちなみにRD78G4は従来通りのバッファアドレスを使用したシンプルモーション方式でも制御可能である。バッファアドレスの値はほとんどRD77MS(サーボアンプはMR-J4ーB)と同じでプログラムの書き方も同じだ。

バッファアドレスのサーボ制御は三菱Aシリーズでのサーボ制御から手法自体は変わっていない。(パラメータ設定等は当然進化している)

ではPLCopenのプログラム作成方法をGX WORKS3で紹介する。

まずPLCopen用ファンクションブロックライブラリ(MotionControl_RD78G_4e.zip)を三菱電機FAサイトからダウンロードする。

そしてGX WORKS3の「部品登録」でライブラリを登録する。

そして、そのファンクションブロックをラダー画面にドラッグする。今回は絶対位置決めファンクションブロックを例にする。

ラダーでファンクションブロックを使用して位置決め制御プログラムを作っていく。なお、PLCopenのサーボファンクションブロックはOMRONやシーメンスとも共通だ。

当然、過去の資産で動いている設備の保守・改造も我々電気制御技術者にとって大事な仕事であり、従来の手法も理解しておく必要があるが、PLCopenの存在自体を知らないわけにはいかない。

ST言語のみでファンクションブロック

PLCでファンクションブロックを使うとき、決まり決まった計算をライブラリとして使いたい時が多い。

新規の機械動作する部分のラダーはファンクションブロックにするとモニターしにくく切羽詰まっている現場では向かないが、卓上で事前にシミュレーションできる数式はライブラリしておきたい。

しかしその時はラダーよりST言語で書いたほうが効率的だ。今回紹介するのは三菱PLCでST言語のみのファンクションブロック作成方法である。

QシリーズでもRシリーズでも同じやり方だ。

※GX WORKS2ではST言語使用のため、プログラム種別変更が必要。

GX WORKS3でやり方を紹介する。

まず左ナビゲーションからFBFILEを右クリックし「データ新規作成」を選択する。

データ名を参考URLに従いLinerCalcにし、プログラム言語をST言語にする。

新規作成したファンクションブロックのローカルラベルを作る。

  • VAR:普通の内部変数ラベル
  • VAR_CONSTATNT:値の変わらない内部変数ラベル
  • VAR_RETAIN:ラッチ機能のある内部変数ラベル
  • VAR_INPUT:ファンクションブロックの入力
  • VAR_OUTPUT:ファンクションブロックの出力

プログラムをST言語で書く。変換すればファンクションブロックが完成。

できたファンクションブロックをラダー作成窓にドラッグし、入出力変数を記載。

これでST言語のファンクションブロック完成。