工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

Gコードの説明|最も重要なGコードコマンドのリスト

あなたの仕事や趣味がCNCマシンや3Dプリンターと関連している場合、Gコードとは何か、そしてそれがどのように機能するかを理解することはあなたにとって不可欠です。したがって、このチュートリアルでは、Gコード言語の基本、最も重要または一般的なGコードコマンドを学習し、それらがどのように機能するかを説明します。

Gコードとは何ですか?

Gコード CNC(Computer Numerical Control)マシン用のプログラミング言語です。 Gコードは「GeometricCode」の略です。この言語を使用して、マシンに何をすべきか、またはどのように何かを行うかを指示します。 Gコードコマンドは、どこに移動するか、どのくらいの速さで移動するか、どのパスをたどるかをマシンに指示します。

旋盤やミルなどの工作機械の場合、切削工具はこれらのコマンドによって駆動され、特定の工具経路をたどり、目的の形状を得るために材料を切り取ります。

同様に、積層造形または3Dプリンターの場合、Gコードコマンドは、正確な幾何学的形状を形成するために、材料を層ごとに堆積するようにマシンに指示します。

Gコードコマンドの読み方

一見すると、Gコードファイルを見るとかなり複雑に見えるかもしれませんが、実際にはそれほど難しくはありません。

コードを詳しく見ると、ほとんどの行が同じ構造になっていることがわかります。 Gコードの「複雑な」部分は、私たちが目にするすべての数値であり、デカルト座標にすぎないようです。

1行を見て、それがどのように機能するかを説明しましょう。

G01 X247.951560 Y11.817060 Z-1.000000 F400.000000

この行の構造は次のとおりです。

G ## X ## Y ## Z ## F ##

  • 最初はGコードコマンドです この場合、それは G01 これは、「特定の位置に直線で移動する」ことを意味します。
  • Xで位置または座標を宣言します 、 Y およびZ 値。
  • 最後に、 Fを使用します 送り速度を設定した値 、または移動が実行される速度。

まとめると、線G01 X247.951560 Y11.817060 Z-1.000000 F400は、CNCマシンに、現在の位置から座標X247.951560、Y11.817060、およびZ-1.000000に400mmの速度で直線的に移動するように指示します。 /分。単位はmm/minです。これは、Gコードの例の画像を振り返ると、単位をミリメートルに設定するコマンドG21を使用したことがわかるためです。インチ単位の単位が必要な場合は、代わりにG20コマンドを使用します。

最も重要/一般的なGコードコマンド

したがって、Gコードの行を読み取る方法がわかったので、最も重要な、または一般的に使用されるGコードコマンドを見てみましょう。それぞれがどのように機能するかをいくつかの例で学び、このチュートリアルの終わりまでに、Gコードのしくみ、読み取り方法、変更方法、さらには独自のGコードの記述方法を完全に理解できるようになります。

G00 –ラピッドポジショニング

G00 コマンドは、最大移動速度で現在の位置から指定されたポイントまたはコマンドで指定された座標に機械を移動します。機械はすべての軸を同時に動かすので、それらは同時に移動を完了します。これにより、新しい位置ポイントに直線的に移動します。

G00は非切削ムーブメントであり、その目的は、機械を目的の位置にすばやく移動して、切削や印刷などのある種の作業を開始することです。

G01 –線形補間

G01 Gコードコマンドは、設定された送り速度または速度で直線的に移動するように機械に指示します。 Xで終了位置を指定します 、 Y およびZ 値、および Fでの速度 価値。マシンコントローラは、その直線を取得するために通過する中間点を計算(補間)します。これらのGコードコマンドはシンプルで非常に直感的に理解できますが、その背後で、マシンコントローラーはこれらの動きを行うために毎秒数千の計算を実行します。

位置決めのためだけに使用されるG00コマンドとは異なり、G01コマンドはマシンがメインジョブを実行しているときに使用されます。旋盤やフライスの場合は、材料を直線で切断し、3Dプリンターの場合は、材料を直線で押し出します。

G02 –時計回りの循環補間

