0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【BizRobo!】ループ中にエラーが発生した場合、ループを終了させたい!

Posted at

はじめに

今回は、 「ループ中にエラーが発生した場合、ループを終了させる方法」 をご紹介します!

MCのスケジュールからロボットを実行している場合、BizRobo!の仕様上、ループの途中でエラーが発生すると、すべてのイテレーションが実行されてからエラーとなります。

予定しているイテレーション数が多い場合、エラーが発生しても停止せずに稼働時間が長くなってしまう(とくにDA)ため、その対処法をご紹介します。

あくまで一例ですので、参考程度にご覧ください!

記事内のロボットは v10.4.0.4 で作成しています。

設定方法

すべてのステップのエラー処理にループ終了を設定すれば、実現したい処理はできますが、現実的ではないため、今回は「エラーフラグ」変数(グローバル)でエラーハンドリングします。

基本的な形は下記のようになります。
image.png

  1. エラーフラグが立っていない(0)か確認
  2. 処理中はエラーフラグを立てる(1)
  3. 処理終了でエラーフラグを戻す(0)

上記のように設定することで、ステップ1つずつにエラー処理を入れることなくエラー検知することができます。

注意点としては、
エラー処理に「次のイテレーション」が入っているステップには、エラー処理を「次の代替手段を試行」に変更しフラグを戻す処理、
ブランチ・分岐で処理終了点が分かれている場合は、それぞれにフラグを戻す処理を入れる必要があるので気を付けてください。

例:
image.png

さいごに

ご覧いただきありがとうございました!

今回紹介したのは、ただループを終了させるだけでしたが、トライステップに飛ばすなどすれば、エラー時の処理を設定できます。

ぜひ参考にしていただければ幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?