Programmable Logic Controller (PLC) vs SCADA: Architecture, Roles, and How They Work Together

Programmable Logic Controller (PLC) vs SCADA: Architecture, Roles, and How They Work Together

A PLC (Programmable Logic Controller) is a deterministic real-time controller that reads sensors, executes a program, and controls actuators in a predictable scan cycle (~10–50ms). A SCADA system is a supervisory software layer that monitors multiple PLCs/RTUs, logs data, displays dashboards, and allows remote commands—but does not directly control equipment. PLCs handle millisecond-level precision; SCADA handles seconds-to-minutes oversight. They work together: PLCs execute logic; SCADA visualizes, alarms, and coordinates.


TL;DR

  • PLC in one sentence: Deterministic hardware controller that executes logic in a strict scan cycle; runs on dedicated hardware.
  • SCADA in one sentence: Centralized software that monitors and visualizes multiple PLCs, logs history, and issues high-level commands.
  • Together: PLCs do the work; SCADA watches, records, and tells operators what to do.

Table of Contents

  1. What Is a PLC?
  2. What Is SCADA?
  3. PLC vs SCADA: The Key Differences
  4. How PLCs Work: Scan Cycle and IEC 61131-3
  5. How SCADA Works: Supervisory Architecture
  6. When You Need Both (and When You Don’t)
  7. DCS vs SCADA (Short Detour)
  8. FAQ
  9. Modern Trends: IoT, Edge, and Cloud-Based SCADA
  10. References
  11. Related Posts

What Is a PLC?

A PLC is a specialized computer designed to control industrial machines and processes. It reads inputs (sensors, switches, alarms), executes a program logic written in a standardized language, and writes outputs (motor relays, valve commands, indicator lights) in a strict, repeating cycle—typically 10 to 50 milliseconds per loop. The cycle time is deterministic: it runs at the same interval every time, making it reliable for safety-critical applications like pressure relief, emergency stops, and synchronized motion control. PLCs are housed in rugged, DIN-rail mounted hardware; they do not have a display, mouse, or keyboard. They are designed to run continuously, 24/7, without operator intervention. Example: A PLC on a bottling line reads a fill-level sensor, compares it to a setpoint, and toggles a solenoid valve—all in 20 milliseconds, hundreds of thousands of times per day.


What Is SCADA?

A SCADA (Supervisory Control and Data Acquisition) system is enterprise software that aggregates data from multiple field devices—PLCs, RTUs, sensors, inverters—and presents it to an operator or analytics engine. SCADA does not directly touch equipment; instead, it sends commands to the PLCs (e.g., “set pressure setpoint to 100 psi”), which then execute the command. SCADA also logs data to a time-series historian, triggers alarms, and displays trends. Response time is measured in seconds to minutes, not milliseconds. SCADA is software-centric: it runs on a Windows/Linux server or cloud instance, has a graphical dashboard (HMI), and is accessed by human operators or automated workflows. Example: A SCADA system monitors 50 bottling lines (each with its own PLC), alerts an operator when any line’s pressure drifts above nominal, and logs that pressure history for daily production reports.


PLC vs SCADA: The Key Differences

Dimension PLC SCADA
Scope Controls a single machine or process Monitors and supervises multiple machines/sites
Real-time Deterministic (~10–50ms scan cycle) Event-driven or polled (seconds to minutes)
Programming IEC 61131-3 (LD, ST, FBD, SFC, IL) Graphical configuration, scripting, SQL queries
Hardware Dedicated embedded controller (DIN-rail) Generic server (Windows, Linux) or cloud
HMI Rarely has built-in display Integrated dashboard and charting
Scale Single machine 10s to 1000s of field devices

PLC vs SCADA Architecture Diagram


How PLCs Work: Scan Cycle and IEC 61131-3

Every PLC executes the same four-step sequence, over and over:

  1. Input Read: The CPU reads the state of all input modules (pressure transducers, limit switches, buttons) into memory. This snapshot is atomic—all inputs are captured at the same instant, preventing race conditions.
  2. Program Execution: The PLC program runs, using the input values to make decisions and compute outputs. Logic branches, timers, counters, and user-defined functions all execute in sequence.
  3. Output Update: The CPU writes the results to output modules (relay coils, PWM signals, solenoid triggers). Again, the update is atomic—all outputs change simultaneously relative to the next cycle.
  4. Housekeeping: Diagnostics, communication loops (Modbus, Ethernet/IP), and internal overhead (memory management, watchdog timers).

