package iace

// GetFailureModeLibrary returns the complete failure mode library.
func GetFailureModeLibrary() []FailureModeEntry {
	var all []FailureModeEntry
	all = append(all, getSensorFailureModes()...)
	all = append(all, getControllerFailureModes()...)
	all = append(all, getActuatorFailureModes()...)
	all = append(all, getMechanicalFailureModes()...)
	all = append(all, getElectricalFailureModes()...)
	all = append(all, getSoftwareFailureModes()...)
	all = append(all, getFluidFailureModes()...)
	all = append(all, getSafetyDeviceFailureModes()...)
	all = append(all, getNetworkFailureModes()...)
	all = append(all, getAIFailureModes()...)
	return all
}

// ── Sensor Failure Modes (20) ──────────────────────────────────────
func getSensorFailureModes() []FailureModeEntry {
	return []FailureModeEntry{
		{ID: "FM-SEN-01", ComponentType: "sensor", Mode: "loss_of_signal", NameDE: "Signalverlust", NameEN: "Loss of signal", Effect: "Positionsinformation geht verloren, Steuerung erhaelt keine Rueckmeldung", DetectionHint: "Diagnosefunktion Safety-SPS, Drahtbruchueberwachung", DefaultSeverity: 8, DefaultOccurrence: 3, DefaultDetection: 3},
		{ID: "FM-SEN-02", ComponentType: "sensor", Mode: "drift", NameDE: "Messwertdrift", NameEN: "Measurement drift", Effect: "Langsame Abweichung vom Sollwert, schleichender Genauigkeitsverlust", DetectionHint: "Regelmaessige Kalibrierung, Plausibilitaetspruefung", DefaultSeverity: 6, DefaultOccurrence: 4, DefaultDetection: 5},
		{ID: "FM-SEN-03", ComponentType: "sensor", Mode: "false_positive", NameDE: "Falschmeldung (Fehlalarm)", NameEN: "False positive", Effect: "Unnoetiger Maschinenstopp, Produktionsverlust", DetectionHint: "Statistik der Alarme, Vergleich Redundanzsensor", DefaultSeverity: 3, DefaultOccurrence: 4, DefaultDetection: 3},
		{ID: "FM-SEN-04", ComponentType: "sensor", Mode: "false_negative", NameDE: "Nichtmeldung (Fehlersuppression)", NameEN: "False negative", Effect: "Gefaehrlicher Zustand wird nicht erkannt, Schutzfunktion versagt", DetectionHint: "Zyklischer Selbsttest, diversitaerer Sensor", DefaultSeverity: 10, DefaultOccurrence: 2, DefaultDetection: 7},
		{ID: "FM-SEN-05", ComponentType: "sensor", Mode: "calibration_error", NameDE: "Kalibrierungsfehler", NameEN: "Calibration error", Effect: "Systematische Messabweichung, falsche Grenzwertbewertung", DetectionHint: "Referenzmessung mit Prueflehre", DefaultSeverity: 7, DefaultOccurrence: 3, DefaultDetection: 5},
		{ID: "FM-SEN-06", ComponentType: "sensor", Mode: "environmental_interference", NameDE: "Umgebungseinfluss-Stoerung", NameEN: "Environmental interference", Effect: "EMV, Temperatur oder Verschmutzung verfaelscht Messwert", DetectionHint: "Abschirmung pruefen, Plausibilitaetscheck", DefaultSeverity: 6, DefaultOccurrence: 4, DefaultDetection: 4},
		{ID: "FM-SEN-07", ComponentType: "sensor", Mode: "response_time_degradation", NameDE: "Reaktionszeit-Verschlechterung", NameEN: "Response time degradation", Effect: "Sicherheitsfunktion reagiert zu langsam auf Gefahrensituation", DetectionHint: "Periodische Reaktionszeitmessung", DefaultSeverity: 8, DefaultOccurrence: 2, DefaultDetection: 6},
		{ID: "FM-SEN-08", ComponentType: "sensor", Mode: "stuck_at_value", NameDE: "Festhaengen auf Wert", NameEN: "Stuck at value", Effect: "Sensor liefert unveraenderlichen Wert, Zustandsaenderung wird nicht erkannt", DetectionHint: "Aenderungsrate-Ueberwachung, Watchdog", DefaultSeverity: 8, DefaultOccurrence: 2, DefaultDetection: 4},
		{ID: "FM-SEN-09", ComponentType: "sensor", Mode: "intermittent_contact", NameDE: "Wackelkontakt", NameEN: "Intermittent contact", Effect: "Sporadischer Signalausfall, schwer reproduzierbar", DetectionHint: "Vibrations-Test, Steckerpruefung", DefaultSeverity: 7, DefaultOccurrence: 3, DefaultDetection: 7},
		{ID: "FM-SEN-10", ComponentType: "sensor", Mode: "cross_talk", NameDE: "Signaleinstreuung (Crosstalk)", NameEN: "Signal crosstalk", Effect: "Fremdsignal ueberlagert Messwert, Fehlinterpretation", DetectionHint: "EMV-Test, geschirmte Leitungen pruefen", DefaultSeverity: 6, DefaultOccurrence: 3, DefaultDetection: 5},
		{ID: "FM-SEN-11", ComponentType: "sensor", Mode: "power_supply_failure", NameDE: "Versorgungsspannungsausfall Sensor", NameEN: "Sensor power supply failure", Effect: "Sensor liefert kein Signal, Steuerung ohne Rueckmeldung", DetectionHint: "Spannungsueberwachung, Redundante Versorgung", DefaultSeverity: 8, DefaultOccurrence: 2, DefaultDetection: 2},
		{ID: "FM-SEN-12", ComponentType: "sensor", Mode: "mechanical_damage", NameDE: "Mechanische Beschaedigung Sensor", NameEN: "Sensor mechanical damage", Effect: "Sensor physisch zerstoert oder dejustiert durch Kollision/Vibration", DetectionHint: "Sichtpruefung, Montagekontrolle", DefaultSeverity: 7, DefaultOccurrence: 3, DefaultDetection: 3},
		{ID: "FM-SEN-13", ComponentType: "sensor", Mode: "aging", NameDE: "Alterung/Verschleiss Sensor", NameEN: "Sensor aging", Effect: "Empfindlichkeit nimmt ab, Schaltpunkte verschieben sich", DetectionHint: "Lebensdauer-Tracking, praeventiver Austausch", DefaultSeverity: 5, DefaultOccurrence: 4, DefaultDetection: 5},
		{ID: "FM-SEN-14", ComponentType: "sensor", Mode: "contamination", NameDE: "Verschmutzung Sensorflaeche", NameEN: "Sensor contamination", Effect: "Optischer/induktiver Sensor durch Oel, Staub oder Spaene beeintraechtigt", DetectionHint: "Reinigungsplan, Signalstaerke-Ueberwachung", DefaultSeverity: 5, DefaultOccurrence: 5, DefaultDetection: 3},
		{ID: "FM-SEN-15", ComponentType: "sensor", Mode: "wrong_installation", NameDE: "Falsche Montage/Ausrichtung", NameEN: "Wrong installation", Effect: "Sensor misst an falscher Stelle oder in falscher Richtung", DetectionHint: "Inbetriebnahme-Checkliste, Referenzmessung", DefaultSeverity: 7, DefaultOccurrence: 2, DefaultDetection: 3},

		// Encoder-specific
		{ID: "FM-SEN-16", ComponentType: "sensor", Mode: "encoder_pulse_loss", NameDE: "Encoder-Impulsverlust", NameEN: "Encoder pulse loss", Effect: "Positionszaehler weicht ab, Achse verfaehrt unkontrolliert", DetectionHint: "Inkremental-Encoder Referenzmarke pruefen", DefaultSeverity: 9, DefaultOccurrence: 3, DefaultDetection: 4},
		{ID: "FM-SEN-17", ComponentType: "sensor", Mode: "encoder_cable_break", NameDE: "Encoder-Kabelbruch", NameEN: "Encoder cable break", Effect: "Kompletter Positionsverlust, STO wird ausgeloest", DetectionHint: "Drahtbrucherkennung im Safety-Encoder", DefaultSeverity: 9, DefaultOccurrence: 2, DefaultDetection: 2},

		// Safety-specific sensors
		{ID: "FM-SEN-18", ComponentType: "sensor", Mode: "safety_switch_bypass", NameDE: "Sicherheitsschalter ueberbrueckt", NameEN: "Safety switch bypassed", Effect: "Schutzeinrichtung wirkungslos, Zugang zum Gefahrbereich moeglich", DetectionHint: "Codierter Schalter, Manipulationsschutz", DefaultSeverity: 10, DefaultOccurrence: 2, DefaultDetection: 6},
		{ID: "FM-SEN-19", ComponentType: "sensor", Mode: "light_curtain_blind_spot", NameDE: "Lichtvorhang Totwinkel", NameEN: "Light curtain blind spot", Effect: "Person im Gefahrbereich wird nicht erkannt", DetectionHint: "Ausrichtungspruefung, Testkoerper-Pruefung", DefaultSeverity: 10, DefaultOccurrence: 2, DefaultDetection: 4},
		{ID: "FM-SEN-20", ComponentType: "sensor", Mode: "pressure_sensor_blockage", NameDE: "Drucksensor-Verstopfung", NameEN: "Pressure sensor blockage", Effect: "Druckanzeige zeigt falschen Wert, Ueberdruck nicht erkannt", DetectionHint: "Vergleichsmessung, Spuelprozedur", DefaultSeverity: 8, DefaultOccurrence: 3, DefaultDetection: 5},
	}
}

