OSP-P300 Subchuck Interlock: Configuring a Part Check

Erik Lindqvist3 min read
Best PracticesOther ManufacturerSafety Systems
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

A previous collision occurred after an operator loaded the main spindle while a part remained in the subspindle. The resulting impact displaced the Y axis by 0.3 mm from perpendicular and required recalibration. Prevent recurrence by checking the subchuck state before motion, stopping with a clear removal message, and requiring a deliberate restart or reset.

Separate Chuck State From Part Presence

The available OSP example checks VORD[1147] for the subspindle unclamped state. This is a chuck-state check, not direct confirmation that the chuck is empty: an unclamped chuck may still contain material, and machine configuration may affect the permissive signal. Validate the address and its state transition on the specific machine before treating it as an interlock.

Method Supported decision Limitation
VORD[1147] check Continue when the example reports the subspindle as unclamped Does not directly detect a retained part
Repeated M00 loop Blocks progress until the condition changes and the operator restarts Depends on a trustworthy condition signal
Torque-skip probing Detects interference during a monitored axis segment Requires a validated path, limit, feed, tooling, and recovery behavior
Load monitor Detects load while monitoring is active The cited implementation can miss protection if monitoring is left off

Implement the USER TASK Check

The supplied Multus P300S example uses USER TASK logic, stops at M00, checks VORD[1147], and repeats the prompt until the check reports an unclamped subspindle. The meanings of VUACM[1], VDOUT[990], and the value 100 are not established beyond the example, so confirm them in the machine documentation and existing application code.

G270 SP=1
NTOP
M00 (REMOVE PART FROM SUB-SPINDLE)
IF [VORD[1147] EQ 0] NEND (CHECK SUB SPINDLE IS UNCLAMPED)
VUACM[1]='REMOVE PART'
VDOUT[990]=100
GOTO NTOP
NEND
M02

Place the validated check before any operation that assumes an empty subspindle. Because M00 precedes the condition test in this example, it always stops once before evaluating the state. If that behavior is undesirable, revise the sequence only after confirming the control syntax and required operator workflow.

Evaluate Torque-Skip Detection

Torque-skip provides a physical presence check independent of chuck-open status. One supplied sequence commands a monitored incremental Z travel and continues when no interference is detected:

G29 PZ=25
G91 G01 Z-100 F500 G94
G28 G90

The torque limit must not exceed the admissible upper limit configured for the torque-limit command. Do not copy the PZ=25, Z-100, or F500 values without validating clearance, direction, contact geometry, allowable force, stopping distance, and the machine's recovery response. A second approach using VLMON[1] was explicitly identified as vulnerable if load monitoring is not enabled, so it should not be the sole protection against a retained part.

Commission and Verify the Interlock

  1. Confirm whether VORD[1147] changes with the subchuck clamp state on the actual control and document which value means unclamped.
  2. Run the USER TASK check in a safe setup with the subchuck both clamped and unclamped. Verify that the program cannot reach protected motion while the blocking state remains active.
  3. Test whether an unclamped chuck can retain a part. If it can, treat the chuck-state check as insufficient and add an independently validated presence check.
  4. If using torque skip, prove the monitored path at reduced risk and confirm detection, axis stopping, message behavior, and recovery before production release.
  5. Verify that reset, restart, and program re-entry cannot bypass the check. Retain existing machine safeguards rather than using this routine as their replacement.

FAQ

Can VORD[1147] prove that the Okuma subspindle is empty?

No. The supplied example labels VORD[1147] as a subspindle-unclamped check; unclamped status does not directly prove that no part remains in the chuck.

How can an OSP-P300 program keep stopping until the subchuck is released?

Use a labeled loop containing M00, evaluate the validated chuck-state signal, and branch back to the label while the blocking condition remains. Test reset and restart behavior so the operator cannot bypass the check.

Can torque skip detect a part left in the subspindle?

It can detect interference along a validated monitored path. The cited sequence uses G29 PZ=25 with incremental Z-100 F500, but those values require machine-specific validation and must not exceed the configured admissible torque limit.

Back to blog