This cycle completes in 10 to 50 milliseconds (depending on the PLC model and program size), then repeats. The determinism is critical: a controller that takes 20ms today but 40ms tomorrow is unreliable for synchronized motion or safety interlocks. Industrial standards like IEC 61508 (functional safety) mandate that cycle time and jitter be documented and validated.

IEC 61131-3 Programming Languages

IEC 61131-3 is the international standard that defines five approved programming languages, allowing engineers to choose the best fit for their application:

  • LD (Ladder Diagram): Visual logic using relay and gate symbols; intuitive for electricians with switchboard experience. Still the most common language for simple on/off logic.
  • ST (Structured Text): High-level, Pascal-like syntax with variables, loops (FOR, WHILE), conditionals (IF/THEN/ELSE), and functions. Best for complex math, PID calculations, and string manipulation.
  • FBD (Function Block Diagram): Visual dataflow; connects pre-built blocks (PID controllers, timers, counters, comparators). Excellent for modular, reusable designs.
  • SFC (Sequential Function Chart): State machine notation; ideal for multi-step batch processes (heating → holding → cooling → discharge). Each step can invoke LD, ST, or FBD.
  • IL (Instruction List): Assembly-like mnemonics (LD, AND, OR, ST); lowest-level and rarely used today except for performance-critical loops.

Most modern PLCs support mixing languages in a single program: the main logic might be in FBD, calling an ST function for calculations, with SFC for sequencing. The key advantage over general-purpose programming is pre-compilation: the chosen language is compiled to bytecode or native machine code at engineering time, then downloaded to the PLC before runtime. This is different from Python or JavaScript, which interpret at runtime; PLC code is static and optimized for predictability, allowing deterministic timing guarantees.

Scan Cycle Implications

Because the scan cycle is deterministic and repeating, a PLC can provide timing guarantees impossible in a general-purpose OS:

  • Worst-case response time: If a sensor input changes mid-cycle, the PLC will see it in the next cycle. Maximum latency = one full scan cycle (e.g., 50ms for a 50ms PLC). This is predictable, not random.
  • Output synchronization: All outputs update together at the end of each cycle, so multiple actuators move in lock-step.
  • No priority inversion: A low-priority routine cannot accidentally delay a critical timer because the OS scheduler is absent; execution order is deterministic.

This is why PLCs dominate applications like emergency stop circuits, synchronized motor drives, and closed-loop motion control—a general-purpose computer cannot guarantee the same timing.

PLC Scan Cycle and IEC 61131-3 Languages


How SCADA Works: Supervisory Architecture

A SCADA system is a client-server architecture designed to aggregate, visualize, and automate responses to data from many devices:

  • MTU (Master Terminal Unit): The central SCADA server that polls field devices, collects data, issues commands, and archives results. Typically runs Windows Server or Linux with industrial SCADA software (e.g., Ignition, FactoryTalk, Wonderware, Citect, Kepware). The MTU is the “brain” of supervision; it implements higher-level logic like “if any tank level exceeds 95%, send an SMS alert to the facility manager.”
  • RTUs (Remote Terminal Units) and PLCs: Field devices that report data up to the MTU and accept commands from it. PLCs are directly connected to machinery (pumps, compressors, valves) and execute real-time control; RTUs are simpler gateways or sensors with no onboard control logic. A single SCADA might supervise 50–500 field devices across one or more geographies.
  • Historian: A time-series database (often integrated into the SCADA platform, or external like InfluxDB, TimescaleDB) that stores every tag (temperature, pressure, run state, alarm) at regular intervals (typically 1–60 seconds) for trend analysis, auditing, and compliance. Historians can store millions of data points per day.
  • HMI (Human-Machine Interface): A web-based or desktop dashboard where operators monitor live data, acknowledge alarms, set parameters, and issue commands (e.g., start/stop a pump, increase a setpoint). Modern HMIs are responsive, mobile-friendly, and integrate with messaging (SMS, email, Slack) for critical alerts.
  • Alarm/Event Log: A structured log (often a relational database) that records every state change, alarm trigger, operator action, and system event with a timestamp. Used for compliance audits, root-cause analysis, and trend spotting.

