PLC - Hardware and Software architecture

Hardware Architecture of PLC:

PLC systems are available in many hardware configurations, including from a single vendor, to meet a variety of customer requirements and affordability. Programmable logic controllers are purpose-built computers consisting of three functional areas: processing, memory and input/output.

The PLC performs the programmed logic instructions on inputs, input conditions are sensed from the stored memory. Output conditions are then generated to drive associated equipment.

Central Processing Unit (CPU):

The CPU controls and supervises all operations within the PLC, carrying out programmed instructions stored in the memory. The internal bus system carries the information to and from the CPU, memory and I/O units, under control of the CPU.

All PLC consists of a CPU which are mostly microprocessors, it will have an address bus, control bus and data bus for data and address transfers.


1. Executive memory: Rom is the executive memory for the PLC. The program stored in this memory by the manufacturer is not erasable and modifiable. It is the one that actually does the scanning in a PLC.

It instructs the microprocessor to read each instruction of the user, helps the microprocessor to interpret the symbols and instructions programmed by the user, keeps track of the entire I / O state and is responsible for maintaining/monitoring the current status of the system state and all its operation. components.

2. System memory:

For system administration, executive memory needs a place to store intermediate results and information. For this, a section of RAM is used for use of the operating system only and is not available to the user for programming.

Some PLCs use this area for storing the information which passes between programmer and operating system.

3. I/O Status Memory - I/O Image Table:

Another portion of RAM is allocated for the storage of current I/O status. Every single input/output module has been assigned to it a particular location within the input/output image table. The location within the input and output image tables are identified by addresses.

4. Data Memory:

For timers, counters, mathematics and process parameters operations an area of memory must be set aside for data storage. Such information stored will be used by any data manipulation functions in the user program.

5. User Program Memory:

The final area of memory in a PLC is allocated to the storage of the user program. It is the memory where user program is executed and instructs the microprocessor to examine or ‘scan’ to find the user instructions. In the majority PLCs, the internal data storage and user program areas are located in RAM.

Input/Output Module Units:

The input/output unit of the PLC is responsible for the task of connecting the high-power industrial devices to the low-power electronic circuits that store and execute the control program. The I/O module units form the interface between the microelectronics of the programmable controller and the real world outside.

Most PLCs operate internally at between 5 and 15V d.c. (common TTL and CMOS voltages), whilst signal from input devices can be much greater, typically 24V d.c. to 240V a.c. at several amperes.

The I/O module provide all necessary signal conditioning and isolation functions.

Software Architecture of a PLC:

The IEC 61131-3 standard defines a memory and program model that follows modern software engineering concepts. A software-based PLC requires a general purpose computer, like a PC, with an interface card. The software utilizes the operating system resources of the computer to realize control, logic and i/o functions.

The core application of the PLC is where the Control Logic, Grafcets, State Graphics and Process Regulation Loops will be implemented. The main PLC application will implement the “Control Functions”. Its operation will be affected by all interfaces.

The PLC Core application will use the configuration variables transmitted by the CODAC interface as main inputs from the operation:

  • ON/OFF requests
  • OPEN/CLOSE requests,
  • Current Setpoint,
  • Temperature Setpoint

The main function of the CODAC interface is to manage the PLC side of the communication with the CODAC developed in an EPICS environment. The CODAC side of the communication is managed in the PSH by executing a specific controller.

This communication is broken down into 4 categories:

  • Configuration Variables
  • State Variables
  • Simple Commands
  • Collaborative Data