Files
breakpilot-compliance/ai-compliance-sdk/internal/iace/hazard_patterns_vdma.go
T
Benjamin Admin 99ef9873ad feat(iace): Sprint 3D — VDMA-Sektoren Holz/Oberfläche/Druck/Pumpen
30 VDMA-Massnahmen (M422-M451), RAG-validiert gegen TRGS 553/507/430:
- Holzbearbeitung (8): Absauganlage, Absaugprüfung, Rückschlag, AGW, Ex-Schutz, Filterüberwachung
- Oberflächentechnik (8): Spritzkabinen-Belüftung, Isocyanat-Substitution, Galvanikbad, ATEX, REACH-Schulung
- Druckmaschinen (8): Walzenschutz, Farbnebelabsaugung, UV-Schutz, Not-Halt-Leiste, Bahnrisserkennung
- Pumpen/Kompressoren (6): Druckstossdämpfer, Kavitation, Leckage, Bersten, Trockenlauf, Entwässerung

21 VDMA-Patterns (HP1500-HP1549):
- Holz (6): Rückschlag, Sägeblattkontakt, Holzstaub, Staubexplosion, Einzug, Fräserkontakt
- Oberfläche (5): Lösemittel, Isocyanat, Brand/Explosion, Chromsäure, Hautverätzung
- Druck (4): Walzeneinzug, Farbennebel, UV-Strahlung, Bahnriss
- Pumpen (6): Druckstoss, Kavitation, Leckage, Bersten, Trockenlauf, Korrosion

Alle mit MachineTypes, OperationalStates, HumanRoles wo zutreffend.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-10 08:52:56 +02:00

181 lines
17 KiB
Go

