こちらは新しいシリーズでFATEKのM-PLCを使用し様々な記事を展開していきます。第4話M-PLCと同じFatek社のSC3 サーボモータと接続し、ラダープログラムでMotion Point機能を使用し位置決めを操作します。
さ、FAを楽しもう。

前書き
いつも私の技術ブログとYouTubeチャンネルをご覧いただき、心より感謝申し上げます。また、いまFullさん(full@桜 八重 (@fulhause) / X)と共に毎週水曜日の夜にお届けしている「高橋クリス」ラジオ番組を運営しています。
技術は独り占めせず、届けるもの
私たちは工場の生産技術や制御に関する技術情報を、ブログや動画などで無料公開しています。「知識は誰でもアクセスできるべき」という信念のもと、現場で役立つ具体的なノウハウやトラブル事例などを発信してきました。すべて無料で続けているのは、「知らなかったせいで困る人」を少しでも減らしたいからです。
また、もしあなたの現場で…
- 「このPLCとデバイスの組み合わせ、ちゃんと動くのかな?」
- 「EtherCAT通信でうまくいかない部分を検証してほしい」
- 「新しいリモートI/Oを試したいけど社内に検証環境がない」
など、困っている構成や試してみたいアイデアがあれば、ぜひお知らせください。機器の貸出や構成の共有が可能であれば、検証し、記事や動画で発信します(ご希望に応じて匿名対応も可能です)。
支援のかたち
現在、私達の活動はほぼ無償で続けており、記事や動画の制作には、時間と検証環境の整備が必要です。この活動を継続的にコンテンツを提供するためには、皆様の温かいご支援が大変重要です。
メンバーシップ(ラジオの応援)
Fullさんとのラジオをより充実させるための支援プランです。
https://note.com/fulhause/membership/join
Amazonギフトリスト
コンテンツ制作に必要な機材・書籍をリストにしています。
https://www.amazon.co.jp/hz/wishlist/ls/H7W3RRD7C5QG?ref_=wl_share
Patreon(ブログ・動画活動への応援)
月額での小さなご支援が、記事の執筆・検証環境の充実につながります。
https://www.patreon.com/user?u=84249391
Paypal
小さな支援が大きな力になります。
https://paypal.me/soup01threes?country.x=JP&locale.x=ja_JP
知ってたら助かること、届けたいだけです
あなたの応援が、知識の共有をもっと自由で持続可能なものにしてくれます。これからもどうぞよろしくお願いします。
soup01threes*gmail.com
技術はひとりじゃもったいない。
Reference Link
http://soup01.com/ja/category/fatek/m-series/
http://soup01.com/ja/category/fatek/sc-series/
モーションを用いたプログラミング
モーション制御を実行するために、M-PLCコントローラは、ポイントテーブルを使用したモーションフローによってユーザーのモーションシーケンス制御を実現します。各軸ポイント、JOG、またはHOMEで移動する際、MPLCはユーザーにラダーモーション関連のブロックコマンドも提供します。M-PLCモーション制御は、以下の3つの方法で実現できます:
- ラダー制御(今回の記事)
- モーションフロー制御(これから)
- テストラン(Part3の記事)
Fun179 Position Control (MFPointMov)
ポイントテーブル位置制御コマンドを実行します。
- EN = 1: 位置制御がトリガーされる
- ACT = 1: 位置制御が実行中
- ERR = 1: 位置制御エラー
- DN = 1: 位置制御が完了
- PT: モーションポイント関連パラメータの位置を選択
- ID: 実行するフローID
-
特殊レジスタ:
- 軸1: 位置制御が実行中 – M10623
- 軸1: 位置制御が完了 – M10624

実行制御「EN」= 1の場合、AXで指定された軸がPTで指定された番号のポイントテーブルを実行します。
実行制御「EN」= 0の場合、モーションは即座に停止します。

以下の表を例として使用します。PT = 1、AX = 1の場合、軸1はポイントテーブル1のパラメータに従って動作します。ただし、PT = 2、AX = 1を設定した場合、ポイントテーブル設定との相違により失敗し、ERRがトリガーされます。

Motion Point?
今回の記事ではモーションポイントに必要な設定方法とパラメータについて説明します。
目標位置、最高速度、加速度、減速度、加速タイプなどのモーションフローモーションポイントの情報は、ポイントテーブルとポイントパラメータに従って設定されます。またPLCを使用してポイントテーブルとポイントパラメータの設定値の内容を変更できますので、またこれからの記事を楽しみにしてください。

Implementation
こちらは今回記事の構成で、FATEKのM-PLCとSC3シリーズ ServoとEtherCATで接続します。それでは実際にM-PLCでプログラムでMotion Point機能を使用し位置決めを操作します。

M-PLC Side
FATEKのM-PLC側を構築します。

Motion Point
Motion Pointを追加するには、Motion→Motion Pointをクリックしてください。

こちらはMotion Pointの設定表になります。

Add New
Point1に新しいMotion Point設定を追加するために、1の欄をクリックしてください。それによりMotion Point1の設定画面が表示されます。

Operation Mode
Operation Modeで該当するMotion Pointの稼働モードを設定します。

今回の記事は単軸の絶対位置決めに設定します。

Axis Setting-Master Axis
Master軸に該当するMotion Pointの軸番号を設定します。今回は単軸動作なので、Master=1、Aux=0でOKです。

Motion Setting
次はアプリケーションに合わせて運転速度・位置データなど設定しましょう。

結果
Done!これでPoint1とPoint2のMotion Pointデータが追加されました。

Program
今回の記事では前回Part4で作成したプログラムの追加になります。
軸1のサーボモーターをポイントテーブルで定義された目標位置に移動させます。D100に格納されたポイント番号に対応するポイントテーブルのパラメータ(目標位置、最高速度、加速度、減速度、加速タイプなど)に従って位置決め動作を実行します。
例えば、D100 = 1の場合、ポイントテーブル1に設定されたパラメータに従って軸1が移動します。M1004をトリガーとして動作を開始し、目標位置に到達するとDN出力がONになります。

また、関数の出力にデバイスを割り付けなくてもエラーになりません。

Status Page
プログラムをDownloadしたあと現在のレジスタの状態を確認したい場合(つまりGXWORKSのWatch Tableのような機能)、PLC→New Status Pageをクリックします。

Status Page名を設定します。

こちらは空のStatus Pageになります。

例えばD100を入力します。

D100の現在値を確認できるし、Data欄でD100に新しい値を変更できます。

Online Edit Table
また、Motion Pointの設定をOnlineに変更すると、その変更部分は赤くなります。

結果
こちらの動画から動作確認できます。