You are on page 1of 13

2 PROGRAMMABLE LOGIC CONTROLLERS

2 INTRODUCTION

Control engineering has evolved over time. In the past humans were the
main method for controlling a system. More recently electricity has been used for
control and early electrical control was based on relays. These relays allow power
to be switched on and off without a mechanical switch. It is common to use relays
to make simple logical control decisions. The development of low cost computer
has brought the most recent revolution, the Programmable Logic Controller
(PLC). The advent of the PLC began in the 1970s, and has become the most
common choice for manufacturing controls.

PLCs have been gaining popularity on the factory floor and will probably
remain predominant for some time to come. Most of this is because of the
advantages they offer.

• Cost effective for controlling complex systems.


• Flexible and can be reapplied to control other systems quickly and easily.
• Computational abilities allow more sophisticated control.
• Trouble shooting aids make programming easier and reduce downtime.
• Reliable components make these likely to operate for years before
failure.

2 Ladder Logic

Ladder logic is the main programming method used for PLCs. As


mentioned before, ladder logic has been developed to mimic relay logic. The
decision to use the relay logic diagrams was a strategic one. By selecting ladder
logic as the main programming method, the amount of retraining needed for
engineers and tradespeople was greatly reduced.

Modern control systems still include relays, but these are rarely used for
logic. A relay is a simple device that uses a magnetic field to control a switch, as
pictured in Simple Relay Layouts and Schematics. When a voltage is applied to
the input coil, the resulting current creates a magnetic field. The magnetic field
pulls a metal switch (or reed) towards it and the contacts touch, closing the
switch. The contact that closes when the coil is energized is called normally open.
The normally closed contacts touch when the input coil is not energized. Relays
are normally drawn in schematic form using a circle to represent the input coil.
The output contacts are shown with two parallel lines. Normally open contacts are
shown as two lines, and will be open (non-conducting) when the input is not
energized. Normally closed contacts are shown with two lines with a diagonal line
through them. When the input coil is not energized the normally closed contacts
will be closed (conducting).

input coil

OR
normally
closed normally
open

OR

F Simple Relay Layouts and Schematics

Relays are used to let one power source close a switch for another (often
high current) power source, while keeping them isolated. An example of a relay in
a simple control application is shown in A Simple Relay Controller. In this system
the first relay on the left is used as normally closed, and will allow current to flow
until a voltage is applied to the input A. The second relay is normally open and
will not allow current to flow until a voltage is applied to the input B. If current is
flowing through the first two relays then current will flow through the coil in the
third relay, and close the switch for output C. This circuit would normally be
drawn in the ladder logic form. This can be read logically as C will be on if A is
off and B is on.
F A Simple Relay Controller

115VA C
wall plug

relay logic

output C
input A input B
(normally open) (normally open)
(normally closed)

A B C

ladder logic

Figure 2.3 ladder logic

The example in A Simple Relay Controller does not show the entire
control system, but only the logic. When we consider a PLC there are inputs,
outputs, and the logic. A PLC Illustrated With Relays shows a more complete
representation of the PLC. Here there are two inputs from push buttons. We can
imagine the inputs as activating 24V DC relay coils in the PLC. This in turn
drives an output relay that switches 115V AC, that will turn on a light. Note, in
actual PLCs inputs are never relays, but outputs are often relays. The ladder logic
in the PLC is actually a computer program that the user can enter and change.
Notice that both of the input push buttons are normally open, but the ladder logic
inside the PLC has one normally open contact, and one normally closed contact.
Do not think that the ladder logic in the PLC needs to match the inputs or outputs.
Many beginners will get caught trying to make the ladder logic match the input
types.
push buttons

power
supply
+24V

com.

PLC
inputs

ladder
logic
A B C

outputs

115Va c light
AC power

neut.

F A PLC Illustrated With Relays

Many relays also have multiple outputs (throws) and this allows an output
relay to also be an input simultaneously. The circuit shown in A Seal-in Circuit is
an example of this, it is called a seal in circuit. In this circuit the current can flow
through either branch of the circuit, through the contacts labelled A or B. The
input B will only be on when the output B is on. If B is off, and A is energized,
then B will turn on. If B turns on then the input B will turn on, and keep output B
on even if input A goes off. After B is turned on the output B will not turn off.
A B

B
Note: When A is pushed, the output B will turn on, and
the input B will also turn on and keep B on perma
nently - until power is removed.

Note: The line on the right is being left of f intentionally


and is implied in these diagrams.

F A Seal-in Circuit

What is a PLC?

