変数の値の変更
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 実例。