Can a PLC Bypass Bit Cause Catastrophic Machine Startup?

Karen Mitchell9 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

The screen shows an active force, an unexpected permissive, or equipment that no longer faults when a known bad condition occurs. Stop treating that indication as an alarm-only problem. Trace it through the HMI tag, communications path, controller status, application bypass logic, and independent electrical interlocks before authorizing motion or process startup.

What is the screen telling you?

An active-force indication means the controller may be substituting a commanded state for a physical input or output state. A normal-looking process graphic does not prove that the field device agrees. If an operator acknowledges or ignores the force warning, the displayed permissive can conceal the condition that was intended to block operation.

A commissioning failure demonstrated the consequence: a forced input made redundant controllers accept an essential run permission, the force warning did not stop startup, and a gas turbine suffered damage described in the millions of dollars. The affected field function was recalled as a bearing lube-oil pump signal, but the architectural lesson is broader. Redundancy cannot reject a false condition deliberately presented to every controller as valid.

Operator symptom Probable layer Immediate check
Force warning is active Controller force table or forced I/O Open the controller's force-status view and identify every forced point.
Permissive is true while the field condition is false Forced input, bypass branch, or wrong HMI binding Compare the raw input, interpreted tag, permissive result, and physical feedback.
Equipment does not fault during a known fault condition Latent bypass or suppressed alarm path Cross-reference the controlling bit and inspect every write and use.
Logic changes have no effect Controller not running or routine not executing Confirm run mode and verify that the routine is called by the active task or main routine.
A mechanical event follows an online change Control change or unrelated mechanical defect Compare event timestamps, commanded states, feedback, and physical evidence before assigning cause.

Before proceeding, confirm that the screen indication matches a live controller read and record whether forces are enabled, installed, or absent.

Is the condition a force or an application bypass?

A force and a bypass can produce the same operator symptom but require different removal methods. A force belongs to the controller's online force mechanism and overrides an I/O value or another forceable object. An application bypass is ordinary program logic: a bit, word member, latch, branch, test mode, or maintenance selection that changes a permissive, sequence, or alarm result.

Condition Location Effect How to find it
Forced point Controller force table Substitutes a commanded state for the evaluated value Use the controller-wide force-status and force list.
Bypass bit Application logic Skips an interlock, sequence step, or fault path Cross-reference the bit and inspect all writers and readers.
master test bit Application logic May enable multiple temporary branches at once Search the entire project and inspect the first-scan reset behavior.
Bypass word Grouped application data Collects multiple bypass states for inspection Expand the word online and verify that every member is clear.
HMI-only indication HMI tag or communications driver Can show a stale or incorrectly bound value Compare the HMI value with the controller tag and communications quality.

Do not clear the first plausible bit and declare the system ready. First classify every abnormal state as a controller force, an application bypass, an HMI binding problem, or a stale display value. The check passes when each visible warning has one identified source.

Which tag actually controls the permissive?

Start with the graphic object or alarm the operator sees. Open its tag binding, identify the driver connection and controller tag, and compare the displayed value with the live controller value. If they disagree, the tag may be right while the binding is wrong: inspect the configured controller path, tag name, array or word member, data type, and communications quality.

If the HMI and controller agree, cross-reference the controller tag before toggling or unlatching it. A seemingly random bit can be an old bypass selector with wide consequences. In one production incident, toggling a bit reactivated bypass logic that had remained in the program for seven years. That logic skipped sequence steps and suppressed multiple faults; the failure was detected only when operators noticed that equipment did not fault as expected. The result was a product recall valued at $200,000.

  1. Locate the HMI object or alarm and record its bound tag.
  2. Verify communications quality and compare the HMI value with the live controller value.
  3. Cross-reference the controller tag globally.
  4. List every instruction that writes the tag, including latches, moves, initialization logic, recipes, test logic, and HMI commands.
  5. List every permissive, sequence, output, and alarm that reads it.
  6. Confirm that each routine containing those references executes in the active controller mode.

The trace is complete only when a controlled change at the field input can be followed through the raw tag, interpreted condition, bypass branch, final permissive, and HMI indication without an unexplained transition.

How should active bypasses be inventoried before startup?

Build one startup hold point around all temporary states. A controller-wide force list catches force-table entries, while a dedicated bypass word or grouped bypass structure makes application overrides visible as a set. Both configurations work because they solve different discovery problems; use both when the project contains controller forces and programmed bypasses.

Prefix temporary commissioning tags with an underscore, such as an _-prefixed name, so a project-wide search returns them together. Naming improves discovery but does not make the tag safe. Record the owner, reason, affected interlock, date applied, removal condition, and current state outside the logic as part of the commissioning checklist.

Startup review item Location Effect if missed
Installed controller forces Online force list Field state may be replaced by a commanded value.
Temporary _-prefixed tags Project-wide search Commissioning branches may remain enabled.
Bypass word members Online data view One or more interlocks or alarms may be skipped.
Latched test selections Cross-reference and startup logic State may survive longer than the commissioning action.
Uncalled routines Task and main-routine execution tree Reset or protection logic may exist but never execute.
Controller mode Controller status Expected logic may not be executing because the controller is not in run mode.

The startup review passes when the force list, temporary-tag search, bypass group, execution tree, and controller mode have been checked by state rather than by memory.

How do you clear a bypass without creating a new hazard?

Place the machine or process in a defined non-running state before changing override logic. Remove the bypass at its source, then prove that no other writer restores it. Clearing only the HMI command, only the displayed alarm, or only one instance of a reused bit can leave the controlling path active.

  1. Stop the affected sequence and establish the required physical safeguards for the equipment.
  2. Capture the current force list, bypass states, permissives, alarms, and relevant feedback for comparison.
  3. Remove controller forces individually and observe the raw field value that returns.
  4. Unlatch or reset programmed bypasses through their designed reset path.
  5. Cross-reference each cleared state and confirm that no initialization, HMI command, recipe, or inactive routine can rewrite it.
  6. Verify that the actual field condition now determines the permissive.
  7. Test the associated alarm and trip with startup still inhibited.

A first-scan unlatch of a master test bit can prevent a retained test state from surviving a controller restart. It is a cleanup layer, not startup authorization: a restart can also clear the bit while field equipment remains in an abnormal condition. Hold startup until field feedback and every required protection are independently healthy.

The removal check passes when forcing the field condition false makes the raw status false, the final permissive false, the associated alarm active, and the equipment unable to start.

What prevents one bypass from defeating every protection layer?

Do not feed one unchecked bypass bit into multiple redundant controllers and call the result redundant. Common logic produces a common-mode defeat. Each controller must receive valid field information, and the architecture must prevent a shared test command from silently declaring an essential service healthy.

High-consequence motion or process hazards also need an independent electrical protection path where the risk assessment requires it. Control logic, relays, sensors, wiring, and mechanical devices can each fail. Independence matters only when a failure or bypass in one layer cannot simultaneously neutralize the others.

Redundant sensing requires explicit degraded-mode behavior. Deactivating one sensor may be acceptable only when the remaining channel is healthy, disagreement diagnostics remain active, and the resulting operating restriction is defined. A loud mechanical event shortly after an online change is not proof that the change caused it: on a machine with a moving mass reported at about 20 tons, a bang roughly three seconds after a sensor was deactivated came from a loose sign being crushed, not from the sensor change. Diagnose from commands, feedback, alarms, timestamps, and inspection.

The architecture check passes when one forced input, one programmed bypass, or one failed relay cannot both authorize the hazard and suppress the indication intended to reveal it.

How do you prove the full path before releasing the system?

Run an end-to-end test from the physical condition to the operator display. Watching a bit change online proves only one internal node. The final test must exercise the protection path, startup denial, alarm presentation, reset behavior, and recovery after the condition becomes healthy.

  1. Confirm the controller is in run mode and every protection routine is executing from the active task or main routine.
  2. Verify that the force list is clear or contains only formally authorized items outside the test scope.
  3. Verify that every bypass word member, master test bit, and temporary _-prefixed state is clear.
  4. Introduce the test fault through the field device or an approved test method at the closest practical point to it.
  5. Observe the raw input, interpreted status, interlock, final permissive, output command, alarm, and HMI indication in order.
  6. Attempt the prohibited start and confirm that the controller and independent protection prevent it.
  7. Restore the field condition, apply the designed reset, and confirm that the system does not restart without the required operator command.
  8. Restart the controller under the approved commissioning procedure, then repeat the force, bypass, execution, alarm, and startup-denial checks.

Release the system only after the recorded test shows the real field condition removing the permissive, blocking the start, producing the expected alarm, and requiring the designed reset and start sequence after recovery.

FAQ

Can I clear the force warning and start the machine?

No. Open the controller force list, identify every forced point, restore the physical input path, and test the associated interlock and alarm with startup inhibited before authorizing operation.

Can I use a first-scan unlatch for every bypass?

Use a first-scan unlatch for the master test bit as a cleanup layer, but also cross-reference every writer and verify field conditions after restart. Clearing memory does not prove that the equipment is safe to start.

Does a clear HMI alarm prove the bypass is gone?

No. Compare the HMI tag with the live controller value, confirm that the force list and bypass group are clear, introduce the real fault condition, and perform the final verification by proving the permissive drops, the alarm appears, and the prohibited start is blocked.

Back to blog