Skip to main content
CNC.wikiCNC.wiki

G04 ドウェル指令の完全ガイド|Fanuc・Siemens・Mitsubishiのパラメータ設定

Fanuc、Siemens、Mitsubishi CNCにおけるG04ドウェル(一時停止)指令の完全解説。パラメータ3405や#8130の設定ミスによる位置決めのばらつきや、アラームPS0041、12120などの発生原因と具体的な回避策を解説します。量産時の繰り返し精度と信頼性を確保するための決定版。

Hakan Gündoğdu
Hakan Gündoğdu

CNC CARE 共同創業者

はじめに

量産プログラミングにおいて、G05同期送り(回転送り)モードのままスピンドルがM05で停止しているにもかかわらず、パラメータ#8130(Mitsubishi)またはパラメータ3405(Fanuc)が有効な状態で回転数基準のG04一時停止(ドウェル)指令を実行すると、CNC制御装置はスピンドルエンコーダからの回転信号を受け取れず、無限に待機し続ける「非計画停止」が発生します。オペレータが異常に気づいて手動リセットを行うまで自動運転は完全にストップし、生産ライン全体のタクトタイムは致命的な影響を受けます。また、Fanucシステムにおいてパラメータ1020 bit 7 (DWT) の設定が未検証のまま量産に入ると、秒単位のつもりで指令したP1000(1秒)がわずか1ミリ秒(0.001秒)と解釈され、切削圧力が十分に逃げきる前に工具軸が移動を開始してしまいます。このフライング動作により、仕上がったばかりのワーク端面に工具が引きずりマークを刻み込み、再現性の低下やロット内での深刻な不良品発生を引き起こします。G04コマンドは軸移動を単に停止させるだけの単純なコードに見えますが、パラメータの不整合やモードの不一致は、ダイレクトに金型や機械治具、チャックの破損、および最終検査で初めて発覚する「2ロット目からの寸法ばらつき」といった重大な生産リスクに直結します。

技術概要

技術仕様項目値 / 詳細
コマンドコードG04 / G4
モーダルグループGroup 00 (Non-modal)
対応ブランドFanuc, Siemens, Mitsubishi
重要パラメータParameter 3405 DWL (Fanuc), MD20734 bit 2 (Siemens), Parameter #8130 (Mitsubishi)
主要プログラミング制約continuous-path mode の smoothing を中断します。Siemens では単独のブロックでプログラミングする必要があります。Fanuc では cutter compensation 有効時にアラーム PS0041 をトリガーする可能性があります。

クイックリード

  • 送りモードの検証: 各ブランドのパラメータによってドウェル単位が秒から spindle 回転数に動的に切り替わることがあるため、feed per minute (G94) または feed per revolution (G95) のどちらが有効になっているかを常に確認してください。
  • 減速マークの回避: 工具が完全に停止してツールマーク(目印)が残るのを防ぐため、滑らかな曲面加工パス中(Siemens では G64/G641)に G04 を挿入しないでください。
  • アドレスの正確なフォーマット: 数値のスケーリングや整数解釈の誤りを避けるため、時間基準のアドレス(X や U など)には明示的な小数点を入力してください。
  • 単独ブロックでの実行確保: Siemens 制御装置で即座に発生する G-code ブロックエラー(Alarm 12120)を回避するため、G04 は NC ブロックに単独で記述してください。
  • 工具補正 of 制限: path-blending の計算エラー(アラーム PS0041)を防ぐため、cutter compensation (G41/G42) の有効中に G04 などの移動を伴わないブロックを連続してプログラミングしないでください。
  • 主軸状態の確認: プログラムが無限に待機する現象を防ぐため、G95 モード下で回転数基準のドウェルを実行する前に、spindle がアクティブに回転していることを確認してください。

基本概念

G04 コマンドの主な実用上のプログラミング効果は、指定された時間または計算された spindle 回転数の間、すべての物理的な軸の interpolation を意図的に一時停止させることです。CNC プログラマーは、この工具移動の一時的な停止を利用して、切りくずの排出、spindle が指令回転速度に達するまでの時間確保、または外部の機械的な動作の完了を待ちます。spindle が回転し続けている間に工具軸を強制的に静止させることで、後続の切削が安定した制御された状態から開始されるようになります。

しかし、G04 はグループ 00 に属する non-modal なコマンドであるため、それが記述された特定のブロックでのみ有効です。ドウェル時間が経過すると、制御装置は即座に後続のブロックで通常の軸の interpolation を再開します。静止待機状態からアクティブな feedrate への移行には、特に一瞬のフライング動作がワークの欠陥や重大な工具摩耗につながるような重要な箇所の加工において、慎重な同期が必要です。

