fix(iace): add MachineTypes to 17 machine-specific patterns

Patterns for playground, escalator, wind turbine, glass washing,
laundry, crane, lathe, rotary transfer, press now require matching
MachineTypes — they no longer fire for unrelated projects.
Neutralized zone texts in base patterns HP006/HP008 (removed
"Pressenraum", "Kran-/Hebezeugbereich").

Fixes: Spielplatz, Fahrtreppe, Windturbine etc. appearing in robot cell.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-05-15 00:01:51 +02:00
parent 708c61e50d
commit ba07a7f6e6
9 changed files with 19 additions and 19 deletions
@@ -262,7 +262,7 @@ func GetExtendedHazardPatterns2() []HazardPattern {
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M003", "M005"},
SuggestedEvidenceIDs: []string{"E08"},
Priority: 80,
Priority: 80, MachineTypes: []string{"press"},
ScenarioDE: "Exzentrische Belastung des Stoessels fuehrt zu seitlichem Ausbrechen des Werkstuecks.",
TriggerDE: "Werkstueck nicht korrekt positioniert, seitliche Kraftkomponente entsteht",
HarmDE: "Aufprallverletzung durch geschleudertes Werkstueck, Quetschung",
@@ -342,7 +342,7 @@ func GetExtendedHazardPatterns2() []HazardPattern {
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M082", "M103", "M106"},
SuggestedEvidenceIDs: []string{"E09", "E14", "E15"},
Priority: 85,
Priority: 85, MachineTypes: []string{"robotics_cobot"},
ScenarioDE: "Zwei Roboter arbeiten im ueberlappenden Arbeitsraum. Koordinationsfehler fuehrt zu Kollision.",
TriggerDE: "Softwarefehler in der Koordinationslogik, Signalverzoegerung im Bussystem",
HarmDE: "Wegschleudern von Teilen, Beschaedigung der Anlage, Personenverletzung",
@@ -361,7 +361,7 @@ func GetExtendedHazardPatterns2() []HazardPattern {
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M001", "M051"},
SuggestedEvidenceIDs: []string{"E08", "E20"},
Priority: 80,
Priority: 80, MachineTypes: []string{"conveyor", "packaging"},
ScenarioDE: "Finger oder Kleidung werden an der Bandumlenkstelle eingezogen.",
TriggerDE: "Eingriff am laufenden Band, lose Kleidung geraet in Umlenkrolle",
HarmDE: "Fingeramputation, Armverletzung, Strangulation durch eingezogene Kleidung",
@@ -595,7 +595,7 @@ func GetExtendedHazardPatterns2() []HazardPattern {
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M003", "M051"},
SuggestedEvidenceIDs: []string{"E08", "E20"},
Priority: 80,
Priority: 80, MachineTypes: []string{"rotary_transfer"},
ScenarioDE: "Hand wird zwischen Drehteller und festem Anschlag eingeklemmt bei Taktbewegung.",
TriggerDE: "Eingriff waehrend der Taktbewegung, fehlende Schutzabdeckung am Drehteller",
HarmDE: "Quetschung, Fingerfraktur, Amputation von Fingern",
@@ -102,7 +102,7 @@ func GetDGUVExtendedPatterns() []HazardPattern {
RequiredEnergyTags: []string{},
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M051"},
Priority: 80,
Priority: 80, MachineTypes: []string{"crane", "construction"},
ScenarioDE: "Unkontrolliertes Schwingen einer angehobenen Last", HarmDE: "Quetschung, Erschlagen durch pendelnde Last",
TriggerDE: "Schraeger Zug oder ploetzliches Abstoppen", AffectedDE: "Kranfuehrer, Anschlaeger", ZoneDE: "Schwenkbereich des Krans", DefaultSeverity: 4, DefaultExposure: 3,
},
@@ -428,7 +428,7 @@ func GetFinalPatternsA() []HazardPattern {
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M001", "M005"},
SuggestedEvidenceIDs: []string{"E01", "E08"},
Priority: 78, ScenarioDE: "Finger wird zwischen Kette und Kettenrad eingezogen",
Priority: 78, MachineTypes: []string{"conveyor", "forestry"}, ScenarioDE: "Finger wird zwischen Kette und Kettenrad eingezogen",
TriggerDE: "Eingriff in ungeschuetzten Kettenantrieb", HarmDE: "Fingerquetschung, Abriss",
AffectedDE: "Wartungspersonal", ZoneDE: "Kettenrad, Kettenstrang",
DefaultSeverity: 4, DefaultExposure: 2,
@@ -820,7 +820,7 @@ func GetFinalPatternsA() []HazardPattern {
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M001", "M005", "M054", "M141"},
SuggestedEvidenceIDs: []string{"E01", "E08"},
Priority: 80, ScenarioDE: "Lange Haare werden von Spindel erfasst",
Priority: 80, MachineTypes: []string{"lathe", "cnc", "metalworking"}, ScenarioDE: "Lange Haare werden von Spindel erfasst",
TriggerDE: "Offene Haare, fehlende Haube, Vorbeugen", HarmDE: "Skalpierung, Kopfverletzung",
AffectedDE: "Bedienpersonal", ZoneDE: "Spannfutter, Spindel",
DefaultSeverity: 5, DefaultExposure: 2,
@@ -817,7 +817,7 @@ func GetFinalPatternsD() []HazardPattern {
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M001", "M005"},
SuggestedEvidenceIDs: []string{"E01", "E08"},
Priority: 78, ScenarioDE: "Kran schwenkt Last ueber besetzten Arbeitsplatz",
Priority: 78, MachineTypes: []string{"crane", "construction"}, ScenarioDE: "Kran schwenkt Last ueber besetzten Arbeitsplatz",
TriggerDE: "Fehlende Endschalter, Unachtsamkeit", HarmDE: "Herabfallende Last",
AffectedDE: "Personen darunter", ZoneDE: "Unter Kranschwenkbereich",
DefaultSeverity: 5, DefaultExposure: 2,
@@ -90,7 +90,7 @@ func builtinMechanicalPatterns() []HazardPattern {
TriggerDE: "Bediener befindet sich im Kraftwirkbereich waehrend des Arbeitshubes oder bei Stoerungsbeseitigung.",
HarmDE: "Schwere Quetschung, Fraktur, innere Verletzungen, Todesfolge bei Ganzkompression.",
AffectedDE: "Bedienpersonal, Einrichter, Wartungspersonal",
ZoneDE: "Kraftwirkbereich (Pressenraum, Vorschubachse), Einlegestelle",
ZoneDE: "Kraftwirkbereich, Einlegestelle, Vorschubachse",
DefaultSeverity: 5, DefaultExposure: 3,
},
{
@@ -120,7 +120,7 @@ func builtinMechanicalPatterns() []HazardPattern {
TriggerDE: "Versagen einer Halterung, Bruch eines Lastaufnahmemittels oder Abrutschen bei Wartungsarbeiten in der Hoehe.",
HarmDE: "Kopfverletzung, Fraktur, Quetschung durch herabfallende Last; Sturzverletung.",
AffectedDE: "Wartungspersonal, Bedienpersonal, Personen im Gefahrenbereich",
ZoneDE: "Bereich unterhalb angehobener Lasten, Wartungsplattformen, Kran-/Hebezeugbereich",
ZoneDE: "Bereich unterhalb angehobener Lasten, Wartungsplattformen",
DefaultSeverity: 4, DefaultExposure: 2,
},
{
@@ -262,7 +262,7 @@ func GetPlasticsMetalPatterns() []HazardPattern {
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M003", "M004", "M082"},
SuggestedEvidenceIDs: []string{"E08", "E09"},
Priority: 95,
Priority: 95, MachineTypes: []string{"lathe", "cnc", "metalworking"},
ScenarioDE: "Offene Haare, Krawatten, Aermel oder Handschuhe werden vom rotierenden Werkstueck oder Spannfutter erfasst.",
TriggerDE: "Tragen von Handschuhen an der Drehmaschine, offene Haare, lose Kleidung",
HarmDE: "Skalpierung, Armfraktur, Strangulation, toedliche Aufwickelverletzung",
@@ -252,7 +252,7 @@ func GetSpecificMachinePatterns() []HazardPattern {
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M003", "M141"},
SuggestedEvidenceIDs: []string{"E01", "E20"},
Priority: 90,
Priority: 90, MachineTypes: []string{"wind_turbine"},
ScenarioDE: "Rotorblatt einer Windturbine bricht durch Materialermuedung oder Blitzschlag und wird Hunderte Meter weit geschleudert.",
TriggerDE: "Materialermuedung, Blitzschaden, Vereisung mit Unwucht, fehlende Inspektionen",
HarmDE: "Toedliche Verletzung durch Blattstuecke, Sachschaeden im weiten Umkreis",
@@ -297,7 +297,7 @@ func GetSpecificMachinePatterns() []HazardPattern {
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M141"},
SuggestedEvidenceIDs: []string{"E01", "E20"},
Priority: 80,
Priority: 80, MachineTypes: []string{"wind_turbine"},
ScenarioDE: "Bei Vereisung loesen sich Eisstuecke von den Rotorblaettern und werden durch die Fliehkraft weit geschleudert.",
TriggerDE: "Vereisung im Winter, fehlende Eiserkennungssysteme, Weiterbetrieb bei Eisansatz",
HarmDE: "Verletzung durch Eisschlag, Sachschaeden an Fahrzeugen und Gebaeuden",
@@ -30,7 +30,7 @@ func GetSpecificMachinePatterns2() []HazardPattern {
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M003", "M141"},
SuggestedEvidenceIDs: []string{"E08", "E20"},
Priority: 80,
Priority: 80, MachineTypes: []string{"escalator"},
ScenarioDE: "Finger oder Handteile werden am Einzugspunkt des Handlaufs in die Verkleidung gezogen.",
TriggerDE: "Kinderhand am Handlauf nahe der Verkleidung, fehlende Einlaufschutzbuegel",
HarmDE: "Fingerquetschung, Hautabschuerfungen, bei Kindern Armverletzung",
@@ -75,7 +75,7 @@ func GetSpecificMachinePatterns2() []HazardPattern {
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M003", "M141"},
SuggestedEvidenceIDs: []string{"E08", "E09", "E20"},
Priority: 85,
Priority: 85, MachineTypes: []string{"escalator", "elevator"},
ScenarioDE: "Bruch einer Trittstufe oder der Kammplatte fuehrt zum Einsacken oder Einzug in die Mechanik.",
TriggerDE: "Materialermuedung, Korrosion, fehlende Inspektionen, Vandalismus",
HarmDE: "Einzug in Mechanik, Beinverletzungen, Sturz in Maschinenkammer",
@@ -173,7 +173,7 @@ func GetSpecificMachinePatterns2() []HazardPattern {
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M003", "M141"},
SuggestedEvidenceIDs: []string{"E01", "E20"},
Priority: 95,
Priority: 95, MachineTypes: []string{"playground"},
ScenarioDE: "Kind steckt Kopf durch Oeffnung im Spielgeraet und bleibt haengen (Kopf-Entrapment-Gefahr bei 89-230 mm).",
TriggerDE: "Oeffnungen im kritischen Bereich 89-230 mm, V-foermige Spalte, Gelaendersprosse mit Kopffangmass",
HarmDE: "Strangulation, Erstickung, toedliche Verletzung",
@@ -233,7 +233,7 @@ func GetSpecificMachinePatterns2() []HazardPattern {
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M003", "M141"},
SuggestedEvidenceIDs: []string{"E01", "E20"},
Priority: 95,
Priority: 95, MachineTypes: []string{"playground"},
ScenarioDE: "Kind verfaengt sich mit Kapuzenkordel, Schal oder Halskette in Seilen oder Netzen des Spielgeraets.",
TriggerDE: "Kleidung mit Kordeln am Hals, zu grosse Maschenweite, lose Seilenden",
HarmDE: "Strangulation, Erstickung, toedliche Verletzung",
@@ -361,7 +361,7 @@ func GetSpecificMachinePatterns2() []HazardPattern {
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M003", "M004", "M082"},
SuggestedEvidenceIDs: []string{"E08", "E09"},
Priority: 85,
Priority: 85, MachineTypes: []string{"laundry"},
ScenarioDE: "Person greift in die drehende Trommel der Industriewaschmaschine und wird eingezogen.",
TriggerDE: "Defekte Tuerverriegelung, Oeffnen waehrend Nachlauf, Bedienfehler",
HarmDE: "Schwere Quetschverletzung, Armeinzug, Strangulation durch Waeschestuecke",
@@ -230,7 +230,7 @@ func GetWeldingGlassTextilePatterns() []HazardPattern {
GeneratedHazardCats: []string{"mechanical_hazard"},
SuggestedMeasureIDs: []string{"M003", "M004", "M082"},
SuggestedEvidenceIDs: []string{"E08", "E09"},
Priority: 80,
Priority: 80, MachineTypes: []string{"glass_washing"},
ScenarioDE: "Transportwalzen der Glaswaschmaschine erfassen Finger oder Kleidung beim manuellen Einlegen der Scheiben.",
TriggerDE: "Manuelles Nachjustieren bei laufenden Walzen, fehlender Schutz am Einlaufbereich",
HarmDE: "Fingerquetschung, Einzug der Hand, Hautabschaelungen",