Muutke küpsiste eelistusi

E-raamat: Programmable Logic Controllers - A Practical Approach IEC 61131-3 using CoDeSys: A Practical Approach to IEC 61131-3 using CoDeSys [Wiley Online]

  • Formaat: 416 pages
  • Ilmumisaeg: 13-Nov-2015
  • Kirjastus: John Wiley & Sons Inc
  • ISBN-10: 1118949218
  • ISBN-13: 9781118949214
  • Wiley Online
  • Hind: 126,88 €*
  • * hind, mis tagab piiramatu üheaegsete kasutajate arvuga ligipääsu piiramatuks ajaks
  • Formaat: 416 pages
  • Ilmumisaeg: 13-Nov-2015
  • Kirjastus: John Wiley & Sons Inc
  • ISBN-10: 1118949218
  • ISBN-13: 9781118949214
Widely used across industrial and manufacturing automation, Programmable Logic Controllers (PLCs) perform a broad range of electromechanical tasks with multiple input and output arrangements, designed specifically to cope in severe environmental conditions such as automotive and chemical plants.

Programmable Logic Controllers: A Practical Approach using CoDeSys is a hands-on guide to rapidly gain proficiency in the development and operation of PLCs based on the IEC 61131-3 standard. Using the freely-available* software tool CoDeSys, which is widely used in industrial design automation projects, the author takes a highly practical approach to PLC design using real-world examples. The design tool, CoDeSys, also features a built in simulator/soft PLC enabling the reader to undertake exercises and test the examples.

Key features:





Introduces to programming techniques using IEC 61131-3 guidelines in the five PLC-recognised programming languages. Focuses on a methodical approach to programming, based on Boolean algebra, flowcharts, sequence diagrams and state-diagrams. Contains a useful methodology to solve problems, develop a structured code and document the programming code. Covers I/O like typical sensors, signals, signal formats, noise and cabling. Features Power Point slides covering all topics, example programs and solutions to end-of-chapter exercises via companion website.

No prior knowledge of programming PLCs is assumed making this text ideally suited to electronics engineering students pursuing a career in electronic design automation. Experienced PLC users in all fields of manufacturing will discover new possibilities and gain useful tips for more efficient and structured programming.

* Register at www.codesys.com

