Skip to main content
CNC.wiki

Siemens CNC設定データSDの構造とアラーム対策

Siemens CNCにおける設定データ(SD)の構造、揮発性パラメータSD43790やSD54657の保存管理、およびMD10709の誤設定が引き起こす起動時のAlarm 4009への対策を解説。測定公差によるクラッシュ防止とロット再現性を両立する設定方法を詳述。

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

CNC CARE 共同創業者

はじめに

ワーク測定用のアクティブな測定プローブが寸法偏差や安全境界の逸脱を検出した際、Siemens制御盤の設定データ(Setting Data: SD)パラメータの構成に不備があると、軸移動が停止せずワーク保持用のバイスジョー(vise jaw)やクランプ(clamp)、あるいは主軸チャック(chuck)に工具が猛烈な速度で衝突する致命的なハードクラッシュを引き起こす。このパラメータが未検証のまま量産に入ると、2ロット目から寸法ばらつきが広がり、最終検査で初めて不良が発見される。特に、段取り前に54657番パラメータを確認することで、このコマンドで最も多い非計画停止を防げる。設定値の検証を怠ることは、ロット間における再現性の低下や不良品発生に直結し、加工現場における重大な設備損傷と時間的損失をもたらす。したがって、SINUMERIKシステムにおける設定データの特性とパラメータ制御の整合性を正しく理解することは、衝突事故を防ぎ、安定した繰り返し精度を維持するための不可欠な技術的アプローチである。

技術概要

コマンド / コードグループ設定データ (SD)
モーダルグループ / エリアシステム構成 / 設定データ
サポート対象ブランドSiemens
重要パラメータSD43790 $SA_OSCILL_START_POS, SD54657 $SNS_MEA_TOL_ALARM_SET_M0
主な制約事項MD10710 $MN_PROG_SD_RESET_SAVE_TAB に登録されていない限り、リセット時に揮発(volatile)。キースイッチ設定に基づくデータクラス(S、M、I、U)によるアクセス制限。

クイックリード

  • G-codeプログラム内で直接、$接頭辞(例: $SA_OSCILL_START_POS[Z])を使用した直接の英数字アドレス指定を使用します。
  • 設定データ(Setting Data)の変更は揮発性(volatile)であり、リセット保存テーブルにリンクされていない限り、NCリセットまたはM30時にデフォルト値に戻ることを理解してください。
  • 永続性を確保するために、重要な設定データのアドレスをマシンデータMD10710 $MN_PROG_SD_RESET_SAVE_TABに登録します。
  • ワーク測定の許容値を超えたときに内部のM0停止を発生させるには、SD54657 $SNS_MEA_TOL_ALARM_SET_M01に構成します。
  • SD43790のような軸固有の設定データは、研削盤制御ではオペレータ向けにロック解除(プロテクションレベル7)されていますが、基本的な旋盤/フライス盤バリアントではロック(プロテクションレベル0)されていることに注意してください。
  • アラーム 4009を伴う起動停止を防ぐために、パワーオン初期化テーブルMD10709 $MN_PROG_SD_POWERON_INIT_TABに無効な設定データ番号が含まれていないことを確認してください。

基本概念

Siemensの設定データ(SD)構造の実用的なプログラミング効果により、オペレータやプログラマは、深いマシンデータ(MD)の変更に伴う危険なメモリ再編成のためのシステム再起動を必要とせず、実行時にアクセス可能な非常に柔軟なシステム構成レイヤーを利用できます。パートプログラム内で設定データと直接やり取りすることで、開発者はスピンドル制限、ねじ切り開始角度、測定サイクル許容値、およびオシレーション(揺動)境界を実行中に動的に調整できます。

しかし、プログラマとオペレータはこれらのパラメータの固有の揮発性(volatility)に注意しなければなりません。オペレータが特別な加工のために設定データパラメータをシフトするNCプログラムに依存する場合、このパラメータがリセット保存テーブルにマッピングされていることを確認する必要があります。この保護がないと、制御盤はNCリセットまたはM30プログラム終了時に静かに元のデフォルト状態に戻り、オペレータが2番目のワークピースを実行したときに完全に予測不可能なキネマティクス動作を引き起こします。

コマンド構造

Siemensは、ドル記号($)で始まる高度に構造化された英数字フォーマットを使用して設定データ(SD)を整理およびアドレス指定します。命名規則は、後続の文字に基づいて正確なデータ領域を定義します。一般的な設定データパラメータには$SN_、チャネル固有のパラメータには$SC_の接頭辞が付きます。

軸固有の設定データパラメータは$SA_接頭辞を使用します。さらに、サイクル構成用の専用範囲は3番目の文字としてSを使用するため、サイクル設定データ用として$SNS_$SCS_、または$SAS_のような接頭辞になります。アクティブな設定データファイルは.SEAファイル拡張子で保存されます。