コマンド構造

ドウェルコマンドを実行するには、G04 コードの後に一時停止時間または spindle 回転数を指定する特定のアドレス文字を記述します。プログラマーは、有効な制御システムと必要な測定単位に応じて、通常は P、X、U、F、または S から正しいアドレス文字を選択する必要があります。これらのアドレスの数学的解釈はシステムレベルのパラメータ設定に大きく依存しており、整数入力を小数点以下の複数の桁でスケールしたり、小数点がそもそも許容されるかどうかを決定したりします。

さらに、G04 コマンドの動作は、時間基準のモードでプログラミングされているか、spindle 回転数基準のモードでプログラミングされているかによって異なります。時間基準のモードでは、軸は正確な秒数またはミリ秒数だけ一時停止します。これはハードウェアの状態を落ち着かせるのに最適です。回転数基準のモードでは、軸の一時停止は spindle のエンコーダに直接同期します。つまり、spindle が指定された回数だけ回転した後にのみドウェルが終了するため、均一な切削や切りくずの分断(チップブレイク)に不可欠です。

; Fanuc Syntax
G04 P_ ;
G04 X_ ;
G04 U_ ;
G04 X(U, P)_ Q_ ;

; Siemens Syntax G4 F_ ; G4 S_ ; G4 S<n>=_ ; G04 X_ ; G04 P_ ;

; Mitsubishi Syntax G94 G04 X_ ; G94 G04 P_ ; G94 G04 U_ ; G95 G04 X_ D_ ;

ブランドパラメータ機能説明有効範囲 / ビット
FanucParameter 3405 bit 1 (DWL)ドウェル実行の設定: 0 = 常に秒単位、1 = G94 モードでは秒単位、G95 モードでは spindle 回転数単位。0 または 1
FanucParameter 1020 bit 7 (DWT)P アドレスの最小設定単位を決定: 0 = アクティブな設定単位(例:IS-B では 1 ms)、1 = アクティブな設定単位に関わらず単位を 1 ms にロック。0 または 1
FanucParameter 8002 bit 1 (DWE)最小単位が IS-C の場合の PMC 軸制御におけるドウェル指令可能最小時間を指定: 0 = 1 ms、1 = 0.1 ms。0 または 1
SiemensMD20734 $MC_EXTERN_FUNCTION_MASK bit 2ISO Dialect モードでの設定: 0 = 常に秒/ミリ秒単位、1 = G94/G98 では秒単位、G95/G99 では spindle 回転数単位。0 または 1
SiemensMD11411 $MN_ENABLE_ALARM_MASK bit 7stop delay area の警告 Alarms 16954 および 16957 を有効にします。0 または 1
SiemensMD11550 $MN_STOP_MODE_MASKシステムレベルの stop delay area 境界を定義します。システム依存
MitsubishiParameter #8112 DECIMAL PNT-PP アドレス内での小数点が有効かどうかを決定: 0 = 小数点を無視、1 = 小数点を有効化。0 または 1
MitsubishiParameter #19014 G04 P factor(小数点なしの)P アドレス整数の大きさを倍率 10<sup>n</sup> でスケーリングします。-3 ~ 3
MitsubishiParameter #1173 dwlskpドウェルを即座に中止するための PLC インターフェースのスキップ入力信号の組み合わせ(Skip 1 ~ Skip 3)を定義します。0 ~ 7
MitsubishiParameter #8130 Dwell in rev.同期送り(G95)モードでのドウェルタイプを設定: 0 = 時間基準(秒単位)、1 = spindle 回転数単位。0 または 1

ブランド別応用

Fanuc

Fanuc の制御エコシステムにおいて、G04 serves as a precise non-modal tool to suspend axis interpolation. プログラマーは、P アドレスが厳密なミリ秒値として動作するかどうか、また G05 モードなどで G04 が G95 モード時に spindle 回転数単位に切り替わるかどうかを管理するため、Parameter 1020 bit 7 (DWT) および Parameter 3405 bit 1 (DWL) を設定する必要があります。

