package iace // GetOperationalHazardPatterns returns patterns for non-normal operating states: // fault clearing, maintenance, setup, changeover, LOTO, stored energy. // These hazards are lifecycle-phase-specific — they fire only when the relevant // phases are present in the project scope. func GetOperationalHazardPatterns() []HazardPattern { return []HazardPattern{ // ================================================================ // Störungsbeseitigung / Fault Clearing (HP066-HP072) // ================================================================ { ID: "HP066", NameDE: "Verklemmung loest sich unkontrolliert", NameEN: "Jammed part releases uncontrolled", RequiredComponentTags: []string{"moving_part", "high_force"}, RequiredLifecycles: []string{"fault_clearing", "maintenance"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M001", "M054"}, Priority: 94, RequiresExpertCalculation: true, ExpertHintDE: "Energiefreischaltung (LOTO) vor manuellen Eingriffen zwingend erforderlich.", }, { ID: "HP067", NameDE: "Schlauch platzt unter Druck", NameEN: "Hose bursts under pressure", RequiredComponentTags: []string{"hydraulic_part", "high_pressure"}, RequiredLifecycles: []string{"normal_operation", "fault_clearing"}, GeneratedHazardCats: []string{"pneumatic_hydraulic"}, SuggestedMeasureIDs: []string{"M131", "M054"}, Priority: 92, ExpertHintDE: "Schlauch-Fangvorrichtungen und Druckentlastung vor Wartung vorsehen.", }, { ID: "HP068", NameDE: "Unerwarteter Wiederanlauf nach Stoerung", NameEN: "Unexpected restart after fault", RequiredComponentTags: []string{"moving_part", "programmable"}, RequiredLifecycles: []string{"fault_clearing"}, GeneratedHazardCats: []string{"mechanical_hazard", "safety_function_failure"}, SuggestedMeasureIDs: []string{"M106", "M054"}, Priority: 96, RequiresExpertCalculation: true, ExpertHintDE: "Wiederanlaufsperre mit manueller Quittierung erforderlich. SIL/PL-Nachweis.", }, { ID: "HP069", NameDE: "Restenergie nach Abschaltung (gespeichert)", NameEN: "Residual stored energy after shutdown", RequiredComponentTags: []string{"stored_energy"}, RequiredLifecycles: []string{"maintenance", "fault_clearing"}, GeneratedHazardCats: []string{"mechanical_hazard", "electrical_hazard"}, SuggestedMeasureIDs: []string{"M054", "M001"}, Priority: 93, ExpertHintDE: "Energiefreischaltung, Wartezeit und Messung vor Beginn der Arbeiten.", }, { ID: "HP070", NameDE: "Eingriff in laufende Maschine bei Stoerung", NameEN: "Intervention in running machine during fault", RequiredComponentTags: []string{"moving_part"}, RequiredLifecycles: []string{"fault_clearing"}, ExcludedComponentTags: []string{"interlocked"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M005", "M051"}, Priority: 97, ExpertHintDE: "Betriebsartenwahlschalter mit reduzierter Geschwindigkeit fuer Stoerungsbeseitigung.", }, { ID: "HP071", NameDE: "Materialstau loest sich schlagartig", NameEN: "Material jam releases suddenly", RequiredComponentTags: []string{"moving_part", "gravity_risk"}, RequiredLifecycles: []string{"fault_clearing"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M001", "M054"}, Priority: 88, }, { ID: "HP072", NameDE: "Herabfallende Teile bei Stoerungsbeseitigung", NameEN: "Falling parts during fault clearing", RequiredComponentTags: []string{"gravity_risk"}, RequiredLifecycles: []string{"fault_clearing", "maintenance"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M051", "M141"}, Priority: 82, }, // ================================================================ // Wartung / Instandhaltung (HP073-HP079) // ================================================================ { ID: "HP073", NameDE: "Wartung ohne LOTO (Lockout/Tagout)", NameEN: "Maintenance without LOTO", RequiredComponentTags: []string{"moving_part"}, RequiredLifecycles: []string{"maintenance"}, GeneratedHazardCats: []string{"maintenance_hazard"}, SuggestedMeasureIDs: []string{"M054"}, Priority: 96, RequiresExpertCalculation: true, ExpertHintDE: "LOTO-Verfahren (Lockout/Tagout) fuer alle Energiequellen definieren und schulen.", }, { ID: "HP074", NameDE: "Sturz von Wartungsbuehne / Leiter", NameEN: "Fall from maintenance platform / ladder", RequiredComponentTags: []string{"structural_part"}, RequiredLifecycles: []string{"maintenance", "cleaning"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M051"}, Priority: 78, }, { ID: "HP075", NameDE: "Kontakt mit heissen Teilen bei Wartung", NameEN: "Contact with hot parts during maintenance", RequiredComponentTags: []string{"high_temperature"}, RequiredLifecycles: []string{"maintenance"}, GeneratedHazardCats: []string{"thermal_hazard"}, SuggestedMeasureIDs: []string{"M054", "M141"}, Priority: 80, ExpertHintDE: "Abkuehlzeit definieren. Temperaturanzeige oder -messung vor Arbeitsbeginn.", }, { ID: "HP076", NameDE: "Kontakt mit Gefahrstoffen bei Wartung", NameEN: "Contact with hazardous substances during maintenance", RequiredComponentTags: []string{"chemical_risk"}, RequiredLifecycles: []string{"maintenance", "cleaning"}, GeneratedHazardCats: []string{"material_environmental"}, SuggestedMeasureIDs: []string{"M141"}, Priority: 75, }, { ID: "HP077", NameDE: "Elektrischer Schlag bei Wartungsarbeiten", NameEN: "Electric shock during maintenance", RequiredComponentTags: []string{"high_voltage"}, RequiredLifecycles: []string{"maintenance", "fault_clearing"}, GeneratedHazardCats: []string{"electrical_hazard"}, SuggestedMeasureIDs: []string{"M054"}, Priority: 95, RequiresExpertCalculation: true, ExpertHintDE: "Freischaltung, Sicherung gegen Wiedereinschalten, Spannungsfreiheit feststellen.", }, { ID: "HP078", NameDE: "Ergonomische Belastung bei Wartungszugang", NameEN: "Ergonomic strain at maintenance access", RequiredComponentTags: []string{"structural_part"}, RequiredLifecycles: []string{"maintenance"}, GeneratedHazardCats: []string{"ergonomic"}, SuggestedMeasureIDs: []string{"M141"}, Priority: 55, }, { ID: "HP079", NameDE: "Unkontrolliertes Absenken hydraulischer Last", NameEN: "Uncontrolled lowering of hydraulic load", RequiredComponentTags: []string{"hydraulic_part", "gravity_risk"}, RequiredLifecycles: []string{"maintenance", "fault_clearing"}, GeneratedHazardCats: []string{"pneumatic_hydraulic", "mechanical_hazard"}, SuggestedMeasureIDs: []string{"M131", "M054"}, Priority: 94, ExpertHintDE: "Mechanische Absturzsicherung oder Abstuetzung vor Beginn der Arbeiten.", }, // ================================================================ // Einrichten / Umruesten / Werkzeugwechsel (HP080-HP085) // ================================================================ { ID: "HP080", NameDE: "Quetschen bei Werkzeugwechsel", NameEN: "Crushing during tool change", RequiredComponentTags: []string{"crush_point", "high_force"}, RequiredLifecycles: []string{"changeover", "setup"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M001", "M054"}, Priority: 92, ExpertHintDE: "Werkzeugwechsel nur bei gesichertem Stossel/Stempel. LOTO erforderlich.", }, { ID: "HP081", NameDE: "Verbrennung bei Werkzeugausbau (heiss)", NameEN: "Burns during hot tool removal", RequiredComponentTags: []string{"high_temperature"}, RequiredLifecycles: []string{"changeover"}, GeneratedHazardCats: []string{"thermal_hazard"}, SuggestedMeasureIDs: []string{"M141"}, Priority: 78, ExpertHintDE: "Abkuehlzeit einhalten. Schutzhandschuhe verwenden.", }, { ID: "HP082", NameDE: "Schweres Werkzeug faellt bei Wechsel", NameEN: "Heavy tool drops during change", RequiredComponentTags: []string{"gravity_risk", "high_force"}, RequiredLifecycles: []string{"changeover"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M051"}, Priority: 85, ExpertHintDE: "Hebezeug fuer Werkzeuge ueber 25 kg verwenden.", }, { ID: "HP083", NameDE: "Unbeabsichtigter Hub bei Einrichtbetrieb", NameEN: "Unintended stroke in setup mode", RequiredComponentTags: []string{"moving_part", "crush_point"}, RequiredLifecycles: []string{"setup"}, GeneratedHazardCats: []string{"mechanical_hazard", "safety_function_failure"}, SuggestedMeasureIDs: []string{"M106"}, Priority: 94, RequiresExpertCalculation: true, ExpertHintDE: "Einrichtbetrieb nur mit reduzierter Geschwindigkeit und Zweihandschaltung.", }, { ID: "HP084", NameDE: "Falsche Parametereinstellung nach Umruestung", NameEN: "Wrong parameters after changeover", RequiredComponentTags: []string{"programmable"}, RequiredLifecycles: []string{"changeover", "setup"}, GeneratedHazardCats: []string{"safety_function_failure"}, SuggestedMeasureIDs: []string{"M106"}, Priority: 82, ExpertHintDE: "Parameterverifikation nach jedem Werkzeugwechsel. Checkliste verwenden.", }, { ID: "HP085", NameDE: "Testzyklus trifft Einrichter", NameEN: "Test cycle hits setup personnel", RequiredComponentTags: []string{"moving_part", "crush_point"}, RequiredLifecycles: []string{"setup", "commissioning"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M005", "M106"}, Priority: 90, ExpertHintDE: "Schutztuer geschlossen bei Testzyklen. Alternativ: Tippbetrieb mit Zustimmtaster.", }, // ================================================================ // Transport / Montage / Demontage (HP086-HP090) // ================================================================ { ID: "HP086", NameDE: "Kippen der Maschine beim Transport", NameEN: "Machine tipping during transport", RequiredComponentTags: []string{"structural_part"}, RequiredLifecycles: []string{"transport"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M051"}, Priority: 85, }, { ID: "HP087", NameDE: "Quetschen bei Montage/Aufstellung", NameEN: "Crushing during installation", RequiredComponentTags: []string{"high_force", "gravity_risk"}, RequiredLifecycles: []string{"assembly"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M051"}, Priority: 82, }, { ID: "HP088", NameDE: "Unkontrollierte Bewegung bei Inbetriebnahme", NameEN: "Uncontrolled movement during commissioning", RequiredComponentTags: []string{"moving_part", "programmable"}, RequiredLifecycles: []string{"commissioning"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M005", "M106"}, Priority: 90, }, { ID: "HP089", NameDE: "Restmedien bei Demontage (Oel, Gas, Druck)", NameEN: "Residual media during dismantling", RequiredComponentTags: []string{"hydraulic_part"}, RequiredLifecycles: []string{"decommissioning", "disposal"}, GeneratedHazardCats: []string{"material_environmental", "pneumatic_hydraulic"}, SuggestedMeasureIDs: []string{"M054"}, Priority: 75, }, { ID: "HP090", NameDE: "Scharfe Kanten bei Demontage", NameEN: "Sharp edges during dismantling", RequiredComponentTags: []string{"cutting_part"}, RequiredLifecycles: []string{"decommissioning", "disposal"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M141"}, Priority: 60, }, // ================================================================ // Reinigung (HP091-HP093) // ================================================================ { ID: "HP091", NameDE: "Ausrutschen auf nassem/oeligem Boden", NameEN: "Slipping on wet/oily floor", RequiredComponentTags: []string{"chemical_risk"}, RequiredLifecycles: []string{"cleaning", "normal_operation"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M141"}, Priority: 65, }, { ID: "HP092", NameDE: "Chemische Exposition bei Reinigung", NameEN: "Chemical exposure during cleaning", RequiredComponentTags: []string{"chemical_risk"}, RequiredLifecycles: []string{"cleaning"}, GeneratedHazardCats: []string{"material_environmental"}, SuggestedMeasureIDs: []string{"M141"}, Priority: 70, }, { ID: "HP093", NameDE: "Einziehen in rotierende Teile bei Reinigung", NameEN: "Draw-in by rotating parts during cleaning", RequiredComponentTags: []string{"rotating_part"}, RequiredLifecycles: []string{"cleaning"}, ExcludedComponentTags: []string{"interlocked"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M001", "M054"}, Priority: 88, }, } }