www.wiley.com/go/hanssen/logiccontrollers 
Preface xiv
Part One Hardware 1(78)
1 About PLCs
3(17)
1.1 History
4(3)
1.1.1 More Recent Developments
6(1)
1.2 Structure
7(6)
1.2.1 Inputs and Outputs
10(3)
1.3 PLC Operation
13(6)
1.3.1 Process Knowledge
14(2)
1.3.2 Standard Operations
16(2)
1.3.3 Cyclic, Freewheeling, or Event-Controlled Execution
18(1)
1.4 Test Problems
19(1)
2 Digital Signals and Digital Inputs and Outputs
20(32)
2.1 Introduction
20(1)
2.2 Terminology
21(3)
2.2.1 Discrete, Digital, Logical, and Binary
21(1)
2.2.2 Sensors, Transducers, and Transmitters
22(2)
2.3 Switches
24(2)
2.3.1 Limit Switches
24(1)
2.3.2 Safety Devices
24(1)
2.3.3 Magnetic Switches
25(1)
2.4 Logical Sensors
26(13)
2.4.1 Inductive Sensors
27(2)
2.4.2 Capacitive Sensors
29(1)
2.4.3 Photocells
30(3)
2.4.4 Ultrasonic Sensors
33(1)
2.4.5 Rotating Sensors (Encoders)
34(3)
2.4.6 Other Detection Principles and Sensors
37(2)
2.5 Connection of Logical Sensors
39(5)
2.5.1 Sink/Source
41(2)
2.5.2 Selecting a Sensor with the Proper Type of Output
43(1)
2.6 Properties of Discrete Inputs
44(1)
2.7 Discrete Actuators
45(5)
2.7.1 Relays and Contactors
46(1)
2.7.2 Solenoids and Magnetic Valves
47(2)
2.7.3 Transistor Outputs versus Relay Outputs
49(1)
2.8 Test Problems
50(2)
3 Analog Signals and Analog I/O
52(27)
3.1 Introduction
52(1)
3.2 Digitalization of Analog Signals
53(5)
3.2.1 Filtering
53(2)
3.2.2 A/D Conversion
55(3)
3.3 Analog Instrumentation
58(3)
3.3.1 About Sensors
58(1)
3.3.2 Standard Signal Formats
59(1)
3.3.3 On the 4-20 mA Standard
59(2)
3.3.4 Some Other Properties of Sensors
61(1)
3.4 Temperature Sensors
61(3)
3.4.1 Thermocouple
61(1)
3.4.2 PT100/NI1000
62(2)
3.4.3 Thermistors
64(1)
3.5 Connection
64(8)
3.5.1 About Noise, Loss, and Cabling
64(3)
3.5.2 Connecting Sensors
67(1)
3.5.3 Connection of a PT100 (RTD)
68(4)
3.5.4 Connecting Thermocouples
72(1)
3.6 Properties of Analog Input Modules
72(3)
3.6.1 Measurement Ranges and Digitizing: Resolution
72(2)
3.6.2 Important Properties and Parameters
74(1)
3.7 Analog Output Modules and Standard Signal Formats
75(1)
3.8 Test Problems
76(3)
Part Two Methodic 79(52)
4 Structured Design
81(50)
4.1 Introduction
81(1)
4.2 Number Systems
82(5)
4.2.1 The Decimal Number Systems
82(1)
4.2.2 The Binary Number System
82(1)
4.2.3 The Hexadecimal Number System
83(2)
4.2.4 Binary-Coded Decimal Numbers
85(1)
4.2.5 Conversion between Number Systems
86(1)
4.3 Digital Logic
87(4)
4.4 Boolean Design
91(6)
4.4.1 Logical Functional Expressions
91(2)
4.4.2 Boolean Algebra
93(4)
4.5 Sequential Design
97(16)
4.5.1 Flowchart
97(2)
4.5.2 Example: Flowchart for Mixing Process
99(2)
4.5.3 Example: Flowchart for an Automated Packaging Line
101(6)
4.5.4 Sequence Diagrams
107(3)
4.5.5 Example: Sequence Diagram for the Mixing Process
110(2)
4.5.6 Example: Batch Process
112(1)
4.6 State-Based Design
113(11)
4.6.1 Why Use State Diagrams?
114(1)
4.6.2 State Diagrams
114(3)
4.6.3 Example: Batch Process
117(1)
4.6.4 Example: Level Process
118(3)
4.6.5 Example: Packing Facility for Apples
121(3)
4.7 Summary
124(1)
4.8 Test Problems
125(6)
Part Three IEC 61131-3 131(90)
5 Introduction to Programming and IEC 61131-3
133(19)
5.1 Introduction
133(5)
5.1.1 Weaknesses in Traditional PLCs
134(2)
5.1.2 Improvements with IEC 61131-3
136(1)
5.1.3 On Implementation of the Standard
137(1)
5.2 Brief Presentation of the Languages
138(3)
5.2.1 ST
138(1)
5.2.2 FBD
138(1)
5.2.3 LD
139(1)
5.2.4 IL
139(2)
5.2.5 SFC
141(1)
5.3 Program Structure in IEC 61131-3
141(5)
5.3.1 Example of a Configuration
145(1)
5.4 Program Processing
146(5)
5.4.1 Development of Programming Languages
146(1)
5.4.2 From Source Code to Machine Code
147(4)
5.5 Test Problems
151(1)
6 IEC 61131-3: Common Language Elements
152(35)
6.1 Introduction
152(1)
6.2 Identifiers, Keywords, and Comments
153(3)
6.2.1 Identifiers
153(1)
6.2.2 Keywords
154(1)
6.2.3 Comments
154(2)
6.3 About Variables and Data Types
156(1)
6.4 Pragmas and Literals
156(2)
6.4.1 Literal
157(1)
6.5 Data Types
158(11)
6.5.1 Numerical and Binary Data Types
158(3)
6.5.2 Data Types for Time and Duration
161(2)
6.5.3 Text Strings
163(1)
6.5.4 Generic Data Types
164(2)
6.5.5 User-Defined Data Types
166(3)
6.6 Variables
169(7)
6.6.1 Conventional Addressing
170(1)
6.6.2 Declaration of Variables with IEC 61131-3
171(3)
6.6.3 Local Versus Global Variables
174(1)
6.6.4 Input and Output Variables
175(1)
6.6.5 Other Variable Types
176(1)
6.7 Direct Addressing
176(3)
6.7.1 Addressing Structure
176(2)
6.7.2 I/O-Addressing
178(1)
6.8 Variable versus I/O-Addresses
179(1)
6.8.1 Unspecified I/O-Addresses
179(1)
6.9 Declaration of Multielement Variables
180(4)
6.9.1 Arrays
181(1)
6.9.2 Data Structures
182(2)
6.10 Test Problems
184(3)
7 Functions
187(19)
7.1 Introduction
187(1)
7.2 On Functions
188(1)
7.3 Standard Functions
189(2)
7.3.1 Assignment
190(1)
7.4 Boolean Operations
191(1)
7.5 Arithmetic Functions
192(2)
7.5.1 Overflow
193(1)
7.6 Comparison
194(1)
7.7 Numerical Operations
195(2)
7.7.1 Priority of Execution
196(1)
7.8 Selection
197(1)
7.9 Type Conversion
197(2)
7.10 Bit-String Functions
199(1)
7.11 Text-String Functions
200(2)
7.12 Defining New Functions
202(1)
7.13 EN/ENO
203(1)
7.14 Test Problems
204(2)
8 Function Blocks
206(15)
8.1 Introduction
206(1)
8.1.1 The Standard's FBs
207(1)
8.2 Declaring and Calling FBs
207(1)
8.3 FBs for Flank Detection
208(1)
8.4 Bistable Elements
209(1)
8.5 Timers
210(1)
8.6 Counters
211(2)
8.6.1 Up-Counter
212(1)
8.6.2 Down-Counter
212(1)
8.6.3 Up/Down-Counter
212(1)
8.7 Defining New FBs
213(4)
8.7.1 Encapsulation of Code
214(2)
8.7.2 Other Nonstandardized FBs
216(1)
8.8 Programs
217(3)
8.8.1 Program Calls
218(1)
8.8.2 Execution Control
219(1)
8.9 Test Problems
220(1)
Part Four Programming 221(130)
9 Ladder Diagram (LD)
223(39)
9.1 Introduction
223(1)
9.2 Program Structure
224(3)
9.2.1 Contacts and Conditions
225(1)
9.2.2 Coils and Actions
226(1)
9.2.3 Graphical Elements: An Overview
227(1)
9.3 Boolean Operations
227(10)
9.3.1 AND/OR-Conditions
227(3)
9.3.2 Set/Reset Coils
230(3)
9.3.3 Edge Detecting Contacts
233(1)
9.3.4 Example: Control of a Mixing Process
234(3)
9.4 Rules for Execution
237(3)
9.4.1 One Output: Several Conditions
237(1)
9.4.2 The Importance of the Order of Execution
238(1)
9.4.3 Labels and Jumps
239(1)
9.5 Use of Standard Functions in LD
240(2)
9.6 Development and Use of FBs in LD
242(2)
9.7 Structured Programming in LD
244(15)
9.7.1 Flowchart versus RS-Based LD Code
248(5)
9.7.2 State Diagrams versus RS-Based LD Code
253(6)
9.8 Summary
259(1)
9.9 Test Problems
260(2)
10 Function Block Diagram (FBD)
262(16)
10.1 Introduction
262(1)
10.2 Program Structure
263(1)
10.2.1 Concepts
264(1)
10.3 Execution Order and Loops
264(2)
10.3.1 Labels and Jumps
265(1)
10.4 User-Defined Functions and FBs
266(2)
10.5 Integer Division
268(3)
10.6 Sequential Programming with FBD
271(2)
10.7 Test Problems
273(5)
11 Structured Text (ST)
278(28)
11.1 Introduction
278(1)
11.2 ST in General
279(2)
11.2.1 Program Structure
280(1)
11.3 Standard Functions and Operators
281(2)
11.3.1 Assignment
282(1)
11.4 Calling FBs
283(5)
11.4.1 Flank Detection and Memories
284(3)
11.4.2 Timers
287(1)
11.4.3 Counters
288(1)
11.5 IF Statements
288(2)
11.6 CASE Statements
290(2)
11.7 ST Code Based upon State Diagrams
292(6)
11.7.1 Example: Code for the Level Process
295(3)
11.8 Loops
298(3)
11.8.1 WHILE...DO...END_WHILE
298(1)
11.8.2 FOR...END_FOR
299(1)
11.8.3 REPEAT...END_REPEAT
300(1)
11.8.4 The EXIT Instruction
300(1)
11.9 Example: Defining and Calling Functions
301(1)
11.10 Test Problems
302(4)
12 Sequential Function Chart (SFC)
306(25)
12.1 Introduction
306(1)
12.1.1 SFC in General
307(1)
12.2 Structure and Graphics
307(5)
12.2.1 Overview: Graphic Symbols
309(1)
12.2.2 Alternative Branches
309(2)
12.2.3 Parallel Branches
311(1)
12.3 Steps
312(2)
12.3.1 Step Addresses
313(1)
12.3.2 SFC in Text Form (for Those Specially Interested...)
314(1)
12.4 Transitions
314(3)
12.4.1 Alternative Definition of Transitions
315(2)
12.5 Actions
317(5)
12.5.1 Action Types
318(1)
12.5.2 Action Control
319(2)
12.5.3 Alternative Declaration and Use of Actions
321(1)
12.6 Control of Diagram Execution
322(1)
12.7 Good Design Technique
323(3)
12.8 Test Problems
326(5)
13 Examples
331(20)
13.1 Example 1: PID Controller Function Block: Structured Text
331(2)
13.2 Example 2: Sampling: SFC
333(4)
13.2.1 List of Variables
334(1)
13.2.2 Possible Solution
334(3)
13.3 Example 3: Product Control: SFC
337(5)
13.3.1 Functional Description
338(1)
13.3.2 List of Variables
338(1)
13.3.3 Possible Solution
339(3)
13.4 Example 4: Automatic Feeder: ST/SFC/FBD
342(11)
13.4.1 Planning and Structuring
344(1)
13.4.2 Alternative 1: SFC
345(2)
13.4.3 Alternative 2: ST/FBD
347(4)
Part Five Implementation 351(44)
14 CODESYS 2.3
353(28)
14.1 Introduction
353(1)
14.2 Starting the Program
354(3)
14.2.1 The Contents of a Project
356(1)
14.3 Configuring the (WAGO) PLC
357(3)
14.4 Communications with the PLC
360(5)
14.4.1 The Gateway Server
361(1)
14.4.2 Local Connection via Service Cable
362(1)
14.4.3 Via Ethernet
363(1)
14.4.4 Communication with a PLC Connected to a Remote PC
364(1)
14.4.5 Testing Communications
365(1)
14.5 Libraries
365(2)
14.6 Defining a POU
367(1)
14.7 Programming in FBD/LD
368(7)
14.7.1 Declaring Variables
369(2)
14.7.2 Programming with FBD
371(1)
14.7.3 Programming with LD
372(3)
14.8 Configuring Tasks
375(1)
14.9 Downloading and Testing Programs
376(3)
14.9.1 Debugging
377(2)
14.10 Global Variables and Special Data Types
379(2)
15 CODESYS Version 3.5
381(14)
15.1 Starting a New Project
381(5)
15.1.1 Device
382(2)
15.1.2 Application
384(2)
15.2 Programming and Programming Units (POUs)
386(3)
15.2.1 Declaration of Variables
388(1)
15.3 Compiling and Running the Project
389(4)
15.3.1 Start Gateway Server and PLS and Set Up Communications
390(3)
15.4 Test Problems
393(2)
Bibliography 395(1)
Index 396
Dag H. Hanssen works as an Assistant Professor in automation at the Institute of Engineering and Safety at the University of Tromsø. During the course of his 18 year long career with the university he has taught many different courses, but he now focusses on control technique, process automation and Application Development.