page 1 Integration and Automation of Manufacturing Systems by: Hugh Jack © Copyright 1993-2001, Hugh Jack page 2 PREFACE 1. INTEGRATED AND AUTOMATED MANUFACTURING . . . .13 1.1 INTRODUCTION 13 1.1.1 Why Integrate? 13 1.1.2 Why Automate? 14 1.2 THE BIG PICTURE 16 1.2.1 CAD/CAM? 17 1.2.2 The Architecture of Integration 17 1.2.3 General Concepts 19 1.3 PRACTICE PROBLEMS 22 2. AN INTRODUCTION TO LINUX/UNIX . . . . . . . . . . . . . . . . . . .23 2.1 OVERVIEW 23 2.1.1 What is it? 23 2.1.2 A (Brief) History 24 2.1.3 Hardware required and supported 25 2.1.4 Applications and uses 25 2.1.5 Advantages and Disadvantages 26 2.1.6 Getting It 26 2.1.7 Distributions 27 2.1.8 Installing 27 2.2 USING LINUX 28 2.2.1 Some Terminology 28 2.2.2 File and directories 29 2.2.3 User accounts and root 31 2.2.4 Processes 33 2.3 NETWORKING 34 2.3.1 Security 35 2.4 INTERMEDIATE CONCEPTS 35 2.4.1 Shells 35 2.4.2 X-Windows 36 2.4.3 Configuring 36 2.4.4 Desktop Tools 37 2.5 LABORATORY - A LINUX SERVER 37 2.6 TUTORIAL - INSTALLING LINUX 38 2.7 TUTORIAL - USING LINUX 40 2.8 REFERENCES 41 3. AN INTRODUCTION TO C/C++ PROGRAMMING . . . . . . . . .43 3.1 INTRODUCTION 43 3.2 PROGRAM PARTS 44 3.3 CLASSES AND OVERLOADING 50 3.4 HOW A ‘C’ COMPILER WORKS 52 page 3 3.5 STRUCTURED ‘C’ CODE 53 3.6 COMPILING C PROGRAMS IN LINUX 54 3.6.1 Makefiles 55 3.7 ARCHITECTURE OF ‘C’ PROGRAMS (TOP-DOWN) 56 3.7.1 How? 56 3.7.2 Why? 57 3.8 CREATING TOP DOWN PROGRAMS 58 3.9 CASE STUDY - THE BEAMCAD PROGRAM 59 3.9.1 Objectives: 59 3.9.2 Problem Definition: 59 3.9.3 User Interface: 59 Screen Layout (also see figure): 59 Input: 60 Output: 60 Help: 60 Error Checking: 61 Miscellaneous: 61 3.9.4 Flow Program: 62 3.9.5 Expand Program: 62 3.9.6 Testing and Debugging: 64 3.9.7 Documentation 65 Users Manual: 65 Programmers Manual: 65 3.9.8 Listing of BeamCAD Program. 65 3.10 PRACTICE PROBLEMS 66 3.11 LABORATORY - C PROGRAMMING 66 4. NETWORK COMMUNICATION . . . . . . . . . . . . . . . . . . . . . . . . .68 4.1 INTRODUCTION 68 4.2 NETWORKS 69 4.2.1 Topology 69 4.2.2 OSI Network Model 71 4.2.3 Networking Hardware 73 4.2.4 Control Network Issues 75 4.2.5 Ethernet 76 4.2.6 SLIP and PPP 77 4.3 INTERNET 78 4.3.1 Computer Addresses 79 4.3.2 Computer Ports 80 Mail Transfer Protocols 81 FTP - File Transfer Protocol 81 HTTP - Hypertext Transfer Protocol 81 4.3.3 Security 82 Firewalls and IP Masquerading 84 4.4 FORMATS 85 page 4 4.4.1 HTML 85 4.4.2 URLs 87 4.4.3 Encryption 88 4.4.4 Clients and Servers 88 4.4.5 Java 89 4.4.6 Javascript 89 4.4.7 CGI 89 4.5 NETWORKING IN LINUX 89 4.5.1 Network Programming in Linux 91 4.6 DESIGN CASES 102 4.7 SUMMARY 103 4.8 PRACTICE PROBLEMS 103 4.9 LABORATORY - NETWORKING 104 4.9.1 Prelab 105 4.9.2 Laboratory 107 5. DATABASES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108 5.1 SQL AND RELATIONAL DATABASES 109 5.2 DATABASE ISSUES 114 5.3 LABORATORY - SQL FOR DATABASE INTEGRATION 114 5.4 LABORATORY - USING C FOR DATABASE CALLS 116 6. COMMUNICATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .119 6.1 SERIAL COMMUNICATIONS 119 6.1.1 RS-232 122 6.2 SERIAL COMMUNICATIONS UNDER LINUX 125 6.3 PARALLEL COMMUNICATIONS 129 6.4 LABORATORY - SERIAL INTERFACING AND PROGRAMMING 130 6.5 LABORATORY - STEPPER MOTOR CONTROLLER 130 7. PROGRAMMABLE LOGIC CONTROLLERS (PLCs) . . . . . . .134 7.1 BASIC LADDER LOGIC 136 7.2 WHAT DOES LADDER LOGIC DO? 138 7.2.1 Connecting A PLC To A Process 139 7.2.2 PLC Operation 139 7.3 LADDER LOGIC 141 7.3.1 Relay Terminology 144 7.3.2 Ladder Logic Inputs 146 7.3.3 Ladder Logic Outputs 147 7.4 LADDER DIAGRAMS 147 7.4.1 Ladder Logic Design 148 7.4.2 A More Complicated Example of Design 150 7.5 TIMERS/COUNTERS/LATCHES 151 page 5 7.6 LATCHES 152 7.7 TIMERS 153 7.8 COUNTERS 157 7.9 DESIGN AND SAFETY 159 7.9.1 FLOW CHARTS 160 7.10 SAFETY 160 7.10.1 Grounding 161 7.10.2 Programming/Wiring 162 7.10.3 PLC Safety Rules 162 7.10.4 Troubleshooting 163 7.11 DESIGN CASES 164 7.11.1 DEADMAN SWITCH 164 7.11.2 CONVEYOR 165 7.11.3 ACCEPT/REJECT SORTING 165 7.11.4 SHEAR PRESS 166 7.12 ADDRESSING 168 7.12.1 Data Files 169 Inputs and Outputs 172 User Numerical Memory 172 Timer Counter Memory 172 PLC Status Bits (for PLC-5s) 173 User Function Memory 174 7.13 INSTRUCTION TYPES 174 7.13.1 Program Control Structures 175 7.13.2 Branching and Looping 175 Immediate I/O Instructions 179 Fault Detection and Interrupts 181 7.13.3 Basic Data Handling 182 Move Functions 182 7.14 MATH FUNCTIONS 184 7.15 LOGICAL FUNCTIONS 191 7.15.1 Comparison of Values 191 7.16 BINARY FUNCTIONS 193 7.17 ADVANCED DATA HANDLING 194 7.17.1 Multiple Data Value Functions 195 7.17.2 Block Transfer Functions 196 7.18 COMPLEX FUNCTIONS 198 7.18.1 Shift Registers 198 7.18.2 Stacks 199 7.18.3 Sequencers 200 7.19 ASCII FUNCTIONS 202 7.20 DESIGN TECHNIQUES 203 7.20.1 State Diagrams 203 7.21 DESIGN CASES 206 7.21.1 If-Then 207 page 6 7.21.2 For-Next 207 7.21.3 Conveyor 208 7.22 IMPLEMENTATION 209 7.23 PLC WIRING 209 7.23.1 SWITCHED INPUTS AND OUTPUTS 210 Input Modules 211 Actuators 212 Output Modules 213 7.24 THE PLC ENVIRONMENT 216 7.24.1 Electrical Wiring Diagrams 216 7.24.2 Wiring 219 7.24.3 Shielding and Grounding 221 7.24.4 PLC Environment 223 7.24.5 SPECIAL I/O MODULES 224 7.25 PRACTICE PROBLEMS 227 7.26 REFERENCES 237 7.27 LABORATORY - SERIAL INTERFACING TO A PLC 238 8. PLCS AND NETWORKING . . . . . . . . . . . . . . . . . . . . . . . . . . . .240 8.1 OPEN NETWORK TYPES 240 8.1.1 Devicenet 240 8.1.2 CANbus 245 8.1.3 Controlnet 246 8.1.4 Profibus 247 8.2 PROPRIETARY NETWORKS 248 Data Highway 248 8.3 PRACTICE PROBLEMS 252 8.4 LABORATORY - DEVICENET 258 8.5 TUTORIAL - SOFTPLC AND DEVICENET 258 9. INDUSTRIAL ROBOTICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . .262 9.1 INTRODUCTION 262 9.1.1 Basic Terms 262 9.1.2 Positioning Concepts 266 Accuracy and Repeatability 266 Control Resolution 270 Payload 271 9.2 ROBOT TYPES 276 9.2.1 Basic Robotic Systems 276 9.2.2 Types of Robots 277 Robotic Arms 277 Autonomous/Mobile Robots 280 Automatic Guided Vehicles (AGVs) 280 9.3 MECHANISMS 281 9.4 ACTUATORS 282 page 7 9.5 A COMMERCIAL ROBOT 283 9.5.1 Mitsubishi RV-M1 Manipulator 284 9.5.2 Movemaster Programs 286 Language Examples 286 9.5.3 Command Summary 290 9.6 PRACTICE PROBLEMS 291 9.7 LABORATORY - MITSUBISHI RV-M1 ROBOT 296 9.8 TUTORIAL - MITSUBISHI RV-M1 296 10. OTHER INDUSTRIAL ROBOTS . . . . . . . . . . . . . . . . . . . . . . . .299 10.1 SEIKO RT 3000 MANIPULATOR 299 10.1.1 DARL Programs 300 Language Examples 301 Commands Summary 305 10.2 IBM 7535 MANIPULATOR 308 10.2.1 AML Programs 312 10.3 ASEA IRB-1000 317 10.4 UNIMATION PUMA (360, 550, 560 SERIES) 319 10.5 PRACTICE PROBLEMS 320 10.6 LABORATORY - SEIKO RT-3000 ROBOT 330 10.7 TUTORIAL - SEIKO RT-3000 ROBOT 331 10.8 LABORATORY - ASEA IRB-1000 ROBOT 332 10.9 TUTORIAL - ASEA IRB-1000 ROBOT 332 11. ROBOT APPLICATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .333 11.0.1 Overview 333 11.0.2 Spray Painting and Finishing 335 11.0.3 Welding 335 11.0.4 Assembly 336 11.0.5 Belt Based Material Transfer 336 11.1 END OF ARM TOOLING (EOAT) 337 11.1.1 EOAT Design 337 11.1.2 Gripper Mechanisms 340 Vacuum grippers 342 11.1.3 Magnetic Grippers 344 Adhesive Grippers 345 11.1.4 Expanding Grippers 345 11.1.5 Other Types Of Grippers 346 11.2 ADVANCED TOPICS 347 11.2.1 Simulation/Off-line Programming 347 11.3 INTERFACING 348 11.4 PRACTICE PROBLEMS 348 11.5 LABORATORY - ROBOT INTERFACING 350 11.6 LABORATORY - ROBOT WORKCELL INTEGRATION 351 page 8 12. SPATIAL KINEMATICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .352 12.1 BASICS 352 12.1.1 Degrees of Freedom 353 12.2 HOMOGENEOUS MATRICES 354 12.2.1 Denavit-Hartenberg Transformation (D-H) 359 12.2.2 Orientation 361 12.2.3 Inverse Kinematics 363 12.2.4 The Jacobian 364 12.3 SPATIAL DYNAMICS 366 12.3.1 Moments of Inertia About Arbitrary Axes 366 12.3.2 Euler’s Equations of Motion 369 12.3.3 Impulses and Momentum 370 Linear Momentum 370 Angular Momentum 371 12.4 DYNAMICS FOR KINEMATICS CHAINS 372 12.4.1 Euler-Lagrange 372 12.4.2 Newton-Euler 375 12.5 REFERENCES 375 12.6 PRACTICE PROBLEMS 376 13. MOTION CONTROL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .390 13.1 KINEMATICS 390 13.1.1 Basic Terms 390 13.1.2 Kinematics 391 Geometry Methods for Forward Kinematics 392 Geometry Methods for Inverse Kinematics 393 13.1.3 Modeling the Robot 394 13.2 PATH PLANNING 395 13.2.1 Slew Motion 395 Joint Interpolated Motion 397 Straight-line motion 397 13.2.2 Computer Control of Robot Paths (Incremental Interpolation)400 13.3 PRACTICE PROBLEMS 403 13.4 LABORATORY - AXIS AND MOTION CONTROL 408 14. CNC MACHINES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .409 14.1 MACHINE AXES 409 14.2 NUMERICAL CONTROL (NC) 409 14.2.1 NC Tapes 410 14.2.2 Computer Numerical Control (CNC) 411 14.2.3 Direct/Distributed Numerical Control (DNC) 412 14.3 EXAMPLES OF EQUIPMENT 414 14.3.1 EMCO PC Turn 50 414 14.3.2 Light Machines Corp. proLIGHT Mill 415 page 9 14.4 PRACTICE PROBLEMS 417 14.5 TUTORIAL - EMCO MAIER PCTURN 50 LATHE (OLD) 417 14.6 TUTORIAL - PC TURN 50 LATHE DOCUMENTATION: (By Jonathan DeBoer) 418 14.6.1 LABORATORY - CNC MACHINING 424 15. CNC PROGRAMMING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .426 15.1 G-CODES 428 15.2 APT 436 15.3 PROPRIETARY NC CODES 440 15.4 GRAPHICAL PART PROGRAMMING 441 15.5 NC CUTTER PATHS 442 15.6 NC CONTROLLERS 444 15.7 PRACTICE PROBLEMS 445 15.8 LABORATORY - CNC INTEGRATION 446 16. DATA AQUISITION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .448 16.1 INTRODUCTION 448 16.2 ANALOG INPUTS 449 16.3 ANALOG OUTPUTS 455 16.4 REAL-TIME PROCESSING 458 16.5 DISCRETE IO 459 16.6 COUNTERS AND TIMERS 459 16.7 ACCESSING DAQ CARDS FROM LINUX 459 16.8 SUMMARY 476 16.9 PRACTICE PROBLEMS 476 16.10 LABORATORY - INTERFACING TO A DAQ CARD 478 17. VISIONS SYSTEMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .479 17.1 OVERVIEW 479 17.2 APPLICATIONS 480 17.3 LIGHTING AND SCENE 481 17.4 CAMERAS 482 17.5 FRAME GRABBER 486 17.6 IMAGE PREPROCESSING 486 17.7 FILTERING 487 17.7.1 Thresholding 487 17.8 EDGE DETECTION 487 17.9 SEGMENTATION 488 17.9.1 Segment Mass Properties 490 17.10 RECOGNITION 491 17.10.1 Form Fitting 491 17.10.2 Decision Trees 492 page 10 17.11 PRACTICE PROBLEMS 494 17.12 TUTORIAL - LABVIEW BASED IMAQ VISION 499 17.13 LABORATORY - VISION SYSTEMS FOR INSPECTION 500 18. INTEGRATION ISSUES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .502 18.1 CORPORATE STRUCTURES 502 18.2 CORPORATE COMMUNICATIONS 502 18.3 COMPUTER CONTROLLED BATCH PROCESSES 514 18.4 PRACTICE PROBLEMS 516 18.5 LABORATORY - WORKCELL INTEGRATION 516 19. MATERIAL HANDLING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .518 19.1 INTRODUCTION 518 19.2 VIBRATORY FEEDERS 520 19.3 PRACTICE QUESTIONS 521 19.4 LABORATORY - MATERIAL HANDLING SYSTEM 521 19.4.1 System Assembly and Simple Controls 521 19.5 AN EXAMPLE OF AN FMS CELL 523 19.5.1 Overview 523 19.5.2 Workcell Specifications 525 19.5.3 Operation of The Cell 526 19.6 THE NEED FOR CONCURRENT PROCESSING 534 19.7 PRACTICE PROBLEMS 536 20. PETRI NETS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .537 20.1 INTRODUCTION 537 20.2 A BRIEF OUTLINE OF PETRI NET THEORY 537 20.3 MORE REVIEW 540 20.4 USING THE SUBROUTINES 548 20.4.1 Basic Petri Net Simulation 548 20.4.2 Transitions With Inhibiting Inputs 550 20.4.3 An Exclusive OR Transition: 552 20.4.4 Colored Tokens 555 20.4.5 RELATIONAL NETS 557 20.5 C++ SOFTWARE 558 20.6 IMPLEMENTATION FOR A PLC 559 20.7 PRACTICE PROBLEMS 564 20.8 REFERENCES 565 21. PRODUCTION PLANNING AND CONTROL . . . . . . . . . . . . .566 21.1 OVERVIEW 566 21.2 SCHEDULING 567 21.2.1 Material Requirements Planning (MRP) 567 21.2.2 Capacity Planning 569 [...]... user interface (GUI), or using typed commands New users often prefer to use the system using the GUI Advanced users often prefer to use commands to administer the system, they are often faster and more reliable Commands can be typed in a command window Typed commands are case sensitive, and most commands are lower case Spaces are used to delimit (separate) commands and arguments, so they should also be... Justification of integration and automation, - consider “BIG” picture - determine key problems that must be solved - highlight areas that will be impacted in enterprise - determine kind of flexibility needed - determine what kind of integration to use - look at FMS impacts - consider implementation cost based on above • Factors to consider in integration decision, - volume of product - previous experience of. .. entertainment and office use and is incompatible with the needs of manufacturing professionals Most notably there is a constant pressure to upgrade every 2-3 years adding a burden The reader is expected to have some knowledge of C, or C++ programming, although a review chapter is provided When possible a programming example is supplied to allow the reader to develop their own programs for integration and automation. .. integrated systems, and then discuss implementation Many of the chapters of this book use the Linux operating system Some might argue that Microsoft products are more pervasive, and so should be emphasized, but I disagree with this It is much easier to implement a complex system in Linux, and once implemented the system is more reliable, secure and easier to maintain In addition the Microsoft operating... sites Server - databases and other institutional functions Embedded - inside devices such as Tivo TV recorders PDAs - an operating system for small handheld computers Development - software authoring 2.1.5 Advantages and Disadvantages A partial list of advantages and disadvantages is given below The cost, stability and open nature of the system have been winning over a large number of corporate adopters... INTEGRATED AND AUTOMATED MANUFACTURING Integrated manufacturing uses computers to connect physically separated processes When integrated, the processes can share information and initiate actions This allows decisions to be made faster and with fewer errors Automation allows manufacturing processes to be run automatically, without requiring intervention This chapter will discuss how these systems fit into manufacturing, ... the hardware, and then starts software The process of booting takes less than a minute in most cases page 29 kernelThe core of the operating system that talks to all hardware and programs shellA windows that allows you to type commands permissionsControl who can change what GNU(Gnu’s Not Unix) A group that develops free software comprising a large portion of Linux rootThis is the user name of the system... administrator 2.2.2 File and directories The directory and file structure of Linux is hierarchical, much like other popular operating systems The main directory for the system is call root and is indicated with a single slash ‘/’ There are a number of subdirectories listed below that are used for storing system files, user files, temporary files and configuration files A sample of the standard directories... ’file’ (some commands given below) ‘dd’ - cut a line (command mode) ’p’ - paste a line below the current line (command mode) ‘x’ - delete a character (command mode) ‘r’ - replace a character (command mode) ‘R’ - replace a string (command mode -> edit mode) ‘a’ - append to a line (command mode -> edit mode) ‘i’ - insert a string (command mode -> edit mode) ‘:w’ - write to a file (command mode) ‘:q’ -... be soon 2.1.4 Applications and uses By itself an operating system is somewhat useless, software applications are added to give desired functionality Some of the common applications that a computer might be used for are listed below Linux will support all of these applications, and more, with the right software [6] Office - word processing, spreadsheets, etc page 26 Web and Internet Servers - host . page 1 Integration and Automation of Manufacturing Systems by: Hugh Jack © Copyright 1993-2001, Hugh Jack page 2 PREFACE 1. INTEGRATED AND AUTOMATED MANUFACTURING. MRP) - use of CAD/CAM at the front end. - availability of process planning and process data * Process planning is only part of CIM, and cannot stand alone. 1.1.2