「機械設計の設計検証とFMEA|リスクアセスメント・故障試験・残留リスクの判断」の内容を表す技術イラスト
UNIT 01機械設計 FIG.00 · EYECATCH

機械設計の設計検証とFMEA|リスクアセスメント・故障試験・残留リスクの判断

機械設計の設計検証、妥当性確認、リスクアセスメント、FMEAを油圧昇降装置の例で体系的に解説。推力計算、荷重保持と停止時間の試験、測定不確かさを考慮した合否判定、故障時の安全設計、残留リスクのレビュー、要求と試験結果のトレーサビリティ、JSON・Pythonへの知識資産化まで実務手順を整理します。

DOC NO.EKP-01-1269
DATE
REVB
READ約 18 分
目次

設計検証は「計算が合った」だけでは終わらない

機械設計では、強度計算が成立し、製作図面とBOMが発行されても、それだけで装置の安全性や使用目的への適合が証明されたわけではない。実機は想定外の操作、電源喪失、センサ故障、油圧回路の漏れ、保守作業など、正常運転以外の条件にも置かれる。

設計実務の最終段階で必要なのは、要求仕様を検証可能な項目へ変換し、危険源と故障モードを評価し、対策の有効性を客観的な証拠で示すことである。試験に合格したことと、リスクが十分に低減されたことは同義ではない。

本記事では、油圧式昇降装置を共通事例に、設計検証(Verification)、妥当性確認(Validation)、リスクアセスメント、FMEAを一連の設計判断として扱う。数値は特記しない限り説明用の仮定であり、製品の設計許容値や規格要求値を示すものではない。

検証・妥当性確認・リスク評価を区別する

VerificationとValidationの違い

**設計検証(Verification)**は「設計結果が定義済みの要求を満たすか」を調べる。図面照査、計算の独立チェック、解析、寸法測定、性能試験などが証拠となる。

**妥当性確認(Validation)**は「実際の用途、使用者、運転環境に対して、装置が意図した目的を果たすか」を調べる。現場の操作性、保守作業、想定される誤使用、実負荷での動作確認などが関係する。

例えば「500 kgの荷を1.2 m持ち上げる」という要求に対し、定格負荷試験に合格すればその要求の一部は検証できる。しかし、作業者が手を入れる位置、荷の偏り、停電後の復帰手順を確認しなければ、実際の使用に適しているとは判断できない。

リスクアセスメントは、機械のライフサイクルにわたる危険源を特定し、危害の重大さと発生可能性を評価して、リスク低減の必要性を決める活動である。FMEAは、機能や構成要素の故障モードから影響を追跡する体系的な分析手法であり、危険源分析全体を置き換えるものではない。

活動中心となる問い典型的な成果物見落としやすい点
設計検証仕様を満たしたか計算書、試験成績書、照査記録未試験の要求が残る
妥当性確認実際の用途に適するか現場評価、運転・保守評価試験条件が現場と違う
リスクアセスメントどの危害をどう減らすか危険源一覧、残留リスク記録正常運転しか見ない
FMEA何がどう故障し、何が起こるか故障モード表、対策・検証欄人の介入や共通原因を見落とす

試験・検査・解析は証拠の種類が異なる

検査は寸法・外観・設定などの適合確認に向き、解析は荷重ケースや応力分布の広い探索に向く。試験は実機の相互作用を確認できるが、試した条件以外を自動的に保証しない。レビューは前提や証拠の欠落を発見する活動であり、レビュー済みという印だけでは性能の証明にならない。

設計者は、要求ごとに検証方法、試験条件、受入基準、測定不確かさ、記録ID、承認者を割り当てる必要がある。

事例:油圧式昇降装置の要求と設計変数

想定する装置は、垂直方向に荷を上昇・保持・下降させる油圧式昇降装置である。説明のための単純化した仕様を次に示す。

