SlideShare a Scribd company logo
Ladder Logic Diagram
Submitted by:
Maharshi Soni130010119050
Shivang Patel 130010119111
Submitted to: Prof. Aynesh Joshi
Under the subject of:
Computer Aided Manufacturing
Ladder Logic
• Ladder logic was originally a written method to document the
design and construction of relay racks as used in manufacturing and
process control.
• Each device in the relay rack would be represented by a symbol on
the ladder diagram with connections between those devices
shown.
• In addition, other items external to the relay rack such as pumps,
heaters, and so forth would also be shown on the ladder diagram.
• Ladder logic has evolved into a programming language that
represents a program by a graphical diagram based on the circuit
diagrams of relay logic hardware.
• Ladder logic is used to develop software for programmable logic
controllers (PLCs) used in industrial control applications. The name
is based on the observation that programs in this language
resemble ladders, with two vertical rails and a series of horizontal
rungs between them.
• While ladder diagrams were once the only available notation for
recording programmable controller programs, today other forms
are standardized in IEC 61131-3
• For example, as an alternative to the graphical ladder logic form,
there is also a more assembly language like format
called Instruction list within the IEC 61131-3 standard.
Ladder Logic
• Primary Programming Language for PLCs.
• Visual and Graphical language unlike textual high-level, such as C,
C++, Java…
• Derived from relay logic diagrams
• Primitive Logic Operations:
– OR
– AND
– NOT
Ladder Logic
• Ladder logic is widely used to program PLCs, where sequential
control of a process or manufacturing operation is required.
Ladder logic is useful for simple but critical control systems or
for reworking old hardwired relay circuits.
• The motivation for representing sequential control logic in a
ladder diagram was to allow factory engineers and technicians
to develop software without additional training to learn a
language such as FORTRAN or other general purpose
computer language. Development, and maintenance, was
simplified because of the resemblance to familiar relay
hardware systems.
• Ladder logic can be thought of as a rule-based
language rather than a procedural language. A "rung" in the
ladder represents a rule. When implemented with relays and
other electromechanical devices, the various rules "execute"
simultaneously and immediately.
Example of a simple ladder logic program
• The language itself can be seen as a set of connections
between logical checkers (contacts) and actuators (coils). If a
path can be traced between the left side of the rung and the
output, through asserted (true or "closed") contacts, the rung
is true and the output coil storage bit is asserted (1) or true. If
no path can be traced, then the output is false (0) and the
"coil" by analogy to electromechanical relays is considered
"de-energized". The analogy between logical propositions and
relay contact status is due to Claude Shannon.
• Ladder logic has contacts that make or break circuits to
control coils. Each coil or contact corresponds to the status of
a single bit in the programmable controller's memory. Unlike
electromechanical relays, a ladder program can refer any
number of times to the status of a single bit, equivalent to a
relay with an indefinitely large number of contacts.
• So-called "contacts" may refer to physical ("hard") inputs to
the programmable controller from physical devices such as
pushbuttons and limit switches via an integrated or external
input module, or may represent the status of internal storage
bits which may be generated elsewhere in the program.
• Each rung of ladder language typically has one coil at the far right.
Some manufacturers may allow more than one output coil on a
rung.
• Rung Input : Checkers (contacts)
o —[ ]— Normally open contact, closed whenever its
corresponding coil or an input which controls it is energized.
(Open contact at rest)
o —[]— Normally closed ("not") contact, closed whenever its
corresponding coil or an input which controls it is not energized.
(Closed contact at rest)
• Rung Output: Actuators (coils)
o —( )— Normally inactive coil, energized whenever its rung is
closed. (Inactive at rest)
o —()— Normally active ("not") coil, energized whenever its rung
is open. (Active at rest)
• The "coil" (output of a rung) may represent a physical output which
operates some device connected to the programmable controller,
or may represent an internal storage bit for use elsewhere in the
program.
• A way to recall these is to imagine the checkers (contacts) as a push
button input, and the actuators (coils) as a light bulb output. The
presence of a slash within the checkers or actuators would indicate
the default state of the device at rest.
Logical OR
• Control Behavior :The light
should be on when either
switch A is on (i.e., closed) or
switch B is on (closed).
Otherwise it should be off.
• This circuit shows the two
things that can trigger a
car's power door locks. The
remote receiver is always
powered. The
unlock solenoid gets power
when either set of contacts is
closed.
equivalent relay circuit
equivalent relay ladder logic circuit equivalent PLC ladder logic
switch circuit
truth table
Logical AND
This circuit shows two key
switches that security guards
might use to activate an electric
motor on a bank vault door.
When the normally open contacts
of both switches close, electricity
is able to flow to the motor which
opens the door. Control Behavior:The light
should be on when switch A is
on (i.e.,closed) and switch B is
on (closed). Otherwise it
should be off
truth table equivalent relay circuit
equivalent relay ladder logic circuit
equivalent PLC ladder logic
Logical AND with NOT
This circuit shows a pushbutton that closes a door, and an
obstruction detector that senses if something is in the way of
the closing door. When the normally open pushbutton contact
closes and the normally closed obstruction detector is closed
(no obstruction detected), electricity is able to flow to the
motor which closes the door.
• Control Behavior: The light comes on only when switch A is on (i.e.,
closed) and switch B is off (open). Otherwise it should be off
equivalent relay circuit
truth table
equivalent PLC ladder logic
Industrial STOP/START
• In common industrial latching start/stop logic we have a "start"
button to turn on a motor contactor, and a "stop" button to turn off
the contactor.
• When the "start" button is pushed the input goes true, via the
"stop" button NC contact. When the "run" input becomes true the
seal-in "run" NO contact in parallel with the "start" NO contact will
close maintaining the input logic true (latched or sealed-in). After
the circuit is latched the "stop" button may be pushed causing its
NC contact to open and consequently the input to go false. The
"run" NO contact then opens and the circuit logic returns to its
inactive state.
Complex logic
• Typically, complex ladder logic is 'read' left to right and top to
bottom. As each of the lines (or rungs) are evaluated the output coil
of a rung may feed into the next stage of the ladder as an input. In a
complex system there will be many "rungs" on a ladder, which are
numbered in order of evaluation.
• Heat Cooling Line 1 realizes the function: A/C =
Switch AND (HiTemp OR Humid )
• Line 2 realizes the function: Cooling = A/C AND ( NOT Heat )
BASIC LADDER LOGIC SYMBOLS
Normally open (NO) contact. Passes power (on) if *** is on (closed).
Normally closed (NC) contact. Passes power (on) if *** is off (open).
= off = Open = False = 0
Output or coil. If any left-to-right path of contacts passes power, the ***
output is energized.
= on = Closed = True = 1
Negative transition sensing contact. If the state of *** changes from on
to off, this contact passes power for only one scan
Positive transition sensing contact. If the state of *** changes from off
to on, this contact passes power for only one scan
Output or coil. If any left-to-right rung path passes power, the *** output
is energized (on).
Negated coil. If any left-to-right rung path passes power, the *** output
is de-energized (off).
Set coil. If any rung path passes power, *** is energized and remains
energized, even when no rung path passes power.
Reset coil. If any rung path passes power, *** is de-energized and
remains de-energized, even when no rung path passes power.
Positive transition sensing coil. If conditions before this coil change
from off to on, *** is turned on for one scan.
Negative transition sensing coil. If conditions before this coil change
from on to off, *** is turned on for one scan.
Retentive memory coil. Like the ordinary coil, except the value of *** is
retained even when the PLC is stopped or power fails.
Set retentive memory coil. Like the set coil, except the value of *** is
retained even when the PLC is stopped or power fails.
Call coil. If any rung path passes power, call subroutine.
Halt coil. If any rung path passes power, halt program.
Reset retentive memory coil. Like the reset coil, except the value of ***
is retained even when the PLC is stopped or power fails.
Limitations
• Ladder notation is best suited to control problems where only binary
variables are required and where interlocking and sequencing of binary
is the primary control problem. Like all parallel programming
languages, the sequential order of operations may be undefined or
obscure; logic race conditions are possible which may produce
unexpected results. Complex rungs are best broken into several
simpler steps to avoid this problem. Some manufacturers avoid this
problem by explicitly and completely defining the execution order of a
rung, however programmers may still have problems fully grasping the
resulting complex semantics.
• Analog quantities and arithmetical operations are clumsy to express in
ladder logic and each manufacturer has different ways of extending the
notation for these problems. There is usually limited support for arrays
and loops, often resulting in duplication of code to express cases which
in other languages would call for use of indexed variables.
• As microprocessors have become more powerful, notations such
as sequential function charts and function block diagrams can replace
ladder logic for some limited applications.

