モーションSFCプログラムを構成するものとしてトランジションプログラムと演算制御プログラムというものがあります。
難しく考える必要はなく、『トランジションプログラムが条件成立しているかの判断プログラム』、 『演算制御プログラムがビットやデータレジスタのON,OFFを操作するプログラム』というものになります。
トランジションプログラムでも演算制御プログラムでも使っている命令が使用できますが、モーションSFCになれるまでは区別して使うのもありかなと思います。
モーションSFCプログラムにはトランジションプログラムと演算制御プログラムがなければ成り立たないほど重要な役割を担っています。
トランジションプログラムと演算制御プログラムがどのようなものかをしっかり理解することによって、モーションSFCを使いこなせるようになります。
今回はそのトランジションプログラムと演算制御プログラムについて説明していきます。
【目次】
広告
トランジションプログラム
冒頭でも述べましたが、トランジションプログラムは条件が成立しているか判断するプログラムです。
ただし、条件が成立しているかを判断するタイミングを2つほど選択することができるのです。
それが『シフト』と『WAIT』という2種類です。
シフト
『シフト』とは先読み移行であり、シフトトランジションプログラムの前にモーション制御ステップ(サーボモータ始動指令)やサブルーチン呼び出し/起動があった場合、その動作完了を待たず、条件が揃えば次のステップへ移行するようになっています。
WAIT
『WAIT』は『シフト』と異なり、WAITトランジションの前にモーション制御ステップ(サーボモータ始動指令)やサブルーチン呼び出し/起動があった場合、その動作が完了するまで条件が揃っていても次のステップへ移行しないようになっています。
演算制御プログラム
冒頭でも述べましたが、演算制御プログラムはビットやデータレジスタのON,OFFを操作するプログラムです。
この演算制御プログラムのイメージですが1回実行して終わりと考えて良いでしょう。
ただ、演算したいタイミングもトランジションプログラム同様選択することができます。
それが、『1回実行型演算ステップ』と『スキャン実行型演算ステップ』です。
1回実行型演算ステップFn
文字通り1回演算制御プログラムを実行したら完了するものです。
スキャン実行型演算ステップFSn
スキャン実行型は1回実行型と異なり、次の移行条件が成立するまでスキャン毎に演算制御プログラムを実行していきます。
これは使用したことがないので利点をお話することができませんが、今後使用する機会がありましたら追記しようと思います。
プログラム例
トランジションプログラムと演算制御プログラムを使用したサーボ起動を例にプログラムを作ります。
プログラム構成
構成としては上記画像のようにします。
デバイスマップ
F0:全軸サーボON
まず、全軸サーボONにします。
G3:全軸サーボON、サーボレディON
その後、全軸サーボONとサーボレディを確認し、原点復帰を行います。
K0:原点復帰
原点復帰を行います。
原点復帰を行わないとサーボモータの原点が決まらず、位置決め指令を行うと異常となります。
G2:原点確認
原点にいる場合M1000を出力するようになっていますので、そのビットを確認して終了となります。
終わりに
トランジションプログラムと演算制御プログラムを理解できたでしょうか。
これらを使用することによってモーションコントローラを使用することができるようになります。
参考にしてみて下さい。
広告