標準の G-code 構文では、G04 P_G04 X_、または旋盤仕様の G04 U_ をサポートしています。multi-stage skip オプションが有効な場合、構文は G04 X_ Q_ または G04 P_ Q_ に拡張され、外部の PLC 信号によってドウェルを即座に中断することが可能になります。

  • パラメータ: Parameter 1020 bit 7 は P を 1 ms にロックします。Parameter 3405 bit 1 は G95 送り時の回転数基準のドウェルを有効にします。Parameter 8002 bit 1 は PMC 軸制御下でのプログラム可能な最小時間単位を制御します。
  • アラーム: アラーム PS0041 は、cutter compensation (G41/G42) の有効中に移動のないブロックが複数連続した際にトリガーされます。アラーム PS0370 は、プログラミングされた Q アドレスが 1 ~ 4(または 1 ~ 8)の範囲外の時にトリガーされます。アラーム PS0373 は、複数の系統で同じ high-speed skip 信号が重複して選択された場合にトリガーされます。
  • バージョン別差異: 旋盤仕様(Tシリーズ)はドウェル用のインクリメンタルな U アドレスをネイティブにサポートしていますが、マシニングセンタ(Mシリーズ)の制御では基本的に X と P に制限されています。high-speed continuous skip オプションは、標準 of Q1 ~ Q4 の制限と比較して、Q アドレスの指定範囲を Q1 ~ Q8 に拡張します。

警告: cutter compensation が有効なときに、連続するドウェルブロックや補助コマンドを一列に並べると、パスの look-ahead ベクトルの計算が混乱し、即座に工具干渉アラーム PS0041 が発生します。

Siemens

ネイティブの Siemens 制御では、G4 構文を使用してドウェルコマンドを実装しており、このコマンドは厳密に単独の NC ブロック内に配置される必要があります。プログラマーは、アクティブな G94/G95 送りモードに基づいて、G4 コマンドが秒単位から spindle 回転数単位に動的に切り替わるかどうかを決定するために、マシンデータ MD20734 bit 2 を使用します。

ネイティブの Sinumerik モードでは、G4 は秒単位の時間を示す G4 F_ と回転数を示す G4 S_ を受け入れます。さらに、ユニークな G4 S<n>=_ 構文を使用すると、特定の第2 spindle の回転数にドウェルを同期させることができ、G291 ISO Dialect モードでは構文が G04 X_ または G04 P_ に変換されます。

  • パラメータ: MD20734 bit 2 は、ISO モードにおいて feedrate に依存するドウェル単位を有効にします。MD11411 bit 7 は、stop delay area の警告アラームをオンにします。MD11550 は、物理的な stop delay area の境界を定義します。
  • アラーム: アラーム 12120 は、補助 M-code や G機能が G4 と同じブロックにプログラミングされた場合にトリガーされます。アラーム 16954 または 16957 は、オペレータが stop delay area の内部で override を 0 にして手動停止を試みた場合に発生します。機械的状態のタイムアウトは、クランプに関連するアラーム 700011、700013、または 700022 を生成します。
  • バージョン別差異: ネイティブの Siemens モード(G290)と ISO Dialect モード(G291)の間を切り替えると、G4 のアドレスが F/S から X/P に変更されます。ネイティブモードでは特定の spindle 回転数がインラインで指定されますが、ISO モードではパラメータベースの feedrate 追従を使用します。

警告: 冷却油(クーラント)コードや補助 M機能などを G4 ドウェルコマンドと同じブロックに記述しないでください。Sinumerik のパーサーが即座に実行を停止し、ブロック構文アラーム 12120 を発生させます。

Mitsubishi

Mitsubishi システムは、軸の一時停止と PLC ハードウェア状態を緊密に統合する堅牢な G04 待機ロジックを提供します。プログラマーは、G95 においてドウェルが spindle 回転数に追従するかどうかを parameter #8130 で設定し、小数点を有効にするために parameter #8112 を設定します。

構文上、Mitsubishi は G04 X_G04 P_、および旋盤仕様の G04 U_ フォーマットをサポートしています。回転数基準の一時停止では、G04 X_ D_ のように D アドレスを追加することで、ドウェルを指定された spindle エンコーダにリンクさせることができます。

  • パラメータ: Parameter #8130 は G95 における回転数基準のドウェルを有効にします。Parameter #8112 は P アドレスにおける小数点入力を有効化します。Parameter #19014 は小数点なしの P 値をスケーリングします。Parameter #1173 はドウェルを PLC スキップ入力にリンクします。
  • アラーム: アラーム P45 は、G28 や G53 のような互換性のない G-code の組み合わせによってトリガーされます。アラーム P34 は、高速高精度制御モード(G05 P10000 または G05 P20000)がアクティブなときに G04 が実行された場合にトリガーされます。
  • バージョン別差異: 旋盤仕様(Lシリーズ)システムは U アドレスをサポートしていますが、マシニングセンタ(Mシリーズ)システムは時間および回転数の指令を X と P に制限しています。Multiple-Spindle Control II 構成では D アドレスによる指定が無効になり、代わりに PLC からのエンコーダ選択信号に従って動的に追従します。

