Schneider Electric’s EcoStruxure Control Expert (formerly Unity Pro) is a powerful PLC programming environment used worldwide for automation and industrial control.
This page introduces the basics of ladder logic programming with a focus on contacts and coils, the two most important elements in building control circuits.
Whether you are a beginner or revising core concepts, this guide explains how ladder rungs, inputs, and outputs interact in Schneider PLCs.
No nc explaination: This page skips numerical control (NC) theory and focuses on practical ladder logic for Schneider EcoStruxure Control Expert, giving clear, hands-on guidance so engineers and technicians can implement solutions quickly without extra theory.
Contact: Contacts represent input conditions in ladder diagrams — normally open (NO) and normally closed (NC) contacts, as well as special contacts like edge-detect and comparison contacts. In EcoStruxure Control Expert, use contacts to read switches, sensors, or internal bits; combine multiple contacts in series (AND) or parallel (OR) to form logical conditions for a rung.
Coil: Coils represent outputs and actions — energize a physical output, set/reset an internal bit, or latch/unlatch a state. Common coil types include standard output coils, set (S) and reset (R) coils, and function coils tied to timers and counters. Proper use of coils with contacts creates reliable control sequences and safe interlocking in ladder programs.
In ladder logic programming with Schneider EcoStruxure Control Expert, the most basic elements are contacts. They represent conditions that can be either ON or OFF, just like a real switch. There are two main types: Normally Open (NO) and Normally Closed (NC). These are not complicated — they simply describe the state of a contact when no power or signal is applied.
A Normally Open (NO) contact means the circuit is open by default, so no current flows until the condition is true. When the related input turns ON, the NO contact closes, allowing the rung logic to continue. A Normally Closed (NC) contact is the opposite — it allows current to pass when the condition is false, and it opens (breaks the path) when the input turns ON. In short, ladder contacts only have two states: ON or OFF.
For example, imagine a simple motor control rung: a momentary push button as a NO contact is used to start the motor, an emergency stop switch as an NC contact ensures safety, and a thermal overload relay as an NC contact protects against overheating. When the push button is pressed (ON), and both the emergency stop and overload switch are in their safe state (ON), the motor coil energizes. This shows how NO and NC contacts combine to make real-world control logic.
This example shows how a motor can be controlled with a momentary push button (NO), an emergency stop switch (NC), and a thermal overload relay (NC). The push button starts the motor, while the emergency stop and thermal overload protect it. All these contacts are only two-state devices: ON or OFF.
The diagram is a standard motor starter style rung that uses a Start push button, a Stop push button, an Emergency stop, a Thermal trip, and a Motor Run coil/indicator with a seal-in (holding) contact. Each contact in ladder logic has only two possible states: ON or OFF.
motor_run_led
) energizes when the series path of contacts is closed.
The lower, parallel branch contains a contact labelled motor_run_led
(a NO contact tied to the output). This
is the seal-in (holding) contact. When the motor coil energizes the seal-in contact closes and provides an
alternate path around the start push button so the coil remains energized after the start button is released.
The coil stays latched until any of the series NC contacts (Stop, E-Stop, Thermal) open.
A positive transition-sensing contact (sometimes called a rising-edge contact) is used to detect when a signal
changes from 0
(OFF) to 1
(ON).
During a program scan cycle, the output of this contact becomes 1
only at the exact moment when the transition
from OFF to ON occurs and the left power rail (rung condition before the contact) is also true.
If no such transition occurs, the right link remains 0
.
This type of contact is helpful for detecting events that should only trigger once, such as counting pulses, starting a timer only on the press of a button, or recording the rising edge of a sensor signal. It is a form of edge recognition.
A negative transition-sensing contact (falling-edge contact) is used to detect when a signal
changes from 1
(ON) to 0
(OFF).
During a program scan cycle, the output of this contact becomes 1
only at the exact moment when the transition
from ON to OFF occurs and the left power rail condition is true.
If no such transition occurs, the right link stays 0
.
This contact is useful for detecting when an event ends, such as releasing a push button, stopping a motor, or monitoring the falling edge of a pulse. Like the positive transition contact, it is part of edge detection logic that allows more precise control compared to normal NO/NC contacts.
In Schneider EcoStruxure Control Expert, these contacts allow programmers to detect exact changes in signal state and avoid repeated triggering within the same rung scan. They are especially important when working with counters, timers, and event-driven logic.
Imagine you have a push button connected to a PLC input and a lamp connected to an output. We want two different behaviors:
In simple terms:
The standard coil in Schneider EcoStruxure Control Expert represents a normal output. It is energized (ON) when all conditions before it in the rung are true, and de-energized (OFF) when conditions are false. This is the most basic form of coil in ladder logic, used for motors, lamps, relays, and internal bits.
A negated coil is the inverse of a standard coil. It energizes when the rung condition is false and turns OFF when the rung condition is true. This type of coil is useful for alarms or indicators that must stay ON by default and only turn OFF under specific conditions.
A Set coil (S) is a latching coil. When the rung condition becomes true, the coil is set to ON and remains ON even if the condition later becomes false. It is commonly used for motor start circuits or memory functions.
A Reset coil (R) is used with a Set coil to form a memory pair. When its rung condition is true, the reset coil forces the output OFF. Together, the Set and Reset coils allow start/stop style control without needing seal-in logic.
Summary: