A complete representation of controller software can be divided into three sub-areas:
- Hardware configuration:
Objects allocated to this area can be used to model the controller’s hardware components so that configuration data can be generated for each PLC system. A detailed description is provided in the section Hardware configuration.
- Symbol lists:
Many control systems use symbol lists (also known as variable or allocation lists) for indirect addressing of input and output signals. For each signal, these lists contain the platform-specific absolute address, usually the data type, the symbolic address and a comment. The task of this sub-area is to take these symbol lists from the individual signals and assemble them in the data model. For this purpose, the methods of the text discipline are given precedence, because the symbol list usually has a very simple structure. A description is provided in the section on Symbol lists.
- Program code:
The structure of the control program for the different PLC systems exhibits many similarities, but also major differences. As a result, not all PLC systems can be modeled solely on the basis of general specifications in the PLC library. Deeper integration of Step7, CoDeSys, etc. is accomplished via platform-specific extensions (Step7 and CoDeSys libraries, etc.). Objects that have common features are integrated into the PLC discipline, while platform-specific objects, and especially the methods, are integrated into the respective platform disciplines. A detailed description of this sub-area can be found in the section on Program code.
Automatic allocation of PLC addresses (IO generation) is discussed in a separate section (see the section on IO generation).