The 7 Quesitions of

RCM

by Carlos Cristancho, Spec. in Industrial Instrumentation and Control

Introduction

In the oil and gas industry, the reliability of instrumentation equipment and industrial control systems is fundamental to ensuring operational continuity, process safety, and the profitability of operations. Maintaining these assets requires a strategic and structured approach, especially in a sector where the margin for error is minimal and the consequences of failure can be catastrophic. In this context, Reliability-Centered Maintenance (RCM) becomes an essential tool.

The SAE JA1011 standard establishes clear and specific criteria for evaluating RCM processes, proposing a set of “7 questions” that guide the implementation of this methodology. These questions allow maintenance and reliability managers to effectively identify and manage failure risks, establishing preventive and predictive maintenance strategies that optimize resources and maximize the lifespan of assets.

The SAE JA1012 standard provides a detailed explanation of the essential criteria guiding the answers to the “7 questions”, defining the necessary requirements for evaluating RCM processes and identifying additional elements that must be considered to ensure effective implementation. This offers a comprehensive framework for those who wish to rigorously and successfully apply the RCM methodology.

In this article, I aim to explore each of the “7 RCM questions” from the perspective of instrumentation and control systems applied to the oil and gas production industry, a field in which I have developed my professional career. Throughout this analysis, I will share examples and reflections based on my direct experience in designing and implementing maintenance plans. This practical approach will enable readers to visualize how the principles of the SAE JA1011 standard, in conjunction with the SAE JA1012 standard, can be applied in critical industrial environments, helping to prevent unplanned downtime, optimize safety, and reduce operational costs.

The intention of this article is to provide a structured and practical guide that enables professionals in the sector to develop robust maintenance plans tailored to the specific needs of the oil and gas industry. By applying RCM principles, maintenance teams can significantly improve the reliability and performance of assets, ensuring safer and more efficient operations.

What are the desired functions and associated performance standards of the asset in its current operational context (functions)?

To implement Reliability-Centered Maintenance (RCM) on instrumentation equipment and industrial control systems within the oil and gas sector, it is essential to clearly understand the desired functions of each asset and the performance standards it must meet in its operational context. In this industry, these systems play a critical role in ensuring that processes remain stable, efficient, and, above all, safe. Any deviation in their operating parameters can jeopardize operations and lead to significant financial losses.

The first step in developing any maintenance plan, which aligns with section 5.1.1 of the SAE JA1011 standard, is a demanding and highly responsible task. Defining the operational context of each asset requires searching, collecting, and connecting the documentation related to the project's design and construction, particularly for new equipment or projects. For assets or projects already in operation, this process also necessitates access to operational history.

Based on my professional experience, the documentation I have used as input for defining the operational context applicable to instrumentation and control systems is illustrated in Figure 1. This initial step also requires effective, multidisciplinary communication with the organizational departments involved in project development or operation, in conjunction with the application of international, national, regional, and company-specific standards.

This is because the functions and failure management strategies of an asset are influenced not only by the asset itself but also by the context in which it operates. Therefore, a clear definition of the operational context is essential before addressing questions related to asset performance and reliability.

A description of how instrumentation and control systems are intended to be used in a specific project, the geographical and environmental conditions where these systems will operate, along with standards related to production, performance, safety, and environmental integrity, are the required components for declaring an operational context.

In Figure 1, it can also be observed that the output of the operational context declaration is a document that identifies whether the instrumentation and/or control system will operate in a batch (intermittent) or flow (continuous) process, the expectations for product quality and customer service, including metrics such as waste rates and customer satisfaction, and compliance with relevant environmental regulations at organizational, regional, national, and international levels.

Additionally, the document declaring the operational context must identify established safety expectations, including injury and fatality rates, the characteristics of the operational environment (e.g., arctic or tropical), the operational schedule (e.g., continuous or intermittent), and load conditions (maximum load or base load), as well as the availability of backup systems or capacities.

Illustration of time and frequency domain relationship

Figure 1. Scheme based on the operational context criteria and guidelines described in SAE JA1011 and SAE JA1012 standards.

It should also identify the extent to which work in progress can absorb equipment downtime without affecting total production, decisions on the storage of critical spare parts that may influence failure management strategies, and consideration of market demand fluctuations and raw material availability that could impact operations.

For complex systems, it may be beneficial to organize the operational context hierarchically, beginning with the organization's general mission statement that uses the asset.

