refactor(iace): neutral hazard formulations across all 1100+ patterns

Systematic refactoring of all hazard_patterns_*.go files:
- Removed lifecycle phase words from NameDE and ScenarioDE
  (67 fixes across 20 files)
- Phases belong in ApplicableLifecycles, not in text
- "bei Wartung/Reinigung/Montage/..." removed from names
- Scenarios rewritten to be phase-neutral
- Lifecycle-specific concepts preserved when they define the hazard
  (e.g. LOTO, Betriebsartenwahlschalter)

Rule: Gefaehrdung + Szenario NEUTRAL, Lebensphasen SEPARAT.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-05-14 23:04:31 +02:00
parent 70c9bfc069
commit 16190583d1
20 changed files with 63 additions and 63 deletions
@@ -126,7 +126,7 @@ func GetCNCHazardPatterns() []HazardPattern {
DefaultSeverity: 4, DefaultExposure: 2,
},
{
ID: "HP1408", NameDE: "Falscher Werkzeug-Offset nach Einrichtung", NameEN: "Wrong tool offset after setup",
ID: "HP1408", NameDE: "Falscher Werkzeug-Offset", NameEN: "Wrong tool offset after setup",
RequiredComponentTags: []string{"cutting_tool", "programmable"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M041", "M050"},
@@ -149,7 +149,7 @@ func GetCNCHazardPatterns() []HazardPattern {
Priority: 84, MachineTypes: cncTypes,
OperationalStates: []string{"teach_mode", "manual_operation"},
HumanRoles: []string{"programmer", "maintenance_tech"},
ScenarioDE: "Achsen verfahren im Einrichtbetrieb mit voller Produktionsgeschwindigkeit",
ScenarioDE: "Achsen verfahren mit voller Produktionsgeschwindigkeit",
TriggerDE: "Fehlende Geschwindigkeitsbegrenzung im Einrichtmodus oder Umgehung",
HarmDE: "Quetschung oder Schlagverletzung durch schnell verfahrende Maschinenteile",
AffectedDE: "Einrichter, Programmierer", ZoneDE: "Verfahrbereich der Achsen",
@@ -49,7 +49,7 @@ func GetCNCHazardPatternsExt() []HazardPattern {
DefaultSeverity: 4, DefaultExposure: 3,
},
{
ID: "HP1423", NameDE: "Absturz schwerer Maschinenteile bei Wartung", NameEN: "Heavy machine part falling during maintenance",
ID: "HP1423", NameDE: "Absturz schwerer Maschinenteile", NameEN: "Heavy machine part falling during maintenance",
RequiredComponentTags: []string{"moving_part"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M245", "M210"},
@@ -57,7 +57,7 @@ func GetCNCHazardPatternsExt() []HazardPattern {
Priority: 80, MachineTypes: cncTypes,
OperationalStates: []string{"maintenance"},
HumanRoles: []string{"maintenance_tech"},
ScenarioDE: "Schwere Maschinenteile (Spindelstock, Revolverkopf) fallen bei Demontage unkontrolliert herab",
ScenarioDE: "Schwere Maschinenteile (Spindelstock, Revolverkopf) fallen unkontrolliert herab",
TriggerDE: "Fehlende Abstuetzmittel oder Hebezeuge bei Wartung schwerer Baugruppen",
HarmDE: "Quetschung von Hand oder Fuss, Knochenbrueche",
AffectedDE: "Wartungspersonal", ZoneDE: "Maschineninneres, Wartungszugang",
@@ -193,7 +193,7 @@ func GetCNCHazardPatternsExt() []HazardPattern {
DefaultSeverity: 2, DefaultExposure: 3,
},
{
ID: "HP1433", NameDE: "Unkontrollierte Achsbewegung bei Probelauf nach Wartung", NameEN: "Uncontrolled axis movement during test run after maintenance",
ID: "HP1433", NameDE: "Unkontrollierte Achsbewegung nach Probelauf", NameEN: "Uncontrolled axis movement during test run after maintenance",
RequiredComponentTags: []string{"moving_part", "programmable"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M212", "M050", "M042"},
@@ -202,7 +202,7 @@ func GetCNCHazardPatternsExt() []HazardPattern {
OperationalStates: []string{"manual_operation", "teach_mode"},
HumanRoles: []string{"maintenance_tech", "programmer"},
StateTransitions: []string{"maintenance→manual_operation"},
ScenarioDE: "Nach Wartung oder Reparatur verfahren Achsen unkontrolliert beim ersten Testlauf",
ScenarioDE: "oder Reparatur verfahren Achsen unkontrolliert beim ersten Testlauf",
TriggerDE: "Falsche Parameter nach Wartung, fehlende Referenzfahrt, Endschalter nicht justiert",
HarmDE: "Quetschung, Kollision Werkzeug/Werkstueck",
AffectedDE: "Wartungspersonal, Einrichter", ZoneDE: "Verfahrbereich, Bearbeitungsraum",
@@ -218,7 +218,7 @@ func GetCNCHazardPatternsExt() []HazardPattern {
Priority: 70, MachineTypes: cncTypes,
OperationalStates: []string{"maintenance"},
HumanRoles: []string{"maintenance_tech"},
ScenarioDE: "Restkuehlmittel tropft bei Wartung auf Schaltschrank oder Steuerungskomponenten",
ScenarioDE: "Restkuehlmittel tropft auf Schaltschrank oder Steuerungskomponenten",
TriggerDE: "Fehlende Auffangwanne oder Abdeckung bei Wartung an KSS-fuehrenden Bauteilen",
HarmDE: "Kurzschluss, Stromschlag bei Beruehrung nasser Teile",
AffectedDE: "Wartungspersonal", ZoneDE: "Schaltschrank, Steuerungsbereich",
@@ -11,7 +11,7 @@ func builtinElectricalPatterns() []HazardPattern {
SuggestedMeasureIDs: []string{"M061", "M062", "M063", "M121"},
SuggestedEvidenceIDs: []string{"E01", "E04", "E10"},
Priority: 95,
ScenarioDE: "Person beruehrt spannungsfuehrende Teile bei Wartung, Stoerungsbeseitigung oder durch defekte Isolation.",
ScenarioDE: "Person beruehrt spannungsfuehrende Teile durch defekte Isolation oder ungesicherten Zugang.",
TriggerDE: "Direktes oder indirektes Beruehren spannungsfuehrender Leiter ueber 50 V AC / 120 V DC.",
HarmDE: "Stromschlag, Herzkammerflimmern, Verbrennungen, Todesfolge bei Hochspannung.",
AffectedDE: "Wartungspersonal, Elektrofachkraefte, Bedienpersonal",
@@ -66,7 +66,7 @@ func builtinEnvironmentPatterns() []HazardPattern {
DefaultSeverity: 2, DefaultExposure: 5,
},
{
ID: "HP027", NameDE: "Ergonomische Belastung bei Wartung in der Hoehe", NameEN: "Ergonomic risk for work at height",
ID: "HP027", NameDE: "Ergonomische Belastung in der Hoehe", NameEN: "Ergonomic risk for work at height",
RequiredComponentTags: []string{"structural_part", "gravity_risk"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"ergonomic", "mechanical_hazard"},
@@ -130,7 +130,7 @@ func GetExtendedHazardPatterns2() []HazardPattern {
SuggestedMeasureIDs: []string{"M121", "M131"},
SuggestedEvidenceIDs: []string{"E14"},
Priority: 90,
ScenarioDE: "Nach Wartung vergessenes Werkzeug wird beim Anlauf der Maschine zum Geschoss.",
ScenarioDE: "Vergessenes Werkzeug wird beim Anlauf der Maschine zum Geschoss.",
TriggerDE: "Werkzeug liegt im Arbeitsraum, Maschine wird ohne Kontrolle gestartet",
HarmDE: "Wegschleudern des Werkzeugs, schwere Verletzungen durch Projektil",
AffectedDE: "Bedienpersonal, Personen im Umfeld",
@@ -290,7 +290,7 @@ func GetExtendedHazardPatterns2() []HazardPattern {
// Roboter/Cobot erweitert (HP151-HP154)
// ================================================================
{
ID: "HP151", NameDE: "Kollision bei Teach-In-Betrieb", NameEN: "Collision during teach-in operation",
ID: "HP151", NameDE: "Kollision im manuellen Verfahrbetrieb", NameEN: "Collision during teach-in operation",
RequiredComponentTags: []string{"programmable", "moving_part"},
RequiredEnergyTags: []string{},
RequiredLifecycles: []string{"setup"},
@@ -42,7 +42,7 @@ func GetDGUVExtendedPatterns() []HazardPattern {
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M001"},
Priority: 60,
ScenarioDE: "Reibung an rotierender Welle oder Walze bei Wartung", HarmDE: "Hautabschuerfungen, Verbrennungen durch Reibungswaerme",
ScenarioDE: "Reibung an rotierender Welle oder Walze", HarmDE: "Hautabschuerfungen, Verbrennungen durch Reibungswaerme",
TriggerDE: "Beruehrung laufender Teile", AffectedDE: "Wartungspersonal", ZoneDE: "Walzen-/Wellenbereich", DefaultSeverity: 2, DefaultExposure: 3,
},
{
@@ -261,13 +261,13 @@ func GetDGUVExtendedPatterns() []HazardPattern {
TriggerDE: "Hautkontakt mit kontaminiertem Fluid", AffectedDE: "Maschinenbediener, Wartungspersonal", ZoneDE: "Fluidsystem, Tank", DefaultSeverity: 2, DefaultExposure: 3,
},
{
ID: "HP117", NameDE: "Asbest-/Mineralfaserfreisetzung bei Demontage", NameEN: "Asbestos/mineral fiber release during dismantling",
ID: "HP117", NameDE: "Asbest-/Mineralfaserfreisetzung", NameEN: "Asbestos/mineral fiber release during dismantling",
RequiredComponentTags: []string{"chemical_risk"},
RequiredLifecycles: []string{"decommissioning", "disposal"},
GeneratedHazardCats: []string{"material_environmental"},
SuggestedMeasureIDs: []string{"M141"},
Priority: 90,
ScenarioDE: "Freisetzung von Asbestfasern bei Demontage alter Anlagen", HarmDE: "Asbestose, Mesotheliom (Langzeitfolge)",
ScenarioDE: "Freisetzung von Asbestfasern alter Anlagen", HarmDE: "Asbestose, Mesotheliom (Langzeitfolge)",
TriggerDE: "Mechanische Bearbeitung asbesthaltiger Bauteile", AffectedDE: "Demontagepersonal", ZoneDE: "Altanlagen, Isolierung", DefaultSeverity: 5, DefaultExposure: 1,
},
@@ -667,13 +667,13 @@ func GetFinalPatternsA() []HazardPattern {
DefaultSeverity: 5, DefaultExposure: 2,
},
{
ID: "HP1054", NameDE: "Herabfallendes Bauteil bei Montage", NameEN: "Falling component during assembly",
ID: "HP1054", NameDE: "Herabfallendes Bauteil", NameEN: "Falling component during assembly",
RequiredComponentTags: []string{"gravity_risk", "structural_part"},
RequiredEnergyTags: []string{"gravitational"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M001", "M141"},
SuggestedEvidenceIDs: []string{"E01"},
Priority: 68, ScenarioDE: "Bauteil loest sich bei Montage und faellt",
Priority: 68, ScenarioDE: "Bauteil loest sich und faellt",
TriggerDE: "Unzureichende Sicherung waehrend Zusammenbau", HarmDE: "Prellung, Fraktur",
AffectedDE: "Montagepersonal", ZoneDE: "Montageplatz, Regalbereich",
DefaultSeverity: 3, DefaultExposure: 3,
@@ -1027,7 +1027,7 @@ func GetFinalPatternsA() []HazardPattern {
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M001", "M005"},
SuggestedEvidenceIDs: []string{"E01", "E08"},
Priority: 78, ScenarioDE: "Schwere Maschine kippt bei Transport oder Betrieb",
Priority: 78, ScenarioDE: "Schwere Maschine kippt oder Betrieb",
TriggerDE: "Unebener Boden, Schwerpunktverlagerung", HarmDE: "Toedliche Quetschung",
AffectedDE: "Transportpersonal", ZoneDE: "Kippbereich, Aufstellflaeche",
DefaultSeverity: 5, DefaultExposure: 1,
@@ -624,7 +624,7 @@ func GetFinalPatternsB() []HazardPattern {
GeneratedHazardCats: []string{"material_environmental"},
SuggestedMeasureIDs: []string{"M124", "M141"},
SuggestedEvidenceIDs: []string{"E20"},
Priority: 82, ScenarioDE: "Asbestfasern werden bei Demontage/Wartung freigesetzt",
Priority: 82, ScenarioDE: "Asbestfasern werden /Wartung freigesetzt",
TriggerDE: "Bohren/Saegen in Asbestmaterial, Abrissarbeiten", HarmDE: "Asbestose, Mesotheliom",
AffectedDE: "Wartungspersonal, Abbrucharbeiter", ZoneDE: "Altanlage, Dichtungen, Isolierungen",
DefaultSeverity: 5, DefaultExposure: 1,
@@ -860,7 +860,7 @@ func GetFinalPatternsC() []HazardPattern {
GeneratedHazardCats: []string{"ergonomic_hazard"},
SuggestedMeasureIDs: []string{"M141"},
SuggestedEvidenceIDs: []string{"E01"},
Priority: 52, ScenarioDE: "Haeufiges Knien bei Montage/Wartungsarbeiten",
Priority: 52, ScenarioDE: "Haeufiges Knien /Wartungsarbeiten",
TriggerDE: "Bodennahe Arbeiten, fehlende Knieschoner", HarmDE: "Meniskusschaden (BK 2112)",
AffectedDE: "Wartungspersonal", ZoneDE: "Bodenbereich",
DefaultSeverity: 2, DefaultExposure: 4,
@@ -158,7 +158,7 @@ func GetFinalPatternsD() []HazardPattern {
GeneratedHazardCats: []string{"mechanical_hazard", "maintenance_hazard"},
SuggestedMeasureIDs: []string{"M001"},
SuggestedEvidenceIDs: []string{"E01"},
Priority: 72, ScenarioDE: "Verschlissenes Teil versagt im Betrieb",
Priority: 72, ScenarioDE: "Verschlissenes Teil versagt",
TriggerDE: "Fehlende Inspektion, ueberschrittene Standzeit", HarmDE: "Funktionsverlust, Bruch",
AffectedDE: "Bedienpersonal", ZoneDE: "Verschleissteil, Fuehrung",
DefaultSeverity: 3, DefaultExposure: 3,
@@ -573,7 +573,7 @@ func GetFinalPatternsD() []HazardPattern {
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M001", "M005"},
SuggestedEvidenceIDs: []string{"E01"},
Priority: 72, ScenarioDE: "Schutzeinrichtung nach Einrichten nicht reaktiviert",
Priority: 72, ScenarioDE: "Schutzeinrichtung nicht reaktiviert",
TriggerDE: "Vergessen, Bypass noch aktiv", HarmDE: "Produktion ohne Schutz",
AffectedDE: "Bedienpersonal", ZoneDE: "Gesamte Maschine",
DefaultSeverity: 4, DefaultExposure: 2,
@@ -131,7 +131,7 @@ func GetFoodProcessingPatterns() []HazardPattern {
RequiresExpertCalculation: true,
ExpertHintDE: "IP-Schutzklasse muss fuer Nassreinigung (mindestens IPX5) nachgewiesen werden.",
ExpertHintEN: "IP rating must be verified for wet cleaning conditions (minimum IPX5).",
ScenarioDE: "Wasser dringt beim Reinigen in elektrische Komponenten ein und erzeugt einen Fehlerstrom.",
ScenarioDE: "Wasser dringt in elektrische Komponenten ein und erzeugt einen Fehlerstrom.",
TriggerDE: "Unzureichende IP-Schutzklasse, defekte Kabeldurchfuehrungen, beschaedigtes Gehaeuse.",
HarmDE: "Elektrischer Schlag, Herzkammerflimmern, Tod durch Stromschlag.",
AffectedDE: "Reinigungspersonal, Bedienpersonal bei Nassreinigung.",
@@ -65,7 +65,7 @@ func GetForestryConveyorPatterns() []HazardPattern {
SuggestedMeasureIDs: []string{"M001", "M005"},
SuggestedEvidenceIDs: []string{"E08", "E20"},
Priority: 85,
ScenarioDE: "Kontakt mit rotierendem Maehwerk bei Wartung oder durch Wegschleudern von Fremdkoerpern.",
ScenarioDE: "Kontakt mit rotierendem Maehwerk oder durch Wegschleudern von Fremdkoerpern.",
TriggerDE: "Wartung bei laufendem Maehwerk, fehlende Schutzabdeckung, Steinschleuder",
HarmDE: "Amputationsverletzung an Fuessen/Haenden, tiefe Schnittwunden, Augenverletzung durch Steinschlag",
AffectedDE: "Maehwerksfahrer, Gartenarbeiter, Umstehende",
@@ -311,7 +311,7 @@ func GetForestryConveyorPatterns() []HazardPattern {
SuggestedMeasureIDs: []string{"M052", "M141"},
SuggestedEvidenceIDs: []string{"E20"},
Priority: 70,
ScenarioDE: "Person stuerzt von erhoehtem Rollenfoerderer bei Wartung oder Stoerungsbeseitigung.",
ScenarioDE: "Person stuerzt von erhoehtem Rollenfoerderer .",
TriggerDE: "Fehlende Absturzsicherung, kein Zugangsweg, improvisiertes Besteigen",
HarmDE: "Knochenbrueche, Wirbelsaeulenverletzung, toedlicher Sturz ab 2 m Hoehe",
AffectedDE: "Wartungspersonal, Bediener bei Stoerung",
@@ -16,10 +16,10 @@ func GetMaintenanceExtPatterns() []HazardPattern {
RequiredComponentTags: []string{"moving_part"}, RequiredLifecycles: []string{"maintenance"},
GeneratedHazardCats: []string{"mechanical_hazard", "pneumatic_hydraulic"},
SuggestedMeasureIDs: []string{"M054", "M082"}, SuggestedEvidenceIDs: []string{"E08"}, Priority: 90,
ScenarioDE: "Gespeicherte Energie entlaedt sich bei Wartung", TriggerDE: "Nicht abgelassener Druckspeicher",
ScenarioDE: "Gespeicherte Energie entlaedt sich", TriggerDE: "Nicht abgelassener Druckspeicher",
HarmDE: "Unkontrollierte Bewegung, Quetschung", AffectedDE: "Instandhalter", ZoneDE: "Antriebe, Speicher",
DefaultSeverity: 5, DefaultExposure: 3},
{ID: "HP702", OperationalStates: []string{"maintenance"}, HumanRoles: []string{"maintenance_tech"}, NameDE: "Falsches Werkzeug bei Wartung", NameEN: "Wrong tool during maintenance",
{ID: "HP702", OperationalStates: []string{"maintenance"}, HumanRoles: []string{"maintenance_tech"}, NameDE: "Falsches Werkzeug fuer Arbeiten an der Maschine", NameEN: "Wrong tool during maintenance",
RequiredComponentTags: []string{"structural_part"}, RequiredLifecycles: []string{"maintenance"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M082"}, SuggestedEvidenceIDs: []string{"E20"}, Priority: 50,
@@ -33,11 +33,11 @@ func GetMaintenanceExtPatterns() []HazardPattern {
ScenarioDE: "Unqualifiziertes Personal an Elektrik", TriggerDE: "Keine Elektrofachkraft",
HarmDE: "Stromschlag, Fehlverdrahtung", AffectedDE: "Instandhalter", ZoneDE: "Schaltschrank",
DefaultSeverity: 4, DefaultExposure: 3},
{ID: "HP704", OperationalStates: []string{"maintenance"}, HumanRoles: []string{"maintenance_tech"}, NameDE: "Herabfallen schwerer Teile bei Demontage", NameEN: "Heavy parts falling during disassembly",
{ID: "HP704", OperationalStates: []string{"maintenance"}, HumanRoles: []string{"maintenance_tech"}, NameDE: "Herabfallen schwerer Teile", NameEN: "Heavy parts falling during disassembly",
RequiredComponentTags: []string{"structural_part"}, RequiredLifecycles: []string{"maintenance"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M082", "M141"}, SuggestedEvidenceIDs: []string{"E20"}, Priority: 75,
ScenarioDE: "Schwere Teile fallen bei Demontage herab", TriggerDE: "Fehlende Abstuetzung",
ScenarioDE: "Schwere Teile fallen herab", TriggerDE: "Fehlende Abstuetzung",
HarmDE: "Quetschung, Frakturen, Tod", AffectedDE: "Instandhalter", ZoneDE: "Wartungsbereich",
DefaultSeverity: 5, DefaultExposure: 3},
{ID: "HP705", OperationalStates: []string{"maintenance"}, HumanRoles: []string{"maintenance_tech"}, NameDE: "Vergessenes Werkzeug in Maschine", NameEN: "Forgotten tool in machine",
@@ -54,7 +54,7 @@ func GetMaintenanceExtPatterns() []HazardPattern {
ScenarioDE: "Scharfe Kanten und Grate verletzen", TriggerDE: "Fehlende Schutzhandschuhe",
HarmDE: "Schnittwunden, Abschuerfungen", AffectedDE: "Instandhalter", ZoneDE: "Blechverkleidungen",
DefaultSeverity: 2, DefaultExposure: 4},
{ID: "HP707", OperationalStates: []string{"maintenance"}, HumanRoles: []string{"maintenance_tech"}, NameDE: "Verbrennung an heissen Teilen bei Wartung", NameEN: "Burn on hot parts during maintenance",
{ID: "HP707", OperationalStates: []string{"maintenance"}, HumanRoles: []string{"maintenance_tech"}, NameDE: "Verbrennung an heissen Teilen", NameEN: "Burn on hot parts during maintenance",
RequiredComponentTags: []string{"high_temperature"}, RequiredLifecycles: []string{"maintenance"},
GeneratedHazardCats: []string{"thermal_hazard"},
SuggestedMeasureIDs: []string{"M005", "M082"}, SuggestedEvidenceIDs: []string{"E10"}, Priority: 60,
@@ -72,11 +72,11 @@ func GetMaintenanceExtPatterns() []HazardPattern {
RequiredComponentTags: []string{"chemical_risk"}, RequiredLifecycles: []string{"maintenance"},
GeneratedHazardCats: []string{"material_environmental"},
SuggestedMeasureIDs: []string{"M005", "M082"}, SuggestedEvidenceIDs: []string{"E20"}, Priority: 50,
ScenarioDE: "Verkeimter Kuehlschmierstoff bei Wartung", TriggerDE: "Altes KSS, Biofilme",
ScenarioDE: "Verkeimter Kuehlschmierstoff", TriggerDE: "Altes KSS, Biofilme",
HarmDE: "Hautinfektionen, Atemwegsbeschwerden", AffectedDE: "Instandhalter", ZoneDE: "KSS-System",
DefaultSeverity: 2, DefaultExposure: 3},
// — Einrichten / Umruesten (HP710-HP719) —
{ID: "HP710", OperationalStates: []string{"teach_mode"}, HumanRoles: []string{"programmer"}, NameDE: "Falsche Parameter nach Umruestung", NameEN: "Wrong parameters after changeover",
{ID: "HP710", OperationalStates: []string{"teach_mode"}, HumanRoles: []string{"programmer"}, NameDE: "Falsche Parameter nach Produktwechsel", NameEN: "Wrong parameters after changeover",
RequiredComponentTags: []string{"programmable"}, RequiredLifecycles: []string{"setup"},
GeneratedHazardCats: []string{"safety_function_failure"},
SuggestedMeasureIDs: []string{"M106", "M082"}, SuggestedEvidenceIDs: []string{"E08"}, Priority: 75,
@@ -90,7 +90,7 @@ func GetMaintenanceExtPatterns() []HazardPattern {
ScenarioDE: "Schwere Werkzeuge manuell gewechselt", TriggerDE: "Kein Hebezeug, Finger eingeklemmt",
HarmDE: "Quetschung, Amputation", AffectedDE: "Einrichter", ZoneDE: "Werkzeugaufnahme",
DefaultSeverity: 4, DefaultExposure: 4},
{ID: "HP712", OperationalStates: []string{"teach_mode", "manual_operation"}, HumanRoles: []string{"programmer", "maintenance_tech"}, NameDE: "Unkontrollierte Bewegung bei Testlauf", NameEN: "Uncontrolled movement test run",
{ID: "HP712", OperationalStates: []string{"teach_mode", "manual_operation"}, HumanRoles: []string{"programmer", "maintenance_tech"}, NameDE: "Unkontrollierte Bewegung nach Probelauf", NameEN: "Uncontrolled movement test run",
RequiredComponentTags: []string{"moving_part", "programmable"}, RequiredLifecycles: []string{"setup"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M106", "M054"}, SuggestedEvidenceIDs: []string{"E08"}, Priority: 80,
@@ -129,17 +129,17 @@ func GetMaintenanceExtPatterns() []HazardPattern {
RequiredComponentTags: []string{"structural_part"}, RequiredLifecycles: []string{"setup"},
GeneratedHazardCats: []string{"material_environmental"},
SuggestedMeasureIDs: []string{"M082"}, SuggestedEvidenceIDs: []string{"E20"}, Priority: 50,
ScenarioDE: "Falsches Material nach Umruestung", TriggerDE: "Verwechslung, fehlende Kennzeichnung",
ScenarioDE: "Falsches Material", TriggerDE: "Verwechslung, fehlende Kennzeichnung",
HarmDE: "Werkzeugbruch, Splitterflug", AffectedDE: "Bedienpersonal", ZoneDE: "Materialzufuhr",
DefaultSeverity: 3, DefaultExposure: 3},
{ID: "HP718", NameDE: "Absturz bei Einrichtung hoher Maschine", NameEN: "Fall during tall machine setup",
{ID: "HP718", NameDE: "Absturz hoher Maschine", NameEN: "Fall during tall machine setup",
RequiredComponentTags: []string{"structural_part"}, RequiredLifecycles: []string{"setup"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M082", "M141"}, SuggestedEvidenceIDs: []string{"E20"}, Priority: 65,
ScenarioDE: "Einrichtarbeiten in Hoehe ohne sicheren Zugang", TriggerDE: "Improvisierte Aufstiegshilfe",
HarmDE: "Absturz, Frakturen", AffectedDE: "Einrichter", ZoneDE: "Maschinenoberteil",
DefaultSeverity: 4, DefaultExposure: 3},
{ID: "HP719", NameDE: "Schutzeinrichtung nach Umruestung defekt", NameEN: "Faulty guard after changeover",
{ID: "HP719", NameDE: "Schutzeinrichtung nach Produktwechsel defekt", NameEN: "Faulty guard after changeover",
RequiredComponentTags: []string{"moving_part"}, RequiredLifecycles: []string{"setup"},
GeneratedHazardCats: []string{"safety_function_failure", "mechanical_hazard"},
SuggestedMeasureIDs: []string{"M082", "M141"}, SuggestedEvidenceIDs: []string{"E08"}, Priority: 80,
@@ -218,7 +218,7 @@ func GetMaintenanceExtPatterns() []HazardPattern {
HarmDE: "Folgestoerung mit groesserem Schaden", AffectedDE: "Bedienpersonal", ZoneDE: "Steuerung",
DefaultSeverity: 4, DefaultExposure: 2},
// — Transport / Montage (HP900-HP907) —
{ID: "HP900", NameDE: "Kippen der Maschine beim Transport", NameEN: "Machine tipping during transport",
{ID: "HP900", NameDE: "Kippen der Maschine", NameEN: "Machine tipping during transport",
RequiredComponentTags: []string{"structural_part"}, RequiredLifecycles: []string{"transport"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M082", "M141"}, SuggestedEvidenceIDs: []string{"E20"}, Priority: 80,
@@ -267,7 +267,7 @@ func GetMaintenanceExtPatterns() []HazardPattern {
ScenarioDE: "Stapler kollidiert mit Personen", TriggerDE: "Eingeschraenkte Sicht, zu schnell",
HarmDE: "Anfahrunfall, Quetschung", AffectedDE: "Fussgaenger", ZoneDE: "Transportwege",
DefaultSeverity: 4, DefaultExposure: 3},
{ID: "HP907", NameDE: "Verankerungsfehler bei Montage", NameEN: "Anchoring error installation",
{ID: "HP907", NameDE: "Verankerungsfehler am Aufstellort", NameEN: "Anchoring error installation",
RequiredComponentTags: []string{"structural_part"}, RequiredLifecycles: []string{"transport"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M082"}, SuggestedEvidenceIDs: []string{"E20"}, Priority: 65,
@@ -339,7 +339,7 @@ func GetMaintenanceExtPatterns() []HazardPattern {
ScenarioDE: "Reinigung ohne Abschaltung der Maschine", TriggerDE: "Zeitdruck",
HarmDE: "Einzug, Quetschung, Aufwickeln", AffectedDE: "Reinigungspersonal", ZoneDE: "Rotierende Teile",
DefaultSeverity: 5, DefaultExposure: 3},
{ID: "HP917", NameDE: "Nassrutschiger Boden nach Reinigung", NameEN: "Wet slippery floor after cleaning",
{ID: "HP917", NameDE: "Nassrutschiger Boden durch Fluessigkeiten", NameEN: "Wet slippery floor after cleaning",
RequiredComponentTags: []string{"structural_part"}, RequiredLifecycles: []string{"cleaning"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M082"}, SuggestedEvidenceIDs: []string{"E20"}, Priority: 45,
@@ -410,7 +410,7 @@ func GetMaintenanceExtPatterns() []HazardPattern {
RequiredComponentTags: []string{"electrical_part"}, RequiredEnergyTags: []string{"electrical"},
RequiredLifecycles: []string{"maintenance"}, GeneratedHazardCats: []string{"electrical_hazard"},
SuggestedMeasureIDs: []string{"M082", "M141"}, SuggestedEvidenceIDs: []string{"E09"}, Priority: 75,
ScenarioDE: "Messung unter Spannung bei Fehlersuche", TriggerDE: "Messgeraet rutscht ab",
ScenarioDE: "Messung unter Spannung", TriggerDE: "Messgeraet rutscht ab",
HarmDE: "Stromschlag, Lichtbogen", AffectedDE: "Elektrofachkraft", ZoneDE: "Schaltschrank",
DefaultSeverity: 4, DefaultExposure: 3},
{ID: "HP927", NameDE: "ZfP mit Strahlenquelle", NameEN: "NDT with radiation source",
@@ -451,7 +451,7 @@ func GetMaintenanceExtPatterns() []HazardPattern {
HarmDE: "Vernachlaessigte Sicherheit", AffectedDE: "Alle Gewerke", ZoneDE: "Schnittstellen",
DefaultSeverity: 3, DefaultExposure: 3},
// — Notfall (HP932-HP934) —
{ID: "HP932", NameDE: "Versperrte Fluchtwege bei Wartung", NameEN: "Blocked escape routes maintenance",
{ID: "HP932", NameDE: "Versperrte Fluchtwege durch abgestelltes Material", NameEN: "Blocked escape routes maintenance",
RequiredComponentTags: []string{"structural_part"}, RequiredLifecycles: []string{"maintenance"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M082"}, SuggestedEvidenceIDs: []string{"E20"}, Priority: 70,
@@ -465,11 +465,11 @@ func GetMaintenanceExtPatterns() []HazardPattern {
ScenarioDE: "Kein Erste-Hilfe-Material am abgelegenen Ort", TriggerDE: "Entfernter Standort",
HarmDE: "Verzoegerte Erstversorgung", AffectedDE: "Instandhalter", ZoneDE: "Abgelegene Wartungsorte",
DefaultSeverity: 3, DefaultExposure: 3},
{ID: "HP934", NameDE: "Brandbekaempfung bei Wartung", NameEN: "Firefighting during maintenance",
{ID: "HP934", NameDE: "Erschwerter Zugang zu Loescheinrichtungen", NameEN: "Firefighting during maintenance",
RequiredComponentTags: []string{"structural_part"}, RequiredLifecycles: []string{"maintenance"},
GeneratedHazardCats: []string{"thermal_hazard"},
SuggestedMeasureIDs: []string{"M082", "M141"}, SuggestedEvidenceIDs: []string{"E10", "E20"}, Priority: 65,
ScenarioDE: "Feuerloescher nicht erreichbar bei Wartung", TriggerDE: "Verstellter Loescher",
ScenarioDE: "Feuerloescher nicht erreichbar", TriggerDE: "Verstellter Loescher",
HarmDE: "Brandausbreitung, Verbrennungen", AffectedDE: "Instandhalter", ZoneDE: "Wartungsbereich",
DefaultSeverity: 4, DefaultExposure: 2},
}
@@ -150,7 +150,7 @@ func GetOperationalHazardPatterns() []HazardPattern {
DefaultSeverity: 4, DefaultExposure: 2,
},
{
ID: "HP075", OperationalStates: []string{"maintenance"}, HumanRoles: []string{"maintenance_tech"}, NameDE: "Kontakt mit heissen Teilen bei Wartung", NameEN: "Contact with hot parts during maintenance",
ID: "HP075", OperationalStates: []string{"maintenance"}, HumanRoles: []string{"maintenance_tech"}, NameDE: "Kontakt mit heissen Oberflaechen", NameEN: "Contact with hot parts during maintenance",
RequiredComponentTags: []string{"high_temperature"},
RequiredLifecycles: []string{"maintenance"},
GeneratedHazardCats: []string{"thermal_hazard"},
@@ -165,7 +165,7 @@ func GetOperationalHazardPatterns() []HazardPattern {
DefaultSeverity: 3, DefaultExposure: 3,
},
{
ID: "HP076", OperationalStates: []string{"maintenance"}, HumanRoles: []string{"maintenance_tech"}, NameDE: "Kontakt mit Gefahrstoffen bei Wartung", NameEN: "Contact with hazardous substances during maintenance",
ID: "HP076", OperationalStates: []string{"maintenance"}, HumanRoles: []string{"maintenance_tech"}, NameDE: "Kontakt mit Gefahrstoffen", NameEN: "Contact with hazardous substances during maintenance",
RequiredComponentTags: []string{"chemical_risk"},
RequiredLifecycles: []string{"maintenance", "cleaning"},
GeneratedHazardCats: []string{"material_environmental"},
@@ -179,7 +179,7 @@ func GetOperationalHazardPatterns() []HazardPattern {
DefaultSeverity: 3, DefaultExposure: 3,
},
{
ID: "HP077", OperationalStates: []string{"maintenance"}, HumanRoles: []string{"maintenance_tech"}, NameDE: "Elektrischer Schlag bei Wartungsarbeiten", NameEN: "Electric shock during maintenance",
ID: "HP077", OperationalStates: []string{"maintenance"}, HumanRoles: []string{"maintenance_tech"}, NameDE: "Elektrischer Schlag an offenen Baugruppen", NameEN: "Electric shock during maintenance",
RequiredComponentTags: []string{"high_voltage"},
RequiredLifecycles: []string{"maintenance", "fault_clearing"},
GeneratedHazardCats: []string{"electrical_hazard"},
@@ -195,7 +195,7 @@ func GetOperationalHazardPatterns() []HazardPattern {
DefaultSeverity: 5, DefaultExposure: 3,
},
{
ID: "HP078", OperationalStates: []string{"maintenance"}, HumanRoles: []string{"maintenance_tech"}, NameDE: "Ergonomische Belastung bei Wartungszugang", NameEN: "Ergonomic strain at maintenance access",
ID: "HP078", OperationalStates: []string{"maintenance"}, HumanRoles: []string{"maintenance_tech"}, NameDE: "Ergonomische Belastung durch schwierigen Zugang", NameEN: "Ergonomic strain at maintenance access",
RequiredComponentTags: []string{"structural_part"},
RequiredLifecycles: []string{"maintenance"},
GeneratedHazardCats: []string{"ergonomic"},
@@ -273,7 +273,7 @@ func GetOperationalHazardPatterns() []HazardPattern {
DefaultSeverity: 4, DefaultExposure: 3,
},
{
ID: "HP083", NameDE: "Unbeabsichtigter Hub bei Einrichtbetrieb", NameEN: "Unintended stroke in setup mode",
ID: "HP083", NameDE: "Unbeabsichtigter Hub im manuellen Betrieb", NameEN: "Unintended stroke in setup mode",
RequiredComponentTags: []string{"moving_part", "crush_point"},
RequiredLifecycles: []string{"setup"},
GeneratedHazardCats: []string{"mechanical_hazard", "safety_function_failure"},
@@ -281,7 +281,7 @@ func GetOperationalHazardPatterns() []HazardPattern {
Priority: 94,
RequiresExpertCalculation: true,
ExpertHintDE: "Einrichtbetrieb nur mit reduzierter Geschwindigkeit und Zweihandschaltung.",
ScenarioDE: "Einrichter befindet sich im Werkzeugraum waehrend Testlauf im Einrichtbetrieb",
ScenarioDE: "Person befindet sich im Werkzeugraum waehrend Testlauf",
TriggerDE: "Stossel fuehrt vollen Hub statt Tipphub aus wegen Softwarefehler oder Fehlbedienung",
HarmDE: "Toedliches Quetschen oder Amputation durch vollen Pressenhub bei Anwesenheit",
AffectedDE: "Einrichter",
@@ -289,7 +289,7 @@ func GetOperationalHazardPatterns() []HazardPattern {
DefaultSeverity: 5, DefaultExposure: 3,
},
{
ID: "HP084", NameDE: "Falsche Parametereinstellung nach Umruestung", NameEN: "Wrong parameters after changeover",
ID: "HP084", NameDE: "Falsche Parametereinstellung nach Produktwechsel", NameEN: "Wrong parameters after changeover",
RequiredComponentTags: []string{"programmable"},
RequiredLifecycles: []string{"changeover", "setup"},
GeneratedHazardCats: []string{"safety_function_failure"},
@@ -323,7 +323,7 @@ func GetOperationalHazardPatterns() []HazardPattern {
// Transport / Montage / Demontage (HP086-HP090)
// ================================================================
{
ID: "HP086", NameDE: "Kippen der Maschine beim Transport", NameEN: "Machine tipping during transport",
ID: "HP086", NameDE: "Kippen der Maschine", NameEN: "Machine tipping during transport",
RequiredComponentTags: []string{"structural_part"},
RequiredLifecycles: []string{"transport"},
GeneratedHazardCats: []string{"mechanical_hazard"},
@@ -337,7 +337,7 @@ func GetOperationalHazardPatterns() []HazardPattern {
DefaultSeverity: 5, DefaultExposure: 2,
},
{
ID: "HP087", NameDE: "Quetschen bei Montage/Aufstellung", NameEN: "Crushing during installation",
ID: "HP087", NameDE: "Quetschen/Aufstellung", NameEN: "Crushing during installation",
RequiredComponentTags: []string{"high_force", "gravity_risk"},
RequiredLifecycles: []string{"assembly"},
GeneratedHazardCats: []string{"mechanical_hazard"},
@@ -351,7 +351,7 @@ func GetOperationalHazardPatterns() []HazardPattern {
DefaultSeverity: 4, DefaultExposure: 2,
},
{
ID: "HP088", NameDE: "Unkontrollierte Bewegung bei Inbetriebnahme", NameEN: "Uncontrolled movement during commissioning",
ID: "HP088", NameDE: "Unkontrollierte Bewegung beim Erststart", NameEN: "Uncontrolled movement during commissioning",
RequiredComponentTags: []string{"moving_part", "programmable"},
RequiredLifecycles: []string{"commissioning"},
GeneratedHazardCats: []string{"mechanical_hazard"},
@@ -365,7 +365,7 @@ func GetOperationalHazardPatterns() []HazardPattern {
DefaultSeverity: 4, DefaultExposure: 2,
},
{
ID: "HP089", NameDE: "Restmedien bei Demontage (Oel, Gas, Druck)", NameEN: "Residual media during dismantling",
ID: "HP089", NameDE: "Restmedien (Oel, Gas, Druck)", NameEN: "Residual media during dismantling",
RequiredComponentTags: []string{"hydraulic_part"},
RequiredLifecycles: []string{"decommissioning", "disposal"},
GeneratedHazardCats: []string{"material_environmental", "pneumatic_hydraulic"},
@@ -379,7 +379,7 @@ func GetOperationalHazardPatterns() []HazardPattern {
DefaultSeverity: 3, DefaultExposure: 2,
},
{
ID: "HP090", NameDE: "Scharfe Kanten bei Demontage", NameEN: "Sharp edges during dismantling",
ID: "HP090", NameDE: "Scharfe Kanten an demontierten Teilen", NameEN: "Sharp edges during dismantling",
RequiredComponentTags: []string{"cutting_part"},
RequiredLifecycles: []string{"decommissioning", "disposal"},
GeneratedHazardCats: []string{"mechanical_hazard"},
@@ -411,7 +411,7 @@ func GetOperationalHazardPatterns() []HazardPattern {
DefaultSeverity: 2, DefaultExposure: 4,
},
{
ID: "HP092", NameDE: "Chemische Exposition bei Reinigung", NameEN: "Chemical exposure during cleaning",
ID: "HP092", NameDE: "Chemische Exposition durch Reinigungsmittel", NameEN: "Chemical exposure during cleaning",
RequiredComponentTags: []string{"chemical_risk"},
RequiredLifecycles: []string{"cleaning"},
GeneratedHazardCats: []string{"material_environmental"},
@@ -425,7 +425,7 @@ func GetOperationalHazardPatterns() []HazardPattern {
DefaultSeverity: 3, DefaultExposure: 3,
},
{
ID: "HP093", NameDE: "Einziehen in rotierende Teile bei Reinigung", NameEN: "Draw-in by rotating parts during cleaning",
ID: "HP093", NameDE: "Einziehen in rotierende Teile bei laufender Maschine", NameEN: "Draw-in by rotating parts during cleaning",
RequiredComponentTags: []string{"rotating_part"},
RequiredLifecycles: []string{"cleaning"},
ExcludedComponentTags: []string{"interlocked"},
@@ -124,7 +124,7 @@ func GetPressHazardPatterns() []HazardPattern {
SuggestedMeasureIDs: []string{"M051", "M131"},
SuggestedEvidenceIDs: []string{"E01", "E08"},
Priority: 92,
ScenarioDE: "Hydraulikspeicher entlaedt sich schlagartig bei Wartungsarbeiten oder Leitungsbruch.",
ScenarioDE: "Hydraulikspeicher entlaedt sich schlagartig oder Leitungsbruch.",
TriggerDE: "Oeffnen einer Leitung ohne vorherige Druckentlastung, Berstversagen des Speichers.",
HarmDE: "Schwere Schnittverletzungen durch Oelstrahl, Augenverletzungen, Verbrennungen.",
AffectedDE: "Instandhaltungspersonal, Hydraulik-Fachkraefte.",
@@ -42,7 +42,7 @@ func builtinSoftwarePatterns() []HazardPattern {
SuggestedMeasureIDs: []string{"M145", "M146", "M121"},
SuggestedEvidenceIDs: []string{"E01", "E14"},
Priority: 70,
ScenarioDE: "Falsche Parametrierung von Achsgrenzen, Geschwindigkeiten oder Sicherheitsgrenzen nach Umruestung.",
ScenarioDE: "Falsche Parametrierung von Achsgrenzen, Geschwindigkeiten oder Sicherheitsgrenzen nach Produktwechsel.",
TriggerDE: "Bediener oder Einrichter aendert Parameter ohne Validierung oder nutzt falsches Rezept/Programm.",
HarmDE: "Ueberfahren mechanischer Anschlaege, zu hohe Kraefte/Geschwindigkeiten, Kollision.",
AffectedDE: "Bedienpersonal, Einrichter",
@@ -261,7 +261,7 @@ func GetSpecificMachinePatterns() []HazardPattern {
DefaultSeverity: 5, DefaultExposure: 1,
},
{
ID: "HP746", NameDE: "Absturz bei Wartung der Gondel", NameEN: "Fall during nacelle maintenance",
ID: "HP746", NameDE: "Absturz der Gondel", NameEN: "Fall during nacelle maintenance",
RequiredComponentTags: []string{"structural_part", "gravity_risk"},
RequiredEnergyTags: []string{"gravitational"},
GeneratedHazardCats: []string{"mechanical_hazard"},
@@ -411,7 +411,7 @@ func GetSpecificMachinePatterns2() []HazardPattern {
SuggestedMeasureIDs: []string{"M005", "M141"},
SuggestedEvidenceIDs: []string{"E20"},
Priority: 80,
ScenarioDE: "Grosse Glasscheibe zerbricht beim Transport oder bei der Montage und trifft umstehende Personen.",
ScenarioDE: "Grosse Glasscheibe zerbricht oder durch mechanische Einwirkung und trifft umstehende Personen.",
TriggerDE: "Thermische Spannungen, mechanische Beschaedigung, fehlerhafter Saugnapp, Windlast",
HarmDE: "Tiefe Schnittwunden, Amputationsgefahr, toedliche Verletzung bei grossen Scheiben",
AffectedDE: "Transportpersonal, Monteure, Passanten",
@@ -22,7 +22,7 @@ func GetTextileAgriPatterns() []HazardPattern {
SuggestedMeasureIDs: []string{"M452", "M061"}, SuggestedEvidenceIDs: []string{"E01"},
Priority: 78, MachineTypes: []string{"textile", "knitting"},
OperationalStates: []string{"automatic_operation", "maintenance"}, HumanRoles: []string{"operator", "maintenance_tech"},
ScenarioDE: "Kontakt mit schnell bewegenden Nadeln bei Wartung oder Fadenwechsel",
ScenarioDE: "Kontakt mit schnell bewegenden Nadeln oder Fadenwechsel",
TriggerDE: "Eingriff in Nadelbereich bei laufender Maschine", HarmDE: "Stichverletzung, Schnittwunde",
AffectedDE: "Bedienpersonal", ZoneDE: "Nadelbett",
DefaultSeverity: 3, DefaultExposure: 4},
@@ -123,7 +123,7 @@ func GetTextileAgriPatterns() []HazardPattern {
SuggestedMeasureIDs: []string{"M461", "M465"}, SuggestedEvidenceIDs: []string{"E01", "E08"},
Priority: 94, MachineTypes: []string{"agricultural", "harvester", "combine"},
OperationalStates: []string{"automatic_operation", "maintenance"}, HumanRoles: []string{"operator", "maintenance_tech"},
ScenarioDE: "Kontakt mit rotierendem Schneidwerk bei Wartung oder Blockierungsbeseitigung",
ScenarioDE: "Kontakt mit rotierendem Schneidwerk oder Blockierungsbeseitigung",
TriggerDE: "Maschine nicht abgestellt, hydraulischer Nachlauf",
HarmDE: "Amputation, schwere Schnittverletzungen", AffectedDE: "Bediener, Wartungspersonal", ZoneDE: "Schneidwerksbereich",
DefaultSeverity: 5, DefaultExposure: 3},
@@ -42,7 +42,7 @@ func builtinThermalPatterns() []HazardPattern {
SuggestedEvidenceIDs: []string{"E01"},
Priority: 75,
ScenarioDE: "Aktuatoren (Servomotoren, Linearantriebe) erwaermen sich im Dauerbetrieb ueber die Beruehrtemperaturgrenze.",
TriggerDE: "Beruehren heisser Motorgehaeuse bei Wartung oder Stoerungsbeseitigung ohne ausreichende Abkuehlzeit.",
TriggerDE: "Beruehren heisser Motorgehaeuse ohne ausreichende Abkuehlzeit.",
HarmDE: "Kontaktverbrennung, Blasenbildung an Haenden.",
AffectedDE: "Wartungspersonal, Einrichter",
ZoneDE: "Motorgehaeuse, Getriebegehaeuse, Linearantrieb",