Siemens MD20112プログラム開始時デフォルト設定の構成手順
Siemens SINUMERIKの開始設定パラメータMD20112($MC_START_MODE_MASK)の正しい構成方法を解説。初期設定の誤りによる機械衝突(バイスジョーやチャックへの突入)や、アラーム14710、アラーム10870を防ぐための実務的な回避手順を網羅。
はじめに
CNCマシンの起動時やプログラムの開始時に、アクティブなセットアップとは異なる古い工具長やデフォルトのワーク座標系オフセットが自動的にロードされると、機械は空間的な位置座標を完全に見失う。この状態のままサイクルスタートを押すと、スピンドルがワーク保持用のバイスジョー(生爪)に猛スピードで plunge(突入)するか、剛性のあるチャックやフィクスチャクランプに衝突し、最悪の場合はマルチチャネル加工におけるダブルタレットの対向刃物台に激突する致命的な機械衝突(ハードクラッシュ)を引き起こす。このパラメータが未検証のまま量産に入ると、2ロット目から寸法ばらつきが広がり、最終検査で初めて不良が発見される。このような再現性の低下や不要な不良品発生を防ぎ、最も頻繁に発生する非計画停止を回避するためには、プログラム開始時の初期設定を定義するパラメータを正確に構成する必要がある。
技術概要
| 項目 | 仕様 |
|---|---|
| コマンドコード | MD20112 $MC_START_MODE_MASK |
| モーダルグループ / タイプ | チャネル専用マシンデータパラメータ (UDWORD) |
| ブランド | Siemens |
| 重要パラメータ | MD20112 $MC_START_MODE_MASK, Bits 4...18 |
| 主な制約事項 | スタートマスクで工具長補正やフレームが自動適用される場合、最初の移動ブロックは絶対座標 (G90) でプログラミングする必要があります。スタートマスクのリセット位置を介して G96 (周速一定制御) が有効化される場合、MD20100 $MC_DIAMETER_AX_DEF を用いて基準となる横軸を事前に定義しておく必要があります。 |
クイックリード
- スタートマスク値の設定: チャネル専用マシンデータ
MD20112 $MC_START_MODE_MASKを0から0x7FFFFの間で設定し、プログラム開始時の G-code グループ、工具オフセット、およびキネマティクス変換を定義します。 - ビット範囲の構成: ビット 4 から 17 を切り替えて、部品プログラムの開始時に各機能がリセット位置を採用するか (
0)、現在の状態を維持するか (1) を決定します。 - 絶対移動の強制:
MD20112が工具オフセットまたはワークオフセットを自動アクティブ化するように構成されている場合、部品プログラム of 最初の移動ブロックでG90コマンドを必ずプログラムします。 - 横軸の定義: スタート時に周速一定制御 (
G96/G961/G962) を有効にする場合は、マシンデータMD20100 $MC_DIAMETER_AX_DEFで横軸をマッピングし、Alarm 10870 を回避します。 - バージョンデータ型の検証: パラメータ
MD20112に書き込む際、システムがDWORD(旧バージョン) またはUDWORD(新しい SINUMERIK ONE および 828D) のどちらを使用しているか確認します。 - スタートとリセットの分離:
MD20110 $MC_RESET_MODE_MASKを介してリセット状態の設定を個別に管理し、停止中の手動 JOG 値を保持しつつ、新しいサイクルスタート時にはこれらをクリアします。
基本概念
プログラム開始時のマシン初期化設定は、サイクルスタート直後に有効となるアクティブプレーン、ワークオフセット、キネマティクス変換などの基本状態を決定します。Siemens SINUMERIK制御装置では、プログラム開始時の動作はチャネル専用パラメータ MD20112 $MC_START_MODE_MASK を通じて管理されます。このパラメータはビットマスクとして機能し、部品プログラムが開始されるたびに評価されて制御の初期設定を確立します。
適切な構成を行うためには、マシンデータ構造を理解することが不可欠です。詳細は MD Machine Data Structure を参照してください。特定のビットを設定することで、デフォルトのリセット状態を採用するか、あるいは手動の JOG モードから設定を引き継ぐかを制御装置に構成できます。たとえば、ビット 4 から 17 は、特定の G-code グループや工具長補正が現在の設定を維持するか、事前定義されたリセット構成に戻るかを定義します。
また、制御装置は、SD Setting Data Structure に説明されているように、マシンデータと連携して動作する設定データもサポートしています。リセットおよびスタートシーケンス中、システムは MD20112 と他のリセットレジスタの組み合わせ状態を評価します。これらの値が適切に管理されていないと、機械は基準フレームを見失い、オフセットが誤って適用される原因になります。
コマンド構造
パラメータ MD20112 $MC_START_MODE_MASK は、チャネル専用のマシンデータ設定です。部品プログラムが開始されるたびに評価され、基本となる座標系およびキネマティクス構成を確立します。
この設定は 16 進数のビットマスクとして定義されます。設定値の範囲は 0 から 0x7FFFF で、一般的な工場出荷時デフォルトは 0x400 です。
構文
; チャネルデータの選択 CHANDATA(1)
; スタートモードマスクを 16 進数 400 に設定 $MC_START_MODE_MASK = 'H400'
パラメータ
| パラメータ / ビット | 説明 | 値の範囲 |
|---|---|---|
MD20112 $MC_START_MODE_MASK | プログラム開始時の制御装置の初期設定を定義します。 | 0 から 0x7FFFF (16進数) |
Bits 4...18 | ビット 4〜17 は G-code グループおよび工具オフセットにおけるリセット位置の採用/現在の設定の維持を定義するビットマスク。ビット 18 は周速一定制御の基準軸の維持を定義。 | 0 (リセット位置を採用) または 1 (現在の設定を維持) |
ブランド別応用
Siemens
Siemens プログラム開始デフォルト設定 (MD20112 $MC_START_MODE_MASK) の実用上のプログラミング効果は、オペレータが Cycle Start を押したまさにその瞬間に、機械の絶対的なキネマティクス基盤を決定できる点にあります。このビットマスクを構成することで、プログラマーは制御装置に対し、前回の手動 JOG 状態からアクティブなフレーム、アクティブな工具長補正、および G-code グループをそのまま継承するか、あるいは厳格な基本初期化を強制するかを指令できます。MD20112 が工具長補正や設定可能なワークオフセット (G54 など) を自動アクティブ化するようにパラメータ構成されている場合、プログラマーとオペレータは部品プログラムの最初の移動ブロックを細心の注意を払って監視しなければなりません。安全に使用するための厳格な規則として、物理軸の最初のプログラミングには必ず絶対座標 (G90) を使用する必要があります。スタートマスクによって予期しない工具長やフレームオフセットが突然適用されている状態でインクリメンタル移動をプログラムすると、工具はワーク原点ではなく、以前のオフセット状態に基づいて予測不能に突入してしまいます。
Siemens は、プログラム開始構成に関して、他の制御システムと明確に区別されるいくつかの特徴的な動作を示します。第一に、Siemens は「リセット」状態と「スタート」状態を厳密に分離しています。単一のグローバルな初期化パラメータを強制するのではなく、Siemens はプログラム中断時の動作を定義するために MD20110 ($MC_RESET_MODE_MASK) を使用し、サイクルが実際に開始されたときの動作を定義するために独立した MD20112 ($MC_START_MODE_MASK) を使用します。これにより、機械は停止中に手動測定データを安全に保持しつつ、新しい開始時にはそれをきれいにクリアすることができます。
第二に、Siemens は SERUPRO (プログラムテストによるブロックサーチ) 機能専用の独立した並列スタートマスク提供しています。MD22620 ($MC_START_MODE_MASK_PRT) を利用することで、開発者はブロックサーチ中に標準の設定を完全にバイパスするように制御装置に指令でき、実際の加工オフセットをトリガーすることなく機械が安全に輪郭にアプローチすることを保証できます。
第三に、Siemens は先制的な初期化エラーチェックをネイティブに統合しています。スタートマスクが無効なキネマティクス状態 (定義された横軸がない状態での周速一定制御など) をロードしようとすると、制御装置は物理的な機械動作が発生する前にアクティブにスタートを遮断し、初期化アラームを生成して、衝突が発生する前に防止します。
ブランド比較
| システムシリーズ / モード | データ分類 | リセット&スタート動作 |
|---|---|---|
| 新しい SINUMERIK ONE / 828D (ソフトウェアバージョン >= 5) | UDWORD (符号なしダブルワード) | G-code リセット動作は、スタートマスク MD20112 と連携して動作する MD20152 $MC_GCODE_RESET_MODE を介して管理されます。 |
| 従来の SINUMERIK 840D / 810D (ソフトウェアバージョン < 5) | DWORD (ダブルワード) | G-code リセット動作は、並列パラメータ MD20152 がないため、純粋に MD20110 $MC_RESET_MODE_MASK に依存します。 |
| SERUPRO ブロックサーチモード (全システム) | UDWORD / DWORD (システムデフォルトに準拠) | MD22621 を介して有効化される並列スタートマスク MD22620 $MC_START_MODE_MASK_PRT を使用し、通常のプログラム開始設定をバイパスします。 |
技術解析
Siemens SINUMERIK 制御装置におけるリセット状態とスタート状態の分離は、根本的なアーキテクチャ設計上の選択です。単一のグローバルなリセット状態を使用する他の制御装置とは異なり、Siemens はシステムのシャットダウンと起動を個別に管理します。プログラムが中断されると、制御装置は MD20110 $MC_RESET_MODE_MASK を評価し、これは手動の JOG 測定値やアクティブなオフセットフレームを保持するように構成できます。しかし、次のサイクルスタート時には MD20112 $MC_START_MODE_MASK が評価され、システムが一時的なオフセットデータをクリアしてクリーンなキネマティクス状態で初期化することを可能にします。
バージョンの違いも G-code 状態のリセット方法に影響を与えます。旧システム (ソフトウェアバージョン 4 以下) では、リセット状態は完全に MD20110 によって制御されていました。バージョン 5 以降では、G-code グループのリセット動作を個別に処理するために、パラメータ MD20152 $MC_GCODE_RESET_MODE が導入されました。これはプログラムスタートマスクと連携して動作し、リセット中にクリアまたは変更された状態をスタート設定が引き継ごうとする競合を防ぎます。
SERUPRO 機能向けの並列スタートマスクの導入は、プログラムテストやブロックサーチ中の衝突リスクを解消します。MD22620 $MC_START_MODE_MASK_PRT (MD22621 $MC_ENABLE_START_MODE_MASK_PRT を介して有効化) を使用することで、制御装置はサーチ実行専用の特別な初期化パラメータセットを使用します。これにより、工具が安全なサーチパスから逸脱する原因となる標準の加工オフセットのロードを防ぎます。
プログラム例
以下の例は、Siemens 制御装置でプログラム開始時のデフォルト設定を設定するためのチャネル専用マシンデータパラメータを設定する方法を示しています。チャネルの特定のキネマティクス構成をリセットする際に、これらの値を部品プログラム内で直接設定することが一般的です。軸特性の構成に関する詳細については、MD10000 Siemens Axis Names を参照してください。
1. 設定をリセットするためのスタートモードマスクの構成
このコードは、アクティブチャネルを選択し、スタートモードマスクをリセットします。この構成により、プログラム開始時の工具またはフレームオフセットの自動アクティブ化が無効になり、オペレータはそれらを明示的にプログラミングすることを強制されます。
; チャネル1データ領域の選択
CHANDATA(1)
; スタートモードマスクを0にリセット (デフォルトのリセット位置が採用されます)
$MC_START_MODE_MASK = 0
2. 設定を維持するためのスタートモードマスクの構成
このコードは、アクティブチャネルを選択し、スタートモードマスクを一般的な16進数値 400 に設定します。これにより、サイクルスタート時に特定のアクティブフレームおよび G-code 状態の維持が有効になります。
; チャネル1データ領域の選択
CHANDATA(1)
; スタートモードマスクを16進数 400 に設定
$MC_START_MODE_MASK = 'H400'
空運転 (dry run) の検証手順
スタートマスクのデフォルト設定に依存する新しい部品プログラムを実行する前に、空運転を実行することで、オフセットが正しく適用されているか確認し、予期しない動作が発生しないことを保証します。以下の手順に従ってください:
- 機械状態の確認: バイスジョー、チャック、またはクランプとの接触がないことを確認し、ワーク保持エリアを手動でクリアします。
- MDA モードのロード: 制御装置のモードを MDA (Manual Data Automatic) に切り替えます。
- 構成コードの入力:
CHANDATA(1)および$MC_START_MODE_MASK = 'H400'コマンドを入力します。 - ブロックの実行: Cycle Start を押します。制御装置は、物理的な軸移動なしでチャネルパラメータを更新します。
- JOG への切り替え: HMI ステータス画面で、アクティブな工具オフセットと座標フレームが期待されるリセット位置と一致していることを確認します。
エラー解析
| ブランド&アラームコード | トリガー条件 | オペレータの症状 | 根本原因 / 実用的な解決策 |
|---|---|---|---|
| Siemens Alarm 14710 初期化シーケンスエラー | 部品プログラムの開始後に生成された初期化ブロックに、誤ったマシンデータ設定(MD20112 に依存)が含まれている。 | サイクルスタート時にプログラム実行が即座に停止し、画面に初期化エラーメッセージが表示される。 | スタートマスクが無効なキネマティクス構成をロードしようとしています。スタートマスクに一致するマシンデータ設定が有効であることを確認するか、MD20112 $MC_START_MODE_MASK をデフォルトのリセット位置を採用するように構成します。 |
| Siemens Alarm 10870 端面加工軸未定義 | プログラム開始時に周速一定制御 (G96/G961/G962) が有効化されているが、基準となる横軸が定義されていない。 | NC スタートがブロックされ、機械が動作を拒否し、画面に端面加工軸アラームコードが表示される。 | 横軸(ジオメトリ軸)が不足しています。パラメータ MD20100 $MC_DIAMETER_AX_DEF で横軸を定義するか、起動時に G96 を無効にするよう MD20112 のスタート設定を変更します。 |
| Siemens Alarm 14710 (キネマティクスオプション) 初期化シーケンスエラー | スタートマスクが、チャネルに対して無効なアクティブフレームまたはキネマティクス変換をロードしようとした。 | 空間寸法の完全な喪失が事前に阻止され、制御装置は物理的な動作を開始する前にプログラムの初期化を停止する。 | スタートマスクの誤構成。無効なフレームのロードを防ぐために MD20112 $MC_START_MODE_MASK を 0 に変更するか、チャネルのキネマティクスを確認します。 |
実務応用ノウハウ
段取り前にMD20112パラメータを確認することで、このコマンドで最も多い非計画停止を防げる。もしMD20112 $MC_START_MODE_MASKの設定内容が不適切、あるいは未検証のままであると、スタート時にデフォルトのゼロオフセットや古い工具長が誤ってロードされ、機械は即座に空間認知能力を失う。この結果、スピンドルがワーク保持用のバイスジョーに衝突するか、補正チャックやフィクスチャクランプ、あるいはダブルタレットの対向機構に激突する致命的なハード collision(機械衝突)を引き起こし、不良品発生と被削材のスクラップ化につながる。また、このキネマティクス情報の不整合により、制御装置は起動を遮断し、アラーム14710(初期化シーケンスエラー)を発生させて運転停止状態となる。さらに、G96(周速一定制御)をスタートマスクのデフォルト位置で有効化しているにもかかわらず、横軸(ジオメトリ軸)がMD20100 $MC_DIAMETER_AX_DEFで事前に定義されていない場合、サイクルスタートと同時にアラーム10870(端面加工軸未定義)がトリガーされ、プログラムは即座に停止する。量産加工におけるロット間繰り返し精度と信頼性を保証するためには、最初の軸移動ブロックで必ず絶対座標(G90)を指定し、不適切なオフセットの暗黙的な適用による再現性の低下を根絶することが重要である。
関連コマンド
- MD20110 $MC_RESET_MODE_MASK: システム起動後またはプログラムのリセット/終了後の基本的な制御設定を定義し、スタートマスク設定と連携して動作します。
- MD22620 $MC_START_MODE_MASK_PRT: 標準のスタート設定をバイパスするために、SERUPRO ブロックサーチ中に使用されるスタート設定を定義します。
- MD22621 $MC_ENABLE_START_MODE_MASK_PRT: 並列 SERUPRO スタートマスクの有効/無効を切り替えるブーリアンスイッチとして機能します。
- MD20152 $MC_GCODE_RESET_MODE: ソフトウェアバージョン 5 以降で G-code グループのリセットを管理し、スタートおよびリセットマスクを補完します。
- MD20100 $MC_DIAMETER_AX_DEF: 周速一定制御に必要な横軸を定義し、プログラム開始時に G96 が有効化された際のアラーム 10870 の発生を防ぎます。
おわりに
プログラム開始時のデフォルト設定であるMD20112 $MC_START_MODE_MASKの最適化は、加工現場におけるキネマティクスエラーや予期せぬ機械衝突を未然に防ぐための極めて効果的な防壁となる。リセット状態(MD20110)とスタート状態を明確に分離し、ブロックサーチ(SERUPRO)時には専用のスタートマスク(MD22620)を割り当てることで、手動段取りデータを保持しつつ安全で予測可能な自動運転を実現できる。量産ロット全体の信頼性と繰り返し精度を維持するために、パラメータ変更の検証と最初のG90による絶対指令プログラムの標準化を徹底することが推奨される。
よくある質問
プログラム開始時に古い工具長補正やオフセットが勝手に適用され、ロット間で寸法ばらつきが発生するのを防ぐにはどうすればよいですか?
MD20112 $MC_START_MODE_MASKのビット4〜17を「0」に構成して、プログラム開始時に前回のJOGモードで残った一時的な測定補正データを強制クリアし、常にデフォルトのリセット位置をロードするように設定します。さらに、ロット開始前にシステム表示画面でアクティブな補正値が初期化されているか点検する工程を標準化してください。
G96(周速一定制御)開始時にアラーム10870が発生してサイクルスタートできない場合、どのパラメータを検証すべきですか?
このアラームは、スタートマスクでG96が有効化されているにもかかわらず、周速計算の基準となる横軸が定義されていない場合に発生します。チャネルパラメータMD20100 $MC_DIAMETER_AX_DEFに正しいジオメトリ軸名(通常はX)が登録されているか確認し、未登録の場合は軸名を設定してください。
プログラム開始時のデフォルト設定を変更する際、パラメータの誤設定によるアラーム14710の発生を未然に防ぐ検証方法はありますか?
実機で Cycle Start を実行する前に、まずシミュレーション環境(SinuTrainなど)へバックアップアーカイブを読み込み、MD20112の値変更による動作を仮想検証します。また、実機へ反映する際は必ずMDAモードで単一ブロックの設定書き込みを行い、軸移動なしでシステムステータスの変化とアラーム非発生を確認するステップを行ってください。
まだ解決しませんか?
このトピックについて、AIアシスタントに自然言語で質問できます。検証済みの情報源に基づいており、ハルシネーションはありません。

