|
|
9 | (12) |
|
|
10 | (2) |
|
|
12 | (4) |
|
Goals and benefits of the standard |
|
|
12 | (1) |
|
Manufactures (PLC hardware and software) |
|
|
13 | (1) |
|
|
13 | (1) |
|
|
14 | (2) |
|
|
16 | (5) |
|
|
16 | (1) |
|
Committees and fields of activity |
|
|
17 | (1) |
|
|
18 | (1) |
|
|
18 | (1) |
|
Exchange format for user programs |
|
|
19 | (2) |
|
Building Blocks of IEC 61131-3 |
|
|
21 | (44) |
|
Introduction to the New Standard |
|
|
21 | (9) |
|
Structure of the building blocks |
|
|
22 | (1) |
|
|
22 | (1) |
|
|
23 | (2) |
|
Introductory example written in IL |
|
|
25 | (2) |
|
|
27 | (3) |
|
The Program Organisation Unit (POU) |
|
|
30 | (2) |
|
|
32 | (9) |
|
|
33 | (1) |
|
|
34 | (1) |
|
Types of variables in POUs |
|
|
35 | (1) |
|
Characteristics of the POU interface |
|
|
36 | (1) |
|
The formal parameters and return values of a POU |
|
|
37 | (1) |
|
External and internal access to POU variables |
|
|
37 | (2) |
|
|
39 | (2) |
|
|
41 | (7) |
|
Instances of function blocks |
|
|
41 | (1) |
|
|
41 | (2) |
|
Instance means ``structure'' |
|
|
43 | (2) |
|
Instance means ``memory'' |
|
|
45 | (1) |
|
Relationship between FB instances and data blocks |
|
|
46 | (1) |
|
Re-usable and object-oriented FBs |
|
|
47 | (1) |
|
Types of variables in FBs |
|
|
48 | (1) |
|
|
48 | (4) |
|
Types of variables in functions and the function value |
|
|
49 | (1) |
|
Execution control with EN and ENO |
|
|
50 | (2) |
|
|
52 | (1) |
|
Calling Functions and Function Blocks |
|
|
53 | (11) |
|
|
53 | (1) |
|
Recursive calls are forbidden |
|
|
54 | (2) |
|
Calling with formal parameters |
|
|
56 | (3) |
|
Calls with input parameters omitted or in a different order |
|
|
59 | (1) |
|
FB instances as actual FB parameters |
|
|
60 | (2) |
|
Example of an indirect FB call |
|
|
62 | (1) |
|
FB instance names as actual parameters of functions |
|
|
63 | (1) |
|
Function values as actual parameters |
|
|
63 | (1) |
|
|
64 | (1) |
|
Variables, Data Types and Common Elements |
|
|
65 | (30) |
|
|
65 | (3) |
|
|
67 | (1) |
|
|
68 | (2) |
|
|
68 | (2) |
|
|
70 | (1) |
|
Meanings of Data Types and Variables |
|
|
71 | (4) |
|
From direct PLC addresses via symbols to variables |
|
|
72 | (1) |
|
The data type determines the properties of variables |
|
|
73 | (1) |
|
Type-specific use of variables |
|
|
74 | (1) |
|
Automatic mapping of variables onto the PLC |
|
|
75 | (1) |
|
|
75 | (10) |
|
|
76 | (1) |
|
Derived data types (type definition) |
|
|
77 | (1) |
|
Additional properties for elementary data types |
|
|
78 | (2) |
|
|
80 | (1) |
|
|
81 | (2) |
|
Initial values in type definitions |
|
|
83 | (1) |
|
|
84 | (1) |
|
|
85 | (10) |
|
Inputs, outputs and flags as special variables |
|
|
86 | (2) |
|
Multi-element variables: arrays and structures |
|
|
88 | (2) |
|
Assignment of initial values at the start of a program |
|
|
90 | (1) |
|
Attributes of variable types |
|
|
91 | (2) |
|
Graphical representation of variable declarations |
|
|
93 | (2) |
|
The New Programming Languages of IEC 61131-3 |
|
|
95 | (106) |
|
|
96 | (15) |
|
|
96 | (1) |
|
The universal accumulator (Current Result) |
|
|
97 | (3) |
|
|
100 | (1) |
|
|
100 | (1) |
|
Nesting levels by parenthesis |
|
|
100 | (1) |
|
Conditional execution of operators |
|
|
101 | (3) |
|
Using functions and function blocks |
|
|
104 | (1) |
|
|
104 | (2) |
|
|
106 | (1) |
|
IL example: Mountain railway |
|
|
107 | (4) |
|
|
111 | (17) |
|
|
111 | (2) |
|
Expression: Partial statement in ST |
|
|
113 | (1) |
|
|
113 | (1) |
|
|
113 | (2) |
|
|
115 | (1) |
|
|
116 | (2) |
|
Statement: Call of function blocks |
|
|
118 | (1) |
|
|
118 | (1) |
|
Statement: Selection and Multi-selection |
|
|
119 | (1) |
|
|
119 | (1) |
|
|
120 | (2) |
|
|
122 | (1) |
|
WHILE and REPEAT statements |
|
|
122 | (1) |
|
|
123 | (2) |
|
|
125 | (1) |
|
Example: Stereo cassette recorder |
|
|
125 | (3) |
|
Function Block Diagram FBD |
|
|
128 | (13) |
|
Networks, graphical elements and connections of LD and FBD |
|
|
128 | (1) |
|
|
128 | (1) |
|
|
129 | (1) |
|
|
129 | (2) |
|
Network architecture in FBD |
|
|
131 | (2) |
|
|
133 | (1) |
|
|
134 | (1) |
|
Execution control (jumps) |
|
|
134 | (1) |
|
Call of functions and function blocks |
|
|
135 | (1) |
|
Programming methods in FBD |
|
|
136 | (1) |
|
|
136 | (1) |
|
|
137 | (1) |
|
Example: Stereo cassette recorder |
|
|
137 | (3) |
|
Comments on the networks of Example 4.24 and Example 4.31 |
|
|
140 | (1) |
|
|
141 | (18) |
|
Networks, graphical elements and connections (LD) |
|
|
141 | (1) |
|
Network architecture in LD |
|
|
141 | (1) |
|
|
142 | (1) |
|
|
142 | (1) |
|
|
143 | (4) |
|
|
147 | (1) |
|
Call of functions and function blocks |
|
|
148 | (1) |
|
Programming methods in LD |
|
|
149 | (1) |
|
|
149 | (2) |
|
|
151 | (2) |
|
Example in Ladder Diagram: Mountain railway |
|
|
153 | (3) |
|
Comments on the mountain railway networks |
|
|
156 | (3) |
|
The American way of Ladder programming |
|
|
159 | (5) |
|
|
159 | (2) |
|
Module addresses and memory areas |
|
|
161 | (2) |
|
|
163 | (1) |
|
Sequential Function Chart SFC |
|
|
164 | (37) |
|
Step/Transition combination |
|
|
165 | (2) |
|
|
167 | (5) |
|
Detailed description of steps and transitions |
|
|
172 | (1) |
|
|
172 | (2) |
|
|
174 | (5) |
|
Step execution using action blocks and actions |
|
|
179 | (2) |
|
Detailed description of actions and action blocks |
|
|
181 | (1) |
|
|
181 | (1) |
|
|
182 | (3) |
|
Relationship between step, transition, action and action block |
|
|
185 | (4) |
|
Action qualifiers and execution control |
|
|
189 | (1) |
|
|
189 | (6) |
|
|
195 | (1) |
|
|
196 | (4) |
|
Comments on the network for the dinosaur park |
|
|
200 | (1) |
|
Standardised PLC Functionality |
|
|
201 | (26) |
|
|
202 | (15) |
|
Overloaded and extensible Functions |
|
|
206 | (1) |
|
|
206 | (2) |
|
|
208 | (1) |
|
|
209 | (1) |
|
Type conversion functions |
|
|
210 | (1) |
|
|
211 | (1) |
|
|
211 | (1) |
|
|
212 | (1) |
|
Bitwise Boolean functions |
|
|
212 | (1) |
|
|
213 | (1) |
|
|
214 | (1) |
|
Character string functions |
|
|
215 | (1) |
|
Functions for time data types |
|
|
215 | (1) |
|
Functions for enumerated data types |
|
|
216 | (1) |
|
|
217 | (10) |
|
|
218 | (2) |
|
Bistable element (flipflop) |
|
|
220 | (1) |
|
|
221 | (2) |
|
|
223 | (1) |
|
|
224 | (3) |
|
State-of-the-Art PLC Configuration |
|
|
227 | (16) |
|
Structuring Projects with Configuration Elements |
|
|
227 | (1) |
|
Elements of a Real-World PLC Configuration |
|
|
228 | (2) |
|
|
230 | (7) |
|
|
230 | (1) |
|
|
231 | (1) |
|
|
232 | (1) |
|
The TASK with run-time program |
|
|
233 | (3) |
|
|
236 | (1) |
|
|
237 | (3) |
|
Communication between Configurations and POUs |
|
|
240 | (3) |
|
Innovative PLC Programming Systems |
|
|
243 | (40) |
|
Requirements of Innovative Programming Tools |
|
|
243 | (1) |
|
|
244 | (1) |
|
|
244 | (1) |
|
Full-graphics display and printout |
|
|
244 | (1) |
|
|
244 | (1) |
|
|
245 | (1) |
|
Decompilation (Reverse Documentation) |
|
|
245 | (2) |
|
|
246 | (1) |
|
Decompilation with symbols and comments |
|
|
246 | (1) |
|
Decompilation including graphics |
|
|
246 | (1) |
|
Sources stored in the PLC |
|
|
247 | (1) |
|
|
247 | (8) |
|
|
248 | (1) |
|
The motivation for cross-compliation |
|
|
248 | (1) |
|
Different approaches in graphical and textual languages |
|
|
249 | (1) |
|
Differences in languages affect cross-compilation |
|
|
250 | (1) |
|
|
251 | (1) |
|
|
251 | (1) |
|
|
251 | (1) |
|
Full cross-compilation only with additional information |
|
|
252 | (1) |
|
Quality criteria for cross-compilation |
|
|
253 | (1) |
|
|
254 | (1) |
|
|
255 | (2) |
|
|
255 | (1) |
|
Allocation list (wiring list) |
|
|
256 | (1) |
|
|
257 | (1) |
|
|
257 | (4) |
|
Test & Commissioning Functions |
|
|
261 | (8) |
|
|
261 | (1) |
|
Online modification of a program |
|
|
262 | (1) |
|
Remote control: Starting and stopping the PLC |
|
|
263 | (1) |
|
Variable and program status |
|
|
263 | (4) |
|
|
267 | (1) |
|
|
268 | (1) |
|
Testing Sequential Function Chart programs |
|
|
269 | (1) |
|
|
269 | (4) |
|
|
273 | (3) |
|
Data exchange and co-ordination of blocks in distributed systems |
|
|
273 | (2) |
|
Macro techniques in FB interconnection |
|
|
275 | (1) |
|
Diagnostics, Error Detection and Error Handling |
|
|
276 | (3) |
|
Error concept of IEC 61131-3 |
|
|
277 | (1) |
|
Extended error handling model (beyond IEC) |
|
|
277 | (2) |
|
|
279 | (1) |
|
Readiness for New Functionality |
|
|
279 | (4) |
|
Exchange of programs and data |
|
|
280 | (1) |
|
Extension with additional software packages |
|
|
281 | (2) |
|
Main Advantages of IEC 61131-3 |
|
|
283 | (6) |
|
Convenience and Security with Variables and Data Types |
|
|
283 | (1) |
|
Blocks with Extended Capabilities |
|
|
284 | (1) |
|
PLC Configuration with Run-Time Behaviour |
|
|
285 | (1) |
|
Uniform Programming Languages |
|
|
286 | (1) |
|
|
286 | (1) |
|
Trend towards Open PLC Programming Systems |
|
|
286 | (2) |
|
|
288 | (1) |
|
Programming by Configuring with IEC 61499 |
|
|
289 | (10) |
|
Programming by FB Interconnection with IEC 61131-3 |
|
|
289 | (1) |
|
IEC 61499 - The Programming Standard for Distributed PLC Systems |
|
|
290 | (8) |
|
|
291 | (1) |
|
|
291 | (1) |
|
|
292 | (1) |
|
|
293 | (1) |
|
|
294 | (2) |
|
Composite function blocks |
|
|
296 | (2) |
|
|
298 | (1) |
|
Overview of the Parts of IEC 61499 |
|
|
298 | (1) |
|
|
299 | (2) |
|
IEC Programming Systems STEP 7 and OpenPCS |
|
|
299 | (1) |
|
Demo versions of STEP 7 (Siemens) and OpenPCS (infoteam) |
|
|
299 | (1) |
|
|
300 | (1) |
|
Buyer's Guide for IEC 61131-3 PLC Programming Systems |
|
|
300 | (1) |
A Standard Functions |
|
301 | (14) |
|
Type Conversion Functions |
|
|
302 | (1) |
|
|
303 | (1) |
|
|
304 | (1) |
|
|
305 | (1) |
|
Bitwise Boolean Functions |
|
|
306 | (1) |
|
Selection Functions for Max., Min. and Limit |
|
|
307 | (1) |
|
Selection Functions for Binary Selection and Multiplexers |
|
|
308 | (2) |
|
|
310 | (1) |
|
Character String Functions |
|
|
311 | (2) |
|
Functions for Time Data Types |
|
|
313 | (1) |
|
Functions for Enumerated Data Types |
|
|
314 | (1) |
B Standard Function Blocks |
|
315 | (8) |
|
Bistable Elements (Flip-Flops) |
|
|
316 | (1) |
|
|
317 | (1) |
|
|
318 | (2) |
|
|
320 | (3) |
C IL Examples |
|
323 | (8) |
|
|
323 | (2) |
|
Example of a FUNCTION_BLOCK |
|
|
325 | (2) |
|
|
327 | (4) |
D Standard Data Types |
|
331 | (2) |
E Causes of Error |
|
333 | (2) |
F Implementation-Dependent Parameters |
|
335 | (4) |
G IL Syntax Example |
|
339 | (10) |
|
|
340 | (7) |
|
Example from Syntax Diagrams |
|
|
347 | (2) |
H Reserved Keywords and Delimiters |
|
349 | (8) |
|
|
349 | (4) |
|
|
353 | (4) |
I Planned Amendments to the Standard |
|
357 | (2) |
J Glossary |
|
359 | (6) |
K Bibliography |
|
365 | (4) |
L Index |
|
369 | (6) |
Author Biographies |
|
375 | |
|
|
375 | |
|
|
375 | |