1. PLC Introduction
PLCs have been used in industrial control and automation applications since they were introduced in the 1960s. They were first introduced as a replacement for sequential relay circuits used for machine control. The sequence in which its outputs are turned on or off is defined in software. Today, most are programmed through one of the languages that form the IEC-61131-3 standard, of which the most popular one is Ladder Logic. You can find PLCs in most industries, and they are ubiquitous in applications that range from packaging to machining and material handling.
Compared to early PLCs which relied on bit-slice CPUs and therefore were only capable of digital I/O, modern PLCs make use of the latest microprocessor technologies. This allows them to incorporate more advanced features such as analog input and output, network communication, and higher-level programming languages.
However, engineers create 80 percent of industrial applications with digital I/O, a few analog I/O points, and simple programming techniques. Experts from ARC, VDC, and PLCS.net estimate that:
- 80 percent of PLCs are used in small applications (1 to 128 I/O)
- 78 percent of PLC I/O is digital
- 80 percent of PLC application challenges are solved with a set of 20 ladder-logic instructions
This is why some PLCs still use the original AMD 2901 CPU and why companies such as Keyence only offer ladder-logic programming.
Engineers who are tasked with solving problems that fall outside of these basic functions frequently push the boundaries of PLCs. In the 1980s and 1990s, these engineers were the ones who considered PCs for industrial control to obtain the flexibility offered by high-level, customizable software and more powerful hardware. However, using PCs for industrial control also means dealing with inherent weaknesses such as stability, reliability, and unfamiliar programming tools.
The obvious evolutionary step in these tools was the development of products that offered the advantage of both platforms. Companies such as Rockwell, Siemens, GE Fanuc, and National Instruments realized the need for these devices and today offer entire platforms based on this concept. The resulting new controllers, designed to address the more specialized applications, combine the best PLC features with the best PC features. Industry analyst ARC named these devices programmable automation controllers, or PACs.
PACs and PLCs have several things in common. Internally they both include a power supply, a CPU, I/O rack or backplane, and modules. They have memory registers that reflect the individual I/O channels on the modules. However, the differences are very significant.
In their "Programmable Logic Controllers Worldwide Outlook" study, ARC identified five main PAC characteristics:
· Multi-domain functionality, at least two of logic, motion, PID control, drives, and process on a single platform
· Single multi-discipline development platform incorporating common tagging and a single database for access to all parameters and functions
· Software tools that allow the design by process flow across several machines or process units, together with IEC 61131-3, user guidance, and data management
· Open, modular architectures that mirror industry applications from machine layouts in factories to unit operations in process plants
· Employment of de facto standards for network interfaces, languages, etc., such as TCP/IP, OPC and XML, and SQL queries
National Instruments PACs are based on NI LabVIEW technology, including LabVIEW Real-Time and LabVIEW FPGA. With LabVIEW, you can create custom measurement and control systems and deploy them on reliable embedded targets running a real-time operating system or even embed them in silicon without the need for VHDL programming knowledge.
PAC hardware targets are designed for applications requiring:
- Graphics – Half of the features and tools included in LabVIEW are designed to simplify development of user interfaces. As such, you can easily incorporate graphics and an HMI for control systems.
- Measurements (high-speed data acquisition, vision, and motion) -- National Instruments has a strong history in high-speed I/O, including vision acquisition, so you can incorporate measurements such as vibration or machine vision into your standard control systems.
- Processing capabilities – NI PACs excel in applications where specialized control algorithms, advanced signal processing, or data logging is required. Using LabVIEW, you can incorporate custom control code built using NI or third-party tools, implement signal processing such as joint time-frequency analysis, or log data locally and remotely.
- Platforms -- With LabVIEW, you can create code that runs a variety of platforms including a PC, embedded controller, FPGA chip, or handheld PDA.
- Communication -- LabVIEW makes it easy for you to pass data to the enterprise with tools like OPC and SQL/ODBC
This paper points out the aforementioned PAC benefits using the Compact FieldPoint LabVIEW-based PAC platform.
2. Compact FieldPoint
National Instruments Compact FieldPoint is an expandable programmable automation controller designed for measurement, industrial control, and data logging applications that require reliable, rugged hardware. These systems typically include diverse sensors and actuators located centrally or spread over large distances. The architecture features both networking capabilities for distributed I/O as well as an option to process data on a real-time operating system, which runs applications developed in LabVIEW. The Compact FieldPoint industrial I/O modules filter, calibrate, and scale raw sensor signals to engineering units and perform self-diagnostics to look for problems, such as an open thermocouple. Compact FieldPoint network communication interfaces automatically publish measurements through a corporate or world-wide network. You can access I/O points nearby or miles away on the network using the same simple read/write software framework. In short, the main advantages that Compact FieldPoint offers are:
- Embedded advanced control algorithms, data analysis, and signal processing
- Real-time performance for control applications
- Remote Web browser and FTP interface
- Interfacing with enterprise applications
- Easily configurable data logging
The following paragraphs take a more in-depth look at each of these aspects.
Graphics are a natural representation for humans. This applies both for describing a sequence or process (flow charts, block diagrams) as well as for user interfaces. Compact FieldPoint controllers are programmed through the LabVIEW graphical development environment, where you define a control process through function blocks connected by wires.
LabVIEW also provides a front panel where you can create a graphical user interface with all controls and indicators that an application might require for user interaction. However, the main advantage is that with LabVIEW, you can use the same development environment to program the embedded system, and serve up the graphical user interface through a built-in web server as well as through LabVIEW built-in remote panel capabilities. LabVIEW also supports standard networking communication standards such as TCP/IP, UDP, OPC, Active X, and others that can then be used to transmit data to a GUI that resides on a client PC and even industry-standard SCADA software.
With LabVIEW, you can run your application on a host computer networked to FieldPoint hardware or, with a few mouse clicks, download and embed the application onto the real-time industrial processor. Whether executed on the host computer or embedded in a cFP-20xx/21xx controller, LabVIEW features complete functionality and provides a highly-integrated environment for analog control system development, signal processing, embedded data logging, and many other applications.
LabVIEW is a complete programming language that is highly customizable and easily tailored to your application needs. LabVIEW provides ease of use from top to bottom, which allows you to focus on your goals and objectives rather than the intricacies and syntax of a more traditional text-based programming language. With LabVIEW you can simultaneously create the user interface and block diagram application code. LabVIEW provides a single software environment for embedded real-time control (LabVIEW Real-Time), networked PC-based control (LabVIEW for Windows), as well as SCADA (LabVIEW Datalogging and Supervisory Control). The NI Developer Suite Professional Control Edition includes all of these capabilities.
The PID Control Toolkit and real-time point-by-point analysis palettes in LabVIEW are modular building blocks that you can use to implement your control system with unlimited flexibility. In addition, both palettes are open source LabVIEW code that you can completely modify or view. Customers like Shell have found that this built-in power and flexibility are critical to the success of projects requiring custom control algorithms.
An advantage that Compact FieldPoint and National Instruments PACs offer when compared to PLCs is the ability to perform and process complex measurements. With this capability, you can combine frequency, waveform, voltage, current, motion control, and even image acquisition with control systems. This adds an unprecedented level of customization in terms of the types of signals that can be manipulated and processed. LabVIEW offers hundreds of functions to process, analyze, and extract information from these signals.
Compact FieldPoint systems can be easily combined with the NI Compact Vision System. The Compact Vision System is also a LabVIEW-based PAC, which was designed with the purpose in mind of acquiring and processing images. This controller has multiple FireWire (IEEE-1394) ports on it, as well as an Ethernet port through which you can share data and information with a Compact FieldPoint controller. The two controllers can independently acquire and analyze data to extract information about the system being controlled, and then communicate results back and forth to adapt to the system and make joint decisions.
Compact FieldPoint and its configuration software is designed to be very easy to use and minimize the time between configuration and first control point. This enables you to quickly begin performing industrial control and measurement without extensive setup. Getting started is a simple two step process - one, configure the I/O using FieldPoint Explorer, and two, read or write the I/O. During configuration, you may wish to select the measurement units, for instance "-270 ºC to 1770 ºC " for a thermocouple input channel.
It is this ability to mix control algorithms with complex signals such as generating pulses, PWM, reading digital patterns, or acquiring strange gage and current that make this platform so unique and powerful.
5. Processing Capabilities
The Compact FieldPoint platform offers a 200MHz Pentium-class processor with floating-point, and provides the ability of running hundreds of PID loops and calculations simultaneously. You can create loops that process data up to a rate of 1 kHz.
National Instruments LabVIEW software provides all the basic computational building blocks, including addition, subtraction, multiplication, division, Boolean logic, linear algebra, calculus, and array operations, as well as over 450 higher level built-in analysis functions, such as scaling, filtering, statistics, transforms, peak detection, data lookup tables, signal generation, and image processing algorithms. With this combination you can construct your application rapidly using built-in functions and easily implement your custom calculations.
It is crucial that your controller provides the appropriate type of processor. Fixed-point and floating-point processors are the two most common processors found in programmable controllers.
A fixed-point processor is less expensive and works well for digital logic operations, where you need to compare on/off values. However, this processor can be problematic when used with analog measurements, such as current, voltage, or temperature. In basic terms, a fixed-point processor is one that does not track the position of the decimal and leaves this responsibility to the user. This is why typical fixed-point applications only perform arithmetic on integer or fractional data. Fixing the radix point (the decimal point for base 10 numbers), results in a fixed range for a given variable. Because variable is bounded, if the result of a calculation falls outside of that range the data is lost or corrupted. This is known as overflow. There are various strategies for handling or preventing overflows in fixed point designs. Handling the overflows will result in either reduced performance or accuracy, while preventing overflows (without compromising accuracy) can require a tedious design optimization process. This design process requires the designer to make assumptions about the characteristics of the signals and if the type of signal changes, the entire design will need to be revised.
Does this mean that you cannot use a fixed-point processor to make calculations on analog measurements? No. Fixed-point processors are common in many embedded applications because of their low power consumption and affordable price. Unfortunately, proper implementation of a processing algorithm on a fixed point processor can be difficult. Programmers must simulate their algorithm using real-world or simulated data sets to minimize the probability of overflow, then iteratively optimize their scaling strategy to ensure the algorithm is sufficiently accurate to meet specifications. In complex systems, the simulation alone can take from hours to weeks to execute, and the design process can last for weeks or even months. This procedure may be adequate for an OEM designer who needs to implement custom calculations but is unacceptable for low volume applications.
Floating Point Processors
National Instruments controllers such as Compact FieldPoint, use floating-point processors. Though a floating-point processor is more expensive, it is more suitable for analog calculations. In a floating-point processor, the radix point does not remain fixed, but is recalculated with each operation. A common example of floating-point is the "scientific notation" used in all science and mathematics fields. A floating-point processor automatically determines whether overflow has occurred and adjusts the decimal place by changing the exponent. This eliminates overflow errors and reduces inaccuracies caused by unnecessary rounding.
Using LabVIEW with Compact FieldPoint, you can run custom code developed on popular modeling and simulation tools, such as National Instruments MATRIXx or Simulink®.
Simulink® is a registered trademark of The MathWorks, Inc. Other product and company names listed are trademarks and trade names of their respective companies.
By standardizing on LabVIEW as your development environment, you don’t only take advantage of the graphical capabilities. You can create and deploy applications on multiple platforms ranging from PocketPC and Palm-based handhelds, to PCs and PXI systems running a real-time operating system. LabVIEW can even compile graphical code down to Field Programmable Gate Arrays (FPGAs), which are fully-customizable integrated circuits for applications that require very high speed control loops that can only be attained through custom hardware.
You can easily combine any one of these platforms with a Compact FieldPoint-based control system. This gives you the flexibility to cover every aspect of your implementation no matter how peculiar.
You can communicate with enterprise applications and store data on ODBC/SQL-enabled databases or a corporate network. You can use OPC to integrate and communicate 3rd party software and hardware systems.
Compact FieldPoint automatically publishes its I/O data to an OPC server located on the host computer used to configure the I/O bank. You receive this server free of charge with Compact FieldPoint, and it is integrated into the FieldPoint configuration software. Most SCADA software packages for Windows support OPC, and most vendors of industrial I/O hardware provide OPC servers for their hardware. This makes it easy to integrate Compact FieldPoint with a wide variety of industrial I/O hardware such as programmable logic controllers (PLCs) and other industrial devices. You may use a third-party SCADA package or the LabVIEW Datalogging and Supervisory Control (DSC) Module. The LabVIEW DSC Module provides built-in tools for data management, automatic data logging, alarm and event logging, real-time and historical trending, networking, and security. These tools allow you to quickly develop distributed monitoring applications.
This way processes created with FieldPoint can be easily monitored and modified by authorized users either directly from the control unit, or through any networked computer running software that supports industry-standard communication protocols and technologies.
PLCs are well-suited for complete plant automation at the factory, cell, and process level. However, at the sensor/actuator level and even at the process level, there are often measurements and complex algorithms that need to run in conjunction with the rest of the plant. For these applications, PACs are better equipped because of their flexible configuration and customization, as well as the wide range of measurements they can perform, including motion control.
For continuous process controls such as vacuum control, flow control, level, temperature loops, and miscellaneous discrete functions such as valve on/off control, the advanced processor in Compact FieldPoint controllers provides the necessary processing power.
By combining the flexibility of LabVIEW and the processing power and ease of use of Compact FieldPoint, you can quickly develop a full-featured control system in a fraction of the time that it would take with traditional tools.
You can see how Compact FieldPoint PACs have been used in different applications by following these links:
Shell Stabilizes Long Pipeline-Riser Gas/Liquid Flow
Using NI FieldPoint and LabVIEW to Perform Redundant Drilling Control on the Alaskan Schlumberger Oil Drilling Operation