Skills

Inject Faults

Add, configure, and manage faults on Simulink, Simscape, and System Composer model...

Install

npx skills add matlab/simulink-agentic-toolkit --skill inject-faults -g -a claude-code -y
Category
Testing
Updated
6d ago
License
See repository
Context cost
Mediumabout 2,111 tokens
Runs scripts
No, instructions only

What it does

Add, configure, and manage faults on Simulink, Simscape, and System Composer model signals for robustness analysis and safety validation. Use when injecting faults (stuck, noise, gain, offset) onto block inports/outports, enabling fault simulation, or analyzing fault effects. Covers sensor failures, signal corruptions, actuator faults, FMEA validation, and robustness testing. Requires Simulink Fault Analyzer.

Fault Injection

Use evaluate_matlab_code with the Simulink.fault API to programmatically inject faults into Simulink models. Faults override signal values at block ports to simulate hardware failures, sensor faults, and actuator malfunctions.

When to Use

  • Injecting sensor stuck-at faults, noise, or bias for safety analysis (Simulink, Simscape, System Composer)
  • Validating FMEA failure modes through simulation
  • Testing controller robustness against actuator or sensor failures
  • Adding fault placeholders (without behavior) for FMEA traceability before defining fault logic
  • Configuring fault trigger conditions (timed, conditional, always-on)
  • Creating fault scenarios for automated testing
  • Comparing nominal vs. faulted behavior
  • Linking faults to FMEA failure mode cells
  • Generating fault specification reports
  • Exporting models with embedded fault behavior for teams without Simulink Fault Analyzer
  • Registering custom fault behavior libraries
  • Synchronizing (also called resync / sync / synchronize faults / update fault references) fault information from referenced models, subsystems, or linked libraries into a parent model

When NOT to Use

  • Creating FMEA spreadsheets or safety analysis documents -> use manage-safety-analysis
  • Building or editing model structure -> use building-simulink-models
  • Running standard (non-faulted) simulations -> use simulating-simulink-models
  • Writing pass/fail tests -> use testing-simulink-models

Probe

hasFA = ~isempty(which('Simulink.fault.addFault'));
fprintf('Simulink Fault Analyzer available: %d\n', hasFA);

Key Concepts

Read the whole SKILL.md on GitHub

More in Testing