diff --git a/ai-compliance-sdk/internal/api/handlers/iace_handler_init.go b/ai-compliance-sdk/internal/api/handlers/iace_handler_init.go index 1907503c..c608b397 100644 --- a/ai-compliance-sdk/internal/api/handlers/iace_handler_init.go +++ b/ai-compliance-sdk/internal/api/handlers/iace_handler_init.go @@ -262,11 +262,6 @@ func (h *IACEHandler) InitializeProject(c *gin.Context) { created := 0 const maxMitigationsPerHazard = 5 - if _, ok := measureByID["M420"]; ok { - fmt.Println("DEBUG: M420 found in measureByID") - } else { - fmt.Println("DEBUG: M420 NOT in measureByID, total:", len(measureByID)) - } // Build a flat list of all hazard IDs for iteration var allHazardIDs []uuid.UUID @@ -295,12 +290,9 @@ func (h *IACEHandler) InitializeProject(c *gin.Context) { } entry, ok := measureByID[mid] if !ok { - fmt.Printf("DEBUG: MID %s NOT FOUND in measureByID for hazard %s\n", mid, hazID) continue } - if mid == "M420" { - fmt.Printf("DEBUG: Creating M420 for hazard %s (cat=%s)\n", hazID, hazCat) - } + rt := iace.ReductionType(entry.ReductionType) if rt == "" { rt = iace.ReductionTypeInformation diff --git a/ai-compliance-sdk/internal/iace/hazard_patterns_robot_cell.go b/ai-compliance-sdk/internal/iace/hazard_patterns_robot_cell.go index bb4d88af..19b445c0 100644 --- a/ai-compliance-sdk/internal/iace/hazard_patterns_robot_cell.go +++ b/ai-compliance-sdk/internal/iace/hazard_patterns_robot_cell.go @@ -17,7 +17,7 @@ func GetRobotCellPatterns() []HazardPattern { RequiredComponentTags: []string{"moving_part"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M061", "M062", "M054"}, - Priority: 95, MachineTypes: []string{"robotics_cobot", "automotive", "metalworking", "general_industry"}, + Priority: 99, MachineTypes: []string{"robotics_cobot", "automotive", "metalworking", "general_industry"}, ApplicableLifecycles: []string{"normal_operation", "setup", "teach_mode", "cleaning", "maintenance", "fault_clearing", "changeover"}, ScenarioDE: "Person befindet sich im Bewegungsbereich des Roboterarms und wird zwischen Roboterarm und feststehenden Anlagenteilen eingeklemmt.", TriggerDE: "Roboterarm bewegt sich waehrend Person im Gefahrenbereich steht.", @@ -31,7 +31,7 @@ func GetRobotCellPatterns() []HazardPattern { RequiredComponentTags: []string{"moving_part", "guard"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M002", "M061"}, - Priority: 93, + Priority: 98, ApplicableLifecycles: []string{"normal_operation", "setup", "cleaning", "maintenance", "fault_clearing"}, ScenarioDE: "Person greift ueber oder durch den Schutzzaun und erreicht den Bewegungsbereich des Roboterarms.", TriggerDE: "Unzureichender Sicherheitsabstand zwischen Schutzzaun-Oberkante und Roboter-Schwenkbereich.", @@ -45,7 +45,7 @@ func GetRobotCellPatterns() []HazardPattern { RequiredComponentTags: []string{"moving_part", "guard"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M061", "M054", "M141"}, - Priority: 94, + Priority: 99, ApplicableLifecycles: []string{"normal_operation", "setup", "cleaning", "maintenance", "fault_clearing", "changeover"}, ScenarioDE: "Person befindet sich in der Roboterzelle, Schutztuer wird geschlossen und Roboter startet. Person kann den Gefahrenbereich nicht rechtzeitig verlassen.", TriggerDE: "Schutztuer schliesst waehrend Person im Innenraum. Wiederanlauf des Roboters ohne Quittierung.", @@ -59,7 +59,7 @@ func GetRobotCellPatterns() []HazardPattern { RequiredComponentTags: []string{"moving_part", "guard"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M061", "M002"}, - Priority: 92, + Priority: 98, ApplicableLifecycles: []string{"normal_operation", "setup", "cleaning", "changeover", "fault_clearing"}, ScenarioDE: "Roboterarm ueberschreitet Bewegungsbereich und trifft Schutzzaun. Person ausserhalb wird von Zaunteilen oder dem Roboterarm getroffen.", TriggerDE: "Fehler in der Bahnplanung oder Ausfall der Achsbegrenzung.", @@ -73,7 +73,7 @@ func GetRobotCellPatterns() []HazardPattern { RequiredComponentTags: []string{"moving_part", "clamping_part"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M054"}, - Priority: 93, MachineTypes: []string{"robotics_cobot", "automotive", "metalworking", "general_industry"}, + Priority: 98, MachineTypes: []string{"robotics_cobot", "automotive", "metalworking", "general_industry"}, ApplicableLifecycles: []string{"teach_mode", "setup", "changeover", "fault_clearing"}, ScenarioDE: "Person steht im Bewegungsbereich des Roboterarms und wird von bewegtem Werkzeug oder Greifer getroffen. Geschwindigkeitsreduzierung im Einrichtbetrieb reicht nicht aus.", TriggerDE: "Roboter bewegt Werkzeug/Greifer mit unerwartet hoher Geschwindigkeit oder in unerwartete Richtung.", @@ -90,7 +90,7 @@ func GetRobotCellPatterns() []HazardPattern { RequiredComponentTags: []string{"clamping_part"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M054", "M061"}, - Priority: 94, MachineTypes: []string{"robotics_cobot", "automotive", "metalworking", "general_industry"}, + Priority: 99, MachineTypes: []string{"robotics_cobot", "automotive", "metalworking", "general_industry"}, ApplicableLifecycles: []string{"normal_operation", "setup", "cleaning", "changeover", "fault_clearing"}, ScenarioDE: "Person greift in den Bereich des Greifers. Hand wird zwischen Greifbacken und Werkstueck eingeklemmt.", TriggerDE: "Greiferbacken schliessen waehrend Koerperteil im Greifbereich ist.", @@ -104,7 +104,7 @@ func GetRobotCellPatterns() []HazardPattern { RequiredComponentTags: []string{"clamping_part"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M007", "M141"}, - Priority: 93, + Priority: 98, ApplicableLifecycles: []string{"normal_operation", "setup", "changeover"}, ScenarioDE: "Greifer verliert das Werkstueck waehrend des Transports. Werkstueck faellt herab und trifft Person unterhalb des Roboterarms.", TriggerDE: "Werkstueck faellt aus Greifer und trifft Person unterhalb des Roboterarms.", @@ -118,7 +118,7 @@ func GetRobotCellPatterns() []HazardPattern { RequiredComponentTags: []string{"clamping_part", "guard"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M061", "M141"}, - Priority: 92, + Priority: 98, ApplicableLifecycles: []string{"normal_operation"}, ScenarioDE: "Greifer versagt und Werkstueck wird in Richtung Schutzzaun geschleudert. Person ausserhalb der Zelle wird von durchschlagendem Werkstueck getroffen.", TriggerDE: "Werkstueck wird durch Roboterbewegung weggeschleudert und durchschlaegt die Schutzeinrichtung.", @@ -135,7 +135,7 @@ func GetRobotCellPatterns() []HazardPattern { RequiredComponentTags: []string{"entanglement_risk"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M002", "M061", "M003"}, - Priority: 93, + Priority: 98, ApplicableLifecycles: []string{"normal_operation", "setup", "cleaning", "maintenance", "fault_clearing"}, ScenarioDE: "Person greift an Foerderband und wird zwischen beweglichen und feststehenden Teilen eingeklemmt.", TriggerDE: "Hand oder Finger geraten zwischen Band und Umlenkrolle oder zwischen Werkstueck und Tunnelrahmen.", @@ -149,7 +149,7 @@ func GetRobotCellPatterns() []HazardPattern { RequiredComponentTags: []string{"entanglement_risk", "guard"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M002", "M061"}, - Priority: 93, + Priority: 98, ApplicableLifecycles: []string{"normal_operation", "setup", "cleaning", "fault_clearing"}, ScenarioDE: "Person greift durch die Oeffnung im Schutzzaun fuer die Foerderbaender in den Gefahrenbereich des Roboters.", TriggerDE: "Oeffnung ist zu gross oder Sicherheitsabstand zum Roboter-Schwenkbereich ist zu gering.", @@ -163,7 +163,7 @@ func GetRobotCellPatterns() []HazardPattern { RequiredComponentTags: []string{"entanglement_risk"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M008"}, - Priority: 91, + Priority: 97, ApplicableLifecycles: []string{"normal_operation", "setup"}, ScenarioDE: "Werkstueck faehrt ueber das Ende des Transportbandes hinaus, faellt herab und trifft Person am Be-/Entladeplatz.", TriggerDE: "Mechanischer Anschlag fehlt oder ist beschaedigt.", @@ -180,7 +180,7 @@ func GetRobotCellPatterns() []HazardPattern { RequiredComponentTags: []string{"guard"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M003"}, - Priority: 90, + Priority: 97, ApplicableLifecycles: []string{"normal_operation", "setup", "cleaning", "maintenance", "fault_clearing"}, ScenarioDE: "Person schneidet sich an nicht entgrateten oder scharfkantigen Blechen der Einhausung oder Verkleidung.", TriggerDE: "Zugaengliche Kanten sind nicht gerundet oder gebrochen.", @@ -197,7 +197,7 @@ func GetRobotCellPatterns() []HazardPattern { RequiredComponentTags: []string{"pinch_point"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M420"}, - Priority: 91, + Priority: 97, ApplicableLifecycles: []string{"normal_operation", "setup", "maintenance", "fault_clearing"}, ScenarioDE: "Pneumatikschlauch der Automation springt unter Druck ab und trifft eine Person (Peitscheneffekt).", TriggerDE: "Befestigung loest sich, Verschraubung wird undicht, Materialermuedung des Schlauchs.", @@ -211,7 +211,7 @@ func GetRobotCellPatterns() []HazardPattern { RequiredComponentTags: []string{"pinch_point"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M420", "M141"}, - Priority: 91, + Priority: 97, ApplicableLifecycles: []string{"maintenance", "fault_clearing", "changeover"}, ScenarioDE: "Person loest druckbeaufschlagte Pneumatik-Komponenten die nach Abschaltung noch unter Druck stehen. Teile fliegen unkontrolliert weg und treffen die Person.", TriggerDE: "Fehlende Druckentlastung. Gesperrte Rueckschlagventile halten Druck.", @@ -228,7 +228,7 @@ func GetRobotCellPatterns() []HazardPattern { RequiredComponentTags: []string{"clamping_part"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M054"}, - Priority: 93, MachineTypes: []string{"robotics_cobot", "automotive", "metalworking", "general_industry"}, + Priority: 98, MachineTypes: []string{"robotics_cobot", "automotive", "metalworking", "general_industry"}, ApplicableLifecycles: []string{"teach_mode", "setup", "changeover", "fault_clearing"}, ScenarioDE: "Einrichter steht im Schwenkbereich des Roboterarms und wird von bewegtem Greifer oder daran befestigtem Werkzeug verletzt.", TriggerDE: "Reduzierte Geschwindigkeit im Einrichtbetrieb reicht nicht aus oder wird nicht aktiviert.", @@ -242,7 +242,7 @@ func GetRobotCellPatterns() []HazardPattern { RequiredComponentTags: []string{}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M061"}, - Priority: 89, MachineTypes: []string{"cnc", "metalworking", "automotive"}, + Priority: 96, MachineTypes: []string{"cnc", "metalworking", "automotive"}, ApplicableLifecycles: []string{"normal_operation", "cleaning", "maintenance", "fault_clearing"}, ScenarioDE: "Niederdruck-Pumpe fuer Bettspuelung laeuft an waehrend Schutztuer geoeffnet ist. Person bekommt KSS-Spritzer ins Auge oder Gesicht.", TriggerDE: "Pumpe startet automatisch, kein Verriegelungssignal von Schutztuer zur KSS-Pumpe.", @@ -256,7 +256,7 @@ func GetRobotCellPatterns() []HazardPattern { RequiredComponentTags: []string{}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M420"}, - Priority: 90, MachineTypes: []string{"cnc", "metalworking", "automotive"}, + Priority: 97, MachineTypes: []string{"cnc", "metalworking", "automotive"}, ApplicableLifecycles: []string{"normal_operation", "maintenance", "fault_clearing"}, ScenarioDE: "KSS-Versorgungsschlauch reisst ab oder platzt. Person in der Naehe wird von abspringendem Schlauch oder KSS-Strahl unter Druck getroffen.", TriggerDE: "Materialermuedung, mechanische Beschaedigung, fehlerhafte Befestigung des Schlauchs.", @@ -270,7 +270,7 @@ func GetRobotCellPatterns() []HazardPattern { RequiredComponentTags: []string{}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M420"}, - Priority: 90, MachineTypes: []string{"cnc", "metalworking", "automotive"}, + Priority: 97, MachineTypes: []string{"cnc", "metalworking", "automotive"}, ApplicableLifecycles: []string{"normal_operation", "setup", "cleaning", "maintenance", "fault_clearing"}, ScenarioDE: "Kuehlschmierstoff tritt aus und bildet rutschigen Belag auf dem Boden. Person rutscht aus und stuerzt.", TriggerDE: "Leckage an Schlauchverbindung, Dichtungsversagen.", @@ -284,7 +284,7 @@ func GetRobotCellPatterns() []HazardPattern { RequiredComponentTags: []string{}, GeneratedHazardCats: []string{"material_environmental"}, SuggestedMeasureIDs: []string{"M141"}, - Priority: 90, MachineTypes: []string{"cnc", "metalworking", "automotive"}, + Priority: 97, MachineTypes: []string{"cnc", "metalworking", "automotive"}, ApplicableLifecycles: []string{"normal_operation", "setup", "cleaning", "maintenance", "fault_clearing"}, ScenarioDE: "Person kommt bei Arbeiten am Bearbeitungszentrum oder der Roboterzelle mit Kuehlschmierstoff in Beruehrung.", TriggerDE: "Hautkontakt beim Reinigen, Werkzeugwechsel oder Beseitigung von Stoerungen.", @@ -298,7 +298,7 @@ func GetRobotCellPatterns() []HazardPattern { RequiredComponentTags: []string{}, GeneratedHazardCats: []string{"material_environmental"}, SuggestedMeasureIDs: []string{"M141"}, - Priority: 90, MachineTypes: []string{"cnc", "metalworking", "automotive"}, + Priority: 97, MachineTypes: []string{"cnc", "metalworking", "automotive"}, ApplicableLifecycles: []string{"normal_operation", "setup", "maintenance"}, ScenarioDE: "Person oeffnet Schutztuer der Bearbeitungszelle und atmet freigesetzte KSS-Aerosole ein.", TriggerDE: "Oeffnen der Schutztuer nach Bearbeitungsvorgang, unzureichende Absaugung.", @@ -316,7 +316,7 @@ func GetRobotCellPatterns() []HazardPattern { RequiredEnergyTags: []string{"electrical"}, GeneratedHazardCats: []string{"electrical_hazard"}, SuggestedMeasureIDs: []string{"M009", "M410"}, - Priority: 93, + Priority: 98, ApplicableLifecycles: []string{"normal_operation", "setup", "maintenance", "fault_clearing"}, ScenarioDE: "Person beruehrt spannungsfuehrende Teile der Anlage die nicht ausreichend isoliert oder abgedeckt sind.", TriggerDE: "Beschaedigte Isolation, fehlende Abdeckung, ungesicherter Schaltschrank.", @@ -331,7 +331,7 @@ func GetRobotCellPatterns() []HazardPattern { RequiredEnergyTags: []string{"electrical"}, GeneratedHazardCats: []string{"electrical_hazard"}, SuggestedMeasureIDs: []string{"M410", "M411"}, - Priority: 93, + Priority: 98, ApplicableLifecycles: []string{"normal_operation", "setup", "cleaning", "maintenance", "fault_clearing"}, ScenarioDE: "Schutzleiter ist unterbrochen. Person beruehrt das Maschinengehaeuse und erleidet elektrischen Schlag durch gefaehrliche Beruehrungsspannung.", TriggerDE: "Schutzleiterunterbrechung durch mechanische Beschaedigung oder fehlerhafte Installation.", @@ -346,7 +346,7 @@ func GetRobotCellPatterns() []HazardPattern { RequiredEnergyTags: []string{"electrical"}, GeneratedHazardCats: []string{"electrical_hazard"}, SuggestedMeasureIDs: []string{"M009"}, - Priority: 92, + Priority: 98, ApplicableLifecycles: []string{"normal_operation", "setup", "maintenance"}, ScenarioDE: "Kabel ueberhitzt und entzuendet sich durch Ueberlast oder fehlenden Ueberstromschutz. Person wird durch Brand oder toxische Gase verletzt.", TriggerDE: "Dauerhafter Betrieb nahe der Belastungsgrenze, falsch dimensionierte Sicherung.", diff --git a/ai-compliance-sdk/internal/iace/hazard_patterns_robot_cell_ext.go b/ai-compliance-sdk/internal/iace/hazard_patterns_robot_cell_ext.go index cfb71028..5a6506d9 100644 --- a/ai-compliance-sdk/internal/iace/hazard_patterns_robot_cell_ext.go +++ b/ai-compliance-sdk/internal/iace/hazard_patterns_robot_cell_ext.go @@ -13,7 +13,7 @@ func GetRobotCellPatternsExt() []HazardPattern { RequiredComponentTags: []string{"moving_part", "guard"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M061", "M054"}, - Priority: 94, + Priority: 99, ApplicableLifecycles: []string{"normal_operation", "setup", "cleaning", "changeover", "fault_clearing"}, ScenarioDE: "Roboterarm ueberschreitet Bewegungsbegrenzung und trifft Schutzzaun. Person ausserhalb wird von Zaunteilen oder dem Roboterarm getroffen.", TriggerDE: "Softwareendschalter versagt, Achsbegrenzung (DCS) fehlerhaft konfiguriert.", @@ -27,7 +27,7 @@ func GetRobotCellPatternsExt() []HazardPattern { RequiredComponentTags: []string{"moving_part", "guard"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M054", "M061", "M141"}, - Priority: 95, + Priority: 99, ApplicableLifecycles: []string{"normal_operation", "setup", "cleaning", "maintenance", "fault_clearing", "changeover"}, ScenarioDE: "Person befindet sich in der Roboterzelle. Schutztuer wird geschlossen und Roboter startet ohne dass sichergestellt ist, dass niemand im Gefahrenbereich ist.", TriggerDE: "Fehlende Quittierungspflicht, kein Personenscanner, Schutztuer ohne Sicherheitszuhaltung.", @@ -41,7 +41,7 @@ func GetRobotCellPatternsExt() []HazardPattern { RequiredComponentTags: []string{"moving_part", "clamping_part"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M054", "M061"}, - Priority: 94, + Priority: 99, ApplicableLifecycles: []string{"normal_operation", "setup", "cleaning"}, ScenarioDE: "Person wird von bewegtem Werkzeug oder Greifer am Roboterarm getroffen oder zwischen Werkzeug und feststehenden Teilen eingeklemmt.", TriggerDE: "Roboter bewegt Werkzeug/Greifer waehrend Person im Schwenkbereich.", @@ -55,7 +55,7 @@ func GetRobotCellPatternsExt() []HazardPattern { RequiredComponentTags: []string{"moving_part", "clamping_part"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M054", "M061"}, - Priority: 93, + Priority: 98, ApplicableLifecycles: []string{"normal_operation", "setup", "changeover"}, ScenarioDE: "Person wird von sich bewegendem Werkstueck am Robotergreifer getroffen oder zwischen Werkstueck und feststehenden Anlagenteilen eingeklemmt.", TriggerDE: "Roboter transportiert Werkstueck, Person steht im Schwenkbereich.", @@ -69,7 +69,7 @@ func GetRobotCellPatternsExt() []HazardPattern { RequiredComponentTags: []string{"clamping_part", "guard"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M061"}, - Priority: 92, + Priority: 98, ApplicableLifecycles: []string{"normal_operation"}, ScenarioDE: "Greifer versagt und Werkstueck/Werkzeug wird Richtung Schutzzaun geschleudert. Person ausserhalb wird getroffen.", TriggerDE: "Greifkraftverlust, Druckausfall, oelige Oberflaeche des Werkstuecks.", @@ -83,7 +83,7 @@ func GetRobotCellPatternsExt() []HazardPattern { RequiredComponentTags: []string{"clamping_part", "guard"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M002", "M061"}, - Priority: 92, + Priority: 98, ApplicableLifecycles: []string{"normal_operation", "setup", "cleaning", "maintenance", "fault_clearing"}, ScenarioDE: "Person greift ueber den Schutzzaun und erreicht den Greifer oder das Werkstueck am Roboterarm.", TriggerDE: "Sicherheitsabstand zwischen Zaun-Oberkante und Greifer/Werkstueck zu gering.", @@ -100,7 +100,7 @@ func GetRobotCellPatternsExt() []HazardPattern { RequiredComponentTags: []string{"clamping_part", "entanglement_risk"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M002", "M061"}, - Priority: 93, + Priority: 98, ApplicableLifecycles: []string{"normal_operation", "setup", "cleaning", "maintenance", "fault_clearing"}, ScenarioDE: "Person befindet sich ausserhalb der Roboterzelle und greift an die Zentriereinheit (fest montierter Greifer am Foerderband).", TriggerDE: "Zentriergreifer schliesst waehrend Hand im Greifbereich. Unzureichender Abstand zwischen Greifer und Schutzzaun-Oeffnung.", @@ -114,7 +114,7 @@ func GetRobotCellPatternsExt() []HazardPattern { RequiredComponentTags: []string{"clamping_part", "entanglement_risk", "guard"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M054", "M061"}, - Priority: 93, + Priority: 98, ApplicableLifecycles: []string{"normal_operation", "cleaning", "fault_clearing"}, ScenarioDE: "Person befindet sich innerhalb der Roboterzelle und greift an die Zentriereinheit am Foerderband.", TriggerDE: "Schutztuer geoeffnet, aber Zentriergreifer wird nicht automatisch stillgesetzt.", @@ -131,7 +131,7 @@ func GetRobotCellPatternsExt() []HazardPattern { RequiredComponentTags: []string{"moving_part"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M054", "M061"}, - Priority: 93, MachineTypes: []string{"cnc", "metalworking", "automotive", "robotics_cobot"}, + Priority: 98, MachineTypes: []string{"cnc", "metalworking", "automotive", "robotics_cobot"}, ApplicableLifecycles: []string{"normal_operation", "setup", "cleaning", "maintenance", "fault_clearing"}, ScenarioDE: "Person greift durch die Beladetuer der Werkzeugmaschine. Beladetuer schliesst sich oder bewegliche Teile im Innenraum starten.", TriggerDE: "Tuerpositionsschalter nicht in Robotersteuerung eingebunden, fehlende Verriegelung.", @@ -145,7 +145,7 @@ func GetRobotCellPatternsExt() []HazardPattern { RequiredComponentTags: []string{"moving_part"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M054"}, - Priority: 92, MachineTypes: []string{"cnc", "metalworking", "automotive", "robotics_cobot"}, + Priority: 98, MachineTypes: []string{"cnc", "metalworking", "automotive", "robotics_cobot"}, ApplicableLifecycles: []string{"setup", "maintenance", "fault_clearing"}, ScenarioDE: "Person greift in den Bearbeitungsraum der Werkzeugmaschine und wird von beweglichen Achsen, Werkzeug oder Spannvorrichtung verletzt.", TriggerDE: "Bewegliche Teile starten waehrend Hand im Bearbeitungsraum (Einrichtbetrieb, Stoerungsbeseitigung).", @@ -162,7 +162,7 @@ func GetRobotCellPatternsExt() []HazardPattern { RequiredComponentTags: []string{}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M141"}, - Priority: 91, MachineTypes: []string{"cnc", "metalworking", "automotive"}, + Priority: 97, MachineTypes: []string{"cnc", "metalworking", "automotive"}, ApplicableLifecycles: []string{"normal_operation", "cleaning", "maintenance", "fault_clearing"}, ScenarioDE: "Person bekommt Kuehlschmierstoff-Spritzer ins Auge oder Gesicht beim Oeffnen der Bearbeitungszelle oder bei laufender Bettspuelung.", TriggerDE: "KSS-Pumpe laeuft waehrend Schutztuer geoeffnet ist, Austrittsduese nicht korrekt gerichtet.", @@ -176,7 +176,7 @@ func GetRobotCellPatternsExt() []HazardPattern { RequiredComponentTags: []string{"pinch_point"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M061"}, - Priority: 91, MachineTypes: []string{"cnc", "metalworking", "automotive"}, + Priority: 97, MachineTypes: []string{"cnc", "metalworking", "automotive"}, ApplicableLifecycles: []string{"normal_operation", "cleaning", "maintenance", "fault_clearing"}, ScenarioDE: "Person wird von ausstroemender Druckluft oder aufgewirbelten Bearbeitungsrueckstaenden in der Bearbeitungszelle verletzt.", TriggerDE: "Druckluftreinigungsduese aktiv waehrend Schutztuer geoeffnet, Spaene oder Partikel werden aufgewirbelt.", @@ -193,7 +193,7 @@ func GetRobotCellPatternsExt() []HazardPattern { RequiredComponentTags: []string{}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M420"}, - Priority: 91, MachineTypes: []string{"cnc", "metalworking", "automotive"}, + Priority: 97, MachineTypes: []string{"cnc", "metalworking", "automotive"}, ApplicableLifecycles: []string{"normal_operation", "setup", "maintenance", "fault_clearing"}, ScenarioDE: "Schlauch der Kuehlschmierstoffversorgung zwischen Aufbereitungsanlage und Bearbeitungszentrum platzt oder springt unter Druck ab.", TriggerDE: "Materialermuedung, Ueberdruck, fehlerhafte Befestigung, mechanische Beschaedigung des Schlauchs.", @@ -210,7 +210,7 @@ func GetRobotCellPatternsExt() []HazardPattern { RequiredComponentTags: []string{"entanglement_risk"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M002", "M003"}, - Priority: 91, + Priority: 97, ApplicableLifecycles: []string{"normal_operation", "setup", "cleaning", "fault_clearing"}, ScenarioDE: "Person greift an den Tunnel/Rahmen des Foerderbandes und wird von einem darauf bewegten Werkstueck eingequetscht.", TriggerDE: "Zu geringer Abstand zwischen Werkstueck und Tunnel/Rahmen, scharfe Kanten an Tunneleingang.", @@ -227,7 +227,7 @@ func GetRobotCellPatternsExt() []HazardPattern { RequiredComponentTags: []string{}, GeneratedHazardCats: []string{"electrical_hazard"}, SuggestedMeasureIDs: []string{"M410", "M411"}, - Priority: 93, + Priority: 98, ApplicableLifecycles: []string{"normal_operation", "setup", "cleaning", "maintenance", "fault_clearing"}, ScenarioDE: "Schutzleiter ist unterbrochen. Person beruehrt leitfaehige Maschinenteile und erleidet elektrischen Schlag.", TriggerDE: "Mechanische Beschaedigung des Schutzleiters, korrodierte Verbindung, fehlerhafte Installation.", @@ -241,7 +241,7 @@ func GetRobotCellPatternsExt() []HazardPattern { RequiredComponentTags: []string{}, GeneratedHazardCats: []string{"electrical_hazard"}, SuggestedMeasureIDs: []string{"M009"}, - Priority: 93, + Priority: 98, ApplicableLifecycles: []string{"maintenance", "fault_clearing", "commissioning"}, ScenarioDE: "Person beruehrt spannungsfuehrende Teile bei geoeffnetem Schaltschrank. Leiter um Bedienelemente sind nicht fingersicher geschuetzt.", TriggerDE: "Schaltschranktuer geoeffnet fuer Wartung oder Fehlersuche, unzureichender Beruehrungsschutz.", @@ -255,7 +255,7 @@ func GetRobotCellPatternsExt() []HazardPattern { RequiredComponentTags: []string{}, GeneratedHazardCats: []string{"electrical_hazard"}, SuggestedMeasureIDs: []string{"M009"}, - Priority: 92, + Priority: 98, ApplicableLifecycles: []string{"normal_operation", "cleaning"}, ScenarioDE: "Fluessigkeit dringt in elektrische Komponenten ein und verursacht Kurzschluss. Person wird durch Brand oder Rauchentwicklung gefaehrdet.", TriggerDE: "Reinigung mit Wasser, KSS-Leckage tropft auf Schaltschrank oder Steuerungskomponenten.", @@ -269,7 +269,7 @@ func GetRobotCellPatternsExt() []HazardPattern { RequiredComponentTags: []string{}, GeneratedHazardCats: []string{"electrical_hazard"}, SuggestedMeasureIDs: []string{"M410"}, - Priority: 92, + Priority: 98, ApplicableLifecycles: []string{"normal_operation", "setup", "maintenance", "fault_clearing"}, ScenarioDE: "Person beruehrt gleichzeitig Anlagenteile mit unterschiedlichem Potential und erleidet elektrischen Schlag.", TriggerDE: "Fehlender Potentialausgleich zwischen Anlagenteilen verschiedener Hersteller.", @@ -283,7 +283,7 @@ func GetRobotCellPatternsExt() []HazardPattern { RequiredComponentTags: []string{}, GeneratedHazardCats: []string{"electrical_hazard"}, SuggestedMeasureIDs: []string{"M410"}, - Priority: 91, + Priority: 97, ApplicableLifecycles: []string{"normal_operation", "setup", "maintenance", "fault_clearing"}, ScenarioDE: "Defektes Geraet wird an Steckdose der Maschine angeschlossen. Fehlerstrom fliesst ueber den Koerper der beruerenden Person.", TriggerDE: "Fehlende Fehlerstrom-Schutzeinrichtung (RCD) an Steckdosenstromkreisen der Maschine.", @@ -365,7 +365,7 @@ func GetRobotCellPatternsExt() []HazardPattern { RequiredComponentTags: []string{}, GeneratedHazardCats: []string{"electrical_hazard"}, SuggestedMeasureIDs: []string{"M412"}, - Priority: 92, + Priority: 98, ApplicableLifecycles: []string{"normal_operation", "setup", "maintenance", "fault_clearing"}, ScenarioDE: "Unzureichende Luft-/Kriechstrecken fuehren bei Verschmutzung zu Kriechstroemen. Person beruehrt betroffene Teile und erleidet elektrischen Schlag.", TriggerDE: "Verschmutzungsgrad hoeher als bei der Dimensionierung angenommen, Feuchtigkeit, alterungsbedingte Veraenderung.", @@ -379,7 +379,7 @@ func GetRobotCellPatternsExt() []HazardPattern { RequiredComponentTags: []string{}, GeneratedHazardCats: []string{"radiation_hazard"}, SuggestedMeasureIDs: []string{"M415", "M416"}, - Priority: 91, + Priority: 97, ApplicableLifecycles: []string{"normal_operation", "setup"}, ScenarioDE: "EMV-Stoerungen verursachen unerwartete Maschinenbewegungen. Person im Gefahrenbereich wird von unkontrolliert bewegten Teilen getroffen.", TriggerDE: "Unzureichende EMV-Schirmung, nicht-fachgerechte Verkabelung, externe Stoerquellen.", @@ -396,7 +396,7 @@ func GetRobotCellPatternsExt() []HazardPattern { RequiredComponentTags: []string{"moving_part", "clamping_part"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M054", "M061"}, - Priority: 94, + Priority: 99, ApplicableLifecycles: []string{"normal_operation", "setup", "teach_mode", "cleaning"}, ScenarioDE: "Person steht im Bewegungsbereich des Roboterarms und wird von bewegtem Werkzeug oder Greifer getroffen.", TriggerDE: "Roboter schwenkt mit Werkzeug/Greifer in Richtung Person.", @@ -410,7 +410,7 @@ func GetRobotCellPatternsExt() []HazardPattern { RequiredComponentTags: []string{"clamping_part", "guard"}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M061"}, - Priority: 92, + Priority: 98, ApplicableLifecycles: []string{"normal_operation", "setup", "changeover"}, ScenarioDE: "Greifer oder Werkzeug am Roboterarm durchschlaegt den Schutzzaun und trifft Person ausserhalb der Zelle.", TriggerDE: "Bewegungsbegrenzung versagt, Schutzzaun nicht auf Aufprallenergie ausgelegt.", @@ -424,7 +424,7 @@ func GetRobotCellPatternsExt() []HazardPattern { RequiredComponentTags: []string{}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M420"}, - Priority: 90, MachineTypes: []string{"cnc", "metalworking", "automotive"}, + Priority: 97, MachineTypes: []string{"cnc", "metalworking", "automotive"}, ApplicableLifecycles: []string{"normal_operation", "maintenance", "fault_clearing"}, ScenarioDE: "KSS-Schlauch platzt und spritzt Kuehlschmierstoff unter Druck. Person in der Naehe wird von KSS-Strahl getroffen.", TriggerDE: "Alterung, Beschaedigung oder Ueberdruck fuehrt zum Versagen des Schlauchs.", @@ -438,7 +438,7 @@ func GetRobotCellPatternsExt() []HazardPattern { RequiredComponentTags: []string{}, GeneratedHazardCats: []string{"mechanical_hazard"}, SuggestedMeasureIDs: []string{"M061"}, - Priority: 90, MachineTypes: []string{"cnc", "metalworking", "automotive"}, + Priority: 97, MachineTypes: []string{"cnc", "metalworking", "automotive"}, ApplicableLifecycles: []string{"normal_operation", "cleaning", "maintenance", "fault_clearing"}, ScenarioDE: "KSS-Pumpe laeuft bei geoeffneter Schutztuer. Person vor der Bearbeitungszelle bekommt KSS-Spritzer ins Auge oder Gesicht.", TriggerDE: "Kein automatisches Abschalten der KSS-Pumpe bei geoeffneter Tuer.", @@ -452,7 +452,7 @@ func GetRobotCellPatternsExt() []HazardPattern { RequiredComponentTags: []string{}, GeneratedHazardCats: []string{"electrical_hazard"}, SuggestedMeasureIDs: []string{"M420", "M009"}, - Priority: 92, MachineTypes: []string{"cnc", "metalworking", "automotive"}, + Priority: 98, MachineTypes: []string{"cnc", "metalworking", "automotive"}, ApplicableLifecycles: []string{"normal_operation", "cleaning", "maintenance"}, ScenarioDE: "KSS-Leckage tropft auf elektrische Komponenten und verursacht Kurzschluss. Person wird durch Brand oder Rauchentwicklung gefaehrdet.", TriggerDE: "KSS-Leitung undicht oberhalb elektrischer Komponenten, tropft auf Klemmen oder Leiterplatten.",