Skip to main content

ローカル変数

各Gコードファイルはローカル変数を宣言できます。メインプログラムの場合、宣言は最初に挿入する必要があります。サブプログラムの場合、サブプログラム宣言の直後。

ローカル変数は、それらが宣言されているプログラムまたはサブプログラムでのみ表示されます。 (動的スコープなし)

ヒント

ローカル変数はオンラインデコーダーでのみ機能します(CNCエディターでは機能しません)。

ローカル変数の数

  • バージョン 4.18.0.0 以前:ローカル変数の数は、サブプログラムごとおよびメインプログラムで 21 に制限されていました。

  • バージョン 4.18.0.0 以降:ローカル変数の数はメモリによってのみ制限されます。最大値はライブラリパラメーターを使用して変更できます SMC_CNC_LibParams.MAX_SUBPROGRAM_PARAMS

    詳細については、以下を参照してください。 ライブラリパラメーター

宣言の構文

構文は、サブプログラムパラメータの宣言に使用される構文に似ています。ブロックごとに1つの変数を宣言できます。ブロックはNワードで始まりません。変数は、宣言時にオプションの初期値を指定できます。それ以外の場合は、データ型に応じてデフォルト値が割り当てられます(LREAL: 0, BOOL: FALSE, STRING: ‘‘)。

宣言の構文: LET <FormalParam> [:= <InitialValue>]

<FormalParam> ::= <ParamName> : <ParamType>
<ParamName>   ::= #[a-zA-Z0-9_]+

<ParamType> ::= LREAL | BOOL | STRING ; String mit maximaler Länge von 255 Bytes

<InitialValue>:変数と一致する値と型を持つ式。式はローカル変数(およびサブプログラムではサブプログラムのパラメーター)を使用することもできますが、プログラムコードで上記で宣言されたもののみです。

•   LET #x : LREAL            (* Variable #x, Typ LREAL, Initialwert 0 *)
•   LET #y : LREAL := #x + 1  (* Variable #y, Typ LREAL, Initialwert #x+1 = 1 *)
•   LET #b : BOOL := #x >= #y (* Variable #b, Typ BOOL, Initialwert FALSE *)

サブプログラムパラメータと同様に、ローカル変数では大文字と小文字は区別されません。 (両方 #x#X 同じ変数を示します。)プログラム/サブプログラムで宣言されたすべてのローカル変数の名前は異なっている必要があります。それらは、サブプログラムの仮パラメーターの名前とは異なる必要があります。

ローカル変数は、サブプログラムのパラメーターのようにGコードで使用できます。

•   N10 G01 X#x Y#y
•   N20 G20 L10 K#b