More Related Content

PPTX
Invering and non inverting amplifiers
PPTX
Programmable Logic Controller and ladder logic programming
PPTX
digita storage oscilloscope (dso)
PPTX
Bjt amplifiers
PPTX
Permanent Magnet Moving Coil (PPMC)
PPTX
Power MOSFET
PDF
Power Electronics - Power Semi – Conductor Devices
PPT
Sensor and transducers lect 1
Invering and non inverting amplifiers
Programmable Logic Controller and ladder logic programming
digita storage oscilloscope (dso)
Bjt amplifiers
Permanent Magnet Moving Coil (PPMC)
Power MOSFET
Power Electronics - Power Semi – Conductor Devices
Sensor and transducers lect 1

What's hot (20)

PPT
1.1 three phase power supply
PPTX
R-2R Ladder DAC
PPT
Commissioning of Electrical Equipment or systems.ppt
PPTX
8051 Microcontroller ppt
PDF
PLC - Programmable Logic Controller
PPTX
CS301ES: ANALOG AND DIGITAL ELECTRONICS unit-3
PPTX
Unit-1 Power Semiconductor devices
PPTX
DUAL TRACE OSCILLOSCOPE
PPTX
Introduction to Counters
PPTX
Control systems engineering
PDF
Electrical machines 2 AC Machines
PPTX
Presentation on Flip Flop
PPTX
PLC Architecture
PPTX
Unit 1(part-2)sensors and transducer
DOCX
ARM7-ARCHITECTURE
PPTX
SHIFT REGISTERS
PPTX
moving iron instrument
PPTX
Basic electronics
PPT
Analog and Digital Multimeters
PPTX
Counters
1.1 three phase power supply
R-2R Ladder DAC
Commissioning of Electrical Equipment or systems.ppt
8051 Microcontroller ppt
PLC - Programmable Logic Controller
CS301ES: ANALOG AND DIGITAL ELECTRONICS unit-3
Unit-1 Power Semiconductor devices
DUAL TRACE OSCILLOSCOPE
Introduction to Counters
Control systems engineering
Electrical machines 2 AC Machines
Presentation on Flip Flop
PLC Architecture
Unit 1(part-2)sensors and transducer
ARM7-ARCHITECTURE
SHIFT REGISTERS
moving iron instrument
Basic electronics
Analog and Digital Multimeters
Counters
Ad

