Files
breakpilot-compliance/ai-compliance-sdk/internal/iace/hazard_patterns_cnc_ext.go
T
Benjamin Admin c7e197d107 feat(iace): Sprint 3C — Werkzeugmaschinen (CNC/Dreh/Fraes/Schleifen/Schweissen)
35 CNC-spezifische Hazard Patterns (HP1400-HP1434):
- Werkzeugbruch, Schleifscheibenbruch, Spaeneflug, Kollision
- KSS-Exposition (Aerosol, Hautkontakt, Keimbelastung, Brand)
- Schweissrauch, UV-Strahlung, Spritzer, Stromschlag, Ex-Hohlkoerper
- Maschinenspezifisch: Quetschung Tuer, Spindelerfassung, Walzeneinzug
- Alle mit MachineTypes, OperationalStates, HumanRoles annotiert

18 Metalworking-Massnahmen (M404-M421), RAG-validiert gegen TRGS 551/528:
- KSS: Substitution, Aerosolabsaugung, Konzentrationskontrolle, Wechselintervalle, Hautschutzplan
- Schleifen: Schleifscheiben-Pruefung, Drehzahlbegrenzung
- Schweissen: Fortluft-Absaugung, brennerintegrierte Absaugung, raeumliche Trennung, Schweisserschutzschild
- Allgemein: AGW-Ueberwachung, Arbeitsmedizin, Reinigung, Unterweisung

5 Evidenztypen (E51-E55): KSS-Analyse, Schleifscheiben-/Spannmittel-Pruefung, Schweissnaht-Qualifikation

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

229 lines
13 KiB
Go

