Tech Tips

What is a PLC?

Published on
August 18, 2022

A Programmable Logical Controller (PLC) is a ruggedized computer used in industrial automation applications. They can be utilized to control almost any machine function, production line, or manufacturing process.

PLCs monitor the state of input devices and make decisions (based on programs) to manage the state of output devices. They are configurable in that you can mix and match the types of input and output devices to best suit your application.

Typically a PLC has several basic components. These include:

  1. Processor: a module that contains a microprocessor that performs computation and control functions. The processor usually includes memory.
  2. Input/output interface (I/O): modules that enable the connection between the processor and field devices. These can be analog or digital input and output devices.
  3. Communications component: ports and protocols to ensure that the PLC can communicate with other systems, including additional PLCs and data acquisition systems (SCADA)

In addition, a PLC may have an HMI (Human Machine Interface) to permit users to review and input information into the PLC in real-time.

Programming a PLC

A PLC is usually programmed using an Integrated Development Environment (IDE), programming software that runs on a personal computer. The program is then downloaded to the controller. The IDE software often depends on the brand of PLC used. For example, an Allen-Bradley® CompactLogic™ PLC is programmed using Rockwell Automation® Studio 5000 Logix Designer®. A Siemens® SIMATIC® PLC would be programmed using Siemens® TIA Portal.

Unlike traditional business applications and gaming software, most PLCs are programmed using specialized languages. These include Ladder Diagram or Ladder Logic (LD), Function Block Diagram (FBD), Sequential Function Charts (SFC), Structured Text (ST), and Instruction List (IL). These languages have become standardized across multiple vendors due to the efforts of the International Electrotechnical Commission (IEC). This worldwide standards organization defined the widely accepted IEC 61131-3 standard to specify the syntax and structure of the languages used for programmable controllers.

Ladder Logic is the most popular of the languages. It was designed to mimic hardwired relay control systems and requires minimal programming experience to learn.

PLC Program Execution

Typically, when a PLC executes its program, the CPU reads the physical inputs of the I/O modules and updates their status in its memory. Then the program executes each line or rung of code sequentially, evaluating the logic based on the values in its memory. Once the CPU reaches the end of the program, it will update the real-world outputs, then loop back and rerun the program. The time a CPU takes to execute one pass and loop back to the beginning is known as scan time. PLCs are very fast in executing the logic sequence. Generally, scan times are between 1ms to 150ms but can vary due to program complexity and the efficiency of the code.

PLCs remain popular because of their low cost, robustness, and usefulness. In most cases, their optimal use depends on the quality and efficiency of the programmed logic that powers them.

No matter what brand of PLC is utilized, Copia Automation delivers tools to help manage PLC code throughout its lifecycle, including development, deployment, and maintenance. It enables greater collaboration, accelerated code review, and collaboration so teams can shorten timelines, increase quality and maximize operational uptime. Watch our demonstrations on our Youtube channel or sign up for a free trial to learn more.