Вы находитесь на странице: 1из 48

PROGRAMMABLE

LOGIC
CONTROLLER
Control Systems Types
Programmable Logic Controllers
Distributed Control System
PC- Based Controls
PROGRAMMABLE
LOGIC
CONTROLLER
A programmable logic controller
(PLC), or programmable
controller is a digital computer used
for automation of industrial
processes, such as control of
machinery on factory assembly lines.
Programmable Logic Controllers

PLC
Sequential logic solver
PID Calculations.
Advanced Subroutines
BIT Operations.
Data Transfer.
Text Handling.

Applications :
Machine controls, Packaging, Palletizing, Material handling, similar
Sequential task as well as Process control
Advantages of PLC :
They are fast and designed for the rugged industrial environment.
They are attractive on Cost-Per-Point Basis.
These Devices are less Proprietary ( E.g.. Using Open Bus Interface.)
These Systems are upgraded to add more Intelligence and Capabilities
with dedicated PID and Ethernet Modules.
Disadvantages of PLC :
PLC were Designed for Relay Logic Ladder and have Difficulty with
some Smart Devices.
To maximize PLC performance and Flexibility, a number of Optional
Modules must be added

Programmable Logic Controllers

PLC Types
Nano (Small)
Micro (Medium)
Large

Basic criteria for PLC Types
Memory Capacity
I/O Range
Packaging and Cost per Point

Programmable Logic Controllers

Components
Central Processing Unit (CPU)
Input Output Modules
Power Supply
Bus system

Programmable Logic Controllers

Central Processing Unit
It is a micro-controller based circuitry. The CPU consists of
following blocks :
Arithmetic Logic Unit (ALU), Program memory
Process image memory (Internal memory of CPU)
Internal timers and counters & Flags
CPU performs the task necessary to fulfill the PLC
functions. These tasks include Scanning, I/O bus traffic
control, Program execution, Peripheral and External device
communication, special functions or data handling
execution and self diagnostics.

Programmable Logic Controllers

Input module
These modules act as interface between real-time status of
process variable and the CPU.
Analog input module : Typical input to these modules is
4-20 mA, 0-10 V
Ex : Pressure, Flow, Level Tx , RTD (Ohm), Thermocouple
(mV)
Digital input module : Typical input to these modules is 24 V
DC, 115 V AC, 230 V AC
Ex. : Switches, Pushbuttons, Relays, pump valve on off
status

Programmable Logic Controllers

Output module
These modules act as link between the CPU and the output
devices in the field.
Analog output module : Typical output from these
modules is 4-20 mA, 0-10 V
Ex : Control Valve, Speed, Vibration
Digital output module : Typical output from these modules
is 24 V DC, 115 V AC, 230 V AC
Ex. : Solenoid Valves, lamps, Actuators, dampers, Pump
valve on off control

Programmable Logic Controllers

Power Supply
The power supply gives the voltage required for
electronics module (I/O Logic signals, CPU, memory
unit and peripheral devices) of the PLC from the line
supply.
The power supply provides isolation necessary to
protect the solid state devices from most high voltage
line spikes.
As I/O is expanded, some PLC may require additional
power supplies in order to maintain proper power
levels.

Programmable Logic Controllers

Bus System
It is path for the transmission of the signal . Bu system is
responsible for the signal exchange between processor
and I/O modules
The bus system comprise of several single line ie wires /
tracks
Programmable Logic Controllers
PLC Cycle
Outputs
Machine
or
Process
Programmable
controller
Inputs

Sense the Input
Process the Logic
Give Output
PLC Signal Flow
Programming Terminal
O:0/7
O:0/7
O:1/5
Output Devices
Output Modules
Processor Memory Input Module
Input Devices
Ladder Program
O:0/7
O:1/5
I:0/6
I:1/4
O:1/5
I:0/6
I:1/4
I:0/6
I:1/4
Data
Input
Image Table

Output
Image Table

PLC Architecture Evolution
Mid - 1970s : Discrete Machine Control
Programming Language :

- Relay ladder logic
- Flexibility in altering
Control system operation


Programming
Terminal
PLC
I/O
Connection is Point to Point
Connection is Point to Point
Early - to - Mid 1980 : Discrete and Process Control
PLC Architecture Evolution
Programming Language :

- Ladder Program
- PID
- Data Storage