警告: spindle が停止している状態(M05)で、G95 モードの下で回転数基準の G04 ドウェルをプログラミングすると、CNC システムは無限に待機し、手動介入が実行されるまで機械が完全にロックアップします。

ブランド比較

比較項目FanucSiemensMitsubishi
ドウェル単位の実行動作デフォルトは秒単位。Parameter 3405 bit 1 (DWL) が 1 の場合、G95 モード時に spindle 回転数単位。ネイティブでは秒単位(G4 F...)または spindle 回転数単位(G4 S...)。ISO Dialect モードでは MD20734 bit 2 を介して G94/G95 に適応。デフォルトは秒単位。Parameter #8130 が 1 の場合、G95 モード時に spindle 回転数単位。
アドレスフォーマットP(整数/ミリ秒、Parameter 1020 依存)、X(秒/小数点可)、U(旋盤専用インクリメンタル表示)。F(秒)、S(メイン spindle 回転数)、S<n>=(特定 spindle 指定)、または X / P(ISO モード時)。X(秒/小数点可)、P(整数/倍率によるスケーリング有)、U(旋盤専用インクリメンタル表示)、および D(spindle 選択)。
ドウェルの中止 / スキップG04 ブロック内の multi-stage skip Q アドレスにより、即座にドウェルを中断。— (no source)Parameter #1173 (dwlskp) を介し、PLC 入力信号によって直接スキップを構成。
第2主軸ドウェル— (no source)インライン構文 G4 S<n>=... により、特定の第2 spindle の回転数に基づくドウェルが可能。マルチスピンドル回転ドウェルとして、G95 モード下で G04 と並行して spindle 識別子 D を指定。
タイミング倍率 / スケーリングParameter 1020 bit 7 (DWT) により 1 ms にロック、または設定単位系に依存。— (no source)Parameter #19014 により、小数点のない整数 P を 10<sup>-3</sup> から 10<sup>3</sup> の倍率でスケーリング。
単独ブロック制約cutter compensation 有効時: G04 が連続するとアラーム PS0041 が発生。ブロック単独でプログラミングが必須。他の NC 要素(同期アクション / M機能)を同ブロックに書くと Alarm 12120 が発生。数値は G04 の後に配置。G28/G53 との組み合わせは P45 を誘発。G05 モード中はドウェル不可(P34 をトリガー)。

技術解析

これらの制御システムを深く技術解析すると、ドウェルコマンドが機械のハードウェアや PLC とどのように統合されているかについて、極めて対照的な設計思想が明らかになります。Fanuc システムは、細分化されたパラメータレベルの設定を重視しており、P アドレスのスケーリング方法をプログラマーが明示的に制御できるようにしています。DWT パラメータ(1020 bit 7)をアクティブな最小設定単位(IS-B または IS-C)にリンクさせるか、あるいは厳格なミリ秒単位のスケールにロックすることで、Fanuc は多軸構成に対して最大限の柔軟性を提供しますが、小数点が省略された場合にプログラミングの曖昧さを招きます。さらに、Fanuc は Q アドレスを介して G04 を high-speed skip 信号と直接連動させる独自の機能を備えており、高速な測定やスキップサイクルに非常に効果的なハードウェアレベルの割り込みメカニズムを構築しています。

対照的に、Siemens は、堅牢なマルチ spindle 機能を備えつつ、G-code のブロック機能を厳格に分離する構造化されたモジュール設計を採用しています。Siemens はネイティブで、プログラマーが秒単位(F)または回転数(S)のいずれかでドウェルを指定できるようにし、さらにインラインの S<n>= 構文を使用して第2 spindle をターゲットにすることさえ可能です。このネイティブなマルチ spindle サポートは、パラメータの状態変更や個別のアドレス指定に依存せざるを得ない他のブランドとは完全に一線を画しています。しかし、Siemens は厳格な構文の孤立を要求します。G4 と並んで補助コマンドや G機能をプログラミングすると、即座に構文アラーム(12120)がトリガーされます。さらに、Siemens は G4 を同社の synchronized actions と統合しており、non-modal な PLC 信号がプログラムの途中で確実にディスパッチされるのを保証するため、少なくとも2つの内部インターポレータ(補間)サイクルに等しいドウェル時間(F0.1など)を意図的に要求します。

