Preface |
|
xiv | |
Part One Hardware |
|
1 | (78) |
|
|
3 | (17) |
|
|
4 | (3) |
|
1.1.1 More Recent Developments |
|
|
6 | (1) |
|
|
7 | (6) |
|
|
10 | (3) |
|
|
13 | (6) |
|
|
14 | (2) |
|
1.3.2 Standard Operations |
|
|
16 | (2) |
|
1.3.3 Cyclic, Freewheeling, or Event-Controlled Execution |
|
|
18 | (1) |
|
|
19 | (1) |
|
2 Digital Signals and Digital Inputs and Outputs |
|
|
20 | (32) |
|
|
20 | (1) |
|
|
21 | (3) |
|
2.2.1 Discrete, Digital, Logical, and Binary |
|
|
21 | (1) |
|
2.2.2 Sensors, Transducers, and Transmitters |
|
|
22 | (2) |
|
|
24 | (2) |
|
|
24 | (1) |
|
|
24 | (1) |
|
|
25 | (1) |
|
|
26 | (13) |
|
|
27 | (2) |
|
|
29 | (1) |
|
|
30 | (3) |
|
|
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) |
|
|
41 | (2) |
|
2.5.2 Selecting a Sensor with the Proper Type of Output |
|
|
43 | (1) |
|
2.6 Properties of Discrete Inputs |
|
|
44 | (1) |
|
|
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) |
|
|
50 | (2) |
|
3 Analog Signals and Analog I/O |
|
|
52 | (27) |
|
|
52 | (1) |
|
3.2 Digitalization of Analog Signals |
|
|
53 | (5) |
|
|
53 | (2) |
|
|
55 | (3) |
|
3.3 Analog Instrumentation |
|
|
58 | (3) |
|
|
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) |
|
|
61 | (3) |
|
|
61 | (1) |
|
|
62 | (2) |
|
|
64 | (1) |
|
|
64 | (8) |
|
3.5.1 About Noise, Loss, and Cabling |
|
|
64 | (3) |
|
|
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) |
|
|
76 | (3) |
Part Two Methodic |
|
79 | (52) |
|
|
81 | (50) |
|
|
81 | (1) |
|
|
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) |
|
|
87 | (4) |
|
|
91 | (6) |
|
4.4.1 Logical Functional Expressions |
|
|
91 | (2) |
|
|
93 | (4) |
|
|
97 | (16) |
|
|
97 | (2) |
|
4.5.2 Example: Flowchart for Mixing Process |
|
|
99 | (2) |
|
4.5.3 Example: Flowchart for an Automated Packaging Line |
|
|
101 | (6) |
|
|
107 | (3) |
|
4.5.5 Example: Sequence Diagram for the Mixing Process |
|
|
110 | (2) |
|
4.5.6 Example: Batch Process |
|
|
112 | (1) |
|
|
113 | (11) |
|
4.6.1 Why Use State Diagrams? |
|
|
114 | (1) |
|
|
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) |
|
|
124 | (1) |
|
|
125 | (6) |
Part Three IEC 61131-3 |
|
131 | (90) |
|
5 Introduction to Programming and IEC 61131-3 |
|
|
133 | (19) |
|
|
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) |
|
|
138 | (1) |
|
|
138 | (1) |
|
|
139 | (1) |
|
|
139 | (2) |
|
|
141 | (1) |
|
5.3 Program Structure in IEC 61131-3 |
|
|
141 | (5) |
|
5.3.1 Example of a Configuration |
|
|
145 | (1) |
|
|
146 | (5) |
|
5.4.1 Development of Programming Languages |
|
|
146 | (1) |
|
5.4.2 From Source Code to Machine Code |
|
|
147 | (4) |
|
|
151 | (1) |
|
6 IEC 61131-3: Common Language Elements |
|
|
152 | (35) |
|
|
152 | (1) |
|
6.2 Identifiers, Keywords, and Comments |
|
|
153 | (3) |
|
|
153 | (1) |
|
|
154 | (1) |
|
|
154 | (2) |
|
6.3 About Variables and Data Types |
|
|
156 | (1) |
|
|
156 | (2) |
|
|
157 | (1) |
|
|
158 | (11) |
|
6.5.1 Numerical and Binary Data Types |
|
|
158 | (3) |
|
6.5.2 Data Types for Time and Duration |
|
|
161 | (2) |
|
|
163 | (1) |
|
|
164 | (2) |
|
6.5.5 User-Defined Data Types |
|
|
166 | (3) |
|
|
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) |
|
|
176 | (3) |
|
6.7.1 Addressing Structure |
|
|
176 | (2) |
|
|
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) |
|
|
181 | (1) |
|
|
182 | (2) |
|
|
184 | (3) |
|
|
187 | (19) |
|
|
187 | (1) |
|
|
188 | (1) |
|
|
189 | (2) |
|
|
190 | (1) |
|
|
191 | (1) |
|
|
192 | (2) |
|
|
193 | (1) |
|
|
194 | (1) |
|
|
195 | (2) |
|
7.7.1 Priority of Execution |
|
|
196 | (1) |
|
|
197 | (1) |
|
|
197 | (2) |
|
7.10 Bit-String Functions |
|
|
199 | (1) |
|
7.11 Text-String Functions |
|
|
200 | (2) |
|
7.12 Defining New Functions |
|
|
202 | (1) |
|
|
203 | (1) |
|
|
204 | (2) |
|
|
206 | (15) |
|
|
206 | (1) |
|
|
207 | (1) |
|
8.2 Declaring and Calling FBs |
|
|
207 | (1) |
|
8.3 FBs for Flank Detection |
|
|
208 | (1) |
|
|
209 | (1) |
|
|
210 | (1) |
|
|
211 | (2) |
|
|
212 | (1) |
|
|
212 | (1) |
|
|
212 | (1) |
|
|
213 | (4) |
|
8.7.1 Encapsulation of Code |
|
|
214 | (2) |
|
8.7.2 Other Nonstandardized FBs |
|
|
216 | (1) |
|
|
217 | (3) |
|
|
218 | (1) |
|
|
219 | (1) |
|
|
220 | (1) |
Part Four Programming |
|
221 | (130) |
|
|
223 | (39) |
|
|
223 | (1) |
|
|
224 | (3) |
|
9.2.1 Contacts and Conditions |
|
|
225 | (1) |
|
|
226 | (1) |
|
9.2.3 Graphical Elements: An Overview |
|
|
227 | (1) |
|
|
227 | (10) |
|
|
227 | (3) |
|
|
230 | (3) |
|
9.3.3 Edge Detecting Contacts |
|
|
233 | (1) |
|
9.3.4 Example: Control of a Mixing Process |
|
|
234 | (3) |
|
|
237 | (3) |
|
9.4.1 One Output: Several Conditions |
|
|
237 | (1) |
|
9.4.2 The Importance of the Order of Execution |
|
|
238 | (1) |
|
|
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) |
|
|
259 | (1) |
|
|
260 | (2) |
|
10 Function Block Diagram (FBD) |
|
|
262 | (16) |
|
|
262 | (1) |
|
|
263 | (1) |
|
|
264 | (1) |
|
10.3 Execution Order and Loops |
|
|
264 | (2) |
|
|
265 | (1) |
|
10.4 User-Defined Functions and FBs |
|
|
266 | (2) |
|
|
268 | (3) |
|
10.6 Sequential Programming with FBD |
|
|
271 | (2) |
|
|
273 | (5) |
|
|
278 | (28) |
|
|
278 | (1) |
|
|
279 | (2) |
|
|
280 | (1) |
|
11.3 Standard Functions and Operators |
|
|
281 | (2) |
|
|
282 | (1) |
|
|
283 | (5) |
|
11.4.1 Flank Detection and Memories |
|
|
284 | (3) |
|
|
287 | (1) |
|
|
288 | (1) |
|
|
288 | (2) |
|
|
290 | (2) |
|
11.7 ST Code Based upon State Diagrams |
|
|
292 | (6) |
|
11.7.1 Example: Code for the Level Process |
|
|
295 | (3) |
|
|
298 | (3) |
|
11.8.1 WHILE...DO...END_WHILE |
|
|
298 | (1) |
|
|
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) |
|
|
302 | (4) |
|
12 Sequential Function Chart (SFC) |
|
|
306 | (25) |
|
|
306 | (1) |
|
|
307 | (1) |
|
12.2 Structure and Graphics |
|
|
307 | (5) |
|
12.2.1 Overview: Graphic Symbols |
|
|
309 | (1) |
|
12.2.2 Alternative Branches |
|
|
309 | (2) |
|
|
311 | (1) |
|
|
312 | (2) |
|
|
313 | (1) |
|
12.3.2 SFC in Text Form (for Those Specially Interested...) |
|
|
314 | (1) |
|
|
314 | (3) |
|
12.4.1 Alternative Definition of Transitions |
|
|
315 | (2) |
|
|
317 | (5) |
|
|
318 | (1) |
|
|
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) |
|
|
326 | (5) |
|
|
331 | (20) |
|
13.1 Example 1: PID Controller Function Block: Structured Text |
|
|
331 | (2) |
|
13.2 Example 2: Sampling: SFC |
|
|
333 | (4) |
|
|
334 | (1) |
|
|
334 | (3) |
|
13.3 Example 3: Product Control: SFC |
|
|
337 | (5) |
|
13.3.1 Functional Description |
|
|
338 | (1) |
|
|
338 | (1) |
|
|
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) |
|
|
353 | (28) |
|
|
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) |
|
|
363 | (1) |
|
14.4.4 Communication with a PLC Connected to a Remote PC |
|
|
364 | (1) |
|
14.4.5 Testing Communications |
|
|
365 | (1) |
|
|
365 | (2) |
|
|
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) |
|
|
375 | (1) |
|
14.9 Downloading and Testing Programs |
|
|
376 | (3) |
|
|
377 | (2) |
|
14.10 Global Variables and Special Data Types |
|
|
379 | (2) |
|
|
381 | (14) |
|
15.1 Starting a New Project |
|
|
381 | (5) |
|
|
382 | (2) |
|
|
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) |
|
|
393 | (2) |
Bibliography |
|
395 | (1) |
Index |
|
396 | |