Communication and Polling

Communication protocols between MTU and RTUs/PLCs include:

  • Modbus RTU/TCP: Simple, lightweight, oldest de-facto industrial standard. No built-in security; latency ~100–500ms per device.
  • Ethernet/IP: Proprietary (Allen-Bradley/Rockwell), deterministic. Good for real-time coordination.
  • OPC-UA (OPC Unified Architecture): Modern, secure, data-model rich. Becoming the industry standard. Supports hierarchical data (assets, devices, parameters) and complex queries.
  • MQTT: Lightweight pub-sub. Growing in IoT and edge SCADA. Lower latency for simple telemetry.
  • Proprietary (DNP3, Profinet, Modbus+): Legacy systems; domain-specific (utilities, oil & gas).

The MTU typically polls each device on a schedule: every 1–5 seconds is common, though some SCADA systems are push-based (devices send data only on change) or hybrid (critical data pushed, non-critical polled). The polling interval is a trade-off: faster polling = fresher data but more network load; slower polling = less load but potential lag in alarm detection.

SCADA Workflow Example

  1. PLC A reads a pressure sensor (25 psi) and a flow rate (120 gal/min).
  2. PLC A executes its internal logic (e.g., “if pressure < 20 psi, open bypass valve”).
  3. MTU polls PLC A every 2 seconds, retrieving current pressure and flow.
  4. MTU stores the values in the Historian.
  5. MTU compares the retrieved values against thresholds and trends. If pressure drops below 15 psi (a critical alert), the MTU:
    – Updates the HMI dashboard with red highlighting.
    – Logs an alarm to the Event Log.
    – Sends an SMS to the on-call engineer.
    – (Optionally) issues a command to another device (e.g., switch to backup compressor).
  6. Operator logs into the HMI, sees the alert, and investigates.

The entire cycle from MTU poll to HMI display = 2–10 seconds. The PLC reacts to the same sensor in 50ms. This is the division of labor: PLC handles immediate safety and control; SCADA handles supervision and coordination.

SCADA Supervisory Architecture


When You Need Both (and When You Don’t)

Architecture decisions depend on complexity, geography, data retention, and safety requirements. Here’s a decision matrix:

Simple Machine (PLC Only)

  • Example: A standalone CNC mill, injection molding machine, or conveyor belt.
  • Scope: Single device, no coordination, no historical data needed.
  • Why PLC only: The machine is self-contained; an operator controls it via a few buttons or a basic HMI touchscreen wired directly to the PLC. The PLC’s internal logic handles all control and safety.
  • Cost: ~$2k–$10k for PLC hardware and programming.
  • Limitations: No data history, no remote monitoring, no trend analysis, manual incident reporting.

Small Facility (PLC + Local HMI)

  • Example: A single bottling line, water treatment plant, or HVAC system with 5–10 PLCs.
  • Scope: Multiple machines in one location; operators need visibility across all machines.
  • Why add HMI: A local SCADA running on a desktop PC or industrial tablet (e.g., Ignition, FactoryTalk View SE) gives operators visibility across all machines; alarm notifications and trend logs reduce downtime. A historian stores 1–6 months of data locally.
  • Cost: ~$5k–$30k for SCADA software, historian DB, and deployment.
  • Trade-off: Still no cross-site data or enterprise integration. If the local server fails, supervisory visibility is lost (though field PLCs continue running).

Multi-Site Enterprise (PLC + Centralized SCADA)

  • Example: 20 manufacturing plants, each with dozens of PLCs; a central SCADA server and historian in the IT department or cloud.
  • Scope: Hundreds to thousands of field devices across geographies.
  • Why add centralized SCADA:
  • Real-time KPIs: overall equipment effectiveness (OEE), production rates, energy consumption aggregated across sites.
  • Compliance auditing: centralized audit trail for regulatory reporting (FDA, ISO 9001, SOC 2).
  • Remote troubleshooting: on-call engineers access live data and logs from anywhere.
  • Machine-to-machine coordination: e.g., if line A is behind schedule, automatically increase speed on line B to balance load.
  • Cost: ~$50k–$500k+ for enterprise SCADA licensing, cloud infrastructure, and systems integration.
  • Overhead: More infrastructure; requires cybersecurity (VPN, network segmentation, firewall rules, role-based access control). Requires a dedicated OT (Operational Technology) team or outsourced managed services.

