85e82d0dfa
Fault Clearing (HP066-HP072): Jammed parts releasing, hose bursts, unexpected restart, stored energy, intervention in running machine, material jam, falling parts during fault clearing Maintenance (HP073-HP079): Missing LOTO, falls from platforms, hot parts contact, hazardous substances, electric shock, ergonomic access, uncontrolled hydraulic lowering Setup/Changeover (HP080-HP085): Crushing during tool change, burns from hot tools, heavy tool drops, unintended stroke in setup mode, wrong parameters, test cycle hits personnel Transport/Install/Decommission (HP086-HP090): Machine tipping, crushing during installation, uncontrolled commissioning movement, residual media, sharp edges Cleaning (HP091-HP093): Slipping, chemical exposure, draw-in Lifecycle keywords expanded: werkzeugwechsel, stoerung, fehlersuche, klemm, blockier, stau → trigger fault_clearing phase patterns Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
276 lines
13 KiB
Go
276 lines
13 KiB
Go
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,
|
|
},
|
|
}
|
|
}
|