// ── Controller Failure Modes (20) ──────────────────────────────────
func getControllerFailureModes() []FailureModeEntry {
	return []FailureModeEntry{
		{ID: "FM-CTRL-01", ComponentType: "controller", Mode: "watchdog_timeout", NameDE: "Watchdog-Timeout", NameEN: "Watchdog timeout", Effect: "SPS-Programm reagiert nicht mehr, sicherer Zustand wird erzwungen", DetectionHint: "Hardware-Watchdog, LED-Anzeige", DefaultSeverity: 8, DefaultOccurrence: 2, DefaultDetection: 2},
		{ID: "FM-CTRL-02", ComponentType: "controller", Mode: "memory_overflow", NameDE: "Speicherueberlauf", NameEN: "Memory overflow", Effect: "Programmabsturz, undefiniertes Steuerungsverhalten", DetectionHint: "Speicher-Monitoring, Stack-Ueberwachung", DefaultSeverity: 9, DefaultOccurrence: 2, DefaultDetection: 4},
		{ID: "FM-CTRL-03", ComponentType: "controller", Mode: "communication_loss", NameDE: "Busverlust/Kommunikationsausfall", NameEN: "Communication loss", Effect: "Steuerung verliert Verbindung zu Antrieben oder Sensorik", DetectionHint: "Bus-Timeout-Ueberwachung, Heartbeat", DefaultSeverity: 8, DefaultOccurrence: 3, DefaultDetection: 2},
		{ID: "FM-CTRL-04", ComponentType: "controller", Mode: "program_corruption", NameDE: "Programm-Korruption", NameEN: "Program corruption", Effect: "Steuerungsprogramm laeuft fehlerhaft, unvorhersehbare Ausgaben", DetectionHint: "CRC-Pruefung, ROM-Integritaetstest", DefaultSeverity: 10, DefaultOccurrence: 1, DefaultDetection: 4},
		{ID: "FM-CTRL-05", ComponentType: "controller", Mode: "parameter_loss", NameDE: "Parameterverlust nach Spannungsausfall", NameEN: "Parameter loss after power failure", Effect: "Maschine startet mit Default-Parametern, falsche Grenzwerte", DetectionHint: "Batterie-Ueberwachung, Backup-Vergleich", DefaultSeverity: 7, DefaultOccurrence: 3, DefaultDetection: 3},
		{ID: "FM-CTRL-06", ComponentType: "controller", Mode: "output_stuck", NameDE: "Ausgang klebt (stuck-at)", NameEN: "Output stuck", Effect: "Aktor wird nicht mehr angesteuert oder laeuft dauerhaft", DetectionHint: "Ruecklese-Diagnose, Cross-Monitoring", DefaultSeverity: 9, DefaultOccurrence: 2, DefaultDetection: 3},
		{ID: "FM-CTRL-07", ComponentType: "controller", Mode: "clock_failure", NameDE: "Taktausfall/Taktfehler", NameEN: "Clock failure", Effect: "Zykluszeit der SPS instabil, Timing-Fehler in Sicherheitsfunktionen", DetectionHint: "Takt-Ueberwachung, Watchdog", DefaultSeverity: 8, DefaultOccurrence: 1, DefaultDetection: 3},
		{ID: "FM-CTRL-08", ComponentType: "controller", Mode: "io_card_failure", NameDE: "E/A-Karten-Ausfall", NameEN: "I/O card failure", Effect: "Eingaenge oder Ausgaenge fallen komplett aus", DetectionHint: "Kanal-Diagnose, Kurzschlusstest", DefaultSeverity: 8, DefaultOccurrence: 2, DefaultDetection: 2},
		{ID: "FM-CTRL-09", ComponentType: "controller", Mode: "cpu_overload", NameDE: "CPU-Ueberlast", NameEN: "CPU overload", Effect: "Zykluszeit ueberschritten, zeitkritische Funktionen verspaetet", DetectionHint: "Zykluszeitmonitoring, Taskauslastung", DefaultSeverity: 7, DefaultOccurrence: 3, DefaultDetection: 3},
		{ID: "FM-CTRL-10", ComponentType: "controller", Mode: "wrong_firmware_version", NameDE: "Falsche Firmware-Version", NameEN: "Wrong firmware version", Effect: "Inkompatibilitaeten, Sicherheitsfunktionen moeglicherweise unwirksam", DetectionHint: "Versionsabgleich bei Inbetriebnahme", DefaultSeverity: 8, DefaultOccurrence: 2, DefaultDetection: 3},
		{ID: "FM-CTRL-11", ComponentType: "controller", Mode: "safety_plc_discrepancy", NameDE: "Safety-SPS Kanal-Diskrepanz", NameEN: "Safety PLC channel discrepancy", Effect: "Zweikanalige Auswertung ergibt unterschiedliche Ergebnisse", DetectionHint: "Cross-Monitoring, Diagnosezyklus", DefaultSeverity: 9, DefaultOccurrence: 2, DefaultDetection: 2},
		{ID: "FM-CTRL-12", ComponentType: "controller", Mode: "common_cause_failure", NameDE: "Gemeinsame-Ursache-Ausfall (CCF)", NameEN: "Common cause failure", Effect: "Beide Kanaele der Safety-SPS fallen gleichzeitig aus", DetectionHint: "Diversitaere Hardware, getrennte Versorgung", DefaultSeverity: 10, DefaultOccurrence: 1, DefaultDetection: 8},
		{ID: "FM-CTRL-13", ComponentType: "controller", Mode: "unauthorized_access", NameDE: "Unberechtigter Zugriff auf Steuerung", NameEN: "Unauthorized access to controller", Effect: "Parameter oder Programm werden manipuliert", DetectionHint: "Zugangskontrolle, Audit-Log", DefaultSeverity: 9, DefaultOccurrence: 2, DefaultDetection: 5},
		{ID: "FM-CTRL-14", ComponentType: "controller", Mode: "emc_susceptibility", NameDE: "EMV-Empfindlichkeit", NameEN: "EMC susceptibility", Effect: "Elektromagnetische Stoerung verfaelscht Steuerungssignale", DetectionHint: "EMV-Pruefung, Schirmung", DefaultSeverity: 7, DefaultOccurrence: 3, DefaultDetection: 5},
		{ID: "FM-CTRL-15", ComponentType: "controller", Mode: "power_supply_glitch", NameDE: "Versorgungsspannung Einbruch", NameEN: "Power supply glitch", Effect: "Kurzzeitiger Spannungseinbruch fuehrt zu Steuerungsreset", DetectionHint: "USV, Spannungsueberwachung", DefaultSeverity: 7, DefaultOccurrence: 3, DefaultDetection: 2},

		// Drive-specific
		{ID: "FM-CTRL-16", ComponentType: "controller", Mode: "drive_overspeed", NameDE: "Antriebsregler Ueberdrehzahl", NameEN: "Drive overspeed", Effect: "Motor dreht ueber zulaessige Drehzahl hinaus", DetectionHint: "Sichere Drehzahlueberwachung SLS/SMS", DefaultSeverity: 9, DefaultOccurrence: 2, DefaultDetection: 2},
		{ID: "FM-CTRL-17", ComponentType: "controller", Mode: "drive_brake_failure", NameDE: "Antriebsbremse versagt", NameEN: "Drive brake failure", Effect: "Achse kann nicht gebremst werden, unkontrollierte Bewegung", DetectionHint: "Bremsentest bei Anlauf, Verschleissanzeige", DefaultSeverity: 9, DefaultOccurrence: 2, DefaultDetection: 3},
		{ID: "FM-CTRL-18", ComponentType: "controller", Mode: "drive_torque_uncontrolled", NameDE: "Unkontrolliertes Drehmoment", NameEN: "Uncontrolled torque", Effect: "Motor liefert mehr Drehmoment als erwartet", DetectionHint: "Drehmomentueberwachung, STO-Funktion", DefaultSeverity: 9, DefaultOccurrence: 2, DefaultDetection: 3},
		{ID: "FM-CTRL-19", ComponentType: "controller", Mode: "position_error_accumulation", NameDE: "Positionsfehler-Akkumulation", NameEN: "Position error accumulation", Effect: "Inkrementaler Positionsfehler summiert sich ueber Zeit", DetectionHint: "Referenzfahrt-Intervall, Absolutwertgeber", DefaultSeverity: 7, DefaultOccurrence: 3, DefaultDetection: 4},
		{ID: "FM-CTRL-20", ComponentType: "controller", Mode: "safe_state_failure", NameDE: "Versagen des sicheren Zustands", NameEN: "Safe state failure", Effect: "Maschine erreicht bei Fehler nicht den definierten sicheren Zustand", DetectionHint: "Safe-State-Test bei Inbetriebnahme", DefaultSeverity: 10, DefaultOccurrence: 1, DefaultDetection: 5},
	}
}