Reasonable Computer
Running PLC
Programming Software
PLC
I/O
MS - DOS
PLC Architecture Evolution
Late 1980s to early 1990s : Discrete and Process
Control
PLC became a part of the
developing enterprise resource
system
PC running
PLC Programming Software
PLC
I/O
Connection in networked allowing
Multiple PLC
Windows
PLC
Today : Distributed I/O Modules
Distributed I/O modules
PLC
Distributed I/O scanner
Data Communication Bus
PLC Architecture Evolution
Remote
I/O Network
SPLITTERS
FIBER OPTIC LINK
TAPS
Today : Hot Redundant System
PLC Architecture Evolution
Controller Controller
Controller
Controller
Workstation Workstation Workstation Workstation
Switched Hub
PLC Architecture Evolution
Today : Ethernet Technology in PLCs
Remote
Platform
Wireless Modem
Wireless Modem
PLC
H M I
Display
PC
PLC Architecture Evolution
Today : Wireless communication
PLC
PLC Systems of various vendors
Siemens
S5 -110U, 115U, 135U
S7 - 200, 300, 400
Allen Bradley
Micrologix 1000, 1200, 1500
SLC 5/01, 5/02, 5/03
PLC 5/10, 5/25 and 5/40
Modicon
Nano
Micro
Premium
Quantum
8 Analog Inputs 1
Analog Output
Up/Down Fast
Counter
Up Counter
Programming Terminal PC Connection
Unitelway Port for connection
of up to 5 Slaves
PCMCIA memory expansion port
PCMCIA communications port
TSX37-22
Built in display for I/O
(in-rack, AS-i) and Diag
I/O Modules
Configuration of PLC : Modicon
Configuration of PLC : Siemens
CPU
External Power
Supply
I/O Modules
Configuration of PLC : Allen Bradley
CPU
Power Supply
I/O Modules
Configuration of PLC : GE FANUC

CPU
I/O Modules
Back plane
PLC Programming Standards
The open, manufacturer-independent programming
standard for automation is IEC 61131-3. You can thus choose
what configuration interface you wish to use when writing your
application :

Ladder Diagram
Instruction List
Function Block Diagram
Sequential Function Chart
Structured Text


Cost of hardware, software, Integration Engineering,
Design, Installation, Start-up and Commissioning,
Validation documentation and Execution, Training, Spare
parts, Maintenance, System service contract and system life
cycle.
Reliability, Flexibility, Scalability and Validatability.
Ease of Database configuration, Graphics development,
Interlocks and Batch processing.
Integration of High-level Application.
Control Philosophy for Centralized versus Remote
Operator Console or both.
Compliance with an Industry batch standard such as ISA
SP88 and new Communication Protocol.

