対応範囲と既知の制限
CNC Path Analyzerが解釈するGコードの範囲(対応・一部対応・参考解釈・ブロック)と、図が実機と異なり得る制限を1ページにまとめました。
対応範囲の基準
このページでの「対応」とは、自動テストと合成例で期待座標を確認した文法を画面に描けるという意味です。特定の機械で安全に加工できるという意味でも、すべての制御装置オプションと互換があるという意味でもありません。確認できていない動作は推測で描かず、理由を示して表示を止めることを原則としています。
機能別の現在の状態
| 領域 | 状態 | 確認すべき点 |
|---|---|---|
| G00/G01直線移動 | 旋盤・フライスとも対応 | アブソリュート/インクリメンタル、選択平面、旋盤Xの直径表示 |
| G02/G03円弧 | 対応する平面と定義のみ表示 | Rの符号、I・J・Kと終点半径の一致 |
| 旋盤G70/G71/G72/G73 | 検証済みのサブセット | 制御装置ごとのポケット・復帰・最初のブロックの規則の違い |
| G76ねじ切りサイクル | 2ブロック形式に対応 | リード、ねじ山の高さ、最初の切込み |
| ドリル・タップサイクル(G73/G81〜G89) | 設備・制御装置ごとに一部対応 | 旋盤G83/G84のRの解釈、K0、復帰高さ |
| G12.1/G13.1極座標・C軸 | XC極座標と分割表示 | 実際の回転方向・原点・機械の運動学 |
| M98/M99呼び出し | O番号によるプログラム呼び出し | 欠落・重複・再帰・実行上限 |
| 変数と数式 | 限定的な代入・数式・条件/繰り返し | システム変数と完全なマクロ環境は再現しない |
| Heidenhain・Siemens・5軸 | 解釈できる経路部分のみ | TCP、ピボット、工具長、回転軸の運動学は再現しない |
5つの表示状態
- 対応:合成の回帰テストで期待座標を確認した範囲です。
- 一部対応:指令の一部の形式だけを解釈し、それ以外の形式はブロックします。
- 参考解釈:制御装置によって動作が分かれる形式について、ユーザーが明示的に選んだ仮定でのみ描きます。図の横に参考経路であることを表示します。
- ブロック:もっともらしいが誤っているかもしれない経路を作らないよう、結果を表示せず原因行を知らせます。
- 未検証:設備や制御装置の根拠がないため、自動では推定しない項目です。
実機と図が異なる理由
ツールはプログラムの文字列だけを見て経路を計算します。次の情報はプログラムの外、機械側に保存されているため、図には反映されません。
- ワーク座標オフセット(G54など)と工具長・摩耗補正の値。
- チャック・治具・心押し台・工具ホルダの実際の形状と素材の大きさ。
- 軸の加減速、サーボの応答、早送り時の軸ごとの到達順序、工具交換時間。
- 制御装置のパラメータで変わるサイクルの細かな動作と、機種専用のMコード。
- 5軸のピボット長、工具先端点制御(TCP)、回転軸の運動学。
制御装置の選択で結果が変わる例
同じ文字列が制御装置によって別の経路になる代表例が、直線ブロックのコーナーR指令です。G01 X40. R2.の形式では、Rの符号を方向として読む制御装置(YASNAC系)と、常に正の半径として読む制御装置があります。設備設定の「G01コーナーRの解釈」を自動にすると選んだコントローラの規則に従い、手動で選ぶとその規則に固定されます。カンマ付きの,Rは常に正の半径で、円弧やサイクルのRには影響しません。
Mコードも同様です。主軸回転・クーラント・プログラム終了のような共通コードは注釈で意味を示しますが、メーカー・機種専用のMコードは確認済みの資料がある場合にのみ説明し、分からないコードに勝手な名前を付けることはしません。
警告を無視した場合
呼び出しプログラムのエラーを無視して表示を続けると、問題の区間が抜けた不完全な経路が描かれることがあります。計算量の上限や幾何学的なエラーは結果全体を止めることもあります。警告が消えたことはプログラムの安全を証明しないため、警告の内容は経路エラーの解決の順序で確認することをおすすめします。
検証方法と更新
公開している例と回帰テストには、生産用のNCではなく独自に作った合成プログラムを使います。新しい形式に対応するときは、期待座標とエラー分類を先にテストで固定してから反映し、動作が変わった内容は変更履歴に記録します。