第4回 故障診断と自己診断について
機能安全における「異常を見つける仕組み」
機能安全シリーズ
第4回
はじめに
機能安全を理解するうえで、避けて通れない考え方の一つが 故障診断自己診断 です。
一般的に故障診断というと、機械やシステムに異常が発生したときに、その原因を調べる作業をイメージするかもしれません。
異音・振動
機械から異音がする、振動が大きくなった
センサー異常
センサーの値がおかしい
突然停止
装置が突然停止した
機能安全における故障診断の目的
単に故障原因を見つけることではありません。
安全機能を失わせる可能性のある故障を検出し、必要に応じて機械を安全な状態へ移行させること が目的です。
一般的な故障診断の例
一般的な故障診断には、次のような方法があります。

これらは主に 故障の発見原因の特定保全稼働率向上 を目的としています。装置を壊さない、止めない、早く復旧するための診断です。

しかし、機能安全ではさらに一歩進んで、その故障が人に危険を及ぼすかどうか を考える必要があります。
機能安全における故障診断
機能安全では、システムや部品の故障のうち、特に 危険側故障 に注目します。危険側故障とは、安全機能が必要なときに働かなくなる故障 です。
非常停止の不作動
非常停止ボタンを押しても停止しない
安全扉の無効化
安全扉を開けても機械が止まらない
ライトカーテン不作動
ライトカーテンを遮光しても危険動作が停止しない
出力固着
安全PLCの出力がONに固着する
遮断不能
モータ駆動回路が遮断できない
断線誤認
センサー断線を正常状態と誤認する

このような故障は、単なる装置故障ではなく、事故につながる可能性があります。危険側故障をできるだけ検出し、検出した場合には安全状態へ移行させる設計が必要です。
自己診断とは何か
自己診断とは、システムが自分自身の状態を監視し、異常がないかを確認する機能です。人間で言えば、健康診断やセルフチェックのようなものです。
診断対象の例
CPUが正常に動作しているか
メモリに異常がないか
入力回路・出力回路が正常か
電源電圧が正常範囲にあるか
センサー信号が矛盾していないか
二重化された信号が一致しているか
通信が正常に行われているか
ウォッチドッグが正常に動作しているか

重要: 自己診断を入れれば自動的に安全になるわけではありません。どの故障を検出するのか、どの周期で検出するのか、故障を検出した後にどうするのか、まで設計しなければなりません。
起動時の自己診断
自己診断には、まず 起動時診断 があります。これは、電源投入時や運転開始前に実施される診断です。
起動時診断は、機械を運転状態に入れる前の 最初の関所 と言えます。
代表的な起動時診断項目
  • 電源電圧の確認
  • CPUの基本動作確認
  • ROMのチェック
  • RAMの簡易チェック
  • 入力回路・出力回路の確認
  • 通信異常の確認
  • ウォッチドッグの確認

注意: 出力回路がONに固着している状態で装置を起動すれば、予期しない動作が発生する可能性があります。起動時に異常が見つかった場合、そのまま機械を動かすのは危険です。
Runtime中の自己診断
自己診断は、起動時だけでは不十分です。なぜなら、故障は運転中にも発生するからです。このため、機能安全では、運転中(Runtime中)にも自己診断を行うことがあります。
メモリ診断の分割実行例
1MBのメモリを3分割して、周期ごとに順番に診断する方法です。
1
1周期目
前半の3分の1を診断
2
2周期目
次の3分の1を診断
3
3周期目
最後の3分の1を診断
なぜ分割診断が必要か?
起動時間を短くするため、起動時は簡易チェックにとどめる場合があります。
一方で、運転中に詳細なメモリ診断を一度に実行すると、処理時間が長くなり、制御周期に影響を与える可能性があります。
そのため、メモリ全体を小さな領域に分けて、周期ごとに順番に診断する方法が実務上よく使われます。
よくある設計ミス
典型的なミスの例
仕様書には「メモリ診断を実施する」と書かれている。しかし、実際のソフトウェアを見ると、1MBあるメモリのうち、3分の1のアドレス範囲しか診断していない
見かけ上
診断時間は短く、高速に完了
実態
残りの3分の2は未診断

認証・妥当性確認の場面では重大な指摘事項になり得ます。
設計仕様と実装が一致していないことになります。
機能安全で明確にすべき3点
1
何を診断しているのか
2
どの範囲を診断しているのか
3
どの故障を検出できるのか
DC:Diagnostic Coverageとは何か
機能安全で故障診断を考えるときに重要になる指標が DC(Diagnostic Coverage)です。日本語では「診断範囲」と訳されることがありますが、実務上は 診断カバー率 と理解した方が分かりやすいです。

