Skip to content

Introduction

PLC Software Architecture refers to the way a program is organized and structured. While the hardware defines the physical capacity, the software is responsible for executing the control logic, managing inputs, outputs, peripherals, and ensuring the correct execution of the program.

  • Operating system: The core of the software that controls the hardware, execution time, memory, and interrupts.
  • Language interpreter or compiler: Enables execution of programs written in standard languages such as:
    • Ladder Diagram (LD): A graphical language based on electrical circuits.
    • Function Block Diagram (FBD): A graphical representation of functional blocks.
    • Structured Text (ST): A high-level language similar to Pascal.
    • Instruction List (IL): A language close to assembler, or in some PLCs the assembler itself.
    • Sequential Function Chart (SFC): A graphical language for representing GRAFCET.
  • Data and memory management: The software organizes memory into specific areas:
    • User program memory: Stores the control code.
    • Data memory: Manages variables, timers, counters, flags, and registers.
    • I/O image memory: Stores snapshots of I/O states to avoid direct reads during execution.
  • Monitoring and diagnostic functions: These include the Watchdog, which monitors the cycle time and restarts the system if the maximum allowed time is exceeded, along with system error control and other interrupts.
  • Communication interface: Supports industrial protocols such as Modbus, Profinet, and EtherNet/IP, enabling integration with HMI, SCADA, and other systems.