Mitsubishi は、これら2つのパラダイムを融合し、ネイティブなマルチ spindle アドレスのサポートを提供すると同時に、Fanuc のブロックレベルのスキップ信号とは完全に異なる PLC 主導のスキップ機能を統合しています。Mitsubishi の G04 スキップ条件は parameter #1173 を介して直接設定され、物理的な PLC 入力をドウェル実行に直接マッピングします。これにより、PLC はドウェルを動的に中止できますが、Fanuc のスキップでは NC ブロック内に専用 Q アドレスが必要です。また、Mitsubishi は独自の P ファクターパラメータ(#19014)を使用して、小数点のない整数入力を 10<sup>-3</sup> から 10<sup>3</sup> 倍の範囲でスケーリングします。この強力なスケーリングメカニズムは、マニュアルでコードを修正することなく異なる機械間でレガシーコードをシームレスに実行できるように特別に設計されており、多世代にわたる工場フロアでの大きな課題を解決します。

プログラム例

Fanuc プログラム例

G94 G04 P1000 ; (Time-based dwell for 1.0 second under IS-B, or locks to 1ms dependent on Parameter 1020 DWT)
G95 G04 X30.0 ; (Dwell for 30 spindle revolutions when feed per revolution is active and Parameter 3405 DWL=1)
G04 X1.5 Q2 ;   (Dwell for 1.5 seconds, using multi-stage skip option assigned to skip signal Q2)

Fanucの空運転 (dry run) 解析

最初のブロックでは、G94 コードによって feed per minute モードが設定されます。G04 P1000 コマンドは、標準の IS-B 単位系(1単位が1ミリ秒に相当)の下で正確に 1.0 秒のドウェルを実行します。ただし、Parameter 1020 (DWT) が 1 に設定されている場合は厳密に 1 ミリ秒にロックされ、ドウェルが極めて短時間で終了してしまいます。2番目のブロックでは、G95 コードによって機械が feed per revolution モードに切り替わります。Parameter 3405 (DWL) が 1 に設定されている場合、G04 X30.0 は spindle が正確に 30 回転を完了するまで、制御装置にすべての軸の interpolation を一時停止させます。3番目のブロックでは、G04 X1.5 Q2 コマンドが軸を 1.5 秒間一時停止させますが、同時にスキップセレクタ Q2 に割り当てられた high-speed skip 信号の監視状態を維持します。1.5 秒が経過する前にこの PLC 入力信号がトリガーされると、ドウェルは即座に中断され、制御は次のプログラムブロックに進みます。

Siemens プログラム例

G04 F5 ;        (Pause execution for 5 seconds)
G4 S30 ;        (Dwell for 30 master spindle revolutions)
G4 S2=50 ;      (Dwell for 50 revolutions of secondary spindle 2)
G95 G04 X1000 ; (ISO Dialect Mode: Dwell for 1 spindle revolution when G95 is active and MD20734 bit 2 is set to 1)

Siemensの空運転解析

最初のブロックでは、G04 F5 コマンドが Siemens Sinumerik インタプリタに、spindle の回転を維持したまま、すべての軸の interpolation を正確に 5.0 秒間一時停止するように指令します。2番目のブロックでは、G4 S30 が spindle 速度に基づいて計算されたドウェルを強制し、メイン spindle の正確に 30 回転分の軸移動を一時停止させます。3番目のブロックでは、G4 S2=50 がネイティブのマルチ spindle 機能を利用し、第2 spindle(Spindle 2)の正確に 50 回転分の一時停止を指令します。これは、同期したサブ spindle へのワーク受け渡し(パートハンドオフ)において極めて重要です。4番目のブロックでは、G95 がアクティブな ISO Dialect モード(G291)でシステムが動作しています。MD20734 bit 2 が 1 に設定されているため、G04 X1000 コマンドは入力を秒単位ではなく spindle 回転数として評価し、1 回転分のドウェルを行います。

Mitsubishi プログラム例

