このブログ記事では、経験豊富な機械エンジニアが、Fanuc CNC旋盤コマンドをマスターするためのインサイダーヒントとテクニックを紹介します。CNCプログラミングスキルを最適化し、生産性を向上させ、機械加工プロジェクトを次のレベルに引き上げる方法をご覧ください。
G00▲:クイックポイントポジショニング
G00 X__Z__
G01: 線形補間
G01 X__Z__F__
G01:ベベルまたはフィレット・コマンド
G01 X(U) Z(W) C
G01 X(U) Z(W) R
X(U)とZ(W)の値は、ワーク座標系内で隣接する直線ADとDEの仮想交点の座標を表し、XとZは絶対座標値、UとWは増分座標値である。C値は面取り開始点からの相対距離を示す。R値はフィレット円弧の半径を示す。
G02:時計回りの円弧補間
G02X__Z__R__F__
G02X__Z__ I__K__ F__
Rは円弧の半径を表す。円弧の中心角が0°から180°の場合、Rは正の値をとり、中心角が180°から360°の場合、Rは負の値をとる。IとKは、円弧の始点からのX軸とZ軸に対する円弧の中心の座標の増分、つまり中心の座標から始点の座標を引いたものを示す(Iは半径の値で表される)。I と K がゼロのときは省略できる。
G03:反時計回りの円弧補間
G03 X__Z__R__F__
G03X__Z__ I__K__ F__
G02と同じ。
G04: 一時停止
G04 X1.5;またはG04 P1500;小数点以下のP。
G07.1 (G107):円筒補間
G07.1IPr(有効);G07.1IP0(取消);
G10▲:プログラマブル・データ入力
G10 P __X__ Z__R__ Q__
G11:プログラマブルデータ入力キャンセル
G12.1 (G112):極座標命令
G13.1▲:極座標のキャンセル
G17:XY平面の選択
G18▲:XZ平面の選択
G19:YZプレーンの選択
G20:インチ入力
G21:ミリメートル入力
G22:蓄積ストローク検出を有効にする
G23:蓄積ストローク検出を無効にする
G27:基準点復帰チェック
G27 X(U) Z(W)
ツールは、G00 コマンドを使用して、プログラムで指定された X、Z 座標に戻るかどうかチェックされます。戻りが正確であれば、インジケータランプが点灯する。しかし、不一致の場合、工作機械のシステムアラームが発生します。
G28:基準点への自動復帰
G28 X(U) Z(W);XとZは復帰過程で渡された点。
G29:基準点に戻る
G29 X(U) Z(W)
基準点から中点を通り、指定されたXとZの位置まで、中点はG28で指定された点であるため、このコマンドはG28の後にしか現れない。
G30:設定値に戻る
G30 P2/P3/P4 X Z
P2、P3、P4はそれぞれ第2、第3、第4の基準点を表し、XとZは中間点である。
意味工具は中間点を通過して第2、第3、第4基準点の位置に到達する。
G31:ジャンプ機能
G32:等ピッチねじ切り
g32x(u)_z(w)_f_q_
G32 Z(W) F; (円筒ねじ)
G32 X(U) F; (端面ねじ)
G32 X(U) Z(W) F; (円錐ねじ)
注:
1.プログラミングを行う際には、カットインとカットアウトのセグメントをねじ切りプログラムに組み込む必要があります。
2.円錐ねじの加工では、角度αが45度以下の場合、ねじ山のリードをZ軸方向に指定し、角度αが45度より大きく90度以下の場合、ねじ山のリードをX軸方向に指定する。
3.Qは糸の開始角度を小数点なしで表し、単位は0.001°である。
G34:可変ピッチスレッド
G34 X(U) Z(W) F K ; (円錐ねじ)
Kは、1回転あたりのピッチのインクリメント(正の値)またはデクリメント(負の値)を表し、その他はG32と同じ。
G36:オートマチック ツール補償 X
G36 X
G37:自動工具補正Z
G37 Z
G40:チップ半径補正キャンセル
G41:工具先端半径の左オフセット
G41(G42)G01(G00)X Z F
g40 g01(g00) x z f
フロントツールホルダーの場合、外円はG42で位置番号は3、ボーリング穴はG41で位置番号は2です。下図はフロントツールホルダーのポジション番号で、リアツールホルダーではポジション番号2と3、1と4が逆になり、他は変わりません。
G42:工具先端半径の右オフセット
G50:座標系設定または最高速度制限
G50 X ZまたはG50 S
G50.3:ワーク座標系プリセット
G50.2: ポリゴン旋回キャンセル
G51:ポリゴン旋回
G52:ローカル座標系
G52 X20 Z20: XZ値は、元のワーク座標系内でのローカル座標系原点の位置を表す。
G52 X0 Z0:これはローカル座標系をキャンセルし、元の座標系原点に戻す。
G53: 工作機械座標系の選択
ワーク座標系の選択を解除し、工作機械座標系を選択する。
(G90) G53 X_ Y_ Z_: アブソリュート・コマンド(G90)では有効だが、インクリメンタル・コマンド(G91)では無効。
注:
(1) 工具径オフセット、工具長オフセット、工具位置オフセットは、G53 コマンドを割り当てる前に必ずキャンセルしてください。そうしないと、工作機械は割り当てられたオフセット値に従って移動します。
(2) G53 コマンドを実行する前に、手動または G28 コマンドを使用して、工作機械を原点に戻します。これは、G53コマンドを発行する前に、工作機械の座標系を設定する必要があるためです。
G54▲:ワーク座標系の選択 1
G54; デフォルトで電源オン。
G55-59:ワーク座標系の選択 2-6
G65:マクロプログラムの非モダル呼び出し
クラス A は FANUC 0TD システム、クラス B は FANUC 0I システムを使用します。
ローカル変数は #1~#33、共有変数は #100~#149、#500~#549、システム変数は #1000 以上。
マクロ・プログラムはM99で終わり、M98または "G65 P(プログラム番号)L(カウント) "で呼び出すことができる。
クラスAプログラムのフォーマットは以下の通り:G65 H(a)P(b)Q(c)R(d)ここで、aはHコード、bは結果変数、c,dは2つの操作変数である。
クラスBのマクロプログラム操作コマンド。
割り当て | #i=#j | フロア機能 | #i=FUP[#j]である。 |
追加 | #i=#j+#k | 自然対数 | #i=LN[#j]である。 |
減算 | #i=#j-#k | 指数関数 | #i=EXP[#j]である。 |
乗算 | #i=#j*#k | あるいは | #iOR#j |
部門 | #i=#j/#k | 排他的か | #iXOR#j |
サイン | #i=SIN[#j]である。 | そして | #iAND#j |
逆サイン | #i=ASIN【#j | BCDからBINへの変換 | #i=BIN[#j]である。 |
コサイン | #i=CON[#j]である。 | BINからBCDへの変換 | #i=BCD[#j]である。 |
逆コサイン | #i=ACON[#j]である。 | イコール | EQ |
タンジェント | #i=TAN[#j]である。 | 同等ではない | NE |
逆タンジェント | #i=ATAN[#j]/[#k] | より大きい | ジーティー |
平方根 | #i=SQRT[#j]である。 | 以上 | GE |
絶対値 | #i=ABS【#j | 未満 | LT |
丸め | #i=ROUND[#j]の略。 | 以下 | LE |
天井 | #i=FIX[#j]です。 |
制御コマンドGOTO n - 無条件ジャンプ
IF [条件式] GOTO n - 条件ジャンプ文
WHILE [条件式] DO m (m=1, 2, 3...) - ループ命令
...
m;
G66:マクロ・プログラム・モード呼び出し
G67:マクロプログラム・モード呼び出しのキャンセル
G70:内外径精密複合旋削加工 固定サイクル
プログラミング・フォーマットG70 P(ns) Q(nf)
どこでだ:
注釈
(1) G70 コマンドは単独では使用できず、G71,G72,G73 コマンドと組み合わせて精密加工の固定サイクルを完成させる必要がある。つまり、G71,G72,G73 コマンドでワークを荒加工した後、G70 コマンドで精密加工の固定サイクルを指定し、荒加工で残った取り代を取り除く。
(2) この場合、G71,G72,G73 プログラムセグメントの F,S,T 命令は無効で、ns~nf プログラムセグメントの F,S,T 命令だけが有効である。ns~nfプログラムセグメントでF,S,Tコマンドが指定されていない場合は、粗旋回サイクルのF,S,Tが有効となる。
G71:内外径精密複合旋削加工 固定サイクル
プログラミングフォーマットG71U (△d) R(e);
G71 P(ns) Q(nf) U(△u) W(△w) F S T ;
どこでだ:
(1) 被加工物の内輪郭加工に上記の指示を使用する場合、△u は負の値でなければならない。
(2) 荒加工に G71 を使用する場合、G71 プログラムセグメントに含まれる F、S、T 関数のみが有効です。ns~nfプログラムセグメントに含まれるF、S、T関数は、たとえ指定されていても荒加工サイクルには効果がありません。工具補正を実行することができ、工具先端の半径補正はG70の前にプログラムすることができ、通常は始点に近づく動作に組み込まれる。例えばG42G00X55Z2; G70P10Q20; G40G00X100Z50;
(3) この命令は、Z 座標が単調に増減し、X 座標も単調に変化する場合に適用する。Ns プログラムセグメントは X 軸に沿って進まなければならず、Z 値は現れてはならない。
G72:端面粗加工複合固定サイクル
プログラミング・フォーマットG72W (△d) R(e);
G72 P(ns) Q(nf) U(△u) W(△w) F S T ;
2. d:Z方向のバックカット量。符号なし。その他のパラメータはG71と同じ。Ns プログラムセグメントは Z 方向の送りでなければならず、X 値を含めることはできない。上記のコマンドをワークの内部輪郭加工に使用する場合、△u は負の値でなければなりません。
例図に示すように、番組表は以下の通り:
G73:輪郭複製サイクル
プログラミング形式G73 U(△i) W(△k) R (d);
G73 P(ns) Q(nf) U(△u) W(△w) F S T ;
d:荒旋削のサイクル数(層数)を表す;
△i:荒旋削時、X軸方向の総取り代(工具引抜き量)と方向、半径値。すなわち、生サイズから最小ワークサイズを引いた値を2で割った値。
△k:荒旋削時、Z軸方向の総取り代(工具引抜き量)と方向;△kは通常0。あとはG71指令と同じ。
G74:端面溝入れサイクル 掘削 サイクル
G75:ラジアル グルーヴィング サイクル
プログラミング・フォーマットG75R (e);
G75 X (U) Z(W) P(Δi) Q(Δk) R (d)F;
注:
1.最終的な深さと最終的なZ方向のオフセットは、システム自身が計算する。
2. Δi、Δkは最小プログラミング単位で、例えばP1500は切り込み1.5mmを意味する。
G76:ねじ切りコンパウンド・サイクル
G76 P(m)(r)(α)Q(△d分)R(d)
G76 X(U) Z(W) R(i) P(k) Q(△d) F(L)
G90:円筒/円錐面シングル固定サイクル
g90 x(u) z(w) r f;
Rは円錐面カットの開始点のX座標と終了点のX座標の差の半分を示す。これは負でもよく、負は正円錐、正は逆円錐を示します。Rがない場合は円筒切削となる。切削速度:G00 - G01 - G01 - G00。
G92: 糸切りサイクル
g92 x(u) z(w) f r;
R=(X始点-X終点)÷2。Rは非モーダルであり、すべての文に含まれなければならない。
G94:端面切断サイクル
コマンドフォーマットG94 X(U) Z(W) F;
テーパー端面切削指令フォーマットG94 X(U) Z(W) K F
ここで、X、Zは切断セグメント端点の絶対座標値を表す;
U、Wはサイクル開始点に対する切削セグメント終点の座標増分値を表し、Fは送り速度を表す。Kは、切削セグメントの始点と終点との間のZ座標値の差(通常は負の値)、すなわちK=Z始点-Z終点を表す。
G96:一定リニア速度実行
M3S300、初速
G50S1000; 最高速度制限1000
G96S100; スピンドル速度100m/min
…
G97▲:直線速度一定解除、速度終了。
G97 S300; 直線速度一定解除、速度300r/min
G98:毎分送り量
単位:mm/min 例G98 G01 X20 F200
G99▲:1回転あたりの送り量
単位:mm/rev 例G99 G01 X20 F0.2;
M00:すべての動作が停止する。
M01:プログラム選択停止
を押す必要がある:M00に相当する;
M02:プログラム終了
カーソルが戻らない。
M03/M04:スピンドル正転(時計回り)/逆転(反時計回り)
M03 S300;
M05:スピンドルストップ
M08/09: クーラント オン/オフ
M30:プログラム終了
カーソルが番組スタートに戻る。
M98:サブルーチン呼び出し
プログラミングフォーマットM98 PxxxxL ;
または M98 Pxxxxxxxx ;
M99:メインプログラムに戻る
これは、呼出し後のPアドレスに続く4桁がサブルーチン番号を表し、Lアドレスに続く呼出しが呼出し回数を表す。発呼回数が1の場合は省略可能で、繰り返し発呼できる回数は999回までである。Pアドレスに続く8桁は、最初の4桁が呼び出し回数、最後の4桁がサブルーチン番号を表す。呼び出し回数が1の場合は省略可能。
M99 P100;がメインプログラムN100プログラムセグメントに戻ることを表している場合、サブルーチンがM99 L2を実行すれば、メインプログラムが何回要求しても、サブルーチンは強制的に2回実行されることになる。
T××××:ツールコマンド
T0101の場合、最初の2桁は工具番号、最後の2桁は工具補正番号を表す。