package iace
// GetVDMAIndustryPatterns returns hazard patterns for VDMA industry sectors:
// woodworking, surface treatment, printing, pumps/compressors.
// IDs: HP1500-HP1549 (50 patterns).
func GetVDMAIndustryPatterns() []HazardPattern {
return []HazardPattern{
// ══════════════════════════════════════════════════════════════
// Holzbearbeitung (HP1500-HP1514)
// ══════════════════════════════════════════════════════════════
{ID: "HP1500", NameDE: "Rueckschlag an Kreissaege", NameEN: "Kickback on circular saw",
RequiredComponentTags: []string{"cutting_tool"}, GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M424", "M061"}, SuggestedEvidenceIDs: []string{"E01", "E08"},
Priority: 92, MachineTypes: []string{"circular_saw", "woodworking"},
OperationalStates: []string{"automatic_operation", "manual_operation"}, HumanRoles: []string{"operator"},
ScenarioDE: "Werkstueck wird durch aufsteigenden Saegeblattzahn zurueckgeschleudert",
TriggerDE: "Fehlender oder falsch eingestellter Spaltkeil, verklemmtes Werkstueck", HarmDE: "Schnittverletzung, Prellungen durch Rueckschlag", AffectedDE: "Bedienpersonal", ZoneDE: "Bedienseite der Saege",
DefaultSeverity: 4, DefaultExposure: 4},
{ID: "HP1501", NameDE: "Saegeblatt-Kontakt bei offener Schutzhaube", NameEN: "Saw blade contact with open guard",
RequiredComponentTags: []string{"cutting_tool"}, GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M424", "MN012", "MN013"}, SuggestedEvidenceIDs: []string{"E01", "E08"},
Priority: 90, MachineTypes: []string{"circular_saw", "woodworking"},
ScenarioDE: "Hand geraet an das rotierende Saegeblatt bei fehlender oder geoeffneter Schutzhaube",
TriggerDE: "Schutzhaube entfernt oder verklemmt, Manipulation der Verriegelung", HarmDE: "Amputation, schwere Schnittverletzung", AffectedDE: "Bedienpersonal", ZoneDE: "Saegeblattbereich",
DefaultSeverity: 5, DefaultExposure: 3},
{ID: "HP1502", NameDE: "Holzstaub-Inhalation", NameEN: "Wood dust inhalation",
RequiredComponentTags: []string{"cutting_tool"}, GeneratedHazardCats: []string{"chemical_risk"},
SuggestedMeasureIDs: []string{"M422", "M425", "M428"}, SuggestedEvidenceIDs: []string{"E01", "E29"},
Priority: 80, MachineTypes: []string{"circular_saw", "woodworking", "milling"},
HumanRoles: []string{"operator"},
ScenarioDE: "Beschaeftigte atmen Holzstaub ein der bei Saege-/Fraes-/Schleifarbeiten entsteht",
TriggerDE: "Absaugung nicht angeschlossen oder unzureichend, Maschine ohne Einhausung", HarmDE: "Atemwegsreizung, Asthma, Nasenkrebs bei Hartholz", AffectedDE: "Bedienpersonal", ZoneDE: "Bearbeitungsbereich",
DefaultSeverity: 4, DefaultExposure: 4},
{ID: "HP1503", NameDE: "Staubexplosion in Absauganlage", NameEN: "Dust explosion in extraction system",
RequiredComponentTags: []string{"cutting_tool"}, GeneratedHazardCats: []string{"fire_explosion"},
SuggestedMeasureIDs: []string{"M426", "M290", "M295"}, SuggestedEvidenceIDs: []string{"E01", "E35"},
Priority: 88, MachineTypes: []string{"woodworking"},
RequiresExpertCalculation: true, ExpertHintDE: "Zoneneinteilung nach ATEX fuer Absauganlage und Silo erforderlich.",
ScenarioDE: "Holzstaub-Luft-Gemisch in Filter oder Silo entzuendet sich", TriggerDE: "Funken durch Fremdkoerper, elektrostatische Aufladung, heisse Oberflaeche",
HarmDE: "Explosion mit Druckwelle, Brand, schwere Verletzungen", AffectedDE: "Bedienpersonal, Umgebung", ZoneDE: "Filteranlage, Silo, Rohrleitungen",
DefaultSeverity: 5, DefaultExposure: 2},
{ID: "HP1504", NameDE: "Einzug an Hobelmaschine", NameEN: "Drawing-in at planing machine",
RequiredComponentTags: []string{"cutting_tool", "rotating_part"}, GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M239", "M061"}, SuggestedEvidenceIDs: []string{"E01", "E08"},
Priority: 88, MachineTypes: []string{"woodworking"},
ScenarioDE: "Hand wird zwischen Vorschubwalzen und Messerwelle der Hobelmaschine eingezogen",
TriggerDE: "Manuelles Nachschieben kurzer Werkstuecke ohne Schiebeholz", HarmDE: "Amputation, Quetschung", AffectedDE: "Bedienpersonal", ZoneDE: "Einzugsbereich",
DefaultSeverity: 5, DefaultExposure: 3},
{ID: "HP1505", NameDE: "Fraeserkontakt bei Handfraesmaschine", NameEN: "Cutter contact on hand-fed milling machine",
RequiredComponentTags: []string{"cutting_tool", "rotating_part"}, GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M061", "M067"}, SuggestedEvidenceIDs: []string{"E01", "E08"},
Priority: 86, MachineTypes: []string{"woodworking", "milling"},
HumanRoles: []string{"operator"},
ScenarioDE: "Hand geraet an rotierenden Fraeser bei manueller Werkstueckfuehrung",
TriggerDE: "Fehlende Schutzhaube, Werkstueck wird vom Fraeser weggerissen", HarmDE: "Schnittverletzung, Fingerverlust", AffectedDE: "Bedienpersonal", ZoneDE: "Fraesbereich",
DefaultSeverity: 4, DefaultExposure: 4},
// ══════════════════════════════════════════════════════════════
// Oberflächentechnik (HP1515-HP1529)
// ══════════════════════════════════════════════════════════════
{ID: "HP1515", NameDE: "Loesemittel-Inhalation in Spritzkabine", NameEN: "Solvent inhalation in spray booth",
RequiredComponentTags: []string{"spray_nozzle"}, GeneratedHazardCats: []string{"chemical_risk"},
SuggestedMeasureIDs: []string{"M430", "M173"}, SuggestedEvidenceIDs: []string{"E01", "E29"},
Priority: 82, MachineTypes: []string{"spray_booth", "surface_treatment"},
HumanRoles: []string{"operator"},
ScenarioDE: "Lackierer atmet Loesemitteldaempfe ein die bei Spritzlackierung entstehen",
TriggerDE: "Unzureichende Kabinenbelueftung oder Arbeiten ausserhalb der Kabine", HarmDE: "Kopfschmerzen, Schwindel, Leberschaeden bei Langzeitexposition", AffectedDE: "Lackierer", ZoneDE: "Spritzkabine",
DefaultSeverity: 3, DefaultExposure: 4},
{ID: "HP1516", NameDE: "Isocyanat-Exposition bei PU-Lackierung", NameEN: "Isocyanate exposure during PU coating",
RequiredComponentTags: []string{"spray_nozzle"}, GeneratedHazardCats: []string{"chemical_risk"},
SuggestedMeasureIDs: []string{"M431", "M436", "M173"}, SuggestedEvidenceIDs: []string{"E01", "E29"},
Priority: 88, MachineTypes: []string{"spray_booth", "surface_treatment"},
HumanRoles: []string{"operator"},
ScenarioDE: "Beschaeftigte werden Isocyanat-Aerosolen bei PU-Lack-Verarbeitung ausgesetzt",
TriggerDE: "Spritzlackierung mit isocyanathaltigen 2K-Lacken ohne ausreichende Absaugung", HarmDE: "Atemwegssensibilisierung (Isocyanat-Asthma), Hautallergien", AffectedDE: "Lackierer", ZoneDE: "Spritzkabine, Mischbereich",
DefaultSeverity: 4, DefaultExposure: 4},
{ID: "HP1517", NameDE: "Brand/Explosion in Spritzkabine", NameEN: "Fire/explosion in spray booth",
RequiredComponentTags: []string{"spray_nozzle"}, GeneratedHazardCats: []string{"fire_explosion"},
SuggestedMeasureIDs: []string{"M434", "M383", "M290"}, SuggestedEvidenceIDs: []string{"E01", "E35"},
Priority: 90, MachineTypes: []string{"spray_booth", "surface_treatment"},
ScenarioDE: "Loesemitteldaempfe in Spritzkabine entzuenden sich", TriggerDE: "Zuendquelle in Ex-Zone (nicht-ex-geschuetztes Geraet, Funke, heisse Oberflaeche)",
HarmDE: "Verpuffung, Brand, Verbrennungen", AffectedDE: "Lackierer, Umgebung", ZoneDE: "Spritzkabine, Trocknungsbereich",
DefaultSeverity: 5, DefaultExposure: 2},
{ID: "HP1518", NameDE: "Chromsaeure-Exposition an Galvanikbad", NameEN: "Chromic acid exposure at electroplating bath",
RequiredComponentTags: []string{"chemical_bath"}, GeneratedHazardCats: []string{"chemical_risk"},
SuggestedMeasureIDs: []string{"M432", "M435", "M173"}, SuggestedEvidenceIDs: []string{"E01", "E29"},
Priority: 88, MachineTypes: []string{"surface_treatment", "electroplating"},
HumanRoles: []string{"operator"},
ScenarioDE: "Chromsaeuredaempfe steigen aus Hartverchromungsbad auf und werden eingeatmet",
TriggerDE: "Fehlende oder defekte Randabsaugung, hohe Badtemperatur", HarmDE: "Lungenkarzinom bei Chrom-VI, Veraetzung der Schleimhaeute", AffectedDE: "Galvaniker", ZoneDE: "Galvanikbad",
DefaultSeverity: 5, DefaultExposure: 3},
{ID: "HP1519", NameDE: "Hautveraetzung durch Galvanikloesungen", NameEN: "Skin burn from electroplating solutions",
RequiredComponentTags: []string{"chemical_bath"}, GeneratedHazardCats: []string{"chemical_risk"},
SuggestedMeasureIDs: []string{"M435", "M376"}, SuggestedEvidenceIDs: []string{"E01"},
Priority: 78, MachineTypes: []string{"surface_treatment", "electroplating"},
ScenarioDE: "Galvanikloesungen (Saeuren, Laugen, Chromsaeure) spritzen auf ungeschuetzte Haut",
TriggerDE: "Bauteil faellt in Bad und erzeugt Spritzer, Umfuellen ohne Schutzkleidung", HarmDE: "Veraetzung, allergische Reaktion", AffectedDE: "Galvaniker", ZoneDE: "Badoberflaeche, Umfuellbereich",
DefaultSeverity: 3, DefaultExposure: 4},
// ══════════════════════════════════════════════════════════════
// Druckmaschinen (HP1530-HP1539)
// ══════════════════════════════════════════════════════════════
{ID: "HP1530", NameDE: "Einzug an Walzenpaar (Druckwerk)", NameEN: "Drawing-in at roller pair (printing unit)",
RequiredComponentTags: []string{"rotating_part"}, GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M438", "M441"}, SuggestedEvidenceIDs: []string{"E01", "E08"},
Priority: 92, MachineTypes: []string{"printing_press"},
HumanRoles: []string{"operator"},
ScenarioDE: "Hand oder Kleidung wird zwischen gegenlaeufigen Walzen des Farbwerks eingezogen",
TriggerDE: "Fehlende Walzenschutzbuegel, manuelles Reinigen bei laufender Maschine", HarmDE: "Quetschung, Amputation, Armbruch", AffectedDE: "Drucker", ZoneDE: "Farbwerk, Feuchtwerk",
DefaultSeverity: 5, DefaultExposure: 3},
{ID: "HP1531", NameDE: "Druckfarben-Inhalation", NameEN: "Printing ink inhalation",
RequiredComponentTags: []string{"rotating_part"}, GeneratedHazardCats: []string{"chemical_risk"},
SuggestedMeasureIDs: []string{"M439", "M444"}, SuggestedEvidenceIDs: []string{"E01", "E29"},
Priority: 72, MachineTypes: []string{"printing_press"},
ScenarioDE: "Aerosole und Daempfe aus Druckfarben und Reinigungsmitteln werden eingeatmet",
TriggerDE: "Fehlende Absaugung, offene Farbbehaelter, Reinigung mit Loesemitteln", HarmDE: "Atemwegsreizung, Schwindel bei hoher Loesemittelkonzentration", AffectedDE: "Drucker", ZoneDE: "Farbwerk, Reinigungsstation",
DefaultSeverity: 2, DefaultExposure: 4},
{ID: "HP1532", NameDE: "UV-Strahlung an UV-Trockner", NameEN: "UV radiation from UV dryer",
RequiredComponentTags: []string{"uv_source"}, GeneratedHazardCats: []string{"radiation_hazard"},
SuggestedMeasureIDs: []string{"M440", "M392"}, SuggestedEvidenceIDs: []string{"E01"},
Priority: 78, MachineTypes: []string{"printing_press"},
ScenarioDE: "UV-Strahlung aus defekter oder geoeffneter Trocknereinheit trifft Haut oder Augen",
TriggerDE: "Abdeckung des UV-Trockners nicht korrekt geschlossen, Wartung bei aktivem UV", HarmDE: "Hautverbrennung, Augenschaedigung", AffectedDE: "Drucker, Wartungspersonal", ZoneDE: "UV-Trockner",
DefaultSeverity: 3, DefaultExposure: 2},
{ID: "HP1533", NameDE: "Papierbahnriss mit Einzugsgefahr", NameEN: "Paper web break with entanglement risk",
RequiredComponentTags: []string{"rotating_part"}, GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M443", "M441"}, SuggestedEvidenceIDs: []string{"E01"},
Priority: 80, MachineTypes: []string{"printing_press"},
ScenarioDE: "Papierbahn reisst und lose Enden wickeln sich um Walzen, Bediener greift ein",
TriggerDE: "Materialfehler, Spannungsschwankung, falsche Bahnfuehrung", HarmDE: "Einzug in Walzenpaar, Quetschung", AffectedDE: "Drucker", ZoneDE: "Papierlauf, Walzenspalte",
DefaultSeverity: 4, DefaultExposure: 3},
// ══════════════════════════════════════════════════════════════
// Pumpen/Kompressoren (HP1540-HP1549)
// ══════════════════════════════════════════════════════════════
{ID: "HP1540", NameDE: "Druckstoss in Rohrleitung", NameEN: "Pressure surge in pipeline",
RequiredComponentTags: []string{"hydraulic_part", "high_pressure"}, GeneratedHazardCats: []string{"pneumatic_hydraulic"},
SuggestedMeasureIDs: []string{"M446", "M283"}, SuggestedEvidenceIDs: []string{"E01", "E11"},
Priority: 82, MachineTypes: []string{"pump", "compressor"},
ScenarioDE: "Schnelles Schliessen einer Armatur erzeugt Druckstoss der Rohrleitungen schaedigt",
TriggerDE: "Schnellschlussventil, Pumpenausfall bei laufender Foerderung", HarmDE: "Rohrbruch mit Medienaustritt, Verletzung durch Druckwelle", AffectedDE: "Bedienpersonal", ZoneDE: "Rohrleitung, Armaturenbereich",
DefaultSeverity: 4, DefaultExposure: 2},
{ID: "HP1541", NameDE: "Kavitationsschaden an Pumpe", NameEN: "Cavitation damage to pump",
RequiredComponentTags: []string{"hydraulic_part"}, GeneratedHazardCats: []string{"pneumatic_hydraulic"},
SuggestedMeasureIDs: []string{"M447", "M117"}, SuggestedEvidenceIDs: []string{"E01"},
Priority: 65, MachineTypes: []string{"pump"},
ScenarioDE: "Kavitation zerstoert Laufrad und Gehaeuse der Pumpe, Leckage entsteht",
TriggerDE: "Zu geringer Zulaufdruck (NPSH), Luft im System, Drosselung Saugseite", HarmDE: "Pumpenausfall, Medienaustritt, Folgeschaeden an Anlage", AffectedDE: "Bedienpersonal", ZoneDE: "Pumpengehaeuse",
DefaultSeverity: 3, DefaultExposure: 3},
{ID: "HP1542", NameDE: "Leckage an Gleitringdichtung", NameEN: "Leak at mechanical seal",
RequiredComponentTags: []string{"hydraulic_part"}, GeneratedHazardCats: []string{"pneumatic_hydraulic", "chemical_risk"},
SuggestedMeasureIDs: []string{"M448", "M101"}, SuggestedEvidenceIDs: []string{"E01", "E38"},
Priority: 72, MachineTypes: []string{"pump", "compressor"},
ScenarioDE: "Gleitringdichtung versagt und Foerdermedium tritt unkontrolliert aus",
TriggerDE: "Verschleiss, Trockenlauf, thermische Ueberlastung der Dichtung", HarmDE: "Hautkontakt mit Gefahrstoff, Rutschgefahr, Umweltkontamination", AffectedDE: "Bedienpersonal", ZoneDE: "Wellenbereich",
DefaultSeverity: 3, DefaultExposure: 3},
{ID: "HP1543", NameDE: "Kompressorgehaeuse-Bersten", NameEN: "Compressor housing burst",
RequiredComponentTags: []string{"high_pressure"}, GeneratedHazardCats: []string{"pneumatic_hydraulic"},
SuggestedMeasureIDs: []string{"M449", "M281"}, SuggestedEvidenceIDs: []string{"E01", "E11", "E28"},
Priority: 92, MachineTypes: []string{"compressor"},
RequiresExpertCalculation: true, ExpertHintDE: "Festigkeitsnachweis nach EN 1012 und DGRL 2014/68/EU erforderlich.",
ScenarioDE: "Kompressorgehaeuse versagt bei Ueberdruck und berstet",
TriggerDE: "Sicherheitsventil versagt, Druckschalter defekt, Korrosion am Gehaeuse", HarmDE: "Splitterflug, Druckwelle, toedliche Verletzungen", AffectedDE: "Bedienpersonal, Umgebung", ZoneDE: "Kompressorraum",
DefaultSeverity: 5, DefaultExposure: 1},
{ID: "HP1544", NameDE: "Trockenlauf Pumpe", NameEN: "Pump dry run",
RequiredComponentTags: []string{"hydraulic_part"}, GeneratedHazardCats: []string{"pneumatic_hydraulic", "fire_explosion"},
SuggestedMeasureIDs: []string{"M450", "M116"}, SuggestedEvidenceIDs: []string{"E01"},
Priority: 75, MachineTypes: []string{"pump"},
ScenarioDE: "Pumpe laeuft ohne Foerdermedium, Gleitringdichtung ueberhitzt",
TriggerDE: "Leerer Vorratsbehaelter, Saugseite verstopft, Fuellstandsueberwachung defekt", HarmDE: "Dichtungsbrand, Medienaustritt bei Folgeschaden", AffectedDE: "Bedienpersonal", ZoneDE: "Pumpenbereich",
DefaultSeverity: 3, DefaultExposure: 3},
{ID: "HP1545", NameDE: "Druckluftbehaelter-Korrosion", NameEN: "Compressed air receiver corrosion",
RequiredComponentTags: []string{"high_pressure"}, GeneratedHazardCats: []string{"pneumatic_hydraulic"},
SuggestedMeasureIDs: []string{"M451", "M365"}, SuggestedEvidenceIDs: []string{"E01", "E11"},
Priority: 70, MachineTypes: []string{"compressor"},
ScenarioDE: "Innere Korrosion durch Kondenswasser schwaecht Behaelterwand",
TriggerDE: "Fehlende Entwasserung, lange Standzeiten ohne Wartung", HarmDE: "Behaelterversagen bei Betriebsdruck, Druckwelle", AffectedDE: "Bedienpersonal", ZoneDE: "Druckluftbehaelter",
DefaultSeverity: 4, DefaultExposure: 2},
}
}