A PLC (i.e. Programmable Logic Controller) is a device that was invented to replace the
necessary sequential relay circuits for machine control. The PLC works by looking at its inputs
and depending upon their state, turning on/off its outputs. The user enters a program, usually via
software, that gives the desired results.

PLCs are used in many "real world" applications. If there is industry present, chances are good
that there is a plc present. If you are involved in machining, packaging, material handling,
automated assembly or countless other industries you are probably already using them. If you are
not, you are wasting money and time. Almost any application that needs some type of electrical
control has a need for a plc.

For example, let's assume that when a switch turns on we want to turn a solenoid on for 5
seconds and then turn it off regardless of how long the switch is on for. We can do this with a
simple external timer. But what if the process included 10 switches and solenoids? We would
need 10 external timers. What if the process also needed to count how many times the switches
individually turned on? We need a lot of external counters.
As you can see the bigger the process the more of a need we have for a PLC. We can simply
program the PLC to count its inputs and turn the solenoids on for the specified time.

This site gives you enough information to be able to write programs far more complicated than
the simple one above. We will take a look at what is considered to be the "top 20" plc instructions.
It can be safely estimated that with a firm understanding of these instructions one can solve more
than 80% of the applications in existence.
That's right, more than 80%! Of course we'll learn more than just these instructions to help you
solve almost ALL your potential plc applications.

PLC History
In the late 1960's PLCs were first introduced. The primary reason for designing such a device
was eliminating the large cost involved in replacing the complicated relay based machine control
systems. Bedford Associates (Bedford, MA) proposed something called a Modular Digital
Controller (MODICON) to a major US car manufacturer. Other companies at the time proposed
computer based schemes, one of which was based upon the PDP-8. The MODICON 084 brought
the world's first PLC into commercial production.

When production requirements changed so did the control system. This becomes very expensive
when the change is frequent. Since relays are mechanical devices they also have a limited
lifetime which required strict adhesion to maintenance schedules. Troubleshooting was also quite
tedious when so many relays are involved. Now picture a machine control panel that included
many, possibly hundreds or thousands, of individual relays. The size could be mind boggling.
How about the complicated initial wiring of so many individual devices! These relays would be
individually wired together in a manner that would yield the desired outcome. Were there
problems? You bet!

These "new controllers" also had to be easily programmed by maintenance and plant engineers.
The lifetime had to be long and programming changes easily performed. They also had to survive
the harsh industrial environment. That's a lot to ask! The answers were to use a programming
technique most people were already familiar with and replace mechanical parts with solid-state
ones.