項目記号・値単位備考
最大積載質量m = 500kg荷の偏心は別途評価
上昇ストロークL = 1.2m有効移動量
重力加速度g = 9.81m/s²計算上の仮定
シリンダ内径D = 50mm説明用候補
供給圧力p = 5.0MPa説明用の運転点
力の簡易効率η = 0.85無次元摩擦等を一括近似
保持時の変位上限δ_lim = 3.0mm10分間、規定条件下
停止時間上限t_lim = 0.20s停止要求の仮定値

ここでの停止時間は、停止指令の入力から危険な運動が停止するまでと定義する。実機ではセンサ検出、制御処理、弁応答、機械運動の各時間を含め、測定開始・終了条件を試験仕様書に明記する。

力の一次計算とその限界

積載荷重による重力は次式で表される。

$$ F_g = mg $$

$$ F_g = 500\,\mathrm{kg}\times9.81\,\mathrm{m/s^2}=4905\,\mathrm{N} $$

シリンダの押し側受圧面積と、簡易的な有効推力は次のようになる。

$$ A=\frac{\pi D^2}{4} =\frac{\pi(0.050\,\mathrm{m})^2}{4} =1.9635\times10^{-3}\,\mathrm{m^2} $$

$$ F_c=pA\eta =5.0\times10^6\,\mathrm{Pa}\times1.9635\times10^{-3}\,\mathrm{m^2}\times0.85 \approx8345\,\mathrm{N} $$

$$ R_F=\frac{F_c}{F_g}\approx1.70 $$

圧力の次元は $\mathrm{Pa}=\mathrm{N/m^2}$ であり、$pA$ の次元はNとなる。比 $R_F$ は無次元である。

この1.70は仮定した運転点での単純な推力余裕比であって、機械の安全率、保持安全性、安全関連制御系の性能レベル(PL)を意味しない。背圧、荷の偏心、加減速、シリンダ姿勢、圧力損失、機械摩擦、故障時の荷重保持は未評価である。実設計では最大荷重ケースとメーカー資料を使って再計算する。

要求IDと受入基準を定義する

要求ID要求・安全機能検証方法受入基準の例
REQ-01定格500 kgで所定ストロークを動作実負荷試験全行程で機能異常なし
REQ-02指定位置で荷を保持変位計による保持試験10分の変位が3.0 mm以下
REQ-03停止要求で危険運動を停止時間応答試験停止時間0.20 s以下
REQ-04電源喪失時の危険な下降を防止故障模擬・安全分析承認した安全状態を維持
REQ-05保守時の予期しない起動を防止手順・構造・試験エネルギー隔離と安全介入が成立
REQ-06復電後の自動再始動を防止復電シーケンス試験意図した再始動操作なしに動かない

REQ-04、REQ-05は試験条件や定量的な合否条件をさらに詳細化しなければ正式な試験仕様にはならない。例えば「危険な下降を防止」は、支持方法、荷重位置、許容移動量、監視時間、単一故障の範囲を明確にする必要がある。安全機能の必要PLや回路構成はリスクアセスメントと適用規格から決め、ここで仮定の数値を割り当てない。

危険源から保護方策までの設計手順

1.機械の限界と作業状態を定義する

使用目的だけでなく、予見可能な誤使用、段取り、清掃、点検、修理、搬送、廃棄までを検討対象にする。人が立ち入る場所、可動範囲、保守の頻度、荷の最大偏心、温度、電源・油圧の状態を列挙する。

2.危険源・危険状態・危険事象を分ける

「高圧油」は危険源、「配管に手を近づけた状態」は危険状態、「ホース破損で高圧流体が噴出する」は危険事象の例である。重力による落下、挟まれ、油の噴出・注入、予期しない再始動、熱、騒音、滑り、保守時の蓄圧を別々に検討する。

3.リスクを見積もり、対策を選ぶ

リスク評価は、危害の重大さと発生可能性に基づく。発生可能性には曝露頻度、危険事象の発生確率、回避可能性などが関係する。次の点数は社内で説明するための例示尺度であり、ISO 12100が指定する普遍的な数式や許容基準ではない。

