Skip to main content

オペランド

定数とリテラル

定数は、変更できない値の識別子です。定数は、POU内でローカルに宣言することも、グローバル変数リスト内でグローバルに宣言することもできます。宣言セグメントはキーワードで拡張されます CONSTANT

定数は、整数や浮動小数点数などの基本型の値を表す文字列でもあります(たとえば、 16#FFFF_FFFFT#5s、 また -1.234 E-5)。それらを区別するために、これらの定数は、リテラル、リテラル定数、または名前のない定数とも呼ばれます。論理的(TRUEFALSE)または数値リテラル(3.1415T#5s)だけでなく、文字列リテラル('Hello world!'"black")。

構文宣言

<scope> CONSTANT
    <identifier> : <data type> := <initial value> ;
END_VAR

<scope> : VAR | VAR_INPUT | VAR_STAT | VAR_GLOBAL
<data type>: <elementary data type | user defined data type | function block >
<initial value> : literal value | identifier | expression
. 許可される初期値:
  • リテラル

    例: TRUEFALSE16#FFFF_FFFF

  • 別の場所で宣言された名前付き定数

  • リテラルで構成され、+-*などの単純な演算子と組み合わされた単純な式

入力や関数呼び出しを初期値として指定することはできません。

179.
VAR_GLOBAL CONSTANT
        g_ciMAX_A : INT := 100;
        g_ciSPECIAL : INT := g_ciMAX_A - 10;
END_VAR


定数は宣言に対してのみ定義されます。初期値の割り当てが必要です。実装内では、定数は読み取られるだけなので、ステートメントの代入演算子の右側に常に表示されます。

定数は、コードのコンパイル時に初期値に置き換えられます。また、コンパイル時に初期値を計算できる必要があります。

構造化型またはユーザー定義型の定数は、実行時まで計算されません。プログラムまたはGVLの構造化定数は、プログラムの開始時に1回計算されます。関数またはメソッドの構造化定数は、関数またはメソッドが呼び出されるたびに計算されます。したがって、構造化定数の初期化は、入力または実行関数呼び出しに依存する可能性があります。

変数

変数は、POUの宣言部分またはグローバル変数リストのいずれかでローカルとして宣言できます。変数の許可される場所は、そのデータ型によって異なります。

詳細については、以下を参照してください。 配列、構造体、ブロック内の変数へのアクセス変数のビットアクセス

他の

詳細については、以下を参照してください。 住所機能