G94 G04 X5.0 ;  (Standard time-based dwell using the X address for 5.0 seconds in feed-per-minute mode)
G94 G04 P5000 ; (Time-based dwell using P address, subject to scaling parameter #19014 or validation parameter #8112)
G95 G04 X100. D1 ; (Revolution-based dwell for 100 revolutions synchronized against spindle 1 in G95 mode)

Mitsubishiの空運転解析

最初のブロックでは、G94 feed-per-minute モードが確立され、G04 X5.0 が工具軸を正確に 5.0 秒間一時停止させます。2番目のブロックでは、G04 P5000 が指令されます。Parameter #8112 (DECIMAL PNT-P) が 0 の場合、小数点は無視されます。さらにスケーリングパラメータ #19014 が -3(1/1000 倍)に設定されている場合、5000 の整数値は 5 秒にスケーリングされます。もし #19014 が 0 の場合、システムの設定最小単位に応じて 5000 ミリ秒(5.0秒)または 5000 秒ドウェルする可能性があります。3番目のブロックでは、G95 feed per revolution モードがアクティブです。G04 X100. D1 コマンドは、Spindle 1 のエンコーダに直接同期して正確に 100 回転分のドウェルを行うよう機械に指令し、物理的な spindle 回転と同調して工具が確実に一時停止するようにします。

エラー解析

ブランドアラームコード発生条件オペレータの症状根本原因と解決策
FanucPS0041 (Interference in Cutter Compensation)G41 または G42 の cutter compensation 有効中に、G04 と別の一時停止ブロック(補助 Mコードなど)を連続して指令した場合。機械が移動を停止し、画面に PS0041 アラームを表示して自動実行を中断します。連続する移動のないブロックによって工具経路の look-ahead ベクトルが混乱し、数学的な過剰切削(オーバーカット)が算出されます。G41/G42 の有効中は、複数のドウェルや移動のないブロックを並べてプログラミングしないでください。
FanucPS0370 (G31P/G04Q Error)Q アドレス値に有効範囲(標準のマルチステージスキップでは 1 ~ 4、連続スキップでは 1 ~ 8)外の値をプログラミングした場合、またはスキップオプションのないシステムで Q を指令した場合。ブロックの実行前に、画面に PS0370 アラームメッセージが表示され、プログラムが即座に停止します。不正な Q 値が指令されたか、制御装置にマルチステージスキップオプションが有効になっていません。Q アドレスの値を修正するか、スキップ機能オプションを購入・有効化してください。
Siemens12120 (G function not separately programmed)G4 ドウェルコマンドと全く同一の NC ブロック内に、補助 M機能、synchronized actions、または他の Gコードをプログラミングした場合。制御装置が実行中にそのブロックを拒否し、動作を停止して Siemens アラーム 12120 を発生させます。Siemens では、G4 ドウェルコマンドを個別の単独 NC ブロックにプログラミングする必要があります。すべての補助コードや synchronized actions を別のブロックへ移動してください。
Siemens700013 (Operation not allowed: chuck unclamped)工具移動を実行する前に、chuck のクランプ動作に必要な機械的遅延を無視した場合。CNC の安全システムが作動してプログラムを遮断し、アラーム 700013 を発生させます。chuck の物理的なクランプ機構が完全に固定される前に、移動ブロックが指令されました。移動を開始する前に、G4 ドウェルコマンドをプログラミングして chuck クランプ状態が落ち着くための十分な時間を確保してください。
MitsubishiP45 (G-Code Combination)G28(原点復帰)や G53(機械座標系選択)など、互換性のない Gコードと全く同一のブロックで G04 を指令し、不正な組み合わせを作成した場合。機械が即座に停止し、P45 アラームコードを表示して、実行中の自動運転サイクルを終了します。NC パーサーが、non-modal なドウェルと原点復帰または座標系設定コードとの間の不正な組み合わせを検出しました。G04 を単独ブロックでプログラムするか、互換性のある Gコードの組み合わせであることを確認してください。
MitsubishiP34 (High-speed high-accuracy control error)高速高精度制御 II(G05 P10000)または III(G05 P20000)などの高度なモードがアクティブであるときに、G04 ドウェルコマンドを呼び出した場合。サイクルの割り込みが発生し、コントローラ画面に即座に P34 アラームコードが表示されます。高度な path smoothing アルゴリズムは、アクティブな状態でドウェルによる一時停止を処理できません。G04 コマンドを実行する前に、一時的に G05 高速モードを無効にしてください。

実務応用ノウハウ

加工中の寸法ばらつきを極限まで抑え、ロット間の繰り返し精度を維持するためには、制御装置ごとに異なるパラメータ設定と機械の物理構造を完全に同期させなければなりません。量産開始前にFanucではParameter 1020 bit 7 (DWT) を検証することが最初のステップです。このパラメータが1に設定されている場合、プログラム内のP1000は1秒ではなくわずか1ミリ秒のドウェル時間として処理され、切削抵抗がワークに残留したまま工具が移動を開始し、最終製品に微小な寸法段差や引きずり傷を残します。このような再現性の低下や不良品発生を防ぐためには、時間指定にはミリ秒スケールの影響を受けないXまたはUアドレス(旋盤系)を明示的な小数点(例: G04 X1.0)を付与してプログラムする運用ルールが極めて有効です。また、アクティブな工具径補正(G41/G42)の最中に、G04ドウェルと補助Mコードなどの非移動ブロックを連続して指定すると、制御装置のパス予測演算(ルックアヘッドベクトル)が混乱し、アラームPS0041が作動して機械が突然停止します。この不要な非計画停止を防止するため、補正実行中の非移動ブロックは最小限にとどめる必要があります。

SiemensのSinumerik制御装置においては、G4ドウェルコマンドは完全に独立したブロックとして記述しなければならず、同一ブロックにクーラントMコードや補助G機能を混在させると即座に構文アラーム12120が発生してサイクルが中断されます。さらに、物理的なチャックのクランプ完了信号やターレットのインデックス動作といった機械ハードウェアの遅延時間を無視して後続の移動コマンドへ進むと、チャック開閉タイムアウト(Alarm 700013)、ターレットモータ過負荷(Alarm 700022)、または工具クランプタイムアウト(Alarm 700011)などの深刻な安全監視機能アラームを誘発します。これらのトラブルを防ぐためには、油圧や物理センサが確実に作動完了するだけの安全ドウェル時間をG4 F1.0などのスタンドアローンブロックとして戦略的にプログラムし、ハードウェア状態を落ち着かせることが必須です。また、高速輪郭切削モード(G64/G641)中に不用意にG4を挿入すると、 continuous-path mode smoothing が中断され、工具が完全にゼロスピードまで減速・停止するため、切削点に深い目印(ツールマーク)が刻まれてしまいます。

Mitsubishi CNCシステムでは、G95モード下でパラメータ#8130(Dwell in rev.)が1の状態で、スピンドル停止指令(M05)の後にG04を実行すると、スピンドルエンコーダのパルス信号が永久に入力されないため、制御装置は待機状態のまま無限フリーズを起こします。この非計画停止を防ぐには、スピンドルの能動的な回転状態を確認するとともに、パラメータ#8112の設定(Pアドレスにおける小数点の有効・無効)およびパラメータ#19014(P値のスケーリング倍率)を実機の構成と厳格に照合し、プログラム内のP値が意図した時間値とズレていないかを事前に検証しなければなりません。G28やG53といった座標設定コマンドとG04を同一ブロックに記述するとアラームP45が発生し、G05 P10000などの高速高精度制御モード実行中にG04を呼び出すとアラームP34がトリガーされるため、これらの高度なモードを実行する前には必ず一時的な制御解除手順を設ける必要があります。

関連コマンド

  • G01 直線補間: G04 は、直線カットの終端で工具移動を一時的に停止させ、切削抵抗を逃がすために、G01 送りブロックの間や末尾によくプログラムされます。
  • G02 円弧補間: G04 は、G02 の時計回り円弧の直後に使用することで、切削抵抗を落ち着かせ、内径のコーナ部で滑らかで高精度な丸み仕上げを確実に得ることができます。
  • G03 円弧補間: G02 と同様に、G04 は G03 の反時計回り円弧の後に短い一時停止提供し、切削力を逃がしてワークの角部にツールマークが残るのを防ぎます。
  • G09 位置決め判定: G04 は時間基準の一時停止を実行するのに対し、G09 は次のブロックが開始される前に位置を確認するため、ブロックの終端で機械を完全に減速停止させる non-modal なコードです。
  • G31 スキップ機能: スキップ機能は外部の入力信号によって軸移動を即座に終了させることができ、Mitsubishi のパラメータ駆動型ドウェルスキップと類似した PLC スキップロジックを共有しています。

おわりに

量産現場における非計画停止を完全にゼロにし、ロットごとの製品品質の再現性を高めるための最も確実な防衛策は、段取り作業チェックリストに主要パラメータの事前確認ルールを組み込むことです。具体的には、Fanucのパラメータ3405(DWL)、SiemensのMD20734 bit 2、およびMitsubishiのパラメータ#8130といった、G95時のドウェル実行単位(秒か回転数か)を規定するシステム設定を、初品の切削前(ファーストパーツ加工前)に必ず確認・記録する手順を徹底します。これに加えて、時間指定には小数点を明示したXまたはUアドレスを標準とするプログラミング規約を策定することで、制御装置ごとの整数解釈のズレを未然に防ぎます。G04の一時停止指令は単純に見えるコマンドですが、制御パラメータと物理ハードウェアの連動性を正しく管理することこそが、予期せぬ主軸の干渉やロット終盤での寸法ばらつきを排除し、極めて高い加工信頼性と繰り返し精度を確立する唯一の方法です。

よくある質問

量産中にロット間で製品の円弧や端面に寸法段差(ばらつき)が発生します。G04パラメータの何を確認すべきですか?

ロット間の寸法ばらつきは、Fanucのパラメータ1020 bit 7 (DWT) やMitsubishiのパラメータ#19014のスケーリングパラメータの誤解釈により、切削圧力が均一に逃げきれていないことが原因です。特に最初の数時間と昼夜の温度変化により、主軸や送り軸の熱変位(サーマルディスプレイスメント)が複合すると、ドウェル時間不足の影響が顕著になり寸法精度が低下します。実務的な対策として、段取りチェックリストにパラメータ1020 bit 7 (DWT) の現在値確認を加え、常に小数点を明記した「G04 X1.0」による秒数指定ルールへとプログラムを統一してください。

G95モードでG04を使用する際、スピンドル回転数ベースの一時停止が正しく完了しているかを検証する方法はありますか?

G95モードでの一時停止(Fanucパラメータ3405またはMitsubishiパラメータ#8130が1のとき)は、主軸のエンコーダがプログラムされた回転パルスを正確に追従することで実行されます。これが正しく完了しているかを検証するには、初品加工時にPLCのレジスタ信号(例: スピンドルクランプ完了信号や同期クロック)が一時停止時間と正確に同期して変化しているかを確認します。自動運転を開始する前に、必ず実機のグラフィック表示やPLC診断画面で主軸同期信号を確認し、異常なゼロ回転検出時にも無限待機を起こさないようにタイムアウトアラームの閾値を再確認してください。

Siemens制御装置でG4を記述するとAlarm 12120が頻繁に出ますが、最も効率の良い構文エラー回避法は何ですか?

SiemensではG4ブロックの独立性が徹底されているため、Mコード(クーラント、主軸回転等)や他のG機能が同じ行にあるとAlarm 12120になります。特にカスタムサブプログラム(マクロ)内部でドウェルとチャック確認信号を同一ラインで評価しようとした際に多く発生します。回避策として、マクロプログラムの全構造を見直し、ドウェル命令は必ず「G4 F1.0;」のように他の一切のNC命令を記述しない単独行に分離して記述するルールを徹底し、加工前のドライラン画面で構文チェックを行ってください。

まだ解決しませんか?

このトピックについて、AIアシスタントに自然言語で質問できます。検証済みの情報源に基づいており、ハルシネーションはありません。

AIアシスタントに質問する
Hakan Gündoğdu
Hakan Gündoğdu
  • CNC CARE Co-Founder (May 2025 - Present)
  • Mitsubishi Electric NC Sales & Service Section Manager (2008 - 2025)
  • Reis CNC Service Engineer (2003 - 2005)
  • Ören Kalıp CNC Mold Line Team Leader (1999 - 2002)

CNC工作機械業界のあらゆる分野で25年以上の経験を持ち、ブランドに依存しないコンサルティング、エンジニアリング、純正部品サービスを提供するCNC CAREの共同創業者として活動を続けています。

関連記事

このトピックに関する他の記事

Siemens CYCLE800の使い方:平面旋回とツールアライメント

SiemensのCYCLE800による3+2軸加工をマスターしましょう。平面旋回、ツールアライメント、パラメータ設定から、アラーム61190や61153といったエラーのトラブルシューティングまで詳しく解説します。

SiemensProgramming

Siemens CYCLE72 パスミーリング: 輪郭加工の設定とプログラム解説

SinumerikのCYCLE72輪郭ミーリングを徹底解説。_KNAMEや_VARIの正しいパラメータ設定、シミュレーション時のアラーム61123回避方法、チャッククランプ確認によるアラーム700017防止まで、機械停止や不良品発生を防ぐ実務ノウハウを紹介します。

SiemensProgramming

Siemens CYCLE952旋削サイクルの設定とプログラム解説

SinumerikのCYCLE952輪郭旋削サイクルを徹底解説。_PRGや_CONRによるブランク境界定義、アラーム61051/61059の回避方法、および設定データSD55212による自動メモリ管理の設定手順まで詳しく紹介します。

SiemensProgramming

Siemens SLOT1/SLOT2溝フライスcycleプログラミング

Siemens製Sinumerikの溝加工cycleSLOT1・SLOT2のプログラミングを解説。パラメータ設定、Alarm 61000を防ぐ工具半径補正、VARIを用いた障害物回避など、量産時のロット間再現性を高め不良品発生を防ぐための実務ノウハウを紹介します。

SiemensProgramming