// ── Actuator Failure Modes (15) ────────────────────────────────────
func getActuatorFailureModes() []FailureModeEntry {
	return []FailureModeEntry{
		{ID: "FM-ACT-01", ComponentType: "actuator", Mode: "stuck_closed", NameDE: "Aktor blockiert (geschlossen)", NameEN: "Actuator stuck closed", Effect: "Ventil/Klappe oeffnet nicht, Prozess wird nicht freigegeben", DetectionHint: "Positionsrueckmeldung, Endlagenschalter", DefaultSeverity: 7, DefaultOccurrence: 3, DefaultDetection: 3},
		{ID: "FM-ACT-02", ComponentType: "actuator", Mode: "stuck_open", NameDE: "Aktor blockiert (offen)", NameEN: "Actuator stuck open", Effect: "Ventil/Klappe schliesst nicht, Energiezufuhr bleibt aktiv", DetectionHint: "Positionsrueckmeldung, Endlagenschalter", DefaultSeverity: 9, DefaultOccurrence: 3, DefaultDetection: 3},
		{ID: "FM-ACT-03", ComponentType: "actuator", Mode: "overload", NameDE: "Aktor-Ueberlast", NameEN: "Actuator overload", Effect: "Motor ueberhitzt, Wicklungsschaden, Ausfall", DetectionHint: "Strommessung, Thermoschutz", DefaultSeverity: 6, DefaultOccurrence: 3, DefaultDetection: 3},
		{ID: "FM-ACT-04", ComponentType: "actuator", Mode: "loss_of_holding_force", NameDE: "Haltekraftverlust", NameEN: "Loss of holding force", Effect: "Last sackt ab, unkontrollierte Bewegung durch Schwerkraft", DetectionHint: "Bremsentest, Druckueberwachung", DefaultSeverity: 9, DefaultOccurrence: 2, DefaultDetection: 4},
		{ID: "FM-ACT-05", ComponentType: "actuator", Mode: "overspeed", NameDE: "Ueberdrehzahl Motor", NameEN: "Motor overspeed", Effect: "Fliehkraefte ueberschreiten zulaessige Werte", DetectionHint: "Drehzahlueberwachung, mechanische Begrenzung", DefaultSeverity: 9, DefaultOccurrence: 2, DefaultDetection: 2},
		{ID: "FM-ACT-06", ComponentType: "actuator", Mode: "bearing_failure", NameDE: "Lagerschaden Motor", NameEN: "Motor bearing failure", Effect: "Erhoehte Vibration, Blockade, Ueberhitzung", DetectionHint: "Vibrationsueberwachung, Geraeuschanalyse", DefaultSeverity: 6, DefaultOccurrence: 3, DefaultDetection: 4},
		{ID: "FM-ACT-07", ComponentType: "actuator", Mode: "insulation_breakdown", NameDE: "Isolationsversagen Motorwicklung", NameEN: "Motor insulation breakdown", Effect: "Erdschluss, Kurzschluss, Stromschlagrisiko am Gehaeuse", DetectionHint: "Isolationsmessung, RCD", DefaultSeverity: 8, DefaultOccurrence: 2, DefaultDetection: 4},
		{ID: "FM-ACT-08", ComponentType: "actuator", Mode: "thermal_overload", NameDE: "Thermische Ueberlastung", NameEN: "Thermal overload", Effect: "Motor ueberhitzt, Brandgefahr bei fehlendem Thermoschutz", DetectionHint: "Temperaturueberwachung, Thermoschalter", DefaultSeverity: 7, DefaultOccurrence: 3, DefaultDetection: 3},
		{ID: "FM-ACT-09", ComponentType: "actuator", Mode: "unexpected_movement", NameDE: "Unerwartete Bewegung", NameEN: "Unexpected movement", Effect: "Aktor bewegt sich ohne Befehl, Person im Gefahrbereich gefaehrdet", DetectionHint: "Rueckmeldung mit Sollwertvergleich, STO", DefaultSeverity: 10, DefaultOccurrence: 1, DefaultDetection: 3},
		{ID: "FM-ACT-10", ComponentType: "actuator", Mode: "reduced_performance", NameDE: "Leistungsminderung", NameEN: "Reduced performance", Effect: "Kraft oder Geschwindigkeit unter Spezifikation, Prozessqualitaet sinkt", DetectionHint: "Leistungsmessung, Trendanalyse", DefaultSeverity: 4, DefaultOccurrence: 4, DefaultDetection: 4},
		{ID: "FM-ACT-11", ComponentType: "actuator", Mode: "coupling_slip", NameDE: "Kupplungsschlupf", NameEN: "Coupling slip", Effect: "Drehmoment wird nicht vollstaendig uebertragen", DetectionHint: "Soll-Ist-Vergleich Drehzahl, Schwingungsanalyse", DefaultSeverity: 5, DefaultOccurrence: 3, DefaultDetection: 4},
		{ID: "FM-ACT-12", ComponentType: "actuator", Mode: "pneumatic_cylinder_leak", NameDE: "Pneumatikzylinder-Leckage", NameEN: "Pneumatic cylinder leak", Effect: "Zylinder haelt Position nicht, langsames Absacken", DetectionHint: "Druckabfallmessung, Leckagepruefung", DefaultSeverity: 6, DefaultOccurrence: 4, DefaultDetection: 4},
		{ID: "FM-ACT-13", ComponentType: "actuator", Mode: "hydraulic_cylinder_drift", NameDE: "Hydraulikzylinder-Drift", NameEN: "Hydraulic cylinder drift", Effect: "Last sackt langsam ab trotz geschlossenem Ventil", DetectionHint: "Positionsueberwachung, Lasthalteventil", DefaultSeverity: 8, DefaultOccurrence: 3, DefaultDetection: 4},
		{ID: "FM-ACT-14", ComponentType: "actuator", Mode: "contactor_welded", NameDE: "Schuetz verschweisst", NameEN: "Contactor welded", Effect: "Motor kann nicht abgeschaltet werden, Not-Halt unwirksam", DetectionHint: "Ruecklese-Kontakt, Cross-Monitoring", DefaultSeverity: 10, DefaultOccurrence: 2, DefaultDetection: 2},
		{ID: "FM-ACT-15", ComponentType: "actuator", Mode: "valve_stiction", NameDE: "Ventil-Losbrechkraft erhoet", NameEN: "Valve stiction", Effect: "Ventil reagiert verzoegert oder gar nicht auf Steuersignal", DetectionHint: "Hubueberwachung, Stellzeit messen", DefaultSeverity: 7, DefaultOccurrence: 3, DefaultDetection: 4},
	}
}

