FS = first scan page 0 T1 = ST2⋅A A ST1 C * B ST3 T2 = ST1⋅B T1 T3 = ST3⋅(C ⋅B) T3 T4 = ST2⋅(C+ B) T4 B T2 ST1 = (ST1+T1) ⋅T2+ FS ST2 = (ST2+T2+ T3) ⋅T1 ⋅T4 ST2 C + B ST3 = (ST3+T4⋅T1) ⋅T3 ST2 A T1 ST1AutoBmating Manufacturing Systems T2 with PLCs ST3 C B T3 ST2 C T4 B T2 (Version 5.1, March 21, 2008) ST1 ST1 T1 first scan T1 T4 ST2 ST2 Hugh Jack T2 T3 T3 ST3 ST3 T4 T1 page 0 Copyright (c) 1993-2008 Hugh Jack ([email protected]). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". This document is provided as-is with no warranty, implied or otherwise. There have been attempts to eliminate errors from this document, but there is no doubt that errors remain. As a result, the author does not assume any responsibility for errors and omissions, or damages resulting from the use of the information pro- vided. Additional materials and updates for this work will be available at http://clay- more.engineer.gvsu.edu/~jackh/books.html page i 1.1 TODO LIST 1.3 2. PROGRAMMABLE LOGIC CONTROLLERS . . . . . . . . . . . . . 2.1 2.1 INTRODUCTION 2.1 2.1.1 Ladder Logic 2.1 2.1.2 Programming 2.6 2.1.3 PLC Connections 2.10 2.1.4 Ladder Logic Inputs 2.11 2.1.5 Ladder Logic Outputs 2.12 2.2 A CASE STUDY 2.13 2.3 SUMMARY 2.14 2.4 PRACTICE PROBLEMS 2.15 2.5 PRACTICE PROBLEM SOLUTIONS 2.15 2.6 ASSIGNMENT PROBLEMS 2.16 3. PLC HARDWARE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 3.1 INTRODUCTION 3.1 3.2 INPUTS AND OUTPUTS 3.2 3.2.1 Inputs 3.3 3.2.2 Output Modules 3.7 3.3 RELAYS 3.13 3.4 A CASE STUDY 3.14 3.5 ELECTRICAL WIRING DIAGRAMS 3.15 3.5.1 JIC Wiring Symbols 3.18 3.6 SUMMARY 3.22 3.7 PRACTICE PROBLEMS 3.22 3.8 PRACTICE PROBLEM SOLUTIONS 3.25 3.9 ASSIGNMENT PROBLEMS 3.28 4. LOGICAL SENSORS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 4.1 INTRODUCTION 4.1 4.2 SENSOR WIRING 4.1 4.2.1 Switches 4.2 4.2.2 Transistor Transistor Logic (TTL) 4.3 4.2.3 Sinking/Sourcing 4.3 4.2.4 Solid State Relays 4.10 4.3 PRESENCE DETECTION 4.11 4.3.1 Contact Switches 4.11 4.3.2 Reed Switches 4.11 4.3.3 Optical (Photoelectric) Sensors 4.12 4.3.4 Capacitive Sensors 4.19 4.3.5 Inductive Sensors 4.23 4.3.6 Ultrasonic 4.25 4.3.7 Hall Effect 4.25 page ii 4.3.8 Fluid Flow 4.26 4.4 SUMMARY 4.26 4.5 PRACTICE PROBLEMS 4.27 4.6 PRACTICE PROBLEM SOLUTIONS 4.30 4.7 ASSIGNMENT PROBLEMS 4.36 5. LOGICAL ACTUATORS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1 5.1 INTRODUCTION 5.1 5.2 SOLENOIDS 5.1 5.3 VALVES 5.2 5.4 CYLINDERS 5.4 5.5 HYDRAULICS 5.6 5.6 PNEUMATICS 5.8 5.7 MOTORS 5.9 5.8 OTHERS 5.10 5.9 SUMMARY 5.10 5.10 PRACTICE PROBLEMS 5.10 5.11 PRACTICE PROBLEM SOLUTIONS 5.11 5.12 ASSIGNMENT PROBLEMS 5.12 6. BOOLEAN LOGIC DESIGN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1 6.1 INTRODUCTION 6.1 6.2 BOOLEAN ALGEBRA 6.1 6.3 LOGIC DESIGN 6.6 6.3.1 Boolean Algebra Techniques 6.13 6.4 COMMON LOGIC FORMS 6.14 6.4.1 Complex Gate Forms 6.14 6.4.2 Multiplexers 6.15 6.5 SIMPLE DESIGN CASES 6.17 6.5.1 Basic Logic Functions 6.17 6.5.2 Car Safety System 6.18 6.5.3 Motor Forward/Reverse 6.18 6.5.4 A Burglar Alarm 6.19 6.6 SUMMARY 6.23 6.7 PRACTICE PROBLEMS 6.24 6.8 PRACTICE PROBLEM SOLUTIONS 6.27 6.9 ASSIGNMENT PROBLEMS 6.37 7. KARNAUGH MAPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1 7.1 INTRODUCTION 7.1 7.2 SUMMARY 7.4 7.3 PRACTICE PROBLEMS 7.5 7.4 PRACTICE PROBLEM SOLUTIONS 7.11 page iii 7.5 ASSIGNMENT PROBLEMS 7.17 8. PLC OPERATION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.1 8.1 INTRODUCTION 8.1 8.2 OPERATION SEQUENCE 8.3 8.2.1 The Input and Output Scans 8.4 8.2.2 The Logic Scan 8.4 8.3 PLC STATUS 8.6 8.4 MEMORY TYPES 8.6 8.5 SOFTWARE BASED PLCS 8.7 8.6 SUMMARY 8.7 8.7 PRACTICE PROBLEMS 8.8 8.8 PRACTICE PROBLEM SOLUTIONS 8.8 8.9 ASSIGNMENT PROBLEMS 8.9 9. LATCHES, TIMERS, COUNTERS AND MORE . . . . . . . . . . . . 9.1 9.1 INTRODUCTION 9.1 9.2 LATCHES 9.2 9.3 TIMERS 9.6 9.4 COUNTERS 9.14 9.5 MASTER CONTROL RELAYS (MCRs) 9.17 9.6 INTERNAL BITS 9.19 9.7 DESIGN CASES 9.20 9.7.1 Basic Counters And Timers 9.20 9.7.2 More Timers And Counters 9.21 9.7.3 Deadman Switch 9.22 9.7.4 Conveyor 9.23 9.7.5 Accept/Reject Sorting 9.24 9.7.6 Shear Press 9.26 9.8 SUMMARY 9.27 9.9 PRACTICE PROBLEMS 9.28 9.10 PRACTICE PROBLEM SOLUTIONS 9.32 9.11 ASSIGNMENT PROBLEMS 9.43 10. STRUCTURED LOGIC DESIGN . . . . . . . . . . . . . . . . . . . . . . . 10.1 10.1 INTRODUCTION 10.1 10.2 PROCESS SEQUENCE BITS 10.2 10.3 TIMING DIAGRAMS 10.6 10.4 DESIGN CASES 10.9 10.5 SUMMARY 10.9 10.6 PRACTICE PROBLEMS 10.9 10.7 PRACTICE PROBLEM SOLUTIONS 10.10 10.8 ASSIGNMENT PROBLEMS 10.14 page iv 11. FLOWCHART BASED DESIGN . . . . . . . . . . . . . . . . . . . . . . . 11.1 11.1 INTRODUCTION 11.1 11.2 BLOCK LOGIC 11.4 11.3 SEQUENCE BITS 11.11 11.4 SUMMARY 11.15 11.5 PRACTICE PROBLEMS 11.15 11.6 PRACTICE PROBLEM SOLUTIONS 11.16 11.7 ASSIGNMENT PROBLEMS 11.26 12. STATE BASED DESIGN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.1 12.1 INTRODUCTION 12.1 12.1.1 State Diagram Example 12.4 12.1.2 Conversion to Ladder Logic 12.7 Block Logic Conversion 12.7 State Equations 12.16 State-Transition Equations 12.24 12.2 SUMMARY 12.29 12.3 PRACTICE PROBLEMS 12.29 12.4 PRACTICE PROBLEM SOLUTIONS 12.34 12.5 ASSIGNMENT PROBLEMS 12.49 13. NUMBERS AND DATA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.1 13.1 INTRODUCTION 13.1 13.2 NUMERICAL VALUES 13.2 13.2.1 Binary 13.2 Boolean Operations 13.5 Binary Mathematics 13.6 13.2.2 Other Base Number Systems 13.10 13.2.3 BCD (Binary Coded Decimal) 13.11 13.3 DATA CHARACTERIZATION 13.11 13.3.1 ASCII (American Standard Code for Information Interchange) 13.11 13.3.2 Parity 13.14 13.3.3 Checksums 13.15 13.3.4 Gray Code 13.16 13.4 SUMMARY 13.17 13.5 PRACTICE PROBLEMS 13.17 13.6 PRACTICE PROBLEM SOLUTIONS 13.20 13.7 ASSIGNMENT PROBLEMS 13.23 14. PLC MEMORY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14.1 14.1 INTRODUCTION 14.1 14.2 PROGRAM VS VARIABLE MEMORY 14.1 page v 14.3 PROGRAMS 14.3 14.4 VARIABLES (TAGS) 14.3 14.4.1 Timer and Counter Memory 14.6 14.4.2 PLC Status Bits 14.8 14.4.3 User Function Control Memory 14.11 14.5 SUMMARY 14.12 14.6 PRACTICE PROBLEMS 14.12 14.7 PRACTICE PROBLEM SOLUTIONS 14.13 14.8 ASSIGNMENT PROBLEMS 14.15 15. LADDER LOGIC FUNCTIONS . . . . . . . . . . . . . . . . . . . . . . . . 15.1 15.1 INTRODUCTION 15.1 15.2 DATA HANDLING 15.3 15.2.1 Move Functions 15.3 15.2.2 Mathematical Functions 15.5 15.2.3 Conversions 15.10 15.2.4 Array Data Functions 15.11 Statistics 15.12 Block Operations 15.13 15.3 LOGICAL FUNCTIONS 15.15 15.3.1 Comparison of Values 15.15 15.3.2 Boolean Functions 15.21 15.4 DESIGN CASES 15.22 15.4.1 Simple Calculation 15.22 15.4.2 For-Next 15.23 15.4.3 Series Calculation 15.24 15.4.4 Flashing Lights 15.25 15.5 SUMMARY 15.25 15.6 PRACTICE PROBLEMS 15.26 15.7 PRACTICE PROBLEM SOLUTIONS 15.28 15.8 ASSIGNMENT PROBLEMS 15.34 16. ADVANCED LADDER LOGIC FUNCTIONS . . . . . . . . . . . . . 16.1 16.1 INTRODUCTION 16.1 16.2 LIST FUNCTIONS 16.1 16.2.1 Shift Registers 16.1 16.2.2 Stacks 16.3 16.2.3 Sequencers 16.6 16.3 PROGRAM CONTROL 16.9 16.3.1 Branching and Looping 16.9 16.3.2 Fault Handling 16.14 16.3.3 Interrupts 16.15 16.4 INPUT AND OUTPUT FUNCTIONS 16.17 16.4.1 Immediate I/O Instructions 16.17 page vi 16.5 DESIGN TECHNIQUES 16.19 16.5.1 State Diagrams 16.19 16.6 DESIGN CASES 16.24 16.6.1 If-Then 16.24 16.6.2 Traffic Light 16.25 16.7 SUMMARY 16.25 16.8 PRACTICE PROBLEMS 16.26 16.9 PRACTICE PROBLEM SOLUTIONS 16.28 16.10 ASSIGNMENT PROBLEMS 16.37 17. OPEN CONTROLLERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.1 17.1 INTRODUCTION 17.1 17.2 IEC 61131 17.2 17.3 OPEN ARCHITECTURE CONTROLLERS 17.3 17.4 SUMMARY 17.4 17.5 PRACTICE PROBLEMS 17.4 17.6 PRACTICE PROBLEM SOLUTIONS 17.4 17.7 ASSIGNMENT PROBLEMS 17.4 18. INSTRUCTION LIST PROGRAMMING . . . . . . . . . . . . . . . . . 18.1 18.1 INTRODUCTION 18.1 18.2 THE IEC 61131 VERSION 18.1 18.3 THE ALLEN-BRADLEY VERSION 18.4 18.4 SUMMARY 18.9 18.5 PRACTICE PROBLEMS 18.10 18.6 PRACTICE PROBLEM SOLUTIONS 18.10 18.7 ASSIGNMENT PROBLEMS 18.10 19. STRUCTURED TEXT PROGRAMMING . . . . . . . . . . . . . . . . 19.1 19.1 INTRODUCTION 19.1 19.2 THE LANGUAGE 19.2 19.2.1 Elements of the Language 19.3 19.2.2 Putting Things Together in a Program 19.9 19.3 AN EXAMPLE 19.14 19.4 SUMMARY 19.16 19.5 PRACTICE PROBLEMS 19.16 19.6 PRACTICE PROBLEM SOLUTIONS 19.16 19.7 ASSIGNMENT PROBLEMS 19.16 20. SEQUENTIAL FUNCTION CHARTS . . . . . . . . . . . . . . . . . . . 20.1 20.1 INTRODUCTION 20.1 20.2 A COMPARISON OF METHODS 20.16 20.3 SUMMARY 20.16 page vii 20.4 PRACTICE PROBLEMS 20.17 20.5 PRACTICE PROBLEM SOLUTIONS 20.18 20.6 ASSIGNMENT PROBLEMS 20.25 21. FUNCTION BLOCK PROGRAMMING . . . . . . . . . . . . . . . . . . 21.1 21.1 INTRODUCTION 21.1 21.2 CREATING FUNCTION BLOCKS 21.3 21.3 DESIGN CASE 21.4 21.4 SUMMARY 21.4 21.5 PRACTICE PROBLEMS 21.5 21.6 PRACTICE PROBLEM SOLUTIONS 21.5 21.7 ASSIGNMENT PROBLEMS 21.5 22. ANALOG INPUTS AND OUTPUTS . . . . . . . . . . . . . . . . . . . . 22.1 22.1 INTRODUCTION 22.1 22.2 ANALOG INPUTS 22.2 22.2.1 Analog Inputs With a PLC-5 22.9 22.3 ANALOG OUTPUTS 22.13 22.3.1 Analog Outputs With A PLC-5 22.16 22.3.2 Pulse Width Modulation (PWM) Outputs 22.18 22.3.3 Shielding 22.20 22.4 DESIGN CASES 22.22 22.4.1 Process Monitor 22.22 22.5 SUMMARY 22.22 22.6 PRACTICE PROBLEMS 22.23 22.7 PRACTICE PROBLEM SOLUTIONS 22.24 22.8 ASSIGNMENT PROBLEMS 22.29 23. CONTINUOUS SENSORS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23.1 23.1 INTRODUCTION 23.1 23.2 INDUSTRIAL SENSORS 23.2 23.2.1 Angular Displacement 23.3 Potentiometers 23.3 23.2.2 Encoders 23.4 Tachometers 23.8 23.2.3 Linear Position 23.8 Potentiometers 23.8 Linear Variable Differential Transformers (LVDT)23.9 Moire Fringes 23.11 Accelerometers 23.12 23.2.4 Forces and Moments 23.15 Strain Gages 23.15 Piezoelectric 23.18 23.2.5 Liquids and Gases 23.20 page viii Pressure 23.21 Venturi Valves 23.22 Coriolis Flow Meter 23.23 Magnetic Flow Meter 23.24 Ultrasonic Flow Meter 23.24 Vortex Flow Meter 23.24 Positive Displacement Meters 23.25 Pitot Tubes 23.25 23.2.6 Temperature 23.25 Resistive Temperature Detectors (RTDs) 23.26 Thermocouples 23.26 Thermistors 23.28 Other Sensors 23.30 23.2.7 Light 23.30 Light Dependant Resistors (LDR) 23.30 23.2.8 Chemical 23.31 pH 23.31 Conductivity 23.31 23.2.9 Others 23.32 23.3 INPUT ISSUES 23.32 23.4 SENSOR GLOSSARY 23.35 23.5 SUMMARY 23.36 23.6 REFERENCES 23.37 23.7 PRACTICE PROBLEMS 23.37 23.8 PRACTICE PROBLEM SOLUTIONS 23.38 23.9 ASSIGNMENT PROBLEMS 23.40 24. CONTINUOUS ACTUATORS . . . . . . . . . . . . . . . . . . . . . . . . . 24.1 24.1 INTRODUCTION 24.1 24.2 ELECTRIC MOTORS 24.1 24.2.1 Basic Brushed DC Motors 24.3 24.2.2 AC Motors 24.7 24.2.3 Brushless DC Motors 24.15 24.2.4 Stepper Motors 24.17 24.2.5 Wound Field Motors 24.19 24.3 HYDRAULICS 24.23 24.4 OTHER SYSTEMS 24.24 24.5 SUMMARY 24.25 24.6 PRACTICE PROBLEMS 24.25 24.7 PRACTICE PROBLEM SOLUTIONS 24.26 24.8 ASSIGNMENT PROBLEMS 24.27 25. CONTINUOUS CONTROL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25.1 25.1 INTRODUCTION 25.1