772ff35e8d
- M600-M604: lift endstop mitigations (Kriechgeschwindigkeit, Schaltleiste, Mindestabstand, Hold-to-run, Trittblech) — cite OSHA + EN ISO identifiers - HP2100-HP2102: body-part crush patterns for lift family (foot under platform, hand/body against fixed structure, leg between lift and lateral structure), restricted via MachineTypes filter - pattern_machinetype_overrides.go: post-load pass fills MachineTypes on 14 legacy patterns (HP1000 Walzen, HP539 Schweiss, HP545/HP782 Glas, HP756/HP757/HP760 Fahrtreppe, HP1400-1402 CNC, HP045/HP049 Pressen, HP420-422 Conveyor) to prevent drift on Kistenhubgeraet-style projects Why: Kistenhubgeraet re-init exposed two gaps — the abstract "Bremse versagt bei Absenkbewegung" pattern fired but the concrete foot-crush body-part variant was missing, AND ~10 unrelated patterns fired purely because their RequiredTags incidentally aligned. Override map avoids touching 1000+ LOC pattern files that already exceed the soft cap. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
135 lines
6.3 KiB
Go
135 lines
6.3 KiB
Go
package iace
|
|
|
|
// Lift / hoist / scissor-lift endstop mitigations — bridges the OSHA
|
|
// minimum-distance library (minimum_distances.go, Task #18) into the
|
|
// pattern-engine measure library. Each entry cites the concrete OSHA
|
|
// value AND its EU-norm pendant by identifier only.
|
|
//
|
|
// Engineering rounding values come from MD_OSHA_* IDs in
|
|
// minimum_distances.go. We do not duplicate the source text here —
|
|
// the Tech-File renderer can join MD_OSHA_* into the rendered text
|
|
// at output time.
|
|
|
|
func getLiftEndstopMeasures() []ProtectiveMeasureEntry {
|
|
return []ProtectiveMeasureEntry{
|
|
// M600 — Cruise/creep speed at end of travel
|
|
{
|
|
ID: "M600",
|
|
ReductionType: "protection",
|
|
SubType: "speed_control",
|
|
Name: "Kriechgeschwindigkeit am Endanschlag (Hubgeraete)",
|
|
Description: "Hubgeschwindigkeit am Ende der Verfahrbewegung (oben und unten) auf maximal 15 mm/s " +
|
|
"reduzieren. OSHA 29 CFR 1910.217 Hand-Speed-Konstante 63 in/s = 1.600 mm/s als Obergrenze " +
|
|
"fuer Stopp-Reaktionszeit. Damit ist auch bei spaeter Auslosung der Quetsch-Schaltleiste " +
|
|
"genug Bremsweg vorhanden.",
|
|
HazardCategory: "mechanical",
|
|
Examples: []string{
|
|
"Hub-Endschalter mit Soft-Stop und Geschwindigkeitsstufe < 15 mm/s in den letzten 50 mm",
|
|
"Servo-Antrieb mit Ramp-down-Profil ueber die letzten 100 mm Verfahrweg",
|
|
"Drehzahl-Begrenzer im Frequenzumrichter mit Endlagen-Trigger",
|
|
},
|
|
NormReferences: []string{
|
|
"OSHA 29 CFR 1910.217 (Ds = 63 in/s x Ts)",
|
|
"EN ISO 13855 (Anordnung von Schutzeinrichtungen)",
|
|
"EN 1570-1 (Hubtische — Bauanforderungen)",
|
|
},
|
|
RiskReduction: &RiskReduction{SeverityDelta: -1, ExposureDelta: -1, ProbabilityDelta: -1},
|
|
Tags: []string{"crush_point", "gravity_risk", "speed_limit"},
|
|
},
|
|
// M601 — Trip-edge sensor under platform (safety bumper)
|
|
{
|
|
ID: "M601",
|
|
ReductionType: "protection",
|
|
SubType: "safety_device",
|
|
Name: "Quetsch-Schaltleiste unterhalb der Hubplattform",
|
|
Description: "Druckempfindliche Schaltleiste (gemaess EN ISO 13856-2) am unteren Rand der Hubplattform " +
|
|
"loest bei Beruehrung den Hubantrieb sofort aus und kehrt die Bewegung um. Verhindert Quetschung " +
|
|
"von Fuessen oder Beinen unter absenkender Last. PL c oder hoeher nach EN ISO 13849-1.",
|
|
HazardCategory: "mechanical",
|
|
Examples: []string{
|
|
"Schaltleiste umlaufend an Bodenkante der Hubplattform",
|
|
"Trittschutz mit redundanter Auswertung am Hubtisch",
|
|
"Lichtgitter im Bodenbereich als Ergaenzung bei freistehenden Anlagen",
|
|
},
|
|
NormReferences: []string{
|
|
"EN ISO 13856-2 (Schaltleisten)",
|
|
"EN ISO 13849-1 (PL-Bestimmung)",
|
|
"EN 1570-1",
|
|
},
|
|
RiskReduction: &RiskReduction{SeverityDelta: -2, ExposureDelta: -2, ProbabilityDelta: -2},
|
|
Tags: []string{"crush_point", "gravity_risk", "safety_device"},
|
|
},
|
|
// M602 — Minimum clearance to fixed structure above max lift position
|
|
{
|
|
ID: "M602",
|
|
ReductionType: "design",
|
|
SubType: "geometry",
|
|
Name: "Mindestabstand zu festen Strukturen oberhalb der Hubendlage",
|
|
Description: "Zwischen hoechstem Punkt der Hubeinheit (mit beladenem Werkstueck) und festen Strukturen " +
|
|
"oberhalb (Decke, Vorbau, Querbalken) muss ein Sicherheitsabstand verbleiben, der das Quetschen " +
|
|
"von Haenden und Koerper verhindert. Empfehlung: 120 mm fuer Kopf, 100 mm fuer Hand, 25 mm fuer " +
|
|
"Finger — abgeleitet aus EN 349 / EN ISO 13854 unabhaengig zu pruefen.",
|
|
HazardCategory: "mechanical",
|
|
Examples: []string{
|
|
"Konstruktive Begrenzung der oberen Hubposition durch mechanischen Anschlag",
|
|
"Software-Endlage mit redundantem Hardware-Sicherheitsschalter",
|
|
"Auslegungs-Pruefung mit beladener Standard-Palette und Maximal-Hubhoehe",
|
|
},
|
|
NormReferences: []string{
|
|
"EN 349 (Mindestabstaende gegen Quetschen von Koerperteilen)",
|
|
"EN ISO 13854 (Mindestabstaende gegen Quetschen)",
|
|
"OSHA 29 CFR 1910.212(a)(5) (Lueftergitter ≤ 1/2 in als Anker)",
|
|
},
|
|
RiskReduction: &RiskReduction{SeverityDelta: -2, ExposureDelta: -1},
|
|
Tags: []string{"crush_point", "gravity_risk"},
|
|
},
|
|
// M603 — Hold-to-run with two-hand operation for manual descent
|
|
{
|
|
ID: "M603",
|
|
ReductionType: "protection",
|
|
SubType: "control_device",
|
|
Name: "Tippbetrieb / Hold-to-run beim Absenken (mit Verifikations-Nachweis)",
|
|
Description: "Absenken nur im Tippbetrieb (Hold-to-run): Bedientaster muss waehrend des gesamten " +
|
|
"Absenkvorgangs gedrueckt gehalten werden. Bei Loslassen stoppt die Bewegung sofort. " +
|
|
"Im Limits-Form als 'Tippbetrieb' deklariert — durch Tests verifizieren (Stop-Reaktionszeit " +
|
|
"<= 0,3 s im voll beladenen Zustand).",
|
|
HazardCategory: "mechanical",
|
|
Examples: []string{
|
|
"Tipptaster mit elektrischer Selbstrueckstellung",
|
|
"Zweihand-Bedienung fuer kritische Absenk-Bereiche (Tipp + Zustimmtaster)",
|
|
"Pruefprotokoll Stop-Zeit gemaess EN ISO 13849-1 PL c",
|
|
},
|
|
NormReferences: []string{
|
|
"EN ISO 13849-1 (Sicherheitsbezogene Steuerungsteile)",
|
|
"EN ISO 13851 (Zweihandschaltungen)",
|
|
"BetrSichV § 4 (Schutzmassnahmen)",
|
|
},
|
|
RiskReduction: &RiskReduction{SeverityDelta: -1, ExposureDelta: -2, ProbabilityDelta: -1},
|
|
Tags: []string{"crush_point", "gravity_risk", "control_device"},
|
|
},
|
|
// M604 — Underrun guard / kick plate at platform base
|
|
{
|
|
ID: "M604",
|
|
ReductionType: "design",
|
|
SubType: "geometry",
|
|
Name: "Trittblech / Unterfahrschutz an der Hubplattform",
|
|
Description: "Unter der Hubplattform befindet sich ein umlaufendes Trittblech oder Unterfahrschutz, " +
|
|
"das das Hineinfahren von Fuessen unter die Plattform mechanisch verhindert. Hoehe ueber Boden " +
|
|
"maximal 5 mm in unterster Stellung. Trittblech haelt die Last eines Schuhs (mind. 150 kg) " +
|
|
"ohne Verformung.",
|
|
HazardCategory: "mechanical",
|
|
Examples: []string{
|
|
"Umlaufendes Stahlblech 3 mm Wandstaerke mit Fasen-Kante",
|
|
"Kombination mit M601 (Schaltleiste) als doppelte Sicherung",
|
|
"Pruefung jaehrlich auf Verformung und Funktion der Auflage",
|
|
},
|
|
NormReferences: []string{
|
|
"EN 1570-1 (Hubtische)",
|
|
"EN ISO 13857 (Sicherheitsabstaende)",
|
|
},
|
|
RiskReduction: &RiskReduction{SeverityDelta: -2, ExposureDelta: -1},
|
|
Tags: []string{"crush_point", "gravity_risk"},
|
|
},
|
|
}
|
|
}
|