- •1. TABLE OF CONTENTS
- •2. OVERVIEW
- •3. PROCESS CONTROL
- •3.1 INTRODUCTION
- •3.2 CONTROL SYSTEM CHARACTERISTICS
- •3.3 CONTROLLER TYPES
- •3.4 PROCESS DIAGRAMS AND SYMBOLS
- •3.5 PRACTICE QUESTIONS
- •4. DISCRETE CONTROLLER DESIGN
- •4.1 POSITIONING CONTROLLERS
- •4.1.1 Dead Beat Control
- •4.1.2 Programming Examples
- •4.1.2.1 - BASIC
- •4.1.2.3 - Pascal
- •4.1.2.4 - 6811 Assembler
- •4.1.3 First Order Response
- •4.2 TRACKING
- •4.2.1 Minimum Error
- •4.3 DISTURBANCE RESISTANT
- •4.3.1 Disturbance Minimization
- •4.4 MULTI-CONTROLLER SYSTEMS
- •4.4.1 Disturbance Feedforward
- •4.4.2 Command Feedforward
- •4.4.3 Cascade
- •4.5 SAMPLE TIME
- •4.6 SUMMARY
- •4.7 PRACTICE PROBLEMS
- •5. DISCRETE SYSTEMS
- •5.1 DISCRETE SYSTEM MODELLING WITH EQUATIONS
- •5.1.1 Getting a Discrete Equation
- •5.1.2 First Order System Example
- •5.1.3 Second Order System Example
- •5.1.4 Example of Dead (Delay) Time
- •5.2 DISCRETE CONTROLLERS
- •5.2.1 A Proportional Controller
- •5.2.2 Integral Control
- •5.2.3 Differential Control
- •5.2.4 Proportional, Integral, Derivative (PID) Control
- •5.3 BLOCK DIAGRAMS AND TRANSFER FUNCTIONS
- •5.3.1 The Backward-Shift ‘B’ Operator
- •5.3.2 Reducing Block Diagrams
- •5.3.3 Back-Shift Transform Table
- •5.3.3.1 - A Summary of Differential Equation Solutions
- •5.3.4 Stability
- •5.4 SAMPLING FUNCTIONS
- •5.5 SYSTEM RESPONSE
- •5.6 STEADY STATE ERROR
- •5.7 PRACTICE PROBLEMS
- •6. PETRI NETS
- •6.1 INTRODUCTION
- •6.2 IMPLEMENTATION FOR A PLC
- •6.3 PRACTICE PROBLEMS
- •7. CONTINUOUS CONTROL SYSTEMS
- •7.1 CONTROL SYSTEMS
- •7.1.1 PID Control Systems
- •7.1.2 Analysis of PID Controlled Systems With Laplace Transforms
- •7.1.3 Manipulating Block Diagrams
- •7.1.3.1 - Commercial PID Tuners
- •7.1.4 Finding The System Response To An Input
- •7.1.5 System Response
- •7.1.6 A Motor Control System Example
- •7.1.7 System Error
- •7.1.8 Controller Transfer Functions
- •7.2 ROOT-LOCUS PLOTS
- •7.2.1 Approximate Plotting Techniques
- •7.2.2 State Variable Control Systems
- •7.3 DESIGN OF CONTINUOUS CONTROLLERS
- •7.4 PRACTICE PROBLEMS
- •8. FUZZY LOGIC
- •8.1 COMMERCIAL CONTROLLERS
- •8.2 REFERENCES
- •8.3 PRACTICE PROBLEMS
- •9. MECHATRONICS CIRCUITS
- •9.1 POWER SWITCHING
- •9.2 USER INPUT/OUTPUT
- •9.2.1 Multiplexing
- •10. HARDWARE BASED CONTROLLERS
- •10.1 CIRCUITS
- •10.2 FLUIDICS
- •10.3 PNEUMATICS
- •10.4 PRACTICE PROBLEMS
- •11. EMBEDDED CONTROLLERS
- •11.1 TYPES
- •11.1.1 Micro Controllers
- •11.1.2 DSPs
- •11.1.3 CPUs
- •11.2 CONTROLLER DESIGN EXAMPLE
- •11.3 PRACTICE PROBLEMS
- •12. DISCRETE SENSORS
- •12.1 INTRODUCTION
- •12.2 SENSOR WIRING
- •12.2.1 Switches
- •12.2.2 Transistor Transistor Logic (TTL)
- •12.2.3 Sinking/Sourcing
- •12.2.4 Solid State Relays
- •12.3 CONTACT DETECTION
- •12.3.1 Contact Switches
- •12.3.2 Reed Switches
- •12.4 PROXIMITY DETECTION
- •12.4.1 Optical (Photoelectric) Sensors
- •12.4.2 Capacitive Sensors
- •12.4.3 Inductive Sensors
- •12.4.4 Ultrasonic
- •12.4.5 Hall Effect
- •12.4.6 Fluid Flow
- •12.4.7 Other Types
- •12.5 PRACTICE PROBLEMS
- •13. CONTINUOUS SENSORS
- •13.1 INPUT ISSUES
- •13.2 SENSOR TYPES
- •13.3 ANGULAR POSITION
- •13.3.1 Potentiometers
- •13.3.2 Encoders
- •13.3.3 Resolvers
- •13.3.4 Practice Problems
- •13.4 LINEAR POSITION
- •13.4.1 Potentiometers
- •13.4.2 Linear Variable Differential Transformers (LVDT)
- •13.4.3 Moire Fringes
- •13.4.4 Interferometers
- •13.5 VELOCITY
- •13.5.1 Velocity Pickups
- •13.5.2 Tachometers
- •13.6 ACCELERATION
- •13.6.1 Accelerometers
- •13.7 FORCE/MOMENT
- •13.7.1 Strain Gages
- •13.7.2 Piezoelectric
- •13.8 FLOW RATE
- •13.8.1 Venturi
- •13.9 TEMPERATURE
- •13.9.1 Resistive Temperature Detectors (RTDs)
- •13.9.2 Thermocouples
- •13.9.3 Thermistors
- •13.10 SOUND
- •13.10.1 Microphones
- •13.11 LIGHT INTENSITY
- •13.11.1 Light Dependant Resistors (LDR)
- •13.12 PRESSURE
- •13.12.1 Bourdon Tubes
- •13.13 PRACTICE PROBLEMS
- •13.14 REFERENCES
- •14. ACTUATORS
- •14.1 ACTUATOR TYPES
- •15. DISCRETE ACTUATORS
- •15.1 INTRODUCTION
- •15.1.1 Interfacing
- •15.1.1.1 - Relays
- •15.1.1.2 - Transistors
- •15.1.1.3 - Triacs
- •15.2 TYPES
- •15.2.1 Solenoids
- •15.2.2 Hydraulic
- •15.2.3 Hydraulics
- •15.2.4 Electric
- •15.2.5 Pneumatic
- •15.2.6 Others
- •15.3 PRACTICE PROBLEMS
- •16. CONTINUOUS ACTUATORS
- •16.1 ACTUATOR CONTROL
- •16.1.1 Block Diagrams
- •16.1.2 Linear Control Systems
- •16.1.3 Motor Controllers
- •16.1.3.1 - DC Motors
- •16.1.3.2 - Stepper Motors
- •16.1.3.3 - Separately Excited DC Motor
- •16.1.3.4 - AC Motors
- •16.1.3.4.1 - Synchronous
- •16.1.4 Hydraulic
- •16.2 PRACTICE PROBLEMS
- •17. PROGRAMMABLE LOGIC CONTROLLERS
- •17.1 BASIC PLCs
- •17.1.1 PLC Connections
- •17.1.2 Ladder Logic
- •17.1.3 Ladder Logic Outputs
- •17.1.4 Ladder Logic Inputs
- •17.2 A SIMPLE EXAMPLE
- •17.3 PRACTICE PROBLEMS
- •18. PLC CONNECTION
- •18.1 SWITCHED INPUTS AND OUTPUTS
- •18.1.1 Input Modules
- •18.1.2 Output Modules
- •18.1.2.1 - Relays
- •18.2 PRACTICE PROBLEMS
- •19. PLC OPERATION
- •19.1 PLC ORGANIZATION
- •19.2 PLC STATUS
- •19.3 MEMORY TYPES
- •19.4 SOFTWARE BASED PLCS
- •19.5 PROGRAMMING STANDARDS
- •19.5.2 The Future of Open Architecture Controllers
- •19.6 PRACTICE PROBLEMS
- •20. SWITCHING LOGIC
- •20.1 BOOLEAN ALGEBRA
- •20.2 DISCRETE LOGIC
- •20.2.1 Boolean Algebra for Circuit and Ladder Logic Design
- •20.2.2 Boolean Forms
- •20.3 SIMPLIFYING BOOLEAN EQUATIONS
- •20.3.1 Karnaugh Maps for Combinatorial Design
- •20.4 ADDITIONAL TOPICS
- •20.4.1 Negative Logic
- •20.4.2 Common Logic Forms
- •20.4.2.1 - NAND/NOR Forms
- •20.4.2.2 - Multiplexers
- •20.4.2.3 - Seal-in Circuits
- •20.5 DESIGN CASES
- •20.5.1 Logic Functions
- •20.5.2 Car Safety System
- •20.5.3 Motor Forward/Reverse
- •20.6 PRACTICE PROBLEMS
- •21. NUMBERING
- •21.1 INTRODUCTION
- •21.2 DATA VALUES
- •21.2.1 Binary
- •21.2.2 Boolean Operations
- •21.2.3 Binary Mathematics
- •21.2.4 BCD (Binary Coded Decimal)
- •21.2.5 Number Conversions
- •21.2.6 ASCII (American Standard Code for Information Interchange)
- •21.3 DATA CHARACTERIZATION
- •21.3.1 Parity
- •21.3.2 Gray Code
- •21.3.3 Checksums
- •21.4 PRACTICE PROBLEMS
- •22. EVENT BASED LOGIC
- •22.1 INTRODUCTION
- •22.2 TIMERS, COUNTERS, FLIP-FLOPS, LATCHES
- •22.2.1 Latches
- •22.2.2 Flip-Flops
- •22.2.3 Timers
- •22.2.4 Counters
- •22.3 PROGRAM DESIGN METHODS
- •22.3.1 Process Sequence Bits
- •22.3.2 Timing Diagrams
- •22.4 DESIGN CASES
- •22.4.1 Counters And Timers
- •22.4.2 More Timers And Counters
- •22.4.3 Oscillator
- •22.4.4 More Timers
- •22.4.5 Cascaded Timers
- •22.4.6 Deadman Switch
- •22.4.7 Conveyor
- •22.4.8 Accept/Reject Sorting
- •22.4.9 Shear Press
- •22.4.10 Actuator Failure
- •22.4.11 Palm Button Detection
- •22.5 PRACTICE PROBLEMS
- •23. SEQUENTIAL LOGIC DESIGN
- •23.1 SCRIPTS
- •23.2 FLOW CHARTS
- •23.3 STATE BASED MODELLING
- •23.3.1 State Diagrams Example
- •23.3.1.1 - Block Logic Conversion
- •23.3.1.2 - Single State Equations
- •23.3.1.3 - Entry and Exit State Equations
- •23.3.1.4 - State Transition Equations
- •23.4 PARALLEL PROCESS FLOWCHARTS
- •23.4.1 Implementation with Microcontroller
- •23.5 SEQUENTIAL LOGIC CIRCUITS
- •23.5.1 Latches and Seal-in
- •23.5.2 Shift Registers
- •23.6 PRACTICE PROBLEMS
- •24. ADVANCED LADDER LOGIC FUNCTIONS
- •24.1 ADDRESSING
- •24.1.1 Data Files
- •24.1.1.1 - Inputs and Outputs
- •24.1.1.2 - User Bit Memory
- •24.1.1.3 - Timer Counter Memory
- •24.1.1.4 - PLC Status Bits (for PLC-5s and Micrologix)
- •24.1.1.5 - User Function Control Memory
- •24.1.1.6 - Integer Memory
- •24.1.1.7 - Floating Point Memory
- •24.2 INSTRUCTION TYPES
- •24.2.1 Basic Data Handling
- •24.2.1.1 - Move Functions
- •24.2.1.2 - Mathematical Functions
- •24.2.2 Logical Functions
- •24.2.2.1 - Comparison of Values
- •24.2.2.2 - Binary Functions
- •24.2.3 Boolean Operations
- •24.2.4 Binary Mathematics
- •24.2.5 BCD (Binary Coded Decimal)
- •24.2.6 Advanced Data Handling
- •24.2.6.1 - Multiple Data Value Functions
- •24.2.7 Complex Functions
- •24.2.7.1 - Shift Registers
- •24.2.7.2 - Stacks
- •24.2.7.3 - Sequencers
- •24.2.8 Program Control Structures
- •24.2.8.1 - Branching and Looping
- •24.2.8.2 - Immediate I/O Instructions
- •24.2.8.3 - Fault Detection and Interrupts
- •24.2.9 Block Transfer Functions
- •24.3 DESIGN TECHNIQUES
- •24.3.1 State Diagrams
- •24.4 DESIGN CASES
- •24.4.1 If-Then
- •24.4.2 For-Next
- •24.4.3 Conveyor
- •24.5 FUNCTION REFERENCE
- •24.6 PRACTICE PROBLEMS
- •25. PLC PROGRAMMING
- •25.1 PROGRAMMING STANDARDS
- •25.1.2 The Future of Open Architecture Controllers
- •25.2 PRACTICE PROBLEMS
- •26. STRUCTURED TEXT PROGRAMMING
- •26.1 INTRODUCTION
- •26.2 THE LANGUAGE
- •26.3 PRACTICE PROBLEMS
- •27. INSTRUCTION LIST PROGRAMMING
- •27.1 INTRODUCTION
- •27.2 PRACTICE PROBLEMS
- •28. FUNCTION BLOCK PROGRAMMING
- •28.1 INTRODUCTION
- •28.2 PRACTICE PROBLEMS
- •29. ANALOG INPUTS AND OUTPUTS
- •29.1 ANALOG INPUTS
- •29.1.1 Analog To Digital Conversions
- •29.1.2 Analog Inputs With a PLC
- •29.2 ANALOG OUTPUTS
- •29.2.1 Analog Outputs With A PLC
- •29.3 DESIGN CASES
- •29.3.1 Oven Temperature Control
- •29.3.2 Statistical Process Control (SPC)
- •29.4 PRACTICE PROBLEMS
- •30. CONTINUOUS CONTROL
- •30.1 CONTROLLING CONTINUOUS SYSTEMS
- •30.2 CONTROLLING DISCRETE SYSTEMS
- •30.3 CONTROL SYSTEMS
- •30.3.1 PID Control Systems
- •30.3.1.1 - PID Control With a PLC
- •30.4 DESIGN CASES
- •30.4.1 Temperature Controller
- •30.5 PRACTICE PROBLEMS
- •31. PLC DATA COMMUNICATION
- •31.1 COMPUTER COMMUNICATIONS CATEGORIES
- •31.2 THE HISTORY
- •31.3 WITH PLCs
- •31.4 SERIAL COMMUNICATIONS
- •31.4.1.1 - ASCII Functions
- •31.4.2 ASCII (American Standard Code for Information Interchange)
- •31.5 PARALLEL
- •31.6 NETWORKS
- •31.6.1 Introduction
- •31.6.2 OSI Network Model
- •31.6.2.1 - Physical Layer
- •31.6.2.2 - Data Link Layer
- •31.6.2.3 - Network Layer
- •31.6.2.4 - Transport Layer
- •31.6.2.5 - Session Layer
- •31.6.2.6 - Presentation Layer
- •31.6.2.7 - Application Layer
- •31.6.2.8 - Open Systems
- •31.6.2.9 - Networking Hardware
- •31.7 BUS TYPES
- •31.7.1 Devicenet
- •31.7.2 CANbus
- •31.7.3 Controlnet
- •31.7.4 Profibus
- •31.7.5 Ethernet
- •31.7.6 Proprietary Networks
- •31.7.6.1 - Data Highway
- •31.7.7 Other Network Types
- •31.8 DESIGN CASES
- •31.8.1 PLC Interface To Robots And NC Machines
- •31.9 PRACTICE PROBLEMS
- •32. HUMAN MACHINE INTERFACES (HMI)
- •32.1 INTRODUCTION
- •32.2 HMI/MMI DESIGN
- •32.3 DESIGN CASES
- •32.4 PRACTICE PROBLEMS
- •33. DESIGNING LARGE SYSTEMS
- •33.1 PROGRAMMING
- •33.2 DOCUMENTATION
- •33.3 PLC PROGRAM DESIGN FORMS
- •33.4 PRACTICE PROBLEMS
- •34. IMPLEMENTATION
- •34.1 ELECTRICAL
- •34.1.1 Electrical Wiring Diagrams
- •34.1.1.1 - JIC Wiring Symbols
- •34.1.2 Wiring
- •34.1.3 Shielding and Grounding
- •34.2 SAFETY
- •34.2.1 Troubleshooting
- •34.2.2 Forcing Outputs
- •34.2.3 PLC Environment
- •34.2.3.1 - Enclosures
- •35. PROCESS MODELLING
- •35.1 REFERENCES
- •35.2 PRACTICE PROBLEMS
- •36. SELECTING A PLC
- •36.1 SPECIAL I/O MODULES
- •36.2 PLC PROGRAMMING LANGUAGES
- •36.3 ISSUES
- •36.4 PRACTICE PROBLEMS
- •37. PLC REFERENCES
- •37.1 SUPPLIERS
- •37.2 PROFESSIONAL INTEREST GROUPS
- •37.3 PLC/DISCRETE CONTROL REFERENCES
- •38. USING THE OMRON DEMO PACKAGE
- •38.1 OVERVIEW
- •38.1.1 Installation
- •38.1.2 Basic Use
- •38.1.3 Connecting to the PLC
- •38.2 REFERENCE GUIDE FOR OMRON PLC DEMO SOFTWARE
- •39. INDUSTRIAL ROBOTICS
- •39.1 INTRODUCTION
- •39.1.1 Basic Terms
- •39.1.2 Positioning Concepts
- •39.1.2.1 - Accuracy and Repeatability
- •39.1.2.2 - Control Resolution
- •39.1.2.3 - Payload
- •39.2 ROBOT TYPES
- •39.2.1 Basic Robotic Systems
- •39.2.2 Types of Robots
- •39.2.2.1 - Robotic Arms
- •39.2.2.2 - Autonomous/Mobile Robots
- •39.2.2.2.1 - Automatic Guided Vehicles (AGVs)
- •39.2.3 Commercial Robots
- •39.2.3.1 - Seiko RT 3000 Manipulator
- •39.2.3.2 - DARL Programs
- •39.2.3.2.1 - Language Examples
- •39.2.3.2.2 - Commands Summary
- •39.2.3.3 - Mitsubishi RV-M1 Manipulator
- •39.2.3.4 - Movemaster Programs
- •39.2.3.4.1 - Language Examples
- •39.2.3.4.2 - Command Summary
- •39.2.3.5 - IBM 7535 Manipulator
- •39.2.3.6 - AML Programs
- •39.2.3.7 - ASEA IRB-1000
- •39.2.4 Unimation Puma (360, 550, 560 Series)
- •39.3 ROBOT APPLICATIONS
- •39.3.1 Overview
- •39.3.2 Spray Painting and Finishing
- •39.3.3 Welding
- •39.3.4 Assembly
- •39.3.5 Belt Based Material Transfer
- •39.4 END OF ARM TOOLING (EOAT)
- •39.4.1 EOAT Design
- •39.4.2 Gripper Mechanisms
- •39.4.2.1 - Vacuum grippers
- •39.4.3 Magnetic Grippers
- •39.4.3.1 - Adhesive Grippers
- •39.4.4 Expanding Grippers
- •39.4.5 Other Types Of Grippers
- •39.5 ADVANCED TOPICS
- •39.5.1 Simulation/Off-line Programming
- •39.6 PRACTICE PROBLEMS
- •40. ROBOTIC PATH PLANNING METHODS
- •40.1 INTRODUCTION:
- •40.1.1 ROBOT APPLICATIONS
- •40.1.2 ROBOTIC CONSTRAINTS
- •40.1.3 THE OPTIMIZATION PROBLEM OF PATH PLANNERS
- •40.1.4 EVALUATION OF PATH PLANNERS
- •40.2 GENERAL REQUIREMENTS
- •40.2.1 PROBLEM DIMENSIONALITY
- •40.2.2 2D MOBILITY PROBLEM
- •40.2.2.1 - 2.5D HEIGHT PROBLEM
- •40.2.2.2 - 3D SPACE PROBLEM
- •40.2.3 COLLISION AVOIDANCE
- •40.2.4 MULTILINK
- •40.2.5 ROTATIONS
- •40.2.6 OBSTACLE MOTION PROBLEM
- •40.2.7 ROBOT COORDINATION
- •40.2.8 INTERACTIVE PROGRAMMING
- •40.3 SETUP EVALUATION CRITERIA
- •40.3.1 INFORMATION SOURCE
- •40.3.1.1 - KNOWLEDGE BASED PLANNING (A PRIORI)
- •40.3.1.2 - SENSOR BASED PLANNING (A POSTIERI)
- •40.3.2 WORLD MODELLING
- •40.4 METHOD EVALUATION CRITERIA
- •40.4.1 PATH PLANNING STRATEGIES
- •40.4.1.1 - BASIC PATH PLANNERS (A PRIORI)
- •40.4.1.2 - HYBRID PATH PLANNERS (A PRIORI)
- •40.4.1.3 - TRAJECTORY PATH PLANNING (A POSTIERI)
- •40.4.1.4 - HIERARCHICAL PLANNERS (A PRIORI & A POSTIERI)
- •40.4.1.5 - DYNAMIC PLANNERS (A PRIORI & A POSTIERI)
- •40.4.1.6 - OFF-LINE PROGRAMMING
- •40.4.1.7 - ON-LINE PROGRAMMING
- •40.4.2 PATH PLANNING METHODS
- •40.4.3 OPTIMIZATION TECHNIQUES
- •40.4.3.1 - SPATIAL PLANNING
- •40.4.3.2 - TRANSFORMED SPACE
- •40.4.3.3 - FIELD METHODS
- •40.4.3.4 - NEW AND ADVANCED TOPICS
- •40.4.4 INTERNAL REPRESENTATIONS
- •40.4.5 MINIMIZATION OF PATH COSTS
- •40.4.6 LIMITATIONS IN PATH PLANNING
- •40.4.7 RESULTS FROM PATH PLANNERS
- •40.5 IMPLEMENTATION EVALUATION CRITERIA
- •40.5.1 COMPUTATIONAL TIME
- •40.5.2 TESTING OF PATH PLANNERS
- •40.6 OTHER AREAS OF INTEREST
- •40.6.1 ERRORS
- •40.6.2 RESOLUTION OF ENVIRONMENT REPRESENTAION
- •40.7 COMPARISONS
- •40.8 CONCLUSIONS
- •40.9 APPENDIX A - OPTIMIZATION TECHNIQUES
- •40.9.1 OPTIMIZATION : VELOCITY
- •40.9.2 OPTIMIZATION : GEOMETRICAL
- •40.9.3 OPTIMIZATION : PATH REFINEMENT
- •40.9.4 OPTIMIZATION : MOVING OBSTACLES
- •40.9.5 OPTIMIZATION : SENSOR BASED
- •40.9.6 OPTIMIZATION : ENERGY
- •40.10 APPENDIX B - SPATIAL PLANNING
- •40.10.1 SPATIAL PLANNING : SWEPT VOLUME
- •40.10.2 SPATIAL PLANNING : OPTIMIZATION
- •40.10.3 SPATIAL PLANNING : GENERALIZED CONES
- •40.10.4 SPATIAL PLANNING : FREEWAYS
- •40.10.5 SPATIAL PLANNING : OCT-TREE
- •40.10.6 SPATIAL PLANNING : VORONOI DIAGRAMS
- •40.10.7 SPATIAL PLANNING : GENERAL INTEREST
- •40.10.8 SPATIAL PLANNING - VGRAPHS
- •40.11 APPENDIX C - TRANSFORMED SPACE
- •40.11.1 TRANSFORMED SPACE : CARTESIAN CONFIGURATION SPACE
- •40.11.1.1 - TRANSFORMED SPACE :
- •40.11.2 TRANSFORMED SPACE : JOINT CONFIGURATION SPACE
- •40.11.3 TRANSFORMED SPACE : OCT-TREES
- •40.11.4 TRANSFORMED SPACE : CONSTRAINT SPACE
- •40.11.5 TRANSFORMED SPACE : VISION BASED
- •40.11.6 TRANSFORMED SPACE : GENERAL INTEREST
- •40.12 APPENDIX D - FIELD METHODS
- •40.12.1 SPATIAL PLANNING : STEEPEST DESCENT
- •40.12.2 SPATIAL PLANNING : POTENTIAL FIELD METHOD
- •40.13 APPENDIX E - NEW AND ADVANCED TOPICS
- •40.13.1 ADVANCED TOPICS : DUAL MANIPULATOR COOPERATION
- •40.13.2 ADVANCED TOPICS : A POSTIERI PATH PLANNER
- •40.13.3 NEW TOPICS - SLACK VARIABLES
- •40.14 REFERENCES:
- •41. ROBOTIC MECHANISMS
- •41.1 KINEMATICS
- •41.1.1 Basic Terms
- •41.1.2 Kinematics
- •41.1.2.1 - Geometry Methods for Forward Kinematics
- •41.1.2.2 - Geometry Methods for Inverse Kinematics
- •41.2 MECHANISMS
- •41.3 ACTUATORS
- •41.3.1 Modeling the Robot
- •41.4 PATH PLANNING
- •41.4.1 Slew Motion
- •41.4.1.1 - Joint Interpolated Motion
- •41.4.1.2 - Straight-line motion
- •41.4.2 Computer Control of Robot Paths (Incremental Interpolation)
- •41.5 PRACTICE PROBLEMS
- •42. MOTION PLANNING AND TRAJECTORY CONTROL
- •42.1 TRAJECTORY CONTROL
- •42.1.1 Resolved Rate Motion Control
- •42.1.2 Cartesian Motion System
- •42.1.3 Model Reference Adaptive Control (MRAC)
- •42.1.4 Digital Control System
- •42.2 PATH PLANNING
- •42.2.1 Slew Motion
- •42.2.1.1 - Joint Interpolated Motion
- •42.2.1.2 - Straight-line motion
- •42.3 MOTION CONTROLLERS
- •42.3.1 Computer Control of Robot Paths (Incremental Interpolation)
- •42.4 SPECIAL ISSUES
- •42.4.1 Optimal Motion
- •42.4.2 Singularities
- •42.5 PRACTICE PROBLEMS
- •42.6 MICROBOT OVERVIEW
- •42.7 CRS PLUS ROBOT OVERVIEW
- •42.8 BASIC DEMONSTRATION STEPS
- •43. CNC MACHINES
- •43.1 MACHINE AXES
- •43.2 NUMERICAL CONTROL (NC)
- •43.2.1 NC Tapes
- •43.2.2 Computer Numerical Control (CNC)
- •43.2.3 Direct/Distributed Numerical Control (DNC)
- •43.3 EXAMPLES OF EQUIPMENT
- •43.3.1 EMCO PC Turn 50
- •43.3.2 Light Machines Corp. proLIGHT Mill
- •43.4 PRACTICE PROBLEMS
- •44. CNC PROGRAMMING
- •44.1 G-CODES
- •44.3 PROPRIETARY NC CODES
- •44.4 GRAPHICAL PART PROGRAMMING
- •44.5 NC CUTTER PATHS
- •44.6 NC CONTROLLERS
- •44.7 PRACTICE PROBLEMS
page 372
shift
23.6 PRACTICE PROBLEMS
6.Design ladder logic for the following process description.
a)A toggle start switch (TS1) and a limit switch on a safety gate (LS1) must both be on before a solenoid (SOL1) can be energized to extend a stamping cylinder to the top of a part. Should a part detect sensor (PS1) also be considered? Explain your answer.
b)While the stamping solenoid is energized, it must remain energized until a limit switch (LS2) is activated. This second limit switch indicates the end of a stroke. At this point the solenoid should be de-energized, thus retracting the cylinder.
c)When the cylinder is fully retracted a limit switch (LS3) is activated. The cycle may not begin again until this limit switch is active. This is one way to ensure that a new part is present, is there another?
d)A cycle counter should also be included to allow counts of parts produced. When this value exceeds some variable amount (from 1 to 5000) the machine should shut down, and a job done light lit up.
e)A safety check should be included. If the cylinder solenoid has been on for more than 5 seconds, it suggests that the cylinder is jammed, or the machine has a fault. If this is the case the machine should be shut down, and a maintenance light turned on.
f)Implement the ladder diagram on a PLC in the laboratory.
g)Fully document the ladder logic and prepare a short report - This should be of use to another engineer that will be maintaining the system.
7.Write the ladder logic diagram that would be required to execute the following data manipulation for a preventative maintenance program.
i)Keep track of the number of times a motor was started with toggle switch #1.
ii)After 2000 motor starts turn on an indicator light on the operator panel.
iii)Provide the capability to change the number of motor starts being tracked, prior to triggering of the indicator light. HINT: This capability will only require the change of a value in a compare statement rather than the addition of new lines of logic.
page 373
iv)Keep track of the number of minutes that the motor has run.
v)After 9000 minutes of operation turn the motor off automatically and also turn on an indicator light on the operator panel.
11.Develop an SFC for a two person assembly station. The station has two presses that may be used at the same time. Each press has a cycle button that will start the advance of the press. A bottom limit switch will stop the advance, and the cylinder must then be retracted until a top limit switch is hit.
start
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
start button #1 |
|
|
|
|
|
start button #2 |
||||||||
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
press #1 adv. |
|
|
|
|
|
|
|
|
press #2 adv. |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bottom limit switch #1 |
|
|
|
|
bottom limit switch #2 |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
press #1 retract |
|
|
|
|
|
|
|
|
press #2 retract |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
top limit switch #1 |
|
|
|
|
top limit switch #2 |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
press #1 off |
|
|
|
|
|
|
|
|
press #2 off |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12. You have been asked to program a PLC-5 that is controlling a handicapped access door opener. The client has provided the electrical wiring diagram below to show how the PLC inputs and outputs have been wired. Button A is located inside and button B is located outside. When either button is pushed the motor will be turned on to open the door. The motor is to be kept on for a total of 15 seconds to allow the person to enter. After the motor is turned off the door will fall closed. In the event that somebody gets caught in the door the thermal relay will go off, and the motor should be turned off. After 20,000 cycles the door should stop working and the light should go on to indicate that maintenance is required.
page 374
24 V DC |
|
Output Card |
|
00 |
|
01 |
Relay |
|
|
02 |
|
03 |
|
04 |
|
05 |
24 V lamp |
|
|
06 |
|
07 |
|
COM |
|
rack 00 |
|
slot 0 |
|
120 V AC
Power
Supply
COM.
Motor |
+24 V DC
Power
Supply
GND
page 375
|
|
PLC Input Card |
|
|
|
24V AC |
|
|
|
00 |
|
24 V AC |
button A |
01 |
|
|
|||
Power |
button B |
||
02 |
|||
Supply |
|
||
|
|
03 |
|
|
thermal relay |
04 |
|
|
|
||
|
|
05 |
|
|
|
06 |
|
|
|
07 |
|
|
|
COM |
|
|
|
rack 00 |
|
|
|
slot 1 |
a) Develop a state diagram for the control of the door.
button A + button B
door idle |
motor on |
|
door opening |
||
|
counter > 20,000
thermal relay + 15 sec delay
service mode
reset button - assumed
b) Convert the state diagram to ladder logic. (list the input and the output addresses first)
page 376
Legend |
|
|
|
|
|||
button A |
I:001/01 |
|
|||||
button B |
I:001/02 |
|
|||||
motor |
O:000/03 |
|
|||||
thermal relay |
I:001/03 |
|
|||||
reset button |
I:001/04 - assumed |
|
|||||
state 1 |
B3:0/0 |
|
|||||
state 2 |
B3:0/1 |
|
|||||
state 3 |
B3:0/2 |
|
|||||
lamp |
O:000/07 |
|
|||||
|
|
|
first scan |
|
|
MCR |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
||
|
|
|
|
|
|
state 1 |
|
|
|
|
|
|
|
L |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
state 2 |
|
|
|
|
|
|
|
U |
|
|
|
|
|
|
|
state 3 |
|
|
|
|
|
|
|
U |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MCR |
|
|
|
|
state 2 |
|
|
|
motor |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
state 3 |
|
|
|
light |
|
|
|
|
|
|
||
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
page 377
|
|
|
|
state 1 |
MCR |
|
||
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
button A |
L |
state 2 |
||
|
|
|
|
|||||
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
button B |
|
|
U |
state 1 |
|
|
|
|
|
|
|||
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MCR |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
page 378
state 1
T4:0/DN
thermal relay
C5:0/DN
MCR
TON
T4:0 base 1 preset 15
state 1
L
state 2
U
CTU
C5:0
preset 20000
state 3
L
state 2
U
state 1
U
MCR
page 379
|
|
|
state 3 |
MCR |
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
reset button ?? |
L |
state 1 |
|
|
|
|
||||
|
|
|
||||
|
|
|
|
|
state 3 |
|
|
|
|
|
|
U |
|
|
|
|
|
|
||
|
|
|
|
|
counter |
|
|
|
|
|
|
RES |
|
|
|
|
|
|
MCR |
|
|
|
|
|
|
|
|
c) Convert the state diagram to Boolean equations.
S0 = ( S0 + S1( delay( 15) + thermal) ) S0( buttonA + buttonB)
S1 = ( S1 + S0( buttonA + buttonB) ) S1( delay( 15) + thermal) S3( counter)
S3 = ( S3 + S2( counter) ) S3( reset)
motor = S1 light = S3
13. Convert the following state diagram to equations.
page 380
Inputs |
Outputs |
A( C + |
D |
) |
A |
P |
|
|
|
BQ
CR
D |
|
|
|
|
|
|
S1 |
|
E |
|
|
|
|
|
|
|
|
F |
|
|
|
|
|
|
||
|
|
|
|
|
F + E |
|
|
|
state |
|
P |
Q |
R |
S0 |
|
||
|
|
|
BA |
|||||
|
|
|
|
|
|
|
|
|
S0 |
|
0 |
1 |
1 |
E( C + D + F) |
|||
S1 |
|
1 |
0 |
1 |
|
|
|
|
S2 |
|
1 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
S2 |
|
14. Design a garage door controller using four techniques a) scripts, b) block logic, c) state equations, d) SFCs and e) flowcharts. The behavior of the garage door controller is as follows,
-there is a single button in the garage, and a single button remote control.
-when the button is pushed the door will move up or down.
-if the button is pushed once while moving, the door will stop, a second push will start motion again in the opposite direction.
-there are top/bottom limit switches to stop the motion of the door.
-there is a light beam across the bottom of the door. If the beam is cut while the door is closing the door will stop and reverse.
-there is a garage light that will be on for 5 minutes after the door opens or closes.
ans.
a) scripting
The output [door opening] will stay on after input [button OR remote] and after state [door closed]. It is stopped by input [button OR remote OR top limit] and is followed by state [door opened].
The output [door closing] will stay on after input [button OR remote] and after state [door opened]. It is stopped by input [button OR remote OR bottom limit] and is followed by state [door closed]. It is stopped by input [not light beam] and followed by state [door opening].
The output [garage light] will stay on after state [door opening OR door closing] and will delay turning off for [300 seconds] after states [door opening OR door closing].
page 381
|
|
first scan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
L |
door opened |
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
U |
door opening |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
U |
door closed |
|
|
|
|
|
|
|
|
|
U |
door closing |
door opened |
remote |
door closing |
||||||||
|
|
|
|
|
|
|
|
|
L |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
button |
|
|
||||
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
door closing |
remote |
door closed |
||||||||
|
|
|
|
|
|
|
|
|
L |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
button |
|
|
door closing |
|||
|
|
|
|
|
|
|
|
|
U |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bottom limit |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
door closing |
light beam |
door opening |
||||||||
|
|
|
|
|
|
|
|
|
L |
|
|
|
|
|
|
|
|
|
|
door closing |
|
|
|
|
|
|
|
|
|
|
U |
|
|
|
|
|
|
|
|
|
|
||
page 382
door closed |
remote |
door opening |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
L |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
button |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
door opening |
remote |
door opened |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
L |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
button |
|
|
|
door opening |
||||
|
|
|
|
|
|
|
|
|
|
|
|
U |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
top limit |
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
door closing |
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
TOF |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
T4:0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
door opening |
|
|
|
preset 300s |
|
|||||||
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
T4:0/DN
garage light
ans. |
|
|
|
|
b) block logic method |
door |
|
|
|
|
|
closed |
remote OR button |
|
|
|
(state 3) |
|
|
remote OR button OR bottom limit |
|
|
||
door |
|
|
door |
|
light sensor |
|
|||
closing |
|
|
|
opening |
|
|
|
||
(state 2) |
|
|
(state 4) |
|
remote OR button |
door |
|
remote OR button OR top limit |
|
|
|
|||
opened (state 1)
page 383
first scan
state 2
state 4
state 2
state 4
T4:0/DN
state 1
remote
button
state 1
L
state 2
U
state 3
U
state 4
U
close door
open door
TOF
T4:0 preset 300s
garage light
MCR
state 1
U
state 2
L
MCR
page 384
state 2 |
MCR |
|
|
|
|
remote |
U |
state 2 |
|
||
|
|
|
button |
L |
state 3 |
|
||
|
|
|
bottom limit |
|
|
light beam |
U |
state 2 |
|
||
|
|
|
|
L |
state 4 |
|
|
|
|
MCR |
|
state 3 |
MCR |
|
|
|
|
remote |
U |
state 3 |
|
||
|
|
|
button |
L |
state 4 |
|
||
|
|
|
|
MCR |
|
page 385
state 4
|
|
|
|
|
|
|
|
MCR |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
remote |
U |
state 2 |
|||||
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
button |
|
|
L |
state 3 |
|||
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
top limit |
|
|
|
||||
|
|
|
|
|
|
|
|
MCR |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ans. |
|
|
|
|
c) state equations |
door |
|
|
|
|
|
closed |
remote OR button |
|
|
|
(state 3) |
|
|
remote OR button OR bottom limit |
|
|
||
door |
|
|
door |
|
light sensor |
|
|||
closing |
|
|
|
opening |
|
|
|
||
(state 2) |
|
|
(state 4) |
|
remote OR button |
door |
|
remote OR button OR top limit |
|
|
|
|||
opened (state 1)
using the previous state diagram.
ST1 = state 1
ST2 = state 2
ST3 = state 3
ST4 = state 4
FS = first scan
ST1 = ( ST1 + T5) T1
ST2 = ( ST2 + T1) T2 T3
ST3 = ( ST3 + T2) T4
ST4 = ( ST4 + T3 + T4) T5
T1 = state 1 to state 2
T2 = state 2 to state 3
T3 = state 2 to state 4
T4 = state 3 to state 4
T5 = state 4 to state 1
T1 = |
ST1 ( remote + button) |
||||
T2 |
= |
ST2 |
( remote + button + bottomlimit) |
||
T3 |
= |
ST2 |
( remote + button) |
||
T4 |
= |
ST3 |
( |
|
) |
lighbeam |
|||||
T5 |
= |
ST4 |
( remote + button + toplimit) + FS |
||
ST1
ST2
ST3
ST3
ST4
page 386
remote
button
remote
button
bottom limit
remote
button
light beam
remote
button
top limit
first scan
T1
T2
T3
T4
T5
page 387
T1 |
|
ST1 |
|
|
T5 |
T2 |
T3 |
ST2 |
|
|
T1 |
T4 |
|
ST3 |
|
|
T2 |
T5 |
|
ST4 |
|
|
T3 |
|
|
T4 |
ST2 |
|
|
ST4 |
|
|
ST2 |
|
|
ST4 |
|
|
T4:0/DN |
|
|
ST1
ST2
ST3
ST4
close doo
open doo
TOF
T4:0 preset 300s
garage light
ans.
d) SFC
|
|
|
|
|
page 388 |
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
step 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
step 2 |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
T1 |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
button + remote |
||
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
step 3 |
|
close door |
|
||
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
T3 |
|
|
|
T2 |
|
|
button + remote + bottom limit |
|||||
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
light beam |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
step 4 |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
T4 |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
button + remote |
||
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
step 5 |
|
open door |
|
||
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
T5 |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
button + remote + top limit |
||
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
page 389
first scan
L
U
U
U
U
U
U
U
step 1
step 2
step 3
step 4
step 5
T1
T2
T3
T4
U
T5
U
page 390
T1 |
|
|
|
|
remote |
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
L |
step 3 |
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
button |
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
U |
T1 |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
T2 |
|
|
|
|
remote |
|
|||||||
|
|
|
|
|
|
|
|
step 4 |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
L |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
button |
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
U |
T2 |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bottom limit |
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
U |
T3 |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|||
T3 |
|
|
|
|
light beam |
|
|||||||
|
|
|
|
|
|
|
|
step 5 |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
L |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
U |
T2 |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
U |
T3 |
|
|
|
|
|
|
|
|
|
|
|
|
||
T4 |
|
|
|
|
remote |
|
|||||||
|
|
|
|
|
|
|
|
step 5 |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
L |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
button |
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
U |
T4 |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|||
T5 |
|
|
|
|
remote |
|
|||||||
|
|
|
|
|
|
|
|
step 2 |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
L |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
button |
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
U |
T5 |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
top limit |
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
page 391
step 2
step 4
step 3
step 5
step 3
step 5
T4:0/DN
door open
U
door close
U
door close
L
door open
L
TOF
T4:0 preset 300s
garage light
page 392
step 1
step 2
step 3
step 4
step 5
step 1
U
step 2
L
step 2
U
T1
L
step 3
U
T2
L
T3
L
step 4
U
T4
L
step 5
U
T5
L
page 393
ans.
f) flowchart
start
ST1 |
is |
|
no |
|
|
remote or |
|
||||
|
button pushed? |
|
|
||
|
|
|
|||
|
|
yes |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
ST2 |
turn on door close |
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
is |
|
ST4 |
|
|
|
|
|
|
ST3 |
remote or |
no |
is |
yes |
|
button or bottom |
light beam |
||
|
limit pushed? |
|
on? |
|
|
|
|
|
yes |
no |
ST5
turn off door close
ST6 |
is |
|
|
|
||||
|
|
remote or |
|
|
|
|||
|
|
button pushed? |
|
|
|
|||
ST7 |
yes |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
||
|
turn on door open |
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
is |
|
|
|
||
ST8 |
remote or |
no |
|
|
||||
|
|
button or top |
|
|
|
|||
|
|
limit pushed? |
|
|
|
|||
ST9 |
|
|
yes |
|
|
|
||
|
|
|
|
|
||||
|
|
|
|
|
|
|||
|
turn off door open |
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
first scan
ST2
ST7
T4:0/DN
page 394
L |
ST1 |
U |
ST2 |
U |
ST3 |
U |
ST4 |
U |
ST5 |
U |
ST6 |
U |
ST7 |
U |
ST8 |
U |
ST9 |
U |
door open |
U |
door close |
TOF
T4:0 preset 300s
garage light
page 395
ST1
button
remote
ST2
MCR
U ST1
ST2
L
MCR
MCR
U ST2
ST3
L
door close
L
MCR
page 396
ST3 |
|
|
MCR |
|
|
button |
|
|
U |
ST3 |
|
remote |
ST5 |
|
L |
||
|
||
bottom limit |
|
|
ST3 |
|
|
U |
ST3 |
|
L |
ST4 |
|
|
||
MCR |
|
|
ST4 |
|
|
MCR |
|
|
light beam |
|
|
U |
ST4 |
|
L |
ST7 |
|
|
||
light beam |
|
|
U |
ST4 |
|
L |
ST3 |
|
|
||
MCR |
|
page 397
ST5
ST6
button
remote
ST7
MCR
U ST5
ST6
L
door close
U
MCR
MCR
U ST6
ST7
L
MCR
MCR
U ST7
ST8
L
door open
L
MCR
page 398
ST8
button
remote
top limit
ST9
MCR
U ST8
ST9
L
MCR
MCR
U ST9
ST1
L
door open
U
MCR
15. This morning you received a call from Mr. Ian M. Daasprate at the Old Fashioned Widget Company. In the past when they built a new machine they would used punched paper cards for control, but their supplier of punched paper readers went out of business in 1972 and they have decided to try using PLCs this time. He explains that the machine will dip wooden parts in varnish for 2 seconds, and then apply heat for 5 minutes to dry the coat, after this they are manually removed from the machine, and a new part is put in. They are also considering a premium line of parts that would call for a dip time of 30 seconds, and a drying time of 10 minutes. He then refers you to the project manager, Ann Nooyed.
You call Ann and she explains how the machine should operate. There should be start and stop buttons. The start button will be pressed when the new part has been loaded, and is ready to be coated. A light should be mounted to indicate when the machine is in operation. The part is
page 399
mounted on a wheel that is rotated by a motor. To dip the part, the motor is turned on until a switch is closed. To remove the part from the dipping bath the motor is turned on until a second switch is closed. If the motor to rotate the wheel is on for more that 10 seconds before hitting a switch, the machine should be turned off, and a fault light turned on. The fault condition will be cleared by manually setting the machine back to its initial state, and hitting the start button twice. If the part has been dipped and dried properly, then a done light should be lit. To select a premium product you will use an input switch that needs to be pushed before the start button is pushed. She closes by saying she will be going on vacation and you need to have it done before she returns.
You hang up the phone and, after a bit of thought, decide to use a SLC-150 with the following outputs and inputs,
INPUTS |
OUTPUTS |
||
001 |
- start push button |
011 - start button |
|
002 |
- stop button |
012 |
- in operation |
003 |
- premium part push button |
013 |
- fault light |
004 |
- switch - part is in bath on wheel |
014 |
- part done light |
005 |
- switch - part is out of bath on wheel |
015 |
- motor on |
111 - heater power supply
a)Draw a state diagram for the process.
b)List the relays needed to indicate when each state is on, and list any timers and counters used.
c)Write a Boolean expression for each transition in the state diagram.
d)Do a simple wiring diagram for the SLC-150.
e)Write the ladder logic for the state that involves moving the part into the dipping bath.
16.Given the following state diagram, use equations to implement ladder logic.
state 1 |
A |
state 3 |
|
C * B |
|
|
|
B
state 2 |
C + B |
page 400
ans. |
|
|
|
|
|
|
|
FS = first scan |
||||||||||||
|
|
|
|
|
|
|
T1 = ST2 A |
|||||||||||||
|
|
|
|
|
|
|
A |
|
||||||||||||
|
ST1 |
|
|
ST3 |
T2 = ST1 B |
|||||||||||||||
|
|
|
|
|
|
C * B |
||||||||||||||
|
|
|
|
|
|
|
T1 |
|
T3 = ST3 ( C B) |
|||||||||||
|
|
|
|
|
|
|
|
|
|
T3 |
|
T4 = ST2 ( C + B) |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
T4 |
|
|
|
|
|
|
|
|
|
|
B T2 |
|
|
|
|
|
|
ST1 = ( ST1 + T1) T2 + FS |
||||||||||||
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
ST2 = ( ST2 + T2 + T4) |
|
|
|
|||||
|
|
|
|
|
|
|
|
|
ST2 |
C + B |
T1 |
T4 |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
ST3 = ( ST3 + T4 T1) T4 |
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
ST2 |
A |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
T1 |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ST1 |
B |
|
|
|
|
|
|
|
|
|
T2 |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ST3 |
C |
|
B |
|
|
|
|
T3 |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ST2 |
|
|
C |
|
|
|
|
T4 |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
B |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
T2 |
|
|
ST1 |
|
|
|
|
ST1 |
|||||||||||
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
T1
first scan
T1 T4
ST2 |
ST2 |
T2
T4
T4
ST3 |
ST3 |
T4 

