eBATは上から順番に処理されるが基本です。
ただし、それだけでは不便な場合があるため、例外的に上から順番に処理されなくなるものがあります。
それが、ラベルとラベルジャンプです。
では、以下のプログラムを作ってみてください。ログはU1命令で、プログラムの待機はC6命令です。
コメント:あいさつのログ(U1)出力 「おはようございます」とログメッセージを出力。(既出のメッセージは維持) 「こんにちは」とログメッセージを出力。(既出のメッセージは維持) 「おやすみなさい」とログメッセージを出力。(既出のメッセージは維持) 2000ミリ秒間待機する。
これを実行すると、あいさつが上から順番に出力され、2秒間待機した後に、プログラムは終了します。
では、このプログラムの「おやすみなさい」の上に「ラベル」を追加してみます。
ラベルはC1命令で追加できますが、このような場合は、左で「こんにちは」を右でC1命令を選択し、「挿入」を押します。
ラベル名を「goodNight」に指定してみます。
コメント:あいさつのログ(U1)出力 「おはようございます」とログメッセージを出力。(既出のメッセージは維持) 「こんにちは」とログメッセージを出力。(既出のメッセージは維持) ●ラベル:@goodNight 「おやすみなさい」とログメッセージを出力。(既出のメッセージは維持) 2000ミリ秒間待機する。
これを実行しても、先ほどと何も変わりません。では、次に、「おはようございます」の下に C2命令を追加します。ラベル名には「goodNight」を指定します。
コメント:あいさつのログ(U1)出力 「おはようございます」とログメッセージを出力。(既出のメッセージは維持) ▲ラベルジャンプ...ラベル:「@GoodNight」へジャンプする。 「こんにちは」とログメッセージを出力。(既出のメッセージは維持) ●ラベル:@goodNight 「おやすみなさい」とログメッセージを出力。(既出のメッセージは維持) 2000ミリ秒間待機する。
これを実行すると、なんと、「こんにちは」は出力されません。C2命令、ラベルジャンプがあると、 以降の処理は指定されたラベルから下向きに順番に処理されます。 ラベルジャンプで上方向に戻ることもできます。 また、ラベル名は大文字と小文字を区別しません。もちろん、日本語も利用できます。
コメント:あいさつのログ(U1)出力、無限ループVer : Alt + F4で終了。 ●ラベル:@LOOP 「おはようございます」とログメッセージを出力。(既出のメッセージは維持) 「こんにちは」とログメッセージを出力。(既出のメッセージは維持) 「おやすみなさい」とログメッセージを出力。(既出のメッセージは維持) 1000ミリ秒間待機する。 ▲ラベルジャンプ...ラベル:「@LOOP」へジャンプする。
上に向かってラベルジャンプをすることで無限ループが行えます。 本来はファイルの末端行が処理されれば、プログラムは終了しますが、 この場合、末端で「@LOOP」に戻るので、永遠に処理が続きます。