DCは、危険側故障全体のうち、診断によって検出できる危険側故障の割合 を示します。単に「物理的にどこまで検査したか」ではありません。
具体例で理解するDC
ある回路に10種類の危険側故障が想定されるとします。
9種類を検出できる場合
→ 診断カバー率は高い
1種類しか検出できない場合
→ 診断カバー率は低い
自己診断を実装していても、検出できる故障が少なければ、DCの評価は低くなります。
DCの考え方
DCは、次のようなイメージで理解すると分かりやすいです。
ISO 13849-1では、PLを評価する際に、MTTFD、カテゴリ、DCavg、CCFなどを考慮します。ここでいうDCavgは、平均診断カバー率 です。

自己診断は「あるか、ないか」だけで評価されるものではありません。重要なのは、その診断によって危険側故障をどの程度検出できるか です。
カテゴリと自己診断の関係
ISO 13849-1では、安全関連制御システムの構造をカテゴリで分類します。自己診断の意味は、カテゴリによって変わります。
カテゴリB・1
基本的には診断によって故障を検出する構造ではありません。
カテゴリ2
テストによって故障を検出します。
カテゴリ3・4
冗長化や監視によって、単一故障が発生しても安全機能を維持する設計が求められます。特にカテゴリ4では、より高い診断能力が求められます。
診断後の反応が重要
自己診断で故障を検出することは重要です。しかし、それだけでは不十分です。

異常を検出しているのに、そのまま機械が動き続けるなら、安全上の意味はありません。
自己診断は、故障を見つける機能見つけた後に安全側へ移行する機能 がセットになって初めて意味を持ちます。
故障検出後に必要な処理
安全出力をOFFする・モータを停止する
STOを作動させる・危険動作を禁止する
再起動を禁止する・エラー状態を保持する
手動リセットを要求する・保守員に異常を通知する
自己診断を設計するときの確認項目
自己診断を設計するときには、少なくとも次の点を明確にする必要があります。
01
安全機能との関係
どの安全機能に関係する診断なのか
02
診断対象の特定
どの部品、回路、ソフトウェアを診断するのか
03
故障モードの確認
どの故障モードを検出するのか。その故障は危険側故障なのか
04
診断タイミング
診断は起動時だけでよいのか。運転中にも診断が必要なのか。診断周期は妥当か
05
安全状態への移行
故障を検出した後、安全状態へ移行するのか。異常状態は保持されるのか。リセット条件は明確か
06
診断範囲の整合性
診断範囲と実際の使用範囲は一致しているか。診断機能そのものの故障は考慮されているか

このように見ると、自己診断は単なるソフトウェア処理ではありません。安全機能全体の設計と密接に関係する重要な要素です。
自己診断は「保険」ではなく「設計」

自己診断を追加すると、何となく安全になったように見えることがあります。しかし、これは危険な考え方です。自己診断は、後から付け足す保険ではありません。
安全要求仕様、PLr、カテゴリ、MTTFD、DCavg、CCF、ソフトウェア設計、検証、妥当性確認と整合していなければなりません。
過少診断の危険
PLrが高い安全機能に対して、簡単な起動時チェックだけで十分だと判断するのは危険です。
過剰診断の無駄
低リスクの機能に対して過剰な自己診断を入れると、コストや処理時間だけが増える場合もあります。

重要なのは、リスクに応じて必要な診断を設計すること です。
まとめ
故障診断や自己診断は、機能安全において非常に重要な考え方です。ただし、一般的な保全目的の故障診断と、機能安全における故障診断は目的が異なります。
一般的な故障診断
装置の異常を見つけ、保全や復旧につなげるためのもの
機能安全における故障診断
危険側故障を検出し、安全機能を維持する、または安全状態へ移行させるためのもの
特に重要な3つのポイント
DCの本質
DCは単なる検査範囲ではなく、危険側故障の検出割合である
カテゴリとの関係
カテゴリによって、自己診断に求められる役割は異なる
検出後の移行設計
故障を検出した後、安全状態へ移行する設計が必要である
自己診断は、入れれば安全になるものではありません。何を診断するのか。どの故障を検出するのか。いつ検出するのか。検出後にどう安全側へ移行するのか。 ここまで設計して、初めて機能安全における自己診断と言えます。
最後に
機能安全の世界では、「故障しないように作る」だけでは不十分です。
故障は起こるものとして考えます。
故障したときに危険にならないようにする
危険側故障を検出する
検出したら安全状態へ移行する
機能安全における故障診断と自己診断の基本
この考え方が、機能安全における故障診断と自己診断の基本です。
故障を前提とした設計こそが、真の機能安全を実現します。
第4回 完