T1
page 401
17. Convert the following flow chart to ladder logic.
start
A on
yes
is B on? no
A off
no
is C on? yes
page 402
ans. |
first scan |
|
|
L |
F1 |
|
U |
F2 |
|
U |
F3 |
|
U |
F4 |
|
F1 |
|
|
MCR |
|
|
L |
A |
|
U |
F1 |
|
L |
F2 |
|
MCR |
|
|
F2 |
|
|
MCR |
|
|
B |
|
|
U |
F2 |
|
L |
F3 |
|
MCR |
|
|
F3 |
|
|
MCR |
|
|
U |
A |
|
U |
F3 |
|
L |
F4 |
|
MCR |
|
|
start |
F1 |
A on |
|
|
F2 |
yes |
|
|
|
is B on? |
|
no |
F3 |
A off |
|
|
|
F4 |
no |
is C on? |
|
|
|
yes |
F4 |
|
MCR |
|
C |
|
U |
F4 |
L |
F1 |
C |
|
U |
F4 |
L |
F2 |
MCR |
|
18. Convert the following state diagram to logic using equations.
page 403
A
state 1 |
state 2 |
B
C
E
D
F
state 3
ans. TA = ST2 A TB = ST1 B TC = ST3 C TD = ST1 D B TE = ST2 E A TF = ST3 F C
ST2 A
ST1 B
ST3 C
ST1 D
ST2 E
ST3 F
ST1 TB
TA
TC
ST2 TA
TB
TF
ST3 TC
TD
TE
page 404
ST1 = ( ST1 + TA + TC) TB TD ST2 = ( ST2 + TB + TF) TA TE ST3 = ( ST3 + TD + TE) TC TF
TA
TB
TC
B
TD
A
TE
C
TF
TD
ST1
TE
ST2
TF
ST3
19. A welding station is controlled by a PLC. On the outside is a safety cage that must be closed while the cell is active. A belt moves the parts into the welding station and back out. An inductive proximity sensor detects when a part is in place for welding, and the belt is stopped. To weld, an actuator is turned on for 3 seconds. As normal the cell has start and stop push buttons.
a)Draw a flow chart
b)Implement the chart in ladder logic
page 405
Inputs |
Outputs |
DOOR OPEN (NC) |
CONVEYOR ON |
START (NO) |
WELD |
STOP (NC) |
|
PART PRESENT |
|
20. In dangerous processes it is common to use two palm buttons that require a operator to use both hands to start a process (this keeps hands out of presses, etc.). To develop this there are two inputs (P1 and P2) that must both be turned on within 0.25s of each other before a machine cycle may begin.
Develop ladder logic to control a process that has a start (START) and stop (STOP) button for the power. After the power is on the palm buttons (P1 and P2) may be used as described above to start a cycle. The cycle will consist of turning on an output (MOVE) for 2 seconds. After the press has been cycled 1000 times the press power should turn off and an output (LIGHT) should go on.
21. Convert the following state diagram to ladder logic using equations. Give the stop button higher priority.
A |
ST1: 1 on |
ST0: idle |
|
STOP |
B |
|
STOP |
D + STOP
ST2: 2 on
C
ST3: 3 on
