Siemens 700000/700016 PLC安全アラームの診断と対策
Siemens Sinumerik搭載機におけるPLC安全アラーム700000および700016の診断と対策ガイド。MD14516による信号割付、DB1600インターフェースの動作確認、タレットエンコーダ断線等による非計画停止や不良品発生を防ぐ実務ノウハウを徹底解説します。
はじめに
CNC旋盤やマシニングセンタの量産加工において、PPUの背面にあるI/Oインターフェースの配線に緩み、断線、または接地(アース)不良が生じると、タレットエンコーダなどの物理デバイスからの信号損失が発生します。この状態でPLCが機械の現在位置を確認できなくなると、システムは即座に危険状態と判定し、強硬なインターロックが発動して非計画停止を引き起こします。また、チャックがアンクランプ状態(SBR56サループまたはサブルーチンで制御)のままオペレータが主軸を回転させようとした場合、PLCは加工サイクルを強制停止させ、ワークの飛び出しや金型衝突といった致命的な物理トラブルを防止します。しかし、このような安全アラームによる突然の停止は、量産ラインにおいて再現性の低下や不良品発生に直結し、特に「このパラメータが未検証のまま量産に入ると、2ロット目から寸法ばらつきが広がり、最終検査で初めて不良が発見される」といった事態を招きます。本稿では、Siemens SinumerikにおけるPLCユーザー安全アラームの代表格であるAlarm 700000およびAlarm 700016の仕組みを紐解き、信頼性と繰り返し精度を維持するための段取り手順とパラメータ設定について解説します。
技術概要
| 仕様項目 | 技術値 / マッピング |
|---|---|
| 制御コマンドアドレス | DB1600.DBX0.0 (Alarm 700000), DB1600.DBX2.0 (Alarm 700016) |
| 機能特性 | PLC User Alarms / PLC Safety |
| 重要な構成パラメータ | MD14516 $MN_USER_DATA_PLC_ALARM (Bits 0-7), MD14510[16], MD10100 $MN_PLC_CYCLIC_TIMEOUT |
| HMI変数インターフェース | ダブルワードブロック範囲 DB1600.DBD1000 から DB1600.DBD1508 |
| ハードウェア互換性制限 | PPU2xx.3モジュールで最大 32,000 LadderSteps、PPU2xx.4モジュールで最大 100,000 LadderSteps |
| 主な制約 / 要件 | 拡張PLCユーザーアラーム (701000-701999) には、互換モードの無効化とPLCプロジェクト内への専用データブロック DB9913 の組み込みが必要です。 |
クイックリード
- エッジトリガーによる有効化: Siemensの安全アラーム700000および700016は、それぞれのインターフェースビットにおける厳密な 0-to-1 信号エッジの立ち上がり時にトリガーされます。
- パラメータ駆動の応答: 送り停止、リードイン無効、または非常停止といった機械の応答は、ビットコード化された
MD14516パラメータに直接設定されます。 - ハードウェア容量制限: Siemens PLCの容量を 100,000 LadderSteps に拡張するには、PPU2xx.3モジュールからPPU2xx.4モジュールへの物理的なアップグレードが必要です。
- 動的データの注入:
DB1600.DBD1000からDB1600.DBD1508にわたるダブルワードを使用して、リアルタイムの数値をHMIアラームテキストへ動的に渡すことができます。 - 拡張ブロックの前提条件: 701000から701999の範囲で拡張ユーザーアラームを実行するには、互換モードの無効化と
DB9913の追加が必須となります。
基本概念
Siemens SinumerikのPLCユーザーアラームは、標準的なG-code構文ではなく、NC/PLCインターフェースのデータブロックにおける直接的なビット操作によって生成されます。各ユーザーアラームは、DB1600データブロック内の特定の起動ビットに対応しており、統合されたPLCが安全状態を即座に伝達できるようにします。例えば、Alarm 700000はアドレス DB1600.DBX0.0 上で 0-to-1 エッジをトリガーすることによって有効化されます。同様に、Alarm 700016は起動アドレス DB1600.DBX2.0 にマッピングされています。
オペレーターに即時の診断フィードバックを提供するため、Siemensは DB1600.DBD1000 から DB1600.DBD1508 までのダブルワードを使用した64ビットの変数インターフェースを提供しています。このインターフェースにより、10進数(%d)、16進数(%x)、または浮動小数点数(%f)などの動的な数値をHMIアラームテキストに直接渡すことができます。この統合により、固定テキストだけの状態表示が不要になり、異常発生時の正確なセンサー値や軸位置をリアルタイムで出力できます。
コマンド構造
Sinumerikコントローラの安全アラーム構造は、物理的なハードウェア入力をデータブロックのインターフェースへマッピングすることに依存しています。ドアの安全スイッチが開いたり、油圧ポンプが故障したりして、物理的な安全制限が破られると、PLCラダーロジックは割り当てられたインターフェースビットにハイ信号(ロジック 1)を書き込みます。この信号エッジの立ち上がりを検出したNCカーネルは、プログラムされた安全動作を即座に実行します。
これらのアラームを制御する物理的な反応やルールは、特定のマシンデータ(MD)パラメータによって厳密に定義されています。システムは MD14516 $MN_USER_DATA_PLC_ALARM[x] を利用して、個々のユーザーアラームの挙動を設定します。保全チームはこのパラメータを変更することで、特定の軸のみの停止、全体のフィード無効、あるいは完全な非常停止を柔軟に選択・割り当てることができます。
また、コントローラは MD14510[16] を使用してタレットの制限を定義し、ツールステーションの最大数を決定します。さらに、NCとPLCの間の通信がアクティブに維持されていることを保証するため、システムは MD10100 $MN_PLC_CYCLIC_TIMEOUT パラメータを監視し、標準リファレンス値である 100 ms のサイクル生存時間枠をチェックしています。
Siemensマシンデータパラメータ
| パラメータ | 説明 / ビットコード化機能 | 値の範囲 / 標準値 |
|---|---|---|
MD14516 $MN_USER_DATA_PLC_ALARM[x] | ユーザーPLCアラームの応答と解除基準を設定します(ここでxはインデックス0から247です)。Bit 0 = NCスタート無効; Bit 1 = リードイン無効; Bit 2 = 全軸送り停止; Bit 3 = EMERGENCY STOP; Bit 4 = PLC STOP; Bit 6 = DB1600 DBX3000.0による割り込み; Bit 7 = POWER ON時のクリア。 | ビットコード化 (Bits 0–7) |
MD14510[16] | 機械のタレットに許容されるツールの最大位置数を定義します。 | 2 から 64 |
MD10100 $MN_PLC_CYCLIC_TIMEOUT | NC-PLC同期のためのサイクル生存カウンタ(sign-of-life)監視時間枠を設定します。 | 標準値: 100 ms |
ブランド別応用
Siemens
PLC安全アラームである 700000 や 700016 が作動した際の実際のプログラミング動作は、加工サイクルのハードウェアレベルでの即時中断として現れます。この中断動作は、マシンデータパラメータである MD14516 に定義されたビット単位の応答設定に完全に制御されており、個別のアラームに応じて、送り停止、リードイン無効、または強制的な非常停止などを高度にカスタマイズできます。ドライブが準備未完了であることによって Alarm 700016 が起動した場合、通常は SBR33 subroutine が呼び出されて非常停止を強制し、激しい物理的衝突や致命的な機構破壊を防止するためにすべての軸の動作を即座に停止させます。
オペレーターやプログラマーは、このような安全インターロックを強制するハードウェア環境や論理条件に常に注意を払う必要があります。例えば、タレットモーターが過負荷になったり、オペレーターがチャックが開いた状態で主軸を回転させようとしたりすると(SBR56で管理)、PLCは加工ルーチンを強制的に停止し、ワークの飛び出しやパーツスクラップといった深刻な事故回避に努めます。初期セットアップ時や日々の運転時によく見られる障害原因として、PPUの背面にあるI/Oインターフェースの接続コネクタにおけるアース不良や配線の断線・緩みがあり、これがタレットエンコーダなどのセンサー信号喪失を引き起こします。システムがこのエンコーダフィードバックを失うと、即座に安全ではない状態とみなし、PLCは機械位置を安全に追跡できないため自動的に機械を停止させます。
安全な運用のために、保全要員はユーザーPLCプログラムが動的変数をアラームテキストに正しくマッピングしていることを確認し、オペレーターが異常時に迅速なコンテキストを得られるようにする必要があります。工具がクランプ内で安全にロックされていないか、あるいはサイクル中に安全扉が開けられた場合、システムは DB1600 の事前定義されたビットに依存して NC ready リレーをオフにし、動作を完全に防止します。
ブランド比較
Siemensのコントローラは、特定のハードウェアシリーズやデータブロック構成に応じて、ラダーステップ容量やソフトウェア機能のレベルが異なります。以下の表は、これらの技術的な仕様バリエーションを示しています。
| Siemens仕様 / 構成 | ラダーステップおよびアラーム範囲容量 | データブロックおよびソフトウェア要件 |
|---|---|---|
| 標準PLCユーザーアラーム (700000 から 700999) | 最大1,000個のOEM定義ユーザーアラームをサポート。 | 標準の DB1600 データブロックインターフェースビットを介して直接マッピング。特別なソフトウェアオプションの無効化は不要。 |
| 拡張PLCユーザーアラーム (701000 から 701999) | 追加で1,000個の高範囲OEM/ユーザー安全アラームを提供。 | 互換モードの無効化と、PLCプロジェクト内への専用データブロック DB9913 の組み込みが必要。 |
| PPU2xx.3 ハードウェアモジュール | PLC容量は最大 32,000 LadderSteps に制限。 | 標準的なハードウェアモジュール。エントリーからミドルクラスのPLCオートメーション構成に適しています。 |
| PPU2xx.4 ハードウェアモジュール | 最大 100,000 LadderSteps をサポートするようにメモリを拡張。 | アップグレードされた物理ハードウェアモジュール。複雑な安全ロジックや多軸構成に必須。 |
技術解析
Siemensは、その細密に体系化され、深く統合されたアラーム構造およびエラー診断方式により、他の制御ブランドと一線を画しています。第一に、Siemensはアラームを厳密なコード範囲に細分化しており、400000-499999 を一般的なPLCメッセージに、500000-599999 をチャンネル固有のPLCアラームに、そして 700000-709999 をOEM/ユーザー定義のPLCアラームに割り当てており、診断時のトラブルシューティングが極めて系統的になっています。これは、複雑な外部PMCロジックを介して診断を行う他のCNCメーカーの方式とは大きく異なり、例えば PMCアラーム PC030、PC090、PC097 のトラブルシューティングのように迷路のようなラダーファイルを解析する必要がありません。
第二に、SiemensはNCインターフェースとPLCインターフェースの間に直接的なビットレベルの統合を特徴としています。特定の機械的動作をトリガーさせるのに、複雑なバックグラウンドラダープログラムを書き直すことなく、MD14516 パラメータの対応するビットを設定するだけで確実な制御が可能です。最後に、Siemensはダブルワードブロック(例: DB1600.DBD1000 をAlarm 700000に直接渡す)を使用して、リアルタイムの数値をHMIアラームテキストへ自在に埋め込むことができます。これにより、エラーテキストの隣に実際の10進数や16進数の数値をネイティブに表示させることができ、どの軸、クランプ、またはセンサーがエラーの原因になったのかを正確かつ具体的にオペレーターへ通知できます。
診断およびトラブルシューティングを行う際、標準的なユーザーアラームとシステムの致命的なエラーを切り分けることが重要です。DB1600 にマッピングされたユーザービットは Alarm 700000 などをトリガーしますが、ハードウェア自身のクラッシュによってセーフティループが遮断されることもあります。これは、設定可能なソフトウェアロジックではなく、物理的なNCKプロセッサや回路基板の故障に起因する Siemens 2110 NCKハードウェア障害 のような壊滅的なハードウェアフォールトとは明確に区別されます。
プログラム例
以下の部品加工プログラムの例は、Siemensコントローラにおける安全制限およびチャンネルマーカーの調整手順を示しています。このシーケンスでは、G-codeコマンドを使用してツールパス動作と安全なサイクル停止をコーディネートします。
; Siemens Sinumerik 安全およびチャンネルマーカー調整の例
N10 G90 G00 X100 Z50
N20 ; 状態違反時にユーザー定義の安全ドアアラームをトリガー
N30 SETAL(65000, "Safety Door Open")
N40 ; チャンネル調整用の待機マーカー1を設定
N50 SETM(1)
N60 G01 X50 F0.2
N70 ; 軸移動後に調整用マーカー1をクリア
N80 CLEARM(1)
N90 ; チャンネル3および5で正確なマーカーステート(99)が満たされるまで実行を遅延
N100 WAITM(99,3,5)
N110 M30
空運転の実行と解析
空運転 (dry run)の実行中、制御部は以下のように動作します。
- N10: 機械はツールを絶対座標(G90)で早送り位置 X100 Z50 へ移動させます。
- N30: 制御部は
SETAL(65000, "Safety Door Open")命令を実行します。このコマンドは安全扉の状態を評価し、物理的なセーフティインターロックが開いている場合、実行を即座に一時停止し、指定されたテキストをHMI画面に出力して定義されたアラーム優先度に従って動作します。 - N50: プログラムは
SETM(1)を使用してチャンネル調整用の待機マーカー 1 をアクティブにします。このシグナルはマルチチャンネルインターフェースに送信され、他のチャンネルに対して自身の状態を伝えます。 - N60: X軸は、0.2 mm/rev の指定送り速度で X50 へ制御された補間動作を実行します。
- N80:
CLEARM(1)コマンドが実行され、調整用待機マーカーをクリアして、他の連携しているチャンネルに対して重要な補間ブロックが完了したことを通知します。 - N100: 機械は
WAITM(99,3,5)を処理し、チャンネル 3 とチャンネル 5 の双方がマーカー 99 を登録するまで動作を停止し、安全な多軸制御の同期を保証します。
エラー解析
以下の表は、Sinumerik安全システムをプログラミングまたは操作する際に発生しやすい一般的なSiemensのエラー、ツールパスアラーム、およびハードウェアフォールトの一覧です。
| アラームコード | トリガー条件 | オペレーターの症状および機械的影響 | 根本原因および実務的解決策 |
|---|---|---|---|
| Siemens Alarm 700000 | データブロックのインターフェースビット DB1600.DBX0.0 上で 0-to-1 信号エッジが立ち上がった場合。 | 加工サイクルが即座に停止し、MD14516[0] の設定に基づいて送り停止または非常停止が作動します。 | 油圧低下、安全ドアの開放、主軸過熱などの重大な機械トラブルの検知。物理的なリミットスイッチの動作や液面レベルを確認してください。 |
| Siemens Alarm 700016 | データブロックのインターフェースビット DB1600.DBX2.0 上で 0-to-1 信号エッジが立ち上がった場合。 | すべての送り軸の動作が即座に無効化され、SBR33: EMG_STOP サブルーチンを介して完全な非常停止がトリガーされます。 | システムがドライブの未準備(準備不十分)状態を検出。パワーサプライモジュール、ドライブ接続用バスケーブル、およびハードウェアのインターロック接続を調査してください。 |
| Siemens Alarm 700023 | プログラムされたツール位置番号が、マシンデータで設定されたタレットの最大刃数を越えた場合。 | タレット位置決めエラーが発生し加工プログラムの実行がハング。スピンドルおよびタレットの回転が停止します。 | 加工プログラムに記述されたツール番号が、パラメータ MD14510[16](範囲: 2〜64)で定義された上限を超えています。G-code内のT番号を修正するか、タレット構成を調整してください。 |
| Siemens Alarm 6409 | マルチツール「MTL」の位置を呼び出す際に、ツール「T」の識別子が記述されていない場合。 | 制御部が該当ブロックの実行を拒否し、補正ブロックの再構成を促した上でサイクル動作を停止します。 | 有効なマルチツールロケーションが呼び出されたにもかかわらず、具体的なツール識別コードが指定されていない構文エラー。ツールシーケンスを確認し、不足している T コードを追加します。これは他のG-codeエラー(例えば 不正な粗削り深さ(illegal depth rough cut)のエラー)と同様の典型的な構文ミスです。 |
実務応用ノウハウ
Sinumerikにおける安全ループの機能維持において、最も重要なのは制御盤やPPUの背面にあるI/Oインターフェースの配線状態です。初期の機械統合や定期メンテナンス時に、アース不良や配線の緩みがあると、タレットエンコーダなどのフィードバック信号が途絶えてAlarm 700000やAlarm 700016が不定期に発生します。この状態のまま稼働を続けると、再現性の低下やロット間の寸法ばらつきによる不良品発生につながります。特に、主軸が回転中にチャックのクランプ信号(SBR56による制御)が一瞬でも途切れると、PLCはDB1600内のNCレディ(NC ready)リレーを落として動作を完全にロックします。これにより、フィードレート・オーバーライド(feedrate override)が自動的に無効化され、加工中のワークが投げ出される大事故や、高価な治具および刃具の破損を防ぐことができます。段取り前にMD14516パラメータを確認することで、このコマンドで最も多い非計画停止を防げる。PLC内のDB1600.DBX0.0やDBX2.0を適切な状態に保ち、MD14516のビット設定(Bit 2の全軸送り停止やBit 3の非常停止など)を事前に機械の特性に合わせて最適化しておくことが、加工ロット全体の品質維持に直結します。
関連コマンド
SETAL: G-codeプログラム内から、65000から69999の範囲でユーザー定義のサイクルアラームをトリガーするために使用されます。WAITM: 指定された待機マーカーが他のチャンネルで到達されるまで、アクティブチャンネル内でのプログラム実行を一時停止します。WAITE: 他のチャンネルにおけるブロック完了またはプログラム終了を待つことで、チャンネル同期を調整します。WAITMC: 可能な限り連続パス補間をアクティブにしたまま、指定されたマーカーに到達するまでチャンネル動作を一時停止します。SETM: 独立した他のプログラム実行ストリームと安全な同期を取るため、アクティブチャンネル内で特定のマルチチャンネル待機マーカーを設定します。CLEARM: アクティブなチャンネル待機マーカーを解除し、協調している他のチャンネルに対して安全上の重要ブロックが完了したことを通知します。
おわりに
SinumerikコントローラにおけるPLC安全アラームの構成は、機械設備とオペレータの安全を守るための生命線です。DB1600の各種インターフェースビットを適切にラダーロジックへマッピングし、MD14516パラメータを用いて個々のアラーム応答(NC Start無効、フィード停止、非常停止など)を緻密に調整することにより、突発的なエンコーダ異常や配線トラブル発生時にも、致命的な衝突やワーク廃棄を回避することができます。量産加工における信頼性と繰り返し精度を保証するためには、単なるアラーム消去にとどまらず、段取り前の検証プロセスを定着させることが、再現性の低下や不良品発生を極小化する最も効果的な手法となります。
よくある質問
量産ロットの繰り返し精度を維持するために、Alarm 700000が発生した際、機械的にどのような点検・調整を行うべきですか?
タレットエンコーダやドアスイッチなど、Alarm 700000をトリガーする物理センサー回路の電気接点とシールドの接地(アース)状態を確認してください。微小な接触不良や電磁ノイズが原因でアラームが断続的に発生すると、軸の減速・再開が繰り返されて再現性の低下を招き、最終的に不良品発生へと繋がります。段取り替えのタイミングで必ずI/O端子台のネジ増し締めと配線の導通テストを行い、予防保全として記録に残すアクションを徹底してください。
PLC安全アラーム発生時、MD14516のビット設定が「NCスタート無効(Bit 0)」や「全軸送り停止(Bit 2)」の状態で再開した場合の品質リスクと対策は?
アラーム発生時にツールパスが途中で一時停止すると、刃先の熱や残留応力によってワーク寸法にコンマ数ミリのばらつきが生じ、2ロット目以降で寸法ばらつきが広がる深刻な再現性の低下を引き起こします。これを防ぐため、MD14516の設定が送り停止(Feed disable)になっている項目は、アラーム検知後にツールを一度安全な逃げ位置まで手動退避させてからリスタートさせるオペレーション規則を現場に確立してください。
タレットの割り出しエラー(Alarm 700023)やマルチツール呼び出し異常(Alarm 6409)が発生した際、段取り段階で検証すべきパラメータは何ですか?
プログラム内で使用するツール番号が、MD14510[16](タレット最大刃数制限、通常2〜64の範囲)に適合しているかを照合し、マルチツール(MTL)呼出時にTコードが欠落していないかを検証する必要があります。これらが不整合な状態で加工を強行すると、制御が異常終了して機械が急停止し、ロット途中で再現性の低下が発生する原因となります。段取り開始前のプログラムチェックシートにおいて、刃数とTコードの整合性検査を必須項目に追加し、シミュレーション(空運転)で確認を行ってください。
まだ解決しませんか?
このトピックについて、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を用いた障害物回避など、量産時のロット間再現性を高め不良品発生を防ぐための実務ノウハウを紹介します。