Using PCs for machine condition monitoring: Part 4

Software considerations

By Plant Engineering Staff October 7, 2004

(Editor’s note: This is the fourth article in a series on PC-based machine monitoring. The next article in the series will appear in the next issue of Plant Engineering HotWire.)

Chris DeFilippo, National Instruments, Austin, TX

The mere mention of software and software development can cause the toughest plant engineers to tremble. Perceptions such as “software development is slow,” “software is unreliable,” or “software systems are too difficult to use” are the reality for many plant engineers and maintenance supervisors.

However, modern machine condition monitoring (MCM) systems have significant software components. And thus many plant engineers leave the programming to someone else. Although it is usually the plant engineer who knows his or her end systems better than anyone else. Often this results in MCM systems that are too generic, missing key features, or are not user friendly.

Today, many software packages and development tools have the power and flexibility to create high-end applications yet are intuitive and easy to use. This means that plant engineers can take advantage of the advances in PC performance to effortlessly customize software to meet their MCM needs. For example, a single application development environment (ADE) may be used to program PLCs, target field programmable gate arrays (FPGAs), and diagnose machine faults with vibration data. This means that a plant engineer needs to learn only one software environment for a variety of interconnected applications, saving time and money.

When you consider all of the tasks that software accomplishes, it is too important to be an afterthought in any system. Software is what enables a common PLC to complete specific tasks. Software provides the HMI and SCADA to systems. It drives the data analysis engine and diagnostic tasks. Software contains the trending and alarming functions. It communicates with the control systems and the other plant asset or enterprise management systems. Software is also responsible for data organization and reporting.

There are two parts that are common to all software systems: the specific function or task, and the deployment platform for that task. For example, consider the opening of a steam valve. Software defines when and how the task occurs, and the deployment platform is the real-time operating system found on a PLC. MCM and predictive maintenance (PdM) software can be defined by a list of functions and deployment platforms for specific performance. The tasks of MCM software in a modern PC-based system can be broken down into four categories:

MCM and PdM software deployment platforms include:

  • General Purpose Operating Systems

  • Real-Time Operating Systems

    • This article will demystify the elements of MCM software on a PC-based system.

      MCM software tasks
      GUI or HMI and SCADA
      Certain parameters of the PdM and monitoring system must be displayed, and sometimes modified, as the system executes. To display information about a machine’s health, an HMI becomes very important to the system. Typically, the HMI task is completed on a computer that is also the development machine for creating the MCM system. However, the development machine can also be a separate PC or a PXI controller.

      The proper HMI programming environment must be able to interact with all the MCM data acquisition hardware in the system and to enable efficient programming. Such an environment needs to be open to be able to import code modules from other programs, be modular to be able to reuse code, and — most importantly — be able to interface with all the hardware easily. The programming environment must have powerful hierarchical modeling capabilities using extensive domain-specific function libraries. The programming environment should have good error-handling capabilities and should be able to log data to be analyzed later.

      Modern graphical programming languages provide excellent HMI and development environment in a single package. With these programming languages you can quickly build MCM and predictive maintenance systems, boosting productivity and saving development time. These HMI and development packages allow you to quickly create user interfaces for interactive control of your software system. The tight integration of modern graphical programming languages with measurement hardware facilitates rapid development of data acquisition and control, analysis, and presentation solutions.

      Time series plots, orbit (X-Y) plots, and bode plots are useful in reviewing and allowing for human interpretation of data (Fig. 1). Additional items include the waterfall plot showing changing frequency content over time, or the cascade plot showing changing frequency over speed or RPM.

      Fig. 1. A typical HMI shows several common views of machinery vibration data including time, bode, orbit, and cascade plots.

      Analysis and Diagnostics
      Machine condition monitoring software must also contain analysis and diagnostic functions. These functions range from the very simple to the extremely complex (in a mathematical sense), but with modern ADEs, implementation has been greatly simplified.

      In the time domain, the level or shape of the vibration signal is examined as a function of time. This is as simple as displaying the signal exactly as it acquired without any processing. Also in the time domain, RMS vibration level analysis reports overall vibration levels and is useful for trending and checking vibration level limits.

      For vibration and related machinery dynamic signals, analysis in the frequency domain is more common. Frequency domain analysis, using the Fast Fourier Transform (FFT)-based power spectrum examines the harmonic content (repeating elements) of a signal, as a function of time frequency (Fig. 2).

      Fig. 2. Shown is a graphical comparison of RMS vibration, time-domain data, and frequency-domain data analyses.

      Other analysis functions expand frequency domain analysis to very specific machinery diagnostics. Order tracking* examines the harmonic content of a signal, similar to an FFT, but as a function of rotational frequency (running speed) instead of time frequency. This is especially useful for varying-speed machines because the location of orders remains fixed — even during speed variations.

      (Editor’s note: in this article, order tracking refers to detecting and analysing the harmonic content of a signal waveform)

      In general, frequency analysis of machinery signals is typical when characterizing mechanical component performance. By depicting signal magnitude as a function of frequency (by applying an FFT), this type of analysis can often better distinguish source-related signal components. Periodic signal components appear as spikes in the frequency domain, which are not apparent in the time domain. The height of each spike is proportional to the vibration created by the source mechanical component.

      Event management, including trending, alarming, and communication with a DCS
      Managing alarms and events is critical in every software system in a facility and MCM software is no exception. When acquiring large amounts of data or data over long periods of time on a machine, engineers are typically less interested in the value of each data point and are more interested in significant changes in the data values. These changes in vibration level or FFT peak can be monitored using alarms and events. It is important that the history of these alarms and events be preserved, so they can be analyzed at a later date. Key features needed to support alarms include the ability to generate an alarm, store it along with the associated data such as sensor/machine location, and recall the alarm and all of the relevant information after the acquisition. Relevant information may include when the alarm was triggered, who acknowledged it, and at what time it was acknowledged. Modern application development environments make is easy for engineers to configure and monitor alarms allowing them to focus on the machine faults that cause the alarms rather than programming an alarm infrastructure themselves.

      Reporting and data management
      The data that has been logged by the MCM system can be used for analysis to improve performance and also to diagnose events, step by step. Configuration-based software tools designed specifically for interactive data analysis, report generation, and data management exist to make this task very straightforward. With the tools, it is possible to perform powerful analysis on test data without writing programs and inspect the results using a complete set of visualization tools such as graphs and tables. The best of these software tools can import data from several file formats as well as industry-standard databases such as SQL/ODBC/ADO and generate reports using a common template.

      Other data management tools provide the power to customize and automate common data analysis and reporting tasks. Using an automation process, it is possible to record a sequence of mouse clicks and keyboard strokes so that the functionality can be reused repeatedly, much like a macro. This procedure might include loading data sets, calculating and manipulating your data, creating graphic displays of your data, and printing reports to a network printer. Then, with a single mouse click, engineers and technicians throughout the organization can perform analysis and generate professional reports on their datasets to best determine maintenance plans for the machinery.

      MCM Software Deployment Platforms
      General Purpose Operating Systems
      Most software, including MCM and PdM systems, is created and deployed on a general-purpose operating system (OS). These are the operating systems that run on desktop and industrial PCs such as Windows XP, Linux, Solaris, and Mac OS X. These operating systems are extremely popular for their GUIs and ease of use. General-purpose operating systems offer the most flexibility for connectivity and the most power for analysis functions. MCM software on general-purpose OSs often links hardware such as SCADA, fieldbuses, and PLCs to manufacturing execution systems (MES) and other enterprise software.

      Real-Time operating systems
      The most common misconception associated with real-time performance is that it increases the execution speed of the MCM program. While this is true in some cases, it actually enhances the application by providing more precise and predictable timing characteristics. With these enhancements, it is possible to determine the exact time when certain events will occur such as the vibration data acquisition.

      At the core of a real-time system is a real-time OS. One of the main differences between a real-time OS and a general-purpose OS is the ability to guarantee a worst-case latency. On a general-purpose OS, an external interrupt could be put into a queue and then serviced later after the OS has finished its current operation and any other interrupts in the queue. In contrast, a real-time OS can halt its current process to handle an interrupt immediately. In essence, the real-time OS guarantees event response within a certain interval. To do this, the real-time OS assigns priorities to processes and interrupts. If a high priority interrupt occurs, the real-time OS immediately halts its process and services the interrupt.

      A real-time operating system should be used to guarantee that a time-critical task precisely executes on a specified time schedule. The Windows OS, on the other hand, is designed to offer time-slices or processor time to background tasks as it sees fit. Because the user often has very little control over how processor time is shared, Windows is not considered a real-time operating system. Consequently, noncritical tasks (such as screen savers and virus protection software) may interfere with a time-critical process in the MCM software, such as a data acquisition application or an alarming event, starving it of valuable processor time.

      For example, if Windows is commanded to open a web browser, the processor temporarily suspends execution of the MCM software to begin executing instructions required to launch Internet Explorer or Netscape. From the user’s perspective, this might not make a visible change in the MCM software display, but if several instances of the browser were launched, the user would eventually detect a noticeable amount of lag on the software’s user interface as well as lag in the time it takes to launch additional browsers. More importantly, however, a time-critical application might suffer because the MCM software would not be capable of immediately responding to a critical condition — all because of the arbitrary nature of the priority management of the general-purpose OS.

      Field programmable gate arrays
      An FPGA is a chip that contains many unconfigured logic gates. Unlike the fixed, vendor-defined functionality of an application-specific integrated circuit (ASIC) chip, you can configure and reconfigure an FPGA for each application. In an MCM application, it could be reading from multiple tachometers or setting up complex acquisition triggers. FPGAs offer the advantages of hardware but give the engineer or programmer the ability to reconfigure settings after being placed into service. Because FPGAs are be used for implementation of custom algorithms in hardware, they offer benefits such as precise timing and synchronization, rapid decision-making, and simultaneous execution of parallel tasks.

      Configuring FPGAs has historically required expertise in very high-leveldesign language (VHDL) programming or complex design tools used more by hardware design engineers than plant engineers and maintenance technicians. Now with modern graphical development environments it is virtually painless to create MCM and PdM systems that take advantage of the benefits of FPGAs. Thus the same tool that was used to create the other parts of the system can be used to configure the FPGA. Because the hardware itself runs the algorithms, performance is typically much better than that of software-based systems. In a machine monitoring system, advanced order tracking and FFTs can be implemented on the FPGA for true simultaneous, parallel processing.

      Are you still afraid of the thought of software? With the power and flexibility of today’s software platforms, there is no reason why plant engineers should settle for MCM systems that don’t fully meet their needs. Current software development packages can be used to build user interfaces, do advanced analysis, trend data, and construct reports in a single environment. The same package can also target a variety of platforms to meet your ideal performance requirements.

      Chris DeFilippo is a sound and vibration product manager at National Instruments. His current projects include coordinating web development for sound and vibration products, implementing product launches, and developing partnerships. Chris has worked as an instrumentation engineer at Penn State University’s astronomy department and as an applications engineer at National Instruments.