Programming Industrial Control Systems Using IEC 1131-3, Revised Edition

Among the more important aspects of any programming system is the provision for software to be decomposed into small manageable parts. In this chapter we will review how complex programs can be broken down into different software elements which have clear and formal interfaces with each other. We will also see how the standard provides a number of different languages for developing software building blocks.
The reasons why the IEC software standard encourages programs to be constructed using either a top-down or bottom-up design approach will also be discussed.
You are advised to read this chapter first in order to gain an understanding of the main concepts in the IEC standard and how software is structured before proceeding to the chapters on specific IEC languages.
In the course of developing the IEC 1131-3 standard, the IEC working group has had to consider the wider context of a PLC program. Every program has to exist in and interact with an environment. What is the nature of the boundary between a program and the rest of a system? Clearly, it is not possible to define the structure of a PLC program without a good understanding of its interfaces and interactions with the control system and external plant.
When a program is loaded into a PLC and is running, it requires the following types of interface to function:
I/O interfaces: With every PLC system there is a requirement to read values coming from physical input channels...