変数の値の変更
Gコード: G36
、 G37
関数:コマンドは変数の値を変更します。 G36
指定された値を変数に書き込みます。 G37
指定された値で変数をインクリメントします。 O$var$
編集される変数を定義します。 D
のために書かれる値を定義します G36
またはのために追加 G37
。このコマンドは、たとえば、条件付きジャンプに必要なループカウンターに使用されます。
構文
G36 O D G37 O D
G36のGコードワード | 説明 |
---|---|
O | 書き込まれる変数。もし 内部変数は、次の場所で使用できます。 ジャンプ コマンド。 |
D | 新しい変数値 |
G37のGコードワード | |
O | インクリメントされる変数。もしも |
D | インクリメント |
カウンターのプログラミング(パスがオンラインで処理される場合)
NS
g_i
グローバル変数は5に設定されます。
N1000 G36 O$g_i$ D5
1010号線と1020号線は5回運行されています。
N1000 G36 O$g_i$ D5 N1010 G1 X100 F100 E100 E-100 N1020 G1 X0 N1030 G37 O$g_i$ D-1 N1040 G20 L1010 K$g_i$
ヒント
このメカニズムは、パスがオンラインで処理される場合にのみ機能します。これは、その場合にのみ変数を使用できるためです。このメカニズムは、CNCエディターでは機能しません。
オフラインモードのカウンターのプログラミング
オフラインでエディターを操作するには、を使用して変数を指定しないでください。 O
。次に、タイプの暗黙的なデコーダー変数 INT
使用されている。ただし、使用できる変数は1つだけです。ネストされたジャンプやループをプログラムすることはできません。
文字列変数の使用
GコードのOワードで文字列変数を使用できます。さらに、コマンドを使用して、文字列値をこの変数に割り当てて挿入することもできます。 G36
と G37
。
N10 G36 O$strTest$ D'Name'
NS strTest
変数はName値を取得します。
N20 G37 O$strTest$ D'=Test'
値 =Test
変数に追加されます strTest
。
ヒント
文字列変数がCNCプログラムで使用されている場合、およびCNCプログラム(IECプログラム内)が SMC_ReadNCFile
機能ブロックの場合、文字列のバッファはIECプログラムで予約する必要があります。それ以外の場合、エラー SMV_RNCF_NO_STRINGBUFFER
発生します。 NS SMC_StringBuffer
機能ブロックはこの目的で使用できます。
CNCプログラムのすべての文字列は、の機能ブロックインスタンスに独自のスペースを必要とします。 SMC_StringBuffer
、同じ文字列が複数回出現する場合でも。
次の宣言は、32個の文字列をバッファリングできます。次に例を示します。
sb: SMC_StringBuffer(uiBufferSize := 32);
機能ブロックインスタンス sb
へのポインタとして渡されます pStringBuffer
の入力 SMC_ReadNCFile
実例。