JMPCN 否定条件付きジャンプ

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

プログラム内に存在するいずれのラベルにも有効です。アキュムレータの値は、BOOL型でなければいけません。

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

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

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

POUヘッダ

POUヘッダには、このファンクションのプログラミングに使用するすべての入出力変数を宣言します。

ILボディ

(* ネットワーク0の先頭 *)

LABEL0:

LD

var_1

(* var_1の内容をアキュムレータにロード *)

EQ

var_2

(* var_2の内容とアキュムレータの内容を比較し、結果をアキュムレータに格納

結果はBOOL型です。*)

JMPC

LABEL1

(* アキュムレータの内容がFALSEのとき、LABEL1の位置からプログラムを実行 *)

(* ネットワーク1の先頭 *)

LABEL1:

MUL

var_3

(* var_3の内容とアキュムレータの内容を乗算 *)

SUB

var_4

(* var_4の内容をアキュムレータの内容から減算し、アキュムレータに格納 *)

ST

var_5

(* var_5にアキュムレータの内容を格納 *)

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