feat(iace): ISO 12100 Anhang B mapping — split noise/vibration + section identifier
Phase 16 of the Klaerungen / risk-assessment polish. Sources from
EN ISO 12100 Anhang B Tabelle B.1 are now first-class:
A) HazardPattern.ISO12100Section identifier (string), persisted only as
the section number (e.g. "6.3.5.5") — not the norm text. Keeps the
library urheberrechtlich neutral (DIN/Beuth license). 57 patterns
labeled today; rest will follow on touch.
B) Category split per ISO 12100 Nr. 4 vs Nr. 5:
- 16 patterns reclassified noise_vibration -> noise_hazard
- 7 patterns reclassified noise_vibration -> vibration_hazard
- 1 pattern (HP228 UV-/Laermexposition) kept multi-cat
acceptableMeasureCategories now accepts both new aliases plus the
legacy noise_vibration. Coverage test recognises both as valid.
C) 5 new ISO-12100-Annex-B gap patterns (HP1900-HP1904):
- HP1900 Vakuum-Verletzung (6.3.5.5)
- HP1901 Federenergie / elastische Elemente (6.2.10)
- HP1902 Rutschen/Stolpern auf rauer Oberflaeche (6.3.5.6)
- HP1903 Hochdruckinjektion (6.3.5.4) — includes clarifying
"no hand-locating of leaks" question
- HP1904 Ersticken durch Brustkorbquetschung (6.3.5.2)
The library now mirrors the ISO 12100 Annex B structure for the gaps
the Bremse benchmark surfaced.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -24,6 +24,7 @@ func GetRobotCellPatterns() []HazardPattern {
|
||||
HarmDE: "Quetschungen, Knochenbrueche, innere Verletzungen durch Einklemmen von Koerperteilen.",
|
||||
AffectedDE: "Bedienpersonal, Einrichter, Wartungspersonal, Reinigungspersonal",
|
||||
ZoneDE: "Roboterarm, feststehende Anlagenteile innerhalb der Roboterzelle",
|
||||
ISO12100Section: "6.2.3",
|
||||
DefaultSeverity: 4, DefaultExposure: 3,
|
||||
},
|
||||
{
|
||||
@@ -39,6 +40,7 @@ func GetRobotCellPatterns() []HazardPattern {
|
||||
AffectedDE: "Bedienpersonal, Reinigungspersonal",
|
||||
ZoneDE: "Schutzzaun-Oberkante, Roboterarm",
|
||||
ClarificationQuestionsDE: []string{"Ist Dynamic Safety Configuration (DCS) am Roboter konfiguriert und durch den Hersteller validiert?", "Wurde der Reach-Over-Sicherheitsabstand nach EN ISO 13857 anlagenbezogen berechnet?"},
|
||||
ISO12100Section: "6.3.5.2",
|
||||
DefaultSeverity: 3, DefaultExposure: 2,
|
||||
},
|
||||
{
|
||||
@@ -53,6 +55,7 @@ func GetRobotCellPatterns() []HazardPattern {
|
||||
HarmDE: "Quetschungen, Stoss durch anlaufenden Roboter.",
|
||||
AffectedDE: "Wartungspersonal, Einrichter, Reinigungspersonal",
|
||||
ZoneDE: "Inneres der Roboterzelle",
|
||||
ISO12100Section: "6.2.3",
|
||||
DefaultSeverity: 4, DefaultExposure: 2,
|
||||
},
|
||||
{
|
||||
@@ -68,6 +71,7 @@ func GetRobotCellPatterns() []HazardPattern {
|
||||
AffectedDE: "Bedienpersonal in der Naehe des Schutzzauns",
|
||||
ZoneDE: "Schutzzaun, Bereich um die Roboterzelle",
|
||||
ClarificationQuestionsDE: []string{"Ist Dynamic Safety Configuration (DCS) am Roboter konfiguriert und durch den Hersteller validiert?", "Ist nach EN ISO 13857 die Tabelle 1 (Niedrigrisiko) anwendbar oder muss Tabelle 2 angewandt werden?"},
|
||||
ISO12100Section: "6.3.5.2",
|
||||
DefaultSeverity: 3, DefaultExposure: 2,
|
||||
},
|
||||
{
|
||||
@@ -82,6 +86,7 @@ func GetRobotCellPatterns() []HazardPattern {
|
||||
HarmDE: "Prellungen, Quetschungen durch Kontakt mit Werkzeug/Greifer am Roboterarm.",
|
||||
AffectedDE: "Einrichter, Programmierer, Wartungspersonal",
|
||||
ZoneDE: "Inneres der Roboterzelle, Schwenkbereich Werkzeug/Greifer",
|
||||
ISO12100Section: "6.3.5.4",
|
||||
DefaultSeverity: 3, DefaultExposure: 3,
|
||||
},
|
||||
// ================================================================
|
||||
@@ -99,6 +104,7 @@ func GetRobotCellPatterns() []HazardPattern {
|
||||
HarmDE: "Quetschung oder Amputation von Fingern durch Greifkraft.",
|
||||
AffectedDE: "Bedienpersonal, Einrichter",
|
||||
ZoneDE: "Greifer des Roboterarms, Werkstueckaufnahme",
|
||||
ISO12100Section: "6.3.5.4",
|
||||
DefaultSeverity: 3, DefaultExposure: 3,
|
||||
},
|
||||
{
|
||||
@@ -114,6 +120,7 @@ func GetRobotCellPatterns() []HazardPattern {
|
||||
AffectedDE: "Bedienpersonal, Wartungspersonal",
|
||||
ZoneDE: "Bereich unterhalb des Greifer/Roboterarms",
|
||||
ClarificationQuestionsDE: []string{"Welche Druckhalte-Logik ist am Greifer realisiert? (Empfehlung: 5-3 Wegeventil mit Sperrmittelstellung, auch bei Not-Halt)", "Ist nachgewiesen, dass das Werkstueck bei Spannungs- oder Druckluftausfall sicher gehalten wird (Fail-Safe)?"},
|
||||
ISO12100Section: "6.2.6",
|
||||
DefaultSeverity: 3, DefaultExposure: 2,
|
||||
},
|
||||
{
|
||||
@@ -129,6 +136,7 @@ func GetRobotCellPatterns() []HazardPattern {
|
||||
AffectedDE: "Bedienpersonal in der Naehe der Roboterzelle",
|
||||
ZoneDE: "Schutzzaun, Bereich um die Roboterzelle",
|
||||
ClarificationQuestionsDE: []string{"Ist die Lastbemessung der Einhausung auf max. Werkstueckgewicht * max. Roboter-TCP-Geschwindigkeit dokumentiert?", "Sind max. Werkstueckgewicht und Roboter-TCP-Geschwindigkeit in der Betriebsanleitung explizit angegeben?"},
|
||||
ISO12100Section: "6.2.6",
|
||||
DefaultSeverity: 3, DefaultExposure: 2,
|
||||
},
|
||||
// ================================================================
|
||||
@@ -147,6 +155,7 @@ func GetRobotCellPatterns() []HazardPattern {
|
||||
AffectedDE: "Bedienpersonal, Reinigungspersonal",
|
||||
ZoneDE: "Foerderbaender, Bandein- und -auslauf",
|
||||
ClarificationQuestionsDE: []string{"Ist die Bandgeschwindigkeit im manuell zugaenglichen Bereich dokumentiert? (Empfehlung: <= 100 mm/s)", "Sind Quetsch- und Einzugsstellen am Band konstruktiv ausgeschlossen oder durch Lichtschranke gesichert?"},
|
||||
ISO12100Section: "6.3.5.4",
|
||||
DefaultSeverity: 2, DefaultExposure: 3,
|
||||
},
|
||||
{
|
||||
@@ -161,6 +170,7 @@ func GetRobotCellPatterns() []HazardPattern {
|
||||
HarmDE: "Quetschung von Hand oder Arm durch Roboterarm oder bewegte Maschinenteile.",
|
||||
AffectedDE: "Bedienpersonal",
|
||||
ZoneDE: "Oeffnung der Foerderbaender im Schutzzaun, Roboterbereich dahinter",
|
||||
ISO12100Section: "6.3.5.4",
|
||||
DefaultSeverity: 3, DefaultExposure: 3,
|
||||
},
|
||||
{
|
||||
@@ -176,6 +186,7 @@ func GetRobotCellPatterns() []HazardPattern {
|
||||
AffectedDE: "Bedienpersonal am Be-/Entladeplatz",
|
||||
ZoneDE: "Ende der Transportbaender, Be-/Entladeplatz",
|
||||
ClarificationQuestionsDE: []string{"Sind mechanische Anschlaege an allen Bandenden vorhanden und auf maximale Werkstueckmasse + Bandgeschwindigkeit dimensioniert?"},
|
||||
ISO12100Section: "6.2.6",
|
||||
DefaultSeverity: 2, DefaultExposure: 3,
|
||||
},
|
||||
// ================================================================
|
||||
@@ -193,6 +204,7 @@ func GetRobotCellPatterns() []HazardPattern {
|
||||
HarmDE: "Schnittwunden an Haenden und Armen.",
|
||||
AffectedDE: "Bedienpersonal, Wartungspersonal, Reinigungspersonal",
|
||||
ZoneDE: "Zugaengliche Kanten der Maschine und Einhausung",
|
||||
ISO12100Section: "6.2.2.2",
|
||||
DefaultSeverity: 2, DefaultExposure: 3,
|
||||
},
|
||||
// ================================================================
|
||||
@@ -210,6 +222,7 @@ func GetRobotCellPatterns() []HazardPattern {
|
||||
HarmDE: "Prellungen, Augenverletzungen durch abspringenden Schlauch.",
|
||||
AffectedDE: "Bedienpersonal, Wartungspersonal",
|
||||
ZoneDE: "Pneumatikschlaeuche der Automation",
|
||||
ISO12100Section: "6.3.5.4",
|
||||
DefaultSeverity: 2, DefaultExposure: 2,
|
||||
},
|
||||
{
|
||||
@@ -224,6 +237,7 @@ func GetRobotCellPatterns() []HazardPattern {
|
||||
HarmDE: "Person wird von wegfliegenden Teilen oder unkontrolliert loesenden Verbindungen getroffen. Prellungen, Schnittverletzungen.",
|
||||
AffectedDE: "Wartungspersonal, Einrichter",
|
||||
ZoneDE: "Pneumatikschlaeuche und -komponenten",
|
||||
ISO12100Section: "6.2.10",
|
||||
DefaultSeverity: 2, DefaultExposure: 2,
|
||||
},
|
||||
// HP1632 (Bersten) ist semantisch DISTINKT zu HP1630 (Abspringen).
|
||||
@@ -246,6 +260,7 @@ func GetRobotCellPatterns() []HazardPattern {
|
||||
"Sind alle Pneumatik-Komponenten (Leitungen, Dichtungen, Verbindungen) auf den Anlagen-Nenndruck nach EN ISO 4414 ausgelegt?",
|
||||
"Liegen Berstdrucknachweise der Schlauchhersteller fuer den eingesetzten Druckbereich vor?",
|
||||
},
|
||||
ISO12100Section: "6.2.10",
|
||||
DefaultSeverity: 2, DefaultExposure: 2,
|
||||
},
|
||||
// ================================================================
|
||||
@@ -263,6 +278,7 @@ func GetRobotCellPatterns() []HazardPattern {
|
||||
HarmDE: "Quetschung, Schnittverletzung durch Greiferkanten oder Werkzeug am Roboter.",
|
||||
AffectedDE: "Einrichter, Programmierer",
|
||||
ZoneDE: "Inneres der Roboterzelle, Greifer/Werkzeug am Roboterarm",
|
||||
ISO12100Section: "6.3.5.4",
|
||||
DefaultSeverity: 3, DefaultExposure: 3,
|
||||
},
|
||||
{
|
||||
@@ -291,6 +307,7 @@ func GetRobotCellPatterns() []HazardPattern {
|
||||
HarmDE: "Person wird von KSS-Strahl getroffen. Einstichverletzung, Hautreizung, Rutschgefahr.",
|
||||
AffectedDE: "Bedienpersonal, Wartungspersonal",
|
||||
ZoneDE: "Druckschlaeuche des Kuehlschmierstoffsystems, Verbindungsstellen",
|
||||
ISO12100Section: "6.3.5.4",
|
||||
DefaultSeverity: 2, DefaultExposure: 2,
|
||||
},
|
||||
{
|
||||
@@ -305,6 +322,7 @@ func GetRobotCellPatterns() []HazardPattern {
|
||||
HarmDE: "Ausrutschen und Sturz, Prellungen, Knochenbrueche.",
|
||||
AffectedDE: "Bedienpersonal, Wartungspersonal",
|
||||
ZoneDE: "Boden um Bearbeitungszentrum und Kuehlschmierstoffanlage",
|
||||
ISO12100Section: "6.3.5.6",
|
||||
DefaultSeverity: 2, DefaultExposure: 3,
|
||||
},
|
||||
{
|
||||
@@ -353,6 +371,7 @@ func GetRobotCellPatterns() []HazardPattern {
|
||||
AffectedDE: "Wartungspersonal, Einrichter",
|
||||
ZoneDE: "Zugaengliche Kabel, Klemmen, Schaltschrank",
|
||||
ClarificationQuestionsDE: []string{"Liegt ein Pruefprotokoll nach EN 60204-1 fuer die Niederspannungs-Isolation vor?", "Sind die Schutzart IP2X bzw. IPXXB an allen niederspannungsfuehrenden Gehaeusen messtechnisch nachgewiesen?"},
|
||||
ISO12100Section: "6.2.9",
|
||||
DefaultSeverity: 4, DefaultExposure: 2,
|
||||
},
|
||||
{
|
||||
@@ -369,6 +388,7 @@ func GetRobotCellPatterns() []HazardPattern {
|
||||
AffectedDE: "Bedienpersonal, Wartungspersonal",
|
||||
ZoneDE: "Beruehrbare leitfaehige Oberflaechen der Anlage",
|
||||
ClarificationQuestionsDE: []string{"Wurde der Schutzleiterwiderstand an allen leitfaehigen Oberflaechen gemessen und protokolliert?", "Liegen die Ableitstroeme unter 10 mA, oder ist einer der Massnahmen aus EN 60204-1 Ziff. 8.2.6 umgesetzt?"},
|
||||
ISO12100Section: "6.2.9",
|
||||
DefaultSeverity: 4, DefaultExposure: 2,
|
||||
},
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user