Siemens アラーム 61000 工具オフセット未設定の解決方法
Siemens SINUMERIKのアラーム61000を解決。Dコード(刃先オフセット)の正しいプログラム記述から、MD20270やMD22550などの重要パラメータの調整、主軸(spindle)とチャックの衝突防止対策まで、現場で役立つ手順を詳しく解説します。
はじめに
アクティブな工具刃先オフセット(Dオフセット)を検証しないまま、SINUMERIK制御装置で加工プログラムやサイクルの実行を開始すると、主軸(spindle)が補正されない状態で目標深さまで直接駆動され、工作物(workpiece)、チャック(chuck)、またはタレット(turret)との壊滅的な硬質衝突(hard collision)を引き起こす即座の危険があります。この未検証の状態で量産に入ると、2ロット目から熱変位や機械的要因による寸法ばらつきが広がり、最終検査で初めて不良が発見されるという深刻な事態を招きます。このような再現性の低下と不良品発生は、加工プロセス全体の信頼性と繰り返し精度を致命的に悪化させます。この問題を未然に防ぐため、Siemensシステムでは、有効なチャンネルの刃先オフセットが正しく選択・構成されているかを厳格に検証する安全インターロック(アラーム61000)が組み込まれています。本稿では、このエラーの原因と具体的なトラブルシューティング、パラメータ設定について詳しく解説します。
技術概要
| コマンドコード | D (刃先オフセット選択) |
| モーダルグループ / タイプ | 工具オフセット選択 / アクティブ |
| 対象ブランド | Siemens |
| 重要パラメータ | MD20270 $MC_CUTTING_EDGE_DEFAULT, MD22550 $MC_TOOL_CHANGE_MODE |
| 主な制限事項 | Siemensサイクルインタープリタを実行するには有効な D オフセットが必要であり、そうでない場合はアラーム 61000 で実行がブロックされます。マシンデータの設定によっては、システム RESET や M30 プログラム終了によってオフセットが暗黙的に破棄されることがあります。 |
クイックリード
- 刃先オフセットのアクティブ化: サイクルを実行する前に、明示的な
Dワード(例:D1からD9)をプログラムして、アクティブな工具の長さおよび半径のオフセットブロックをロードします。 - デフォルトのオフセット動作の理解: マシンパラメータ
MD20270を1に設定して工具交換時に自動的にD1をロードするか、0に設定して手動でのオフセットプログラミングを強制します。 - 工具交換実行の同期: システムパラメータ
MD22550を調整して、オフセットがTワードで即座にアクティブになるか、またはM06工具交換の実行時にのみアクティブになるかを決定します。 - 正しい深さパラメータの選択: 関連する工具半径測定ルーチンを管理する場合、SW 1.x ではレガシーパラメータ
_TP[x,9]を使用し、SW 2.5 以降ではシステムデータSD54634を使用します。 - ドロップされたオフセットによる衝突リスクの軽減: アクティブな工具オフセットを暗黙的にクリアし、主軸(spindle)を未補正状態にするシステムリセット、
M30プログラム終了、または手動のD0コマンドを監視します。 - 安全ネットワークとの連携: Alarm 201612 PROFIsafe Communication Failure で説明されている安全通信設定など、他の Siemens 安全インターロックを確認します。
基本概念
Siemensコントローラがサイクルを開始すると、システムインタープリタは厳格なチェックロジックを実行して、刃先オフセットがアクティブであることを確認します。アラーム 61000 の発生による実際のプログラミング上の影響は、アクティブなチャンネル内でのインタープリタの即時停止と NC 起動(NC Start)の禁止です。Siemensのサイクルは、アプローチ距離、逃げ面、安全クリアランスを安全に計算するために、アクティブな工具の正確な数学的モデルに大きく依存しているため、制御装置はアクティブな D 補正(D-correction)がない状態でのサイクルの実行を完全に拒否します。システムがオフセットメモリから工具の長さと半径を読み取らずにサイクルの実行を許可した場合、spindleは補正されていない工具座標点を直接目標深さまで駆動します。計算から除外された工具の物理的な長さによっては、この欠落したデータにより、工作物(workpiece)、chuck、またはturretとの壊滅的な硬質衝突(hard collision)が必然的に発生し、ハードウェアが即座に破壊され、スクラップ(scrap part)が発生します。したがって、アラームコードを生成して軸を停止させることは、極めて重要な安全インターロックです。突然の停止を引き起こすドライブ関連の障害に関する詳細については、Siemens Alarms 230052-234207-249920 Drive Faults を参照してください。
安全に使用するために、プログラマーは、T(Tool)コマンド、M06(工具交換)、および D(オフセット)コマンドが一貫して複雑なパスやサイクルの呼び出しに先行する厳格なブロック構造を採用する必要があります。Siemensは、非常にモジュール化された工具オフセットアーキテクチャと厳密なバックグラウンドチェックにより、他の制御ブランドと一線を画しています。第一に、Siemensは物理的な工具位置(Tワード)を刃先形状(Dワード)から完全に分離しています。単一の物理的なミーリング工具または旋削工具に複数の固有の刃先(例: D1、D2、最大 D9)を持たせることができるため、プログラマーはダミーの工具番号や重複する工具番号を呼び出すことなく、溝入れ工具の左右で異なるオフセットを使用できます。第二に、これらオフセットのデフォルト動作は、マシンデータを通じてOEMによって高度にカスタマイズ可能です。MD20270 $MC_CUTTING_EDGE_DEFAULT を調整することで、工具交換時に自動的に D1 を呼び出す、プログラマーに D1 の記述を明示的に強制する、あるいは複雑なインデックス中に以前の工具の補正を保持して予測不可能な空間シフトを防ぐことができます。最後に、Siemensのサイクルには、動作実行前にシステム変数($P_TOOLNO や $P_AD[n] など)を照会するプロアクティブで高度なロジックチェックが組み込まれており、ハードウェアが物理的な危険にさらされる前に、専用の60000レベルのサイクルアラーム(Cycle Alarms)で機械を安全に停止させます。この安全統合は、Siemens Alarms 700000-700016 PLC Safety に記載されているような、事故を防ぐために設計された安全プロトコルと一致しています。
コマンド構造
Siemens SINUMERIKシステムにおける工具刃先の選択は、D アドレスコードを使用して指令されます。特定の D 番号(D1 から D9 の範囲)を呼び出すことで、プログラマーは工具長オフセット、工具半径、摩耗値、および方向を含む、切削工具の刃先の正確な寸法特性をロードします。工具選択を刃先から分離することにより、マルチエッジボーリングバーや溝入れ工具などの複雑な加工オペレーションで、単一の物理工具番号の下で固有の補正オフセットを利用することが可能になります。
アクティブな工具補正をクリアまたは無効にするには、プログラマーは D0 を指令します。D0 をアクティブにすると、オフセット寸法が明示的にゼロに設定されます。つまり、制御装置は移動に未補正の spindle nose 座標点を使用します。手動インデックスルーチンや安全な工具交換シーケンスには便利ですが、D0 を発行すると工具長の検証が直接無効になり、その後のサイクル呼び出しが非常に危険になります。手動のオフセット管理と並んで、CYCLE800 などの標準の Siemens サイクルは、軸の移動が承認される前に、ゼロ以外の D オフセットがチャンネルメモリにロードされていることを確認するために、アクティブなバックグラウンド前処理を実行します。
構文構造:
T[Tool_Number] M06
D[Cutting_Edge_Number]
| パラメータアドレス | システム名 / 変数 | 機能目的 |
|---|---|---|
MD20270 | $MC_CUTTING_EDGE_DEFAULT | 明示的なプログラミングなしでの工具刃先の初期位置を定義します。自動 D1 ロードの場合は 1、自動オフセットなしの場合は 0、古いオフセットを保持する場合は -2 に設定します。 |
MD20272 | $MC_SUMCORR_DEFAULT | プログラム選択なしでの結果として生じる合計オフセット(DL番号)のデフォルト位置を定義し、摩耗またはセットアップ補正を管理します。 |
MD22550 | $MC_TOOL_CHANGE_MODE | 工具オフセットが T ワードで即座にアクティブになるか(値 0)、または工具交換 M 機能(通常は M06)の実行時にのみアクティブになるか(値 1)を決定します。 |
ブランド別応用
Siemens
Siemens SINUMERIK 828D および 840D sl システムでは、工具オフセットがモジュール化されて構成されており、1つの工具につき最大9つの異なる刃先を割り当てることができます。アクティブな工具オフセットは D アドレスコードを使用してロードされ、コントローラメモリ内の特定の刃先ブロックを参照します。この D コードのロード動作は、工具交換がデフォルトの刃先を自动的に選択するか、または明示的な手動指令を必要とするかを制御するために、マシンパラメータ MD20270 によって管理されます。
工具半径補正がアクティブな場合、制御装置は G41 または G42 に依存してパスをオフセットします。工具がロードされていない状態で G41 または G42 が呼び出されると、コントローラはアラーム 10750 をトリガーし、システムを停止します。同様に、有効なオフセットがない状態で Siemens の加工サイクルまたは測定サイクルが実行されると、制御装置はアラーム 61000 を発行してすべての軸の動きを停止します。このサイクルエラーは操作上の問題を示していますが、物理的なドライブシステムは、ドライブを STO 状態にロックする Alarm 201612 PROFIsafe Communication Failure などのより深刻な通信アラームによってシャットダウンされることもあります。安全を確保するため、オペレーターは Siemens Alarms 700000-700016 PLC Safety に記載されているような標準的な PLC パネルを介してこれらのアクティブな設定を監視できます。
ブランド比較
| 技術機能 | SINUMERIK 840D sl (SW 1.x 以前) | SINUMERIK 840D sl / 828D (SW 2.5 以降) |
|---|---|---|
| 工具半径測定の深さパラメータ | レガシーのサイクルパラメータ _TP[x,9] を介して管理 | システム設定データ SD54634 $SNS_MEA_TP_CAL_MEASURE_DEPTH を介して管理 |
| 工具オフセットアクティブ制御 | マシンパラメータ MD20270、MD20272、および MD22550 によって管理 | マシンパラメータ MD20270、MD20272、および MD22550 によって管理 |
| 分離型工具オフセットアーキテクチャ | 物理工具と刃先の完全な分離をサポート(工具あたり最大 D9) | 物理工具と刃先の完全な分離をサポート(工具あたり最大 D9) |
技術解析
分析的に見ると、Siemens SINUMERIKのソフトウェアバージョン間における移行は、サイクル固有の測定深さがどのように管理されるかにおける決定的な変化を示しています。SW 1.x 以前を実行する SINUMERIK 840D sl システムでは、工具半径測定の深さ計算は、レガシー変数 _TP[x,9] を使用してサイクルパラメータにハードコードされていました。この古い手法では、ユーザーサイクル空間内で手動の計算調整が必要になることが多く、入力ミスのリスクが高まりました。対照的に、SW 2.5 以降を実行する現代の SINUMERIK 840D sl および 828D コントローラは、システム設定データパラメータ SD54634 $SNS_MEA_TP_CAL_MEASURE_DEPTH を介して深さ計算を管理します。この現代的な構造は測定深さを抽象化し、CNCインタープリタがサイクルを実行する前に工具プリセッタ(ツールプローブ)に対する安全位置を動的に検証できるようにし、アラーム 61352 や予期しないプローブ衝突のリスクを大幅に軽減します。
モジュール性の観点から、Siemensの分離型工具アーキテクチャは、標準的な ISO コントローラと比較して独自の柔軟性を提供します。標準的な機械は物理的な工具ポケット(T)を単一のオフセット(D)に厳密にバインドしますが、Siemensは工具あたり最大9つの刃先オフセット(D1 から D9)を許可します。この分離は、マシンデータパラメータである MD20270 ($MC_CUTTING_EDGE_DEFAULT)、MD20272 ($MC_SUMCORR_DEFAULT)、および MD22550 ($MC_TOOL_CHANGE_MODE) によって管理されます。MD20270 の設定に応じて、制御装置は工具交換時に自動的に D1 をロード(値 1)、D0 を選択してプログラマーに明示的にオフセットを呼び出すよう強制(値 0)、または以前の工具のオフセットを保持(値 -2)することができます。MD22550 が 1 に設定されている場合、オフセットは M06 が処理されたときにのみ適用されますが、値 0 では T ワードが走査されたときに即座に適用されます。これらの値が誤って構成されている場合、工具交換時にアクティブな刃先オフセットが暗黙的にドロップされます。その後 CYCLE800 などのサイクルが処理されると、バックグラウンドの安全チェックがチャンネルメモリ内のアクティブな工具オフセット変数がゼロであることを検出し、インタープリタをアラーム 61000 で即座に停止させてspindleの衝突を防ぎます。この規模の安全インターロックは、Siemens Alarms 230052-234207-249920 Drive Faults で詳しく説明されているように、Siemensの大出力ドライブシステムでは一般的です。
プログラム例
Siemens工具交換および加工サイクルプログラム
次の例は、Siemensのサイクル CYCLE800 を呼び出す前に、工具交換を安全に実行し、刃先オフセットをアクティブにするための正しいプログラミングシーケンスを示しています。
; Siemens: 正しいオフセットアクティブ化シーケンス
N10 T1 M06 ; 物理工具1を選択し、工具交換を実行
N20 D1 ; 刃先オフセットブロック1をアクティブ化
N30 CYCLE800(0,"HEAD",100000,57,0,0,0,0,0,0,0,0,0,-1,100,101) ; アクティブなオフセットで回転サイクルを呼び出し
N40 G01 X100 Y50 F500 ; 直線補間動作
N50 M30 ; プログラム終了およびリセット
空運転 (dry run)の実行手順
工具の損傷や機械ハードウェアの衝突リスクを冒さずに、この刃先オフセットシーケンスの実行を安全に検証するには、次の空運転手順を実行します。
- マシンデータ設定の検証: パラメータ
MD20270をチェックして、デフォルトのオフセット動作がプログラム設計と一致していることを確認します。 - 現在のオフセットのクリア: MDA モードで
D0を手動で実行し、アクティブなチャンネルバッファに以前の工具オフセット値が保存されていないことを確認します。 - CNCをシングルブロックモードに設定: オペレーターパネルでコントローラーをシングルブロック(Single Block)モードに切り替え、ブロックごとに実行を制御します。
- MDAモードのアクティブ化: 制御モードを MDA に切り替え、上記の G-code シーケンスを入力します。
- 事前実行シミュレーションの実行: HMI 上でプログラムのグラフィックシミュレーションを実行し、潜在的な軸パスエラーがないかチェックします。
- サイクルスタートの開始: オペレーターパネルのサイクルスタート(Cycle Start)ボタンを押します。
CYCLE800が処理される前に、アクティブな工具ディスプレイを注意深く監視し、D1がアクティブであることを確認します。
エラー解析
| アラームコード&制御ブランド | トリガー条件 | オペレーター側の症状 | 根本原因と解決策 |
|---|---|---|---|
| Siemens Alarm 61000 No Tool Offset Active | アクティブな工具刃先オフセット(D番号)がない状態で、チャンネル内でSiemensのサイクルが実行されました。 | CNCインタープリタが即座に停止し、軸の動きが麻痺し、NC起動が禁止されます。 | 明示的な刃先オフセットが省略されました。サイクル呼び出しの前に D1 から D9 をプログラムします。MD20270 が 0 に設定されているか確認します。 |
| Siemens Alarm 61008 No Tool Active | アクティブなコントローラチャンネルに工具(T番号)がロードまたは選択されていない状態で、サイクルが実行されました。 | プログラムが即座にサイクルアラーム停止で停止し、実行が無効になります。 | 物理的な工具が選択されていません。サイクル呼び出しの前に T 番号をプログラムし、M06 を実行します。 |
| Siemens Alarm 61009 Active Tool Number = 0 | サイクル呼び出しがトリガーされましたが、制御装置によって評価された現在のアクティブな工具番号がゼロです。 | CNCプログラムが即座に実行を停止し、サイクル実行障害を表示します。 | 工具交換シーケンスが省略されました。サイクル実行の前に T と M06 をプログラムして、工具が物理的にロードされていることを確認します。 |
| Siemens Alarm 10750 Tool Compensation Mismatch | オフセットデータを提供する工具がロードされていない状態で、G41 または G42 工具半径補正がアクティブ化されました。 | インタープリタが処理を停止し、ディスプレイに工具半径補正エラーのフラグを表示します。 | 座標補正を計算できません。G41 または G42 を呼び出す前に、工具をロードしてアクティブなオフセット(T および D)を指定します。 |
| Siemens Alarm 61352 Probe Distance Mismatch | 工具半径の測定中、プローブ上端と測定位置の間の距離が 0 と評価されました。 | 自動測定シーケンスが即座に停止し、工具オフセットの記録が妨げられます。 | 深さパラメータの設定に誤りがあります。SW 1.x では深さ変数 _TP[x,9] を、SW 2.5 以降では SD54634 を確認して修正します。 |
実務応用ノウハウ
実加工や測定サイクルを起動する前に、有効なDオフセットをプログラムに明示的に定義しなければ、SINUMERIK制御装置はアラーム61000(No tool offset active)を発生させ、NC起動を禁止してチャンネルを即座に停止させます。段取り前にMD20270($MC_CUTTING_EDGE_DEFAULT)パラメータを確認することで、このコマンドで最も多い非計画停止を防げます。もしこのパラメータが0(自動刃先オフセット選択なし)に設定されている場合、プログラム内でD1からD9などのオフセットを明示的に呼び出さなければ、主軸(spindle)は未補正のまま動作し、結果としてワーク、chuck、またはturretとの壊滅的な硬質衝突(hard collision)を引き起こし、高価な治具やツールを破損させると同時に、スクラップ(scrap part)を発生させます。このパラメータ設定が未検証のまま量産に入ると、2ロット目から寸法ばらつきが広がり、最終検査で初めて不良が発見されるという深刻な事態を招きます。したがって、MD22550($MC_TOOL_CHANGE_MODE)が1に設定されている場合はM06実行後に、0に設定されている場合はTコマンド走査時に、それぞれ意図したDオフセットが確実にロードされるようにプログラミング構造を標準化することが、再現性の低下を防ぎ、長期的な信頼性と繰り返し精度を維持するための極めて重要な実務ノウハウです。
関連コマンド
- D: 工具長および半径形状を含む、工具刃先オフセットデータブロックをアクティブにするアドレスコード。
- D0: アクティブな工具オフセットを無効にし、工具座標を spindle nose に戻すコマンド。
- G41: プログラムされた工作物(workpiece)パスの左側に工具半径補正を適用するコマンド。
- G42: プログラムされた工作物(workpiece)パスの右側に工具半径補正を適用するコマンド。
- TOFFON: 摩耗またはカスタム補正を適用するために、オンライン工具長オフセットをアクティブにする命令。
おわりに
量産加工における高い信頼性とロットごとの繰り返し精度を確保するためには、すべてのツールチェンジ(TおよびM06)の直後に明示的なDコードによる刃先オフセット定義を伴う強固なG-codeブロック構造を徹底することが不可欠です。段取り作業の前に、制御パラメータMD20270およびMD22550の整合性を検証し、特に自動補正が無効(MD20270=0)に設定されている場合は、D1などのオフセット呼び出し漏れが非計画停止の原因とならないよう、プログラムの標準化とドライ運転(空運転)による検証を標準手順として組み込んでください。これにより、再現性の低下や不良品発生を防ぎ、安全で極めて精度の高いCNC機械運用が実現します。
よくある質問
量産加工のロット間での寸法ばらつきを防ぎ、繰り返し精度を高めるためのDオフセット設定の最適解は何ですか?
ロット間の寸法ばらつきや再現性の低下を防ぐには、パラメータMD20270($MC_CUTTING_EDGE_DEFAULT)を1(ツールチェンジ時に自動的にD1をアクティブにする)に設定することを推奨します。これにより、オペレータの手動入力ミスやDコードのプログラム記述漏れによる補正なしでの加工(不良品発生の原因)を防ぎ、常に一定のオフセットが適用されます。実務上の対策として、量産前の段取り時にパラメータMD20270の値をパラメータ画面で確認し、1に設定されているか検証してください。
SINUMERIK制御装置でツールチェンジ(M06)実行後にツールオフセットが正しく適用されず、アラーム61000が発生するのはなぜですか?
これは、工具交換モードを制御するパラメータMD22550($MC_TOOL_CHANGE_MODE)が1(M06実行時のみアクティブ)に設定されている一方で、プログラム内でDコードが明示的に呼び出されていないか、M06コマンドの実行前に先行してサイクルが呼び出されていることが主な原因です。この非計画停止を防ぐために、ツールチェンジブロック(T.. M06)の直後の行に必ず独立したブロックとしてD1(または適切な刃先番号)を記述し、サイクルの実行前に必ずオフセットがチャネルメモリにロードされるプログラム構造に修正してください。
工具の長さや半径の測定時に発生するアラーム61352(測定位置の不整合)とアラーム61000の関連性と、その解消手順は?
アラーム61000はアクティブな補正が一切存在しない汎用的なエラーですが、アラーム61352は測定サイクル中にツールの測定深さ(測定位置)がゼロと評価された場合に発生するより具体的なエラーです。これらはどちらも補正データの喪失や不整合に起因し、再現性の低下を招きます。解決策として、ご使用のソフトウェアバージョンを確認し、SW 1.x以前であれば変数_TP[x,9]を、SW 2.5以降であれば設定データSD54634($SNS_MEA_TP_CAL_MEASURE_DEPTH)の測定深さ値を正しく更新するアクションを実行してください。
まだ解決しませんか?
このトピックについて、AIアシスタントに自然言語で質問できます。検証済みの情報源に基づいており、ハルシネーションはありません。

- 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といったエラーのトラブルシューティングまで詳しく解説します。
Siemens CYCLE72 パスミーリング: 輪郭加工の設定とプログラム解説
SinumerikのCYCLE72輪郭ミーリングを徹底解説。_KNAMEや_VARIの正しいパラメータ設定、シミュレーション時のアラーム61123回避方法、チャッククランプ確認によるアラーム700017防止まで、機械停止や不良品発生を防ぐ実務ノウハウを紹介します。
Siemens CYCLE952旋削サイクルの設定とプログラム解説
SinumerikのCYCLE952輪郭旋削サイクルを徹底解説。_PRGや_CONRによるブランク境界定義、アラーム61051/61059の回避方法、および設定データSD55212による自動メモリ管理の設定手順まで詳しく紹介します。
Siemens SLOT1/SLOT2溝フライスcycleプログラミング
Siemens製Sinumerikの溝加工cycleSLOT1・SLOT2のプログラミングを解説。パラメータ設定、Alarm 61000を防ぐ工具半径補正、VARIを用いた障害物回避など、量産時のロット間再現性を高め不良品発生を防ぐための実務ノウハウを紹介します。