Instrumentation assets in oil and gas fulfill desired or required functions such as accurately measuring variables (pressure, temperature, flow, etc.), continuously monitoring processes, and generating control signals that enable real-time automatic adjustments. On the other hand, control systems (such as DCS or PLCs) interpret signals from instruments and adjust operations to maintain conditions within safe and operational limits.

According to section 5.1.2 of the SAE JA1011 standard, the functions to be identified are classified into primary and secondary functions. Primary functions are the fundamental reasons an organization acquires an asset or system. These functions represent the core purpose of the asset or system and are essential to achieving the organization’s objectives.

For example, consider a transmitter that measures level by differential pressure. The LIT-0715012 asset fulfills the following primary functions:

  1. Measuring the level in the Clarifier Tank CLFT-071692.

  2. Transmitting the control signal to the PLCINS-018270 controller located in the Control Cabinet PLCSTAP-018270.

  3. Activating interlock I3 for high level in the Clarifier (H = 112.58 inH2O), triggering the closure of valve FCV-071910 to prevent production water from entering the Clarifier from the Fwko Tanks (TK-071011/2) and the Washing Tanks (TK-071293/4).

  4. Activating interlock I8 for low level in the Clarifier (L = 104.59 inH2O), triggering the closure of valve XV-0716021 to prevent sludge from leaving the Clarifier toward the distribution header feeding the Sludge Pumps AP-071601A/B.

According to section 6.2.1 of the SAE JA1012 standard, this means the transmitter must:

  1. Measure level: The primary function is to measure water level in the clarifier tank, which is the central purpose of having a level transmitter.

  2. Measurement capacity: The transmitter must measure levels via differential pressure within a range of 104.59 inH2O to 112.58 inH2O, implying appropriate design and mounting space.

  3. Alarm activation: The references to "104.59 inH2O" and "112.58 inH2O" establish performance standards in terms of differential pressure, which are critical for the transmitter’s functionality in level measurement.

Identifying primary functions is crucial for several reasons:

Fundamental Concepts

The Fourier Transform is a mathematical tool that converts a signal from the time domain to its representation in the frequency domain. Essentially, it breaks down a complex signal into a set of sinusoidal waves of different frequencies.

Illustration of time and frequency domain relationship

Figure 3. Signal in the time and frequency domains. Source: Phonical, CC BY-SA 4.0 https:////creativecommons.org/licenses/by-sa/4.0, via Wikimedia Commons.

Its main application is signal analysis, allowing the identification of the dominant frequency and essential characteristics of any continuous signal.

This is fundamental in fields like telecommunications, where it is used for visual and audio signal processing, in wave physics for vibration analysis, and in control systems for filtering noise in electrical signals, among others.

The Discrete Fourier Transform (DFT) is a variant of the Fourier Transform, adapted to work with discrete signals. As technology has advanced towards digital systems, continuous signals have been replaced by digital signals, that is, values taken at specific time intervals.

The DFT converts a discrete signal into a series of frequency components, allowing the analysis of frequencies in digital systems. Some examples of its use include analyzing the frequency of digital signals in applications like image and audio compression, frequency detection in financial time series, and more.

Although the DFT is a powerful tool, its computational cost is high, especially for large signals. This is where the Fast Fourier Transform (FFT) comes in, an algorithmic improvement that significantly reduces the computation time, going from O(N²) complexity in the DFT to O(N logN) in the FFT.

This has made signal analysis more efficient by allowing electronic devices and computing systems to process signals much faster, making it a cornerstone of modern technology.

In summary, while the FT is the general tool applied to continuous signals and is useful in mathematical theory, the DFT is its discrete counterpart used for signals in digital systems, and the FFT is an optimized algorithm to compute the DFT efficiently, drastically reducing processing time.

Despite the advantages of FFT, there was room to improve its performance on modern hardware. This is where FFTW (Fastest Fourier Transform in the West) comes in.

FFTW is a highly optimized software library for computing FFT on various hardware architectures, taking advantage of cache memory and the specific characteristics of each system.

FFTW achieves outstanding performance by dynamically generating optimized code at runtime, allowing FFT calculations faster than traditional implementations.

Its appearance has facilitated the analysis of high-frequency signals in scientific research and advanced engineering applications, marking a milestone in FFT computation across various systems.

But what is FFTW?

FFTW, which stands for 'Fastest Fourier Transform in the West', is a widely used library for computing the Fast Fourier Transform (FFT). Initially developed at MIT, its purpose is to optimize FFT performance across different platforms, being adaptable to both complex and real data, in one or multiple dimensions.

FFTW uses a unique approach known as 'planning', where it optimizes operations for the specific hardware on which it is run, allowing the computation to be as efficient as possible.