Viewers also liked (20)

PPTX
Fouling effects on boiler
PPTX
PLC LADDER DIAGRAM
PPTX
High pressure boilers 050,18,48
PPT
Plc tutorial
PDF
Ladder logic fundamentals plc tutorial
PDF
PLC programming priority control Ladder diagram
PPTX
operation research-modi
PPTX
Programming logic controllers (plc) seminar
PPT
Ladder Intro Tutorial
PDF
Summer Internship Report For PLC Programming of Traffic light through Ladder ...
PPTX
Condensers and cooling towers
PPT
Getting started with PLCs
PPT
High Pressure Boilers
PPTX
CONDENSERS & COOLING TOWERS
PDF
High pressure boilers (1)
PDF
Ladder logic tutorial
PPTX
High pressure boilers
PPT
plc introduction
PDF
High Pressure Boilers
PDF
PLC Programming Languages
Fouling effects on boiler
PLC LADDER DIAGRAM
High pressure boilers 050,18,48
Plc tutorial
Ladder logic fundamentals plc tutorial
PLC programming priority control Ladder diagram
operation research-modi
Programming logic controllers (plc) seminar
Ladder Intro Tutorial
Summer Internship Report For PLC Programming of Traffic light through Ladder ...
Condensers and cooling towers
Getting started with PLCs
High Pressure Boilers
CONDENSERS & COOLING TOWERS
High pressure boilers (1)
Ladder logic tutorial
High pressure boilers
plc introduction
High Pressure Boilers
PLC Programming Languages
Ad

