IAIのSEL言語を使ってプログラムのステップをジャンプする命令です。
XSELやMSELで使用することができます。
- TAG:タグNoを指定
- GOTO:タグNoの位置へジャンプ
TAGの記述方法
操作1でタグNoを入力します。この命令が実行された行にタグが設定されます。
拡張条件 E | 入力条件 N,Cnd | 命令 Cmnd | 操作1 Operand1 | 操作2 Operand2 | 出力部 Pst |
TAG | タグNo | 禁止 | CP |
GOTO命令の記述方法とサンプルプログラム
操作1で入力したタグNoが記述されている行にジャンプします。GOTO命令で別プログラムへジャンプすることはできません。
拡張条件 E | 入力条件 N,Cnd | 命令 Cmnd | 操作1 Operand1 | 操作2 Operand2 | 出力部 Pst |
GOTO | タグNo | 禁止 | CP |
以下がサンプルプログラムです。
E | N,Cnd | Cmnd | Operand1 | Operand2 | Pst | Comment |
TAG | 1 | タグ1を設定 | ||||
・・・ | ・・・ | ・・・ | ||||
GOTO | 1 | タグ1までジャンプ | ||||
・・・ | ・・・ | ・・・ |
※条件分岐命令の中でTAG,GOTO命令を使用するとプログラムが正常に動作しない可能性があります。(条件分岐命令の最大ネスト数が決まっているため、エラーとなる)
一般的に、C言語などではプログラムが複雑になるためGOTO命令は使用してはいけないことになってます。しかし、IAIのSEL言語は上から下へ順番に実行してロボットを動作させる言語なので、逆にTAGとGOTOを使った方がわかりやすいプログラムを書くことができたりします。実際にGOTO命令は現場でもよく使用されています。ただし、乱用は禁物です。TAGとGOTOの間に、また別のTAGやGOTOを入れるのはやめましょう。