G02 コマンドは、円形パターンで時計回りに移動するようにマシンに指示します。これはG01コマンドと同じ概念であり、適切な機械加工プロセスを実行するときに使用されます。終点パラメータに加えて、ここでは回転の中心、つまり円弧の中心点から円弧の始点までの距離も定義する必要があります。始点は、実際には前のコマンドまたは現在の点からの終点です。

理解を深めるために、前の例のG01コマンドの後にG02コマンドを追加します。

したがって、最初の例では、マシンをX5、Y12ポイントに移動するG01コマンドがあります。これがG02コマンドの開始点になります。 G02コマンドのXおよびYパラメータを使用して、終点を設定します。ここで、円運動または円弧を使用してこの終点に到達するには、その中心点を定義する必要があります。これは、IパラメーターとJパラメーターを使用して行います。 IとJの値は、前のコマンドの開始点または終了点を基準にしています。したがって、中心点をX5とY7に合わせるには、 0のオフセットを作成する必要があります。 X軸に沿って、 -5のオフセット Y軸に沿って。

もちろん、中心点は他の場所に設定できるため、同じ終点で終わる別の円弧が得られます。その例を次に示します。

したがって、ここでは前の例と同じ終点(X10、Y7)がありますが、中心点は異なる位置(X0、Y2)にあります。これにより、前のものと比較してより広い弧が得られました。

参照:ArduinoでGRBLをセットアップしてCNCマシンを制御する方法

G00、G01、G02の例–手動Gコードプログラミング

これらの3つの主要なGコードコマンド、G00、G01、G02を使用した簡単なCNCフライス盤の例を見てみましょう。

上の画像に示されている形状のツールパスを取得するには、Gコードコマンドに従う必要があります。

G00 X5 Y5                ; point B
G01 X0 Y20 F200          ; point C
G01 X20 Y0               ; point D
G02 X10 Y-10 I0 J-10     ; point E
G02 X-4 Y-8 I-10 J0      ; point F
G01 X-26 Y-2             ; point BCode language: Arduino (arduino)

最初のG00 コマンドを実行すると、マシンをホームまたは初期位置からポイントB(5,5)にすばやく移動します。ここから、 G01を使用して200の送り速度で「切断」することから始めます。 指図。ここで、ポイントB(5,5)からポイントC(5,25)に到達するために、開始Bポイントを基準にしたXとYの値を使用することに注意してください。したがって、Y方向に+20ユニットを指定すると、ポイントC(5,25)に到達します。実際、これは、座標を絶対または相対として解釈するマシンを選択したかどうかによって異なります。これについては後のセクションで説明します。

ポイントC(5,25)に到達すると、ポイントD(25,25)に到達するための別のG01コマンドがあります。次に、円運動であるG02コマンドを使用して、中心点(25,15)を持つ点E(35,15)に到達します。実際には、次のG02コマンドに同じ中心点(25,15)があり、点F(31,7)に到達します。ただし、最後の終点または点Eから中心をオフセットしているため、IパラメータとJパラメータは前のコマンドとは異なることに注意してください。ツールパスは、点F(31、 7)ポイントB(5,5)に戻ります。

これが、この形状を作成するためのGコードを手動でプログラムする方法です。ただし、基本的なコマンドがいくつか欠落しているため、これは完全なGコードではないことに注意する必要があります。これらのGコードコマンドを最初に説明する必要があるため、後の例で完全なGコードを作成します。

G03 –反時計回りの循環補間

G02と同じように、 G03 Gコードコマンドは、円形パターンで移動するマシンを定義します。ここでの唯一の違いは、動きが反時計回りであるということです。他のすべての機能とルールはG02コマンドと同じです。

したがって、これらの3つの主要なGコードコマンドを使用すると、 G01 G02 およびG03 文字通り、任意の形状のツールパスを生成できます。どうすればそれが可能か疑問に思われるかもしれませんが、それは実際にはコンピューターとCAMソフトウェアにとって簡単な作業です。はい、Gコードプログラムを手動で作成できることもありますが、ほとんどの場合、はるかに簡単で安全な適切なソフトウェアを使用して作成します。

それでも、ここで、より重要で一般的に使用されるコマンドをいくつか説明し、最後に実際のGコードの例を作成します。

