Bluemation

Programmable Controller (PLC)

A technical deep-dive into the programmable controller: scan cycle, IEC 61131-3 programming languages, hardware architecture, types and real industrial applications.

Back to Blog

What is a programmable controller?

A programmable controller — commonly known as a PLC (Programmable Logic Controller) — is an industrial electronic device designed to automatically control processes and machinery through a programme stored in its memory. The term "programmable controller" is the formal designation used by international standard IEC 61131, while PLC is the industry shorthand that has become universal.

The PLC was born in the automotive industry in the late 1960s, when General Motors sought a flexible replacement for the complex electromechanical relay panels controlling its assembly lines. The first commercial PLC, the Modicon 084, was introduced in 1969. Since then the technology has evolved dramatically — faster processors, Ethernet communications, integrated safety, software-based programming environments — but the core concept remains unchanged: a robust, real-time, user-programmable industrial controller.

Hardware architecture of a programmable controller

A programmable controller consists of the following functional blocks:

  • CPU (Central Processing Unit): executes the control programme, manages memory and coordinates peripheral modules. Contains the processor, programme memory (RAM + non-volatile flash) and the real-time operating system.
  • Digital input modules: read discrete signals from sensors, pushbuttons, limit switches, photoelectric detectors... (24 VDC, 120/230 VAC).
  • Digital output modules: activate actuators such as relays, contactors, solenoid valves or indicator lights.
  • Analogue input modules: convert continuous signals from temperature (PT100/PT1000), pressure (4–20 mA), flow or position sensors into numerical values the programme can process.
  • Analogue output modules: generate continuous signals (4–20 mA, 0–10 V) to control variable frequency drives, proportional valves or actuators.
  • Communications modules: interfaces for industrial protocols (Profinet, EtherNet/IP, EtherCAT, Modbus, MQTT, OPC-UA).
  • Power supply: converts mains voltage to the PLC working voltage (typically 24 VDC).

The scan cycle: how the PLC operates in real time

The programmable controller operates in a continuous scan cycle that repeats thousands of times per second:

  1. Input scan: the PLC reads the current state of all physical inputs and updates the Process Image Input (PII). This image remains stable throughout programme execution, guaranteeing data consistency.
  2. Programme scan: the CPU executes the user programme sequentially from the first to the last instruction. It reads from the PII, computes the control logic and writes results to the Process Image Output (PIO).
  3. Output scan: values calculated in the PIO are transferred to the physical output modules, acting on process actuators.
  4. Communications and diagnostics: the PLC handles pending communications (SCADA requests, fieldbus master queries) and updates diagnostic registers.

A typical scan cycle takes 1 to 50 ms, depending on programme complexity and the platform. Motion control applications require cycle times below 1 ms, demanding specific CPUs or deterministic fieldbuses such as EtherCAT.

IEC 61131-3 programming languages

Standard IEC 61131-3 defines five programming languages for programmable controllers, enabling any IEC-trained control engineer to read and maintain a programme regardless of the PLC manufacturer:

  • Ladder Diagram (LD): graphical language that emulates traditional relay diagrams. The most widely used in industry, particularly on Siemens and Rockwell controllers. Ideal for combinational and discrete sequential logic.
  • Function Block Diagram (FBD): graphical language based on the interconnection of function blocks (PID, counters, timers, communication blocks). Common in continuous process applications.
  • Structured Text (ST): high-level language similar to Pascal or C. Enables complex algorithms, mathematical calculations, array and data structure management. Widely used in Beckhoff TwinCAT and Codesys.
  • Sequential Function Chart (SFC / Grafcet): graphical language for describing step-and-transition sequences. The standard for complex sequential process control such as packaging lines or treatment plants.
  • Instruction List (IL): low-level language similar to assembly. Now in disuse in modern industry, replaced by Structured Text.

Types of programmable controller

  • Compact PLC: CPU, I/O and communications integrated in a single module. Ideal for small to medium machines. Examples: Siemens S7-1200, Schneider M221, Wago PFC100.
  • Modular PLC: expandable rack architecture with independent modules. Supports configurations of hundreds of I/O and special-function modules. Examples: Siemens S7-1500, Rockwell ControlLogix, Beckhoff CX.
  • Safety PLC: designed for safety functions per IEC 62061/IEC 61508. Executes the safety programme redundantly with self-diagnosis. Examples: Siemens S7-1500F, Pilz PSS4000, Rockwell GuardLogix.
  • Soft PLC / PC-based control: PLC software running on an industrial PC under a real-time OS. Allows integration of motion control, machine vision and high-level language programming on a single platform. Examples: Beckhoff TwinCAT 3, Codesys Runtime.
  • Micro/Nano PLC: for very simple applications with few I/O and low cost. Examples: Siemens LOGO!, Schneider Zelio.

Programmable controllers at Bluemation

At Bluemation we programme controllers from all major manufacturers: Siemens (S7-1200, S7-1500, S7-300), Beckhoff (TwinCAT 3, EtherCAT), Rockwell (ControlLogix, CompactLogix), Schneider (M340, M580) and Wago (PFC100/PFC200, Codesys). Read more about our PLC programming services or explore our guide on what a PLC is for foundational concepts.

Frequently asked questions

What is the difference between a PLC and a programmable controller?

None in practice: they are the same device. "Programmable controller" is the formal designation in the IEC 61131 standard, while PLC (Programmable Logic Controller) is the industry shorthand that became universal from the original American terminology. Both terms refer to the same class of industrial device.

What is the difference between a PLC and a microcontroller?

A microcontroller (Arduino, STM32...) is a general-purpose programmable chip designed for electronic products. A PLC is designed specifically for industrial environments: it withstands extreme temperatures, vibrations and electromagnetic interference; has standardised industrial I/O (24 VDC, 4–20 mA); operates with a guaranteed real-time operating system; and is designed to run 24/7 for decades with minimal maintenance.

How much does a programmable controller cost?

The price varies enormously by family and manufacturer. A basic micro-PLC (Siemens S7-1200 CPU 1211C) starts at around €200–300. A high-end modular PLC (Siemens S7-1500 CPU 1516) can exceed €2,000 for the CPU alone, without I/O modules, communications modules or software licences. To that must be added the programming engineering cost, which is typically the most significant component of the overall project.

Can a PLC be reprogrammed without stopping production?

It depends on the manufacturer and the type of change. Modern PLCs (Siemens S7-1500, Beckhoff TwinCAT) allow certain changes to be downloaded "online" without stopping the execution cycle. However, changes that affect programme structure or hardware configuration generally require a controlled shutdown. It is always recommended to test changes in a simulation environment before applying them in production.

Let's Connect

Ready to transform your industrial processes?

Let's discuss how our automation solutions can drive efficiency and innovation in your business.

Chat with us