Software-designed PACs: Think subroutine, not sub controllers
By Brett Burger, Sr. product manager for embedded systems, National InstrumentsTest & Measurement Engineering
Today’s controls engineers face the pressure to simplify system complexity as they are tasked with increasingly complex challenges. Unfortunately, solutions to these challenges are difficult to clearly define, so overall industrial market trends are instead discussed in an attempt to simplify an industry of escalating complexity.
Motors, once viewed as large pieces of iron that would last for decades, are now monitored and scrutinized for the earliest sign of failure or the slightest hint of efficiency loss. Furthermore, control inputs to cutting tools have evolved from the digital “cut or stop cutting” approach to complex vision-guided force-feedback schemes that detect media edges and density, responding with a precise amount of cutting force. These examples support the real need to integrate commercial technology to keep pace with market pressures and increasingly complex control problems.
Fortunately, commercial technology continues advancing for control designers. The latest processing technology for PACs is now available with the National Instruments cRIO-9068 software-designed controller. The processing elements of this controller are built on the latest silicon technology from Xilinx (Zy’-linx) known as Zynq (zink’). This system on a chip (SoC) combines floating point processing cores, FPGA fabric, and DSP slices on a single chip, which helps control designers collapse advanced machine subsystems into fewer controllers, creating a more simplified architecture.
Sussing out the appropriate embedded solution
This all sounds a bit unfamiliar to control designers who are more familiar with ladder logic than logic gates, but all PACs, PLCs, and embedded controllers contain processing elements. Some even contain FPGAs or ASICs used for signal processing and timing. These different processing elements are analogous to a basic tool such as a hammer. When walking down the tool aisle at the hardware store, a wealth of hammer options hang on the wall. While most of these could be made to serve other hammer functions (e.g. driving nails or breaking apart objects), it’s critical to use the right tool for the job. PC based automation is like a general purpose claw hammer – versatile enough for most applications, but with deficiencies in more advanced operations as it’s too harsh to properly function as a dead blow mallet, too light to act as a sledge, and too small to serve as a good framing hammer.
For a broad range of applications, the standard floating point processor is ideal although it falls short with applications that require high-speed timing, triggering or tight latency as this is where an FPGA is beneficial. Floating point processors can also be used for signal and control processing, however these are costly compared to an FPGA or DSP used for repetitious algorithms. While FPGAs are ideal for processing intensive algorithms, they are limited in runtime flexibility. It’s the combination of all of these processing elements that make new PACs/PLCs and embedded controllers so promising when it comes to simplifying subsystems.
At a basic level, subsystems join hardware and software to serve a specific function such as a temperature control system. In this case, the hardware inputs are temperature sensors, the outputs control a fan or heater, and the software logic for the system could range from a simple limit function to a more advanced PID algorithm. In complex machines with multiple components, this temperature controller is a separate design on a custom board that communicates back to the main controller via a cabled bus. Instead of requiring separate, optimized hardware designs for sub controllers, designers can use newer embedded controllers to more easily rely on a single flexible core.
Achieve a faster time to market
This helps simplify machines with fewer controllers that are software-designed, which makes it possible to achieve a faster time to market at a lower design cost. Subsystems in machines are abstracted as software blocks that can run on the host floating point processor or the available FPGA/DSP resources. Instead of sub controllers, think subroutine. Regarding the hardware, many sub controllers already use modular I/O and the advanced capabilities of new embedded controllers help reduce the need for custom FPGA/ASIC hardware design.
This technology is ideal for applications that include any high performance machine paired with multiple sub systems. As an example, a laser saw is used in the process manufacturing of silicon wafers. This commercial technology helps manufacturing engineers’ process silicon wafers with less waste and faster than less advanced mechanical cutters. To do so, these machines feature several inter-operating subsystems that include separate controllers for temperature control, laser control, high-speed analog input with inline processing, and a supervisory PC with an operator interface.
Because a communication framework with central control is necessary for all of the sub controllers, today’s machine designers develop a separate design for each sub-system. Using an embedded controller with the latest processing technology, a control designer can collapse several of these sub systems onto a single controller as seen in the image below. The software/firmware instruction set for each controller exists as a self-contained subroutine on the main controller and system designers can expand the system by copying/pasting the appropriate subroutine and adding another I/O module.
* See Figure 1.
It’s important to note that high performance machines are not restricted to the clean environment of wafer manufacturing. Intensive signal processing and measurement quality I/O are more prevalent today, especially as it relates to predictive maintenance of heavy equipment. It’s now more intuitive to design these systems with off-the-shelf embedded controllers whereas traditionally custom ASIC or FPGA/DSP design was necessary.
Regarding motors, predictive maintenance measurements on rotating equipment include RMS calculations and FFTs. These algorithms consume CPU resources that increase with channel count, which leaves fewer CPU “reserves” for other tasks and either limits the capability of the controller or increases its cost. Moving these processes to a combination FPGA/DSP processing unit eliminates some of the workload on the flexible CPU and improves data throughput, as FPGAs handle multiple processes more efficiently. While FPGAs contain fixed space, they feature the nearly unlimited capability to add parallel processes within this set space. As shown with the previous analogy, using a claw hammer for demolition can work, but at some point a sledge hammer is more appropriate as it offers increased efficiency.
Design focus switching to software
With some of the design focus switching to software, it’s important that software tools are available to make use of available processing technology. The most common programming standard for PACs/PLCs is some form of IEC 61131. The 61131 is an abstract language that focuses on sequential, digital heavy process and control, but it is not designed to handle advanced programming or to target FPGA/DSP fabric. Many advanced control designers look to a standard programming language such as C for embedded design and although C can handle nearly any task or processing target, it’s a low level language that requires more expertise and time to implement a subroutine design. Other programming environments exist in the space between. As an example, NI LabVIEW system design software offers a balance between these two software environments, as it can simplify the programming process including memory handling, threading, and core management, while offering low level access to processing and I/O elements on the core or FPGA fabric.
Programming syntax aside, ensuring system designers’ access to commercial technology is essentia
l to overcoming increasingly complex challenges such as changing standards and the pressure to innovate faster at a lower cost. In the end, processing elements are not beneficial to the designer if there is no way to program them. Many of the processing elements and firmware available on today’s advanced control systems are locked down or unaccessible. The more open an embedded controller is, the easier it is for control designers to merge these complex machines into fewer subsystems. As an example, PACs/PLCs with modules that measure waveforms and output only post-processed values or PID “control chips” include hard coded logic. These designs are cheaper from a hardware cost to implement, but do not provide the designer with flexibility to debug or modify the locked down processing firmware. Also, when these components go end of life (EOL) it can be difficult to replicate the exact algorithms, resulting in many potential problems.
The new cRIO-9068 controller (see Image 2) exposes the floating point processor, the FPGA fabric with DSP slices, and even the operating system, which is a real-time version of Linux. With shell access, designers can tap into the vast Linux community to get a machine up and running in less time and with fewer resources. In addition to off-the-shelf Linux applications, control designers can reuse existing code in C as the new floating point processor supports both LabVIEW software and the Eclipse development environments. Offering the best of both worlds, users can deploy existing software on the latest hardware with the least disruption.
*See Figure 2.
With industries such as steel milling, textiles, and semiconductor, the need for smarter machines is driving the demand for improved machine control design technology. PACs and embedded controllers using the latest hybrid processing technology can help advance and simplify machine design by shifting the architecture from several unique PACs/PLCs or custom designs to fewer, more consolidated software-designed controllers. The next generation of embedded controllers will not replace many of the old stalwarts of the process world. Rather, these controllers are ideal for the next generation of smart machines and are best suited for more advanced designers looking to get to market faster with a more simplified architecture.