Exploring the Basic Architecture of a PLC System

PLC systems, or Programmable Logic Controllers, are in a lot of ways similar to a general-purpose computer, but they have highly specialized I/O modules. They are designed for highly specific uses, and they are built with reliability in mind for the environments that they are going to be used in. A PLC could be intended for use in extremely dirty or dusty environments, or it could be intended for use where there is a lot of electrical interference, extreme vibration, humidity, or high or low temperatures. If you have done RSLogix training, or training on another type of PLC, you know that the idea behind PLCs is that they should be as easy to maintain as possible.


The architecture of a PLC includes a few main components – the I/O modules mentioned earlier are served by the processor module, which is powered by a power supply. The processor module itself is made up of a CPU, and a memory module, and the CPU itself will interface to a programming device and will have multiple interfaces to the IO devices – which could be sensors, network interfaces or screens. The power supply is usually contained in a separate module for ease of maintenance, and the I/O modules may be analog or digital.

Depending on the complexity and importance of the PLC, the I/O modules could be contained in a separate chassis or a part of an integrated system. There are micro PLCs that contain the processor, IO and power supply all in one system. These systems are not expandable and are used only when space is at a premium, and in systems where it is easy to replace the whole PLC if necessary. In areas where ease of maintenance is a priority, PLCs are often modular, and it may be possible to add to or change the I/O part of the system if required.

There is a standard memory and program model that is used in most PLCs. This is described in the IEC 61131-3 standard. The model describes a design which is top-down, with program encapsulation, structured programming and a clear, hierarchical organization. The model is designed for very complex systems, and some older engineers feel that it is overkill for simpler PLCs, but it does not have to be fully implemented.

The system has a configuration – a body of software that is used on the PLC system. There is a resource, which is used for the support functions for the execution of software programs. In this context, a program means a collection of connected function blocks written in an IEC language. A task controls the function blocks that are executed. A program must be assigned to a task for it to be executed, and the task will either execute on a trigger, to a schedule, or continuously.

Variables are declared within software elements, and there are local variables that are available only to a specific element, global variables that can be accessed by all function blocks, or directly represented variables which refer to specific memory locations.

This model is an optional standard, and many older PLCs do not follow it, nor do smaller and simpler PLCs that are being designed today.

Continue Reading
Close Menu