Files
breakpilot-compliance/ai-compliance-sdk/internal/iace/hazard_patterns_operational.go
T
Benjamin Admin e7f2f98da3 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>
2026-05-07 10:53:26 +02:00

444 lines
26 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.",
ScenarioDE: "Bediener beseitigt Materialstau manuell bei nicht freigeschalteter Maschine",
TriggerDE: "Verklemmtes Teil loest sich schlagartig durch gespeicherte Federkraft oder Eigengewicht",
HarmDE: "Quetschung, Fraktur oder Schnittverletzung an Hand/Arm durch unkontrollierte Bewegung",
AffectedDE: "Bedienpersonal, Instandhaltungspersonal",
ZoneDE: "Materialzufuehrung, Werkzeugraum, Foerderband-Einzugsstelle",
DefaultSeverity: 4, DefaultExposure: 3,
},
{
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.",
ScenarioDE: "Bediener arbeitet nahe Hydraulikleitungen bei Stoerungsbeseitigung unter Betriebsdruck",
TriggerDE: "Schlauch platzt oder Kupplung loest sich unter Restdruck waehrend Fehlersuche",
HarmDE: "Peitscheneffekt mit Prellungen, Hydraulikoelinjektionsverletzung der Haut",
AffectedDE: "Bedienpersonal, Instandhaltungspersonal",
ZoneDE: "Hydraulikaggregate, Schlauchleitungen, Zylinderbereich",
DefaultSeverity: 4, DefaultExposure: 3,
},
{
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.",
ScenarioDE: "Bediener befindet sich im Gefahrenbereich bei Stoerungsbeseitigung an SPS-Maschine",
TriggerDE: "Steuerung startet Maschine automatisch nach Fehlerbehebung ohne manuelle Quittierung",
HarmDE: "Erfassen, Quetschen oder Aufwickeln durch ploetzlich anlaufende Maschinenteile",
AffectedDE: "Bedienpersonal, Instandhaltungspersonal",
ZoneDE: "Gesamter Arbeitsraum der Maschine, Werkzeugraum",
DefaultSeverity: 5, DefaultExposure: 3,
},
{
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.",
ScenarioDE: "Wartungspersonal oeffnet Abdeckung nach Abschaltung ohne Restenergieabbau",
TriggerDE: "Gespeicherte Energie (Feder, Druckspeicher, Kondensator) entlaedt sich beim Oeffnen",
HarmDE: "Stromschlag, Quetschung durch absenkende Last oder Verbrennung durch Lichtbogen",
AffectedDE: "Instandhaltungspersonal, Elektrofachkraefte",
ZoneDE: "Energiespeicher, Druckspeicher, Kondensatoren, Federelemente",
DefaultSeverity: 4, DefaultExposure: 3,
},
{
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.",
ScenarioDE: "Bediener greift in laufende Maschine um Stoerung schnell zu beseitigen",
TriggerDE: "Hand oder Arm geraet in bewegte Teile mangels Verriegelung oder Stillsetzung",
HarmDE: "Amputation, schwere Quetschung oder Fraktur der oberen Extremitaeten",
AffectedDE: "Bedienpersonal",
ZoneDE: "Werkzeugraum, Foerdereinrichtung, Antriebselemente ohne Schutzabdeckung",
DefaultSeverity: 5, DefaultExposure: 4,
},
{
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,
ScenarioDE: "Bediener beseitigt Materialstau manuell im Foerderbereich bei laufender Maschine",
TriggerDE: "Gestautes Material loest sich schlagartig und bewegte Teile setzen sich in Gang",
HarmDE: "Quetschung oder Einziehen von Fingern/Hand durch ploetzliche Materialbewegung",
AffectedDE: "Bedienpersonal",
ZoneDE: "Materialzufuehrung, Foerderband, Auswurfbereich",
DefaultSeverity: 4, DefaultExposure: 4,
},
{
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,
ScenarioDE: "Bediener arbeitet unterhalb angehobener Maschinenteile bei Stoerungsbeseitigung",
TriggerDE: "Lose oder ungesicherte Teile fallen durch Vibration oder versehentliches Loesen",
HarmDE: "Kopfverletzung, Prellung oder Fraktur durch herabfallende Bauteile",
AffectedDE: "Bedienpersonal, Instandhaltungspersonal",
ZoneDE: "Bereich unterhalb angehobener Baugruppen, Wartungsoeffnungen",
DefaultSeverity: 3, DefaultExposure: 3,
},
// ================================================================
// 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.",
ScenarioDE: "Wartungspersonal arbeitet an der Maschine ohne Energiefreischaltung (LOTO)",
TriggerDE: "Maschine wird versehentlich von Dritten oder durch Steuerung gestartet",
HarmDE: "Erfassen, Quetschen oder Schneiden durch unerwartet anlaufende bewegte Teile",
AffectedDE: "Instandhaltungspersonal",
ZoneDE: "Gesamter Maschinenarbeitsraum, Antriebsbereich, Energieversorgung",
DefaultSeverity: 5, DefaultExposure: 3,
},
{
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,
ScenarioDE: "Wartungspersonal steigt auf Buehne oder Leiter fuer Arbeiten an erhoehter Stelle",
TriggerDE: "Abrutschen von Leiter oder Stolpern auf Wartungsbuehne ohne Gelaender",
HarmDE: "Sturzverletzung mit Frakturen, Kopfverletzung bei Fall aus Hoehe",
AffectedDE: "Instandhaltungspersonal, Reinigungspersonal",
ZoneDE: "Wartungsbuehne, Steigleiter, Podeste an Maschinenoberseite",
DefaultSeverity: 4, DefaultExposure: 2,
},
{
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.",
ScenarioDE: "Wartungspersonal beruehrt Maschinenteile kurz nach Abschaltung ohne Abkuehlzeit",
TriggerDE: "Kontakt mit heisser Oberflaeche mangels Temperaturkennzeichnung oder Wartezeit",
HarmDE: "Verbrennung 2. oder 3. Grades an Haenden oder Unterarmen",
AffectedDE: "Instandhaltungspersonal",
ZoneDE: "Heizplatten, Extruder, Schmelztiegel, Ofenbereich",
DefaultSeverity: 3, DefaultExposure: 3,
},
{
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,
ScenarioDE: "Wartungspersonal oeffnet Behaelter oder Leitungen mit Gefahrstoffen ohne PSA",
TriggerDE: "Austritt von Kuehlschmierstoff, Hydraulikoel oder Loesungsmittel bei Demontage",
HarmDE: "Hautveraetzung, Atemwegsreizung oder allergische Reaktion durch Gefahrstoffkontakt",
AffectedDE: "Instandhaltungspersonal, Reinigungspersonal",
ZoneDE: "Kuehlmitteltank, Hydraulikleitungen, Schmierstoffbehaelter",
DefaultSeverity: 3, DefaultExposure: 3,
},
{
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.",
ScenarioDE: "Elektrofachkraft arbeitet im Schaltschrank ohne vollstaendige Freischaltung",
TriggerDE: "Beruehrung spannungsfuehrender Teile mangels Spannungsfreiheitspruefung",
HarmDE: "Stromschlag mit Herzkammerflimmern, Verbrennungen durch Lichtbogen",
AffectedDE: "Elektrofachkraefte, Instandhaltungspersonal",
ZoneDE: "Schaltschrank, Klemmenkasten, Frequenzumrichter, Motoranschluesse",
DefaultSeverity: 5, DefaultExposure: 3,
},
{
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,
ScenarioDE: "Wartungspersonal muss in Zwangshaltung an schwer zugaenglicher Stelle arbeiten",
TriggerDE: "Langandauernde gebeugte oder kniende Koerperhaltung bei wiederholter Wartung",
HarmDE: "Muskel-Skelett-Erkrankung, Rueckenbeschwerden durch Fehlhaltung",
AffectedDE: "Instandhaltungspersonal",
ZoneDE: "Enge Wartungsoeffnungen, Maschinenunterseite, schwer zugaengliche Baugruppen",
DefaultSeverity: 2, DefaultExposure: 4,
},
{
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.",
ScenarioDE: "Wartungspersonal arbeitet unter hydraulisch angehobener Last ohne mechanische Sicherung",
TriggerDE: "Hydraulikleitung versagt oder Ventil oeffnet sich, Last senkt sich unkontrolliert ab",
HarmDE: "Toedliches Quetschen oder schwere Fraktur durch absinkende Maschinenbaugruppe",
AffectedDE: "Instandhaltungspersonal",
ZoneDE: "Unter Hydraulikzylindern, Pressenstoessel, angehobene Werkzeuge",
DefaultSeverity: 5, DefaultExposure: 3,
},
// ================================================================
// 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.",
ScenarioDE: "Einrichter wechselt Werkzeug im Werkzeugraum bei nicht gesichertem Stoesselantrieb",
TriggerDE: "Stossel oder Stempel faehrt unbeabsichtigt herunter waehrend Haende im Quetschbereich",
HarmDE: "Amputation oder schwere Quetschung der Finger/Haende zwischen Werkzeughaelften",
AffectedDE: "Einrichter, Werkzeugmacher",
ZoneDE: "Werkzeugraum, Pressenstoessel, Spannbereich",
DefaultSeverity: 5, DefaultExposure: 3,
},
{
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.",
ScenarioDE: "Einrichter baut heisses Werkzeug direkt nach Produktionsende ohne Abkuehlphase aus",
TriggerDE: "Kontakt mit ueber 60 Grad heisser Werkzeugoberflaeche beim manuellen Ausbau",
HarmDE: "Kontaktverbrennung an Haenden und Unterarmen, Blasenbildung",
AffectedDE: "Einrichter, Werkzeugmacher",
ZoneDE: "Werkzeugspannbereich, Heisskanalsystem, Formwerkzeug",
DefaultSeverity: 3, DefaultExposure: 3,
},
{
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.",
ScenarioDE: "Einrichter hebt schweres Werkzeug manuell ohne Hebezeug bei Werkzeugwechsel",
TriggerDE: "Werkzeug rutscht aus der Halterung oder Hebezeug versagt beim Anheben",
HarmDE: "Quetschung oder Fraktur der Fuesse/Beine durch herabfallendes Werkzeug",
AffectedDE: "Einrichter, Werkzeugmacher",
ZoneDE: "Werkzeugwechselbereich, Boden vor der Maschine, Werkzeuglager",
DefaultSeverity: 4, DefaultExposure: 3,
},
{
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.",
ScenarioDE: "Einrichter befindet sich im Werkzeugraum waehrend Testlauf im Einrichtbetrieb",
TriggerDE: "Stossel fuehrt vollen Hub statt Tipphub aus wegen Softwarefehler oder Fehlbedienung",
HarmDE: "Toedliches Quetschen oder Amputation durch vollen Pressenhub bei Anwesenheit",
AffectedDE: "Einrichter",
ZoneDE: "Werkzeugraum, Pressenhubraum, Stanzbereich",
DefaultSeverity: 5, DefaultExposure: 3,
},
{
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.",
ScenarioDE: "Einrichter uebernimmt falsche Steuerungsparameter nach Werkzeugwechsel",
TriggerDE: "Maschine faehrt mit falscher Kraft, Geschwindigkeit oder Position nach Umruestung",
HarmDE: "Werkzeugbruch mit Splitterflug, Quetschung durch ueberhoehlte Schliesskraft",
AffectedDE: "Einrichter, Bedienpersonal im Erstanlauf",
ZoneDE: "Werkzeugraum, Auswurfbereich, Steuerungspult",
DefaultSeverity: 4, DefaultExposure: 3,
},
{
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.",
ScenarioDE: "Einrichter steht im Gefahrenbereich waehrend automatischer Testzyklus gestartet wird",
TriggerDE: "Kollege startet Testzyklus ohne Ruecksprache, Schutztuer nicht verriegelt",
HarmDE: "Erfassen oder Quetschen durch Maschinenbewegung im automatischen Testlauf",
AffectedDE: "Einrichter, Inbetriebnahmepersonal",
ZoneDE: "Werkzeugraum, Roboterzelle, Bearbeitungsraum",
DefaultSeverity: 5, DefaultExposure: 3,
},
// ================================================================
// 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,
ScenarioDE: "Maschine wird mittels Kran oder Gabelstapler transportiert, Schwerpunkt nicht korrekt",
TriggerDE: "Maschine kippt wegen falsch gesetzter Anschlagpunkte oder asymmetrischer Last",
HarmDE: "Toedliches Quetschen oder schwere Fraktur durch kippende Maschinenstruktur",
AffectedDE: "Transportpersonal, Montagepersonal, umstehende Personen",
ZoneDE: "Transportweg, Aufstellbereich, Kranradius",
DefaultSeverity: 5, DefaultExposure: 2,
},
{
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,
ScenarioDE: "Montagepersonal positioniert schwere Maschinenkomponente bei Erstaufstellung",
TriggerDE: "Bauteil rutscht von Unterlage oder Hebezeug versagt beim Absetzen",
HarmDE: "Quetschung von Haenden/Fuessen zwischen Maschinenteil und Fundament",
AffectedDE: "Montagepersonal, Inbetriebnahmepersonal",
ZoneDE: "Aufstellflaeche, Fundamentbereich, Montagezone",
DefaultSeverity: 4, DefaultExposure: 2,
},
{
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,
ScenarioDE: "Inbetriebnahmepersonal testet erstmals Bewegungsablaeufe der programmierten Maschine",
TriggerDE: "Programmierfehler oder falsche Endlagen fuehren zu unkontrollierter Achsbewegung",
HarmDE: "Quetschen oder Erfassen durch unerwartet schnelle oder weite Maschinenbewegung",
AffectedDE: "Inbetriebnahmepersonal, Programmierer",
ZoneDE: "Gesamter Bewegungsraum der Achsen, Roboterzelle, Arbeitsraum",
DefaultSeverity: 4, DefaultExposure: 2,
},
{
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,
ScenarioDE: "Demontagepersonal loest Leitungen oder Behaelter mit Restmedien bei Ausserbetriebnahme",
TriggerDE: "Austritt von Restoel, Druckluft oder Gas beim Loesen von Verschraubungen",
HarmDE: "Veraetzung durch Hydraulikoel, Verletzung durch Druckentladung, Vergiftung durch Gas",
AffectedDE: "Demontagepersonal, Entsorger",
ZoneDE: "Hydraulikleitungen, Druckspeicher, Kuehlmittelkreislauf",
DefaultSeverity: 3, DefaultExposure: 2,
},
{
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,
ScenarioDE: "Demontagepersonal handhabt zerlegte Maschinenteile mit scharfen Schneidkanten",
TriggerDE: "Greifen oder Transportieren von Bauteilen ohne Schnittschutzhandschuhe",
HarmDE: "Schnittverletzungen an Haenden und Unterarmen durch scharfe Metallkanten",
AffectedDE: "Demontagepersonal, Entsorger",
ZoneDE: "Demontagebereich, Zwischenlager fuer zerlegte Bauteile",
DefaultSeverity: 2, DefaultExposure: 2,
},
// ================================================================
// 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,
ScenarioDE: "Reinigungspersonal bewegt sich auf nassem oder oelverschmutztem Boden um die Maschine",
TriggerDE: "Ausrutschen auf Kuehlschmierstoff, Hydraulikoel oder Reinigungswasser am Boden",
HarmDE: "Sturzverletzung mit Prellungen, Frakturen oder Kopfverletzung",
AffectedDE: "Reinigungspersonal, Bedienpersonal",
ZoneDE: "Maschinenumgebung, Bodenbereich, Ablaufrinnen",
DefaultSeverity: 2, DefaultExposure: 4,
},
{
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,
ScenarioDE: "Reinigungspersonal verwendet Loesungsmittel oder aggressive Reiniger ohne Absaugung",
TriggerDE: "Einatmen von Loesungsmitteldaempfen oder Hautkontakt mit Reinigungschemikalien",
HarmDE: "Atemwegsreizung, Hautveraetzung oder allergische Reaktion durch Chemikalienkontakt",
AffectedDE: "Reinigungspersonal",
ZoneDE: "Maschineninneres, Werkzeugraum, geschlossene Reinigungsbereiche",
DefaultSeverity: 3, DefaultExposure: 3,
},
{
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,
ScenarioDE: "Reinigungspersonal greift mit Lappen in rotierende Teile bei laufender Maschine",
TriggerDE: "Lappen oder Kleidung wird von rotierender Welle erfasst und zieht Hand ein",
HarmDE: "Amputation, Skalpierung oder schwere Quetschung durch Einzug in Drehbewegung",
AffectedDE: "Reinigungspersonal",
ZoneDE: "Offene Antriebswellen, Walzen, Spindeln ohne Verkleidung",
DefaultSeverity: 5, DefaultExposure: 3,
},
}
}