Skip to main content

変数の値の変更

GコードG36G37

関数:コマンドは変数の値を変更します。 G36 指定された値を変数に書き込みます。 G37 指定された値で変数をインクリメントします。 O$var$ 編集される変数を定義します。 D のために書かれる値を定義します G36 またはのために追加 G37。このコマンドは、たとえば、条件付きジャンプに必要なループカウンターに使用されます。

構文

G36 O D
G37 O D

G36のGコードワード

説明

O

書き込まれる変数。もし O が定義されていない場合は、内部デコーダ変数が使用されます。この内部変数のデフォルト値は -1

内部変数は、次の場所で使用できます。 ジャンプ コマンド。

D

新しい変数値

G37のGコードワード

O

インクリメントされる変数。もしも O が定義されていない場合は、内部デコーダー変数が使用されます。

D

インクリメント

45.

カウンターのプログラミング(パスがオンラインで処理される場合)

  1. 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ワードで文字列変数を使用できます。さらに、コマンドを使用して、文字列値をこの変数に割り当てて挿入することもできます。 G36G37

46.
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 実例。