Skip to main content

ILの修飾子と演算子

5. 修飾子

修飾子

演算子と組み合わせる

説明

C

JMPCALRET

このコマンドは、先行する式の結果がTRUE

N

JMPCCALCRETC

このコマンドは、前の式の結果がFALSE

N

さもないと

オペランドの否定(アキュムレータの否定ではない)



6. 可能な修飾子を持つ演算子

オペレーター

N

意味

LD

N

オペランドの(否定された)値をアキュムレータにロードします

LD ivar

ST

N

アキュムレータの(反転された)内容をオペランドに格納します

ST iErg

S

オペランド(型)を設定しますBOOL) にTRUEアキュムレータの内容がTRUE

S bVar1

R

オペランド(型)を設定しますBOOL) にFALSEアキュムレータの内容がTRUE

R bVar1

AND

N,(

ビット単位AND累算器の値と(否定された)オペランドの

AND bVar2

OR

N,(

累算器の値と(否定された)オペランドのビットごとのOR

OR xVar

XOR

N,(

累算器の値と(否定された)オペランドのビットごとの排他的論理和

XOR N,(bVar1,bVar2)

NOT

累算器値のビット否定

ADD

(

累算器の値とオペランドの加算

結果はアキュムレータに書き込まれます。

ADD ivar1

SUB

(

オペランドからアキュムレータ値を減算する

結果はアキュムレータに書き込まれます。

SUB iVar2

MUL

(

累算器の値とオペランドの乗算

結果はアキュムレータに書き込まれます。

MUL ivar2

DIV

(

累算器の値とオペランドの加算

結果はアキュムレータに書き込まれます。

DIV 44

GT

(

累算器の値がオペランドの値より大きいかどうかを確認します

結果 (BOOL ) がアキュムレータに書き込まれます。

GT 23

GE

(

累算器の値がオペランドの値以上であるかどうかを確認します

結果 (BOOL ) がアキュムレータに書き込まれます。

GE iVar2

EQ

(

累算器の値がオペランドの値と等しいかどうかを確認します

結果 (BOOL ) がアキュムレータに書き込まれます。

EQ iVar2

NE

(

累算器の値がオペランドの値と等しくないかどうかを確認します

結果 (BOOL ) がアキュムレータに書き込まれます。

NE iVar1

LE

(

累算器の値がオペランドの値以下かどうかをチェックします

結果 (BOOL ) がアキュムレータに書き込まれます。

LE 5

LT

(

累算器の値がオペランドの値より小さいかどうかを確認します

結果 (BOOL) はアキュムレータに書き込まれます。

LT cVar1

JMP

CN

指定されたジャンプラベルへの無条件(条件付き)ジャンプ

JMPN next

CAL

CN

プログラムまたはファンクションブロックの(条件付き)呼び出し(アキュムレータ値がTRUEの場合)

CAL prog1

RET

ボックスから出て呼び出しボックスに戻る

RET

RET

C

累計値がTRUE :ボックスを出て呼び出しボックスに戻る

RETC

RET

CN

累計値がFALSE :ボックスを出て呼び出しボックスに戻る

RETCN

)

リセット操作の評価



9.
_cds_img_il_example.png


応用

説明

1つの演算子に複数のオペランド

. オプション
  • オペランドは、2 番目の列にコンマで区切られ、連続した行に入力します。

  • 演算子を連続する行で繰り返します。

バリアント1:

_cds_img_il_add_multiple_operands_1.png

バリアント2:

_cds_img_il_add_multiple_operands_2.png

複雑なオペランド

複雑なオペランドの場合は、開き括弧を入力します。(最初の列に、次の行のオペランドエントリに続く別の行の最初の列に閉じ括弧を入力します。

文字列はサイクルごとに 1 文字ずつ回転します。

_cds_img_il_complex_oparand.png

ファンクションブロック呼び出し、プログラム呼び出し

コラム1: CAL演算子またはCALCオペレーター

列2: ファンクションブロックインスタンスまたはプログラムの名前と開き括弧(

パラメータが続かない場合は、閉じ括弧)ここに入力します。

それに続く行:

列1: パラメータ名とそれに続く:=入力パラメータまたは=>出力パラメータ

列2: パラメータ値とそれに続くカンマ,さらにパラメータが続く場合

閉じ括弧)最後のパラメータの後に入力。

IEC規格の制限により、ここでは複雑な式は使用できません。そのような構造は、呼び出し前に関数ブロックまたはプログラムに割り当てる必要があります。

_cds_img_il_fb_call1.png

関数呼び出し

行 1: 列 1: LD

列2:入力変数

2行目: 1列目: 関数名 2列目: カンマで区切られたその他の入力パラメータ

CODESYS戻り値をアキュムレータに書き込みます。

行3: 列1: ST列2: 戻り値が書き込まれる変数

_cds_img_il_function_call.png

アクションコール

関数ブロック呼び出しやプログラム呼び出しなど。

アクション名は、FB インスタンスまたはプログラムの名前に追加されます。

_cds_img_il_action_call.png

ジャンプ

コラム1: JMP演算子またはJMPCオペレーター

列2: 宛先ネットワークのジャンプラベル名

無条件ジャンプの場合、先行する命令シーケンスは次のいずれかのコマンドで終了する必要があります。STSTNSRCALRETJMP

条件付きジャンプの場合、ジャンプの実行はロードされた値によって決まります。

_cds_img_il_jmp.png
. 詳細については、以下を参照してください。