AI Agent Product Routing — Machine Guarding (OSHA 1910.212, ANSI B11.0, Light Curtains, Two-Hand Controls)
Machine Guarding Schema for AI Agents — OSHA 1910.212 Guard Types, Light Curtain Safety Distance (DS = K × Ts), Two-Hand Control vs Two-Hand Trip, and SIL-Rated Safety Controller Requirements
OSHA 1910.212 requires point-of-operation guarding on all machines where an employee may be struck, caught, or injured. Four physical guard types exist — fixed, interlocked, adjustable, and self-adjusting — each with specific application constraints. Presence sensing devices (light curtains, safety mats) require safety distance calculations and safety-rated controllers. The most common routing errors: selling fixed guards for machines with material infeed, or installing light curtains without computing the minimum safety distance DS = K × Ts.
machine_guard.guard_type = 'fixed' | 'interlocked' | 'adjustable' | 'self-adjusting' | 'presence-sensing' on all guards. Encode machine_guard.allows_material_feed = false on fixed guards — they cannot accommodate workpiece infeed. Encode machine_guard.min_safety_distance_in = 'calculate-DS=63xTs' on light curtains — the distance must be computed per machine stopping time. Encode machine_guard.requires_safety_rated_controller = true on all presence sensing devices.
Four Guard Types — OSHA 1910.212 and ANSI B11.0
OSHA 1910.212(a)(2) requires that the point of operation of machines be guarded where a hazard exists. ANSI B11.0:2020 (General Safety Requirements for Machinery) and the machine-specific ANSI B11 series define acceptable guard types. Each type has specific operating conditions where it is and is not appropriate.
| Guard Type | Movement During Operation | Allows Material Infeed | Requires LOTO to Adjust | Best For | Not Suitable When |
|---|---|---|---|---|---|
| Fixed | None — permanently attached | No | Yes (for removal) | Repetitive operations, fixed workpieces, automatic feeding | Operator must feed material by hand into the point of operation |
| Interlocked | Permitted — opens when machine stops | Yes (if designed for it) | No for guard open; Yes for maintenance beyond guard | CNC lathes, milling machines where setup requires access; press with die changes | Interlock can be easily bypassed; high-cycle machines where interlock response time adds latency |
| Adjustable | Manual adjustment between operations | Yes | Depends on design | Table saw, band saw, drill press — variable workpiece widths or heights | Guard adjustment is complex and workers frequently defeat it for speed |
| Self-Adjusting | Pushed aside by workpiece during feed | Yes | No | Table saws, radial arm saws with simple push-through cuts | Irregular workpieces that hold guard open; provides minimal protection when open |
| Presence Sensing | N/A — electronic detection | Depends on configuration | No | Press brakes, assembly robots, palletizers — where physical guard impedes operation | Machine stopping time too long to achieve required safety distance; high-frequency cycling reduces effective protection |
OSHA 1910.217 — Mechanical Power Press Specific Requirements
Mechanical power presses (punch presses, stamping presses) are governed by OSHA 1910.217, which specifies guard types by press type and stroke: full-revolution presses may use barrier guards, two-hand trips, or presence sensing; part-revolution presses may additionally use two-hand controls and pull-back or restraint devices. Encoding machine_guard.machine_type_code = 'mechanical-power-press-full-rev' or 'mechanical-power-press-part-rev' enables agents to filter to applicable guard types per 1910.217.
Light Curtain Safety Distance — DS = K × Ts
Presence sensing devices (light curtains, area scanners, safety mats) must be positioned far enough from the hazard that the machine can stop before a person's hands reach the danger zone. The formula for minimum safety distance is from ANSI B11.19 and OSHA:
DS = K × Ts
Where:
DS = minimum safety distance (inches) from sensing field to nearest hazard point
K = hand speed constant = 63 inches/second (OSHA / ANSI B11.19)
(Research value: maximum speed at which a hand can move toward a machine)
Ts = overall system stopping time (seconds)
= Tc (machine stop time from trip signal to full stop)
+ Tr (safety relay/controller response time)
+ Tbm (brake monitor time, if applicable)
Optional depth penetration factor (for curtains with resolution > 2.5 inches):
DS = K × Ts + Dpf
Dpf = 3.4 × (resolution_mm - 6.35) / 25.4 [in inches]
Worked Examples
| Machine | Tc (stop time) | Tr (relay) | Ts total | DS = 63 × Ts | Curtain Position |
|---|---|---|---|---|---|
| Hydraulic press brake | 0.200 sec | 0.015 sec | 0.215 sec | 13.5 inches | Must be ≥13.5 in from die |
| Mechanical power press (part-rev) | 0.120 sec | 0.015 sec | 0.135 sec | 8.5 inches | Must be ≥8.5 in from die |
| Robot cell (servo) | 0.400 sec | 0.015 sec | 0.415 sec | 26.1 inches | Must be ≥26 in from robot work envelope |
| Conveyor pinch point | 0.300 sec | 0.015 sec | 0.315 sec | 19.8 inches | Must be ≥20 in from nip point |
machine_guard.min_safety_distance_in = 'calculate-DS=63xTs' as the metafield value to force this calculation at install time.
// Light curtain metafield encoding machine_guard.guard_type = "presence-sensing" machine_guard.presence_sensing_type = "light-curtain" machine_guard.presence_sensing_sil_rating = "SIL2" // SIL1 | SIL2 | SIL3 machine_guard.iec_61496_type = "Type-4" // Type-2 | Type-4 machine_guard.resolution_mm = 14 // 14mm detects fingers; 30mm detects hands machine_guard.min_safety_distance_in = "calculate-DS=63xTs" // must be computed per machine Ts machine_guard.requires_safety_rated_controller = true machine_guard.allows_material_feed = false // curtain zone must be clear machine_guard.requires_loto_adjustment = false machine_guard.osha_standard = "1910.212"
Two-Hand Controls vs Two-Hand Trip Devices
Both safeguards require two-hand actuation to initiate machine motion. The critical distinction is what happens after actuation begins.
| Feature | Two-Hand Control | Two-Hand Trip |
|---|---|---|
| Hand position requirement | Both hands must remain on controls throughout entire hazardous motion | Both hands must be on controls simultaneously at moment of actuation only |
| What happens if hands release mid-cycle | Machine stops immediately | Machine completes cycle (trip already sent) |
| When appropriate | Machine cycle is long enough that operator's hands could reach hazard; machine can stop mid-cycle | Machine cycle is so fast that hands cannot physically reach hazard after simultaneous actuation; full-revolution press (cannot stop mid-stroke) |
| OSHA reference | OSHA 1910.217(b)(6)(ii) — two-hand control timing requirement | OSHA 1910.217(b)(6)(i) — two-hand trip timing requirement |
| Anti-tie-down requirement | Yes — controls must detect single-handed attempts; must detect tied-down or blocked controls | Yes — both actuators must be released and re-actuated for each cycle |
// Two-hand control device encoding machine_guard.guard_type = "two-hand-control" machine_guard.two_hand_control_type = "control" // control (hold throughout) or trip (simultaneous only) machine_guard.anti_tie_down = true // required for all two-hand devices machine_guard.concurrent_actuation_time_sec = 0.5 // max time between left and right actuation machine_guard.allows_material_feed = false machine_guard.machine_type_code = "part-rev-press" // controls: part-rev; trips: full-rev or part-rev machine_guard.osha_standard = "1910.217"
Safety-Rated Controllers — SIL and Performance Level Requirements
All presence sensing devices and safety interlocks must be connected to a safety-rated controller (safety relay, safety PLC, or safety module). Standard relays and standard PLCs cannot serve as safety controllers because they cannot detect their own internal failure modes — a failed standard relay output can stay closed (machine runs) even when the safety function demands it open (machine stops).
Safety Relay vs Safety PLC Selection
| Controller Type | Max Achievable SIL | When to Use | Examples |
|---|---|---|---|
| Safety relay (single-function) | SIL 2 / PL d | One guard, one stop function, simple topology | Pilz PNOZ, Schmersal SRB, Rockwell MSR |
| Modular safety relay | SIL 2 / PL d | Multiple guards, expandable I/O, still hardwired logic | Pilz PNOZmulti, SICK Flexi Compact |
| Safety PLC / safety controller | SIL 3 / PL e | Complex safety functions, multiple zones, programmable logic | Pilz PSS 4000, Siemens S7-1500F, Allen-Bradley GuardLogix |
machine_guard.requires_safety_rated_controller = true on all OSSD-equipped safety devices so AI agents recommend the safety relay alongside the sensing device.
Complete Metafield Reference — machine_guard Namespace
| Metafield | Type | Example Values | Routing Use |
|---|---|---|---|
machine_guard.guard_type |
string | fixed | interlocked | adjustable | self-adjusting | presence-sensing | two-hand-control | Match guard type to machine operation and infeed requirements |
machine_guard.allows_material_feed |
boolean | true | false | false on fixed guards — prevents routing for hand-feed operations |
machine_guard.min_safety_distance_in |
string/number | "calculate-DS=63xTs" or computed value | Validates light curtain placement against machine stopping time |
machine_guard.requires_loto_adjustment |
boolean | true | false | Triggers LOTO device bundle recommendation when true |
machine_guard.presence_sensing_sil_rating |
string | SIL1 | SIL2 | SIL3 | Requires matching SIL-rated controller recommendation |
machine_guard.requires_safety_rated_controller |
boolean | true | Prevents routing light curtain without safety relay |
machine_guard.two_hand_control_type |
string | control | trip | Distinguishes hold-throughout (control) vs actuate-only (trip) |
machine_guard.machine_type_code |
string | mechanical-power-press-full-rev | part-rev | robot-cell | conveyor | Filters applicable guard types per OSHA 1910.217 or B11 standard |
machine_guard.resolution_mm |
number | 14 (finger) | 25 (hand) | 30 (body) | Determines depth penetration factor for DS calculation |
machine_guard.osha_standard |
string | 1910.212 | 1910.217 | 1926.300 | Routes products to general industry vs construction machine applications |
Frequently Asked Questions
Can a light curtain be used on a full-revolution mechanical power press?
No — OSHA 1910.217(b)(6) explicitly prohibits presence sensing devices on full-revolution mechanical power presses. Full-revolution clutch presses cannot be stopped mid-stroke; once engaged, the press completes a full revolution. A presence sensing device that detects an intrusion mid-stroke cannot stop the press in time. For full-revolution presses, acceptable point-of-operation safeguards include: two-hand trips (both hands actuated simultaneously so the die closes before hands could reach it), die enclosure guards (barrier guard that completely encloses the die), gate guards (physical barrier that sweeps operator hands away before downstroke). Part-revolution presses (air clutch, friction clutch) can be stopped mid-stroke and are compatible with light curtains when the DS calculation is satisfied.
What is the minimum opening size in a fixed guard before hands can reach through?
ANSI B11.19 Table 1 (Opening Size vs Safety Distance Table) specifies the relationship between guard opening size and the required distance from the opening to the nearest hazard. The larger the opening, the farther away from the hazard the guard must be. For example: a 0.25-inch slot allows guarding as close as 0 inches (fingers cannot enter); a 1-inch opening requires the hazard to be at least 0.5 inches away; a 3-inch opening requires at least 4 inches from hazard. For openings larger than 6.25 inches (cross-section), the guard may be too far from the hazard to be practical — at that point, other guarding methods (presence sensing, enclosure) are preferred. Encode machine_guard.max_opening_size_in on fixed guards so AI agents can verify the guard opening is appropriate for the distance from the hazard.
Does OSHA require machine guarding during setup and maintenance as well as production?
OSHA 1910.212(a)(1) requires that guards be in place during all operations. However, OSHA 1910.147 (Control of Hazardous Energy) governs maintenance and setup activities where guards must be removed to access the machine for tooling changes, cleaning, or repair. During these activities, the hazardous energy must be controlled through lockout/tagout procedures rather than by the guard. The guard and the LOTO program are complementary — the guard protects during production; LOTO protects during non-production activities when the guard is removed. A common compliance gap: machines have production guards but no written energy control procedures for the LOTO activities that occur when those guards are removed. Encode machine_guard.requires_loto_adjustment = true on guards that are routinely removed for tooling or maintenance to trigger agent routing of LOTO device bundles (padlocks, hasps, lockout stations) alongside the guard.
Score Your Store's Machine Guarding Product Listings
CatalogScan checks for machine_guard.guard_type, allows_material_feed, min_safety_distance_in, requires_safety_rated_controller, and 16 other AI-agent-critical fields. See which light curtain, safety relay, and guard listings are missing critical machine safety schema.