データはNCパートプログラム内で直接アドレス指定でき、軸固有のパラメータは角括弧内にプログラミングされた軸名または配列位置をインデックスとして利用できます。アクセスは、7段階のキースイッチおよびパスワード保護階層に直接マッピングされた4つの異なるデータクラスによって厳密に管理されています。これらのクラスは、権限のないオペレータがコアマシンの運動学(kinematics)を破損するのを防ぐと同時に、ユーザーレベルの設定データを編集するためのアクセスを許可します。

  • システム (S): プロテクションレベル0。制御装置メーカー用に予約されています。
  • メーカー (M): プロテクションレベル1および2。工作機械メーカー(OEM)用。
  • 個別 (I): プロテクションレベル1、2、または3。メンテナンス担当者用。
  • ユーザー (U): プロテクションレベル3、4、および7。オペレータおよびプログラマ用。

アドレス構文フォーマット

$[Prefix]_[ParameterName]
$[Prefix]_[ParameterName][AxisIndex]

主要設定データパラメータ

パラメータ説明値範囲
SD43790 $SA_OSCILL_START_POS往復/揺動(オシレーション)軸の開始位置を定義します。DOUBLE (-1.0E+301 から 1.0E+301、mm または度)
SD54657 $SNS_MEA_TOL_ALARM_SET_M0寸法測定公差を超えたときのマシンの挙動を制御します。整数 (0: アラームを表示し継続、1: 内部M0を生成)
SD42000 $SC_THREAD_START_ANGLEG33などのねじ切り加工でねじ開始角度(SF)をプログラミングするために使用されるチャネル固有の設定データ。DOUBLE (mm または度)

ブランド別応用

Siemens

Siemensは、$接頭辞を使用して、標準のパートプログラム内で設定データ(SD)のハイレベルかつ明示的な英数字によるアドレス指定をネイティブにサポートしています。パラメータを不可解で文書化されていない番号付きマクロ変数の中に隠蔽する操作盤とは異なり、SiemensはGコードエディタ内で直接アクセスできる完全な自己文書化構文を提供します。プログラマは、システムの設定データに影響を与えることなく、数学的計算のためにRパラメータプログラミング(R-Parameter Programming)を使用することもできます。

第二に、Siemensはキースイッチ階層に直接結びついたきめ細かなデータクラス(S、M、I、U)を通じて、パラメータの厳格な分離を維持しています。これにより、オペレータはメーカーレベルのキネマティクス(運動学)を破損するリスクを負うことなく、ユーザーレベルの設定データを自由に編集できます。第三に、Siemensはリセット保存テーブル(`PROG_SD_RESET_SAVE_TAB`など)を介して、リセット時のパラメータ永続性を独自に処理します。すべてのパラメータ変更を純粋に揮発性にするか、ROMに恒久的に書き込むかを強制する代わりに、開発者はどの個別の設定データ変数をNCリセット後も存続させるかを明示的に宣言でき、マシンの初期化状態に対する比類のない制御を提供します。

  • SD43790 $SA_OSCILL_START_POS: 揺動(オシレーション)軸の開始位置を定義します (DOUBLE, -1.0E+301 から 1.0E+301)。
  • SD54657 $SNS_MEA_TOL_ALARM_SET_M0: 測定公差を超えたときにM0停止をトリガーするか、単にメッセージを表示するかを制御します (0 または 1)。
  • SD42000 $SC_THREAD_START_ANGLE: G33操作のねじ開始角度を設定します。

ブランド比較

制御バリアント / シリーズ揺動パラメータアクセス (SD43790)アクセス権およびプロテクションレベル
SINUMERIK 828D 研削盤仕様 (828d-gce42 / 828d-gse42)プロテクションレベル7(ユーザー)にアンロック。オペレータは自由に編集可能。アクセス権はユーザーレベルに開放されており、実行時にストローク調整が可能です。
SINUMERIK 828D 旋盤/フライス盤仕様 (828d-me42 / 828d-te42)プロテクションレベル0(システム)にロック。メーカーパスワードが必要。不正な運動学的調整を防止するためにアクセスが制限されています。
SINUMERIK 840D / 840D sl完全にカスタマイズ可能。プロテクションレベルはOEMによって再割り当て可能。アクセス権は、機械のテクノロジーバージョンやカスタム構成によって根本的に異なります。

技術解析

SINUMERIK設定データ(SD)のアクセス制御アーキテクチャは、特定の機械テクノロジープロファイルに基づいてSiemensがどのようにパラメータの隔離を処理するかを示しています。研削盤仕様では、揺動(オシレーション)開始位置を動的に変更できる機能が標準的な操作要件となります。SD43790 $SA_OSCILL_START_POSをプロテクションレベル7(User)にアンロックすることで、一般のオペレータがサービスエンジニアを呼ぶことなく制御パネルでストロークを調整できます。しかし、基本的なフライス盤および旋盤仕様では、往復運動は主要な加工機能ではないため、意図しない座標オフセットからシステムを保護するために、この同一パラメータがプロテクションレベル0(System)にロックされています。

