feat: IACE CE-Compliance Module — Normen, Risikobewertung, Production Lines

Major features:
- 215 norms library with section references + Beuth URLs (A/B1/B2/C norms)
- 173 hazard patterns with detail fields (scenario, trigger, harm, zone)
- Deterministic pattern matching: Component × Lifecycle × Pattern cross-product
- SIL/PL auto-calculation from S×E×P risk graph
- Risk assessment table with editable S/E/P dropdowns
- Production Line Dashboard with animated station flow (Running Dots)
- IACE process flow + norms coverage on start page
- Non-blocking cookie banner, ProcessFlow SSR fix
- 104 Playwright E2E tests passing

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-05-07 10:53:26 +02:00
parent 3853a0838a
commit e7f2f98da3
59 changed files with 8326 additions and 525 deletions
@@ -0,0 +1,652 @@
package iace
// GetExtendedHazardPatterns2 returns 40 additional hazard patterns (HP134-HP173)
// covering environmental risks, extended maintenance, electrical/pneumatic/
// hydraulic additions, press/forming specifics, robot/cobot extensions,
// conveyor systems, software/control failures, and general workplace hazards.
func GetExtendedHazardPatterns2() []HazardPattern {
return []HazardPattern{
// ================================================================
// Umgebungsrisiken / Environmental Context (HP134-HP137)
// ================================================================
{
ID: "HP134", NameDE: "Beleuchtungsmaengel am Arbeitsplatz", NameEN: "Insufficient workplace lighting",
RequiredComponentTags: []string{"structural_part"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"ergonomic"},
SuggestedMeasureIDs: []string{"M141"},
SuggestedEvidenceIDs: []string{"E20"},
Priority: 55,
ScenarioDE: "Unzureichende Beleuchtung am Arbeitsplatz fuehrt zu Fehlbedienung oder Sturzgefahr.",
TriggerDE: "Defekte Beleuchtung, fehlende Ausleuchtung des Arbeitsbereichs",
HarmDE: "Fehlbedienung, Stolpern, Augenermuedung, erhoehtes Unfallrisiko",
AffectedDE: "Bedienpersonal, Wartungspersonal",
ZoneDE: "Gesamter Arbeitsplatz, Bedienbereich",
DefaultSeverity: 2, DefaultExposure: 4,
},
{
ID: "HP135", NameDE: "Bodenunebenproblem im Maschinenumfeld", NameEN: "Floor irregularities near machinery",
RequiredComponentTags: []string{"structural_part"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M141"},
SuggestedEvidenceIDs: []string{"E20"},
Priority: 50,
ScenarioDE: "Stolperkanten, Kabel, Schlauchleitungen im Gehbereich um die Maschine.",
TriggerDE: "Lose Leitungen, Schwellen, Unebenheiten am Boden nahe Maschinenzugang",
HarmDE: "Stuerze, Prellungen, Verstauchungen, Knochenbrueche",
AffectedDE: "Alle Personen im Maschinenumfeld",
ZoneDE: "Verkehrswege und Zugangsbereiche um die Maschine",
DefaultSeverity: 2, DefaultExposure: 4,
},
{
ID: "HP136", NameDE: "Klimatische Belastung (Hitze/Kaelte)", NameEN: "Climatic stress (heat/cold)",
RequiredComponentTags: []string{"high_temperature"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"ergonomic"},
SuggestedMeasureIDs: []string{"M141"},
SuggestedEvidenceIDs: []string{"E20"},
Priority: 55,
ScenarioDE: "Bediener ist extremer Hitze oder Kaelte am Maschinenarbeitsplatz ausgesetzt.",
TriggerDE: "Waermeabstrahlung der Maschine, ungenuegend klimatisierter Arbeitsbereich",
HarmDE: "Kreislaufversagen, Konzentrationsstoerung, Erfrierungen, Hitzschlag",
AffectedDE: "Bedienpersonal bei Dauereinsatz",
ZoneDE: "Bedienstand, Arbeitsbereich im Maschinenumfeld",
DefaultSeverity: 2, DefaultExposure: 4,
},
{
ID: "HP137", NameDE: "Blendung durch Prozesslicht", NameEN: "Glare from process light",
RequiredComponentTags: []string{"high_temperature"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M005", "M141"},
SuggestedEvidenceIDs: []string{"E20"},
Priority: 65,
ScenarioDE: "Blendung durch Schweisslichtbogen, Laserstrahlung oder helle Prozessbeleuchtung.",
TriggerDE: "Direkter Blickkontakt mit Schweisslichtbogen oder Laserstrahl",
HarmDE: "Voruebergehende Blindheit, Netzhautschaeden, Reaktionsfehler",
AffectedDE: "Bedienpersonal, Personen im Sichtfeld",
ZoneDE: "Prozesszone, Sichtbereich zum Bearbeitungsort",
DefaultSeverity: 3, DefaultExposure: 3,
},
// ================================================================
// Instandhaltung erweitert (HP138-HP141)
// ================================================================
{
ID: "HP138", NameDE: "Arbeiten unter Zeitdruck bei Stoerung", NameEN: "Working under time pressure during fault clearing",
RequiredComponentTags: []string{"moving_part"},
RequiredEnergyTags: []string{},
RequiredLifecycles: []string{"fault_clearing"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M121", "M131"},
SuggestedEvidenceIDs: []string{"E14", "E21"},
Priority: 85,
ScenarioDE: "Unter Produktionsdruck werden Sicherheitsmassnahmen bei Stoerungsbeseitigung umgangen.",
TriggerDE: "Produktionsstillstand erzeugt Zeitdruck, Schutzeinrichtungen werden ueberbrueckt",
HarmDE: "Quetschungen, Schnittverletzungen, Einklemmen durch anlaufende Maschinenteile",
AffectedDE: "Instandhaltungspersonal, Maschinenbediener",
ZoneDE: "Stoerungsbereich, Gefahrenzone der Maschine",
DefaultSeverity: 4, DefaultExposure: 3,
},
{
ID: "HP139", NameDE: "Fehlende Ersatzteile fuehren zu Improvisation", NameEN: "Missing spare parts lead to improvisation",
RequiredComponentTags: []string{"structural_part"},
RequiredEnergyTags: []string{},
RequiredLifecycles: []string{"maintenance"},
GeneratedHazardCats: []string{"maintenance_hazard"},
SuggestedMeasureIDs: []string{"M121"},
SuggestedEvidenceIDs: []string{"E14", "E20"},
Priority: 70,
ScenarioDE: "Nicht-originale Ersatzteile oder improvisierte Reparaturen beeintraechtigen die Sicherheit.",
TriggerDE: "Original-Ersatzteile nicht verfuegbar, provisorische Loesung eingebaut",
HarmDE: "Versagen der reparierten Komponente, Folgeunfall durch Materialbruch",
AffectedDE: "Wartungspersonal, nachfolgendes Bedienpersonal",
ZoneDE: "Reparaturstelle, betroffene Maschinenbaugruppe",
DefaultSeverity: 4, DefaultExposure: 2,
},
{
ID: "HP140", NameDE: "Kontamination bei Oelwechsel", NameEN: "Contamination during oil change",
RequiredComponentTags: []string{"hydraulic_part", "oil_mist_risk"},
RequiredEnergyTags: []string{},
RequiredLifecycles: []string{"maintenance"},
GeneratedHazardCats: []string{"material_environmental"},
SuggestedMeasureIDs: []string{"M141"},
SuggestedEvidenceIDs: []string{"E20"},
Priority: 55,
ScenarioDE: "Hautkontakt mit Hydraulikoel, Kuehlschmierstoff beim Wechsel ohne Schutzhandschuhe.",
TriggerDE: "Oelwechsel oder Nachfuellen ohne persoenliche Schutzausruestung",
HarmDE: "Hautreizung, allergische Kontaktdermatitis, langfristige Hautschaeden",
AffectedDE: "Wartungspersonal",
ZoneDE: "Hydraulikaggregat, Kuehlmittelbehaelter",
DefaultSeverity: 2, DefaultExposure: 3,
},
{
ID: "HP141", NameDE: "Vergessenes Werkzeug in der Maschine", NameEN: "Forgotten tool inside machine",
RequiredComponentTags: []string{"moving_part"},
RequiredEnergyTags: []string{},
RequiredLifecycles: []string{"maintenance"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M121", "M131"},
SuggestedEvidenceIDs: []string{"E14"},
Priority: 90,
ScenarioDE: "Nach Wartung 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",
ZoneDE: "Arbeitsraum, Schleuderbereich der Maschine",
DefaultSeverity: 5, DefaultExposure: 2,
},
// ================================================================
// Elektrische Zusatzrisiken (HP142-HP144)
// ================================================================
{
ID: "HP142", NameDE: "Elektrostatische Aufladung bei Kunststoffverarbeitung", NameEN: "Electrostatic charge in plastics processing",
RequiredComponentTags: []string{"electrical_part"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"electrical_hazard"},
SuggestedMeasureIDs: []string{"M014"},
SuggestedEvidenceIDs: []string{"E10"},
Priority: 55,
ScenarioDE: "Statische Aufladung bei Folientransport oder Granulat fuehrt zu Funkenbildung.",
TriggerDE: "Reibung bei Folienlauf, Granulattransport ohne Erdung",
HarmDE: "Zuendung brennbarer Atmosphaere, Stromschlag, Erschrecken",
AffectedDE: "Bedienpersonal an Kunststoffmaschinen",
ZoneDE: "Folienlauf, Trichter, Transportleitungen",
DefaultSeverity: 2, DefaultExposure: 4,
},
{
ID: "HP143", NameDE: "Fehlerhafte Schutzleiterverbindung", NameEN: "Defective protective conductor connection",
RequiredComponentTags: []string{"electrical_part", "high_voltage"},
RequiredEnergyTags: []string{"electrical_energy"},
GeneratedHazardCats: []string{"electrical_hazard"},
SuggestedMeasureIDs: []string{"M061", "M062"},
SuggestedEvidenceIDs: []string{"E10", "E14"},
Priority: 90,
ScenarioDE: "Korrodierte oder unterbrochene Schutzleiter fuehren bei Isolationsfehler zu Koerperdurchstroemung.",
TriggerDE: "Korrosion, lose Klemme, mechanische Beschaedigung des Schutzleiters",
HarmDE: "Elektrischer Schlag, Herzkammerflimmern, Tod",
AffectedDE: "Bedienpersonal, Wartungspersonal",
ZoneDE: "Maschinengehaeuse, Schaltschrank, Klemmkasten",
DefaultSeverity: 5, DefaultExposure: 2,
},
{
ID: "HP144", NameDE: "Restspannung nach Abschaltung", NameEN: "Residual voltage after shutdown",
RequiredComponentTags: []string{"electrical_part", "stored_energy"},
RequiredEnergyTags: []string{"electrical_energy"},
GeneratedHazardCats: []string{"electrical_hazard"},
SuggestedMeasureIDs: []string{"M061", "M121"},
SuggestedEvidenceIDs: []string{"E10", "E14"},
Priority: 90,
ScenarioDE: "Kondensatoren oder Zwischenkreise halten Spannung nach Abschaltung.",
TriggerDE: "Wartung beginnt ohne Spannungsfreiheitspruefung, Entladezeit nicht abgewartet",
HarmDE: "Elektrischer Schlag, Lichtbogenverbrennungen, Herzkammerflimmern",
AffectedDE: "Wartungspersonal, Elektriker",
ZoneDE: "Frequenzumrichter, Zwischenkreis, Kondensatorbatterien",
DefaultSeverity: 5, DefaultExposure: 2,
},
// ================================================================
// Pneumatik/Hydraulik erweitert (HP145-HP147)
// ================================================================
{
ID: "HP145", NameDE: "Peitscheneffekt bei Schlauchbruch", NameEN: "Whiplash effect from hose rupture",
RequiredComponentTags: []string{"hydraulic_part", "high_pressure"},
RequiredEnergyTags: []string{"hydraulic_pressure"},
GeneratedHazardCats: []string{"pneumatic_hydraulic"},
SuggestedMeasureIDs: []string{"M021", "M054"},
SuggestedEvidenceIDs: []string{"E11", "E20"},
Priority: 90,
ScenarioDE: "Hydraulikschlauch reisst unter Druck und peitscht unkontrolliert.",
TriggerDE: "Materialermuedung, Schlauch-Ueberschreitung der Lebensdauer, Knickbelastung",
HarmDE: "Peitschenverletzung, Hochdruckinjektion, Knochenbrueche",
AffectedDE: "Wartungspersonal, Bedienpersonal im Nahbereich",
ZoneDE: "Schlauchverlauf, Arbeitsbereich unterhalb der Hydraulikleitungen",
DefaultSeverity: 5, DefaultExposure: 2,
},
{
ID: "HP146", NameDE: "Oelaustritt auf heisse Oberflaeche", NameEN: "Oil leak onto hot surface",
RequiredComponentTags: []string{"hydraulic_part", "high_temperature"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"material_environmental"},
SuggestedMeasureIDs: []string{"M021", "M141"},
SuggestedEvidenceIDs: []string{"E11", "E20"},
Priority: 80,
ScenarioDE: "Leckierendes Hydraulikoel tropft auf heisse Maschinenteile und entzuendet sich.",
TriggerDE: "Leckage an Schlauchverbindung, Dichtungsversagen nahe Waermequelle",
HarmDE: "Brand, Verbrennungen, Rauchgasvergiftung",
AffectedDE: "Bedienpersonal, Personen im Brandbereich",
ZoneDE: "Hydraulikleitungen oberhalb heisser Maschinenbauteile",
DefaultSeverity: 4, DefaultExposure: 2,
},
{
ID: "HP147", NameDE: "Druckstoss in Pneumatikleitung", NameEN: "Pressure surge in pneumatic line",
RequiredComponentTags: []string{"pneumatic_part"},
RequiredEnergyTags: []string{"pneumatic_pressure"},
GeneratedHazardCats: []string{"pneumatic_hydraulic"},
SuggestedMeasureIDs: []string{"M022"},
SuggestedEvidenceIDs: []string{"E11"},
Priority: 70,
ScenarioDE: "Schlagartiger Druckaufbau in Pneumatikleitung bei Ventilversagen.",
TriggerDE: "Defektes Ventil oeffnet schlagartig, Druckminderer versagt",
HarmDE: "Unkontrollierte Zylinderbewegung, Leitungsabriss, Verletzung durch Druckwelle",
AffectedDE: "Bedienpersonal, Wartungspersonal",
ZoneDE: "Pneumatikverteilung, Zylinderbereich",
DefaultSeverity: 3, DefaultExposure: 3,
},
// ================================================================
// Spezifisch Pressen/Umformung (HP148-HP150)
// ================================================================
{
ID: "HP148", NameDE: "Splitterflug bei Werkzeugbruch", NameEN: "Fragment ejection from tool fracture",
RequiredComponentTags: []string{"high_force", "crush_point"},
RequiredEnergyTags: []string{"kinetic"},
RequiredLifecycles: []string{"normal_operation"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M001", "M005"},
SuggestedEvidenceIDs: []string{"E08", "E20"},
Priority: 95,
ScenarioDE: "Werkzeug bricht unter Last, Splitter werden mit hoher Energie geschleudert.",
TriggerDE: "Werkzeugbruch durch Materialermuedung, Ueberlast oder Fehlausrichtung",
HarmDE: "Durchdringende Verletzungen, Augenverlust, toedliche Treffer",
AffectedDE: "Bedienpersonal, Personen im Schleuderbereich",
ZoneDE: "Pressraum, Schleuderbereich vor und seitlich der Presse",
DefaultSeverity: 5, DefaultExposure: 2,
},
{
ID: "HP149", NameDE: "Rueckschlag bei exzentrischem Pressen", NameEN: "Kickback from eccentric pressing",
RequiredComponentTags: []string{"high_force", "moving_part"},
RequiredEnergyTags: []string{"kinetic"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M003", "M005"},
SuggestedEvidenceIDs: []string{"E08"},
Priority: 80,
ScenarioDE: "Exzentrische Belastung des Stoessels fuehrt zu seitlichem Ausbrechen des Werkstuecks.",
TriggerDE: "Werkstueck nicht korrekt positioniert, seitliche Kraftkomponente entsteht",
HarmDE: "Aufprallverletzung durch geschleudertes Werkstueck, Quetschung",
AffectedDE: "Bedienpersonal an der Presse",
ZoneDE: "Seiten- und Frontbereich des Pressenwerkzeugs",
DefaultSeverity: 4, DefaultExposure: 3,
},
{
ID: "HP150", NameDE: "Herabfallen der Abstreifplatte", NameEN: "Stripper plate falling",
RequiredComponentTags: []string{"gravity_risk", "high_force"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M004", "M005"},
SuggestedEvidenceIDs: []string{"E08", "E20"},
Priority: 80,
ScenarioDE: "Abstreifplatte loest sich bei Rueckhub und faellt auf Haende/Arme des Bedieners.",
TriggerDE: "Verschleiss der Halterung, falsche Montage der Abstreifplatte",
HarmDE: "Quetschung, Knochenbrueche an Haenden und Unterarmen",
AffectedDE: "Bedienpersonal beim Teileentnahme",
ZoneDE: "Einlege-/Entnahmebereich der Presse",
DefaultSeverity: 4, DefaultExposure: 3,
},
// ================================================================
// Roboter/Cobot erweitert (HP151-HP154)
// ================================================================
{
ID: "HP151", NameDE: "Kollision bei Teach-In-Betrieb", NameEN: "Collision during teach-in operation",
RequiredComponentTags: []string{"programmable", "moving_part"},
RequiredEnergyTags: []string{},
RequiredLifecycles: []string{"setup"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M082", "M106", "M131"},
SuggestedEvidenceIDs: []string{"E09", "E21"},
Priority: 80,
ScenarioDE: "Programmierer fuehrt Roboter manuell. Unbeabsichtigte Bewegung bei Programmfehler.",
TriggerDE: "Fehlerhafter Teach-Befehl, versehentliche Tastenaktivierung am Handgeraet",
HarmDE: "Quetschung, Aufprallverletzung durch Roboterarm oder Werkzeug",
AffectedDE: "Programmierpersonal, Inbetriebnahme-Techniker",
ZoneDE: "Roboter-Arbeitsraum, Teach-Zone",
DefaultSeverity: 4, DefaultExposure: 3,
},
{
ID: "HP152", NameDE: "Greifer oeffnet unbeabsichtigt", NameEN: "Gripper opens unintentionally",
RequiredComponentTags: []string{"moving_part", "gravity_risk"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M004", "M082"},
SuggestedEvidenceIDs: []string{"E08", "E14"},
Priority: 70,
ScenarioDE: "Greifer verliert Werkstueck durch Druckverlust, Signalausfall oder Softwarefehler.",
TriggerDE: "Druckluftausfall am Greifer, Signalverlust, fehlerhafter Greifbefehl",
HarmDE: "Herabfallendes Werkstueck trifft Personen, Quetschung, Fussverletzung",
AffectedDE: "Bedienpersonal, Personen unterhalb des Roboters",
ZoneDE: "Greifbereich, Fallzone unterhalb des Roboterarms",
DefaultSeverity: 3, DefaultExposure: 3,
},
{
ID: "HP153", NameDE: "Quetschen an Kabelfuehrung/Energiekette", NameEN: "Pinching at cable carrier/energy chain",
RequiredComponentTags: []string{"moving_part", "pinch_point"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M003", "M051"},
SuggestedEvidenceIDs: []string{"E08"},
Priority: 60,
ScenarioDE: "Finger eingeklemmt zwischen Energiekette und Robotersockel bei Drehbewegung.",
TriggerDE: "Eingriff in Energiekette waehrend Roboterbewegung, fehlende Abdeckung",
HarmDE: "Fingerfraktur, Quetschverletzung, Amputation in schweren Faellen",
AffectedDE: "Wartungspersonal, Programmierer",
ZoneDE: "Energiekettenfuehrung, Robotersockel-Bereich",
DefaultSeverity: 3, DefaultExposure: 2,
},
{
ID: "HP154", NameDE: "Kollision zweier Roboter", NameEN: "Collision of two robots",
RequiredComponentTags: []string{"programmable", "moving_part"},
RequiredEnergyTags: []string{"kinetic"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M082", "M103", "M106"},
SuggestedEvidenceIDs: []string{"E09", "E14", "E15"},
Priority: 85,
ScenarioDE: "Zwei Roboter arbeiten im ueberlappenden Arbeitsraum. Koordinationsfehler fuehrt zu Kollision.",
TriggerDE: "Softwarefehler in der Koordinationslogik, Signalverzoegerung im Bussystem",
HarmDE: "Wegschleudern von Teilen, Beschaedigung der Anlage, Personenverletzung",
AffectedDE: "Bedienpersonal im Ueberlappungsbereich",
ZoneDE: "Ueberlappender Arbeitsraum beider Roboter",
DefaultSeverity: 4, DefaultExposure: 2,
},
// ================================================================
// Foerdertechnik (HP155-HP157)
// ================================================================
{
ID: "HP155", NameDE: "Einzug an Bandumlenkung", NameEN: "Nip point at belt deflection",
RequiredComponentTags: []string{"rotating_part", "entanglement_risk"},
RequiredEnergyTags: []string{"rotational"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M001", "M051"},
SuggestedEvidenceIDs: []string{"E08", "E20"},
Priority: 80,
ScenarioDE: "Finger oder Kleidung werden an der Bandumlenkstelle eingezogen.",
TriggerDE: "Eingriff am laufenden Band, lose Kleidung geraet in Umlenkrolle",
HarmDE: "Fingeramputation, Armverletzung, Strangulation durch eingezogene Kleidung",
AffectedDE: "Bedienpersonal, Reinigungspersonal",
ZoneDE: "Umlenkrollen, Bandlauf-Einzugsstellen",
DefaultSeverity: 4, DefaultExposure: 3,
},
{
ID: "HP156", NameDE: "Herabfallen von Foerdergut", NameEN: "Falling conveyed goods",
RequiredComponentTags: []string{"gravity_risk", "moving_part"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M005", "M052"},
SuggestedEvidenceIDs: []string{"E20"},
Priority: 70,
ScenarioDE: "Werkstuecke fallen vom Foerderband auf Personen unterhalb.",
TriggerDE: "Bandstoerung, Stau, Ueberladung, seitliches Abrutschen",
HarmDE: "Kopfverletzung, Quetschung, Fraktur durch herabfallende Last",
AffectedDE: "Personen unterhalb der Foerderstrecke",
ZoneDE: "Bereich unterhalb erhoehter Foerderabschnitte",
DefaultSeverity: 3, DefaultExposure: 3,
},
{
ID: "HP157", NameDE: "Notstop-Kette nicht vollstaendig", NameEN: "Emergency stop chain incomplete",
RequiredComponentTags: []string{"moving_part", "safety_device"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"safety_function_failure"},
SuggestedMeasureIDs: []string{"M082", "M106"},
SuggestedEvidenceIDs: []string{"E09", "E14"},
Priority: 95,
ScenarioDE: "Not-Halt-Kette unterbricht nicht alle Antriebe der verketteten Anlage.",
TriggerDE: "Fehlerhaft verdrahtete Not-Halt-Kette, nachtraeglich ergaenzte Antriebe nicht eingebunden",
HarmDE: "Person betaetigt Not-Halt, Teile der Anlage laufen weiter, schwere Verletzung",
AffectedDE: "Bedienpersonal, Wartungspersonal, alle Personen im Anlagenbereich",
ZoneDE: "Gesamte verkettete Anlage, insbesondere nicht abgedeckte Teilbereiche",
DefaultSeverity: 5, DefaultExposure: 2,
},
// ================================================================
// Software/Steuerung erweitert (HP158-HP160)
// ================================================================
{
ID: "HP158", NameDE: "Ungetestete Software-Aenderung", NameEN: "Untested software change",
RequiredComponentTags: []string{"has_software", "programmable"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"safety_function_failure"},
SuggestedMeasureIDs: []string{"M103", "M106"},
SuggestedEvidenceIDs: []string{"E14", "E15"},
Priority: 80,
ScenarioDE: "Software-Update wird ohne ausreichende Tests in Produktion uebernommen.",
TriggerDE: "Update der Steuerungssoftware ohne Validierung der Sicherheitsfunktionen",
HarmDE: "Unvorhergesehenes Maschinenverhalten, sicherheitskritische Fehlfunktion",
AffectedDE: "Bedienpersonal, Personen im Maschinenbereich",
ZoneDE: "Gesamte Maschine / Anlage",
DefaultSeverity: 4, DefaultExposure: 3,
},
{
ID: "HP159", NameDE: "Parameterverlust nach Spannungsausfall", NameEN: "Parameter loss after power failure",
RequiredComponentTags: []string{"has_software", "programmable"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"safety_function_failure"},
SuggestedMeasureIDs: []string{"M103"},
SuggestedEvidenceIDs: []string{"E14", "E15"},
Priority: 75,
ScenarioDE: "Steuerungsparameter gehen bei Spannungsausfall verloren, Maschine startet mit Werkseinstellungen.",
TriggerDE: "Spannungsausfall, Batterie der SPS leer, EEPROM-Fehler",
HarmDE: "Maschine faehrt mit falschen Geschwindigkeiten oder Kraefte, Kollision",
AffectedDE: "Bedienpersonal nach Wiederanlauf",
ZoneDE: "Steuerungsschrank, Arbeitsraum der Maschine",
DefaultSeverity: 4, DefaultExposure: 2,
},
{
ID: "HP160", NameDE: "Busausfall/Kommunikationsverlust", NameEN: "Bus failure/communication loss",
RequiredComponentTags: []string{"has_software", "programmable"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"safety_function_failure"},
SuggestedMeasureIDs: []string{"M082", "M103", "M106"},
SuggestedEvidenceIDs: []string{"E09", "E14", "E15"},
Priority: 90,
ScenarioDE: "Feldbus-Kommunikation bricht ab. Antriebe verlieren Sollwerte, unkontrollierte Bewegung.",
TriggerDE: "EMV-Stoerung, Kabelbruch, Steckerfehler im Feldbus-System",
HarmDE: "Unkontrollierte Achsbewegungen, Kollision, Quetschung",
AffectedDE: "Bedienpersonal, Personen im Bewegungsbereich",
ZoneDE: "Alle busgesteuerten Achsen und Antriebe",
DefaultSeverity: 5, DefaultExposure: 2,
},
// ================================================================
// Allgemeine Zusatzrisiken (HP161-HP173)
// ================================================================
{
ID: "HP161", NameDE: "Allergische Reaktion auf Kuehlschmierstoff", NameEN: "Allergic reaction to cutting fluid",
RequiredComponentTags: []string{"chemical_risk"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"material_environmental"},
SuggestedMeasureIDs: []string{"M141"},
SuggestedEvidenceIDs: []string{"E20"},
Priority: 50,
ScenarioDE: "Hautkontakt mit Kuehlschmierstoff loest allergische Dermatitis aus.",
TriggerDE: "Wiederholter Hautkontakt ohne Handschuhe, Spritzer beim Maschinenbetrieb",
HarmDE: "Kontaktekzem, chronische Dermatitis, Atemwegssensibilisierung",
AffectedDE: "Bedienpersonal bei zerspanenden Maschinen",
ZoneDE: "Bearbeitungszone, Maschinenumgebung mit KSS-Nebel",
DefaultSeverity: 2, DefaultExposure: 4,
},
{
ID: "HP162", NameDE: "Absturz von erhoehtem Standort", NameEN: "Fall from elevated position",
RequiredComponentTags: []string{"structural_part"},
RequiredEnergyTags: []string{},
RequiredLifecycles: []string{"maintenance"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M052", "M141"},
SuggestedEvidenceIDs: []string{"E20"},
Priority: 85,
ScenarioDE: "Wartungspersonal stuerzt von Leiter, Podest oder Maschinenoberteil.",
TriggerDE: "Fehlende Absturzsicherung, defektes Gelaender, rutschige Standflaeche",
HarmDE: "Knochenbrueche, Wirbelsaeulenverletzung, toedlicher Sturz",
AffectedDE: "Wartungspersonal, Reinigungspersonal",
ZoneDE: "Maschinenplattformen, Steigleitern, Wartungspodeste",
DefaultSeverity: 5, DefaultExposure: 2,
},
{
ID: "HP163", NameDE: "Quetschen beim manuellen Materialeinlegen", NameEN: "Crushing during manual material loading",
RequiredComponentTags: []string{"moving_part", "crush_point"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M003", "M004", "M082"},
SuggestedEvidenceIDs: []string{"E08", "E09"},
Priority: 95,
ScenarioDE: "Bediener legt Material manuell ein. Maschine startet waehrend Haende im Gefahrenbereich.",
TriggerDE: "Zweihandschaltung defekt, Schutzgitter umgangen, vorzeitiger Maschinentakt",
HarmDE: "Handquetschung, Amputation, schwere Weichteilverletzung",
AffectedDE: "Bedienpersonal an Pressen, Stanzen, Biegemaschinen",
ZoneDE: "Einlege- und Entnahmebereich, Werkzeugraum",
DefaultSeverity: 5, DefaultExposure: 4,
},
{
ID: "HP164", NameDE: "Augenverletzung durch Spaeneflug", NameEN: "Eye injury from flying chips",
RequiredComponentTags: []string{"cutting_part", "high_speed"},
RequiredEnergyTags: []string{"kinetic"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M001", "M005", "M141"},
SuggestedEvidenceIDs: []string{"E20"},
Priority: 80,
ScenarioDE: "Metallspaene werden bei der Bearbeitung mit hoher Geschwindigkeit geschleudert.",
TriggerDE: "Zerspanung ohne geschlossene Kabine, fehlende Schutzbrille",
HarmDE: "Augenverletzung, Hornhautschaeden, Erblindung",
AffectedDE: "Bedienpersonal, Personen in der Naehe der Maschine",
ZoneDE: "Bearbeitungszone, Spaeneflugbereich",
DefaultSeverity: 4, DefaultExposure: 4,
},
{
ID: "HP165", NameDE: "Stolpern ueber Versorgungsleitungen", NameEN: "Tripping over supply lines",
RequiredComponentTags: []string{"structural_part"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M141"},
SuggestedEvidenceIDs: []string{"E20"},
Priority: 50,
ScenarioDE: "Druckluft-, Hydraulik- oder Elektroleitungen liegen ungesichert auf dem Boden.",
TriggerDE: "Nachtraeglich verlegte Leitungen ohne Kabelkanaele oder Ueberfahrschutz",
HarmDE: "Stuerze, Prellungen, Verstauchungen, Sekundaerunfall an Maschine",
AffectedDE: "Alle Personen im Fertigungsbereich",
ZoneDE: "Verkehrswege zwischen Maschinen, Zugangsflaechen",
DefaultSeverity: 2, DefaultExposure: 4,
},
{
ID: "HP166", NameDE: "Rueckschlag bei Schleifmaschine", NameEN: "Kickback at grinding machine",
RequiredComponentTags: []string{"rotating_part", "high_speed"},
RequiredEnergyTags: []string{"rotational"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M001", "M005"},
SuggestedEvidenceIDs: []string{"E08", "E20"},
Priority: 80,
ScenarioDE: "Schleifscheibe verklemmt, Werkstueck wird zurueckgeschleudert.",
TriggerDE: "Verkanten des Werkstuecks, Verklemmen der Schleifscheibe",
HarmDE: "Aufprallverletzung durch geschleudertes Werkstueck, Handverletzung",
AffectedDE: "Bedienpersonal an handgefuehrten und stationaeren Schleifmaschinen",
ZoneDE: "Schleifbereich, Bereich gegenueber der Schleifscheibe",
DefaultSeverity: 4, DefaultExposure: 3,
},
{
ID: "HP167", NameDE: "Laserstrahl trifft Reflexion", NameEN: "Laser beam hits reflective surface",
RequiredComponentTags: []string{"high_temperature"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"material_environmental"},
SuggestedMeasureIDs: []string{"M005", "M141"},
SuggestedEvidenceIDs: []string{"E10", "E20"},
Priority: 80,
ScenarioDE: "Laserstrahl wird an glaenzender Oberflaeche reflektiert und trifft Person oder brennbares Material.",
TriggerDE: "Spiegelndes Werkstueck, ungeplante Reflexion ausserhalb des Strahlfangbereichs",
HarmDE: "Augenverletzung, Hautverbrennung, Entzuendung von Material",
AffectedDE: "Bedienpersonal, Personen im Laserbereich",
ZoneDE: "Laserbearbeitungskabine, Reflexionswege",
DefaultSeverity: 4, DefaultExposure: 2,
},
{
ID: "HP168", NameDE: "Berstende Schleifscheibe", NameEN: "Bursting grinding wheel",
RequiredComponentTags: []string{"rotating_part", "high_speed"},
RequiredEnergyTags: []string{"rotational"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M001", "M005"},
SuggestedEvidenceIDs: []string{"E08", "E20"},
Priority: 90,
ScenarioDE: "Schleifscheibe berstet bei Ueberdrehzahl. Bruchstuecke als Geschosse.",
TriggerDE: "Ueberdrehzahl, Materialfehler in der Schleifscheibe, falsche Scheibe montiert",
HarmDE: "Durchdringende Verletzungen, toedliche Treffer durch Bruchstuecke",
AffectedDE: "Bedienpersonal, Personen im Schleuderbereich",
ZoneDE: "Schleuderbereich um die Schleifmaschine",
DefaultSeverity: 5, DefaultExposure: 2,
},
{
ID: "HP169", NameDE: "Einatmen von Schweissrauch", NameEN: "Inhalation of welding fumes",
RequiredComponentTags: []string{"high_temperature", "chemical_risk"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"material_environmental"},
SuggestedMeasureIDs: []string{"M141"},
SuggestedEvidenceIDs: []string{"E20"},
Priority: 65,
ScenarioDE: "Schweissrauch enthaelt Metalloxide und Gase. Chronische Lungenerkrankung bei Dauerexposition.",
TriggerDE: "Schweissen ohne Absaugung, ungenuegend beluefteter Arbeitsplatz",
HarmDE: "Metalldampffieber, chronische Bronchitis, Lungenfibrose, Manganismus",
AffectedDE: "Schweisspersonal, Personen im gleichen Raum",
ZoneDE: "Schweissarbeitsplatz, gesamter Hallenbereich ohne Absaugung",
DefaultSeverity: 3, DefaultExposure: 4,
},
{
ID: "HP170", NameDE: "Quetschen an Drehteller/Rundtaktanlage", NameEN: "Crushing at rotary table/rotary indexing machine",
RequiredComponentTags: []string{"moving_part", "rotating_part"},
RequiredEnergyTags: []string{"rotational"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M003", "M051"},
SuggestedEvidenceIDs: []string{"E08", "E20"},
Priority: 80,
ScenarioDE: "Hand wird zwischen Drehteller und festem Anschlag eingeklemmt bei Taktbewegung.",
TriggerDE: "Eingriff waehrend der Taktbewegung, fehlende Schutzabdeckung am Drehteller",
HarmDE: "Quetschung, Fingerfraktur, Amputation von Fingern",
AffectedDE: "Bedienpersonal an Rundtaktanlagen",
ZoneDE: "Drehteller-Peripherie, Uebergabestationen",
DefaultSeverity: 4, DefaultExposure: 3,
},
{
ID: "HP171", NameDE: "Unkontrollierte Bewegung bei Druckluftausfall", NameEN: "Uncontrolled movement on compressed air failure",
RequiredComponentTags: []string{"pneumatic_part", "moving_part"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"pneumatic_hydraulic"},
SuggestedMeasureIDs: []string{"M022", "M082"},
SuggestedEvidenceIDs: []string{"E11", "E14"},
Priority: 80,
ScenarioDE: "Druckluftausfall fuehrt zu unkontrolliertem Absenken pneumatisch gehaltener Teile.",
TriggerDE: "Kompressorausfall, Leitungsbruch, versehentliches Absperren",
HarmDE: "Quetschung durch absinkende Achse, Herabfallen gehaltener Teile",
AffectedDE: "Bedienpersonal, Wartungspersonal unterhalb pneumatischer Achsen",
ZoneDE: "Bereich unter pneumatisch gehaltenen Baugruppen",
DefaultSeverity: 4, DefaultExposure: 2,
},
{
ID: "HP172", NameDE: "Hautverbrennung durch UV-Strahlung", NameEN: "Skin burn from UV radiation",
RequiredComponentTags: []string{"high_temperature"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"thermal_hazard"},
SuggestedMeasureIDs: []string{"M005", "M141"},
SuggestedEvidenceIDs: []string{"E10", "E20"},
Priority: 65,
ScenarioDE: "UV-Strahlung bei Schweissen oder UV-Haertung verursacht Hautverbrennungen.",
TriggerDE: "Arbeiten ohne UV-Schutzkleidung, fehlende Abschirmung des UV-Bereichs",
HarmDE: "Sonnenbrandaehnliche Verbrennungen, langfristig Hautkrebsrisiko",
AffectedDE: "Schweisspersonal, Bediener an UV-Haertungsanlagen",
ZoneDE: "Schweissarbeitsplatz, UV-Haertungszone",
DefaultSeverity: 3, DefaultExposure: 3,
},
{
ID: "HP173", NameDE: "Erstickungsgefahr in engen Raeumen", NameEN: "Suffocation hazard in confined spaces",
RequiredComponentTags: []string{"chemical_risk"},
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"material_environmental"},
SuggestedMeasureIDs: []string{"M141"},
SuggestedEvidenceIDs: []string{"E20"},
Priority: 90,
ScenarioDE: "Sauerstoffmangel in Behaeltern, Silos oder engen Raeumen durch Inertgas oder Gaerung.",
TriggerDE: "Betreten von Behaeltern ohne Gasfreimessung, Inertgas-Spuelung nicht abgeschlossen",
HarmDE: "Bewusstlosigkeit, Erstickung, Tod innerhalb weniger Minuten",
AffectedDE: "Wartungspersonal, Reinigungspersonal in Behaeltern/Silos",
ZoneDE: "Behaelterinneres, Silos, Gruben, enge Schaechte",
DefaultSeverity: 5, DefaultExposure: 2,
},
}
}