package iace
// GetCNCHazardPatternsExt returns the second batch of CNC/metalworking
// hazard patterns: machine-specific mechanical, ergonomic/noise,
// software/control, and maintenance. IDs: HP1420-HP1434.
func GetCNCHazardPatternsExt() []HazardPattern {
cncTypes := []string{"cnc", "lathe", "milling", "grinding", "drilling", "machining_centre"}
return []HazardPattern{
// ── Machine-specific mechanical (HP1420-HP1424) ─────────────
{
ID: "HP1420", NameDE: "Quetschung an Maschinentuer (CNC)", NameEN: "Crushing at machine door (CNC)",
RequiredComponentTags: []string{"moving_part"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M067", "M069"},
SuggestedEvidenceIDs: []string{"E01", "E08"},
Priority: 78, MachineTypes: cncTypes,
ScenarioDE: "Bediener wird an kraftbetaetigter CNC-Maschinentuer eingequetscht",
TriggerDE: "Tuer schliesst automatisch waehrend Bediener im Tuerbereich steht",
HarmDE: "Quetschung an Oberschenkel, Rumpf oder Arm",
AffectedDE: "Bedienpersonal", ZoneDE: "Maschinentuer-Schliesskante",
DefaultSeverity: 3, DefaultExposure: 4,
},
{
ID: "HP1421", NameDE: "Erfassen durch rotierende Welle (Drehmaschine)", NameEN: "Entanglement by rotating spindle (lathe)",
RequiredComponentTags: []string{"rotating_part"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M061", "M240", "M067"},
SuggestedEvidenceIDs: []string{"E01", "E08"},
Priority: 92, MachineTypes: []string{"lathe"},
OperationalStates: []string{"automatic_operation", "manual_operation"},
HumanRoles: []string{"operator"},
ScenarioDE: "Kleidung, Haare oder Handschuhe werden von rotierender Hauptspindel erfasst und aufgewickelt",
TriggerDE: "Fehlende Einhausung der Spindel, Arbeiten mit Handschuhen an Drehmaschine",
HarmDE: "Skalpierung, Abriss von Koerperteilen, Strangulation",
AffectedDE: "Bedienpersonal", ZoneDE: "Spindelbereich, Drehmitte",
DefaultSeverity: 5, DefaultExposure: 3,
},
{
ID: "HP1422", NameDE: "Einzugsgefahr an Vorschubwalzen", NameEN: "Drawing-in hazard at feed rollers",
RequiredComponentTags: []string{"rotating_part"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M239", "M061"},
SuggestedEvidenceIDs: []string{"E01", "E08"},
Priority: 85, MachineTypes: cncTypes,
ScenarioDE: "Finger oder Hand werden zwischen Vorschubwalzen und Werkstueck eingezogen",
TriggerDE: "Manuelles Zufuehren von Material ohne Schutzeinrichtung am Walzenspalt",
HarmDE: "Quetschung, Amputation von Fingern",
AffectedDE: "Bedienpersonal", ZoneDE: "Materialzufuehrung, Walzenspalt",
DefaultSeverity: 4, DefaultExposure: 3,
},
{
ID: "HP1423", NameDE: "Absturz schwerer Maschinenteile bei Wartung", NameEN: "Heavy machine part falling during maintenance",
RequiredComponentTags: []string{"moving_part"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M245", "M210"},
SuggestedEvidenceIDs: []string{"E01"},
Priority: 80, MachineTypes: cncTypes,
OperationalStates: []string{"maintenance"},
HumanRoles: []string{"maintenance_tech"},
ScenarioDE: "Schwere Maschinenteile (Spindelstock, Revolverkopf) fallen bei Demontage unkontrolliert herab",
TriggerDE: "Fehlende Abstuetzmittel oder Hebezeuge bei Wartung schwerer Baugruppen",
HarmDE: "Quetschung von Hand oder Fuss, Knochenbrueche",
AffectedDE: "Wartungspersonal", ZoneDE: "Maschineninneres, Wartungszugang",
DefaultSeverity: 4, DefaultExposure: 2,
},
{
ID: "HP1424", NameDE: "Hydraulik-Leckage an Spannvorrichtung", NameEN: "Hydraulic leak at clamping device",
RequiredComponentTags: []string{"workpiece_holder", "hydraulic_part"},
GeneratedHazardCats: []string{"pneumatic_hydraulic", "mechanical_hazard"},
SuggestedMeasureIDs: []string{"M099", "M411"},
SuggestedEvidenceIDs: []string{"E01", "E38"},
Priority: 78, MachineTypes: cncTypes,
ScenarioDE: "Hydraulikleckage an Spannvorrichtung fuehrt zu Spannkraftverlust waehrend Bearbeitung",
TriggerDE: "Verschleiss der Hydraulikdichtungen, Schlauchbruch am Spannzylinder",
HarmDE: "Werkstueck wird herausgeschleudert, Hydraulikoel-Hautinjektion",
AffectedDE: "Bedienpersonal", ZoneDE: "Spannvorrichtung, Hydraulikanschluss",
DefaultSeverity: 4, DefaultExposure: 2,
},
// ── Ergonomic / Noise (HP1425-HP1429) ───────────────────────
{
ID: "HP1425", NameDE: "Laermexposition an Werkzeugmaschinen", NameEN: "Noise exposure at machine tools",
RequiredComponentTags: []string{"cutting_tool"},
RequiredEnergyTags: []string{"kinetic_rotational"},
GeneratedHazardCats: []string{"noise_source"},
SuggestedMeasureIDs: []string{"M347", "M349", "M059"},
SuggestedEvidenceIDs: []string{"E01", "E12", "E29"},
Priority: 65, MachineTypes: cncTypes,
ScenarioDE: "Laerm durch Zerspanungsprozess, Spindel und Kuehlmittelpumpe uebersteigt Grenzwerte",
TriggerDE: "Betrieb mehrerer Maschinen in Halle ohne schalldaemmende Einhausung",
HarmDE: "Laermschwerhoerigkeit bei Dauerexposition",
AffectedDE: "Bedienpersonal", ZoneDE: "Maschinenhalle",
DefaultSeverity: 2, DefaultExposure: 5,
},
{
ID: "HP1426", NameDE: "Hand-Arm-Vibration bei Handschleifarbeit", NameEN: "Hand-arm vibration from manual grinding",
RequiredComponentTags: []string{"grinding_wheel"},
GeneratedHazardCats: []string{"vibration_source"},
SuggestedMeasureIDs: []string{"M351", "M038"},
SuggestedEvidenceIDs: []string{"E01", "E42"},
Priority: 60, MachineTypes: []string{"grinding"},
HumanRoles: []string{"operator"},
ScenarioDE: "Bediener ist bei laengerem Handschleifen Hand-Arm-Vibrationen ausgesetzt",
TriggerDE: "Dauerhafte Nutzung von Winkelschleifern oder Handschleifmaschinen",
HarmDE: "Weissfinger-Krankheit, Durchblutungsstoerungen, Nervenschaeden",
AffectedDE: "Bedienpersonal", ZoneDE: "Handwerkzeugbereich",
DefaultSeverity: 2, DefaultExposure: 4,
},
{
ID: "HP1427", NameDE: "Ergonomische Belastung bei Werkstueckhandling", NameEN: "Ergonomic strain from workpiece handling",
RequiredComponentTags: []string{"workpiece_holder"},
GeneratedHazardCats: []string{"ergonomic"},
SuggestedMeasureIDs: []string{"M354", "M031"},
SuggestedEvidenceIDs: []string{"E01", "E30"},
Priority: 55, MachineTypes: cncTypes,
HumanRoles: []string{"operator"},
ScenarioDE: "Bediener hebt und positioniert schwere Werkstuecke manuell in Spannvorrichtung",
TriggerDE: "Wiederholtes manuelles Handling von Werkstuecken ueber 10 kg ohne Hebevorrichtung",
HarmDE: "Rueckenschmerzen, Bandscheibenschaeden, Muskel-Skelett-Erkrankungen",
AffectedDE: "Bedienpersonal", ZoneDE: "Belade-/Entladebereich",
DefaultSeverity: 2, DefaultExposure: 5,
},
{
ID: "HP1428", NameDE: "Stolpergefahr durch Kabel und Schlaeuche", NameEN: "Trip hazard from cables and hoses",
RequiredComponentTags: []string{"cutting_tool"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M009", "M144"},
SuggestedEvidenceIDs: []string{"E01"},
Priority: 50, MachineTypes: cncTypes,
ScenarioDE: "KSS-Schlaeuche, Druckluftleitungen oder Elektrokabel liegen im Verkehrsweg",
TriggerDE: "Provisorische Verlegung von Versorgungsleitungen ohne Kabelbruecke",
HarmDE: "Sturz mit Prellungen oder Knochenbruechen",
AffectedDE: "Bedienpersonal, Passanten", ZoneDE: "Maschinenumgebung, Verkehrswege",
DefaultSeverity: 2, DefaultExposure: 4,
},
{
ID: "HP1429", NameDE: "Thermische Belastung durch heisse Spaene und Werkstuecke", NameEN: "Thermal stress from hot chips and workpieces",
RequiredComponentTags: []string{"cutting_tool"},
GeneratedHazardCats: []string{"high_temperature"},
SuggestedMeasureIDs: []string{"M095", "M171"},
SuggestedEvidenceIDs: []string{"E01"},
Priority: 60, MachineTypes: cncTypes,
HumanRoles: []string{"operator"},
ScenarioDE: "Bediener beruehrt heisse Spaene oder Werkstuecke nach der Bearbeitung",
TriggerDE: "Entnahme des Werkstuecks ohne Wartezeit oder Schutzhandschuhe",
HarmDE: "Verbrennung an Haenden",
AffectedDE: "Bedienpersonal", ZoneDE: "Bearbeitungsraum, Entnahmebereich",
DefaultSeverity: 2, DefaultExposure: 4,
},
// ── Software/Control CNC-specific (HP1430-HP1431) ───────────
{
ID: "HP1430", NameDE: "Sicherheitsfunktion Schutztuer-Verriegelung versagt", NameEN: "Safety door interlock failure",
RequiredComponentTags: []string{"programmable", "safety_device"},
GeneratedHazardCats: []string{"safety_function_failure"},
SuggestedMeasureIDs: []string{"M067", "M069", "M112"},
SuggestedEvidenceIDs: []string{"E01", "E08", "E07"},
Priority: 92, MachineTypes: cncTypes,
ScenarioDE: "Schutztuersicherheitsschalter versagt und Maschine laeuft bei geoeffneter Tuer weiter",
TriggerDE: "Defekter Sicherheitsschalter, Manipulation des Schalters, Kabelbruch",
HarmDE: "Zugang zum laufenden Bearbeitungsprozess mit Quetsch-/Schnittgefahr",
AffectedDE: "Bedienpersonal", ZoneDE: "Maschinentuer, Bearbeitungsraum",
DefaultSeverity: 4, DefaultExposure: 3,
},
{
ID: "HP1431", NameDE: "Spindelueberdrehzahl bei Steuerungsfehler", NameEN: "Spindle overspeed due to control error",
RequiredComponentTags: []string{"rotating_part", "programmable"},
GeneratedHazardCats: []string{"mechanical_hazard", "safety_function_failure"},
SuggestedMeasureIDs: []string{"M115", "M413", "M043"},
SuggestedEvidenceIDs: []string{"E01", "E07"},
Priority: 88, MachineTypes: cncTypes,
ScenarioDE: "Spindel dreht ueber zulaessige Drehzahl hinaus und erzeugt unkontrollierte Fliehkraefte",
TriggerDE: "Steuerungsfehler, falscher Drehzahl-Override, Ausfall des Drehzahlueberwachung",
HarmDE: "Werkzeug- oder Werkstueckbruch mit Splitterflug, Lagerschaden",
AffectedDE: "Bedienpersonal", ZoneDE: "Spindelbereich",
DefaultSeverity: 4, DefaultExposure: 2,
},
// ── Maintenance CNC-specific (HP1432-HP1434) ────────────────
{
ID: "HP1432", NameDE: "KSS-Systemreinigung ohne Schutzausruestung", NameEN: "MWF system cleaning without PPE",
RequiredComponentTags: []string{"cutting_tool"},
GeneratedHazardCats: []string{"chemical_risk"},
SuggestedMeasureIDs: []string{"M407", "M408", "M171"},
SuggestedEvidenceIDs: []string{"E01", "E51"},
Priority: 70, MachineTypes: cncTypes,
OperationalStates: []string{"maintenance"},
HumanRoles: []string{"maintenance_tech"},
ScenarioDE: "Wartungspersonal reinigt KSS-System ohne Schutzhandschuhe und Schutzbrille",
TriggerDE: "Fehlende Unterweisung oder unzureichende PSA-Bereitstellung bei KSS-Wartung",
HarmDE: "Hautreizung durch Systemreiniger, Augenveraetzung",
AffectedDE: "Wartungspersonal", ZoneDE: "KSS-Tank, Leitungssystem",
DefaultSeverity: 2, DefaultExposure: 3,
},
{
ID: "HP1433", NameDE: "Unkontrollierte Achsbewegung bei Probelauf nach Wartung", NameEN: "Uncontrolled axis movement during test run after maintenance",
RequiredComponentTags: []string{"moving_part", "programmable"},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M212", "M050", "M042"},
SuggestedEvidenceIDs: []string{"E01"},
Priority: 85, MachineTypes: cncTypes,
OperationalStates: []string{"manual_operation", "teach_mode"},
HumanRoles: []string{"maintenance_tech", "programmer"},
StateTransitions: []string{"maintenance→manual_operation"},
ScenarioDE: "Nach Wartung oder Reparatur verfahren Achsen unkontrolliert beim ersten Testlauf",
TriggerDE: "Falsche Parameter nach Wartung, fehlende Referenzfahrt, Endschalter nicht justiert",
HarmDE: "Quetschung, Kollision Werkzeug/Werkstueck",
AffectedDE: "Wartungspersonal, Einrichter", ZoneDE: "Verfahrbereich, Bearbeitungsraum",
DefaultSeverity: 4, DefaultExposure: 2,
},
{
ID: "HP1434", NameDE: "Restkuehlmittel tropft auf elektrische Komponenten", NameEN: "Residual coolant dripping on electrical components",
RequiredComponentTags: []string{"cutting_tool"},
RequiredEnergyTags: []string{"electrical"},
GeneratedHazardCats: []string{"electrical_hazard"},
SuggestedMeasureIDs: []string{"M087", "M274"},
SuggestedEvidenceIDs: []string{"E01", "E10"},
Priority: 70, MachineTypes: cncTypes,
OperationalStates: []string{"maintenance"},
HumanRoles: []string{"maintenance_tech"},
ScenarioDE: "Restkuehlmittel tropft bei Wartung auf Schaltschrank oder Steuerungskomponenten",
TriggerDE: "Fehlende Auffangwanne oder Abdeckung bei Wartung an KSS-fuehrenden Bauteilen",
HarmDE: "Kurzschluss, Stromschlag bei Beruehrung nasser Teile",
AffectedDE: "Wartungspersonal", ZoneDE: "Schaltschrank, Steuerungsbereich",
DefaultSeverity: 3, DefaultExposure: 2,
},
}
}