Programmable Logic Controllers have been used for decades by utility companies, chemical plants and industries as diverse as cement, food and paper.
These smart and robust devices are popular because they can control any function, whether analog, discreet or a combination of the two. The benefits of PLCs include extreme reliability, fast operation, low power consumption, easy maintenance and modular design. PLCs can not only handle complex logic operations, but they also can be easily re-programmed — with no costly and time-consuming re-wiring. Most importantly, PLCs are designed to be directly installed in an industrial environment without custom interfacing.
Many broadcast engineers have built custom boxes for control applications using relays, relay sockets, diodes, capacitors, wire, terminal strips or connectors. These devices serve a purpose, but by nature are limited: they can only be used for one purpose, aren’t easily modified and are time-consuming to build.
This article discusses how a PLC can replace the custom-built box by providing an off-the-shelf, multi-purpose, self-contained and easily reconfigurable solution for many critical applications.
The good news is that all of the necessary components — PLC, CPU, I/O and cabling — are available from a variety of vendors at extremely low cost. Here are three examples of inexpensive PLCs:
Why not use an Arduino or the Raspberry Pi instead of a PLC?
I’ve been asked this question by people looking for inexpensive and easy-to-develop solutions for everything from antenna switch controllers to smart thermostats. I own several versions of these wonderful devices and think they’re great for hobbyists who experiment with robotics, media servers, email servers, etc. I do not, however, believe that an Arduino or Raspberry Pi has any place in a commercial radio plant.
My reasons for making this statement are as follows:
The Arduino and the Pi are light use/general purpose devices. They are not designed to control heavy current/high voltage loads or to function in a high-EMI environment. For broadcast use, they must be equipped with a sufficient power supply and a custom protective enclosure. Both devices require considerable wiring and development time before they’re operational. Furthermore, the long-term reliability of an Arduino or Pi in an industrial setting is not well established.
In contrast, PLCs are specifically designed and built to address all of these issues and more, right out of the box.
DETERMINISM AND RTOS
Current broadcast remote-control products can place a backup transmitter on the air, switch to an alternate audio source in the event of a failure and automate the testing of standby transmitters. Though useful, these devices are still basically PCs running Windows-based software — suffering from all of the well-known Windows issues.
Using a PC operating system to control broadcast functions is problematic by definition.
Both the Windows and Linux operating systems are not real-time, nor do they operate deterministically. “Determinism” describes the manner in which the operating system responds to events.
Windows, for example, prioritizes its event handling. If a Windows system is heavily tasked with processes, the order of method prioritization can delay its reaction to an external event — consider how your PC slows down during a software update. Now consider how unacceptable this delayed response would be during an emergency shutdown command or a critical overload condition. Adding a faster processor, bus speed and memory to the controlling PC may give the illusion of a real-time response, but these enhancements offer no guarantee that the OS reaction time to a worst-case event will be improved.
Using a dedicated PLC to control broadcast functions avoids these pitfalls. The PLC response time to an event is in the low millisecond range, which is virtually real-time. Many PLC devices also have interrupt-handling capability, which allows the engineer — not the operating system — to determine the priority of critical event management.
THE PLC ARCHITECTURE
In order for a device to be considered a “computer,” it must have a CPU (central processing unit), memory and I/O (input/output) capability. In this respect, the PLC is a true computer. It employs an ARM processor (advanced reduced instruction set microprocessor), input/output circuitry and internal flash memory. In general, the PLC includes serial data communication ability for Ethernet, ASCII and ModBus*. It can signal external systems like monitoring panels (for human/machine interface), or even other PLCs.
The PLC comes housed in a durable enclosure. It usually features easy DIN-Rail mounting and OLED or LED lighting for operational status display.
At right is a block diagram of PLC architecture.
PROGRAMMING THE PLC
Today, the most popular PLC programming language is Ladder Logic. For those familiar with electronic systems, Ladder Logic programming looks similar to an electrical schematic.
In Ladder Logic programming, the world consists of “contacts” and “coils,” which is a throwback to the early days when actual input contacts and relay coils were used. In reality — and this is important to remember — these terms are nothing more than memory locations which are written to and read by the CPU during the scan of the ladder program. During the scan process, the CPU sequentially reads the state of the inputs — or “contacts” — stores the information and acts on it.
In addition to contacts and coils, most PLC CPUs includes a large assortment of timers, counters, comparators, latch functions, sequencers, ramp generators and PID (Proportional Integral Differential) function blocks. Modern PLC firmware uses many familiar programming constructs, including for-next loops, data array handling, subroutine and interrupt handling, error handling and sophisticated math functions.
Clearly, a PLC is far more than a simple box of relays! These devices are so capable and flexible that there are virtually no constraints on an engineer’s imagination when building an application control design.
THE HUMAN INTERFACE
PLCs are equipped with an “HMI,” or Human-Machine Interface.
This is a user-friendly graphical display which allows the engineer to both access the internal registers of the PLC and to virtually view the entire PLC-controlled facility or process:
The displays are available with touch-screen capability and come in a variety of screen sizes, color depth and resolution, an example is shown here.
Communication between the HMI panel and the PLC is via interconnecting serial cable.
For more demanding applications, an engineer may create a custom interface on a Windows platform using SCADA (Supervisory Control and Data Acquisition) software. Although I earlier faulted Windows for not being a real-time operating system, that issue isn’t as relevant when discussing PLC interfaces. In this instance, the Windows software is responsible for monitoring the system, making programming changes, and providing the display. The actual event handling occurs at the PLC level, which is virtually real time.
PLC PROGRAMMING SOFTWARE
Many PLC vendors supply free Windows programming software with their device. This software uses the familiar drag and drop method to move objects onto the program area and then set their properties. Although the procedure is familiar to those who have programmed in the development environments of Visual Basic or C++, please note that no programming experience is required in order to program a PLC. The application-building software provides an intuitive layout that does not require a programming background. To assist in the learning process, many PLC programming videos are available on YouTube.
Once the PLC program is finished, it’s compiled and transferred to the PLC’s CPU via the serial connection to the programming port (Ethernet ports are also available on many PLCs for this purpose.) PLC compilers are very good at catching errors, which reduces the risk of future errant or unexpected behavior. Engineers who have taken a programming class may remember writing their first program, usually the “hello world” routine. PLCs have the equivalent “hello world” beginner’s program: trigger an input to turn on an output. Once that is mastered, the engineer can expand the program to add timing, AND/OR functions and combinatorial logic.
APPLICATIONS OF PLCS
PLCs are an excellent choice for controlling a whole range of broadcast functions. Any application which requires an output to be logically controlled by input changes (discreet or analog) is a good candidate for control by a PLC. Here are some examples of PLC applications I’ve employed in my career:
● AM directional switch controller
● FM antenna switch controller
● STL/T1 switcher
● Audio path switcher
● Automatic transmission line nitrogen pressurization controller
● Time of day control (i.e., “smart timer”)
● Smart thermostat (environmental control) for a transmitter site
● Home sprinkler system controller