G20 / G21 –ユニットの選択

G20およびG21コマンドは、インチまたはミリメータのいずれかのGコード単位を定義します。

  • G20=インチ
  • G21=ミリマイター

単位はプログラムの最初に設定する必要があることに注意する必要があります。単位を指定しない場合、マシンは前のプログラムで設定されたデフォルトを考慮します。

G17 / G18 / G18 –Gコード平面の選択

これらのGコードコマンドを使用して、マシンの作業平面を選択します。

  • G17 –XY平面
  • G18 –XZ平面
  • G19 –YZ平面

G17はほとんどのCNCマシンのデフォルトですが、他の2つは特定の動きを実現するためにも使用できます。

G28 –帰宅

G28 コマンドは、ツールを基準点またはホームポジションに移動するようにマシンに指示します。衝突を回避するために、X、Y、およびZパラメーターを持つ中間点を含めることができます。ツールは、参照ポイントに移動する前にそのポイントを通過します。 G28 X## Y## Z## 

ホームポジションは、コマンド G28.1 X## Y## Z##で定義できます。

G90 / G91 –Gコードコマンドの配置

G90およびG91コマンドを使用して、座標の解釈方法をマシンに指示します。 G90 絶対モード用です およびG91 相対モード用です 。

アブソリュートモードでは、ツールの位置決めは常に絶対点またはゼロからです。したがって、コマンド G01 X10 Y5 前の位置に関係なく、ツールをその正確なポイント(10,5)に移動します。

一方、相対モードでは、ツールの位置は最後のポイントを基準にしています。したがって、マシンが現在ポイント(10,10)にある場合、コマンド G01 X10 Y5 ツールをポイント(20,15)に移動します。このモードは「インクリメンタルモード」とも呼ばれます。

その他のコマンドとルール

したがって、上記で説明したGコードコマンドが最も一般的なコマンドですが、さらに多くのコマンドがあります。カッター補正、スケーリング、作業座標系、ドエルなどのコマンドがあります。

Gコードに加えて、本格的なGコードプログラムを生成するときに使用されるMコードコマンドもあります。一般的なMコードコマンドは次のとおりです。

  • M00 –プログラムの停止
  • M02 –プログラムの終了
  • M03 –スピンドルオン–時計回り
  • M04 –スピンドルオン–反時計回り
  • M05 –スピンドルストップ
  • M06 –ツールの変更
  • M08 –フラッドコラントオン
  • M09 –フラッドコラントオフ
  • M30 –プログラムの終了

3Dプリンターの場合:

  • M104 –押出機の加熱を開始します
  • M109 –押出機がT0に達するまで待ちます
  • M140 –ベッドの加熱を開始します
  • M190 –ベッドがT0に達するまで待ちます
  • M106 –ファン速度を設定します

これらのコマンドの一部には、適切なパラメーターが必要です。たとえば、M03で主軸をオンにする場合、Sパラメータを使用して主軸速度を設定できます。したがって、 M30 S1000という行 1000RPMの速度でスピンドルをオンにします。

また、多くのコードがモーダルであることに注意してください。 、つまり、キャンセルされるか、別のコードに置き換えられるまで有効です。たとえば、直線的な切削動作のコードがあるとします G01 X5 Y7 F200 。次の動きが再び線形切断である場合は、前面にG01と書くことなく、X座標とY座標を入力するだけです。

G01 X5 Y7 F200
X10 Y15
X12 Y20
G02 X5 Y5 I0 J-5
X3 Y6 I-2 J0Code language: Arduino (arduino)

同じことが送り速度パラメータFにも当てはまります。値を変更する場合を除いて、すべての行に含める必要はありません。

一部のGコードファイルには、「 N ##」も表示されます。 コマンドの前にある」。 Nワードは、コードの行またはブロックに番号を付けるのは簡単です。これは、巨大なプログラムでエラーが発生した場合に特定の行を識別するのに役立ちます。

単純なGコードプログラムの例

それでも、これをすべて読んだ後、実際の実際のコードを手動で作成できるようになりました。次に例を示します:

