70c9bfc069
- Removed HP1601 (duplicate of HP1600 with narrower scope) - HP1600 now covers ALL lifecycle phases, not just teach mode - All pattern texts neutral: no lifecycle phase references in NameDE, ScenarioDE, TriggerDE — phases only in ApplicableLifecycles - Formulierungsregel documented in file header Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
304 lines
18 KiB
Go
304 lines
18 KiB
Go
package iace
|
|
|
|
// GetRobotCellPatterns returns hazard patterns for industrial robot cells
|
|
// (non-collaborative) with safety fence, conveyors, and CNC machine tools.
|
|
// Based on typical ISO 10218-2 risk assessment scope for integrated robot systems.
|
|
//
|
|
// FORMULIERUNGSREGEL: Gefährdung und Szenario NEUTRAL formulieren — keine
|
|
// Lebensphasen im Text. Lebensphasen stehen in ApplicableLifecycles.
|
|
// HP1600-HP1649
|
|
func GetRobotCellPatterns() []HazardPattern {
|
|
return []HazardPattern{
|
|
// ================================================================
|
|
// Roboterarm — Quetschen/Einklemmen von Personen
|
|
// ================================================================
|
|
{
|
|
ID: "HP1600", NameDE: "Einklemmen zwischen Roboterarm und Anlage", NameEN: "Crushing between robot arm and fixed structure",
|
|
RequiredComponentTags: []string{"moving_part"},
|
|
GeneratedHazardCats: []string{"mechanical_hazard"},
|
|
SuggestedMeasureIDs: []string{"M061", "M062", "M054"},
|
|
Priority: 95, 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.",
|
|
HarmDE: "Quetschungen, Knochenbrueche, innere Verletzungen durch Einklemmen von Koerperteilen.",
|
|
AffectedDE: "Bedienpersonal, Einrichter, Wartungspersonal, Reinigungspersonal",
|
|
ZoneDE: "Roboterarm, feststehende Anlagenteile innerhalb der Roboterzelle",
|
|
DefaultSeverity: 4, DefaultExposure: 3,
|
|
},
|
|
{
|
|
ID: "HP1602", NameDE: "Durchgreifen durch Schutzzaun zum Roboter", NameEN: "Reaching through safety fence to robot",
|
|
RequiredComponentTags: []string{"moving_part", "guard"},
|
|
GeneratedHazardCats: []string{"mechanical_hazard"},
|
|
SuggestedMeasureIDs: []string{"M002", "M061"},
|
|
Priority: 93,
|
|
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.",
|
|
HarmDE: "Quetschung von Hand oder Arm zwischen Roboterarm und feststehenden Teilen.",
|
|
AffectedDE: "Bedienpersonal, Reinigungspersonal",
|
|
ZoneDE: "Schutzzaun-Oberkante, Roboterarm",
|
|
DefaultSeverity: 3, DefaultExposure: 2,
|
|
},
|
|
{
|
|
ID: "HP1603", NameDE: "Eingeschlossen in Roboterzelle", NameEN: "Trapped inside robot cell",
|
|
RequiredComponentTags: []string{"moving_part", "guard"},
|
|
GeneratedHazardCats: []string{"mechanical_hazard"},
|
|
SuggestedMeasureIDs: []string{"M061", "M054", "M141"},
|
|
Priority: 94,
|
|
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.",
|
|
HarmDE: "Quetschungen, Stoss durch anlaufenden Roboter.",
|
|
AffectedDE: "Wartungspersonal, Einrichter, Reinigungspersonal",
|
|
ZoneDE: "Inneres der Roboterzelle",
|
|
DefaultSeverity: 4, DefaultExposure: 2,
|
|
},
|
|
{
|
|
ID: "HP1604", NameDE: "Roboterarm durchschlaegt Schutzzaun", NameEN: "Robot arm penetrates safety fence",
|
|
RequiredComponentTags: []string{"moving_part", "guard"},
|
|
GeneratedHazardCats: []string{"mechanical_hazard"},
|
|
SuggestedMeasureIDs: []string{"M061", "M002"},
|
|
Priority: 92,
|
|
ApplicableLifecycles: []string{"normal_operation", "setup", "cleaning", "changeover", "fault_clearing"},
|
|
ScenarioDE: "Roboterarm ueberschreitet den vorgesehenen Bewegungsbereich und trifft den Schutzzaun mit hoher Kraft.",
|
|
TriggerDE: "Fehler in der Bahnplanung oder Ausfall der Achsbegrenzung.",
|
|
HarmDE: "Teile des Schutzzauns werden herausgeschleudert, Person ausserhalb wird getroffen.",
|
|
AffectedDE: "Bedienpersonal in der Naehe des Schutzzauns",
|
|
ZoneDE: "Schutzzaun, Bereich um die Roboterzelle",
|
|
DefaultSeverity: 3, DefaultExposure: 2,
|
|
},
|
|
// ================================================================
|
|
// Greifer / Werkstueck
|
|
// ================================================================
|
|
{
|
|
ID: "HP1610", NameDE: "Quetschen im Greiferbereich", NameEN: "Crushing in gripper area",
|
|
RequiredComponentTags: []string{"clamping_part"},
|
|
GeneratedHazardCats: []string{"mechanical_hazard"},
|
|
SuggestedMeasureIDs: []string{"M054", "M061"},
|
|
Priority: 94, 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.",
|
|
HarmDE: "Quetschung oder Amputation von Fingern durch Greifkraft.",
|
|
AffectedDE: "Bedienpersonal, Einrichter",
|
|
ZoneDE: "Greifer des Roboterarms, Werkstueckaufnahme",
|
|
DefaultSeverity: 3, DefaultExposure: 3,
|
|
},
|
|
{
|
|
ID: "HP1611", NameDE: "Werkstueck faellt aus Greifer herab", NameEN: "Workpiece falls from gripper",
|
|
RequiredComponentTags: []string{"clamping_part"},
|
|
GeneratedHazardCats: []string{"mechanical_hazard"},
|
|
SuggestedMeasureIDs: []string{"M007", "M141"},
|
|
Priority: 93,
|
|
ApplicableLifecycles: []string{"normal_operation", "setup", "changeover"},
|
|
ScenarioDE: "Greifer verliert das Werkstueck waehrend des Transports (Druckverlust, oelige Oberflaeche, falsches Werkstueck).",
|
|
TriggerDE: "Werkstueck faellt aus Greifer und trifft Person unterhalb des Roboterarms.",
|
|
HarmDE: "Prellungen, Knochenbrueche abhaengig von Werkstueckgewicht und Fallhoehe.",
|
|
AffectedDE: "Bedienpersonal, Wartungspersonal",
|
|
ZoneDE: "Bereich unterhalb des Greifer/Roboterarms",
|
|
DefaultSeverity: 3, DefaultExposure: 2,
|
|
},
|
|
{
|
|
ID: "HP1612", NameDE: "Werkstueck durchschlaegt Einhausung", NameEN: "Workpiece penetrates enclosure",
|
|
RequiredComponentTags: []string{"clamping_part", "guard"},
|
|
GeneratedHazardCats: []string{"mechanical_hazard"},
|
|
SuggestedMeasureIDs: []string{"M061", "M141"},
|
|
Priority: 92,
|
|
ApplicableLifecycles: []string{"normal_operation"},
|
|
ScenarioDE: "Greifer versagt und Roboterarm beschleunigt das freigesetzte Werkstueck in Richtung Schutzzaun oder Einhausung.",
|
|
TriggerDE: "Werkstueck wird durch Roboterbewegung weggeschleudert und durchschlaegt die Schutzeinrichtung.",
|
|
HarmDE: "Person ausserhalb der Zelle wird von weggeschleudertem Werkstueck getroffen.",
|
|
AffectedDE: "Bedienpersonal in der Naehe der Roboterzelle",
|
|
ZoneDE: "Schutzzaun, Bereich um die Roboterzelle",
|
|
DefaultSeverity: 3, DefaultExposure: 2,
|
|
},
|
|
// ================================================================
|
|
// Foerderbaender / Werkstueckzu-/-auslauf
|
|
// ================================================================
|
|
{
|
|
ID: "HP1620", NameDE: "Quetschen an Foerderband-Einlauf", NameEN: "Crushing at conveyor infeed",
|
|
RequiredComponentTags: []string{"entanglement_risk"},
|
|
GeneratedHazardCats: []string{"mechanical_hazard"},
|
|
SuggestedMeasureIDs: []string{"M002", "M061", "M003"},
|
|
Priority: 93,
|
|
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.",
|
|
HarmDE: "Quetschung von Fingern, Einzug von Kleidung oder Haaren.",
|
|
AffectedDE: "Bedienpersonal, Reinigungspersonal",
|
|
ZoneDE: "Foerderbaender, Bandein- und -auslauf",
|
|
DefaultSeverity: 2, DefaultExposure: 3,
|
|
},
|
|
{
|
|
ID: "HP1621", NameDE: "Durchgreifen durch Foerderband-Oeffnung in Schutzzaun", NameEN: "Reaching through conveyor opening in fence",
|
|
RequiredComponentTags: []string{"entanglement_risk", "guard"},
|
|
GeneratedHazardCats: []string{"mechanical_hazard"},
|
|
SuggestedMeasureIDs: []string{"M002", "M061"},
|
|
Priority: 93,
|
|
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.",
|
|
HarmDE: "Quetschung von Hand oder Arm durch Roboterarm oder bewegte Maschinenteile.",
|
|
AffectedDE: "Bedienpersonal",
|
|
ZoneDE: "Oeffnung der Foerderbaender im Schutzzaun, Roboterbereich dahinter",
|
|
DefaultSeverity: 3, DefaultExposure: 3,
|
|
},
|
|
{
|
|
ID: "HP1622", NameDE: "Herunterfallen von Werkstueck am Bandende", NameEN: "Workpiece falling off conveyor end",
|
|
RequiredComponentTags: []string{"entanglement_risk"},
|
|
GeneratedHazardCats: []string{"mechanical_hazard"},
|
|
SuggestedMeasureIDs: []string{"M008"},
|
|
Priority: 91,
|
|
ApplicableLifecycles: []string{"normal_operation", "setup"},
|
|
ScenarioDE: "Werkstueck faehrt ueber das Ende des Transportbandes hinaus und faellt herab.",
|
|
TriggerDE: "Mechanischer Anschlag fehlt oder ist beschaedigt.",
|
|
HarmDE: "Prellungen, Quetschung von Fuessen durch herabfallendes Werkstueck.",
|
|
AffectedDE: "Bedienpersonal am Be-/Entladeplatz",
|
|
ZoneDE: "Ende der Transportbaender, Be-/Entladeplatz",
|
|
DefaultSeverity: 2, DefaultExposure: 3,
|
|
},
|
|
// ================================================================
|
|
// Scharfe Kanten / Allgemein
|
|
// ================================================================
|
|
{
|
|
ID: "HP1625", NameDE: "Schneiden an scharfen Kanten der Einhausung", NameEN: "Cutting on sharp enclosure edges",
|
|
RequiredComponentTags: []string{"guard"},
|
|
GeneratedHazardCats: []string{"mechanical_hazard"},
|
|
SuggestedMeasureIDs: []string{"M003"},
|
|
Priority: 90,
|
|
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.",
|
|
HarmDE: "Schnittwunden an Haenden und Armen.",
|
|
AffectedDE: "Bedienpersonal, Wartungspersonal, Reinigungspersonal",
|
|
ZoneDE: "Zugaengliche Kanten der Maschine und Einhausung",
|
|
DefaultSeverity: 2, DefaultExposure: 3,
|
|
},
|
|
// ================================================================
|
|
// Pneumatik / Druckluft
|
|
// ================================================================
|
|
{
|
|
ID: "HP1630", NameDE: "Pneumatikschlauch springt unter Druck ab", NameEN: "Pressurized hose comes loose",
|
|
RequiredComponentTags: []string{"pinch_point"},
|
|
GeneratedHazardCats: []string{"mechanical_hazard"},
|
|
SuggestedMeasureIDs: []string{"M420"},
|
|
Priority: 91,
|
|
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.",
|
|
HarmDE: "Prellungen, Augenverletzungen durch abspringenden Schlauch.",
|
|
AffectedDE: "Bedienpersonal, Wartungspersonal",
|
|
ZoneDE: "Pneumatikschlaeuche der Automation",
|
|
DefaultSeverity: 2, DefaultExposure: 2,
|
|
},
|
|
{
|
|
ID: "HP1631", NameDE: "Restdruck in Pneumatik nach Abschaltung", NameEN: "Residual pressure in pneumatics after shutdown",
|
|
RequiredComponentTags: []string{"pinch_point"},
|
|
GeneratedHazardCats: []string{"mechanical_hazard"},
|
|
SuggestedMeasureIDs: []string{"M420", "M141"},
|
|
Priority: 91,
|
|
ApplicableLifecycles: []string{"maintenance", "fault_clearing", "changeover"},
|
|
ScenarioDE: "Pneumatik-Komponenten stehen nach Abschaltung noch unter Druck. Bei Arbeiten an der Anlage werden druckbeaufschlagte Teile geloest.",
|
|
TriggerDE: "Fehlende Druckentlastung. Gesperrte Rueckschlagventile halten Druck.",
|
|
HarmDE: "Unkontrolliertes Loesen von Verbindungen, wegfliegende Teile.",
|
|
AffectedDE: "Wartungspersonal, Einrichter",
|
|
ZoneDE: "Pneumatikschlaeuche und -komponenten",
|
|
DefaultSeverity: 2, DefaultExposure: 2,
|
|
},
|
|
// ================================================================
|
|
// Kuehlschmierstoff (KSS)
|
|
// ================================================================
|
|
{
|
|
ID: "HP1635", NameDE: "Ausrutschen durch KSS-Leckage", NameEN: "Slipping due to coolant leakage",
|
|
RequiredComponentTags: []string{},
|
|
GeneratedHazardCats: []string{"mechanical_hazard"},
|
|
SuggestedMeasureIDs: []string{"M420"},
|
|
Priority: 90, MachineTypes: []string{"cnc", "metalworking", "automotive"},
|
|
ApplicableLifecycles: []string{"normal_operation", "setup", "cleaning", "maintenance", "fault_clearing"},
|
|
ScenarioDE: "Kuehlschmierstoff tritt aus undichter Leitung oder Verbindung aus und bildet einen rutschigen Belag auf dem Boden.",
|
|
TriggerDE: "Leckage an Schlauchverbindung, Dichtungsversagen.",
|
|
HarmDE: "Ausrutschen und Sturz, Prellungen, Knochenbrueche.",
|
|
AffectedDE: "Bedienpersonal, Wartungspersonal",
|
|
ZoneDE: "Boden um Bearbeitungszentrum und Kuehlschmierstoffanlage",
|
|
DefaultSeverity: 2, DefaultExposure: 3,
|
|
},
|
|
{
|
|
ID: "HP1636", NameDE: "Hautkontakt mit Kuehlschmierstoff", NameEN: "Skin contact with coolant",
|
|
RequiredComponentTags: []string{},
|
|
GeneratedHazardCats: []string{"material_environmental"},
|
|
SuggestedMeasureIDs: []string{"M141"},
|
|
Priority: 90, 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.",
|
|
HarmDE: "Hautirritationen, allergische Reaktionen, bei laengerer Exposition Ekzeme.",
|
|
AffectedDE: "Bedienpersonal, Wartungspersonal",
|
|
ZoneDE: "Bearbeitungszentrum, Roboterzelle im Bereich der Beladetuer",
|
|
DefaultSeverity: 1, DefaultExposure: 3,
|
|
},
|
|
{
|
|
ID: "HP1637", NameDE: "Einatmen von KSS-Aerosolen", NameEN: "Inhalation of coolant aerosols",
|
|
RequiredComponentTags: []string{},
|
|
GeneratedHazardCats: []string{"material_environmental"},
|
|
SuggestedMeasureIDs: []string{"M141"},
|
|
Priority: 90, MachineTypes: []string{"cnc", "metalworking", "automotive"},
|
|
ApplicableLifecycles: []string{"normal_operation", "setup", "maintenance"},
|
|
ScenarioDE: "Waehrend der Werkstueckbearbeitung entstehen KSS-Aerosole die beim Oeffnen der Bearbeitungszelle freigesetzt werden.",
|
|
TriggerDE: "Oeffnen der Schutztuer nach Bearbeitungsvorgang, unzureichende Absaugung.",
|
|
HarmDE: "Atembeschwerden, Reizung der Atemwege.",
|
|
AffectedDE: "Bedienpersonal",
|
|
ZoneDE: "Bearbeitungszelle, Bereich vor der Schutztuer",
|
|
DefaultSeverity: 1, DefaultExposure: 3,
|
|
},
|
|
// ================================================================
|
|
// Elektrisch (Roboterzelle-spezifisch)
|
|
// ================================================================
|
|
{
|
|
ID: "HP1640", NameDE: "Direktes Beruehren spannungsfuehrender Teile", NameEN: "Direct contact with live parts",
|
|
RequiredComponentTags: []string{},
|
|
RequiredEnergyTags: []string{"electrical"},
|
|
GeneratedHazardCats: []string{"electrical_hazard"},
|
|
SuggestedMeasureIDs: []string{"M009", "M410"},
|
|
Priority: 93,
|
|
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.",
|
|
HarmDE: "Elektrischer Schlag, bei Hochspannung potentiell toedlich.",
|
|
AffectedDE: "Wartungspersonal, Einrichter",
|
|
ZoneDE: "Zugaengliche Kabel, Klemmen, Schaltschrank",
|
|
DefaultSeverity: 4, DefaultExposure: 2,
|
|
},
|
|
{
|
|
ID: "HP1641", NameDE: "Gefaehrliche Beruehrungsspannung durch Schutzleiterfehler", NameEN: "Dangerous touch voltage due to PE failure",
|
|
RequiredComponentTags: []string{},
|
|
RequiredEnergyTags: []string{"electrical"},
|
|
GeneratedHazardCats: []string{"electrical_hazard"},
|
|
SuggestedMeasureIDs: []string{"M410", "M411"},
|
|
Priority: 93,
|
|
ApplicableLifecycles: []string{"normal_operation", "setup", "cleaning", "maintenance", "fault_clearing"},
|
|
ScenarioDE: "Schutzleiter ist unterbrochen oder nicht korrekt angeschlossen. Beruehrbare leitfaehige Teile fuehren gefaehrliche Beruehrungsspannung.",
|
|
TriggerDE: "Schutzleiterunterbrechung durch mechanische Beschaedigung oder fehlerhafte Installation.",
|
|
HarmDE: "Elektrischer Schlag bei Beruehren des Maschinengehaeuses oder leitfaehiger Oberflaechen.",
|
|
AffectedDE: "Bedienpersonal, Wartungspersonal",
|
|
ZoneDE: "Beruehrbare leitfaehige Oberflaechen der Anlage",
|
|
DefaultSeverity: 4, DefaultExposure: 2,
|
|
},
|
|
{
|
|
ID: "HP1642", NameDE: "Kabelbrand durch Ueberlast oder Kurzschluss", NameEN: "Cable fire from overload or short circuit",
|
|
RequiredComponentTags: []string{},
|
|
RequiredEnergyTags: []string{"electrical"},
|
|
GeneratedHazardCats: []string{"electrical_hazard"},
|
|
SuggestedMeasureIDs: []string{"M009"},
|
|
Priority: 92,
|
|
ApplicableLifecycles: []string{"normal_operation", "setup", "maintenance"},
|
|
ScenarioDE: "Kabelquerschnitt ist nicht auf die maximale Leistung ausgelegt oder Ueberstromschutz fehlt. Kabel ueberhitzt und entzuendet sich.",
|
|
TriggerDE: "Dauerhafter Betrieb nahe der Belastungsgrenze, falsch dimensionierte Sicherung.",
|
|
HarmDE: "Brand, Rauchentwicklung, Verletzung durch Feuer oder toxische Gase.",
|
|
AffectedDE: "Alle Personen im Bereich der Anlage",
|
|
ZoneDE: "Kabel und Leitungen der Anlage",
|
|
DefaultSeverity: 3, DefaultExposure: 2,
|
|
},
|
|
}
|
|
}
|