モーダルコマンドによるカスタムマクロの呼び出し
カスタムマクロを使用してプログラムした場合、カスタムマクロプログラムを呼び出す1つの方法は、G65コマンドを使用することです。ユーザーは通常、このコマンドをメインプログラムに入力し、カスタムマクロのプログラム番号(Pワードを使用)と、カスタムマクロに渡す一連の文字アドレス引数(変数)を指定します。
ラウンドポケット加工カスタムマクロを呼び出すには、次のコマンドを検討してください。
- N050 G65 P1000 X5.0 Y5.0 Z0 D0.5 R0.75 F5.0
XとYは、ポケットの中心位置を指定します。 Zは、ミシンがポケットを作る面を示します。 Dは深さ、Rはポケット半径です。 Fは加工送り速度を指定します。
G65はモーダルではありません。別の場所に別の丸いポケットを加工するには、ユーザーは別の完全なG65コマンドを提供する必要があります(もちろん、関連する引数を変更します)。ただし、FANUC CNCには、カスタムマクロをモーダルに呼び出すための2つのGコードG66とG66.1があります。それらのいずれかを述べた後、プログラマーはG67を使用してそれらをキャンセルする必要があります。
G66
G66はそれ自体ではカスタムマクロを呼び出しません。指定された文字アドレス引数に対応するローカル変数のみが割り当てられます。次のコマンドを検討してください:
- 。
- N050 G66 P1000 Z0 D0.5 R0.75 T0.5 F5.0
- N055 G00 X5.0 Y5.0
- N060 X10.0
- N065 Y10.0
- N070 X5.0
- N075 G67
- 。
行N050は、ローカル変数#26をZの値に、#7をDの値に、#18をRに、#20をTに、#9をFに設定します。ただし、この行は >> カスタムマクロO1000を呼び出します。
次へ コマンド(N055)は、モーションコマンド(通常はG00またはG01)である必要があり、CNCはコマンドされた位置に移動してから、カスタムマクロO1000を呼び出します。 G66コマンドで割り当てられたローカル変数は、カスタムマクロで使用できますが、G66コマンドの実行後に更新する方法はありません。 CNCは、G67(N075)コマンドに到達するまで、所定の位置に移動し続け、後続のモーションコマンドでカスタムマクロを呼び出します。
G66を使用する場合のラウンドポケットカスタムマクロの例を次に示します。
- O1001(G66によって呼び出されるカスタムマクロ)
- #32 =#5001(現在のX絶対位置に到達)
- Z [#26 + 0.1](アプローチ位置に移動)
- G01 Z [#26-#7] F [#9/2](ポケットに突っ込む)
- G02 X [#32 +#18-#20/2] R [[#18-#20/2] / 2] F#9
- I-[#18-#20/2]
- X#32 R [[## 18-#20/2] / 2]
- G00 Z [#26 + 0.1]
- M99
G66.1
G66と同様に、G66.1コマンドはカスタムマクロ番号を指定し、ローカル変数を文字アドレス引数の値に設定します。また、G66と同様に、モーダル呼び出しをキャンセルするには、最終的にG67コマンドを指定する必要があります。ただし、G66とは異なり、G66.1は呼び出します カスタムマクロ。次のコマンドを検討してください:
- 。
- N050 G66.1 P1001 X5.0 Y5.0 Z0 D0.5 R0.75 T0.5 F5.0
- N055 X10.0
- N060 Y10.0
- N065 X5.0
- N070 G67
- 。
これで、ラインN050が最初のポケットを加工します。 ではない後続の各コマンド モーションコマンドを実行すると、CNCはローカル変数をリセットし、カスタムマクロを再度呼び出します。行N055では、ローカル変数#24(X)の値は10.0になります。プログラマーがカスタムマクロを正しく記述したとすると、カスタムマクロのモーションコマンドは、マシンがポケットの作成を開始する前に、ツールをこの位置に移動します。
G66に対するG66.1の利点は、ユーザーがカスタムマクロを呼び出すときに、任意の文字アドレス引数を変更できることです。たとえば、ポケットN060マシンのポケットの深さが変更された場合、プログラマーは行N060に文字アドレスDを含めることができます。
G66.1を使用したカスタムマクロの作成は、G66よりも複雑です。カスタムマクロを終了するM99コマンドですべてのローカル変数の値が空に戻るため、ユーザーはこれらの値を、電源がオフになるまで失われない共通変数に格納する必要があります。
G66.1を使用したこのカスタムマクロプログラムを検討してください:
- O1001(G66.1によって呼び出されるカスタムマクロ)
- (呼び出し元のコマンドに含まれる引数の値を変更する)
- IF [#24 NE#0] THEN#100 =#24
- IF [#25 NE#0] THEN#101 =#25
- IF [#26 NE#0] THEN#102 =#26
- IF [#7 NE#0] THEN#103 =#7
- IF [#18 NE#0] THEN#104 =#18
- IF [#20 NE#0] THEN#105 =#20
- IF [#9 NE#0] THEN#106 =#9
- G00 X#100 Y#101(ポケットの中央に移動)
- Z [#102 + 0.1](アプローチ位置に移動)
- G01 Z [#102-#103] F [#106/2](ポケットに突っ込む)
- G02 X [#100 +#104-#105/2] R [[#104-#105/2] / 2] F#106
- I-[#104-#105/2]
- X#100 R [[#104-#105/2] / 2]
- G00 Z [#102 + 0.1]
- M99
どのカスタムマクロコマンドが優れていますか? G66またはG66.1?
より多くのプログラミング作業が必要ですが、G66.1はG66よりも柔軟性があります。つまり、プログラマーは、G66.1コマンドとG67コマンドの間の任意のコマンドの任意の引数を変更できます。この例では、これはポケットのX / Y位置、半径、深さ、Z面の位置、または送り速度を意味します。この意味で、G66.1で呼び出されるカスタムマクロは、G81のような穴加工の固定サイクルとほぼ同じように動作します。
一方、引数の初期セットを指定した後で変更する必要がないと確信している場合は、G66の方がはるかに使いやすいため、G66を使用する方がアプリケーションに適している可能性があります。
産業機器