Files
breakpilot-compliance/ai-compliance-sdk/internal/iace/hazard_patterns_cnc.go
T
Benjamin Admin 6a3e96d54c fix(iace): set-based measure-category filter + 235 pattern-author fixes
Two-part nachhaltiger fix replacing the previous "fill to 5 mitigations
no matter what" behavior that the GT-Bremse benchmark proved
unfaithful (e.g. HP1625 "scharfe Kanten" returning M005 "Rotations-
bewegung vermeiden" via category fallback; HP1651 "Wiederanlauf
Roboter" returning M054 "Sichere thermische Auslegung" via
mismatched pattern reference).

PART A — Set-based category filter (handlers package):
- acceptableMeasureCategories: replaces 1:1 patternCatToMeasureCat
  with a curated set per pattern category, so e.g.
  safety_function_failure now accepts software_control measures
  (watchdogs, plausibility checks) and emc_hazard accepts both
  electrical and software_control measures
- isCategoryCompatible: gate every measure id against the accepted
  set before creating a mitigation; mismatches log MEASURE-SKIP
- The old category fallback is REMOVED. A hazard whose pattern has
  no category-compatible measure is now created with zero mitigations
  and logged as COVERAGE-GAP — the operator must consult an expert.
  No more silent invention of generic defaults.

PART B — 235 pattern author-error fixes across 26 files:
- HP040-HP044 (AI): M101/M102/M103 (Auffangwanne/Absauganlage) ->
  M133 Anomalieerkennung + M214 Plausibilitaet + M213 Sensor-Redundanz
  + M044 Zweikanalige Steuerung + others
- HP011-HP015, HP104-HP109, HP1085-HP1095, HP1281-HP1334 (electrical):
  M001-M005/M054/M061 placeholders -> M481/M482 Isolation +
  M511-M522 PE/Schutzleiter/RCD/Hauptschalter
- HP110-HP1331 (material_environmental): M101-M103 -> M384-M395
  Brandschutz/Laserschutz + M533/M408 SDB/PSA
- HP800-HP858, HP1178-HP1264 (software/sensor/hmi):
  M101/M104 -> M105/M106/M107/M214 SPS/Watchdog/Plausibilitaet
- HP026, HP611-HP1690 (ergonomic): M001/M082 -> M353-M360 +
  M530-M532 Hebehilfe/ergonomische Hoehe
- HP201-HP1697 (mechanical): M054/M051 -> M002/M008/M061/M141 +
  M487/M488 Tueroeffnung-Stillsetzung/Wiederanlauf
- Plus EMF/Strahlung/Brand/Lärm/Vibration/Kommunikation/Cyber

Coverage shift (Pattern-Author-Fehler bei aktiviertem Set-Filter):
   start:         237 patterns with zero category-compatible measures
   after Stufe 1A:   5 (AI)
   after Stufe 1B:  20 (mechanical Bestand)
   after Stufe 1C:  35 (electrical Bestand)
   after Stufe 1D:  29 (material_environmental)
   after Stufe 1E:  29 (software/sensor/hmi)
   after Stufe 1F:  20 (ergonomic)
   after Stufe 1G:  80 (thermal/comm/radiation/fire/safety)
   final:           0  (28 extended.go/extended2.go duplicates fixed)

New regression tests:
- TestEveryPattern_HasCategoryCompatibleMeasure: every pattern in
  collectAllPatterns() must reference at least one category-compatible
  measure; gaps must be explicitly listed in AllowlistKnownGaps
  (currently empty). Fails CI for any new pattern that drifts.
- TestAcceptableMeasureCategories: pins the set-mapping for the
  7 most-bug-prone pattern categories.
- TestIsCategoryCompatible_EmptyMeasureCat: protects legacy entries.

A separate task #11 tracks 58 HP-ID duplicates between
extended.go/extended2.go and cobot.go/press.go/operational.go —
patterns are semantically different and TestGetBuiltinHazardPatterns_-
UniqueIDs misses them because it only checks HP001-HP044.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-16 21:11:02 +02:00

307 lines
18 KiB
Go