// ── Mechanical Failure Modes (20) ──────────────────────────────────
func getMechanicalFailureModes() []FailureModeEntry {
	return []FailureModeEntry{
		{ID: "FM-MECH-01", ComponentType: "mechanical", Mode: "fatigue_fracture", NameDE: "Ermuedungsbruch", NameEN: "Fatigue fracture", Effect: "Bauteil bricht unter Betriebslast, Teile werden herausgeschleudert", DetectionHint: "Risspruefung (zfP), Betriebsstundenzaehler", DefaultSeverity: 9, DefaultOccurrence: 2, DefaultDetection: 6},
		{ID: "FM-MECH-02", ComponentType: "mechanical", Mode: "bearing_failure", NameDE: "Lagerschaden", NameEN: "Bearing failure", Effect: "Erhoehte Reibung, Blockade, Erwaermung, Wellenbruch", DetectionHint: "Vibrationsueberwachung, Temperaturmessung", DefaultSeverity: 7, DefaultOccurrence: 3, DefaultDetection: 4},
		{ID: "FM-MECH-03", ComponentType: "mechanical", Mode: "corrosion", NameDE: "Korrosion", NameEN: "Corrosion", Effect: "Wandstaerke-Reduktion, Festigkeitsverlust, Undichtheit", DetectionHint: "Sichtpruefung, Wanddickenmessung", DefaultSeverity: 6, DefaultOccurrence: 4, DefaultDetection: 4},
		{ID: "FM-MECH-04", ComponentType: "mechanical", Mode: "loosening", NameDE: "Lockerung von Verbindungselementen", NameEN: "Loosening of fasteners", Effect: "Schrauben/Bolzen lockern sich, Bauteil loest sich", DetectionHint: "Drehmoment-Kontrolle, Sicherungselemente", DefaultSeverity: 7, DefaultOccurrence: 4, DefaultDetection: 3},
		{ID: "FM-MECH-05", ComponentType: "mechanical", Mode: "wear", NameDE: "Verschleiss", NameEN: "Wear", Effect: "Spielzunahme, Funktionsverlust, erhoehte Geraeusche", DetectionHint: "Spielmessung, Sichtpruefung, Trendanalyse", DefaultSeverity: 5, DefaultOccurrence: 5, DefaultDetection: 4},
		{ID: "FM-MECH-06", ComponentType: "mechanical", Mode: "overload_deformation", NameDE: "Ueberlast-Verformung", NameEN: "Overload deformation", Effect: "Plastische Verformung, Bauteil bleibt verbogen", DetectionHint: "Kraftueberwachung, Lastzelle", DefaultSeverity: 7, DefaultOccurrence: 2, DefaultDetection: 4},
		{ID: "FM-MECH-07", ComponentType: "mechanical", Mode: "chain_break", NameDE: "Kettenriss", NameEN: "Chain break", Effect: "Kraftuebertragung unterbrochen, Last faellt unkontrolliert", DetectionHint: "Kettenlaengungsmessung, Sichtpruefung", DefaultSeverity: 9, DefaultOccurrence: 2, DefaultDetection: 4},
		{ID: "FM-MECH-08", ComponentType: "mechanical", Mode: "belt_slip_break", NameDE: "Riemenschlupf/-riss", NameEN: "Belt slip/break", Effect: "Antrieb verliert Kraftschluss oder Riemen reisst", DetectionHint: "Riemenspannung pruefen, Drehzahlvergleich", DefaultSeverity: 6, DefaultOccurrence: 3, DefaultDetection: 3},
		{ID: "FM-MECH-09", ComponentType: "mechanical", Mode: "gear_tooth_break", NameDE: "Zahnbruch im Getriebe", NameEN: "Gear tooth break", Effect: "Schlagartige Stoerung der Kraftuebertragung, Blockade", DetectionHint: "Koerperschallanalyse, Oelanalyse", DefaultSeverity: 8, DefaultOccurrence: 2, DefaultDetection: 5},
		{ID: "FM-MECH-10", ComponentType: "mechanical", Mode: "seal_failure", NameDE: "Dichtungsversagen", NameEN: "Seal failure", Effect: "Medium tritt aus, Umweltkontamination, Rutschgefahr", DetectionHint: "Leckage-Sichtpruefung, Druckabfall", DefaultSeverity: 5, DefaultOccurrence: 4, DefaultDetection: 3},
		{ID: "FM-MECH-11", ComponentType: "mechanical", Mode: "weld_crack", NameDE: "Schweissnahtriss", NameEN: "Weld crack", Effect: "Tragende Verbindung versagt, strukturelles Versagen", DetectionHint: "zfP (Ultraschall, Roentgen), Sichtpruefung", DefaultSeverity: 9, DefaultOccurrence: 2, DefaultDetection: 5},
		{ID: "FM-MECH-12", ComponentType: "mechanical", Mode: "spring_break", NameDE: "Federbruch", NameEN: "Spring break", Effect: "Rueckstellkraft entfaellt, Sicherheitsfunktion versagt", DetectionHint: "Federkraftmessung, praeventiver Tausch", DefaultSeverity: 8, DefaultOccurrence: 2, DefaultDetection: 5},
		{ID: "FM-MECH-13", ComponentType: "mechanical", Mode: "structural_resonance", NameDE: "Strukturresonanz", NameEN: "Structural resonance", Effect: "Verstaerkte Schwingung, Ermuedungsbruch, Laerm", DetectionHint: "Schwingungsmessung, Modalanalyse", DefaultSeverity: 7, DefaultOccurrence: 2, DefaultDetection: 5},
		{ID: "FM-MECH-14", ComponentType: "mechanical", Mode: "misalignment", NameDE: "Fluchtungsfehler", NameEN: "Misalignment", Effect: "Erhoehter Verschleiss, Vibration, Lagerschaden", DetectionHint: "Laserausrichtung, Vibrationsmessung", DefaultSeverity: 5, DefaultOccurrence: 3, DefaultDetection: 4},
		{ID: "FM-MECH-15", ComponentType: "mechanical", Mode: "unbalance", NameDE: "Unwucht", NameEN: "Unbalance", Effect: "Vibration, Lagerschaden, Ermuedung bei Rotation", DetectionHint: "Auswuchtmaschine, Schwingungsmessung", DefaultSeverity: 5, DefaultOccurrence: 3, DefaultDetection: 3},
		{ID: "FM-MECH-16", ComponentType: "mechanical", Mode: "clamping_loss", NameDE: "Spannkraftverlust", NameEN: "Clamping force loss", Effect: "Werkstueck oder Werkzeug loest sich waehrend Bearbeitung", DetectionHint: "Spannkraftmessung, Druckueberwachung", DefaultSeverity: 9, DefaultOccurrence: 2, DefaultDetection: 3},
		{ID: "FM-MECH-17", ComponentType: "mechanical", Mode: "grinding_wheel_burst", NameDE: "Schleifscheibenbruch", NameEN: "Grinding wheel burst", Effect: "Scheibenfragmente werden mit hoher Energie weggeschleudert", DetectionHint: "Klangpruefung, Drehzahlbegrenzung, Schutzhaube", DefaultSeverity: 10, DefaultOccurrence: 1, DefaultDetection: 4},
		{ID: "FM-MECH-18", ComponentType: "mechanical", Mode: "tool_break", NameDE: "Werkzeugbruch", NameEN: "Tool break", Effect: "Bruchstuecke als Projektile, Werkstueckbeschaedigung", DetectionHint: "Werkzeugbruch-Erkennung, Schutzscheibe", DefaultSeverity: 8, DefaultOccurrence: 3, DefaultDetection: 3},
		{ID: "FM-MECH-19", ComponentType: "mechanical", Mode: "guide_rail_wear", NameDE: "Fuehrungsschienen-Verschleiss", NameEN: "Guide rail wear", Effect: "Spielzunahme, Positionsungenauigkeit, Ruckeln", DetectionHint: "Spielmessung, praeventiver Tausch", DefaultSeverity: 4, DefaultOccurrence: 4, DefaultDetection: 4},
		{ID: "FM-MECH-20", ComponentType: "mechanical", Mode: "foundation_settlement", NameDE: "Fundamentsetzung", NameEN: "Foundation settlement", Effect: "Maschine steht nicht mehr eben, Ausrichtung verloren", DetectionHint: "Nivellierung pruefen, Bodenscan", DefaultSeverity: 5, DefaultOccurrence: 2, DefaultDetection: 4},
	}
}