In the mid70's the dominant PLC technologies were sequencer state-machines and the bit-slice
based CPU. The AMD 2901 and 2903 were quite popular in Modicon and A-B PLCs.
Conventional microprocessors lacked the power to quickly solve PLC logic in all but the smallest
PLCs. As conventional microprocessors evolved, larger and larger PLCs were being based upon
them. However, even today some are still based upon the 2903.(ref A-B's PLC-3) Modicon has
yet to build a faster PLC than their 984A/B/X which was based upon the 2901.

Communications abilities began to appear in approximately 1973. The first such system was
Modicon's Modbus. The PLC could now talk to other PLCs and they could be far away from the
actual machine they were controlling. They could also now be used to send and receive varying
voltages to allow them to enter the analog world. Unfortunately, the lack of standardization
coupled with continually changing technology has made PLC communications a nightmare of
incompatible protocols and physical networks. Still, it was a great decade for the PLC!

The 80's saw an attempt to standardize communications with General Motor's manufacturing
automation protocol(MAP). It was also a time for reducing the size of the PLC and making them
software programmable through symbolic programming on personal computers instead of
dedicated programming terminals or handheld programmers. Today the world's smallest PLC is
about the size of a single control relay!
The 90's have seen a gradual reduction in the introduction of new protocols, and the
modernization of the physical layers of some of the more popular protocols that survived the
1980's. The latest standard (IEC 1131-3) has tried to merge plc programming languages under
one international standard. We now have PLCs that are programmable in function block
diagrams, instruction lists, C and structured text all at the same time! PC's are also being used to
replace PLCs in some applications. The original company who commissioned the MODICON 084
has actually switched to a PC based control system.

The Guts Inside


The PLC mainly consists of a CPU, memory areas, and appropriate circuits to receive
input/output data. We can actually consider the PLC to be a box full of hundreds or thousands of
separate relays, counters, timers and data storage locations. Do these counters, timers, etc.
really exist? No, they don't "physically" exist but rather they are simulated and can be considered
software counters, timers, etc. These internal relays are simulated through bit locations in
registers. (more on that later)

What does each part do?

• INPUT RELAYS-(contacts)These are connected to the outside world. They physically


exist and receive signals from switches, sensors, etc. Typically they are not relays but
rather they are transistors.
• INTERNAL UTILITY RELAYS-(contacts) These do not receive signals from the outside
world nor do they physically exist. They are simulated relays and are what enables a PLC
to eliminate external relays. There are also some special relays that are dedicated to
performing only one task. Some are always on while some are always off. Some are on
only once during power-on and are typically used for initializing data that was stored.
• COUNTERS-These again do not physically exist. They are simulated counters and they
can be programmed to count pulses. Typically these counters can count up, down or both
up and down. Since they are simulated they are limited in their counting speed. Some
manufacturers also include high-speed counters that are hardware based. We can think
of these as physically existing. Most times these counters can count up, down or up and
down.
• TIMERS-These also do not physically exist. They come in many varieties and
increments. The most common type is an on-delay type. Others include off-delay and
both retentive and non-retentive types. Increments vary from 1ms through 1s.
• OUTPUT RELAYS-(coils)These are connected to the outside world. They physically exist
and send on/off signals to solenoids, lights, etc. They can be transistors, relays, or triacs
depending upon the model chosen.
• DATA STORAGE-Typically there are registers assigned to simply store data. They are
usually used as temporary storage for math or data manipulation. They can also typically
be used to store data when power is removed from the PLC. Upon power-up they will still
have the same contents as before power was removed. Very convenient and necessary!!
PLC Operation
A PLC works by continually scanning a program. We can think of this scan cycle as consisting
of 3 important steps. There are typically more than 3 but we can focus on the important parts and
not worry about the others. Typically the others are checking the system and updating the current
internal counter and timer values.

Step 1-CHECK INPUT STATUS-First the PLC takes a look at each input to determine if it is on or
off. In other words, is the sensor connected to the first input on? How about the second input?
How about the third... It records this data into its memory to be used during the next step.

Step 2-EXECUTE PROGRAM-Next the PLC executes your program one instruction at a time.
Maybe your program said that if the first input was on then it should turn on the first output. Since
it already knows which inputs are on/off from the previous step it will be able to decide whether
the first output should be turned on based on the state of the first input. It will store the execution
results for use later during the next step.

Step 3-UPDATE OUTPUT STATUS-Finally the PLC updates the status of the outputs. It updates
the outputs based on which inputs were on during the first step and the results of executing your
program during the second step. Based on the example in step 2 it would now turn on the first
output because the first input was on and your program said to turn on the first output when this
condition is true.

After the third step the PLC goes back to step one and repeats the steps continuously. One scan
time is defined as the time it takes to execute the 3 steps listed above.

Response Time
The total response time of the PLC is a fact we have to consider when shopping for a PLC. Just
like our brains, the PLC takes a certain amount of time to react to changes. In many applications
speed is not a concern, in others though...

If you take a moment to look away from this text you might see a picture on the wall. Your eyes
actually see the picture before your brain says "Oh, there's a picture on the wall". In this example
your eyes can be considered the sensor. The eyes are connected to the input circuit of your
brain. The input circuit of your brain takes a certain amount of time to realize that your eyes saw
something. (If you have been drinking alcohol this input response time would be longer!)
Eventually your brain realizes that the eyes have seen something and it processes the data. It
then sends an output signal to your mouth. Your mouth receives this data and begins to respond
to it. Eventually your mouth utters the words "Gee, that's a really ugly picture!".

Notice in this example we had to respond to 3 things:

INPUT- It took a certain amount of time for the brain to notice the input
signal from the eyes.

EXECUTION- It took a certain amount of time to process the


information received from the eyes. Consider the program to be: If the
eyes see an ugly picture then output appropriate words to the mouth.

OUTPUT- The mouth receives a signal from the brain and eventually
spits (no pun intended) out the words "Gee, that's a really ugly picture!"

Response Time Concerns


Now that we know about response time, here's what it really means to the application. The PLC
can only see an input turn on/off when it's looking. In other words, it only looks at its inputs during
the check input status part of the scan.

In the diagram, input 1 is not seen until scan 2. This is because when input 1 turned on, scan 1
had already finished looking at the inputs.
Input 2 is not seen until scan 3. This is also because when the input turned on scan 2 had already
finished looking at the inputs.
Input 3 is never seen. This is because when scan 3 was looking at the inputs, signal 3 was not on
yet. It turns off before scan 4 looks at the inputs. Therefore signal 3 is never seen by the plc.
To avoid this we say that the input should be on
for at least 1 input delay time + one scan time.

But what if it was not possible for the input to be on this long? Then the plc doesn't see the input
turn on. Therefore it becomes a paper weight! Not true... of course there must be a way to get
around this. Actually there are 2 ways.

Pulse stretch function. This function extends the length


of the input signal until the plc looks at the inputs during
the next scan.( i.e. it stretches the duration of the pulse.)

Interrupt function. This function interrupts the scan to


process a special routine that you have written. i.e. As
soon as the input turns on, regardless of where the scan
currently is, the plc immediately stops what its doing and
executes an interrupt routine. (A routine can be thought
of as a mini program outside of the main program.) After
its done executing the interrupt routine, it goes back to
the point it left off at and continues on with the normal
scan process.

Now let's consider the longest time for an output to actually turn on. Let's assume that when a
switch turns on we need to turn on a load connected to the plc output.
The diagram below shows the longest delay (worst case because the input is not seen until scan
2) for the output to turn on after the input has turned on.
The maximum delay is thus 2 scan cycles - 1 input delay time.

It's not so difficult, now is it ?


Relays
Now that we understand how the PLC processes inputs, outputs, and the actual program we are
almost ready to start writing a program. But first lets see how a relay actually works. After all, the
main purpose of a plc is to replace "real-world" relays.

We can think of a relay as an electromagnetic switch. Apply a voltage to the coil and a magnetic
field is generated. This magnetic field sucks the contacts of the relay in, causing them to make a
connection. These contacts can be considered to be a switch. They allow current to flow between
2 points thereby closing the circuit.

Let's consider the following example. Here we simply turn on a bell (Lunch time!) whenever a
switch is closed. We have 3 real-world parts. A switch, a relay and a bell. Whenever the switch
closes we apply a current to a bell causing it to sound.

Notice in the picture that we have 2 separate circuits. The bottom(blue) indicates the DC part.
The top(red) indicates the AC part.

Here we are using a dc relay to control an AC circuit. That's the fun of relays! When the switch is
open no current can flow through the coil of the relay. As soon as the switch is closed, however,
current runs through the coil causing a magnetic field to build up. This magnetic field causes the
contacts of the relay to close. Now AC current flows through the bell and we hear it. Lunch time!

A typical industrial relay

Replacing Relays
Next, lets use a plc in place of the relay. (Note that this might not be very cost effective for this
application but it does demonstrate the basics we need.) The first thing that's necessary is to
create what's called a ladder diagram. After seeing a few of these it will become obvious why its
called a ladder diagram. We have to create one of these because, unfortunately, a plc doesn't
understand a schematic diagram. It only recognizes code. Fortunately most PLCs have software
which convert ladder diagrams into code. This shields us from actually learning the plc's code.

First step- We have to translate all of the items we're using into symbols the plc understands.
The plc doesn't understand terms like switch, relay, bell, etc. It prefers input, output, coil, contact,
etc. It doesn't care what the actual input or output device actually is. It only cares that its an input
or an output.

First we replace the battery with a symbol. This symbol is common to all ladder diagrams. We
draw what are called bus bars. These simply look like two vertical bars. One on each side of the
diagram. Think of the left one as being + voltage and the right one as being ground. Further think
of the current (logic) flow as being from left to right.
Next we give the inputs a symbol. In this basic example we have one real world input. (i.e. the
switch) We give the input that the switch will be connected to, to the symbol shown below. This
symbol can also be used as the contact of a relay.

A contact symbol

Next we give the outputs a symbol. In this example we use one output (i.e. the bell). We give the
output that the bell will be physically connected to the symbol shown below. This symbol is used
as the coil of a relay.

A coil symbol

The AC supply is an external supply so we don't put it in our ladder. The plc only cares about
which output it turns on and not what's physically connected to it.

Second step- We must tell the plc where everything is located. In other words we have to give all
the devices an address. Where is the switch going to be physically connected to the plc? How
about the bell? We start with a blank road map in the PLCs town and give each item an address.
Could you find your friends if you didn't know their address? You know they live in the same town
but which house? The plc town has a lot of houses (inputs and outputs) but we have to figure out
who lives where (what device is connected where). We'll get further into the addressing scheme
later. The plc manufacturers each do it a different way! For now let's say that our input will be
called "0000". The output will be called "500".

Final step- We have to convert the schematic into a logical sequence of events. This is much
easier than it sounds. The program we're going to write tells the plc what to do when certain
events take place. In our example we have to tell the plc what to do when the operator turns on
the switch. Obviously we want the bell to sound but the plc doesn't know that. It's a pretty stupid
device, isn't it!
The picture above is the final converted diagram. Notice that we eliminated the real world relay
from needing a symbol. It's actually "inferred" from the diagram. Huh? Don't worry, you'll see what
we mean as we do more examples.

You might also like