The efficiency of FFTW comes from its ability to generate plans that optimize the FFT calculation. The software automatically selects from various execution strategies, allowing it to adapt to the specificities of the target hardware.

It uses a combination of techniques, such as recursive factorization and redundancy elimination in the calculation, which drastically reduce the number of operations needed compared to traditional implementations.

FFTW also takes processor cache into account, optimizing memory usage and reducing access times, making it one of the fastest FFT implementations.

While other FFT libraries, such as NVIDIA’s cuFFT for GPU or Intel's FFT, are also highly efficient on specific platforms, FFTW stands out for its ability to adapt to a wide variety of architectures and devices, optimizing performance without manual intervention.

Unlike manual FFT implementations, which can be useful for very specific applications but are prone to errors and rarely optimize automatically, FFTW simplifies the process by automatically generating the most efficient strategies. Among the key advantages of using FFTW, we can mention:

FFTW Implementation in C++

The implementation of FFTW in C++ follows a structured process that, although it involves several steps, ensures an efficient and functional integration of this powerful library into any project. Below are the essential steps to set up FFTW in a C++ environment using the Visual Studio IDE.

Debug Win32 mode configuration.

Figure 4. Debug Win32 mode configuration.

Release Win32 mode configuration.

Figure 5. Release Win32 mode configuration.

Debug x64 mode configuration.

Figure 6. Debug x64 mode configuration.

Release x64 mode configuration.

Figure 7. Release x64 mode configuration.

The image shown below is a simple example of code implementing FFTW to compute the Fast Fourier Transform on a one-dimensional discrete signal. Code explanation:

Example of C++ code that implements FFTW.

Figure 8. Example of C++ code that implements FFTW to perform a Fast Fourier Transform (FFT) on an input signal.

Results Analysis

The FFT works by decomposing the original signal into a sum of sinusoidal waves of different frequencies.

The process essentially converts a signal from the time domain to the frequency domain, allowing the identification of the frequency components that make up the original signal.

In our specific case, the FFT decomposed the input signal (a sequence of real numbers from 0 to 15, where the values correspond to discrete points of a real function in time) into a series of frequencies.

Console output of the FFTW execution.

Figure 9. Console output of the FFTW execution, showing the complex output values obtained after applying the Fast Fourier Transform to a 16-sample input signal in an x86 environment.

Due to the simplicity of the signal (numbers from 0 to 15), the FFT identified that most of the energy is concentrated in the low frequencies, which is reflected in the values obtained in the spectrum.

The result of the FFT is a series of complex values representing the frequencies present in the original signal. These frequencies are displayed in terms of their amplitude and phase, allowing us to visualize which frequencies dominate in the input signal.

The complex value out[0] indicates the amplitude of the zero-frequency component, or the 'constant frequency' (DC). In our case, the amplitude of the constant frequency is high due to the linear nature of the input signal.

The successive values, such as out[1] and out[2], indicate the amplitude and phase of the higher-frequency components. The real values correspond to the magnitude of the sinusoidal component, while the imaginary values indicate the phase of that frequency.

The observed pattern in the results shows that for a linear signal, the dominant frequency is the constant one (zero frequency), which explains the high value in out[0].

As we move through the spectrum, the values tend to decrease, indicating that higher frequencies have less impact on the original signal.

In more complex applications, such as audio analysis or image processing, the FFT can reveal more interesting frequency components, such as the presence of specific tones in an audio signal or repetitive patterns in an image.

Results Analysis

The FFT works by decomposing the original signal into a sum of sinusoidal waves of different frequencies.

The process essentially converts a signal from the time domain to the frequency domain, allowing the identification of the frequency components that make up the original signal.

In our specific case, the FFT decomposed the input signal (a sequence of real numbers from 0 to 15, where the values correspond to discrete points of a real function in time) into a series of frequencies.

Console output of the FFTW execution.

Figure 9. Console output of the FFTW execution, showing the complex output values obtained after applying the Fast Fourier Transform to a 16-sample input signal in an x86 environment.

Due to the simplicity of the signal (numbers from 0 to 15), the FFT identified that most of the energy is concentrated in the low frequencies, which is reflected in the values obtained in the spectrum.

The result of the FFT is a series of complex values representing the frequencies present in the original signal. These frequencies are displayed in terms of their amplitude and phase, allowing us to visualize which frequencies dominate in the input signal.

The complex value out[0] indicates the amplitude of the zero-frequency component, or the 'constant frequency' (DC). In our case, the amplitude of the constant frequency is high due to the linear nature of the input signal.