尺度1234
重大さS軽微治療を要する重傷死亡・重大な後遺障害
発生可能性P低いやや低い高い非常に高い

仮に、荷の落下による挟まれをS=4、P=3と評価すると、説明用スコアは $4\times3=12$ である。対策後にP=1と評価すれば $4\times1=4$ となる。ただし、4になったから安全と自動判定してはいけない。重大さが4のまま残ること、推定の不確かさ、法規・製品固有規格、保護方策の故障を確認する必要がある。

4.リスク低減は優先順位を守る

  1. 本質的安全設計方策:危険な可動部の配置変更、挟まれ空間の排除、必要な運動エネルギーの低減など。
  2. 安全防護・付加保護方策:ガード、インタロック、適切な荷重保持・機械的支持、停止・隔離機能など。
  3. 使用上の情報:残留リスクの表示、手順書、訓練、保守指示など。

「注意ラベルを追加した」だけで、設計上除去できる危険源への対策を完了したことにはならない。保護方策の選定後は、同じ危険源に対して再度リスクを見積もる。

5.安全機能は故障を含めて設計する

例えば、昇降装置の荷重保持に関係する機能では、電源喪失、弁の固着、内部漏れ、ホース破断、センサの不一致などを検討する。安全関連制御系の要求性能(PLrなど)が必要な場合は、対象の危険事象から決定し、アーキテクチャ、部品の信頼性、診断、共通原因故障、ソフトウェアを含めて設計・妥当性確認する。

油圧弁が「ノーマルクローズ」であること、非常停止ボタンが付いていること、PLCが停止信号を出すことのいずれも、それだけで危険な下降を防止できる証明にはならない。非常停止はエネルギー隔離や保守時の機械的支持の代用ではない。

FMEAで故障の連鎖を見える化する

FMEAの基本列

設計FMEA(DFMEA)は、機能、故障モード、局所影響、上位システムへの影響、原因、既存の予防・検出管理、推奨対策、対策後の証拠をつなぐ。製造工程の不具合は工程FMEA(PFMEA)などで別途扱う。

機能故障モード想定原因上位影響対策候補・確認
荷重保持内部漏れで保持力低下弁の汚染・摩耗荷の下降・挟まれ独立した支持方策、故障模擬試験
下降制御弁が開状態で固着異物・機械故障制御不能な下降安全状態の設計、故障注入
位置検出センサが一定値に固着断線・回路故障誤った停止位置不一致検出、異常時動作試験
油圧配管ホース破裂損傷・劣化・過圧噴出、荷重保持喪失配管保護、耐圧・配置検証
復電制御出力が意図せず再投入制御状態の不整合不意の再始動再始動抑止ロジックと実機試験

RPNを使うときの注意

よく用いられる例示的なRPNは、重大さS、発生頻度O、検出困難度Dの積である。

$$ RPN=S\times O\times D $$

例えば、荷重保持機能の故障をS=10、O=3、D=7と仮定すると、RPNは210となる。対策後にS=10、O=2、D=3と見積もれば60となる。

状態SODRPN
対策前1037210
対策後の仮評価102360

210から60へ下がったことは、安全性の証明ではない。 点数の定義と根拠が必要であり、重大な危害を低RPNだけで放置してはいけない。異なるS・O・Dの組合せが同じ積になること、順位が尺度に依存することにも注意する。IEC 60812:2018はFMEAの計画・実施・記録・維持や優先順位付けの複数の方法を扱うが、特定のRPN値を機械安全の普遍的な合格ラインとして与えるものではない。

対策の完了欄には「弁を変更した」ではなく、図面改訂、部品識別、試験ID、試験結果、残留リスク評価、承認日を記録する。未検証の対策は完了扱いしない。

数値例:測定不確かさを含む試験判定

保持試験の合否をどう判断するか

