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