Cover
IEC 61131-3: Programming Industrial Systems, Second Edition
ISBN 3642120148
Preface of the 2nd revised edition
Contents
1 Introduction
1.1 Subject of the Book
1.2 The IEC 61131 standard
1.2.1 Goals and benefits of the standard
1.2.2 History and components
1.3 The Organisation PLCopen
1.3.1 Aims of PLCopen
1.3.2 Committees and fields of activity
1.3.3 Results
2 Building Blocks of IEC 61131-3
2.1 Introduction to the New Standard
2.1.1 Structure of the building blocks
2.1.2 Introductory example written in IL
2.1.3 PLC assignment
2.2 The Program Organisation Unit (POU)
2.3 Elements of a POU
2.3.1 Example
2.3.2 Declaration part
2.3.3 Code part
2.4 The Function Block
2.4.1 Instances of function blocks
2.4.2 Re-usable and object-oriented FBs
2.4.3 Types of variables in FBs
2.5 The Function
2.5.1 Types of variables in functions and the function value
2.6 The Program
2.7 The Execution control with EN and ENO
2.8 Calling Functions and Function Blocks
2.8.1 Mutual calls of POUs
2.8.2 Recursive calls are invalid
2.8.3 Extendibility and overloading
2.8.4 Calling with formal parameters
2.8.5 Calls with input parameters omitted or in a different order
2.8.6 FB instances as actual FB parameters
2.9 Summary of POU Features
3 Variables, Data Types and Common Elements
3.1 Simple Language Elements
3.1.1 Reserved keywords
3.2 Literals and Identifiers
3.2.1 Literals
3.2.2 Identifiers
3.2.3 Comments
3.2.4 Pragmas
3.3 Meanings of Data Types and Variables
3.3.1 From direct PLC addresses via symbols to variables
3.3.2 The data type determines the properties of variables
3.3.3 Type-specific use of variables
3.3.4 Automatic mapping of variables onto the PLC
3.4 Data Types
3.4.1 Elementary data types
3.4.2 Derived data types (type definition)
3.4.3 Generic data types
3.5 Variables
3.5.1 Inputs, outputs and flags as special variables
3.5.2 Multi-element variables: arrays and structures
3.5.3 Assignment of initial values at the start of a program
3.5.4 Attributes of variable types
3.5.5 Graphical representation of variable declarations
4 The Programming Languages of IEC 61131-3
4.1 Instruction List IL
4.1.1 Instruction in IL
4.1.2 The universal accumulator (Current Result)
4.1.3 Operators
4.1.4 Using functions and function blocks
4.1.5 IL example: Mountain railway
4.2 Structured Text ST
4.2.1 ST statements
4.2.2 Expression: Partial statement in ST
4.2.3 Statement: Assignment
4.2.4 Statement: Call of function blocks
4.2.5 Statement: RETURN
4.2.6 Statement: Selection and Multi- selection
4.2.7 Statement: Iteration
4.2.8 Example: Stereo cassette recorder
4.3 Function Block Diagram FBD
4.3.1 Networks, graphical elements and connections of LD and FBD
4.3.2 Network architecture in FBD
4.3.3 Graphical objects in FBD
4.3.4 Programming methods in FBD
4.3.5 Example: Stereo cassette recorder
4.4 Ladder Diagram LD
4.4.1 Networks, graphical elements and connections (LD)
4.4.2 Network architecture in LD
4.4.3 Graphical objects in LD
4.4.4 Programming methods in LD
4.4.5 Example in Ladder Diagram: Mountain railway
4.5 The American way of Ladder programming
4.5.1 Network Layout
4.5.2 Module addresses and memory areas
4.6 Sequential Function Chart SFC
4.6.1 Step / Transition combination
4.6.2 Step - transition sequence
4.6.3 Detailed description of steps and transitions
4.6.4 Step execution using action blocks and actions
4.6.5 Detailed description of actions and action blocks
4.6.6 Relationship between step, transition, action and action block
4.6.7 Action qualifiers and execution control
4.6.8 Example: “Dino Park”
5 Standardised PLC Functionality
5.1 Standard Functions
5.1.1 Overloaded and extensible functions
5.1.2 Examples
5.2 Standard Function Blocks
5.2.1 Examples
6 State-of-the-Art PLC Configuration
6.1 Structuring Projects with Configuration Elements
6.2 Elements of a Real-World PLC Configuration
6.3 Configuration Elements
6.3.1 Definitions
6.3.2 The CONFIGURATION
6.3.3 The RESOURCE
6.3.4 The TASK with run-time program
6.3.5 ACCESS declarations
6.4 Configuration Example
6.5 Communication between Configurations and POUs
7 Innovative PLC Programming Systems
7.1 Requirements of Innovative Programming Tools
7.2 Decompilation (Reverse Documentation)
7.2.1 No decompilation
7.2.2 Decompilation with symbols and comments
7.2.3 Decompilation including graphics
7.2.4 Sources stored in the PLC
7.3 Language Compatibility
7.3.1 Cross-compilation
7.3.2 Language independence
7.4 Documentation
7.4.1 Cross-reference list
7.4.2 Allocation list (wiring list)
7.4.3 Comments
7.5 Project Manager
7.6 Test & Commissioning Functions
7.6.1 Program transfer
7.6.2 Online modification of a program
7.6.3 Remote control: Starting and stopping the PLC
7.6.4 Variable and program status
7.6.5 Forcing
7.6.6 Program test
7.6.7 Testing Sequential Function Chart programs
7.7 Data Blocks and Recipes
7.8 FB Interconnection
7.8.1 Data exchange and co-ordination of blocks in distributed systems
7.8.2 Macro techniques in FB interconnection
7.9 Diagnostics, Error Detection and Error Handling
7.10 Hardware Dependence
9 Programming by Configuring with IEC 61499
8 Main Advantages of IEC 61131-3
8.1 Convenience and Security with Variables and Data Types
8.2 Blocks with Extended Capabilities
8.3 PLC Configuration with Run-Time Behaviour
8.4 Uniform Programming Languages
8.5 Structured PLC Programs
8.6 Trend towards Open PLC Programming Systems
8.7 Conclusion
9.1 Programming by FB Interconnection with IEC 61131-3
9.2 IEC 61499 – The Programming Standard for DistributedPLC Systems
9.2.1 System model
9.2.2 Device model
9.2.3 Resource model
9.2.4 Application model
9.2.5 Function block model
9.2.6 Creating an application
9.3 Overview of the Parts of IEC 61499
10 Contents of CD-ROM and DVD
10.1 IEC Programming Systems STEP 7 and OpenPCS
10.2 Buyer's Guide for IEC 61131-3 PLC Programming Systems
A Standard Functions
A.1 Type Conversion Functions
A.2 Numerical Functions
A.3 Arithmetic Functions
A.4 Bit-Shift Functions
A.5 Bitwise Boolean Functions
A.6 Selection Functions for Max., Min. and Limit
A.7 Selection Functions for Binary Selection and Multiplexers
A.8 Comparison Functions
A.9 Character String Functions
A.10 Functions for Time Data Types
A.11 Functions for Enumerated Data Types
B Standard Function Blocks
B.1 Bistable Elements (Flip-Flops)
B.2 Edge Detection
B.3 Counters
B.4 Timers
C IL Examples
C.1 Example of a FUNCTION
C.2 Example of a FUNCTION_BLOCK
C.3 Example of a PROGRAM
D Standard Data Types
E Causes of Error
F Implementation-Dependent Parameters
G IL Syntax Example
G.1 Syntax Diagrams for IL
G.2 IL Example from Syntax Diagrams
H Reserved Keywords and Delimiters
H.1 Reserved Keywords
H.2 Delimiters
I Glossary
J Bibliography
K Index
Author Biographies