programmable logic controller plc
play

Programmable Logic Controller(PLC) Seminar: Distributed Real-time - PowerPoint PPT Presentation

Programmable Logic Controller(PLC) Seminar: Distributed Real-time Systems Outline Outline 2 History and basic idea General structure of a PLC based system Programming a PLC - Basic structure P i PLC B i t t Programming


  1. Programmable Logic Controller(PLC) Seminar: Distributed Real-time Systems

  2. Outline Outline 2 History and basic idea  General structure of a PLC based system  Programming a PLC - Basic structure P i PLC B i t t  Programming languages  Real-life examples Real life examples   Programmable Logic Controller | Stefan Reichel | 23.06.2010

  3. 3 History and basic idea Programmable Logic Controller | Stefan Reichel | 23.06.2010

  4. History and basic idea History and basic idea 4 Control-Chain Closed-Loop Control Input-Signal Si l l l Control-Signal Actor Control Process Sensor Programmable Logic Controller | Stefan Reichel | 23.06.2010

  5. History and basic idea 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

  6. History and basic idea History and basic idea 6 General Motors Hydramatic requests proposal for an alternative  Winner “Bedford Associates” with 084  Foundation of Modicon, MOdular DIgital CONtroller F d ti f M di MOd l DI it l CONt ll  Richard (Dick) Morley inventor of PLC  1969 invention of solid-state sequential logic solver 1969 invention of solid state sequential logic solver   Programmable Logic Controller | Stefan Reichel | 23.06.2010

  7. History and basic idea 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. 8 Structure of PLC based systems Programmable Logic Controller | Stefan Reichel | 23.06.2010

  9. Structure of PLC based systems Structure of PLC based systems 9 BUS e.g. Ethercat, CAN Programmable Logic Controller | Stefan Reichel | 23.06.2010

  10. Structure of PLC based systems Structure of PLC based systems 10 Severall SPS types available  Hardware SPS  S ft SPS Soft SPS  Slot SPS  Programmable Logic Controller | Stefan Reichel | 23.06.2010

  11. Structure of PLC based systems Structure of PLC based systems 11 Ethernet PSU CPU RAM ROM RS Internal Bus AI AO BI BO FB External Bus Programmable Logic Controller | Stefan Reichel | 23.06.2010

  12. Structure of PLC based systems Structure of PLC based systems 12 Two ways of working  Cyclic  E Event based t b d  Programmable Logic Controller | Stefan Reichel | 23.06.2010

  13. 13 Programming a PLC system Programmable Logic Controller | Stefan Reichel | 23.06.2010

  14. Programming a PLC 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 Converting (compiling) the created ST program into an executable sequence program. Correcting the program if a convert (compile) Correcting the program if a convert (compile) error occurs. Programmable Logic Controller | Stefan Reichel | 23.06.2010

  15. Programming a PLC Programming a PLC 15 IEC 61131-3 international standard defines PLC programming  languages and concepts IEC 61131-3 Programming languages Text-based Graphical Instruction-List Structured-Text Ladder-Diagram Sequential Function Chart Chart Function Block Diagram Programmable Logic Controller | Stefan Reichel | 23.06.2010

  16. Programming a PLC Programming a PLC 16 PLC configuration structure Task Task Program Program Program Program Program Program FCs FBs FCs FBs FCs FCs FCs FCs FBs FBs FBs FBs FCs FCs FCs FCs FBs FBs FBs FBs FCs FCs FCs FBs FBs FBs FCs FCs FCs FBs FBs FBs FCs FCs FBs FBs FCs FCs FBs FBs … FCs FBs FCs FBs Programmable Logic Controller | Stefan Reichel | 23.06.2010

  17. Programming a PLC Programming a PLC 17 Input Output Function  Functions are reusable  Various predefined functions: Various predefined functions: Class Functions Bool Bool AND, NOT, OR, XOR 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 SHL, SHR, ROL, ROR Selection LIMIT, MIN, MAX Programmable Logic Controller | Stefan Reichel | 23.06.2010

  18. Programming a PLC Programming a PLC 18 Input Output Function-Block  Function blocks are reusable  Accessable as instances with own state  object orientation  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

  19. Programming a PLC Programming a PLC 19  PLC resource addresssing g I/O Identification Source Type AT % AT % I for Input I for Input X Bit X Bit Q for Output B Byte W Word D DoubleWord  Addresssing example:  AT %IX1.2  AT %IW6 Programmable Logic Controller | Stefan Reichel | 23.06.2010

  20. Programming a PLC - Variables Programming a PLC - Variables 20  Variable declaration:  NAME ADDRESS: DATATYPE :=INIT; (**) VAR VAR Sensor AT%IX0.1 :Bool :=false; (*Beispiel*) END_VAR; VAR INPUT X: REAL; Y: REAl; END VAR; VAR_OUTPUT ERGEBNIS: INT; END VAR; Programmable Logic Controller | Stefan Reichel | 23.06.2010

  21. Programming a PLC - Variables Programming a PLC - Variables 21  Several variable types: yp  VAR_INPUT Input variables  VAR_OUTPUT Output variables p  VAR Local variables  VAR_GLOBAL Global variables  VAR_IN_OUT Variable can be changed and returned  VAR_RETAIN Variable keeps value after power off  VAR_PERSISTANT Variable keeps value after software redeployment Programmable Logic Controller | Stefan Reichel | 23.06.2010

  22. Programming a PLC - Datatypes Programming a PLC - Datatypes 22 Programmable Logic Controller | Stefan Reichel | 23.06.2010

  23. 23 Programming Languages Programmable Logic Controller | Stefan Reichel | 23.06.2010

  24. Programming a PLC - IL Programming a PLC - IL 24  Instruction list , assembler like programming language , p g g g g  Very lightweight language  Every line consists of command and operand  Several commands defined, extract: , Command Description LD LD Load variable 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

  25. Programming a PLC - IL Programming a PLC - IL 25  Instruction list , example: , p a ∧ (b ∨ ( c ∧ -d)) = e LD A AND (B AND (B OR (C ANDN (D ) ) ) ST E Programmable Logic Controller | Stefan Reichel | 23.06.2010

  26. Programming a PLC – Structured text Programming a PLC – Structured text 26  Structured text , close to high languages like c, pascal , g g g , p  Every command ends with a semicolon  Allows conditions like if/case and loops  Assignments with := g CASE f OF IF (TEMP > 20) THEN 1: 1: a:=3; a:=3; HEATER : HEATER := OFF; OFF; 2: a:=5; COOLER := ON; 3: a:=2; ELSIF (TEMP < 19) ELSE a:=0; HEATER := ON; END CASE; COOLER := OFF; END_IF; Programmable Logic Controller | Stefan Reichel | 23.06.2010

  27. Programming a PLC – Structured text Programming a PLC – Structured text 27  Structured text support several loop types pp p yp FOR a:=0 TO 10 BY 1 DO WHILE b > 1 DO REPEAT a:= b * c; c:=a + 4; ; b:= b/2; / ; UNTIL a > 1000; ; END_FOR; END_WHILE; END_REPEAT;  Function and function block calls c:= MYFC(a,b); MYFB(IN:=a, IN:=b); c:= MYFB Q; c:= MYFB.Q; Programmable Logic Controller | Stefan Reichel | 23.06.2010

  28. Programming a PLC – Structured text 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

  29. Programming a PLC – Ladder diagram Programming a PLC – Ladder diagram 29  Ladder diagram, graphical programming language g , g p p g g g g  Close to circuit diagram  Power flow from left to right Symbol Description --| |-- | | Opener,if on state is transfered p , --|/|-- Closer,if off state is transfered --| NOT |-- Negation --() Output relais --P-- Detection of positive change 0  1 Detection of nefative change 1  0 Detection of nefative change 1  0 --N-- N Programmable Logic Controller | Stefan Reichel | 23.06.2010

  30. Programming a PLC – Structured text Programming a PLC – Structured text 30  Our example: p a ∧ (b ∨ ( c ∧ -d)) = e a = I/0 b = I/1 b = I/1 … Programmable Logic Controller | Stefan Reichel | 23.06.2010

  31. Programming a PLC – Function block Programming a PLC – Function block 31  Function block diagram, graphical programming language g , g p p g g g g  Based on function and function block composition Programmable Logic Controller | Stefan Reichel | 23.06.2010

  32. Programming a PLC – Function Block Programming a PLC – Function Block 32  Our example: p a ∧ (b ∨ ( c ∧ -d)) = e c ANDN d b OR a a e e AND AND Programmable Logic Controller | Stefan Reichel | 23.06.2010

Recommend


More recommend