Programmable Logic Controller(PLC)

17 downloads 65879 Views 4MB Size Report
PLC B i t t. ▫ Programming a PLC - Basic structure. ▫ Programming languages. ▫ Real-life ... Programmable Logic Controller | Stefan Reichel | 23.06.2010 ..... http:/ /www.scantime.co.uk/_docs/Mi/Structured%20Text%20Prog%20Manual.pdf.
Programmable Logic Controller(PLC)

Seminar: Distributed Real-time Systems

Outline 2



History and basic idea



General structure of a PLC based system



P Programming i a PLC - Basic B i structure t t



Programming languages



Real-life Real life examples

Programmable Logic Controller | Stefan Reichel | 23.06.2010

3

History and basic idea

Programmable Logic Controller | Stefan Reichel | 23.06.2010

History and basic idea 4

Control-Chain Closed-Loop Control Si l Input-Signal

Control

l l Control-Signal

Actor

Sensor

Programmable Logic Controller | Stefan Reichel | 23.06.2010

Process

History and basic idea 5



Situation: 

Hundred or thousands of relays, closed-loop controllers in cars



Complete rewiring for new model creation needed

Programmable Logic Controller | Stefan Reichel | 23.06.2010

History and basic idea 6



General Motors Hydramatic requests proposal for an alternative 

Winner “Bedford Associates” with 084



F Foundation d ti off Modicon, M di MOd l DIgital MOdular DI it l CONtroller CONt ll



Richard (Dick) Morley inventor of PLC



1969 invention of solid-state solid state sequential logic solver

Programmable Logic Controller | Stefan Reichel | 23.06.2010

History and basic idea 7

A programmable logic controller (PLC) or programmable controller is a digital computer used for automation of electromechanical processes.

Programmable Logic Controller | Stefan Reichel | 23.06.2010

8

Structure of PLC based systems

Programmable Logic Controller | Stefan Reichel | 23.06.2010

Structure of PLC based systems 9

BUS e.g. Ethercat, CAN

Programmable Logic Controller | Stefan Reichel | 23.06.2010

Structure of PLC based systems 10



Severall SPS types available 

Hardware SPS



S ft SPS Soft



Slot SPS

Programmable Logic Controller | Stefan Reichel | 23.06.2010

Structure of PLC based systems 11

PSU

CPU

RAM

ROM

Ethernet RS

Internal Bus

BI

BO

AI

AO

FB

External Bus

Programmable Logic Controller | Stefan Reichel | 23.06.2010

Structure of PLC based systems 12



Two ways of working 

Cyclic



E Event tb based d

Programmable Logic Controller | Stefan Reichel | 23.06.2010

13

Programming a PLC system

Programmable Logic Controller | Stefan Reichel | 23.06.2010

Programming a PLC 14



PLC Programming process: Creating a new ST project. Defining the labels to be used in an ST program. Creating an ST program. Converting (compiling) the created ST program into an executable sequence program. Correcting the program if a convert (compile) error occurs.

Programmable Logic Controller | Stefan Reichel | 23.06.2010

Programming a PLC 15



IEC 61131-3 international standard defines PLC programming languages and concepts

IEC 61131-3 Programming languages Text-based Instruction-List Structured-Text

Graphical Ladder-Diagram

Sequential Function Chart Function Block Diagram

Programmable Logic Controller | Stefan Reichel | 23.06.2010

Programming a PLC 16

PLC configuration structure Task

Task

Program Program Program FCs FBs FCs FBs FBs FCs FBs FBs FCs FBs FCs FBs

Program Program Program FCs FBs FCs FBs FBs FCs FBs FBs FCs FBs FCs FBs



Programmable Logic Controller | Stefan Reichel | 23.06.2010

Programming a PLC 17

Input

Output

Function

 Functions are reusable  Various predefined functions: Class

Functions

Bool

AND, NOT, OR, XOR

Mathematic

ADD, SUB, NEG, DIV, MUL, MOD

Casting

BYTE_TO_WORD, INT_TO_REAL

Numeric

SIN, TAN, COS, LN, LOG

Comparator

EQ, LT, GT

Bit-Operations Bit Operations

SHL, SHR, ROL, ROR

Selection

LIMIT, MIN, MAX

Programmable Logic Controller | Stefan Reichel | 23.06.2010

Programming a PLC 18

Input

Output

Function-Block

 Function blocks are reusable  Accessable as instances with own state object orientation  Various predefined functions blocks available

Class

Function blocks

Timer

TP, TON, TOF

Trigger

F_TRIG, R_TRIG

Flip-Flops

SR, RS

Counter

CTU,, CTD,, CTUD

Programmable Logic Controller | Stefan Reichel | 23.06.2010

Programming a PLC 19

 PLC resource addresssing g I/O Identification

Source

Type

AT %

I for Input Q for Output

X Bit B Byte W Word D DoubleWord

 Addresssing example:  AT %IX1.2  AT %IW6

Programmable Logic Controller | Stefan Reichel | 23.06.2010

Programming a PLC - Variables 20

 Variable declaration:  NAME ADDRESS:

DATATYPE

:=INIT;

VAR Sensor AT%IX0.1 END_VAR;

:Bool

:=false; (*Beispiel*)

VAR INPUT X: REAL; Y: REAl; END VAR; ; VAR_OUTPUT ERGEBNIS: INT; END VAR;

Programmable Logic Controller | Stefan Reichel | 23.06.2010

(**)

Programming a PLC - Variables 21

 Several variable types: yp       

VAR_INPUT VAR_OUTPUT VAR VAR_GLOBAL VAR_IN_OUT VAR_RETAIN VAR_PERSISTANT

Input variables Output p variables Local variables Global variables Variable can be changed and returned Variable keeps value after power off Variable keeps value after software redeployment

Programmable Logic Controller | Stefan Reichel | 23.06.2010

Programming a PLC - Datatypes 22

Programmable Logic Controller | Stefan Reichel | 23.06.2010

23

Programming Languages

Programmable Logic Controller | Stefan Reichel | 23.06.2010

Programming a PLC - IL 24

   

Instruction list,, assembler like programming p g g language g g Very lightweight language Every line consists of command and operand Several commands defined,, extract:

Command

Description

LD

Load variable

ST

Store variable

JMP

Jump

JMPC

Conditional jump

CAL

Call of a function/program/block

Programmable Logic Controller | Stefan Reichel | 23.06.2010

Programming a PLC - IL 25

 Instruction list,, example: p a ∧ (b ∨ (c ∧ -d)) = e

LD A AND (B OR (C ANDN (D ) ) ) ST E

Programmable Logic Controller | Stefan Reichel | 23.06.2010

Programming a PLC – Structured text 26

   

Structured text,, close to high g languages g g like c,, pascal p Every command ends with a semicolon Allows conditions like if/case and loops Assignments g with :=

IF (TEMP > 20) THEN HEATER := : OFF; COOLER := ON; ELSIF (TEMP < 19) HEATER := ON; COOLER := OFF; END_IF;

CASE f OF 1: a:=3; 2: a:=5; 3: a:=2; ELSE a:=0; END CASE;

Programmable Logic Controller | Stefan Reichel | 23.06.2010

Programming a PLC – Structured text 27

 Structured text support several loop pp p types yp FOR a:=0 TO 10 BY 1 DO c:=a + 4; ; END_FOR;

WHILE b > 1 DO b:= b/2; / ; END_WHILE;

REPEAT a:= b * c; UNTIL a > 1000; ; END_REPEAT;

 Function and function block calls MYFB(IN:=a, IN:=b); c:= MYFB.Q; MYFB Q;

c:= MYFC(a,b);

Programmable Logic Controller | Stefan Reichel | 23.06.2010

Programming a PLC – Structured text 28

 Our example: p a ∧ (b ∨ (c ∧ -d)) = e e := a AND (b OR (C ANDN d));

Programmable Logic Controller | Stefan Reichel | 23.06.2010

Programming a PLC – Ladder diagram 29

 Ladder diagram, graphical programming g ,g p p g g language g g  Close to circuit diagram Power flow from left to right Symbol

Description

--|| ||--

Opener,if p , on state is transfered

--|/|--

Closer,if off state is transfered

--| NOT |--

Negation

--()

Output relais

--P--

Detection of positive change 01

--N-N

Detection of nefative change 10

Programmable Logic Controller | Stefan Reichel | 23.06.2010

Programming a PLC – Structured text 30

 Our example: p a ∧ (b ∨ (c ∧ -d)) = e

a = I/0 b = I/1 …

Programmable Logic Controller | Stefan Reichel | 23.06.2010

Programming a PLC – Function block 31

 Function block diagram, graphical programming g ,g p p g g language g g  Based on function and function block composition

Programmable Logic Controller | Stefan Reichel | 23.06.2010

Programming a PLC – Function Block 32

 Our example: p a ∧ (b ∨ (c ∧ -d)) = e

c d

ANDN

b

OR

a

AND

e

Programmable Logic Controller | Stefan Reichel | 23.06.2010

Programming a PLC – SFC 33

 Sequencial Function Chart,, g graphical programming q p p g g language g g  Only used for sequencial data flows  Consists of actions and transitions

Programmable Logic Controller | Stefan Reichel | 23.06.2010

34

Real-Life examples

Programmable Logic Controller | Stefan Reichel | 23.06.2010

Real-Life examples 35

Folienmaster | Max Mustermann | 7. Oktober 2007

Real-Life examples 36

Folienmaster | Max Mustermann | 7. Oktober 2007

Real-Life examples 37

Folienmaster | Max Mustermann | 7. Oktober 2007

Real-Life examples 38

Folienmaster | Max Mustermann | 7. Oktober 2007

References 39

 Speicherprogrammierbare Steuerungen, Matthias Seitz,  ISBN: 978-3-446-41431-0  http://www.software.rockwell.com/corporate/reference/Iec1131/st.cfm  http://www.sps-lehrgang.de/kontaktplan-kop/  http://www.plcmanual.com/plc-programming  http://www.plcsimulator.net/plc.php  http://www.amci.com/tutorials/tutorials-what-is-programmable-logic-controller.asp  http://www.scantime.co.uk/_docs/Mi/Structured%20Text%20Prog%20Manual.pdf

Programmable Logic Controller | Stefan Reichel | 23.06.2010

40

Thank you for your patience

Programmable Logic Controller | Stefan Reichel | 23.06.2010