What is a PLC?
PLC stands for Programmable Logic Controller.
A PLC (Programmable Logic Controller) allows a user to run custom code they author—typically against electronics that collect information from field instrumentation or control field devices.
History
Before the late 1960s, custom industrial control was commonly accomplished using hardwired devices such as relays, timers, potentiometers, and similar components. Then, in 1968, Dick Morley invented the Modicon 084 for General Motors. Since then, PLCs have largely been microcontroller-based devices, programmed with IEC 61131-3 programming languages.
Today, there are many manufacturers of proprietary PLCs, including:
- Allen-Bradley
- Siemens
- Schneider
- General Electric
- Omron
- B&R
There are also Soft PLC platforms (PLCs that run on computers), such as CODESYS and Beckhoff TwinCAT. TwinCAT was originally based on CODESYS but has since evolved into an independent codebase.
Architecture
PLCs are typically made up of a processor that runs the control logic. Typically the control logic is run in an infinite loop. This main loop can either run as fast as it can, or it is often more desireable to run at a set interval.
The control logic interfaces with external devices (instrumentation, motor control hardware, buttons, lights, etc.) via I/O. I/O can be physical hardwired I/O, like:
- Discrete Inputs
- Discrete Outputs
- Analog Inputs
- Analog Outputs
or it can use networking, such as serial networking or Ethernet networking.
Each PLC often has it's own industrial control panel.
Joyful Thoughts
This section shares James Joy’s perspective on this technology as it applies to industrial automation.
The microcontroller-based PLC, along with IEC 61131-3 programming languages, made a lot of sense as an alternative to relay logic. It vastly improved ease of maintenance and reduced the cost of modifying control logic. If open standards and platforms had prevailed, microcontroller-based PLCs might still be a great option today.
Unfortunately, microcontroller-based PLC suppliers have embraced proprietary ecosystems and vendor lock-in as a means of increasing profit rather than driving technological innovation. Major PLC suppliers invent their own protocols, development environments, and hardware ecosystems that have little to no compatibility with others. As a result, most PLC platforms on the market today continue to get more expensive with very little advancement in user or developer experience.
That being said, general-purpose industrial computer hardware and open-source software have made astronomical strides since the invention of the first PLC. It is now far less expensive to purchase an industrial computer than even a mid-tier proprietary PLC platform from any major vendor—and you can use software to implement a SoftPLC.
There are a few SoftPLCs available that allow you to program an industrial computer similarly to a traditional PLC, such as Beckhoff and CODESYS. They let you work in IEC 61131-3 languages but within a general computing environment.
Joy Automation takes a different approach with Tentacle. We’ve chosen to move away from IEC 61131-3 because it isn’t a true standard and lacks advanced features that support modern flexibility and reliability (click here to learn more). Instead, Tentacle is a library that allows you to program process control logic in modern TypeScript, gaining all the benefits of working in a contemporary coding IDE.