PLC DCS Selection Criteria
Introduction to
IEC1131-3 Ladder Diagram
CPU
Origins of Ladder Diagram
The Ladder Diagram (LD) programming
language originated from the graphical
representation used to design an electrical
control system
Control decisions were made using relays
After a while Relays were replaced by logic
circuits
Logic gates used to make control decisions
Finally CPUs were added to take over the
function of the logic circuits
I/O Devices wired to buffer transistors
Control decisions accomplished through
programming
Relay Logic representation (or LD) was
developed to make program creation and
maintenance easier
Computer based graphical representation of
wiring diag. that was easy to understand
Reduced training and support cost
OR
AND
What is a Rung?
A rung of ladder diagram code can contain
both input and output instructions
Input instructions perform a comparison or test
and set the rung state based on the outcome
Normally left justified on the rung
Output instructions examine the rung state and
execute some operation or function
In some cases output instructions can set the rung state
Normally right justified on the rung
Input Instruction
Output Instruction
Series Vs Parallel Operations
Ladder Diagram input instructions perform logical AND and OR
operations in and easy to understand format
If all Input Instructions in series must all be true for outputs to
execute (AND)
If any input instruction in parallel is true, the outputs will execute
(OR)
Paralleling outputs allows multiple operations to occur based on the
same input criteria
OR
AND
A
B
C D
IF ((A OR B) AND (NOT C) AND D) THEN E=1; F=1 END_IF
E
F
Branches
Ladder Logic Execution
Rungs of Ladder diagram are solved from
Left to right and top to bottom
Branches within rungs are solved top left to
bottom right
A D
B
F
G
I J
Left Power Rail
R
K
P
S
E
H
Branch
Right Power Rail
Ladder Rung
Non Retentive Coils
The referenced bit is reset when processor power is
cycled
Coil -( )-
Sets a bit when the rung is true(1) and resets the bit when the
rung is false (0)
PLC5 calls this an OTE Output Enable
Negative coil -( / )-
Sets a bit when the rung is false(0) and resets the bit when the
rung is True(1)
Not commonly supported because of potential for confusion
Set (Latch) coil -(S)-
Sets a bit (1) when the rung is true and does nothing when the
rung is false
Reset (Unlatch) Coil -(R)-
Resets a bit (0) when the rung is true and does nothing when
the rung is false
Contacts
Normally Open Contact -| |-
Enables the rung to the right of the instruction if the rung to
the left is enabled and underlining bit is set (1)
Normally Closed Contact -|/|-
Enables the rung to the right of the instruction if the rung to
the left is enabled and underlining bit is reset (0)
Positive transition contact -|P|-
Enables the right side of the rung for one scan when the
rung on left side of the instruction is true
Allen Bradley PLC5 uses -[ONS]-
Negative transition contact -|N|-
Enables the right side of the rung for one scan when the
rung on left side of the instruction is false
Retentive Vs Non-retentive
Operation
Definitions
Retentive values or instructions maintain their last
state during a power cycle
Non-retentive values or instructions are reset to
some default state (usually 0) after a power cycle
IEC1131 permits values to be defined as
retentive
A contradiction to this is ladder diagram where 3
instructions are classified as retentive
In most PLCs only timer and coil instructions
operate as non-retentive
Retentive Coils
The referenced bit is unchanged when
processor power is cycled
Retentive coil -(M)-
Sets a bit when the rung is true(1) and resets the bit when
the rung is false (0)
Set Retentive (Latch) coil -(SM)-
Sets a bit (1) when the rung is true and does nothing
when the rung is false
PLC5 uses OTL Output Latch
Reset Retentive (Unlatch) Coil -(RM)-
Resets a bit (0) when the rung is true and does nothing
when the rung is false
PLC5 uses OUT Output Unlatch
Transition Sensing Coils
Positive transition-sensing coil -(P)-
Sets the bit bit (1) when rung to the left of the
instruction transitions from off(0) to on(1)
The bit is left in this state
PLC5 use OSR (One Shot Rising)
Negative transition-sensing coil -(N)-
Resets the bit (0) when rung to the left of the
instruction transitions from on(1) to off(0)
The bit is left in this state
PLC5 uses OSF (One Shot Falling)
IEC Comparison Instructions in Ladder
If the rung input (EN) is enabled, the instruction
performs the operation and sets the rung output
(ENO) based on the comparison
Example: when EN is true, EQ (=) function
compares In1 and to In2 and sets ENO
Comprehensive instruction set
EQ(=), GT (>), GE (>=), LT (<), LE (<=), NE (<>)
EQ
EN
100.000
ENO
78.251
Tank_max
Tank1_Level
IN1
IN2
Timers in Ladder Diagram
There three timer instructions
in IEC1131
TP - Pulse timer
TON - Timer On Delay
TOF - Timer Off Delay
Time values
Time base is 1msec (1/1000 of
a sec)
Values entered using duration
literal format
Two possible visualizations
Depending on use of EN/ENO
1st method requires extra
programming if timer done
status needs to be referenced
on other rungs
2nd method sets a bit with Q
which can be referenced by
other logic, ENO=EN

TON
T#200ms
Pump_Tmr
PT ET 178
Q
IN ENO
Pump_Tmr_DN
TON
IN
T#200ms
Pump_Tmr
PT ET 178
Q
Timer Operation
IN
Q
ET
PT
|
0
Pulse (TP) Timing
IN
Q
ET
PT
|
0
On-Delay (TON) Timing
IN
Q
ET
PT
|
0
Off-Delay (TOF) Timing
IN = Rung input
condition
Q = Comparison
output results
Varies with timer types
PT = Preset Time
ET = Elapse Time
Counters in Ladder Diagram
There three counter instructions
in IEC1131
CTU - Count Up Counter
CTD - Count Down Counter
CTUD - Count Up/Down
Counter
All three count rung transitions
Two possible visualizations
Depending on use of EN/ENO
1st method requires extra
programming if timer done
status needs to be referenced on
other rungs
2nd method sets a bit with Q
which can be referenced by
other logic, ENO=EN
CTU
200
Load_Cnt
PV CV 178
Q
IN ENO
Load_Cnt_DN
R
CTU
200
Load_Cnt
PV CV 178
Q
IN
R
Counter Operation
Parameters
CU/CD = Count up/Down
Q/QU/QD = Comparison Output
R = Reset to Zero
LD = Load CV with PV
PV = Preset Value
CV = Count Value



