本文へ移動
サポートシェアリングソリューション
OKWAVE Plus

このQ&Aは役に立ちましたか?

1人が「役に立った」と評価
締切済み
※ ChatGPTを利用し、要約された質問です(原文:GコードのG04実行後、STARTボタンが必要)

GコードのG04実行後、STARTボタンが必要

2023/10/20 14:43

このQ&Aのポイント
  • GコードのG04実行後、STARTボタンを押さないと穴あけ作業が再開されない問題が発生しています。
  • 穴あけ作業中にエンドミルが過熱して材料が溶けるため、G04コマンドを使用して2秒間の冷却時間を設けたいと考えましたが、11個目の穴あけ座標への移動で止まってしまいます。
  • G04コマンドを除去すれば問題はなく、STARTボタンを押すと再開されますが、G04の機能通りに動作させる方法がわかりません。
※ 以下は、質問の原文です

GコードのG04実行後、STARTボタンが必要

2020/08/31 14:23

NC加工でMACH3を使っています。

連続して穴あけをするようGコードを組みました。
エンドミルが過熱して材料が溶けるため、10個穴あけ毎にG04を挿入して2秒間冷却したいと考え、G04P2000を挿入しました。

しかし、11個目の穴あけ座標へ移動のところで止まってしまいます。
プログラムとレースではG04P2000は実行済です。
G04コマンドはPおよびXも試しましたが同じ現象

STARTボタンを押すと11個目の穴あけ座標へ移動から再開します。

21、31、41、、、と各G04P2000の次の行で止まります。
G04を除去すれば材料が溶ける以外問題なし。

G04の後にM08S8000 ( Coolant & Spindle ON *** )を入れると
11個目のサブルーチン内のG01Zで止まります。

G90G00X10.842Y3.523 ( *** 10 / 180 *** )
M98 P1 L1 ( Tool-size Hole )
G04P2000
G90G00X10.712Y3.899 ( *** 11 / 180 *** )
M98 P1 L1 ( Tool-size Hole )
G90G00X10.570Y4.271 ( *** 12 / 180 *** )
M98 P1 L1 ( Tool-size Hole )

O1 ( --- Tool-Sized Hole SubRoutine START --- )
G91 ( Incremental Axis )
G01Z-3.500F300 ( Cut Position )
G00Z3.500 ( Move Position )
M99 ( <<< Tool-Sized Hole SubRoutine END >>> )

いちいちSTARTボタンを押さないといけなく、G04の機能通りの動作が欲しいのです。
G04 再開しない で検索しましたが、有効な情報がありません。
G04を使ったサンプルは私のプログラムと同じコマンド構成です。

Mコマンドに使えそうなコマンドもなく、困っています。

回答 (2件中 1~2件目)

2020/09/08 21:36
回答No.2

内容理解しました。

ヤフーで、mach3 G04で検索してみたところ、
気になる点が。

全く関係無いかも知れませんが、
せっかくなので一応。

G04 P15 で、15秒という記述がありました。

まさか、スタートボタンを押すと再スタートではなくて、まだ停止中を解除して、再スタートしているとかってオチなら良いのですが。

https://www.mkbtm.jp/?p=1648
このサイトを読みました。

お礼

2020/09/09 17:53

ありがとうございます。
G04P15ならば15msですね。
15秒ならP15000です。

mach3は海外ソフトでGコードの教本(ネットですが)は日本で書かれていたもの。
mach3にはP、Xは使用不可?という前提で検索結果を海外に限定すると
海外サイトではG04のパラメータはFxxだけが書かれており、即、試しましたが、タイマー値が設定されていないというエラー(もちろん英語で)で起動すらしません。

ちなみにG04P2000 & G04X2.0は起動開始して、G04コマンド検知してステータスエリアにはエラーは出ず、STARTボタンの対応を待つだけ。
英語で言えば Intervention Required 若しくは Ready Drop 状態

STARTボタンで停止前の状態から再稼働

Gコードは、CADや入力から読んだデータを私の作ったアルゴリズムでGコード化しています。
そのため、Gコードの動作原理を理解した上で最適化したコードを作ることを目指しています。
そのため、Gコードがあるべき姿で動作してくれない場合、原因を追究/解明する必要があるのです。

質問者

補足

2020/09/09 19:00

G04 コマンドの詳細は以下
https://nc-program.s-projects.net/g-code.html

上記サイトの記載内容は以下
G04
設定した時間だけプログラムを休止させるドウェルです。"G04P_"または"G04X_"の形で記述され、"P"では単位はミリ秒となり、"G04P1000"とした場合、1000ミリ秒、つまり1秒間の休止になります。"X"では単位は秒となり、"G04X1."では1秒間の休止になります。ただし、小数点を付けずに"G04X1"とした場合の単位はミリ秒となります。※最近の設備では、P で指令しても X で指令しても違いはないです。

しかし、G04P2 として設定したところ、2秒程度ポーズして再開しました。

上記のような詳細な解説のため、P=ms設定に不審を抱かなかったこと、2msでは動作テストにならないと、大きな数値を設定して待ちきれなかったのが敗因でした。

質問者

このQ&Aは役に立ちましたか?

この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。

質問する
2020/09/08 10:53
回答No.1

G90G00X10.842Y3.523 ( *** 10 / 180 *** )
M98 P1 L1 ( Tool-size Hole )
***G01X11.0Y4.0F100***(←適当です。)
G90G00X10.712Y3.899 ( *** 11 / 180 *** )
M98 P1 L1 ( Tool-size Hole )

単純に工具を冷やしたい時間を稼ぐだけなら、
G04P2000の代わりに、G01とかで適当な位置(2秒くらい動作する位置)に
移動して時間を稼いでから次の加工に行ったらどうでしょうか?

お礼

2020/09/08 17:51

ありがとうございます。
ご指摘の遠足の件は一番先に考えました。
加工時間を短くするため移動速度は脱調しない程度に高速化しており、モーターは過熱していますので、スピンドル以外のモーター休めも含め、一番負担のないやり方がG04です。

上記理由から遠足方式は使いたくありません。
また、遠足なしで遅い動きで対応すればモーターの負担も下げられます。

O1Oの代用で10xN回目ではO2サブルーチンを使い、無駄な動きなしにZ軸移動時Fxxxパラメータで遅くする方式の方が良いですが、G04を使う方がスマート(お利口)です。
O2 ( --- Tool-Sized Hole Low Speed SubRoutine START --- )
G91 ( Incremental Axis )
G01Z-3.500F300 ( Cut Position )
G00Z2.000 ( Move with HIGH Speed)
G01Z1.500F20 ( Move with LOW Speed )
M99 ( <<< Tool-Sized Hole SubRoutine END >>> )
(プラスティック接触位置では高速移動させる)

何故、MACH3がG04でポーズでなく、停止してしまうのかを解決したいのです。

質問者

お礼をおくりました

さらに、この回答をベストアンサーに選びますか?

ベストアンサーを選ぶと質問が締切られます。
なおベストアンサーを選びなおすことはできません。