Similar to CAM ladder logic diagram (20)

PDF
Lecture_4-Logic_Functions_and_Symbols.pdf
PPTX
pp-05-relay-logic-2.pptx................
PPT
10617568.ppt
PPT
Programmable_Logic_Controllers_Introduction_to_PLCs__(Chapter_1)_Lec1.ppt
PPTX
PPT
Chapter 2 ladder
PPTX
Sequential and combinational alu
DOCX
Ch 2 Ladder Basics 1 Chapter 2 Ladder Basics .docx
PDF
IIA module 6
PPTX
Automatic car parking barrier system using PLC
PPT
Evolution of Programmable Logic Controllers
PPT
PPTX
Unit 4 - PLC.pptx
PPT
PLC introduction for programing S7-1200 simenens
PPT
Prigrammable Logic Controller - IE450 Manufacturing Systems
PPT
P.L.C (Manufacturing & Automation) pptx.
PPT
ie450pp10 (4).pptechanics manufacturing sheet forming processses
PDF
Plc documentation final
PPT
plc fjjolk mfikjm smfnvid ajdsjhikvgjsd dcij
Lecture_4-Logic_Functions_and_Symbols.pdf
pp-05-relay-logic-2.pptx................
10617568.ppt
Programmable_Logic_Controllers_Introduction_to_PLCs__(Chapter_1)_Lec1.ppt
Chapter 2 ladder
Sequential and combinational alu
Ch 2 Ladder Basics 1 Chapter 2 Ladder Basics .docx
IIA module 6
Automatic car parking barrier system using PLC
Evolution of Programmable Logic Controllers
Unit 4 - PLC.pptx
PLC introduction for programing S7-1200 simenens
Prigrammable Logic Controller - IE450 Manufacturing Systems
P.L.C (Manufacturing & Automation) pptx.
ie450pp10 (4).pptechanics manufacturing sheet forming processses
Plc documentation final
plc fjjolk mfikjm smfnvid ajdsjhikvgjsd dcij

Recently uploaded (20)

PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
PDF
01-Introduction-to-Information-Management.pdf
PPTX
Week 4 Term 3 Study Techniques revisited.pptx
PDF
Basic Mud Logging Guide for educational purpose
PDF
Pre independence Education in Inndia.pdf
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PPTX
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PPTX
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PDF
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
Final Presentation General Medicine 03-08-2024.pptx
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
01-Introduction-to-Information-Management.pdf
Week 4 Term 3 Study Techniques revisited.pptx
Basic Mud Logging Guide for educational purpose
Pre independence Education in Inndia.pdf
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
STATICS OF THE RIGID BODIES Hibbelers.pdf
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
PPH.pptx obstetrics and gynecology in nursing
O7-L3 Supply Chain Operations - ICLT Program
2.FourierTransform-ShortQuestionswithAnswers.pdf
Module 4: Burden of Disease Tutorial Slides S2 2025
102 student loan defaulters named and shamed – Is someone you know on the list?
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
Pharmacology of Heart Failure /Pharmacotherapy of CHF
Mark Klimek Lecture Notes_240423 revision books _173037.pdf