この技術的な分離により、必要な場所での操作上の柔軟性を維持しつつ、オペレータによる重要な機械構成の誤設定を防ぎます。Siemensの英数字アドレス指定形式は、他のコントローラでよく見られるプログラミングエラーを防ぎます。$SA_$SC_のような説明的な接頭辞を使用することで、Gコードプログラムの可読性と保守性が維持されます。高度な軌跡制御のために、設定データは、軸限界を監視しながら表面品質を維持する公差ベース平滑化(G645)などの高速動作と連携して機能させることができます。

プログラム例

次のGコードブロックは、パートプログラムから直接Siemens設定データパラメータを書き込みおよび変更する方法を示しています。これらの変更は、ねじ切り開始角度、揺動座標、および測定アラーム設定を調整します。

; Siemens Setting Data Adjustment Example
$SC_THREAD_START_ANGLE = 90.0          ; G33のねじ開始角度を90度に設定
$SA_OSCILL_START_POS[Z] = 15.5         ; Z軸 of 揺動開始位置を15.5 mmに設定
$SNS_MEA_ALARM_MASK = 'H10000'         ; 測定サイクルアラームマスクを構成
M30                                    ; プログラム終了

空運転 (dry run)の解析

このプログラムの空運転を実行すると、次の実行シーケンスがチェックされます:

  1. 制御盤は最初のブロックを読み取り、実行中の動作を中断することなく、チャネル固有のねじ開始角度($SC_THREAD_START_ANGLE)を90.0度に動的に更新します。
  2. 制御盤は$SA_OSCILL_START_POS[Z]を使用して、Z軸の往復開始位置に15.5 mmを割り当てます。
  3. 制御盤は$SNS_MEA_ALARM_MASK'H10000'に更新し、アクティブプローブがアラーム例外を処理する方法を変更します。
  4. プログラムはM30に達して終了します。これらの値はデフォルトで揮発性(volatile)であるため、リセット保存テーブルに登録されていない限り、リセット時に元の値に戻ります。

エラー解析

ブランドアラームコードトリガー条件オペレータの症状根本原因 / 修正対策
SiemensAlarm 4009パワーオン初期化配列(`MD10709 $MN_PROG_SD_POWERON_INIT_TAB`)内に無効な設定データ番号が構成されている。起動時(ランアップ時)にNCKが停止し、無効なインデックスを表示してシステム起動をブロックする。パワーオン初期化テーブルに有効な設定データ(Setting Data)番号を入力するか、インデックスをゼロに設定してクリアします。
SiemensAlarm 62306ワーク測定により、部品寸法が構成された許容限界(公差限界)を超えていることを検出した。NCKが「許容寸法差超過(Permissible dimensional difference exceeded)」をトリガーし、公差停止がアクティブな場合は実行を停止する。SD54657 $SNS_MEA_TOL_ALARM_SET_M0を確認します。ワーク位置決めを調整し、工具摩耗をチェックするか、公差限界を更新します。
SiemensAlarm 61303アクティブな測定プローブが、定義された安全境界の外側の表面を移動または検出しようとした。NCKが「安全領域外(Beyond safe area)」サイクルアラームを表示し、物理的な軸移動を停止する。プローブのキャリブレーションを確認し、バイスジョー(vise jaw)やチャック(chuck)内のワークアライメントをチェックし、サイクルパラメータ内の安全領域境界を調整します。

実務応用ノウハウ

自動測定サイクル実行中の設定データの設定ミスは、未校正の工具がワーク保持用のバイスジョー(vise jaw)やクランプ(clamp)に激突し、補正機能付きチャック(chuck)への激しい衝突(PLCアラーム 700013「Operation while chuck is not locked」を誘発)や、ダブルタレット(turret)機構の破損(PLCアラーム 700022「Turret motor overload」やアラーム 700011「Tool clamping timeout」を誘発)といった壊滅的な衝突事故(hard collision)と不良品発生(scrap part)に直結する。アクティブなプローブがワークや工具の異常を検出した際、アラーム 62306やアラーム 61303が本来ならトリガーされる。しかし、測定サイクルアラームマスク(`$SNS_MEA_ALARM_MASK`)が適切な退避ルーチンを実行するように構成されていないか、または許容差停止の設定データである`MEA_TOL_ALARM_SET_M0`(SD54657)がデフォルトの`0`のまま放置されていると、制御盤はテキスト警告を表示するのみで物理的な軸移動を継続してしまう。この再現性の低下と安全チェックの無効化を避けるため、実務においては、公差外が検出された場合に物理的なM0停止を強制的に発生させるよう、SD54657を確実に`1`に設定する段取り手順が求められる。

関連コマンド

  • MD10710 $MN_PROG_SD_RESET_SAVE_TAB: NCリセットやプログラム終了をまたいで、指定された設定データ(Setting Data)の値を不揮発性メモリに保持します。
  • MD10709 $MN_PROG_SD_POWERON_INIT_TAB: 制御盤の電源投入時に、どの設定データパラメータを自動的に初期デフォルト値に戻すかを設定します。
  • Rパラメータプログラミング(R-Parameter Programming): システムの再起動を必要とせず、システムの設定データに影響を与えない、パートプログラミング用の実行時アクセス可能な変数構造として機能します。
  • G33 ねじ切り(G33 Threading): 正確なねじ開始角度をプログラミングするために、チャネル固有の設定データ`SD42000 $SC_THREAD_START_ANGLE`に依存します。

おわりに

Siemensのシステムにおいて安定した繰り返し精度と信頼性の高い精密量産体制を維持するためには、プログラムによる設定データ(SD)の一時的な変更を確実に管理し、NCリセット時の揮発挙動を完全に制御する必要がある。特に、再起動やプログラム終了後も設定を引き継ぐ必要があるパラメータは、マシンデータMD10710(`$MN_PROG_SD_RESET_SAVE_TAB`)に正しく登録して不揮発化を図るべきである。測定サイクルにおける公差設定やアラームマスクを事前検証し、オペレータのキー保護クラスに応じたアクセス権限の割り当てを最適化することで、非計画停止や不良品発生を防ぎ、安全かつ効率的な量産プロセスを確立することを推奨する。

よくある質問

CNC旋盤の量産ロット間でワーク寸法にばらつきが発生する場合、設定データで何を検証すべきですか?

工作物の自動計測を行っている場合、測定サイクルの結果判定を制御するSD54657(`$SNS_MEA_TOL_ALARM_SET_M0`)が`1`(M0停止)になっているかをまず検証します。これが`0`になっていると、公差を外れた(再現性の低下した)状態のまま加工が継続され、後続ロットがすべて不良品になってしまいます。段取り時に必ずSD54657と測定結果変数の値を確認し、公差外で自動停止するようテストピースで確認動作を行ってください。

M30プログラム終了やNCリセットを行うと、プログラムで変更した設定データが消えてしまうのはなぜですか?

Siemensの設定データ(SD)はデフォルトでは揮発性であり、M30やNCリセットが実行されると初期状態へリセットされます。これを永続化させるためには、該当する設定データのアドレスをマシンデータMD10710(`$MN_PROG_SD_RESET_SAVE_TAB`)に登録する必要があります。パラメータを恒久的に維持したい場合は、MD10710に設定したいSD番号を追加し、NEWCONFコマンドで登録を有効化してください。

システム起動時にAlarm 4009が発生してNCKが起動しない場合の解決方法は?

このアラームは、パワーオン初期化テーブルであるMD10709(`$MN_PROG_SD_POWERON_INIT_TAB`)の配列内に、無効または存在しない設定データ(SD)の番号が登録されています。解決するには、起動時にマシンパラメータ画面にアクセスし、MD10709内の該当する無効な設定データ番号を「0」に書き換えるか、正しい設定データ番号へ修正して、制御盤のパワーオン再起動(電源オフ/オン)を実行してください。

まだ解決しませんか?

このトピックについて、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 - 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等のトラブル対策、量産ロットの繰り返し精度と再現性を高める実務ノウハウを網羅。

FanucSiemensProgramming

Siemens G26 上限作業領域境界と主軸速度制限の設定

Siemens SINUMERIKのG26コマンドによる上限作業領域制限と主軸回転数制限の設定方法を解説。SD 43420などの重要パラメータ役割やアラーム対策を理解し、チャックやタレットの物理的衝突を防いで量産ロットの繰り返し精度を高めます。

SiemensProgramming

G26主軸速度変動検出ONのプログラミングと制限設定方法

Fanuc、Siemens、MitsubishiにおけるG26/G162主軸速度変動検出とリミット制限の正しい設定方法を解説。パラメータ3402等の注意点や、過負荷によるスピンドル衝突・ワーク破損をロット間で確実に防ぐプログラミングノウハウ。

FanucSiemensProgramming

G25下限作業領域制限と主軸速度制限:Siemens CNC解説

SiemensのCNC制御装置(SINUMERIK)でG25を使用した下限作業領域および下限主軸速度を設定し、タレット衝突やチャック激突を防ぐプログラミング手法を解説。SD 43430やSD 43410などの安全パラメータ設定を徹底検証します。

SiemensProgramming