【DobotStudioPro】”コマンド遅延〇秒”と”〇秒待つ”ブロックの違い

はじめに

DobotStudioProのBlocklyプログラミングでは、ロボットの動きをより細かく作りこめるよう、制御コマンド内に指定時間分待ち合わせを行うコマンドが2種類ございます。
本記事ではそれらのブロックの違い・使い分けを説明いたします。

 

各ブロックの説明

日本語マニュアルより抜粋

 

”コマンド遅延”ブロック

「コマンド遅延」は一般的な他のプログラミング言語にあるSleep関数と同じ役割となるプログラムの読み込みを遅延する処理となります。
プログラムが読み込まれたタイミングで即時実行され、プログラムの読み込みの速度を遅延することが可能です。

プログラムの読み込みを遅延することのメリットとしては、無限ループの処理の負荷軽減のために使用できます。
例えばPLCやスイッチなどの外部機器からの信号待ちのためにDIの入力がONになるまでMG400が次の動作を行わないように待機するような処理では、
1.DIの入力値の読み取り
2.入力値が希望のものでなければ1に戻る
処理を高速で実行される処理となっているため、ロボット自体は全く動作していないにも関わらず、内部の制御コンピュータにはDIの読み取り処理がキューにたまり負荷がかかり続けています。
DIの入力値を読み取る間隔が短いほど入力が切り替わった時の応答性は早いものの、上記のように負荷が大きいため、30分以上入力待ちするような状態になりますと、最終的にフリーズする原因となります。
そのため、コマンド遅延ブロックを挿入し、1ループ当たり数百msの休憩時間を挿入することで負荷を軽減し、安定したプログラムにすることが可能です。
制御ブロックのうち、
  • 「ずっと」ブロック
  • 「<>になるまで繰り返す」ブロック
を使用する際はコマンド遅延ブロックを待ち時間100ms以上に設定して挿入することをお勧めいたします

”〇秒待つ”ブロック

「〇秒待つ」はロボット動作タイミングを遅延する命令の一種で、ロボットの動作自体を遅らせたい場合に使用するブロックとなります。

移動命令が「点Pへ移動する」動作を実行するのと同様に「○秒間何もしない」動作を実行しますので、一連の作業の中でロボットの動きを待たせたい場合に使用します。
例えば特定の移動命令の前後で〇秒間隔をあけたい場合や、DOをONにして〇秒後にOFFにしたい、などタイミングを合わせるために使用いたします。

 

 

 

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です