Hybrid and Edge Architectures (2026+)

Modern deployments increasingly blend on-premise and cloud:

  • SCADA at the edge: Instead of a central MTU polling all devices, a local edge gateway (Raspberry Pi running Ignition, AWS Greengrass, or custom MQTT broker) collects data from nearby PLCs, performs local alarming and logging, and syncs to a cloud historian and dashboard. If the WAN link goes down, the edge gateway keeps the facility running; when connectivity is restored, data syncs to the cloud. Combines resilience and scalability.
  • Serverless alarms: Cloud functions (AWS Lambda, Azure Functions, Google Cloud Functions) consume MQTT or OPC-UA streams from edge gateways and trigger notifications—no persistent SCADA server needed. Ideal for organizations with many small sites.
  • Unified Namespace: All devices publish tags to a central broker (Kafka, MQTT broker, AWS Kinesis); downstream analytics, SCADA, and reporting tools subscribe. Decouples device communication from application architecture. Scales smoothly as device count grows.

DCS vs SCADA (Short Detour)

DCS (Distributed Control System) is often mentioned alongside SCADA and can cause confusion.

  • SCADA: Centralized supervisory layer; slow polling; often retrofit onto existing PLCs.
  • DCS: Integrated hardware and software designed from the start as a unified system. Each node has local control logic and supervisory visibility; communication is always present and deterministic (often via fiber-optic Ethernet or proprietary fieldbus).
  • In practice: Older chemical plants and refineries favor DCS; newer facilities and retrofits favor PLC + SCADA because PLCs are cheaper and more modular.

Key difference: In SCADA, if the MTU network fails, field PLCs keep running. In DCS, a network failure can degrade supervisory visibility and possibly local logic if nodes are tightly coupled.


FAQ

Is a PLC a Computer?

Yes, a PLC is a specialized computer with a CPU, memory, I/O buses, and a real-time operating system. It differs from a general-purpose computer (laptop, server) in that it prioritizes determinism (consistent cycle time) over throughput and runs no user-facing operating system (no Windows desktop, no login).

Is SCADA the Same as HMI?

No. An HMI is the graphical interface (dashboard, buttons, gauges). A SCADA system includes the HMI, the MTU (data collection and command dispatch), the historian, and the communication infrastructure. Think of it this way: HMI is the window; SCADA is the whole house.

Can SCADA Replace a PLC?

Not directly. SCADA software runs on a general-purpose computer and cannot guarantee the millisecond-level determinism that direct equipment control requires. SCADA supervises PLCs; it does not control actuators in real time. If a SCADA process takes 5 seconds to decide to close a valve, and the valve must close in 50 milliseconds due to a safety condition, you need a PLC to catch it.

What Does a PLC Program Look Like?

Here’s a simple example in Ladder Diagram (LD):

[Sensor_A]--|( Button_B )|--( Start_Pump )
[Limit_SW ]--| |--( Stop_Pump )

Interpreted: If Sensor A is ON AND Button B is pressed, activate the Start_Pump output. If Limit_Switch is ON, deactivate the Stop_Pump output. In Structured Text (ST), the same logic might be:

IF Sensor_A AND Button_B THEN
    Start_Pump := TRUE;
END_IF;
IF Limit_SW THEN
    Stop_Pump := FALSE;
END_IF;

A slightly more realistic example in ST, using a timer to delay shutdown:

VAR
    PumpRunning : BOOL := FALSE;
    ShutdownDelay : TON;  (* Timer *)
END_VAR

