TOC PREV NEXT
PREFACE
1. INTEGRATED AND AUTOMATED MANUFACTURING 14
1.1 INTRODUCTION 14
1.1.1 Why Integrate? 14
1.1.2 Why Automate? 15
1.2 THE BIG PICTURE 17
1.2.1 CAD/CAM? 18
1.2.2 The Architecture of Integration 18
1.2.3 General Concepts 19
1.3 PRACTICE PROBLEMS 23
2. AN INTRODUCTION TO LINUX/UNIX 24
2.1 OVERVIEW 24
2.1.1 What is it? 24
2.1.2 A (Brief) History 25
2.1.3 Hardware required and supported 26
2.1.4 Applications and uses 26
2.1.5 Advantages and Disadvantages 27
2.1.6 Getting It 27
2.1.7 Distributions 28
2.1.8 Installing 28
2.2 USING LINUX 29
2.2.1 Some Terminology 29
2.2.2 File and directories 30
2.2.3 User accounts and root 32
2.2.4 Processes 34
2.3 NETWORKING 35
2.3.1 Security 36
2.4 INTERMEDIATE CONCEPTS 36
2.4.1 Shells 36
2.4.2 X-Windows 37
2.4.3 Configuring 37
2.4.4 Desktop Tools 38
2.5 LABORATORY - A LINUX SERVER 38
2.6 TUTORIAL - INSTALLING LINUX 39
2.7 TUTORIAL - USING LINUX 41
2.8 REFERENCES 43
3. AN INTRODUCTION TO C/C++ PROGRAMMING 44
3.1 INTRODUCTION 44
3.2 PROGRAM PARTS 45
3.3 CLASSES AND OVERLOADING 51
3.4 HOW A `C' COMPILER WORKS 53
3.5 STRUCTURED `C' CODE 54
3.6 COMPILING C PROGRAMS IN LINUX 55
3.6.1 Makefiles 56
3.7 ARCHITECTURE OF `C' PROGRAMS (TOP-DOWN) 57
3.7.1 How? 57
3.7.2 Why? 58
3.8 CREATING TOP DOWN PROGRAMS 59
3.9 CASE STUDY - THE BEAMCAD PROGRAM 60
3.9.1 Objectives: 60
3.9.2 Problem Definition: 60
3.9.3 User Interface: 60
Screen Layout (also see figure): 60
Input: 61
Output: 61
Help: 61
Error Checking: 62
Miscellaneous: 62
3.9.4 Flow Program: 63
3.9.5 Expand Program: 63
3.9.6 Testing and Debugging: 65
3.9.7 Documentation 66
Users Manual: 66
Programmers Manual: 66
3.9.8 Listing of BeamCAD Program. 66
3.10 PRACTICE PROBLEMS 67
3.11 LABORATORY - C PROGRAMMING 68
4. STRUCTURED PROGRAMMING 71
4.1 INTRODUCTION 71
4.2 MENU DRIVEN PROGRAMS 71
4.3 POLLING PROGRAMS 72
4.4 NON-BLOCKING USER INPUT 73
4.5 DOCUMENTING 74
4.6 OTHER TYPES - ADD LATER 75
4.7 PRACTICE PROBLEMS 75
4.8 LABORATORY - PROGRAM STRUCTURES 75
5. NETWORK COMMUNICATION 77
5.1 INTRODUCTION 77
5.2 NETWORKS 78
5.2.1 Topology 78
5.2.2 OSI Network Model 80
5.2.3 Networking Hardware 82
5.2.4 Control Network Issues 84
5.2.5 Ethernet 85
5.2.6 SLIP and PPP 86
5.3 INTERNET 87
5.3.1 Computer Addresses 88
5.3.2 Computer Ports 89
5.4 NETWORKING IN LINUX 90
5.4.1 Network Programming in Linux 92
5.5 DESIGN CASES 104
5.6 SUMMARY 104
5.7 PRACTICE PROBLEMS 104
5.8 LABORATORY - NETWORKING 105
5.8.1 Prelab 106
5.8.2 Laboratory 108
6. DATABASES 109
6.1 SQL AND RELATIONAL DATABASES 110
6.2 DATABASE ISSUES 115
6.3 LABORATORY - SQL FOR DATABASE INTEGRATION 115
6.4 LABORATORY - USING C FOR DATABASE CALLS 117
7. INTERNET 120
7.1 INTRODUCTION 120
7.2 Protocols 120
7.2.1 Mail Transfer Protocols 120
7.2.2 FTP - File Transfer Protocol 120
7.2.3 HTTP - Hypertext Transfer Protocol 121
7.2.4 Firewalls and IP Masquerading 121
7.3 FORMATS 121
7.3.1 HTML 122
7.3.2 URLs 124
7.3.3 Encryption 125
7.4 Clients and Servers 125
7.5 Java 126
7.5.1 Javascript 127
7.6 CGI 127
7.7 DESIGN CASES 127
7.8 SUMMARY 128
7.9 PRACTICE PROBLEMS 128
7.10 LABORATORY - NETWORKING 128
7.10.1 Prelab 128
7.10.2 Laboratory 129
8. SECURITY ISSUES 132
8.1 INTRODUCTION 132
8.2 COMPUTERS AND HARDWARE 135
8.3 PRACTICE PROBLEMS 136
8.4 LABORATORY - COMPUTER SECURITY 136
9. COMMUNICATIONS 138
9.1 SERIAL COMMUNICATIONS 138
9.1.1 RS-232 141
9.2 SERIAL COMMUNICATIONS UNDER LINUX 144
9.3 PARALLEL COMMUNICATIONS 148
9.4 LABORATORY - SERIAL INTERFACING AND PROGRAMMING 149
9.5 LABORATORY - STEPPER MOTOR CONTROLLER 149
10. PROGRAMMABLE LOGIC CONTROLLERS (PLCs) 153
10.1 BASIC LADDER LOGIC 155
10.2 WHAT DOES LADDER LOGIC DO? 157
10.2.1 Connecting A PLC To A Process 158
10.2.2 PLC Operation 158
10.3 LADDER LOGIC 160
10.3.1 Relay Terminology 163
10.3.2 Ladder Logic Inputs 165
10.3.3 Ladder Logic Outputs 166
10.4 LADDER DIAGRAMS 166
10.4.1 Ladder Logic Design 167
10.4.2 A More Complicated Example of Design 169
10.5 TIMERS/COUNTERS/LATCHES 170
10.6 LATCHES 171
10.7 TIMERS 172
10.8 COUNTERS 176
10.9 DESIGN AND SAFETY 178
10.9.1 FLOW CHARTS 179
10.10 SAFETY 179
10.10.1 Grounding 180
10.10.2 Programming/Wiring 181
10.10.3 PLC Safety Rules 181
10.10.4 Troubleshooting 182
10.11 DESIGN CASES 183
10.11.1 DEADMAN SWITCH 183
10.11.2 CONVEYOR 184
10.11.3 ACCEPT/REJECT SORTING 184
10.11.4 SHEAR PRESS 185
10.12 ADDRESSING 187
10.12.1 Data Files 188
Inputs and Outputs 191
User Numerical Memory 191
Timer Counter Memory 191
PLC Status Bits (for PLC-5s) 192
User Function Memory 193
10.13 INSTRUCTION TYPES 193
10.13.1 Program Control Structures 194
10.13.2 Branching and Looping 194
Immediate I/O Instructions 198
Fault Detection and Interrupts 200
10.13.3 Basic Data Handling 201
Move Functions 201
10.14 MATH FUNCTIONS 203
10.15 LOGICAL FUNCTIONS 210
10.15.1 Comparison of Values 210
10.16 BINARY FUNCTIONS 212
10.17 ADVANCED DATA HANDLING 213
10.17.1 Multiple Data Value Functions 214
10.17.2 Block Transfer Functions 215
10.18 COMPLEX FUNCTIONS 217
10.18.1 Shift Registers 217
10.18.2 Stacks 218
10.18.3 Sequencers 219
10.19 ASCII FUNCTIONS 221
10.20 DESIGN TECHNIQUES 222
10.20.1 State Diagrams 222
10.21 DESIGN CASES 225
10.21.1 If-Then 226
10.21.2 For-Next 226
10.21.3 Conveyor 227
10.22 IMPLEMENTATION 228
10.23 PLC WIRING 228
10.23.1 SWITCHED INPUTS AND OUTPUTS 229
Input Modules 230
Actuators 231
Output Modules 232
10.24 THE PLC ENVIRONMENT 235
10.24.1 Electrical Wiring Diagrams 235
10.24.2 Wiring 238
10.24.3 Shielding and Grounding 240
10.24.4 PLC Environment 242
10.24.5 SPECIAL I/O MODULES 243
10.25 PRACTICE PROBLEMS 246
10.26 REFERENCES 256
10.27 LABORATORY - SERIAL INTERFACING TO A PLC 257
11. THE MAT PLC 259
11.1 INTRODUCTION 259
11.1.1 Devicenet 259
11.2 PRACTICE PROBLEMS 259
12. 260
13. PLCS AND NETWORKING 260
13.1 OPEN NETWORK TYPES 260
13.1.1 Devicenet 260
13.1.2 CANbus 265
13.1.3 Controlnet 266
13.1.4 Profibus 267
13.2 PROPRIETARY NETWORKS 268
Data Highway 268
13.3 PRACTICE PROBLEMS 272
13.4 LABORATORY - DEVICENET 278
13.5 TUTORIAL - SOFTPLC AND DEVICENET 278
14. INDUSTRIAL ROBOTICS 282
14.1 INTRODUCTION 282
14.1.1 Basic Terms 282
14.1.2 Positioning Concepts 286
Accuracy and Repeatability 286
Control Resolution 290
Payload 291
14.2 ROBOT TYPES 296
14.2.1 Basic Robotic Systems 296
14.2.2 Types of Robots 297
Robotic Arms 297
Autonomous/Mobile Robots 300
Automatic Guided Vehicles (AGVs) 300
14.3 MECHANISMS 301
14.4 ACTUATORS 302
14.5 A COMMERCIAL ROBOT 303
14.5.1 Mitsubishi RV-M1 Manipulator 304
14.5.2 Movemaster Programs 306
Language Examples 306
14.5.3 Command Summary 310
14.6 PRACTICE PROBLEMS 311
14.7 LABORATORY - MITSUBISHI RV-M1 ROBOT 316
14.8 TUTORIAL - MITSUBISHI RV-M1 316
15. OTHER INDUSTRIAL ROBOTS 319
15.1 SEIKO RT 3000 MANIPULATOR 319
15.1.1 DARL Programs 320
Language Examples 321
Commands Summary 325
15.2 IBM 7535 MANIPULATOR 328
15.2.1 AML Programs 332
15.3 ASEA IRB-1000 337
15.4 UNIMATION PUMA (360, 550, 560 SERIES) 339
15.5 PRACTICE PROBLEMS 340
15.6 LABORATORY - SEIKO RT-3000 ROBOT 350
15.7 TUTORIAL - SEIKO RT-3000 ROBOT 351
15.8 LABORATORY - ASEA IRB-1000 ROBOT 352
15.9 TUTORIAL - ASEA IRB-1000 ROBOT 352
16. ROBOT APPLICATIONS 353
16.0.1 Overview 353
16.0.2 Spray Painting and Finishing 355
16.0.3 Welding 355
16.0.4 Assembly 356
16.0.5 Belt Based Material Transfer 356
16.1 END OF ARM TOOLING (EOAT) 357
16.1.1 EOAT Design 357
16.1.2 Gripper Mechanisms 360
Vacuum grippers 362
16.1.3 Magnetic Grippers 364
Adhesive Grippers 365
16.1.4 Expanding Grippers 365
16.1.5 Other Types Of Grippers 366
16.2 ADVANCED TOPICS 367
16.2.1 Simulation/Off-line Programming 367
16.3 INTERFACING 368
16.4 PRACTICE PROBLEMS 368
16.5 LABORATORY - ROBOT INTERFACING 370
16.6 LABORATORY - ROBOT WORKCELL INTEGRATION 371
17. SPATIAL KINEMATICS 372
17.1 BASICS 372
17.1.1 Degrees of Freedom 373
17.2 HOMOGENEOUS MATRICES 374
17.2.1 Denavit-Hartenberg Transformation (D-H) 379
17.2.2 Orientation 381
17.2.3 Inverse Kinematics 383
17.2.4 The Jacobian 384
17.3 SPATIAL DYNAMICS 386
17.3.1 Moments of Inertia About Arbitrary Axes 386
17.3.2 Euler's Equations of Motion 389
17.3.3 Impulses and Momentum 390
Linear Momentum 390
Angular Momentum 391
17.4 DYNAMICS FOR KINEMATICS CHAINS 392
17.4.1 Euler-Lagrange 392
17.4.2 Newton-Euler 395
17.5 REFERENCES 395
17.6 PRACTICE PROBLEMS 396
18. MOTION CONTROL 410
18.1 KINEMATICS 410
18.1.1 Basic Terms 410
18.1.2 Kinematics 411
Geometry Methods for Forward Kinematics 412
Geometry Methods for Inverse Kinematics 413
18.1.3 Modeling the Robot 414
18.2 PATH PLANNING 415
18.2.1 Slew Motion 415
Joint Interpolated Motion 417
Straight-line motion 417
18.2.2 Computer Control of Robot Paths (Incremental Interpolation) 420
18.3 PRACTICE PROBLEMS 423
18.4 LABORATORY - AXIS AND MOTION CONTROL 428
19. CNC MACHINES 429
19.1 MACHINE AXES 429
19.2 NUMERICAL CONTROL (NC) 429
19.2.1 NC Tapes 430
19.2.2 Computer Numerical Control (CNC) 431
19.2.3 Direct/Distributed Numerical Control (DNC) 432
19.3 EXAMPLES OF EQUIPMENT 434
19.3.1 EMCO PC Turn 50 434
19.3.2 Light Machines Corp. proLIGHT Mill 435
19.4 PRACTICE PROBLEMS 437
19.4.1 LABORATORY - CNC MACHINING 437
19.5 TUTORIAL - EMCO MAIER PCTURN 50 LATHE 438
20. CNC PROGRAMMING 442
20.1 G-CODES 444
20.2 APT 452
20.3 PROPRIETARY NC CODES 456
20.4 GRAPHICAL PART PROGRAMMING 457
20.5 NC CUTTER PATHS 458
20.6 NC CONTROLLERS 460
20.7 PRACTICE PROBLEMS 461
20.8 LABORATORY - CNC INTEGRATION 462
21. DATA AQUISITION 464
21.1 INTRODUCTION 464
21.2 ANALOG INPUTS 465
21.3 ANALOG OUTPUTS 471
21.4 REAL-TIME PROCESSING 474
21.5 DISCRETE IO 475
21.6 COUNTERS AND TIMERS 475
21.7 ACCESSING DAQ CARDS FROM LINUX 475
21.8 SUMMARY 492
21.9 PRACTICE PROBLEMS 492
21.10 LABORATORY - INTERFACING TO A DAQ CARD 494
22. VISIONS SYSTEMS 495
22.1 OVERVIEW 495
22.2 APPLICATIONS 496
22.3 LIGHTING AND SCENE 497
22.4 CAMERAS 498
22.5 FRAME GRABBER 502
22.6 IMAGE PREPROCESSING 502
22.7 FILTERING 503
22.7.1 Thresholding 503
22.8 EDGE DETECTION 503
22.9 SEGMENTATION 504
22.9.1 Segment Mass Properties 506
22.10 RECOGNITION 507
22.10.1 Form Fitting 507
22.10.2 Decision Trees 508
22.11 PRACTICE PROBLEMS 510
22.12 TUTORIAL - LABVIEW BASED IMAQ VISION 515
22.13 LABORATORY - VISION SYSTEMS FOR INSPECTION 516
22.14 TUTORIAL - DVT CAMERAS 518
22.15 LABORATORY 12 - VISION SYSTEMS FOR INSPECTION 519
23. SECURITY ISSUES 520
23.1 INTRODUCTION 520
23.2 PRACTICE PROBLEMS 520
23.3 LABORATORY - COMPUTER SECURITY 520
24. 521
25. 521
26. 521
27. 521
28. MATERIAL HANDLING 521
28.1 INTRODUCTION 521
28.2 VIBRATORY FEEDERS 523
28.3 PRACTICE QUESTIONS 524
28.4 LABORATORY - MATERIAL HANDLING SYSTEM 524
28.4.1 System Assembly and Simple Controls 524
28.5 AN EXAMPLE OF AN FMS CELL 526
28.5.1 Overview 526
28.5.2 Workcell Specifications 528
28.5.3 Operation of The Cell 529
28.6 THE NEED FOR CONCURRENT PROCESSING 537
28.7 PRACTICE PROBLEMS 539
29. PETRI NETS 540
29.1 INTRODUCTION 540
29.2 A BRIEF OUTLINE OF PETRI NET THEORY 540
29.3 MORE REVIEW 543
29.4 USING THE SUBROUTINES 551
29.4.1 Basic Petri Net Simulation 551
29.4.2 Transitions With Inhibiting Inputs 553
29.4.3 An Exclusive OR Transition: 555
29.4.4 Colored Tokens 558
29.4.5 RELATIONAL NETS 560
29.5 C++ SOFTWARE 561
29.6 IMPLEMENTATION FOR A PLC 562
29.7 PRACTICE PROBLEMS 567
29.8 REFERENCES 568
30. PRODUCTION PLANNING AND CONTROL 569
30.1 OVERVIEW 569
30.2 SCHEDULING 570
30.2.1 Material Requirements Planning (MRP) 570
30.2.2 Capacity Planning 572
30.3 SHOP FLOOR CONTROL 573
30.3.1 Shop Floor Scheduling - Priority Scheduling 573
30.3.2 Shop Floor Monitoring 574
31. SIMULATION 575
31.1 MODEL BUILDING 576
31.2 ANALYSIS 578
31.3 DESIGN OF EXPERIMENTS 579
31.4 RUNNING THE SIMULATION 582
31.5 DECISION MAKING STRATEGY 582
32. PLANNING AND ANALYSIS 584
32.1 FACTORS TO CONSIDER 584
32.2 PROJECT COST ACCOUNTING 586
33. REFERENCES 590
34. APPENDIX A - PROJECTS 591
34.1 TOPIC SELECTION 591
34.1.1 Previous Project Topics 591
34.2 CURRENT PROJECT DESCRIPTIONS 593
35. APPENDIX B - COMMON REFERENCES 594
35.1 JIC ELECTRICAL SYMBOLS 594
35.2 NEMA ENCLOSURES 595
TOC PREV NEXT