PLC: Programmable Logic Controller

PLC Basics, Operation, Programming and the Future of PLCs

5 minute read

If you're familiar with industrial automation, you may have heard of PLCs. So, what is a PLC and why is it so important in the world of automation?

PLC Basics

Programmable Logic Controllers (PLCs) are industrial computers, with various inputs and outputs, used to control and monitor industrial equipment based on custom programming.

PLCs come in many different sizes and form factors. Some are small enough to fit in your pocket, while others are large enough to require their own heavy-duty racks to mount. Some PLCs are more modular, with only basic I/O (Inputs and Outputs), but can be customized with additional back planes and functional modules (such as analog I/O, communications modules, or display modules) to fit different types of industrial applications.

PLC Programming

PLCs are widely used in a variety of industries because they are fast, easy to operate, and considered easy to program. There are five standard PLC programming languages. The most commonly used language is Ladder Logic, but it is also possible to use Function Block Diagrams, Sequential Function Charts, Structured Text, or Instruction Lists to achieve the same functionality.

PLC SCADA in operation


SCADA and HMI systems enable users to view data from the manufacturing floor and provide user interfaces for control and monitoring — and PLCs are an essential hardware component element in these systems.

PLCs act as the physical interfaces between devices on the plant or manufacturing floor and a SCADA or HMI system. PLCs can communicate, monitor, and control complex automated processes such as conveyors, temperature control, robot cells, and many other industrial machines.

PLC Operation

A PLC’s operation is broken down into three stages: inputs, program execution, and outputs. PLCs capture data from the plant floor by monitoring inputs from any connected machines or devices. These inputs are checked against the program logic, which changes the outputs to any connected output devices. It is possible to have the same machine connected to both inputs and outputs on the same PLC, such as a valve position sensor connected to the inputs with the control of that valve position connected to the outputs. A program could read the current position of that valve, check to see if it needs to move, then move the valve position with the output.

PLCs often make a distinction between Digital (or Discrete) and Analog I/O. Digital I/O acts like a standard light switch where the state is either on or off, with no states between. Analog I/O acts like a dimmer switch, where the state can be anywhere between on and off.

It is easy to think of there being two sources of input data for PLCs: Device input data, automatically generated by a machine or sensor, or User input data, generated by a human operator using an HMI or SCADA system.

PLC Devices

The Device input data comes from sensors and machines that send information to the PLC. This can include:

  • On/Off states for things like mechanical switches and buttons
  • Analog readings for things like speed, pressure, and temperature
  • Opened/Closed states for things like pumps and valves

Human-facilitated inputs can include button pushes, switches, sensors from devices like keyboards, touch screens, remotes, or card readers.

PLC outputs are very similar to inputs, but can also include audible or visual indicators for the user, such as turning on a warning light, or sounding an alarm beacon. Other outputs can include:

  • Opening or closing a valve
  • Adjusting the speed on a motor
  • Turning a heater On or Off

PLC programs operate in cycles. First, the PLC detects the state of all input devices that are connected to it. The PLC executes the user-created program, using the state of the inputs to determine the state that the outputs should be changed to. The PLC then changes the output signals to each corresponding device. After completing all these steps, the PLC then does a housekeeping step, which includes an internal diagnostic safety check to ensure that everything is within normal operating conditions. The PLC restarts the cycle each time the process is completed, starting again by checking inputs.

PLC Scada

PLCs and Ignition

With a wide range of available Ignition device drivers, you can connect Ignition with just about any modern or legacy PLC. Once the device driver is installed, data can be viewed or sent to the PLC. With PLC data now available to Ignition’s tag system, you can do so much more with Ignition’s robust core modules.

With Ignition, it is possible to create a comprehensive SCADA and MES system, HMI system, Alarming and Reporting solution, or an enterprise-wide solution to view and control data on a PLC at any level of an organization.

PLC Communication

Traditionally, PLCs communicate using the poll-response method. In local plant and manufacturing environments, this type of communication method is usually fine, since the communication distances are short and predominantly hardwired. With poll-response, PLCs are constantly communicated with to check for any data changes.

As the Industrial Internet of Things (IIoT) becomes more popular, there is an increased need for data from remote locations. This translates to more PLCs and computing devices at the edge of the network. Cellular networks are frequently used in communications with edge devices that require data transmission across long distances. However, due to the high frequency of poll-response communication, cellular networks can incur an incredibly high cost when used this way.

To address this issue, solutions such as MQTT, in conjunction with the Sparkplug B Specification, employ a publish-subscribe protocol to streamline communications from the edge of the network. While modern PLCs employ modern communication protocols, legacy PLCs that are still at the edge of the network require additional hardware to deliver the same functionality. Edge gateways, such as Ignition Edge IIoT along with an MQTT broker, pull data from legacy PLCs using poll-response and then transmit the data using a publish-subscribe protocol.

This IIoT architecture allows industrial organizations to build IIoT solutions on top of brownfield systems, improving bandwidth usage and making data from edge-of-network PLCs widely available throughout the organization.

PLCs in communication

The Future of PLCs

The industry continues to see new products entering the market ranging from devices like Programmable Automation Controllers (PACs), which combine the functionality of PLCs with higher-level PC functionality, all the way to industrial embedded hardware.

Even with these new products, PLCs remain popular because of their simplicity, affordability, and usefulness. And software like Ignition will enable organizations to maximize their usefulness for many years to come.

Posted on February 24, 2020