Frequently there’s concern that anything “standard” equates to basic or rudimentary but that’s not the case with FF’s standard function blocks, each includes a rich set of features and capabilities.
For example, switching a cascade control strategy in/out of cascade mode without upsetting the process requires automatic tracking of setpoint and output values based on each loops mode – Manual, Auto, Cascade (sometimes referred to as Remote Setpoint). This is commonly referred to as a bumpless transfer and it’s just one example of the rich set of capabilities included in the processing algorithm that’s encapsulated in each FF PID control function block.
Of course it’s impossible to describe, or even think of every control strategy that could be assembled using FF’s standard function blocks, but a few that come to mind include:
- Single loop feedback (PID) control.
- Feedforward added to PID control.
- Two and three-element cascade PID control.
- Ratio control.
- Control requiring bias and gain and/or lead/lag such as often required in combustion control applications.
- Loops requiring manual loader stations.
- Loops requiring manual or automatic selection of different process variables, such as temperature or pH sensors.
- Loops that need the final control element set to a fixed value based on the status of a discrete input.
Every process control application relies on operators having access to a variety of real-time calculated values such as material balance and total flow.
One of the most common process calculations is determining a vessels liquid level using pressure measurements – a measurement principal commonly referred to as hydrostatic tank gauging (HTG).
HTG uses the principle that the difference between two pressures is equal to the height of the liquid multiplied by the specific gravity of the fluid. Because it’s such a commonly required measurement, a pre-configured HTG compensated level calculation is included as one of the nine selectable functions available in FF’s arithmetic function block; other’s are:
- Average of inputs
- BTU flow
- Flow compensation approximate
- Flow compensation linear
- Flow compensation square root
- Fourth order polynomial
- Multiply and divide
- Sum of inputs
Another commonly used process calculation is totalizing the flow, mass, or volume of a liquid over time.
Figure 3 below illustrates how FF’s arithmetic and integrator function blocks are combined to produce an integrated mass flow value using uncompensated flow, temperature, and pressure measurements as inputs.
These few examples represent a mere fraction of the ways standard FF function blocks are facilitating a return to the best practice of single-loop and single-strategy integrity – but it doesn’t end there.
Shortly after Fieldbus Foundation released its standard function block specifications users began requesting additional function blocks. To avoid the problems associated with identifying, developing, testing, and maintaining a potentially massive library of function blocks, the Fieldbus Foundation programming gurus, working in cooperation with end-users, determined that the best long-term solution was to create what eventually became FF’s flexible function blocks.
Beyond Committee Dreams
FF flexible function blocks are similar to standard function blocks, except that the blocks developer (programmer) defines its actual function, the order and definition of its parameters, and the content and execution time of the blocks algorithm.
Flexible function blocks are well suited to create analog and discrete control applications, provide an excellent means of performing complex calculations, and they can be used in conjunction with both standard and other flexible function blocks to form sophisticated field-deployable application solutions.
One fairly simple example of a flexible function block application uses three discrete level switches as inputs to start and stop two pumps in order to control the level in a sump (See Figure 4 below).
In this “snap control” example, the requirements include alternating the use of pumps YD1 and YD2 to extend pump life. ZS3 turns the pumps off, ZS2 turns one of the pumps on and if the level ever reaches the ZS1 trip point, both pumps are turned on.
Traditionally the logic for snap control would be located in a PAS controller, but if an application requires three or four snap control deployments and those deployments can be placed in to existing field-devices, the solution will be more reliable, cost nothing to implement, and frees up valuable PAS controller processing time.
Like standard function blocks, flexible function blocks are not confined to just performing control tasks, they can also be used for complex calculations.
Two flexible function block applications implemented by a major oil company involved implementing two widely used oil field measurements – de Leeuw wet gas correction (See Figure 5) and the production gas estimator for continuous well monitoring (See Figure 6).
Each measurement makes use of the equation for compensated volumetric flow defined in the ISO 5167 standard, thus that particular function block has been instantiated – that is, created once and used over and over.
The de Leeuw wet gas flow correction makes use of a correlation algorithm that compensates for over-readings resulting from metering multiphase gases.