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>
This commit is contained in:
@@ -0,0 +1,180 @@
|
|||||||
|
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},
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -17,6 +17,7 @@ func GetProtectiveMeasureLibrary() []ProtectiveMeasureEntry {
|
|||||||
all = append(all, getTRGSMeasures()...) // TRGS-Gefahrstoff-Massnahmen (Phase 2)
|
all = append(all, getTRGSMeasures()...) // TRGS-Gefahrstoff-Massnahmen (Phase 2)
|
||||||
all = append(all, getSupplementaryMeasures()...) // Luecken-Massnahmen aus RAG-Abgleich (Phase 2)
|
all = append(all, getSupplementaryMeasures()...) // Luecken-Massnahmen aus RAG-Abgleich (Phase 2)
|
||||||
all = append(all, getMetalworkingMeasures()...) // Metalworking-Massnahmen (Phase 3)
|
all = append(all, getMetalworkingMeasures()...) // Metalworking-Massnahmen (Phase 3)
|
||||||
|
all = append(all, getVDMAMeasures()...) // VDMA-Sektoren: Holz, Oberfläche, Druck, Pumpen (Phase 3)
|
||||||
return all
|
return all
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,55 @@
|
|||||||
|
package iace
|
||||||
|
|
||||||
|
// getVDMAMeasures returns protective measures for VDMA industry sectors
|
||||||
|
// beyond metalworking: woodworking, surface treatment, printing, pumps.
|
||||||
|
// Each measure is RAG-validated against the relevant TRGS obligations.
|
||||||
|
// IDs: M422–M451 (30 measures).
|
||||||
|
func getVDMAMeasures() []ProtectiveMeasureEntry {
|
||||||
|
return []ProtectiveMeasureEntry{
|
||||||
|
// ══════════════════════════════════════════════════════════════
|
||||||
|
// 3D.1 Holzbearbeitung (8 Massnahmen) — TRGS 553, EN 1870/848
|
||||||
|
// ══════════════════════════════════════════════════════════════
|
||||||
|
{ID: "M422", ReductionType: "protection", SubType: "extraction", Name: "Holzstaub-Absauganlage an jeder Maschine", Description: "Jede Holzbearbeitungsmaschine wird an eine wirksame Absauganlage angeschlossen die den Holzstaub direkt am Entstehungsort erfasst.", HazardCategory: "material_environmental", Examples: []string{"Absaugstutzen an Kreissaege", "Zentralabsaugung mit Filteranlage"}, NormReferences: []string{"TRGS 553 — Technische Schutzmassnahmen", "DGUV Regel 109-003"}},
|
||||||
|
{ID: "M423", ReductionType: "information", SubType: "organizational", Name: "Absauganlage jaehrlich pruefen", Description: "Die Funktionsfaehigkeit der Holzstaub-Absauganlage wird monatlich kontrolliert und jaehrlich mit Luftgeschwindigkeitsmessung an den Erfassungselementen geprueft.", HazardCategory: "material_environmental", Examples: []string{"Monatliche Funktionskontrolle", "Jaehrliche Luftgeschwindigkeitsmessung"}, NormReferences: []string{"TRGS 553 — Wirksamkeitsueberpruefung", "DGUV Regel 109-003"}},
|
||||||
|
{ID: "M424", ReductionType: "protection", SubType: "safety_control", Name: "Rueckschlagsicherung an Kreissaegen und Fraesmaschinen", Description: "Kreissaegen erhalten Spaltkeil und Schutzhaube, Fraesmaschinen erhalten Gegenhalter gegen Rueckschlag des Werkstuecks.", HazardCategory: "mechanical", Examples: []string{"Spaltkeil hinter Saegeblatt", "Greiferschutz an Tischfraese"}, NormReferences: []string{"EN 1870-1 — Sicherheit Kreissaegen", "EN 848 — Fraesmaschinen"}},
|
||||||
|
{ID: "M425", ReductionType: "information", SubType: "organizational", Name: "Holzstaub-AGW einhalten und ueberwachen", Description: "Die Holzstaub-Exposition wird durch Messungen ueberprueft und der Arbeitsplatzgrenzwert von 2 mg/m3 (A-Staub) eingehalten.", HazardCategory: "material_environmental", Examples: []string{"Personenbezogene Staubmessung", "Vergleich mit AGW nach TRGS 900"}, NormReferences: []string{"TRGS 553 — AGW Holzstaub", "TRGS 402 — Ermittlung und Beurteilung"}},
|
||||||
|
{ID: "M426", ReductionType: "protection", SubType: "safety_control", Name: "Staubexplosionsschutz an Absauganlagen", Description: "Absauganlagen fuer Holzstaub erhalten Massnahmen gegen Staubexplosion: Funkenerkennung, Loeschung und druckfeste Bauteile.", HazardCategory: "material_environmental", Examples: []string{"Funkenerkennungs- und -loeschanlage", "Explosionsklappe an Filteranlage"}, NormReferences: []string{"TRGS 553 — Explosionsschutz", "ATEX 2014/34/EU"}},
|
||||||
|
{ID: "M427", ReductionType: "information", SubType: "organizational", Name: "Schlauchbrucherkennung an Filteranlagen", Description: "Luftrueckfuehrende Absauganlagen erhalten eine automatische Erkennung bei Filterschaeden die den Staubeintrag in den Arbeitsraum verhindert.", HazardCategory: "material_environmental", Examples: []string{"Differenzdruckueberwachung am Filter", "Automatische Umschaltung auf Abluft"}, NormReferences: []string{"TRGS 553 — Betriebsstoerungen", "EN 16770"}},
|
||||||
|
{ID: "M428", ReductionType: "information", SubType: "ppe", Name: "Atemschutz bei Holzstaubexposition ueber AGW", Description: "Bei unvermeidlicher Ueberschreitung des AGW (z.B. bei Reinigungsarbeiten) wird geeigneter Atemschutz bereitgestellt.", HazardCategory: "material_environmental", Examples: []string{"FFP2-Maske bei Reinigung", "Geblaeseunterstuetzte Halbmaske bei Schleifarbeiten"}, NormReferences: []string{"TRGS 553 — Persoenliche Schutzmassnahmen", "EN 149"}},
|
||||||
|
{ID: "M429", ReductionType: "information", SubType: "training", Name: "Unterweisung Holzstaubgefahren", Description: "Beschaeftigte werden ueber Gesundheitsgefahren durch Holzstaub (Atemwegserkrankung, Krebs bei bestimmten Holzarten) und korrekte Absaugungsnutzung unterwiesen.", HazardCategory: "material_environmental", Examples: []string{"Jaehrliche Unterweisung mit Maschinendemonstration", "Schulung ueber krebserzeugende Holzarten"}, NormReferences: []string{"TRGS 553 — Unterweisung", "GefStoffV §14"}},
|
||||||
|
|
||||||
|
// ══════════════════════════════════════════════════════════════
|
||||||
|
// 3D.2 Oberflächentechnik (8 Massnahmen) — TRGS 507/430
|
||||||
|
// ══════════════════════════════════════════════════════════════
|
||||||
|
{ID: "M430", ReductionType: "protection", SubType: "extraction", Name: "Spritzkabinen-Belueftung nach TRGS 507", Description: "Lackier- und Spritzkabinen werden mit technischer Belueftung ausgestattet die Loesemitteldaempfe und Aerosole zuverlaessig abfuehrt.", HazardCategory: "material_environmental", Examples: []string{"Unterflurabsaugung in Spritzkabine", "Deckenzuluft mit Filterdecke"}, NormReferences: []string{"TRGS 507 — Technische Schutzmassnahmen", "EN 12215 — Spritzkabinen"}},
|
||||||
|
{ID: "M431", ReductionType: "design", SubType: "material", Name: "Isocyanat-Substitutionspruefung", Description: "Bei Einsatz isocyanathaltiger Lacke und Schaeume wird geprueft ob isocyanatfreie Alternativen verfuegbar sind.", HazardCategory: "material_environmental", Examples: []string{"UV-haertende Lacke statt PU-Lacke", "Wasserlacke statt Loesemittellacke"}, NormReferences: []string{"TRGS 430 — Substitution", "TRGS 600 — Substitution"}},
|
||||||
|
{ID: "M432", ReductionType: "protection", SubType: "extraction", Name: "Galvanikbad-Randabsaugung", Description: "Galvanische Baeder erhalten Randabsaugungen die Daempfe und Aerosole direkt an der Badoberflaeche erfassen.", HazardCategory: "material_environmental", Examples: []string{"Seitliche Randabsaugung an Chrombad", "Schlitzabsaugung ueber Badkante"}, NormReferences: []string{"TRGS 507 — Technische Schutzmassnahmen", "DGUV Regel 109-002"}},
|
||||||
|
{ID: "M433", ReductionType: "information", SubType: "organizational", Name: "Arbeitsbereich Oberflaechentechnik absperren und kennzeichnen", Description: "Bereiche in denen Spritz-, Lackier- oder Galvanikarbeiten durchgefuehrt werden, werden gegen unbefugtes Betreten abgesperrt und gekennzeichnet.", HazardCategory: "material_environmental", Examples: []string{"Verbotszeichen Zutritt fuer Unbefugte", "Zugangskontrolle mit Schleuse"}, NormReferences: []string{"TRGS 507 — Kennzeichnung von Arbeitsbereichen", "ASR A1.3"}},
|
||||||
|
{ID: "M434", ReductionType: "protection", SubType: "electrical_protection", Name: "Explosionsgeschuetzte Geraete in Spritzbereichen", Description: "In Bereichen mit brennbaren Daempfen und Aerosolen werden nur explosionsgeschuetzte elektrische Geraete eingesetzt.", HazardCategory: "material_environmental", Examples: []string{"ATEX-Leuchten in Spritzkabine", "Ex-geschuetzte Foerderpumpe"}, NormReferences: []string{"TRGS 507 — Explosionsschutz", "ATEX 2014/34/EU"}},
|
||||||
|
{ID: "M435", ReductionType: "information", SubType: "ppe", Name: "Chemikalienschutzhandschuhe bei Oberflaechenbehandlung", Description: "Fuer Taetigkeiten mit Kontakt zu Lacken, Loesemitteln oder Galvanikbaedern werden geeignete Chemikalienschutzhandschuhe bereitgestellt.", HazardCategory: "material_environmental", Examples: []string{"Nitrilhandschuhe bei Loesemittelkontakt", "Butylkautschuk-Handschuhe bei Isocyanaten"}, NormReferences: []string{"TRGS 430 — Persoenliche Schutzmassnahmen", "EN 374"}},
|
||||||
|
{ID: "M436", ReductionType: "information", SubType: "organizational", Name: "Isocyanat-Schulung nach REACH", Description: "Alle Beschaeftigten die mit Diisocyanaten umgehen erhalten eine Schulung nach der REACH-Beschraenkung (Anhang XVII Nr. 74).", HazardCategory: "material_environmental", Examples: []string{"Online-Schulung Diisocyanate", "Praktische Unterweisung Spritzlackierung"}, NormReferences: []string{"TRGS 430 — REACH-Beschraenkung", "REACH Anhang XVII Nr. 74"}},
|
||||||
|
{ID: "M437", ReductionType: "protection", SubType: "safety_control", Name: "Automatische Abschaltung bei Absaugungsausfall", Description: "Bei Ausfall der Absaugung in Spritzkabinen wird der Spritzvorgang automatisch unterbrochen und ein Alarm ausgeloest.", HazardCategory: "material_environmental", Examples: []string{"Volumenstromueberwachung mit Maschinensperre", "Akustischer Alarm bei Druckabfall"}, NormReferences: []string{"TRGS 430 — Zusaetzliche technische Massnahmen", "TRGS 507 — Betriebsstoerungen"}},
|
||||||
|
|
||||||
|
// ══════════════════════════════════════════════════════════════
|
||||||
|
// 3D.3 Druckmaschinen (8 Massnahmen) — EN 1010
|
||||||
|
// ══════════════════════════════════════════════════════════════
|
||||||
|
{ID: "M438", ReductionType: "protection", SubType: "fixed_guard", Name: "Walzenschutz an Druckmaschinen", Description: "Einzugsstellen an Walzenpaaren erhalten feststehende oder verriegelte Schutzeinrichtungen die ein Hineingreifen verhindern.", HazardCategory: "mechanical", Examples: []string{"Schutzbuegel an Farbwerk", "Verriegelte Abdeckung am Feuchtwerk"}, NormReferences: []string{"EN 1010 — Druckmaschinen", "ISO 12100 — Technische Schutzeinrichtungen"}},
|
||||||
|
{ID: "M439", ReductionType: "protection", SubType: "extraction", Name: "Farbnebelabsaugung an Druckmaschinen", Description: "Aerosole und Daempfe aus Druckfarben und Reinigungsmitteln werden durch Absaugeinrichtungen am Farbwerk erfasst.", HazardCategory: "material_environmental", Examples: []string{"Absaugung am Farbkasten", "Abluftanlage an Trockner"}, NormReferences: []string{"EN 1010 — Druckmaschinen", "TRGS 507 — Technische Schutzmassnahmen"}},
|
||||||
|
{ID: "M440", ReductionType: "protection", SubType: "fixed_guard", Name: "UV-Strahlenschutz an UV-Trocknern", Description: "UV-Trockner an Druckmaschinen werden eingekapselt und mit Sicherheitsverriegelung versehen um UV-Exposition zu verhindern.", HazardCategory: "general", Examples: []string{"Abgeschirmtes UV-Trocknergehaeuse", "Verriegelter Zugang mit UV-Abschaltung"}, NormReferences: []string{"EN 1010 — Druckmaschinen", "OStrV"}},
|
||||||
|
{ID: "M441", ReductionType: "protection", SubType: "safety_control", Name: "Not-Halt-Leiste an Walzeneinzugsstellen", Description: "Entlang aller zugaenglichen Walzeneinzugsstellen werden Not-Halt-Leisten angebracht die bei Beruehrung den Antrieb sofort stoppen.", HazardCategory: "mechanical", Examples: []string{"Schaltleiste an Druckwerkswalzen", "Not-Halt-Seil entlang Papierbahn"}, NormReferences: []string{"EN 1010 — Druckmaschinen", "ISO 13850 — Not-Halt-Gestaltung"}},
|
||||||
|
{ID: "M442", ReductionType: "information", SubType: "organizational", Name: "Reinigung von Druckmaschinen nur bei Stillstand", Description: "Reinigungsarbeiten an Farbwerken und Walzen werden nur bei stillstehender Maschine oder mit Tippbetrieb bei reduzierter Geschwindigkeit durchgefuehrt.", HazardCategory: "mechanical", Examples: []string{"Reinigungsmodus mit reduzierter Drehzahl", "LOTO bei manueller Reinigung"}, NormReferences: []string{"EN 1010 — Druckmaschinen", "TRBS 1112 — Instandhaltung"}},
|
||||||
|
{ID: "M443", ReductionType: "protection", SubType: "safety_control", Name: "Papierbahnriss-Erkennung", Description: "Bahnsensoren erkennen einen Papierbahnriss und stoppen die Maschine automatisch bevor lose Bahnenden Einzugsstellen erzeugen.", HazardCategory: "mechanical", Examples: []string{"Optischer Bahnkantenerfasser", "Zugkraftueberwachung mit Stopp"}, NormReferences: []string{"EN 1010 — Druckmaschinen"}},
|
||||||
|
{ID: "M444", ReductionType: "information", SubType: "organizational", Name: "Druckfarben-Sicherheitsdatenblaetter aushangen", Description: "Aktuelle Sicherheitsdatenblaetter fuer alle verwendeten Druckfarben, Loesemittel und Reiniger sind am Arbeitsplatz zugaenglich.", HazardCategory: "material_environmental", Examples: []string{"SDB-Ordner an Farbmischstation", "QR-Code am Farbbehälter"}, NormReferences: []string{"TRGS 400 — Gefaehrdungsbeurteilung", "REACH Art. 31"}},
|
||||||
|
{ID: "M445", ReductionType: "information", SubType: "signage", Name: "Kennzeichnung Einzugsstellen an Druckmaschinen", Description: "Alle Einzugsstellen an Walzen werden mit Warnzeichen und Hinweisen auf Quetschgefahr dauerhaft gekennzeichnet.", HazardCategory: "mechanical", Examples: []string{"Warnzeichen W024 Handverletzung", "Hinweisschild Einzugsgefahr"}, NormReferences: []string{"EN 1010 — Druckmaschinen", "ISO 7010"}},
|
||||||
|
|
||||||
|
// ══════════════════════════════════════════════════════════════
|
||||||
|
// 3D.4 Pumpen/Kompressoren (6 Massnahmen) — EN 809/1012
|
||||||
|
// ══════════════════════════════════════════════════════════════
|
||||||
|
{ID: "M446", ReductionType: "design", SubType: "fluid_design", Name: "Druckstossdaempfer in Rohrleitungssystemen", Description: "Rohrleitungssysteme mit schnell schliessenden Armaturen erhalten Druckstossdaempfer zur Vermeidung von Druckstoessen.", HazardCategory: "pneumatic_hydraulic", Examples: []string{"Windkessel hinter Kolbenpumpe", "Langsam schliessende Rueckschlagklappe"}, NormReferences: []string{"EN 809 — Pumpen", "EN 13480 — Metallische Rohrleitungen"}},
|
||||||
|
{ID: "M447", ReductionType: "protection", SubType: "monitoring", Name: "Kavitationsueberwachung an Pumpen", Description: "Pumpen werden mit Sensoren zur Erkennung von Kavitation ausgestattet die rechtzeitig warnen bevor Schaeden am Laufrad entstehen.", HazardCategory: "pneumatic_hydraulic", Examples: []string{"Schwingungssensor am Pumpengehaeuse", "Saugdruckueberwachung"}, NormReferences: []string{"EN 809 — Pumpen", "ISO 13709"}},
|
||||||
|
{ID: "M448", ReductionType: "protection", SubType: "monitoring", Name: "Leckageueberwachung an Wellendichtungen", Description: "Wellendichtungen an Pumpen und Kompressoren werden auf Leckage ueberwacht, insbesondere bei giftigen oder brennbaren Medien.", HazardCategory: "pneumatic_hydraulic", Examples: []string{"Tropfsensor an Gleitringdichtung", "Gasdetektor an Kompressorwelle"}, NormReferences: []string{"EN 809 — Pumpen", "EN 1012 — Kompressoren"}},
|
||||||
|
{ID: "M449", ReductionType: "protection", SubType: "fluid_protection", Name: "Berstschutz an Kompressorgehaeuse", Description: "Kompressorgehaeuse werden fuer den maximalen Betriebsdruck plus Sicherheitszuschlag ausgelegt. Berstscheiben sichern gegen katastrophales Versagen.", HazardCategory: "pneumatic_hydraulic", Examples: []string{"Druckfestes Gehaeuse nach EN 1012", "Berstscheibe am Druckstutzen"}, NormReferences: []string{"EN 1012 — Kompressoren", "EN ISO 4126-1 — Sicherheitsventile"}},
|
||||||
|
{ID: "M450", ReductionType: "protection", SubType: "safety_control", Name: "Trockenlaufschutz an Pumpen", Description: "Pumpen erhalten einen Trockenlaufschutz der bei fehlendem Medium die Pumpe automatisch abschaltet.", HazardCategory: "pneumatic_hydraulic", Examples: []string{"Mindestdruckschalter an Saugseite", "Fuellstandsueberwachung im Vorratsbehaelter"}, NormReferences: []string{"EN 809 — Pumpen"}},
|
||||||
|
{ID: "M451", ReductionType: "information", SubType: "organizational", Name: "Kompressor-Druckluftbehaelter regelmaessig entwassern", Description: "Druckluftbehaelter an Kompressoren werden regelmaessig entwassert um Korrosion und Druckluftverunreinigung zu verhindern.", HazardCategory: "pneumatic_hydraulic", Examples: []string{"Automatischer Kondensatableiter", "Taeglich manuelle Entwasserung"}, NormReferences: []string{"EN 1012 — Kompressoren", "BetrSichV Anhang 2"}},
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -118,6 +118,7 @@ func NewPatternEngine() *PatternEngine {
|
|||||||
patterns = append(patterns, GetFinalPatternsD()...) // HP1255-HP1335 lifecycle/special situations
|
patterns = append(patterns, GetFinalPatternsD()...) // HP1255-HP1335 lifecycle/special situations
|
||||||
patterns = append(patterns, GetCNCHazardPatterns()...) // HP1400-HP1419 CNC/metalworking part 1 (Phase 3)
|
patterns = append(patterns, GetCNCHazardPatterns()...) // HP1400-HP1419 CNC/metalworking part 1 (Phase 3)
|
||||||
patterns = append(patterns, GetCNCHazardPatternsExt()...) // HP1420-HP1434 CNC/metalworking part 2 (Phase 3)
|
patterns = append(patterns, GetCNCHazardPatternsExt()...) // HP1420-HP1434 CNC/metalworking part 2 (Phase 3)
|
||||||
|
patterns = append(patterns, GetVDMAIndustryPatterns()...) // HP1500-HP1549 VDMA sectors (Phase 3)
|
||||||
return &PatternEngine{
|
return &PatternEngine{
|
||||||
resolver: NewTagResolver(),
|
resolver: NewTagResolver(),
|
||||||
patterns: patterns,
|
patterns: patterns,
|
||||||
|
|||||||
Reference in New Issue
Block a user