- CNC CARE Co-Founder (May 2025 - Present)
- Mitsubishi Electric NC Sales & Service Section Manager (2008 - 2025)
- Reis CNC Service Engineer (2003 - 2008)
- Ören Kalıp CNC Mold Line Team Leader (1999 - 2002)
CNC工作機械業界のあらゆる分野で25年以上の経験を持ち、ブランドに依存しないコンサルティング、エンジニアリング、純正部品サービスを提供するCNC CAREの共同創業者として活動を続けています。
関連記事
このトピックに関する他の記事
G27基準位置戻りチェックのCNCプログラミングと衝突防止対策
G27基準位置戻りチェックコマンドの正しいプログラミング手法を解説。Fanuc 1401、Siemens MD 34100、Mitsubishi #2037などの重要パラメータ検証や、アラーム61816等のトラブル対策、量産ロットの繰り返し精度と再現性を高める実務ノウハウを網羅。
Siemens G26 上限作業領域境界と主軸速度制限の設定
Siemens SINUMERIKのG26コマンドによる上限作業領域制限と主軸回転数制限の設定方法を解説。SD 43420などの重要パラメータ役割やアラーム対策を理解し、チャックやタレットの物理的衝突を防いで量産ロットの繰り返し精度を高めます。
G26主軸速度変動検出ONのプログラミングと制限設定方法
Fanuc、Siemens、MitsubishiにおけるG26/G162主軸速度変動検出とリミット制限の正しい設定方法を解説。パラメータ3402等の注意点や、過負荷によるスピンドル衝突・ワーク破損をロット間で確実に防ぐプログラミングノウハウ。
G25下限作業領域制限と主軸速度制限:Siemens CNC解説
SiemensのCNC制御装置(SINUMERIK)でG25を使用した下限作業領域および下限主軸速度を設定し、タレット衝突やチャック激突を防ぐプログラミング手法を解説。SD 43430やSD 43410などの安全パラメータ設定を徹底検証します。