仮に、定格荷重500 kg、保持時間10分、周囲温度20±5 ℃、開始位置を指定し、変位の上限を3.0 mmとする。測定器の拡張不確かさを $U=0.4\,\mathrm{mm}$ と仮定する(包含係数、校正状態、温度・治具寄与は実試験で別途確認する)。

単純な保守的受入ルールを、測定変位 $d_m$ に対して次のように定義する。

$$ d_m+U\leq\delta_{\mathrm{lim}} $$

一方、明らかな不適合とみなす保守的な条件は次の通りである。

$$ d_m-U>\delta_{\mathrm{lim}} $$

その間は判定保留とし、再測定・測定系改善・設計再評価を行う。このガードバンドは本記事の説明用ルールであり、全産業に共通する法的な合否規則ではない。

試行測定変位 d_md_m + U判定
11.8 mm2.2 mm合格
22.0 mm2.4 mm合格
32.4 mm2.8 mm合格
42.6 mm3.0 mm合格(境界)
52.8 mm3.2 mm判定保留

第5試行は測定値2.8 mmだけを見ると3.0 mm以内だが、定義した保守的受入ルールでは合格と断定できない。測定器の精度だけでなく、負荷変動、油温、シールのなじみ、装置剛性、取付位置などの再現性も確認する。

停止時間試験と故障注入

停止時間の測定不確かさを $U_t=0.02\,\mathrm{s}$、要求上限を0.20 sと仮定する。保守的な受入条件は $t_m+U_t\leq0.20\,\mathrm{s}$ である。

試行測定停止時間不確かさ込み判定
10.16 s0.18 s合格
20.17 s0.19 s合格
30.18 s0.20 s合格(境界)
40.19 s0.21 s判定保留
50.24 s0.26 s不合格(下限0.22 sも超過)

第5試行では $0.24-0.02=0.22\,\mathrm{s}>0.20\,\mathrm{s}$ であり、仮定した不確かさの範囲でも要求を超える。よって、この例では設計検証ゲートを通過できない。第4試行も保留であり、合格した3試行だけを選んで結果を報告してはならない。

さらに、電源喪失、位置センサ断線、弁の固着、復電後の再始動などを、危険な運動を防ぐ試験治具・機械的支持・立入管理を設けた状態で評価する。故障注入は作業者を危険にさらす現場実験ではなく、事前の試験計画と安全確保を伴う検証である。

試験計画書に必要な情報

欄記録内容の例設計判断上の目的
試験IDVT-STOP-005結果を一意に追跡する
要求IDREQ-03仕様との対応を示す
リスクIDHAZ-02対象危険源を示す
対象構成装置S/N、図面改訂、PLC版試験した構成を固定する
条件500 kg、所定位置、油温、供給圧再現性を確保する
計測センサ、サンプリング周期、校正証拠の信頼性を確保する
合否0.20 s以下、判定ルール明記後付け判定を防ぐ
結果全試行値、異常、ログURL恣意的な抜粋を防ぐ
処置不適合票、原因、再試験不合格を設計変更へ戻す

安全機能の検証では、正常時の性能だけでなく、要求された故障条件、診断の反応、復旧手順、ソフトウェア版、油圧回路の実配管、残留エネルギーの扱いまで追跡する。解析モデルと実機構成が一致しているかも重要である。

リスク低減と設計変更を閉ループにする

flowchart TD
  A[要求と使用条件] --> B[危険源と故障モードを特定]
  B --> C[リスクを見積もる]
  C --> D[設計方策と安全機能を決める]
  D --> E[要求と受入基準を確定]
  E --> F[解析・検査・試験で検証]
  F --> G{基準と安全要求を満たすか}
  G -- いいえ --> D
  G -- はい --> H[妥当性確認と残留リスクの承認]

変更管理では、危険源、FMEA行、要求ID、図面・BOM改訂、試験仕様、試験結果を同じ変更案件に紐付ける。弁の形式を変えた場合、停止時間だけでなく、内部漏れ、保持能力、故障時の状態、交換部品、保守手順への影響を再評価する。