package iace
// GetCNCHazardPatterns returns hazard patterns specific to CNC machining
// centres, lathes, milling machines, grinding machines, and drilling machines.
// Part 1: tool breakage, collision, KSS exposure, welding. IDs: HP1400-HP1419.
// Part 2 (HP1420-HP1434) is in hazard_patterns_cnc_ext.go.
func GetCNCHazardPatterns() []HazardPattern {
cncTypes := []string{"cnc", "lathe", "milling", "grinding", "drilling", "machining_centre"}
return []HazardPattern{
// ── Tool Breakage / Projectile (HP1400-HP1404) ──────────────
{
ID: "HP1400", NameDE: "Werkzeugbruch bei Hochgeschwindigkeitsbearbeitung", NameEN: "Tool breakage at high speed machining",
RequiredComponentTags: []string{"cutting_tool", "high_speed"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M409", "M061", "M025"},
SuggestedEvidenceIDs: []string{"E01", "E08"},
Priority: 90, MachineTypes: cncTypes,
OperationalStates: []string{"automatic_operation"},
HumanRoles: []string{"operator"},
ScenarioDE: "Werkzeug bricht bei Hochgeschwindigkeitsbearbeitung und Bruchstuecke durchschlagen Schutzscheibe",
TriggerDE: "Werkzeugverschleiss, Materiallunker oder Programmierfehler fuehrt zu ploetzlichem Werkzeugbruch",
HarmDE: "Durchdringende Verletzung durch Werkzeugfragment, Augenverletzung durch Splitter",
AffectedDE: "Bedienpersonal", ZoneDE: "Bearbeitungsraum, Bedienseite",
DefaultSeverity: 4, DefaultExposure: 3,
},
{
ID: "HP1401", NameDE: "Werkstueck loest sich aus Spannung", NameEN: "Workpiece released from clamping",
RequiredComponentTags: []string{"workpiece_holder"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M411", "M008", "M061"},
SuggestedEvidenceIDs: []string{"E01", "E53"},
Priority: 92, MachineTypes: cncTypes,
OperationalStates: []string{"automatic_operation", "manual_operation"},
ScenarioDE: "Werkstueck loest sich waehrend der Bearbeitung aus der Spannvorrichtung und wird herausgeschleudert",
TriggerDE: "Unzureichende Spannkraft, falscher Spannmitteleinsatz oder Vibrationen lockern Spannung",
HarmDE: "Quetschung, Prellungen oder Knochenbrueche durch herausgeschleudertes Werkstueck",
AffectedDE: "Bedienpersonal", ZoneDE: "Bearbeitungsraum, Maschinenumgebung",
DefaultSeverity: 4, DefaultExposure: 3,
},
{
ID: "HP1402", NameDE: "Schleifscheibenbruch", NameEN: "Grinding wheel burst",
RequiredComponentTags: []string{"grinding_wheel"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M412", "M413", "M061"},
SuggestedEvidenceIDs: []string{"E01", "E52"},
Priority: 94, MachineTypes: []string{"grinding"},
RequiresExpertCalculation: true,
ExpertHintDE: "Schleifscheibenfestigkeit nach EN 12413 pruefen. Schutzhaube nach EN 13218 dimensionieren.",
ScenarioDE: "Schleifscheibe bricht bei Betrieb und Fragmente durchschlagen die Schutzhaube",
TriggerDE: "Ueberschreitung der zulaessigen Drehzahl, Materialfehler oder thermischer Schock",
HarmDE: "Schwere Schnitt- und Durchdringungsverletzungen durch Scheibenfragmente",
AffectedDE: "Bedienpersonal, Umstehende", ZoneDE: "Bearbeitungsraum, seitlich der Maschine",
DefaultSeverity: 5, DefaultExposure: 2,
},
{
ID: "HP1403", NameDE: "Spaeneflug und Spaenewickel an Drehmaschine", NameEN: "Chip fly and chip entanglement on lathe",
RequiredComponentTags: []string{"cutting_tool", "rotating_part"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M410", "M061", "M169"},
SuggestedEvidenceIDs: []string{"E01", "E08"},
Priority: 82, MachineTypes: []string{"lathe", "cnc"},
OperationalStates: []string{"automatic_operation", "manual_operation"},
ScenarioDE: "Heisse, scharfkantige Metallspaene werden weggeschleudert oder wickeln sich um rotierende Teile",
TriggerDE: "Spanbildung bei Drehbearbeitung ohne Spanbrecher oder geschlossene Einhausung",
HarmDE: "Schnitt- und Brandverletzungen an Haenden und Armen, Augenverletzungen",
AffectedDE: "Bedienpersonal", ZoneDE: "Bearbeitungsraum, Bedienseite",
DefaultSeverity: 3, DefaultExposure: 4,
},
{
ID: "HP1404", NameDE: "Funkenflug beim Schleifen", NameEN: "Spark generation during grinding",
RequiredComponentTags: []string{"grinding_wheel"},
GeneratedHazardCats: []string{"fire_explosion", "mechanical_hazard"},
SuggestedMeasureIDs: []string{"M169", "M383", "M061"},
SuggestedEvidenceIDs: []string{"E01"},
Priority: 75, MachineTypes: []string{"grinding"},
ScenarioDE: "Funkenflug beim Schleifen entzuendet brennbare Materialien in der Umgebung",
TriggerDE: "Schleifvorgang an Stahl erzeugt Funken die auf oelgetraenkte Lappen oder KSS-Rueckstaende treffen",
HarmDE: "Brandverletzungen, Maschinenbrand",
AffectedDE: "Bedienpersonal", ZoneDE: "Maschinenumgebung, Spaenebehaelter",
DefaultSeverity: 3, DefaultExposure: 3,
},
// ── Collision / Programming (HP1405-HP1409) ─────────────────
{
ID: "HP1405", NameDE: "Kollision Werkzeug/Werkstueck bei Programmfehler", NameEN: "Tool-workpiece collision due to programming error",
RequiredComponentTags: []string{"cutting_tool", "programmable"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M041", "M039", "M409"},
SuggestedEvidenceIDs: []string{"E01", "E14"},
Priority: 85, MachineTypes: cncTypes,
OperationalStates: []string{"automatic_operation"},
ScenarioDE: "CNC-Programm enthaelt falschen Verfahrweg und Werkzeug kollidiert mit Werkstueck oder Spannmittel",
TriggerDE: "Programmierfehler bei G-Code, falscher Werkzeug-Offset oder fehlerhafte Nullpunktverschiebung",
HarmDE: "Werkzeugbruch mit Splitterflug, Maschinenschaden, Werkstueck wird herausgeschleudert",
AffectedDE: "Bedienpersonal, Einrichter", ZoneDE: "Bearbeitungsraum",
DefaultSeverity: 3, DefaultExposure: 3,
},
{
ID: "HP1406", NameDE: "Automatischer Werkzeugwechsel bei Aufenthalt im Gefahrbereich", NameEN: "Automatic tool change while person in danger zone",
RequiredComponentTags: []string{"cutting_tool", "programmable"},
RequiredEnergyTags: []string{"kinetic_translational"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M067", "M071", "M255"},
SuggestedEvidenceIDs: []string{"E01", "E08"},
Priority: 88, MachineTypes: cncTypes,
OperationalStates: []string{"automatic_operation"},
ScenarioDE: "Werkzeugwechsler bewegt sich waehrend Bediener im Maschinenraum fuer Kontrolle oder Reinigung",
TriggerDE: "Fehlende Verriegelung der Schutztuer oder Umgehung des Sicherheitsschalters",
HarmDE: "Quetschung an Werkzeugwechsler, Schnittverletzung durch rotierendes Werkzeug",
AffectedDE: "Bedienpersonal, Einrichter", ZoneDE: "Werkzeugmagazin, Bearbeitungsraum",
DefaultSeverity: 4, DefaultExposure: 2,
},
{
ID: "HP1407", NameDE: "Referenzfahrt ohne Personenfreiheit", NameEN: "Homing movement without person clearance",
RequiredComponentTags: []string{"moving_part", "programmable"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M042", "M071"},
SuggestedEvidenceIDs: []string{"E01"},
Priority: 86, MachineTypes: cncTypes,
OperationalStates: []string{"homing", "startup"},
HumanRoles: []string{"operator", "maintenance_tech"},
ScenarioDE: "Achsen fahren bei Referenzfahrt unkontrolliert in Endlage waehrend Person im Maschinenraum",
TriggerDE: "Referenzfahrt nach Stoerung oder Neustart ohne Pruefung ob Maschinenraum frei",
HarmDE: "Quetschung zwischen Schlitten und Maschinenrahmen",
AffectedDE: "Bedienpersonal, Einrichter", ZoneDE: "Verfahrbereich der Achsen",
DefaultSeverity: 4, DefaultExposure: 2,
},
{
ID: "HP1408", NameDE: "Falscher Werkzeug-Offset", NameEN: "Wrong tool offset after setup",
RequiredComponentTags: []string{"cutting_tool", "programmable"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M008", "M001", "M061", "M141"},
SuggestedEvidenceIDs: []string{"E14"},
Priority: 78, MachineTypes: cncTypes,
OperationalStates: []string{"teach_mode"},
HumanRoles: []string{"programmer"},
ScenarioDE: "Nach Werkzeugwechsel wird falscher Offset programmiert und Werkzeug faehrt in Spannmittel",
TriggerDE: "Manuelle Eingabe des Werkzeug-Offsets mit Vorzeichen- oder Wertfehler",
HarmDE: "Werkzeugbruch, Werkstueck-Beschaedigung, Splitterflug",
AffectedDE: "Programmierer, Einrichter", ZoneDE: "Bearbeitungsraum",
DefaultSeverity: 3, DefaultExposure: 3,
},
{
ID: "HP1409", NameDE: "Einrichtbetrieb ohne reduzierte Vorschubgeschwindigkeit", NameEN: "Setup mode without reduced feed rate",
RequiredComponentTags: []string{"moving_part", "programmable"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M012", "M049"},
SuggestedEvidenceIDs: []string{"E01"},
Priority: 84, MachineTypes: cncTypes,
OperationalStates: []string{"teach_mode", "manual_operation"},
HumanRoles: []string{"programmer", "maintenance_tech"},
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",
DefaultSeverity: 4, DefaultExposure: 3,
},
// ── KSS Exposure (HP1410-HP1414) ────────────────────────────
{
ID: "HP1410", NameDE: "KSS-Aerosol-Inhalation", NameEN: "MWF aerosol inhalation",
RequiredComponentTags: []string{"cutting_tool"},
RequiredEnergyTags: []string{"kinetic_rotational"},
GeneratedHazardCats: []string{"chemical_risk"},
SuggestedMeasureIDs: []string{"M405", "M406", "M418"},
SuggestedEvidenceIDs: []string{"E01", "E29", "E51"},
Priority: 80, MachineTypes: cncTypes,
OperationalStates: []string{"automatic_operation", "manual_operation"},
HumanRoles: []string{"operator"},
ScenarioDE: "Bediener atmet KSS-Aerosole und -Daempfe ein die bei Hochgeschwindigkeitsbearbeitung entstehen",
TriggerDE: "Unzureichende Absaugung oder geoeffnete Maschinentuer waehrend Bearbeitung",
HarmDE: "Atemwegsreizung, Alveolitis, Lungenfunktionsstoerung bei Langzeitexposition",
AffectedDE: "Bedienpersonal", ZoneDE: "Bedienbereich vor der Maschine",
DefaultSeverity: 3, DefaultExposure: 4,
},
{
ID: "HP1411", NameDE: "KSS-Hautkontakt und Hauterkrankung", NameEN: "MWF skin contact and dermatitis",
RequiredComponentTags: []string{"cutting_tool"},
GeneratedHazardCats: []string{"chemical_risk"},
SuggestedMeasureIDs: []string{"M408", "M376", "M171"},
SuggestedEvidenceIDs: []string{"E01", "E55"},
Priority: 78, MachineTypes: cncTypes,
HumanRoles: []string{"operator", "maintenance_tech"},
ScenarioDE: "Bediener hat direkten Hautkontakt mit KSS beim Werkstueckhandling oder bei Maschinenreinigung",
TriggerDE: "Wiederholter Hautkontakt mit KSS ohne Schutzhandschuhe oder Hautschutzmittel",
HarmDE: "Kontaktekzem, allergische Hautreaktion, Oelakne",
AffectedDE: "Bedienpersonal, Wartungspersonal", ZoneDE: "Bedienbereich, Maschineninneres",
DefaultSeverity: 2, DefaultExposure: 5,
},
{
ID: "HP1412", NameDE: "Biologische Gefaehrdung durch kontaminierten KSS", NameEN: "Biological hazard from contaminated MWF",
RequiredComponentTags: []string{"cutting_tool"},
GeneratedHazardCats: []string{"chemical_risk"},
SuggestedMeasureIDs: []string{"M406", "M407", "M420"},
SuggestedEvidenceIDs: []string{"E01", "E51"},
Priority: 76, MachineTypes: cncTypes,
OperationalStates: []string{"maintenance"},
HumanRoles: []string{"maintenance_tech"},
ScenarioDE: "Wartungspersonal kommt bei KSS-Wechsel mit mikrobiell belastetem KSS in Kontakt",
TriggerDE: "Keimwachstum in KSS-System durch fehlende Konzentrationskontrolle oder zu lange Standzeit",
HarmDE: "Atemwegsinfektionen, Hautinfektionen, allergische Reaktionen",
AffectedDE: "Wartungspersonal", ZoneDE: "KSS-Tank, Maschineninneres",
DefaultSeverity: 3, DefaultExposure: 3,
},
{
ID: "HP1413", NameDE: "KSS-Brandgefahr durch Oelnebel", NameEN: "MWF fire hazard from oil mist",
RequiredComponentTags: []string{"cutting_tool"},
RequiredEnergyTags: []string{"kinetic_rotational"},
GeneratedHazardCats: []string{"fire_explosion"},
SuggestedMeasureIDs: []string{"M405", "M383", "M385"},
SuggestedEvidenceIDs: []string{"E01"},
Priority: 82, MachineTypes: cncTypes,
ScenarioDE: "KSS-Oelnebel im Maschinenraum entzuendet sich durch Funken oder heisse Spaene",
TriggerDE: "Unzureichende KSS-Absaugung bei Minimalmengenschmierung oder MMS-Trockenlauf",
HarmDE: "Maschinenbrand, Verbrennungen, Rauchgasvergiftung",
AffectedDE: "Bedienpersonal", ZoneDE: "Maschinenraum, Oelnebelabscheider",
DefaultSeverity: 4, DefaultExposure: 2,
},
{
ID: "HP1414", NameDE: "Rutschgefahr durch KSS-Leckage am Boden", NameEN: "Slip hazard from MWF leakage on floor",
RequiredComponentTags: []string{"cutting_tool"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M538", "M484", "M141"},
SuggestedEvidenceIDs: []string{"E01"},
Priority: 65, MachineTypes: cncTypes,
ScenarioDE: "KSS-Leckage erzeugt rutschigen Bodenbelag um die Werkzeugmaschine",
TriggerDE: "Undichte KSS-Leitungen, ueberlaufender KSS-Tank oder Spritzerauswurf",
HarmDE: "Sturzunfaelle mit Prellungen, Knochenbruechen",
AffectedDE: "Bedienpersonal, Passanten", ZoneDE: "Maschinenumgebung, Verkehrswege",
DefaultSeverity: 2, DefaultExposure: 4,
},
// ── Welding-specific (HP1415-HP1419) ────────────────────────
{
ID: "HP1415", NameDE: "Schweissrauch-Inhalation", NameEN: "Welding fume inhalation",
RequiredComponentTags: []string{"welding_equipment"},
GeneratedHazardCats: []string{"chemical_risk"},
SuggestedMeasureIDs: []string{"M414", "M415", "M418"},
SuggestedEvidenceIDs: []string{"E01", "E29"},
Priority: 85, MachineTypes: []string{"welding", "cnc"},
HumanRoles: []string{"operator"},
ScenarioDE: "Schweisser atmet Schweissrauch mit Metalloxiden und ggf. krebserzeugenden Stoffen ein",
TriggerDE: "Fehlende oder unzureichende Schweissrauch-Absaugung, Schweissen in beengten Raeumen",
HarmDE: "Metallrauchfieber, Atemwegserkrankung, Lungenkarzinom bei Chrom-VI/Nickel",
AffectedDE: "Schweisser", ZoneDE: "Schweissplatz, angrenzende Arbeitsplaetze",
DefaultSeverity: 4, DefaultExposure: 4,
},
{
ID: "HP1416", NameDE: "UV-Strahlung beim Lichtbogenschweissen", NameEN: "UV radiation from arc welding",
RequiredComponentTags: []string{"welding_equipment"},
GeneratedHazardCats: []string{"radiation_hazard"},
SuggestedMeasureIDs: []string{"M392", "M169"},
SuggestedEvidenceIDs: []string{"E01"},
Priority: 80, MachineTypes: []string{"welding"},
HumanRoles: []string{"operator", "bystander"},
ScenarioDE: "UV-Strahlung des Lichtbogens trifft ungeschuetzte Haut oder Augen",
TriggerDE: "Fehlender Schweisserschutzschild, keine Abschirmung des Schweissplatzes",
HarmDE: "Verblitzen der Augen, Sonnenbrand-aehnliche Hautschaeden",
AffectedDE: "Schweisser, Umstehende", ZoneDE: "Schweissplatz, angrenzende Bereiche",
DefaultSeverity: 3, DefaultExposure: 4,
},
{
ID: "HP1417", NameDE: "Spritzer und Schlacke beim Schweissen", NameEN: "Spatter and slag during welding",
RequiredComponentTags: []string{"welding_equipment"},
GeneratedHazardCats: []string{"thermal_hazard", "mechanical_hazard"},
SuggestedMeasureIDs: []string{"M169", "M174", "M095"},
SuggestedEvidenceIDs: []string{"E01"},
Priority: 72, MachineTypes: []string{"welding"},
HumanRoles: []string{"operator"},
ScenarioDE: "Schweissspritzer und heisse Schlacke treffen Haut oder entzuenden brennbare Materialien",
TriggerDE: "Schweissvorgang ohne Schutzschuerze, brennbare Materialien in Spritzweite",
HarmDE: "Brandwunden, Augenverletzung, Brand in der Umgebung",
AffectedDE: "Schweisser", ZoneDE: "Schweissplatz, Boden im Spritzbereich",
DefaultSeverity: 3, DefaultExposure: 4,
},
{
ID: "HP1418", NameDE: "Elektrischer Schlag durch Schweissgeraet", NameEN: "Electric shock from welding equipment",
RequiredComponentTags: []string{"welding_equipment"},
RequiredEnergyTags: []string{"electrical"},
GeneratedHazardCats: []string{"electrical_hazard"},
SuggestedMeasureIDs: []string{"M087", "M090", "MN025"},
SuggestedEvidenceIDs: []string{"E01", "E10"},
Priority: 82, MachineTypes: []string{"welding"},
ScenarioDE: "Schweisser beruehrt spannungsfuehrende Teile des Schweissstromkreises",
TriggerDE: "Defekte Isolation am Schweissbrenner, feuchte Umgebung, beschaedigtes Kabel",
HarmDE: "Stromschlag mit Herzkammerflimmern, Verbrennungen",
AffectedDE: "Schweisser", ZoneDE: "Schweissbrenner, Masseklemme, Werkstueck",
DefaultSeverity: 5, DefaultExposure: 3,
},
{
ID: "HP1419", NameDE: "Explosionsgefahr beim Schweissen an Hohlkoerpern", NameEN: "Explosion when welding on hollow bodies",
RequiredComponentTags: []string{"welding_equipment"},
GeneratedHazardCats: []string{"fire_explosion"},
SuggestedMeasureIDs: []string{"M290", "M383"},
SuggestedEvidenceIDs: []string{"E01", "E35"},
Priority: 90, MachineTypes: []string{"welding"},
RequiresExpertCalculation: true,
ExpertHintDE: "Vor Schweissarbeiten an Behaeltern: Freimessen auf brennbare Gase/Daempfe.",
ScenarioDE: "Schweissflamme oder Lichtbogen entzuendet Restgas oder -daempfe in Hohlkoerper",
TriggerDE: "Schweissen an nicht freigemessenem Behaelter, Fass oder Rohrleitung",
HarmDE: "Explosion mit schweren Verletzungen, toedliche Druckwelle",
AffectedDE: "Schweisser, Umstehende", ZoneDE: "Schweissplatz, Behaelterinneres",
DefaultSeverity: 5, DefaultExposure: 2,
},
}
}