%
G21 G17 G90 F100
M03 S1000
G00 X5 Y5                 ; point B
G01 X5 Y5 Z-1             ; point B
G01 X5 Y15 Z-1            ; point C
G02 X9 Y19 Z-1 I4 J0      ; point D
G01 X23 Y19 Z-1           ; point E
G01 X32 Y5 Z-1            ; point F
G01 X21 Y5 Z-1            ; point G
G01 X21 Y8 Z-1            ; point H
G03 X19 Y10 Z-1 I-2 J0    ; point I
G01 X13 Y10 Z-1           ; point J
G03 X11 Y8 Z-1 I0 J-2     ; point K
G01 X11 Y5 Z-1            ; point L
G01 X5 Y5 Z-1             ; point B
G01 X5 Y5 Z0
G28  X0 Y0
M05
M30
%Code language: Arduino (arduino)

Gコードプログラムの説明:

  1. コードの初期化。この文字(%)は、プログラムの最初と最後に常に存在します。
  2. 安全ライン:メートル法(すべての寸法はmm)、XY平面、絶対位置、100インチ/分の送り速度でプログラミングを設定します。
  3. 1000RPMの速度で時計回りに回転します。
  4. B(5,5)への迅速なポジショニング。
  5. 同じ位置でモーションを制御しますが、ツールを-1に下げます。
  6. 位置C(5,15)への線形切断動作。
  7. 点D(9,19)までの時計回りの円運動、中心点は(9,15)。
  8. ポイントE(23,19)への線形切断。
  9. ポイントF(32,5)への線形切断。
  10. ポイントG(21,5)への同じストレートカット。
  11. ポイントH(21,8)へのもう1つの直線切断。
  12. 位置I(19,10)への反時計回りの円弧補間。中心点は(19,8)です。
  13. ポイントJ(13,10)への線形切断。
  14. K(11,8)の位置まで反時計回りに円形に切断し、中心点を(13,8)にします。
  15. 位置L(11,5)への線形切断。
  16. 位置B(5,5)への最終的な線形切断動作。
  17. ツールを持ち上げます。
  18. ホームポジションに移動します。
  19. スピンドルをオフにします。
  20. メインプログラムの終了。

このコードがUniversalG-codeSenderソフトウェアを介してCNCマシンに送信される準備ができているように見える方法は次のとおりです。

そのため、上記で説明したこれらの主要なGコードコマンドを使用して、独自の本格的なGコードを作成することができました。もちろん、この例は非常に単純であり、より複雑な形状の場合は、CAMソフトウェアを使用する必要があります。馬の形の複雑なGコードの例を次に示します。

比較のために、このコードには約700行ありますが、すべてが自動的に生成されます。 Gコードは、DIYArduinoCNCフォームカッティングマシンの例としてInkscapeを使用して作成されました。形がどのように出てきたかは次のとおりです。

このマシンの詳細については、私の特定のチュートリアルを確認できます。

結論

そこで、Gコードの基本を説明し、最も重要で一般的なGコードコマンドについて説明し、実際のGコードを手動で作成しました。結局のところ、Gコードを理解することはそれほど難しいことではないと思います。もちろん、CNC機械加工や3D印刷で使用されるコマンドや機能は他にもたくさんあるので、知っておく必要がありますが、それについては他のチュートリアルで詳しく説明しています。

この記事が役に立った場合は、他のCNCおよび3D印刷愛好家と共有してください。また、下のコメントセクションでお気軽に質問してください。


製造プロセス

  1. 重要な定数
  2. 塗料用顔料の最も重要な特性
  3. RFトランスの説明
  4. グレインジャーは、フォーチュンの最も賞賛される企業のリストでスポットを獲得しています
  5. 機械工場を雇う前のトップ6の最も重要な考慮事項
  6. マシンプログラミング言語:GコードコマンドとMコード
  7. 最も重要なクレーンの安全に関する5つのヒント
  8. あなたの最も重要な工場の位置のための募集の4つの秘密
  9. なぜ製造のための設計が重要なのか?
  10. 部品表 (BOM) に含まれる 7 つの最も重要なこと
  11. ファナック G コード リスト