The successive values, such as out[1] and out[2], indicate the amplitude and phase of the higher-frequency components. The real values correspond to the magnitude of the sinusoidal component, while the imaginary values indicate the phase of that frequency.

The observed pattern in the results shows that for a linear signal, the dominant frequency is the constant one (zero frequency), which explains the high value in out[0].

As we move through the spectrum, the values tend to decrease, indicating that higher frequencies have less impact on the original signal.

In more complex applications, such as audio analysis or image processing, the FFT can reveal more interesting frequency components, such as the presence of specific tones in an audio signal or repetitive patterns in an image.

Results Analysis

The FFT works by decomposing the original signal into a sum of sinusoidal waves of different frequencies.

The process essentially converts a signal from the time domain to the frequency domain, allowing the identification of the frequency components that make up the original signal.

In our specific case, the FFT decomposed the input signal (a sequence of real numbers from 0 to 15, where the values correspond to discrete points of a real function in time) into a series of frequencies.

Console output of the FFTW execution.

Figure 9. Console output of the FFTW execution, showing the complex output values obtained after applying the Fast Fourier Transform to a 16-sample input signal in an x86 environment.

Due to the simplicity of the signal (numbers from 0 to 15), the FFT identified that most of the energy is concentrated in the low frequencies, which is reflected in the values obtained in the spectrum.

The result of the FFT is a series of complex values representing the frequencies present in the original signal. These frequencies are displayed in terms of their amplitude and phase, allowing us to visualize which frequencies dominate in the input signal.

The complex value out[0] indicates the amplitude of the zero-frequency component, or the 'constant frequency' (DC). In our case, the amplitude of the constant frequency is high due to the linear nature of the input signal.

The successive values, such as out[1] and out[2], indicate the amplitude and phase of the higher-frequency components. The real values correspond to the magnitude of the sinusoidal component, while the imaginary values indicate the phase of that frequency.

The observed pattern in the results shows that for a linear signal, the dominant frequency is the constant one (zero frequency), which explains the high value in out[0].

As we move through the spectrum, the values tend to decrease, indicating that higher frequencies have less impact on the original signal.

In more complex applications, such as audio analysis or image processing, the FFT can reveal more interesting frequency components, such as the presence of specific tones in an audio signal or repetitive patterns in an image.

Conclusions

The success in implementing FFTW not only highlights its efficiency in handling the FFT but also its potential in future scientific and development projects.

From signal analysis in fields such as physics and engineering, to its use in image processing, data compression, system simulation, and trend prediction in finance, FFTW will continue to be an essential tool.

Its ability to work with different data sizes and hardware configurations makes it a versatile option that will undoubtedly be integrated into innovative projects across various areas of knowledge and industry.

It is safe to say that FFTW will continue to evolve, providing fast and efficient solutions in the ever-changing landscape of technology.

Implementing the FFTW library in C++ allowed firsthand experience of the flexibility and power this tool offers. From the initial setup to the successful execution of the program, challenges were overcome thanks to the clear documentation of the library and the developer community that has contributed to its evolution.

The implementation itself gave us the opportunity to appreciate how a tool like FFTW facilitates working with large volumes of data by performing calculations efficiently and accurately.

Moreover, it deepened our understanding of the importance of using optimized libraries designed to fully leverage hardware resources, especially in scientific and engineering applications.

Bibliography and Resources

The official FFTW website is the best starting point for obtaining direct and up-to-date information about this powerful library. From downloading versions to accessing detailed technical documentation, this site offers all the resources needed for those looking to implement FFTW in their projects.

For those who wish to dive deeper into the library, the official FFTW manual provides detailed examples and technical explanations on how to fully utilize the library’s capabilities. From installation to advanced implementation, this manual is an indispensable tool.

FFTW has been the subject of study in various scientific research papers. Among the most relevant are publications that explain its architecture and the algorithms it uses to achieve the efficiency it is known for. It is recommended to explore studies by Matteo Frigo and Steven G. Johnson, the creators of FFTW, who have published numerous articles in scientific journals detailing the inner workings of the library.

The official FFTW page provides code examples for implementing FFTW in different languages, with C and C++ being the most common. These examples allow developers to quickly start using the library in their projects.

On platforms such as Stack Overflow and GitHub, there are active communities discussing FFTW, providing solutions to common problems and sharing code examples to implement FFTW in specific projects.

There are online tutorials that explain in a didactic way how to install and configure FFTW, as well as how to optimize its use in projects. It is recommended to search for courses and videos on platforms such as YouTube, Coursera, or Udemy to gain a visual and practical understanding of its use.