...
...
CV
PV
|
0
CU
QU
CD
QD
LD
R
Count Up/Down (CTUD) Counter
...
IN
Q
CV
PV
|
0
LD
...
Count Down (CTD) Counter
...
IN
Q
CV
PV
|
0
R
Count Up (CTU) Counter
...
CAL
RET RET
CAL
Execution Control Elements
Jump / Label
Instructions
Jump to a label skips a
block of code without it
being scanned
LBL - Named target for a
jump operation
JMP - Performs a jump
when the rung
conditions are true
CALL / RETURN
Instructions
Used to encapsulate logic
and call it as a subroutine
Causes execution to change
between functions or
subroutines
CAL - Passes control to
another named function
PLC5 uses JSR
RET - Exits a function and
returns control back to the
calling routine
| Skip_Calc |
|-| |-------------(JMP)--|
| ... |
| Skip_Calc |
|---[LBL]---...
The look and feel of IEC 1131-3 is somewhat
different from the 1Million+ PLCs that Allen
Bradley has running in factories throughout
the world






IEC places the input parameters on the
outside of the instruction block vs the PLC5
where they are presented inside of the block
TON
Timer
Preset
Pump_Tmr
200.000
Accum 178.251
(EN)
(DN)
ADD
Source A
Source B
Tank1_In
Offsetr
Destination Tank_Level
178.251
78.251
100.000
+
EN
100.000 178.251
ENO
78.251
Offsetr
Tank1_In Tank_Level
Different Instruction Presentations
TON
T#200ms
Pump_Tmr
PT ET 178
Q
IN ENO
Pump_Tmr_DN
Extending the IEC1131-3 Instruction Set
IEC1131-3 Provides a very basic set of instructions to do simple operations (81
Ladder Diagram Instructions)
Data Type Conversion - Trunc, Int_to_Sint, Dint_to_Real, Bcd_To_Int
Boolean Operations - Bit Test, Bit Set, One Shot, Semaphores
Timers / Counters - Ton, Tp, Ctu, Ctd, Ctud
Simple Math - Add, Sub, Mul, Div, Mod, Move, Expt
Misc. Math - Abs, Sqrt, Ln, Log, Exp, Sin, Cos, Tan, Asin, Acos, Atan
Bit Shift - Shl, Shr, Ror, Rol
Logic - And, Or, Xor, Not
Selection - Sel, Max, Min, Limit, Mux
Compare - GT, GE, EQ, LE, LT, NE
String - Len, Left, Right, Mid, Connect, Insert, Delete, Replace, Find
Control - JMP, LBL, JSR, RET
All complex operations are left to the user or vendor to define
File Operations, PID, Diagnostic, For/Nxt Loop, Search, Sort are not in
IEC1131-3
Extensions to the instruction set are permitted so that vendors can add
instructions that their customers need
All vendors have defined their own set of extensions
Rockwell Automation controllers have significantly more capability
with over 130 Ladder Instructions
=
Rockwell Automation FIFO Load Instruction
IEC1131-3 Load FIFO Logic
1 Rung of Logic
1 Instruction
Minutes to code and debug 11 Rungs of Logic
17 Instructions
Hours to code and debug
Extensions to IEC provide code
optimization and ease of use
Instruction Extension to
IEC1131-3
FIFO & LIFO - FFL, FFU, LFL, LFU
File math and search - FAL, FSC
Table operations - SRT, STD, AVE
Sequencers - SQI, SQL, SQO, SDS
Diagnostics - DDT, DFA, FBC
Compare - CMP, MEQ
Compute - CPT, NEG
Data moves - MVM, COP, BTD
Program Control - AFI, NOP, MCR, TND
Interrupt Services - UID, UIE
Retentive Timer - RTO
Ladder Loop Instruction - FOR, NXT
Process - PID
Motion - 30+ instructions to perform closed loop servo control

Вам также может понравиться