JMPC 条件付きジャンプ

アキュムレータの内容がTRUEのとき、オペランドフィールドで定義されたラベルの位置から、プログラムの実行を継続します。

この演算子で使用できるオペランドは、次のデータ型です。プログラム内に存在するいずれのラベルにも有効です。アキュムレータの値は、BOOL型でなければいけません。

注記
  • 演算子は、ILプログラム言語でのみ使用することができます。
  • 下記のサンプルプログラムの場合、比較命令がいずれのデータ型でも使用できるため、var_1var_2は、いずれのデータ型でも使用できます。var_3, var_4, var_5は、それらを使用する動作に従って、数字のデータ型として宣言してください。LABEL1LABEL2は、プログラム内で有効なラベルにする必要があります。アキュムレータの値がTRUEを保持しているときは、ジャンプのみ実行されます。TRUEでないときは、JMPC命令に続くプログラムを実行します。

  • ラベルには、コロン : をつける必要があります。ただし、JMPC命令の右側に指定するラベルでは、コロン : は省略して記述します。

  • ラベルはネットワークの先頭のみに挿入することができます。ラベルは、ジャンプ用に使用しない場合でも、どのネットワークの先頭にも挿入することができます。(例: このプログラム例ではLABEL0が該当します。)

POUヘッダ

POUヘッダには、このプログラムで使用するすべての入力変数と出力変数を宣言します。

ILボディ

(* Beginning of network 0 *)

LABEL0:

LD

var_1

(* Load var_1 in accu *)

EQ

var_2

(* Compare accu with var_2; store result of comparison in accu;

result is of type BOOL*)

JMPC

LABEL1

(* If accu contains TRUE continue program execution at position LABEL1 *)

(* Beginning of network 1 *)

LABEL1:

MUL

var_3

(* Multiply accu by var_3 *)

SUB

var_4

(* Subtract var_4 from accu; result is store in accu *)

ST

var_5

(* Store accu in var_5*)

最終修正日: 2019-03-21このページに関するフィードバックお問い合わせ窓口