「演算周期」とは、各軸の位置指令計算などを行う周期時間(msec)のことを言います。
- パラメータで「自動」以外に設定した場合、設定した周期で計算を開始します。
但しこれは、必ず実行が完了されることを保証するものではありません。 ここで設定した時間を、「各軸計算」や「SFCイベントタスク」処理などの総時間がオーバーすると、計算が不正確になるばかりか、 各軸の位置指令抜け(位置指令ゼロ)に繋がり程度に差はありますがメカに負担をかけることになるので要注意です。
- 「自動」に設定すると、認識される軸数に応じて、自動で最小の演算周期に設定されます。 場合によっては、演算周期に余裕がなく、却ってトラブルにつながりますので、基本的に「自動」は推奨されません。
各演算周期1回の中で、イベントタスク、各軸計算、入出力処理、その他演算周期計算 などが行われます。 これらの計算が完了して残った時間で、ノーマル周期計算(SFCノーマルタスクの実行、Qバス共有メモリ処理など)が行われます。
イ ベ ン ト タ ス ク | 各 軸 計 算 | 入 出 力 処 理 | 他 演 算 周 期 計 算 | ノー マル 周期 計算 |
←演算周期計算→ | |
←演 算 周 期→ |
このことから、演算周期設定値に対して演算周期計算量がぎりぎりで余裕がないと、SFCノーマルタスク処理の計算量がどんどん減っていき、結果として指令を与えてからモーションが認識するまでの時間が長くなり、サイクルタイムが伸びてしまう、ということも現実的によく起きることも理解できると思います。
もちろん、演算周期設定値<演算周期計算量 は論外で、演算周期オーバーで軸指令値抜けが発生してトラブります。
実計算周期を知るには
モーション周辺のデジタルオシロを使って、「D9188 (Q172D/173Dの場合はSD522) :モーション演算周期モニタ」値をCPUの演算周期かそれより速い周期で測定します。 周辺モニタにも表示されますが、この値だけで信用してはいけませんし、 デジタルオシロを使っても演算周期より長い周期の測定では、ピーク負荷時の演算時間を取りこぼして正確な評価ができません。
各CPU演算周期比較
工事中..