CAM ladder logic diagram

  • 1. Ladder Logic Diagram Submitted by: Maharshi Soni130010119050 Shivang Patel 130010119111 Submitted to: Prof. Aynesh Joshi Under the subject of: Computer Aided Manufacturing
  • 2. Ladder Logic • Ladder logic was originally a written method to document the design and construction of relay racks as used in manufacturing and process control. • Each device in the relay rack would be represented by a symbol on the ladder diagram with connections between those devices shown. • In addition, other items external to the relay rack such as pumps, heaters, and so forth would also be shown on the ladder diagram.
  • 3. • Ladder logic has evolved into a programming language that represents a program by a graphical diagram based on the circuit diagrams of relay logic hardware. • Ladder logic is used to develop software for programmable logic controllers (PLCs) used in industrial control applications. The name is based on the observation that programs in this language resemble ladders, with two vertical rails and a series of horizontal rungs between them. • While ladder diagrams were once the only available notation for recording programmable controller programs, today other forms are standardized in IEC 61131-3 • For example, as an alternative to the graphical ladder logic form, there is also a more assembly language like format called Instruction list within the IEC 61131-3 standard. Ladder Logic
  • 4. • Primary Programming Language for PLCs. • Visual and Graphical language unlike textual high-level, such as C, C++, Java… • Derived from relay logic diagrams • Primitive Logic Operations: – OR – AND – NOT Ladder Logic
  • 5. • Ladder logic is widely used to program PLCs, where sequential control of a process or manufacturing operation is required. Ladder logic is useful for simple but critical control systems or for reworking old hardwired relay circuits. • The motivation for representing sequential control logic in a ladder diagram was to allow factory engineers and technicians to develop software without additional training to learn a language such as FORTRAN or other general purpose computer language. Development, and maintenance, was simplified because of the resemblance to familiar relay hardware systems. • Ladder logic can be thought of as a rule-based language rather than a procedural language. A "rung" in the ladder represents a rule. When implemented with relays and other electromechanical devices, the various rules "execute" simultaneously and immediately.
  • 6. Example of a simple ladder logic program • The language itself can be seen as a set of connections between logical checkers (contacts) and actuators (coils). If a path can be traced between the left side of the rung and the output, through asserted (true or "closed") contacts, the rung is true and the output coil storage bit is asserted (1) or true. If no path can be traced, then the output is false (0) and the "coil" by analogy to electromechanical relays is considered "de-energized". The analogy between logical propositions and relay contact status is due to Claude Shannon.
  • 7. • Ladder logic has contacts that make or break circuits to control coils. Each coil or contact corresponds to the status of a single bit in the programmable controller's memory. Unlike electromechanical relays, a ladder program can refer any number of times to the status of a single bit, equivalent to a relay with an indefinitely large number of contacts. • So-called "contacts" may refer to physical ("hard") inputs to the programmable controller from physical devices such as pushbuttons and limit switches via an integrated or external input module, or may represent the status of internal storage bits which may be generated elsewhere in the program.
  • 8. • Each rung of ladder language typically has one coil at the far right. Some manufacturers may allow more than one output coil on a rung. • Rung Input : Checkers (contacts) o —[ ]— Normally open contact, closed whenever its corresponding coil or an input which controls it is energized. (Open contact at rest) o —[]— Normally closed ("not") contact, closed whenever its corresponding coil or an input which controls it is not energized. (Closed contact at rest) • Rung Output: Actuators (coils) o —( )— Normally inactive coil, energized whenever its rung is closed. (Inactive at rest) o —()— Normally active ("not") coil, energized whenever its rung is open. (Active at rest)
  • 9. • The "coil" (output of a rung) may represent a physical output which operates some device connected to the programmable controller, or may represent an internal storage bit for use elsewhere in the program. • A way to recall these is to imagine the checkers (contacts) as a push button input, and the actuators (coils) as a light bulb output. The presence of a slash within the checkers or actuators would indicate the default state of the device at rest.
  • 10. Logical OR • Control Behavior :The light should be on when either switch A is on (i.e., closed) or switch B is on (closed). Otherwise it should be off. • This circuit shows the two things that can trigger a car's power door locks. The remote receiver is always powered. The unlock solenoid gets power when either set of contacts is closed.
  • 11. equivalent relay circuit equivalent relay ladder logic circuit equivalent PLC ladder logic switch circuit truth table
  • 12. Logical AND This circuit shows two key switches that security guards might use to activate an electric motor on a bank vault door. When the normally open contacts of both switches close, electricity is able to flow to the motor which opens the door. Control Behavior:The light should be on when switch A is on (i.e.,closed) and switch B is on (closed). Otherwise it should be off
  • 13. truth table equivalent relay circuit equivalent relay ladder logic circuit equivalent PLC ladder logic
  • 14. Logical AND with NOT This circuit shows a pushbutton that closes a door, and an obstruction detector that senses if something is in the way of the closing door. When the normally open pushbutton contact closes and the normally closed obstruction detector is closed (no obstruction detected), electricity is able to flow to the motor which closes the door.
  • 15. • Control Behavior: The light comes on only when switch A is on (i.e., closed) and switch B is off (open). Otherwise it should be off equivalent relay circuit truth table equivalent PLC ladder logic
  • 16. Industrial STOP/START • In common industrial latching start/stop logic we have a "start" button to turn on a motor contactor, and a "stop" button to turn off the contactor. • When the "start" button is pushed the input goes true, via the "stop" button NC contact. When the "run" input becomes true the seal-in "run" NO contact in parallel with the "start" NO contact will close maintaining the input logic true (latched or sealed-in). After the circuit is latched the "stop" button may be pushed causing its NC contact to open and consequently the input to go false. The "run" NO contact then opens and the circuit logic returns to its inactive state.
  • 17. Complex logic • Typically, complex ladder logic is 'read' left to right and top to bottom. As each of the lines (or rungs) are evaluated the output coil of a rung may feed into the next stage of the ladder as an input. In a complex system there will be many "rungs" on a ladder, which are numbered in order of evaluation. • Heat Cooling Line 1 realizes the function: A/C = Switch AND (HiTemp OR Humid ) • Line 2 realizes the function: Cooling = A/C AND ( NOT Heat )
  • 18. BASIC LADDER LOGIC SYMBOLS Normally open (NO) contact. Passes power (on) if *** is on (closed). Normally closed (NC) contact. Passes power (on) if *** is off (open). = off = Open = False = 0 Output or coil. If any left-to-right path of contacts passes power, the *** output is energized. = on = Closed = True = 1
  • 19. Negative transition sensing contact. If the state of *** changes from on to off, this contact passes power for only one scan Positive transition sensing contact. If the state of *** changes from off to on, this contact passes power for only one scan Output or coil. If any left-to-right rung path passes power, the *** output is energized (on). Negated coil. If any left-to-right rung path passes power, the *** output is de-energized (off). Set coil. If any rung path passes power, *** is energized and remains energized, even when no rung path passes power. Reset coil. If any rung path passes power, *** is de-energized and remains de-energized, even when no rung path passes power.
  • 20. Positive transition sensing coil. If conditions before this coil change from off to on, *** is turned on for one scan. Negative transition sensing coil. If conditions before this coil change from on to off, *** is turned on for one scan. Retentive memory coil. Like the ordinary coil, except the value of *** is retained even when the PLC is stopped or power fails. Set retentive memory coil. Like the set coil, except the value of *** is retained even when the PLC is stopped or power fails. Call coil. If any rung path passes power, call subroutine. Halt coil. If any rung path passes power, halt program. Reset retentive memory coil. Like the reset coil, except the value of *** is retained even when the PLC is stopped or power fails.
  • 21. Limitations • Ladder notation is best suited to control problems where only binary variables are required and where interlocking and sequencing of binary is the primary control problem. Like all parallel programming languages, the sequential order of operations may be undefined or obscure; logic race conditions are possible which may produce unexpected results. Complex rungs are best broken into several simpler steps to avoid this problem. Some manufacturers avoid this problem by explicitly and completely defining the execution order of a rung, however programmers may still have problems fully grasping the resulting complex semantics. • Analog quantities and arithmetical operations are clumsy to express in ladder logic and each manufacturer has different ways of extending the notation for these problems. There is usually limited support for arrays and loops, often resulting in duplication of code to express cases which in other languages would call for use of indexed variables. • As microprocessors have become more powerful, notations such as sequential function charts and function block diagrams can replace ladder logic for some limited applications.