試験で不合格になったら、原因を「測定誤差」や「個体差」と決めつけない。測定系、荷重条件、制御タイミング、弁応答、機械剛性、油温などを切り分け、対策を施した改訂版で再検証する。

故障モード・誤設計の典型例

誤り生じる問題レビューでの確認
定格運転だけ試験停電・断線・保守時の危険を見逃す故障ケースと使用状態を網羅したか
推力余裕を安全機能の証明に使う落下防止の根拠にならない危険な下降への独立した方策はあるか
RPNが下がれば完了とする重篤な危害が残る重大さ、残留リスク、対策の実証は十分か
試験条件を後から変更結果の再現性・公平性を失う承認済みの試験仕様があるか
平均値だけで合否判定最悪試行を隠す全試行、ばらつき、不確かさを記録したか
非常停止を保守時の隔離とみなす蓄圧・重力・復電で危険が残る隔離、残圧除去、支持を別に評価したか
ソフトウェア更新後に試験を省略安全機能が変化しても気づかない構成管理と回帰試験は成立するか
メーカー仕様値を実機保証とみなす取付・配管・温度の影響を見逃す適用条件と実機試験を確認したか

規格・一次資料の位置付け

以下は2026年10月30日に発行元の公開ページで版と公開状態を確認した資料である。規格本文の全条項を確認したものではなく、装置への法令適合・認証を示すものでもない。製品固有のType-C規格、国内法令、顧客仕様がある場合はそちらも確認する。

規格公開状態・版本記事での位置付け
ISO 12100:2010発行済み、改訂案開発中危険源同定、リスク評価、リスク低減
ISO 4413:2010発行済み、2021年再確認油圧システムの一般安全要求
ISO 14118:2017発行済み、2023年再確認予期しない起動の防止
ISO 13849-1:2023発行済み安全関連制御系の設計・統合
ISO 13849-2:2012発行済み、改訂案開発中安全関連制御系の妥当性確認
IEC 60812:2018発行済み、第3版FMEA/FMECAの実施・記録

設計レビュー:合格判定の前に確認すること

設計レビューの出口では、次の問いに証拠で回答する。要求が未確定、危険源への対策が未検証、重大な不適合が未処置なら、承認ではなく保留・設計変更・再試験を選ぶ。

  1. 要求と使用条件は、正常時・異常時・保守時を含んでいるか。
  2. 各要求に測定可能な受入基準と検証方法があるか。
  3. 危険源一覧とFMEAの対象範囲・限界を説明できるか。
  4. 本質的安全設計から始まるリスク低減の優先順位を守ったか。
  5. 安全機能の要求性能と実現手段を、適用規格に基づき評価したか。
  6. 不確かさ、最悪値、試行数、試験構成を含めて結果を判定したか。
  7. 不適合の原因、対策、改訂、再試験を追跡できるか。
  8. 残留リスクを記録し、必要な使用上の情報に反映したか。
  9. 最終的な妥当性確認を、意図した使用環境で実施したか。

設計チェックリスト

  • □ 入力:用途、質量kg、ストロークm、圧力MPa、速度m/s、運転温度℃、作業状態を確定した。
  • □ 単位:N、Pa、m、s、mmの換算を確認し、測定値と計算値の単位を統一した。
  • □ 式:推力 $F=pA\eta$ の適用条件、次元、無視した背圧・摩擦を明記した。
  • □ 制約:荷の偏心、停電、残圧、保守時の重力荷重、使用環境を評価した。
  • □ 選定ルール:リスク低減方策の優先順位と、必要な安全機能の要求性能を定めた。
  • □ 故障モード:弁固着、内部漏れ、ホース破損、センサ故障、復電時再始動を確認した。
  • □ 規格:適用するISO・IEC・JIS・法令・製品固有規格の版と適用範囲を記録した。
  • □ 出力:要求マトリクス、危険源表、FMEA、試験計画、試験成績書、不適合票を作成した。
  • □ レビュー:未検証の安全要求と残留リスクに承認者・期限を割り当てた。
  • □ 変更管理:図面、BOM、PLC、試験構成の改訂番号が一致している。

知識資産化できる項目

データモデルとして分離する

再利用性を高めるには、**要求(Requirement)/危険源(Hazard)/故障モード(FailureMode)/保護方策(Control)/試験(Test)/証拠(Evidence)/改訂(Revision)**を別のエンティティとして保持する。要求と試験、危険源と対策、FMEAと試験の関係をIDで結び、文章の表だけに閉じ込めない。

{
  "asset_type": "design_verification_case",
  "schema_version": "1.0.0",
  "case_id": "HYD-LIFT-EXAMPLE-01",
  "example_only": true,
  "inputs": {
    "mass_kg": 500,
    "gravity_m_s2": 9.81,
    "cylinder_bore_mm": 50,
    "pressure_mpa": 5.0,
    "force_efficiency": 0.85
  },
  "requirements": [
    {"id": "REQ-02", "metric": "drift_mm", "max": 3.0, "duration_s": 600},
    {"id": "REQ-03", "metric": "stop_time_s", "max": 0.20}
  ],
  "hazards": [
    {"id": "HAZ-01", "event": "uncontrolled_descent", "control_status": "verification_required"}
  ],
  "failure_modes": [
    {"id": "FM-01", "function": "load_holding", "mode": "internal_leakage", "hazard_id": "HAZ-01"}
  ],
  "tests": [
    {"id": "VT-HOLD-01", "requirement_id": "REQ-02", "values_mm": [1.8, 2.0, 2.4, 2.6, 2.8], "expanded_uncertainty_mm": 0.4},
    {"id": "VT-STOP-01", "requirement_id": "REQ-03", "values_s": [0.16, 0.17, 0.18, 0.19, 0.24], "expanded_uncertainty_s": 0.02}
  ],
  "revision": {"drawing": "A", "control_software": "1.0.0"},
  "release_decision": "HOLD"
}

計算ロジックを関数として再利用する

以下は、上限値に対する説明用のガードバンド判定を実装した最小関数である。PASS、HOLD、FAILを分け、未確定を合格として扱わない。実際の判定規則は試験計画で承認する。

from typing import Literal

Decision = Literal["PASS", "HOLD", "FAIL"]


def judge_upper_limit(measured: float, expanded_u: float, limit: float) -> Decision:
    if expanded_u < 0 or limit < 0:
        raise ValueError("uncertainty and limit must be nonnegative")
    if measured + expanded_u <= limit:
        return "PASS"
    if measured - expanded_u > limit:
        return "FAIL"
    return "HOLD"


def evaluate_series(values: list[float], expanded_u: float, limit: float) -> list[Decision]:
    return [judge_upper_limit(v, expanded_u, limit) for v in values]


hold = evaluate_series([1.8, 2.0, 2.4, 2.6, 2.8], 0.4, 3.0)
stop = evaluate_series([0.16, 0.17, 0.18, 0.19, 0.24], 0.02, 0.20)
assert hold == ["PASS", "PASS", "PASS", "PASS", "HOLD"]
assert stop == ["PASS", "PASS", "PASS", "HOLD", "FAIL"]
print({"holding": hold, "stopping": stop})

CSVやDBでは、requirements.csv、hazards.csv、failure_modes.csv、tests.csv、evidence.csv、revisions.csvに分割できる。将来的には、図面改訂時に影響を受ける要求・FMEA・試験を自動抽出し、未検証の変更がある限りリリースを許可しない設計ゲートへ発展させられる。

この仕組みの価値は、FMEAの点数を自動計算することだけではない。設計判断の根拠、実機で得た証拠、残った不確かさを次の設計に引き継げることにある。

参考になったらシェアしてください
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

機械設計・油圧・CAD・Python・AIなど、ものづくりに関わる技術を扱っています。工学知識を整理・構造化し、設計や自動化に再利用できる形へ変えていくことを目指しています。

目次