ShutdownDelay(IN := NOT Limit_SW, PT := T#10S);

IF Sensor_A AND Button_B THEN
    PumpRunning := TRUE;
ELSIF ShutdownDelay.Q THEN
    PumpRunning := FALSE;
END_IF;

Start_Pump := PumpRunning;

This says: “Start the pump if Sensor A is ON AND Button B is pressed. Stop the pump 10 seconds after the limit switch opens (Limit_SW goes FALSE).” Real-world programs are far longer, often 1000–10000+ lines, with multiple timers, counters, state machines, error handling, and safety interlocks.

Is SCADA Secure?

Not by default. SCADA systems were designed in the 1980s–2000s when networks were air-gapped; modern SCADA often exposes itself to the internet (for remote monitoring), creating attack surface. Best practices include:
– Segmentation: Keep SCADA on a separate VLAN from IT.
– Authentication: Multi-factor login, role-based access.
– Encryption: TLS for all remote communication.
– Standards: Adopt NIST SP 800-82 (Cybersecurity Guide for Industrial Control Systems).

See our deep-dive on IEC 62443 Industrial Control Systems Cybersecurity for hardening strategies.


Cloud SCADA (2020+)

Traditionally, SCADA required an on-premise server (MTU) connected directly to field devices. Modern cloud platforms—Ignition Cloud, Azure IoT Hub, AWS Greengrass, Google Cloud IoT—shift the MTU role to a managed service.

How it works: An edge gateway (industrial PC, Raspberry Pi, or purpose-built device) connects to field PLCs and publishes data to the cloud via MQTT, OPC-UA, or REST APIs. The cloud service acts as the MTU: storing data in a cloud historian, executing alarms logic, and rendering dashboards accessible from anywhere.

Advantages:
– No local server maintenance; cloud vendor handles patching, backups, scaling.
– Multi-site visibility without complex networking; just internet connectivity at each site.
– API-first design enables integration with ERP, MES, and BI tools.

Trade-offs:
– Network latency: cloud SCADA typically has 1–10 second response lag vs. 1–5 seconds for on-premise.
– Data privacy concerns: sensitive production data moves to a third-party cloud.
– Ongoing subscription cost scales with device count and data volume.

Unified Namespace (UNS)

An emerging architectural pattern (popularized by Ignition, Kafka, and ISA Standpoint community) that decouples device communication from application logic.

Concept: Instead of each SCADA, analytics, and reporting tool polling PLCs independently, all field devices publish tags to a central event broker (Kafka, MQTT broker, cloud pub-sub like AWS Kinesis or Azure Event Hub). Downstream applications—SCADA, historian, machine-learning pipeline, ERP integration—subscribe to the topics they care about.

Benefits:
– Single source of truth: all apps see the same data at the same time.
– Loose coupling: adding a new analytics tool doesn’t require changes to device or SCADA.
– Scales to 1000s of devices without saturating a single MTU.

See Unified Namespace Architecture in Industrial IoT for a deep dive.

Edge SCADA

For high-reliability scenarios (e.g., autonomous subsea drilling, remote mining sites with spotty connectivity), a local industrial PC runs SCADA logic and critical alarms autonomously at the edge. It syncs to a cloud dashboard when connectivity is available, but continues operating offline if the WAN link fails.

Trade-off: A locally-running edge SCADA has lower latency and higher availability but requires operational overhead (power, cooling, maintenance) at each site.

AI and Predictive Alarming

Modern SCADA increasingly integrates machine-learning models trained on historical operational data. Rather than simple threshold-based alarms (e.g., “pressure > 100 psi”), ML models learn the “normal” pattern of a machine and alert operators to statistical anomalies.

Example: A compressor PLC collects pressure, vibration, temperature, and motor current every second. After training on 6 months of normal operation, an ML model learns that vibration and temperature are highly correlated, and occasional pressure spikes are benign. But a new signature—rising vibration without corresponding temperature rise—is flagged as an anomaly, prompting preemptive maintenance before failure.

This bridges the gap between continuous SCADA monitoring and expensive preventive maintenance schedules.


References

  • IEC 61131-3:2013 — Programmable Controllers – Part 3: Programming Languages. International Electrotechnical Commission.
  • ISA-95:2010 — Enterprise-Control Systems Integration (ANSI/ISA Standard for Batch and Continuous). International Society of Automation.
  • NIST SP 800-82 Rev 3 — Guide to Industrial Control Systems (ICS) Cybersecurity. National Institute of Standards and Technology, 2015.
  • Modbus Organization. Modbus Protocol Specification. http://www.modbus.org
  • OPC Foundation. OPC Unified Architecture (OPC-UA) Specification. http://opcfoundation.org
  • Dawson, B. & Pang, K. “PLC Programming Using IEC 61131-3,” Industrial Electronics Magazine, 2019.


Last Updated: April 18, 2026
Format: Meta Refresh + Intro Strengthening
Word Count: ~3,200 words
Snippet Target: “A PLC is a deterministic real-time controller; SCADA is a supervisory software layer.”

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *