13. Electrical Interlocking in PLC Programs


0
Categories : PLC Foundations

An interlock is a condition used to prevent two incompatible or unsafe actions from happening at the same time.

In simple words:

An interlock blocks an action when another condition makes that action unsafe or incorrect.

In PLC programming, interlocks are used to protect machines, motors, actuators, valves, and operators from conflicting commands.

Common examples:

Do not run Forward and Reverse at the same time.
Do not Open and Close a valve at the same time.
Do not Extend and Retract a cylinder at the same time.
Do not Close a door if the photoeye is blocked.
Do not start a pump if tank level is too low.
Do not start a conveyor if downstream equipment is faulted.

In motor control circuits, interlocking contacts are used to prevent incompatible actions. A classic reversing starter uses interlocks so the Forward and Reverse contactors cannot energize at the same time, because that would create a phase-to-phase short circuit.


Why Interlocks Are Important

Without interlocks, a PLC program may allow two commands that should never happen together.

Example:

Forward_Command = ON
Reverse_Command = ON

This is dangerous in a reversing motor starter.

Another example:

Valve_Open_Command = ON
Valve_Close_Command = ON

This can damage a valve actuator or create unstable operation.

Another example:

Door_Close_Command = ON
Photoeye_Blocked = ON

This can create a machine hazard or product damage.

The purpose of an interlock is to prevent incompatible events from occurring. Electrical interlocks govern related operations, while mechanical interlocks physically prevent certain actions from occurring.


Interlock vs Permissive

Many technicians confuse permissives and interlocks.

They are related, but they are not exactly the same.

Permissive

A permissive is a required condition that must be healthy before an action is allowed.

Example:

Motor can start only if:
E-Stop OK
AND Stop circuit OK
AND Overload OK
AND VFD Ready

A permissive says:

“Are we allowed to start?”

Interlock

An interlock blocks an action because another conflicting or unsafe action is active.

Example:

Forward cannot run if Reverse is active.
Open cannot run if Close is active.
Close cannot run if Photoeye is blocked.

An interlock says:

“Is something active that must prevent this action?”

Simple Difference
ConceptMain PurposeExample
PermissiveAllows action only when required conditions are OKMotor can start if overload is OK
InterlockBlocks action when a conflicting condition existsMotor cannot run forward if reverse is active

A clean PLC program usually has both.


Electrical Interlock vs Mechanical Interlock

Interlocking can exist in different layers.

1. PLC Logic Interlock

This is done in the PLC program.

Example:

Forward_Request AND NOT Reverse_Command = Forward_Command

The PLC logic prevents both commands from being ON at the same time.


2. Electrical Interlock

This is done with hardwired auxiliary contacts.

Example:

Reverse contactor NC auxiliary contact in series with Forward coil
Forward contactor NC auxiliary contact in series with Reverse coil

In a reversing starter, each contactor commonly has a normally closed auxiliary contact wired in series with the opposite coil. This prevents one contactor from energizing if the opposite contactor is already energized.


3. Mechanical Interlock

This is a physical mechanism between contactors.

Example:

Forward contactor physically prevents Reverse contactor from pulling in.
Reverse contactor physically prevents Forward contactor from pulling in.

Some reversing starters use mechanical interlocking so both contactors cannot physically actuate at the same time. It is common to use both electrical and mechanical interlocking for extra protection.


Important Safety Note

PLC logic interlocks are helpful, but they should not be the only protection for dangerous conditions.

For critical safety functions, use proper safety-rated hardware and design.

Examples:

Safety relay
Safety PLC
Dual-channel safety inputs
Safety contactors
Safety-rated interlock switches
Light curtains
E-Stop safety circuit

A normal PLC interlock is good for machine logic, but safety functions require safety-rated design.


Basic Forward / Reverse Interlock

A forward/reverse motor circuit is the classic interlock example.

Problem

A three-phase motor reverses direction when two motor phases are swapped.

A reversing starter uses two contactors:

Forward contactor
Reverse contactor

If both contactors energize at the same time, it can create a short circuit.

So the logic must prevent this:

Forward_Command = ON
Reverse_Command = ON

Forward Command Logic
Forward_Request
AND Motor_Permissive_OK
AND NOT Reverse_Command
AND NOT Fault_Active
= Forward_Command

Ladder concept:

Forward_Request   Motor_Permissive_OK   Reverse_Command   Fault_Active      Forward_Command
----] [----------------] [----------------]/[---------------]/[--------------------( )----

This means:

Forward can run only if Reverse is not active.

Reverse Command Logic
Reverse_Request
AND Motor_Permissive_OK
AND NOT Forward_Command
AND NOT Fault_Active
= Reverse_Command

Ladder concept:

Reverse_Request   Motor_Permissive_OK   Forward_Command   Fault_Active      Reverse_Command
----] [----------------] [----------------]/[---------------]/[--------------------( )----

This means:

Reverse can run only if Forward is not active.

This is cross-interlocking.


Cross-Interlocking

Cross-interlocking means each command blocks the opposite command.

Example:

Forward_Command blocks Reverse_Command.
Reverse_Command blocks Forward_Command.

This pattern is used for many devices:

Forward / Reverse
Open / Close
Extend / Retract
Raise / Lower
Heat / Cool
Fill / Drain
Clamp / Unclamp

The idea is simple:

Command A cannot be ON when Command B is ON.
Command B cannot be ON when Command A is ON.

Example: Open / Close Valve Interlock

A motorized valve may have two commands:

Valve_Open_Command
Valve_Close_Command

You should not energize both at the same time.

Open Logic
Open_Request
AND NOT Close_Command
AND NOT Valve_Fully_Open
AND Valve_Permissive_OK
= Valve_Open_Command
Close Logic
Close_Request
AND NOT Open_Command
AND NOT Valve_Fully_Closed
AND Valve_Permissive_OK
= Valve_Close_Command

This prevents both directions from being active at once.


Example: Door Open / Close Interlock

Industrial doors are a great example.

Open Command
Open_Request
AND NOT Close_Command
AND NOT Door_Fully_Open
AND Stop_OK
AND NOT Fault_Active
= Open_Command
Close Command
Close_Request
AND NOT Open_Command
AND NOT Door_Fully_Closed
AND Stop_OK
AND NOT Fault_Active
AND NOT Photoeye_Blocked
= Close_Command

Here, the photoeye acts as an interlock for closing.

If the photoeye is blocked, the door cannot close.

That is a practical machine interlock.


Example: Cylinder Extend / Retract Interlock

A pneumatic cylinder may use two solenoids:

Extend solenoid
Retract solenoid

Do not energize both.

Extend Logic
Extend_Request
AND NOT Retract_Command
AND NOT Cylinder_Extended
AND AirPressure_OK
= Extend_Command
Retract Logic
Retract_Request
AND NOT Extend_Command
AND NOT Cylinder_Retracted
AND AirPressure_OK
= Retract_Command

This is the same logic pattern.


Interlock Bits

A professional PLC program may create separate interlock bits.

Example:

Intlk_Forward_Blocked
Intlk_Reverse_Blocked
Intlk_Open_Blocked
Intlk_Close_Blocked
Intlk_Photoeye_Blocked
Intlk_OppositeCommand

Then the command logic becomes easier to read.

Example:

Forward_Request
AND Motor_Permissive_OK
AND NOT Intlk_Forward_Blocked
= Forward_Command

This is cleaner than putting every condition directly into one huge rung.


Professional Interlock Structure

A clean structure may look like this:

1. Build Requests
2. Build Permissives
3. Build Interlocks
4. Build Commands
5. Map Outputs
6. Verify Feedback
7. Generate Faults

Example:

Forward_Permissive_OK
Reverse_Permissive_OK
Intlk_Forward_Blocked
Intlk_Reverse_Blocked
Forward_Command
Reverse_Command
DO_Forward_Contactor
DO_Reverse_Contactor
DI_Forward_FB
DI_Reverse_FB

This makes troubleshooting much easier.


Forward / Reverse Example with Interlock Bits

Interlock Logic
Forward_Command → Intlk_Reverse_Blocked
Reverse_Command → Intlk_Forward_Blocked
Command Logic
Forward_Request
AND Motor_Permissive_OK
AND NOT Intlk_Forward_Blocked
= Forward_Command
Reverse_Request
AND Motor_Permissive_OK
AND NOT Intlk_Reverse_Blocked
= Reverse_Command

This reads naturally:

Forward is blocked if Reverse is active.
Reverse is blocked if Forward is active.

Hardware Interlock Still Matters

Even if PLC logic is correct, hardware interlocks are still important.

Why?

Because PLC outputs can fail.

Example:

Output module point shorted ON
Wiring mistake
Wrong force applied
Contactor mechanically stuck
Program error
Wrong download

For critical opposing contactors, the electrical control circuit should still include hardware interlocking.

A good reversing starter commonly includes:

PLC logic interlock
Electrical auxiliary contact interlock
Mechanical contactor interlock
Overload protection
Proper fusing/breaker protection

This layered approach is much better than relying on one protection method.


Interlocks and Feedback

Interlocks should often be based on feedback, not only commands.

Example:

Reverse_Command = PLC command
Reverse_Feedback = contactor actually pulled in

Better interlock:

Do not energize Forward if Reverse_Feedback is ON.

Why?

Because the real world may not match the command.

Example:

Reverse_Command = OFF
But Reverse contactor is welded/stuck ON

If Forward is allowed only because Reverse_Command is OFF, you may have a dangerous condition.

Better logic checks:

Reverse_Command is OFF
AND Reverse_Feedback is OFF

Example: Safer Forward Logic
Forward_Request
AND Motor_Permissive_OK
AND NOT Reverse_Command
AND NOT DI_Reverse_FB
AND NOT Fault_Active
= Forward_Command

This blocks Forward if Reverse is either commanded or actually proven active.


Example: Opposite Feedback Fault

A good program can also detect abnormal feedback.

Example:

Forward_Command = OFF
DI_Forward_FB = ON

This may mean:

Contactor stuck
Auxiliary contact problem
Wiring problem
Feedback shorted

Fault:

Flt_Forward_UnexpectedFeedback

Another example:

Forward_Command = ON
DI_Forward_FB = OFF after 2 seconds

Fault:

Flt_Forward_FailedToStart

This makes the system much easier to troubleshoot.


Interlock vs Fault

Another important distinction:

Interlock

Blocks an action while a condition exists.

Example:

Close command blocked because photoeye is blocked.

This may not be a fault. It may be normal machine behavior.

Fault

Indicates something abnormal happened.

Example:

Close command was active, but door did not move within timeout.

That is a fault.


Example: Photoeye on Door

Interlock
Photoeye_Blocked = ON
Close_Command blocked

This is normal protection.

Fault
Close_Command = ON
Door_Closed_LS does not turn ON within 10 seconds

This is abnormal.

Fault:

Flt_Door_CloseTimeout

Interlock Troubleshooting

When a command does not energize, ask:

Is the request active?
Are permissives OK?
Is an interlock active?
Is a fault active?
Is the opposite command active?
Is the opposite feedback active?
Is the limit switch already made?
Is the field device blocked by another machine condition?

Example:

Open_Request = 1
Open_Command = 0

Possible reasons:

Door already fully open
Close_Command is active
Fault_Active is true
Stop_OK is false
Open_Permissive_OK is false
Interlock bit is active

Common Beginner Mistakes

Mistake 1 — Only Interlocking Commands

Bad:

Forward blocked by Reverse_Command only.

Better:

Forward blocked by Reverse_Command OR Reverse_Feedback.

Mistake 2 — No Hardware Interlock

PLC logic alone is not enough for opposing contactors.

Use proper hardware interlock design.


Mistake 3 — Calling Every Interlock a Fault

Not every blocked action is a fault.

Example:

Door cannot close because photoeye is blocked.

That may be a normal interlock status, not a machine fault.


Mistake 4 — Interlock Logic Hidden Inside Huge Command Rungs

Bad:

One long rung with every condition buried inside.

Better:

Create named interlock bits.

Example:

Intlk_CloseBlocked_ByPhotoeye
Intlk_OpenBlocked_ByCloseCommand
Intlk_ForwardBlocked_ByReverse

Clear names help troubleshooting.


Automation Technician Notes

When troubleshooting interlocks, follow this path:

Request
↓
Permissive
↓
Interlock
↓
Fault
↓
Command
↓
Output
↓
Feedback

Do not jump directly to the output.

If the output is OFF, the PLC may be intentionally blocking it.

A good technician asks:

What condition is preventing the command?

Not just:

Why is the output off?

Practical Example: Reversing Motor Starter

Inputs
DI_Forward_PB
DI_Reverse_PB
DI_Stop_OK
DI_Overload_OK
DI_Forward_FB
DI_Reverse_FB
Outputs
DO_Forward_Contactor
DO_Reverse_Contactor
Internal Tags
Forward_Request
Reverse_Request
Motor_Permissive_OK
Intlk_Forward_Blocked
Intlk_Reverse_Blocked
Forward_Command
Reverse_Command
Flt_Forward_FailedToStart
Flt_Reverse_FailedToStart
Logic Flow
Forward PB → Forward_Request
Reverse PB → Reverse_Request
Stop OK + Overload OK → Motor_Permissive_OK
Reverse_Command or Reverse_FB → Intlk_Forward_Blocked
Forward_Command or Forward_FB → Intlk_Reverse_Blocked
Forward_Request + Permissive + No Forward Interlock → Forward_Command
Reverse_Request + Permissive + No Reverse Interlock → Reverse_Command
Commands → Outputs
Outputs → Feedback
Feedback problems → Faults

This is a professional control strategy.


Key Terms

TermMeaning
InterlockLogic or hardware condition that blocks incompatible actions
Electrical InterlockAuxiliary contact wiring used to prevent conflicting coils
Mechanical InterlockPhysical mechanism that prevents two devices from actuating together
Cross-InterlockTwo commands blocking each other
PermissiveRequired healthy condition before an action is allowed
CommandPLC request to energize an output
FeedbackProof that the field device actually responded
Opposing CommandsCommands that should never be ON together
Forward/Reverse StarterMotor starter using two contactors for direction control
Failed To StartFault when command is ON but feedback does not prove operation
Unexpected FeedbackFault when feedback is ON without command

Final Thoughts

Electrical interlocking is one of the most important concepts in industrial control.

Interlocks prevent incompatible actions such as Forward and Reverse, Open and Close, Extend and Retract, or Fill and Drain from happening at the same time.

In PLC programs, interlocks should be clear, named, and easy to troubleshoot. In real motor control circuits, PLC logic interlocks should be supported by proper electrical and mechanical interlocks, especially for reversing starters and other opposing contactor applications.

The key lesson is:

Interlocks prevent actions that should not happen together.

For an Automation Technician, understanding interlocks makes troubleshooting safer, faster, and much more professional.

Leave a Reply

Your email address will not be published. Required fields are marked *