Flow-X Manual IIIb - Function Reference CM FlowX FR-EN C
Flow-X Manual IIIb - Function Reference CM FlowX FR-EN C
A B B M E A S U R E M E N T & A N A LY T I C S | F U N C T I O N R E F E R E N C E M A N U A L
SpiritIT Flow-X
High accuracy flow computers
—
Flow-X/P with Introduction For more information
Flow-X/M module
Welcome to the exciting world of SpiritIT Flow-X! All publications of SpiritIT Flow-X are available for
This document describes the spreadsheet functions free download from:
for the SpiritIT Flow-X series and background
information on related standards and calculation
methods used in the industry for quality and
quantity measurement of hydrocarbon and other
type of fluids.
Search for:
There are three reference manuals: SpiritIT Flow-X instruction manual IM/FlowX-EN
• Volume I – This Installation manual, with the IT
Spirit Flow-X configuration manual CM/FlowX-EN
installation instructions. SpiritIT Flow-X
CM/FlowX/GM-EN
• Volume II – The Operation and Configuration gas metric application manual
Contents
fxASTM_D4311M_09_C ......................................................... 80
1 Introduction ................................................................ 4 fxASTM_D4311M_09_M ........................................................ 81
Flow-X function library ...........................................................4 fxConvertUnit ......................................................................... 82
API Petroleum Measurement Tables ...................................4 fxEthylene_IUPAC_C ............................................................. 83
fxEthylene_IUPAC_M ............................................................ 84
2 Spirit IT Gas and liquid functions............................. 8
fxEthylene_NIST1045 ............................................................ 85
fxAGA3_C ................................................................................... 8
fxGasViscosity_2004 ............................................................ 86
fxAGA5_C ................................................................................. 12
fxGERG2008_Gas .................................................................. 87
fxAGA8_C ................................................................................. 13
fxGERG2008_Flash................................................................ 88
fxAGA8_M ................................................................................ 14
fxGOST30319 .......................................................................... 89
fxAGA8_Gross ......................................................................... 15
fxGOST30319_AGA8.............................................................. 90
fxAGA10_M .............................................................................. 16
fxGOST30319_SGERG91 ....................................................... 91
fxAGA10ex_M .......................................................................... 17
fxGPA_TP15 ............................................................................. 92
fxAPI_Dens15C_1952 ............................................................. 19
fxGPA2172_C ........................................................................... 93
fxAPI_Dens15C_1980 ............................................................. 21
fxGPA2172_M .......................................................................... 95
fxAPI_Dens15C_NGL_LPG.................................................... 24
fxIAPWS_IF97_C ..................................................................... 97
fxAPI_Dens20C_NGL_LPG .................................................... 27
fxIAPWS_IF97_M .................................................................... 99
fxAPI_Gravity60F_1952 ........................................................ 30
fxInterpolationCurve .......................................................... 101
fxAPI_Gravity60F_1980......................................................... 32
fxISO5167_ISA1932Nozzle .................................................. 102
fxAPI_MPMS_11_2_1 ...............................................................35
fxISO5167_LongRadiusNozzle .......................................... 104
fxAPI_MPMS_11_2_1M .......................................................... 36
fxISO5167_Orifice ................................................................ 106
fxAPI_MPMS_11_2_2............................................................... 37
fxISO5167_Venturi ............................................................... 110
fxAPI_MPMS_11_2_2M .......................................................... 38
fxISO5167_VenturiNozzle.................................................... 112
fxAPI_MPMS_11_3_2_1 .......................................................... 39
fxISO6976_1983_M ...............................................................114
fxAPI_MPMS_11_3_3_2 ......................................................... 40
fxISO6976_1995_M............................................................... 115
fxAPI_RD60F_1980................................................................. 41
fxISO6976ex_1995_M .......................................................... 116
fxAPI_SG60F_1952 ................................................................ 44
fxISO6976_2016_M...............................................................118
fxAPI_RD60F_NGL_LPG ....................................................... 46
fxISO6976ex_2016_M ..........................................................118
fxAPI_Table5_1952 ................................................................ 49
fxMR113................................................................................... 121
fxAPI_Table5_1980................................................................ 50
fxNX19_1962 ..........................................................................122
fxAPI_Table5_2004 ................................................................ 51
fxNX19_M .............................................................................. 123
fxAPI_Table6_1952 ................................................................. 52
fxOIML_R22_1975 ................................................................ 124
fxAPI_Table6_1980 ................................................................53
fxSarasota_C ........................................................................ 125
fxAPI_Table6_2004 ............................................................... 54
fxSarasota_M ....................................................................... 126
fxAPI_Table23_1952 .............................................................. 55
fxSGERG_C ............................................................................. 127
fxAPI_Table23_1980.............................................................. 56
fxSGERG_M ........................................................................... 129
fxAPI_Table23_2004 .............................................................. 57
fxSolartron_Gas_C .............................................................. 130
fxAPI_Table23E ...................................................................... 59
fxSolartron_Gas_M ............................................................. 132
fxAPI_Table24_1952 .............................................................. 60
fxSolartron_Liquid _C......................................................... 134
fxAPI_Table24_1980 .............................................................. 61
fxSolartron_Liquid_M ......................................................... 136
fxAPI_Table24_2004 ............................................................. 63
fxSolartron_SG ..................................................................... 138
fxAPI_Table24E ...................................................................... 64
fxUGC_C ................................................................................ 139
fxAPI_Table53_1952 .............................................................. 65
fxUGC_M................................................................................ 140
fxAPI_Table53_1980 ............................................................. 66
fxVCone_C.............................................................................. 141
fxAPI_Table53_2004 .............................................................. 67
fxVCone_M ............................................................................ 143
fxAPI_Table53E ...................................................................... 68
fxAPI_Table54_1952.............................................................. 69 3 Flow-X flow computer functions ........................ 146
fxAPI_Table54_1980 ............................................................. 70 fx2CellSelection ................................................................... 146
fxAPI_Table54_2004 .............................................................. 71 fx3CellSelection ................................................................... 147
fxAPI_Table54E ....................................................................... 72 fxBatchFWA .......................................................................... 149
fxAPI_Table59_2004 .............................................................. 73 fxBatchHistData .................................................................. 150
fxAPI_Table59E .......................................................................74 fxBatchLatch ......................................................................... 151
fxAPI_Table60_2004.............................................................. 75 fxBatchMax ........................................................................... 152
fxAPI_Table60E....................................................................... 76 fxBatchMin ............................................................................ 153
fxASTM_D1550_RD60............................................................ 77 fxBatchTotal ......................................................................... 154
fxASTM_D1550_Ctl ................................................................ 79 fxBatchTWA .......................................................................... 155
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 3
fxBatchWatch .......................................................................156
fxDeviationAlarm ................................................................. 157
fxGenerateReport ................................................................158
fxIndex ....................................................................................159
fxKeypadFallback ................................................................ 160
fxKeypadFallbackArray ....................................................... 161
fxLatch.................................................................................... 162
fxLimitAlarm ......................................................................... 163
fxName .................................................................................. 164
fxPeriodFWA .........................................................................165
fxPeriodLatch ...................................................................... 166
fxPeriodMax .......................................................................... 167
fxPeriodMin .......................................................................... 168
fxPeriodTotal ....................................................................... 169
fxPeriodTWA ......................................................................... 170
fxPeriodWatch ...................................................................... 171
fxPID........................................................................................ 172
fxROCAlarm ........................................................................... 175
fxSetOnChange .................................................................... 176
fxSetOnCondition ................................................................ 177
fxSetOnEvent ........................................................................ 178
fxSetIndexOnChange .......................................................... 179
fxSetIndexOnCondition ..................................................... 180
fxSetIndexOnEvent .............................................................. 181
fxStatusAlarm ....................................................................... 182
fxTag ....................................................................................... 183
fxTimer .................................................................................. 184
fxTotalizerDelta ....................................................................185
fxTotalizerRate .................................................................... 186
fxWatchUpdate .................................................................... 187
1 Introduction
Flow-X function library This resulted in the following Petroleum Measurement Tables
dealing with the conversion of volume and density to and from a
The Spirit IT Flow-X series of flow computer uses Microsoft Excel reference temperature.
as its configuration environment. Each Flow-X application
consists of a single Excel workbook that contains one or more Number Title
worksheets. 5 API Gravity Reduction to 60°F
Flow-X functions are configured as regular Excel functions. By 6 Reduction of Volume to 60°F Against API Gravity at 60°F
23 Reduction of Observed Specific Gravity to Specific Gravity
using the output of one function as an input (argument) in 60/60°F
another function a complete calculation scheme can be made. 24 Reduction of Volume to 60o F Against Specific Gravity 60/60°F
Functions can be defined on multiple sheets in order to organize 53 Reduction of Observed Density to Density at 15°C
54 Reduction of Volume to 15°C Against Density at 15°C
the application.
59 Reduction of Observed Density to Density at 20°C
60 Reduction of Volume to 20°C Against Density at 20°C
API Petroleum Measurement Tables
In 2004 the API MPMS 11.1 1980 tables were superseded by a new
History
set of tables primarily for the following reasons:
The first version of the API Petroleum Measurement Tables was
• API 11.1:2004 includes the correction for both temperature
published in 1952. In those days measurement readings were
and pressure in one and the same algorithm
taken manually and the tables were used to convert the
• Taken into account the progress in electronics (and for other
observed density or gravity at the observed temperature to the
reasons) the complex truncating and rounding rules were
value at the reference temperature. So the table values were the
abandoned. Instead the calculation procedures use double-
actual standard.
precision floating point math. The input and output values
The 1952 Tables consists of 58 tables containing all kind of
are still rounded in order to obtain consistent results.
correction and conversion factors used in the measurement of
• The convergence methods for the correction of observed
hydrocarbon liquids. Each table deals with a particular
density to base density have been improved.
conversion of units, correction of density, or correction of
• On-line density measurement by densitometers became
volume. The 1952 tables that have to do with the conversion of
common practice, requiring the pressure and temperature
density and volume are: 5, 6, 23, 24, 53 and 54.
correction to be incorporated in one ands the same
Table 5, 6, 23 and 24 convert density or volume to or from to a
procedure
reference temperature of 60°F, while tables 53 and 54 refer to
• The tables are extended in both temperature and density to
15°C.
cover lower temperatures and higher densities.
• The previous standard used a significant digit format which
In 1980 a complete new set of tables was published together
resulted in 4 or 5 decimal places depending on whether the
with computer routines to allow electronic devices to
observed temperature was above or below the reference
automatically calculate the volume conversion factors and API
temperature. The new standard prescribes 5 decimal places
gravity / (relative) density at the reference temperature. Back
if or both cases.
then most electronic devices were not capable of performing
• The IP paper No. 3 tables were added to accommodate
double-precision floating point calculations, so the standard
conversion to 20°C.
prescribed all kind of rounding and truncating rules to make sure
that the calculations would always provide the same result. For
the 1980 version the calculation procedures are the standard Tables for lubricating oils including the implementation
rather than the table values. procedures are now part of the standard.
In the 1980 version, which is also referred to as API-2540, the Volume correction for pressure
tables are divided into 3 product groups and a letter designation The API MPMS 11.1:1980 Tables only cover the correction for
was used to distinguish between the sub-tables. "A" was used temperature. The correction for pressure was published in API
for crude oil, "B" for refined products and "C" for special MPMS standards 11.2.1 and 11.2.2.
applications. The 1980 tables, however, did not cover the LPGs The correction for pressure is to the atmospheric pressure or,
and NGLs density ranges and the 1952 Tables were left valid for for products within the lower density range, to the equilibrium
these products. Furthermore, the lubricating oil tables vapor pressure.
(designated as "D") were not complete at the time of the To calculate the equilibrium vapor pressure an Addendum was
printing in 1980 and were released two years later. As opposed added to API MPMS 11.2.2. This addendum is also known as GPA
to the A, B and C tables no implementation procedures were TP-15 (1988). In September 2007 the addendum was replaced by
defined for the D tables. a new API standard 11.2.5 and at the same time GPA TP-15 (1988)
In 1988 the Institute of Petroleum released its Paper No. 3 with was updated with a new 2007 revision.
tables 59 and 60 that are based on a reference temperature of
20°C.
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 5
NGL and LPG tables • API MPMS Chapter 11.2.2A - 1984 (Addendum to Correlation
For NGL and LPG products volume correction tables 24E and 23E of Vapor Pressure Correction for NGL): Superseded by
(at 60 °F) were published in GPA TP-25 (1988), so the letter 'E" Chapter 11.2.5
was used to distinguish the tables from the related API MPMS A, • API Publication/GPA TP-25/ASTM Publication (Temperature
B, C and D tables. Correction for the volume of Light Hydrocarbons – Tables
GPA TP-25 has been superseded by GPA TP-27 / API MPMS 11.2.4 24E and 23E: Superseded by API MPMS Chapter 11.2.4
(2007), which includes tables 53E, 54E, 59E and 60E to convert to GPA TP-25 was published in 1998 and replaced the 1952
15°C and 20°C as well. All text from TP-25 is included without tables 23, 24 for Light Hydrocarbon Liquids and GPA
technical change, so TP-25 is still viable for conversion to and Technical Publication TP-16, which were previously used for
from 60 °F. volumetric measurement of LPG.
• API MPMS Chapter 11.2.4 - 2007 / GPA TP-27 / ASTM
Overview of hydrocarbon liquid conversion standards Publication (Temperature Correction for the Volume of NGL
• ASTM-IP Petroleum Measurement Tables, Historical Edition, and LPG – Tables 23E, 24E, 53E, 54E, 59E, 60E): Supersedes
1952 GPA TP-25
• API MPMS Chapter 11.1 - 1980* (Temperature VCFs for • API MPMS Chapter 11.2.5 - 2007 / GPA TP-15 / ASTM
Generalized Crude Oils, Refined Products, and Lubricating Publication (A Simplified Vapor Pressure Correlation for
Oils): Historical; Published in 14 separate volumes Commercial NGLs): Supersedes Addendum to Chapter 11.2.2
(11.2.2A)
Also known as • IP No. 3 - 1988 (Energy Institute (formerly Institute of
– API Standard 2540 (API-2540) Petroleum), Petroleum Measurement Paper No 3 Computer
– ASTM D1250 Implementation Procedures for Correcting Densities and
– IP 200 Volumes to 20 C. Superseded by IP No.3 - 1997
– In 1982 chapters XIII and XIV were published • IP No. 3 - 1997 (Energy Institute (formerly Institute of
containing tables 5D, 6D, 53D and 54D for Petroleum), Petroleum Measurement Paper No 3 Computer
lubricating oils. Implementation Procedures for Correcting Densities and
• API MPMS Chapter 11.1 - 2004 (Temperature & Pressure Volumes to 20 C. Supersedes IP No.3 - 1988
VCFs for Generalized Crude Oils, Refined Products and Lube • ISO 91-1 - 1982 Petroleum measurement tables Part 1: Tables
Oils) based on reference temperatures of 15 °C and 60 °F.
• API MPMS Chapter 11.2.1- 1984 (Compressibility Factors for Superseded by ISO 91-1 1992.
Hydrocarbons: 0-90°API): Historical: now incorporated into • ISO 91-1 - 1992 Petroleum measurement tables Part 1: Tables
Chapter 11.1-2004 based on reference temperatures of 15 °C and 60 °F.
• API MPMS Chapter 11.2.1M- 1984 (Compressibility Factors for Supersedes ISO 91-1 1982.
Hydrocarbons: 638-1074 kg/m3): Historical: now • ISO 91-2 - 1991 Petroleum measurement tables Part 2: Tables
incorporated into Chapter 11.1-2004 based on reference temperatures of 20 °C
• API MPMS Chapter 11.2.2 - 1984 (Compressibility Factors for • OIML R 63 - 1994 Petroleum measurement tables
Hydrocarbons: 0.350-0.637 Relative Density and –50°F to
140°F)
• API MPMS Chapter 11.2.2M - 1986 (Compressibility Factors
for Hydrocarbons: 350-637 kg/m3 Density (15°C) and –46°C
to 60°C)
Overview of the functions
The following table lists the volume conversion functions for hydrocarbon liquids as provided by the Flow-X series of flow computer.
Applies for: Table 5D Table 23D* Table 53D Table 5D Table 53D
Table 6D Table 24D* Table 54D Table 6D Table 54D
Table 23D*
Table 24D*
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 7
fxAGA3_C
Description Compliance
The function calculates the mass flow rate for Orifice pressure • AGA Report No. 3 - Orifice Metering Measurement of fluid
differential flow devices according to the AGA-3 standard for flow by means of pressure differential devices, 1992
orifice meters with flange taps. • API Manual of Petroleum Measurement Standards, Chapter
14 Natural Gas Fluids Measurement, Section 3 - Concentric
Square-edged Orifice Meters 1992.
• Orifice Metering of Natural Gas and Other Related
Hydrocarbon Fluids – Concentric, Square-edged Orifice
Meters, Part 1: General Equations and Uncertainty
Guidelines, fourth edition 2012.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Differential Pressure Differential pressure over the primary flow device measured at inH2O @ 60°F 0..1000 0
the up- and downstream pressure tappings, which need to be in
the positions as specified in the standard
Pressure Down- or upstream pressure value of the fluid at metering psia 0..30000 0
conditions
Temperature Down- or upstream temperature of the fluid at metering °F -400..2000 0
conditions
Density Down or upstream density of the fluid at metering conditions lbm/ft3 0..200 0
Dynamic Viscosity Dynamic viscosity of the fluid lbm/ft.s DYNVIS 0..10 6.9e-6
Isentropic Exponent Also referred to as κ (kappa). For an ideal gas this coefficient is - KAPPA 0..10 1.3
equal to the ratio of the specific heat capacity at constant
pressure to the specific heat at constant volume.
This ratio is commonly used when the real value is unknown.
Pipe Diameter Internal diameter of the pipe at reference temperature inches PIPEDIAM 0..100 0
Pipe Expansion factor The thermal expansion coefficient of the pipe material 1/°F PIPEEXPF 0..1 6.2e-6
Pipe Reference The reference temperature that corresponds to the 'Pipe °F PIPEREFT -400..2000 68
temperature diameter' input value
Orifice Diameter Orifice diameter at reference temperature inches ORIFDIAM 0..100 0
Orifice Expansion factor The thermal expansion coefficient of the orifice material 1/°F ORIFEXPF 0..1 9.25e-6
Typical values are:
Orifice Reference The reference temperature that corresponds to the 'Orifice °F ORIFREFT -400..2000 68
Temperature diameter' input value
Pressure Location 1: Upstream tapping - PRESLOC 1
Input 'Pressure' represents the pressure at the upstream
pressure tapping (p 1 ).
Since the absolute pressure is usually measured at the
upstream tapping this is the most common setting.
2: Downstream tapping
Input 'Pressure' represents the pressure at the downstream
tapping (p 2 ).
Temperature Location 1: Upstream tapping - TEMPLOC 3
Input 'Temperature' represents the upstream temperature (t 1 ).
2: Downstream tapping
Input 'Temperature represents the temperature at the
downstream tapping (t 2 ).
3: Recovered pressure
Input 'Temperature' represents the downstream temperature
at a location Where the pressure has fully recovered (t 3 ).
Since temperature measurement is usually downstream of the
flow device this is the most common setting.
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
3: No convergence NOVONV
Mass flow rate The calculated mass flow rate klbm/hr MASSR 0
Beta ratio Orifice to pipe diameter ratio at upstream temperature - BETA 0
Orifice diameter At the upstream temperature inches ORIFUP 0
Pipe diameter At the upstream temperature inches PIPEUP 0
Upstream pressure Pressure at upstream tapping (p 1 ) psia PRESUP 0
Pressure at downstream Pressure at downstream tapping (p 2 ) psia PRESDN 0
tapping
Recovered downstream Fully recovered downstream pressure (p 3 ) psia PRESREC 0
pressure
Upstream temperature Temperature at upstream tapping (t 1 ) °F TEMPUP 0
Temperature at downstream Temperature at downstream tapping (t 2 ) °F TEMPDN 0
tapping
Downstream Temperature 'Fully recovered' downstream temperature (t 3 ) °F TEMPREC 0
Upstream density Density at upstream tapping (ρ 1 ) lbm/ft3 DENSUP 0
Density at downstream Pressure at downstream tapping (ρ 2 ) lbm/ft3 DENSDN 0
tapping
Downstream density 'Fully recovered' downstream density (ρ 3 ) lbm/ft3 DENSREV 0
Reynolds number The pipe Reynolds number, i.e. the Reynolds number upstream of the - REYN 0
orifice and not the one within the device throat itself)
Discharge coefficient - DISCF 0
Expansion Factor - EXPFAC 0
Velocity of Approach - VOA 0
Pressure out of range 0: Pressure is in valid range - PRESOOR PRESOOR 0
1: Pressure is out of valid range
Reynolds out of range 0: Reynolds number is in valid range - REYNOOR REYNOOR 0
1: Reynolds number is out of valid range
Diameter out of range 0: Device and pipe diameter and Beta ratio in valid range - DIAMOOR DIAMOOR 0
1: Device diameter, pipe diameter and/or Beta ratio out of valid range
p 3 = p 1 − p LOSS
p LOSS =
(1 − α ⋅ β ) ⋅ ∆p ⋅ K
2
(1 + α ⋅ β )2 units
α =C⋅E
1
E=
(1 − β 4 )
Where:
p1 Pressure at upstream tapping psia
p2 Pressure at downstream tapping psia
p3 Fully recovered downstream pressure psia
∆p Differential pressure inH20 @
60°F
p LOSS Pressure loss over the meter psi
C Discharge coefficient as calculated by the standard -
α Flow coefficient -
β Diameter ratio at the upstream pressure and temperature -
E Velocity of approach factor -
K units Unit conversion factor to convert a value expressed in -
'inH2O @60°F' to the corresponding expressed in 'psi'
(conversion as specified in section 'Unit Types')
Temperature correction
When input 'Temperature correction' is set to 1, then an
isentropic expansion based on the isentropic coefficient is
applied:
1−κ
p κ
t 1 = (t 2 + 459.67 ) ⋅ 2 − 459.67
p1
1−κ
p κ
t 1 = (t 3 + 459.67 ) ⋅ 3 − 459.67
p1
Density correction K DE K DE
p p
When input 'Density exponent' = 0, then the following isentropic
ρ 1= ρ 2 ⋅ 1 ρ 1= ρ 3 ⋅ 1
corrections are applied (depending on the type of Density
Correction)
p2 p3
1 1 Where:
ρ1
p1 κ p1 κ Upstream density lbm/ft3
ρ 1= ρ 2 ⋅ ρ 1= ρ 3 ⋅ ρ2 Density at the downstream tapping lbm/ft3
ρ3 Density at the fully recovered downstream pressure lbm/ft3
p2 p3 p1 Upstream pressure psia
p2 Pressure at the downstream tapping psia
Else the value of input 'Density Exponent' is used p3 Fully recovered downstream pressure psia
κ Isentropic exponent -
K DE Density exponent -
12 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxAGA5_C
Description Compliance
The AGA 5 standard defines methods to calculate the mass and • A.G.A. Transmission Measurement Committee Report No. 5
volume based calorific values at 60°F and 14.73 psia for a natural (Fuel gas Energy Metering) 1981
gas based on known molar fractions of the non-hydrocarbon gas • A.G.A. Transmission Measurement Committee Report No. 5
components. (Fuel gas Energy Metering) 1996 (Reprinted 1999)
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Composition Standard composition as defined in section 'Standard gas molar fraction COMP 0..1 0
composition.
Only the following components are considered by the calculation:
N2 Nitrogen
CO2 Carbon dioxide
H2O Water
H2S Hydrogen sulfide
H2 Hydrogen
CO Carbon monoxide
O2 Oxygen
He Helium
Sum of these fractions may not exceed 1
Specific Gravity Molar Mass Ratio, i.e. ratio of the molar mass of the gas and of the - SG 0..1 0
molar mass of air (specified in AGA-5 as 28.9644 kg/kmol
(lbm/lbmol))
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
Calorific value mass Mass based calorific value Btu/lbm CV_MASS 0
Calorific value volume Volume calorific value at 60°F and 14.73 psia Btu/scf CV_VOL 0
Calculations
The Energy to Mass ratio is calculated according to Section III of
the standard, which contains the calculation procedure for the
gas mass to energy conversion. The equations based on the 'by
volume' fractional values are used (and not the equations based
on the 'by weight' values).
The Energy to Volume ratio is calculated according to Section II
of the standard, which contains the calculation procedure for the
gas volume to energy conversion.
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 13
fxAGA8_C
Description
The compressibility and density of a gas are calculated from the Input value Normal Range Expanded Range EU
composition, temperature and pressure in accordance with the Pressure 0 .. 20000 0 .. 20000 psia
Temperature -200 .. +400 -200 .. +400 °F
‘Detail Characterization’ method outlined in the AGA-8 standard, Mole fraction of Methane 0.45 .. 1.00 0.00 .. 1.00 -
with the input and output values in US Customary units. Mole fraction of Ethane 0.00 .. 0.10 0.00 .. 1.00 -
Mole fraction of Propane 0.00 .. 0.04 0.00 .. 0.12 -
Mole fraction of Butanes 0.00 .. 0.01 0.00 .. 0.06 -
Compliance
Mole fraction of Pentanes 0.00 .. 0.003 0.00 .. 0.04 -
• AGA Report No. 8, Second edition November 1992 - 2nd Mole fraction of Hexanes Plus 0.00 .. 0.002 * -
printing July 1994 Mole fraction of Carbon 0.00 .. 0.03 0.00 .. 0.03 -
• API MPMS 14.2, Second edition November 1992 - 2nd printing monoxide
Mole fraction of Carbon dioxide 0.00 .. 0.30 0.00 .. 1.00 -
July 1994
Mole fraction of Nitrogen 0.00 .. 0.50 0.00 .. 1.00 -
• ISO 12213 Natural gas — Calculation of compression factor Mole fraction of Helium 0.00 .. 0.002 0.00 .. 0.03 -
— Part 2: Calculation using molar-composition analysis, 1997 Mole fraction of Argon 0.00 .. 0.00 0.00 .. 0.01 -
Mole fraction of Oxygen 0.00 .. 0.00 0.00 .. 0.21 -
Mole fraction of Hydrogen 0.00 .. 0.0002 0.00 .. 1.00 -
Boundaries Sulphide
The AGA-8 calculation has defined uncertainty bounds for gas Mole fraction of Hydrogen 0.00 .. 0.10 0.00 .. 1.00 -
Mole fraction of Water 0.00 .. 0.0005 * -
mixtures that lie within the 'Normal range'. Also an 'Expanded
range' of gas mixtures is defined for which the AGA-8 calculation * For these components the dew point temperature is the upper
has a higher uncertainty. Using the AGA-8 calculation for gas limit. Limit check is ignored for reason of simplicity.
mixtures that lie outside the 'Expanded range' is not
recommended.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Pressure Pressure value psia 0..40000 1.01325
Temperature Temperature value °F -250..+800 0
Composition Standard composition as defined in section 'Standard gas mol/mol COMP 0..1 0
composition.
neo-Pentane mode Determines what to do when component neo-Pentane is larger - NEOC5_MODE 1
than zero
1: Add to i-Pentane
2: Add to n-Pentane
3: Neglect
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
3: No convergence NOCONV
4: Mole fractions do not add up to 1.0 +- 0.0001 COMPERR
Compressibility factor - Z 1
Mass Density lb/ft3 MASDENS 0
Mole Density lbmol/ft3 MOLDENS 0
Molar Mass lb/lbmol MOLMASS 0
Range 0: In Normal Range RANGE 0
All inputs are within the 'Normal Range'
1: In Extended Range
One or more inputs within the 'Extended Range, but none of the
inputs outside the Extended rang (outputs values have higher
uncertainty)
2: Out of Range OOR
One or more inputs outside the 'Extended Range' (using the
AGA8 calculation is not recommended in this case)
Calculations
The calculations are as documented in the standard.
14 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxAGA8_M
Description • ISO 12213 Natural gas — Calculation of compression factor
The compressibility and density of a gas are calculated from its — Part 2: Calculation using molar-composition analysis, 1997
composition, temperature and pressure in accordance with the • AGA Report No. 8, Third edition April 2017
‘Detail Characterization’ method outlined in the AGA8 standard,
with the input and output values in metric units. Boundaries
The AGA-8 calculation has defined uncertainty bounds for gas
Compliance mixtures that lie within the 'Normal range'. Also an 'Expanded
• AGA Report No. 8, Second edition November 1992 - 2nd range' of gas mixtures is defined for which the AGA-8 calculation
printing July 1994 has a higher uncertainty. Using the AGA-8 calculation for gas
• API MPMS 14.2, Second edition November 1992 - 2nd printing mixtures that lie outside the 'Expanded range' is not
July 1994 recommended.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Pressure Pressure value bar(a) 0..2800 1.01325
Temperature Temperature value °C -150..+450 0
Composition Standard composition as defined in section mol/mol COMP 0..1 0
'Standard gas composition.
neo-Pentane mode Determines what to do when component neo- - NEOC5_MODE 1
Pentane is larger than zero
1: Add to i-Pentane
2: Add to n-Pentane
3: Neglect
Year Of Edition 1: Edition 1994 1
2: Edition 2017
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
3: No convergence NOCONV
4: Mole fractions do not add up to 1.0 +- 0.0001 COMPERR
Compressibility factor - Z 1
Mass Density kg/m3 MASDENS 0
Mole Density kmol/m3 MOLDENS 0
Molar Mass kg/kmol MOLMASS 0
Range 0: In Normal Range RANGE 0
All inputs are within the 'Normal Range'
1: In Extended Range
One or more inputs within the 'Extended Range, but none
of the inputs outside the Extended rang (outputs values
have higher uncertainty)
2: Out of Range OOR
One or more inputs outside the 'Extended Range' (using
the AGA8 calculation is not recommended in this case
Calculations
The calculations are as documented in the standard.
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 15
fxAGA8_Gross
Description Boundaries
This function calculates the compressibility factor in accordance The AGA8 standard recommends using the Gross
with the AGA-8 Gross Characterization Method. Although the Characterization Method only when input conditions lie within
AGA-8 Gross Method is based on the Standard GERG Virial the following range. For conditions outside this range the
Equation Of State (SGERG) there are slight differences in the standard recommends to use the Detailed Characterization
results. Method.
Two different methods are specified by the standard. Method 1 Input value Normal Range EU
takes the Pressure, Temperature, Specific Gravity (Relative Temperature 32..130 °F
Pressure 0 .. 1200 psia
Density), Carbon Dioxide content and Gross Heating Value (GHV) Gross heating value 475 .. 1210 Btu/ft3
as inputs. Method 2 takes the same inputs except for the Relative density 0.554 .. 0.87 -
Nitrogen content instead of GHV. Carbon dioxide 0.00 .. 0.30 mol/mol
Nitrogen 0.00 .. 0.50 mol/mol
Compliance
AGA 8, Second edition November 1992 - 2nd printing July 1994
• AGA Report No. 8, Second edition November 1992 - 2nd
printing July 1994
• API MPMS 14.2, Second edition November 1992 - 2nd printing
July 1994
Function inputs
Function inputs Remark EU Range Default
Name Optional tag name, tag description and tag group
Temperature Observed temperature °F -250..+800 60
Pressure Observed pressure psia 0..40000
Relative density Relative density at the corresponding reference temperature and - 0..2 0
pressure
RD reference temperature Reference temperature for relative density °F -250 ..+800 60
RD reference pressure Reference pressure for relative density psia 0..40000 14.73
Gross heating value Gross heating value at the corresponding reference temperature and Btu/ft3 0..2500 0
pressure
GHV reference temperature Reference temperature for gross heating value °F -250 ..+800 60
GHV reference pressure Reference pressure for gross heating value psia 0..40000 14.73
Nitrogen Nitrogen (N2) fraction mol/mol 0..1 0
Carbon dioxide Carbon dioxide (CO2) fraction mol/mol 0..1 0
Method Gross Characterization Method: - 0
1: GHV, Relative Density, CO2
2: Relative Density, CO2, N2
Note: For Method 1 input ‘Nitrogen’ is not used, while for Method 2
inputs ‘Gross heating value’, ‘GHV reference temperature’ and ‘GHV
reference pressure’ are not used.
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
3: No convergence NOCONV
Compressibility factor - 1
Molar mass lb/ lbmol 0
Density Density at observed pressure and temperature lb/ft3 0
Range 0: In Normal Range RANGE 0
All components are within the range that is recommended by
the standard
1: Out of Range
One or more inputs are outside the recommended range
Calculations
The calculations are in accordance with the standard.
16 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxAGA10_M
Description Boundaries
The function calculates the speed of sound of a gas at the The AGA-10 calculation has defined uncertainty bounds for gas
specified conditions of temperature and pressure using the mixtures that lie within the 'Normal range'. Also an 'Expanded
formulae presented in the American Gas Association Report No range' of gas mixtures is defined for which the AGA-10
10. calculation has a higher uncertainty. Using the AGA-10
calculation for gas mixtures that lie outside the 'Expanded range'
Compliance is not recommended.
AGA Report No. 10 - Speed of Sound in Natural Gas and Other The AGA-10 standard specifies the same limits as the AGA-8
Related Hydrocarbon Gases, January 2003 standard. Refer to the fxAGA8 function for details on the actual
limit values used by this function to set output ‘Range’.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Pressure Observed pressure bar(a) 0..2000
Temperature Observed temperature °C -200..+400
Composition Standard composition as defined in section 'Standard mol/mol COMP 0..1
gas composition.
neo-Pentane mode Determines what to do when component neo-Pentane is - NEOC5_MODE 1
larger than zero
1: Add to i-Pentane
2: Add to n-Pentane
3: Neglect
Function outputs
Function outputs Remark EU SW tag Alam Fallback
Status 0: Normal STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
3: No convergence NOCONV
4: Mole fractions do not add up to 1.0 +- 0.0001 COMPOOR
Speed of sound m/s SOS 0
Range 0: In Normal Range RANGE 0
All inputs are within the 'Normal Range'
1: In Extended Range
One or more inputs within the 'Extended Range, but none of
the inputs outside the Extended rang (outputs values have
higher uncertainty)
2: Out of Range OOR
One or more inputs outside the 'Extended Range' (using the
AGA10 calculation is not recommended in this case)
Calculations
Calculations are as documented in the standard.
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 17
fxAGA10ex_M
Description Boundaries
The extended AGA 10 function provides an extensive set of gas The AGA-10 calculation has defined uncertainty bounds for gas
properties at the specified conditions of temperature and mixtures that lie within the 'Normal range'. Also an 'Expanded
pressure using the formulae presented in the American Gas range' of gas mixtures is defined for which the AGA-10
Association Report No 10. calculation has a higher uncertainty. Using the AGA-10
calculation for gas mixtures that lie outside the 'Expanded range'
Compliance is not recommended.
AGA Report No. 10 - Speed of Sound in Natural Gas and Other The AGA-10 standard specifies the same limits as the AGA-8
Related Hydrocarbon Gases, January 2003 standard. Refer to the fxAGA8 function for details on the actual
limit values used by this function to set output ‘Range’.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Pressure Observed pressure bar(a) 0..2000
Temperature Observed temperature °C -200..+400
Composition Standard composition as defined in section 'Standard gas mol/mol COMP 0..1
composition.
neo-Pentane mode Determines what to do when component neo-Pentane is - NEOC5_MODE 1
larger than zero
1: Add to i-Pentane
2: Add to n-Pentane
3: Neglect
Function outputs
Function outputs Remark EU SW tag Alam Fall back
Status 0: Normal STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
3: No convergence NOCONV
4: Mole fractions do not add up to 1.0 +- 0.0001 COMPOOR
Molecular weight kg/kmol MOLMASS
Molar density at base conditions mol/m3 MOLDENSB
Molar density at flowing conditions mol/m3 MOLDENSF
Mass density at base conditions kg/m3 MASSDENSB
Mass density at flowing conditions kg/m3 MASSDENSF
Ideal gas relative density - IRD
Real gas relative density - RRD
Velocity of sound m/s SOS
Compressibility at base conditions - ZB
Compressibility at flowing conditions - ZF
Supercompressibility - FPV
Ideal gas specific enthalpy kJ/kg MASSH0
Real gas specific enthalpy kJ/kg MASSH
Real gas specific entropy kJ/kg/K MASSS
Ideal gas isobaric heat capacity kJ/kg/K MASSCP0
Real gas isobaric heat capacity kJ/kg/K MASSCP
Real gas isochoric heat capacity kJ/kg/K MASSCV
Ideal gas isobaric heat capacity kJ/kmol/K MOLCP0
Real gas isobaric heat capacity kJ/kmol/K MOLCP
Real gas isochoric heat capacity kJ/kmol/K MOLCV
Ratio of specific heats - CPCV
Isentropic exponent - KAPPA
Critical flow factor - CRITC
Ideal gas specific enthalpy kJ/kmol MOLH0
Real gas specific enthalpy kJ/kmol MOLH
Isentropic perfect gas critical flow factor - CI
Isentropic real gas critical flow factor - CRI
Range 0: In Normal Range RANGE 0
All inputs are within the 'Normal Range'
1: In Extended Range
One or more inputs within the 'Extended
Range, but none of the inputs outside the
Extended rang (outputs values have higher
uncertainty)
2: Out of Range OOR
One or more inputs outside the 'Extended
Range' (using the AGA10 calculation is not
18 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxAPI_Dens15C_1952
Description Compliance
• ASTM-IP Petroleum Measurement Tables, Metric Edition,
Density (T, P) <--> Density (15°C, equilibrium pressure) Metric Units of Measurement, 1952
• API MPMS 11.2.1M - Compressibility Factors for
This function converts a density value at the observed Hydrocarbons: 638 - 1074 Kilograms per Cubic Meter Range -
temperature and pressure to the density at 15°C and the First Edition, August 1984
equilibrium pressure (typically 0 barg) or vice versa.
The temperature conversion is according to ASTM-IP Petroleum
Measurements Tables 1952 (Also known as API-1952 tables)
Table 54.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Observed Density Depending on the conversion method this is the Density either at kg/m3 0..1300 0
the observed temperature and observed pressure or at 15 °C and
the equilibrium pressure
Observed temperature °C -100..200 15
Observed pressure bar(g) -1..150 0
API 11.2.1 rounding 0: Disabled - API1121RND 0
The calculation of the compressibility factor F is performed with
full precision
1: Enabled
API-MPMS 11.2.1 rounding and truncating rules are applied. The
compressibility factor F is rounded to 3 decimal places as
specified in the standard.
Equilibrium pressure The equilibrium pressure is considered to be 0 bar(g) for liquids bar(g) EQUIPRES 0..150 0
which have an equilibrium pressure less than atmospheric pressure
(in compliance with API MPMS 12.2 par. 12.2.5.4).
Conversion method 1: From observed to standard conditions CONVERSION 1
2: From standard to observed conditions
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS
1: Input argument out of range FIOOR 1
2: Calculation error CALCERR
3: No convergence NOCONV
Output Density Depending on the conversion method this is the Density either at 15 °C and kg/m3 DENS 0
the equilibrium pressure or at the observed temperature and observed
pressure
CTL Volume correction factor for temperature. - CTL 1
CPL Volume correction factor for pressure - CPL 1
Value will be rounded according to input 'API 11.2.1 rounding'
CTPL Combined volume correction factor - CTPL 1
CTPL = CTL * CPL
F Compressibility factor 1/bar F 0
CTL calc out of range With respect to the standard used for the calculation of CTL the 0
combination of input values is:
0: In Range
1: Out of Range CTLOOR
CPL calc out of range With respect to the standard used for the calculation of CPL the 0
combination of input values is:
0: In Range
1: Out of Range CPLOOR
Calculations Conversion method 1: from observed to standard conditions.
The calculations depend on the conversion method. The function performs the following iterative algorithm to
calculate the Density at standard conditions:
20 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
At the start of the iteration the initial value for Density at [15
°C, equilibrium pressure] is set to the Observed Density. The
initial CPL value is set to 1.
The CTL value is determined from the Density at [15 °C,
equilibrium pressure] according to API 1952 Table 54.
The Density at [15 °C, equilibrium pressure] is calculated from
the Observed Density, the new CTL value and the CPL value
from the previous iteration.
The compressibility factor is calculated according to API
MPMS 11.2.1M from the density at [15 °C, equilibrium pressure]
and the 'Observed temperature'. If API 11.2.1M rounding is
enabled then the density and temperature are rounded and
the calculations are performed in accordance with the
rounding and truncating rules of the standard.
The CPL value is calculated from the compressibility factor
and the 'Observed pressure' and 'Equilibrium pressure' input
values.
The Density at [15°C, equilibrium pressure] is calculated by
dividing the Observed Density by the CTL and the new CPL
value.
Steps 2 through 6 are repeated taking the Density value from
step 7 as the start value for the next iteration until the
absolute difference between two consecutive Density values
is 0.0001.
fxAPI_Dens15C_1980
Description Compliance
• API MPMS 11.1 Volume X (API Standard 2540) - Table 53A -
Density (T, P) <--> Density (15°C, equilibrium pressure) Generalized Crude Oils, Correction of Observed Density to
Density at 15°C - First Edition, August 1980
This function converts a density value at the observed • API MPMS 11.1 Volume X (API Standard 2540) - Table 54A -
temperature and pressure to the density value at 15°C and the Generalized Crude Oils, Correction of Volume to 15°C against
equilibrium pressure (typically 0 bar(g)) or vice versa. Density at 15°C- First Edition, August 1980
The temperature conversion is according to API-2540, Tables • API MPMS 11.1 Volume X (API Standard 2540) - Table 53B -
53A/54A (Generalized Crude Oils) and 53B/54B (Refined Oil Generalized Products, Correction of Observed Density to
Products) and API MPMS 11.1 Chapter XIV Table 53D/54D: 1984 Density at 15°C - First Edition, August 1980
(Lubricating Oils), while the volume correction for pressure • API MPMS 11.1 Volume X (API Standard 2540) - Table 54B -
according to API MPMS 11.2.1M. Generalized Products, Correction of Volume to 15°C against
An iterative calculation needs to be applied to convert the Density at 15°F - First Edition, August 1980
observed density to the value at base conditions. • API MPMS 11.1 Volume XIV - Table 53D - Generalized
Lubricating Oils, Correction of Observed Density to Density
at 15°C - January 1982
Note: this function is a combination of API2540 and API 11.2.1M. • API MPMS 11.1 Volume XIV - Table 54D - Generalized
For the calculation from observed to standard conditions an Lubricating Oils, Correction of Volume to 15°C against
iterative calculation is required. The rounding and truncating of Density at 15°F - January 1982
input and intermediate values is implemented such that the • API MPMS 11.2.1M - Compressibility Factors for
example calculations as specified in both standards are exactly Hydrocarbons: 638 - 1074 Kilograms per Cubic Meter Range -
reproduced. First Edition, August 1984
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Input density Meaning depends on the input 'Conversion method'. kg/m3 0..1300 0
'Conversion method' = 1
Density at the observed temperature and pressure
'Conversion method' = 2
Density at 15 °C and the equilibrium pressure.
Observed temperature °C -100..200 15
Observed pressure bar(g) -1..150 0
Product 1: A - Crude Oil PRDTYP 1
2: B - Auto select
Selection based on density at 15 °C
3: B - Gasoline
4: B - Transition Area
5: B - Jet Fuels
6: B - Fuel Oil
7: D - Lubricating Oil
API 2540 rounding 0: Disabled API2540RND - 0
The calculations are performed with full precision and the final CTL value is
rounded as specified by input 'CTL decimal places'
1: Enabled for computational value
API-2540 rounding and truncating rules are applied and, in case of
conversion method 2 (standard to observed), the computational value for
CTL as specified in Table 54 is used, meaning that the CTL value has:
4 decimal places if CTL >=1
5 decimal places if CTL < 1.
2: Enabled for table value
API-2540 rounding and truncating rules are applied and, in case of
conversion method 2 (standard to observed), the table value for CTL as
specified in Table 54 meaning that the CTL value has 4 decimal places in all
cases
3: Enabled with 5 decimal places
API-2540 rounding and truncating rules are applied, and, in case of
conversion method 2 (standard to observed), the CTL value has 5 decimal
places in all cases.
Note: although not strictly in accordance with the standard, this option is
more commonly used than option 'Enabled for computational value'
Note: for conversion type 1 ‘From observed to standard conditions’ the CTL
factor is rounded to 6 decimal places when input ‘API 2540 rounding’ > 0, as
in accordance with table 53.
22 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS 1
1: Input argument out of range FIOOR
2: Calculation error CALCERR
3: No convergence NOCONV
Output density Meaning depends on the input 'Conversion method'. kg/m3 DENS 0
'Conversion method' = 1
Density at 15 °C and the equilibrium pressure.
'Conversion method' = 2
Density at the observed temperature and pressure
CTL Volume correction factor for temperature. - CTL 1
Value will be rounded according to input 'API2540 rounding''
CPL Volume correction factor for pressure - CPL 1
Value will be rounded according to input 'API 11.2.1M rounding''
CTPL Combined volume correction factor - CTPL 1
CTPL = CTL * CPL
K0 Actual value of constant K0 used for CTL calculation - K0 0
K1 Actual value of constant K1 used for CTL calculation - K1 0
K2 Actual value of constant K2 used for CTL calculation - K2 0
Alpha Thermal expansion factor 1/°C ALPHA 0
F Compressibility factor 1/bar F 0
Product When input 'Product' is 'B - Auto select', then the output is set to the actual - PRDCUR 0
selected product of tables 53B/54B (enumerative value as defined for
input 'Product'), else the output is set equal to input 'Product'.
CTL calc out of range With respect to the standard used for the calculation of CTL the 0
combination of input values is:
0: In Range
1: Out of Range CTLOOR
CPL calc out of range With respect to the standard used for the calculation of CPL the 0
combination of input values is:
0: In Range
1: Out of Range CPLOOR
Calculations The Alpha factor is calculated according from the density at
The calculations depend on the conversion method. [15 °C, equilibrium pressure] and the K0, K1 and K2 factor. If
API2540 rounding is enabled, then the intermediate results
Conversion method 1: from observed to standard conditions. are rounded or truncated as specified API-2540 Table 53.
The function performs the following iterative algorithm to The CTL value is calculated according to API-2540 Table 53
calculate the density at reference conditions: from the Alpha factor and the differential temperature (=
First the inputs are rounded in accordance with the API2540 observed temperature – 15°C). If API2540 rounding is enabled,
standard, provided that API2540 rounding is enabled. then the intermediate results are rounded or truncated as
The hydrometer correction on the input density is applied, specified API-2540 Table 53.
provided that this correction is enabled Depending on the type of API2540 rounding the calculated
At the start of the iteration the density at [15 °C, equilibrium CTL value is rounded to 6 decimal places or not rounded at all.
pressure] is set equal to the observed density and the initial The density at [15 °C, equilibrium pressure] is calculated by
CPL value is set to 1. dividing the observed density by the new CTL value and the
When the type of product is set to ‘B – Auto select’ (automatic CPL value from the previous iteration.
selection of the refined product range) the K0, K1 and K2 The compressibility factor is calculated according to API
factors are determined based on the density at [15 °C, MPMS 11.2.1M from the density at [15 °C, equilibrium pressure]
equilibrium pressure]. The Transition area is only taken in and the 'Observed temperature'. If API 11.2.1M rounding is
consideration in the 2nd iteration loop, as specified in the enabled then the density and temperature are rounded and
standard.
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 23
the calculations are performed in accordance with the Conversion method 2: from standard to observed conditions.
rounding and truncating rules of the standard. The function performs straightforward calculations to
The CPL value is calculated from the compressibility factor determine the density at observed conditions:
and the 'Observed pressure' and 'Equilibrium pressure' input First the inputs are rounded in accordance with the API2540
values. standard, provided that API2540 rounding is enabled.
The density at [15°C, equilibrium pressure] is calculated by When the type of product is set to ‘B – Auto select’ (automatic
dividing the observed density by CTL and the new CPL value. selection of the refined product range) the K0, K1 and K2
If API2540 rounding is enabled then the density at [15°C, factors are determined based on the input density
equilibrium pressure] value is rounded to 3 decimal places as The Alpha factor is calculated according from the input
specified in the standard. density and the K0, K1 and K2 factor. If API2540 rounding is
Steps 4 through 12 are repeated taking the density value from enabled, then the intermediate results are rounded or
step 12 as the starting value until the absolute difference truncated as specified API-2540 Table 54.
between two consecutive density values is either 0.05 (or 0.07 The CTL value is calculated according to API-2540 Table 54
for the transition area) or 0.000001, depending of API2540 from the Alpha factor and the differential temperature (=
rounding being enabled or not. observed temperature – 15°C If API2540 rounding is enabled,
For refined products the entire iteration loop is repeated if then the intermediate results are rounded or truncated as
the density at [15°C, equilibrium pressure] appears to be in a specified API-2540 Table 54.
different product region than the observed input density. This Depending on the type of API2540 rounding the calculated
is required because a different product region means CTL value is rounded to 4 or 5 decimal places or not rounded
different K0, K1 and K2 factors. at all.
When API2540 rounding is enabled, the final density at [15°C, The compressibility factor is calculated according to API
equilibrium pressure] is rounded to 1 decimal place. MPMS 11.2.1M from the input density and temperature'. If API
11.2.1M rounding is enabled then the input density and
temperature are rounded and the calculations are performed
in accordance with the rounding and truncating rules of the
standard.
The CPL value is calculated from the compressibility factor
and the 'Observed pressure' and 'Equilibrium pressure' input
values.
The density at [15°C, equilibrium pressure] is calculated by
multiplying the input density by the CTL and the CPL values.
24 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxAPI_Dens15C_NGL_LPG
Description Compliance
• API MPMS 11.2.4: Temperature Correction for the Volume of
Density (T, P) <--> Density (15°C, Pe) NGL and LPG Tables 23E, 24E, 53E, 54E, 59E & 60E,
September 2007
This function converts the density value at the observed • GPA TP-27: Temperature Correction for the Volume of NGL
temperature and pressure to the density value at 15°C and the and LPG Tables 23E, 24E, 53E, 54E, 59E & 60E, September
equilibrium pressure or vice versa. 2007
The temperature correction is according to API MPMS 11.2.4:2007 • API MPMS Chapter 11.2.2M - 1986 (Compressibility Factors
(GPA TP-27), while the pressure correction is according to API for Hydrocarbons: 350-637 kg/m3 Density (15°C) and –46°C
MPMS 11.2.2M:1984. to 60°C)
The calculation of the equilibrium pressure is according to GPA • API MPMS 11.2.5: A Simplified Vapor Pressure Correlation for
TP-15 (API MPMS 11.2.2 Addendum:1994). Commercial NGLs, September 2007
• GPA TP-15: A Simplified Vapor Pressure Correlation for
Commercial NGLs, September 2007 (also covers GPA TP-15
1988)
• API MPMS 11.2.2 Addendum : Compressibility Factors for
Hydrocarbons: Correlation of Vapor Pressure for
Commercial Natural Gas Liquids (same as GPA TP-15:1988)
Function inputs
Name Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Input density Depending on the conversion method this represents the density either at - 0..750 0
the observed temperature and pressure or at 15 °C and the equilibrium
pressure
Observed temperature Temperature at which the density is observed °C -100..150 15
Observed pressure Pressure at which the density is observed bar(a) -1..200 0
API 11.2.4 rounding 0: Disabled API1124RND 0
The calculations are performed with full precision and the output values
are not rounded
1: Enabled
The related values are rounded as defined in the standard
API 11.2.2M rounding 0: Disabled API1122RND 0
The calculations are performed with full precision and the output values
are not rounded
1: Enabled
The related values are rounded as defined in the standard
Equilibrium pressure 1: Use Input EQUIPMODE 2
mode The value of input 'Equilibrium pressure value' is used for the calculation
of CPL
2: GPA TP-15
The equilibrium pressure is calculated in accordance with GPA TP-15
Equilibrium pressure value Only used when input 'Equilibrium pressure mode' is set to 'Use input'. bar(a) EQUIPINP 0
The value will be used for the calculation of the CPL
GPA TP-15 rounding Only used when 'Equilibrium pressure mode is set to 'GPA TP-15' - TP15RND 0
0: Disabled
Full precision (no rounding and truncating applied)
1: Enabled
Rounding as defined in ' GPA TP15:1988 / API MPMS 11.2.2
Addendum':1994
P100 Correlation Only used when 'Equilibrium pressure mode is set to 'GPA TP-15' - P100CORR 0
0: Disabled
The standard correlation is commonly used for pure products such as
propane, butane and natural gasoline. It only requires the relative density
and the temperature to calculate the vapor pressure
1: Enabled
The improved correlation requires the vapor pressure at 100°F (37.8 °C).
This method is better suited for varied NGL mixes Where different
product mixes could have the same specific gravity but different
equilibrium pressures.
Vapor pressure at 100°F Only used when 'Equilibrium pressure mode is set to 'GPA TP-15' and the bar(a) EQUIP100F 0..200 0
P100 correlation is enabled.
Conversion method 1: From observed to standard conditions CONVMETH 1
2: From standard to observed conditions
Function outputs
Name Remark EU SW tag Alarm Fallback
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 25
fxAPI_Dens20C_NGL_LPG
Description Compliance
• API MPMS 11.2.4: Temperature Correction for the Volume of
Density (T, P) <--> Density (20°C, Pe) NGL and LPG Tables 23E, 24E, 53E, 54E, 59E & 60E,
September 2007
This function converts the density value at the observed • GPA TP-27: Temperature Correction for the Volume of NGL &
temperature and pressure to the density value at 20°C and the LPG Tables 23E, 24E, 53E, 54E, 59E & 60E, September 2007
equilibrium pressure or vice versa. • API MPMS Chapter 11.2.2M - 1986 (Compressibility Factors
The temperature correction is according to API MPMS 11.2.4:2007 for Hydrocarbons: 350-637 kg/m3 Density (15°C) and –46°C
(GPA TP-27), while the pressure correction is according to API to 60°C)
MPMS 11.2.2M:1984. • API MPMS 11.2.5: A Simplified Vapor Pressure Correlation for
The calculation of the equilibrium pressure is according to GPA Commercial NGLs, September 2007
TP-15 (API MPMS 11.2.2 Addendum:1994). • GPA TP-15: A Simplified Vapor Pressure Correlation for
Commercial NGLs, September 2007 (also covers GPA TP-15
1988)
• API MPMS 11.2.2 Addendum : Compressibility Factors for
Hydrocarbons: Correlation of Vapor Pressure for
Commercial Natural Gas Liquids (same as GPA TP-15:1988)
Function inputs
Name Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Input density Depending on the conversion method this represents the density either kg/m3 0..750 0
at the observed temperature and pressure or at 20 °C and the
equilibrium pressure
Observed temperature Temperature at which the density is observed °C -100..150 20
Observed pressure Pressure at which the density is observed bar(a) -1..200 0
API 11.2.4 rounding 0: Disabled API1124RND 0
The calculations are performed with full precision and the output
values are not rounded
1: Enabled
The related values are rounded as defined in the standard
API 11.2.2M rounding 0: Disabled API1122RND 0
The calculations are performed with full precision and the output
values are not rounded
1: Enabled
The related values are rounded as defined in the standard
Equilibrium pressure mode 1: Use Input EQUIPMODE 2
The value of input 'Equilibrium pressure value' is used for the
calculation of CPL
2: GPA TP-15
The equilibrium pressure is calculated in accordance with GPA TP-15
Equilibrium pressure value Only used when input 'Equilibrium pressure mode' is set to 0. bar(a) EQUIPINP 0
The value will be used for the calculation of the CPL
GPA TP-15 rounding 0: Disabled - TP15RND 0
Full precision (no rounding and truncating applied)
1: Enabled
Rounding as defined in ' GPA TP15:1988 / API MPMS 11.2.2
Addendum':1994
P100 Correlation 0: Disabled - P100CORR 0
The standard correlation is commonly used for pure products such as
propane, butane and natural gasoline. It only requires the relative
density and the temperature to calculate the vapor pressure
1: Enabled
The improved correlation requires the vapor pressure at 100°F (37.8
°C). This method is better suited for varied NGL mixes Where
different product mixes could have the same specific gravity but
different equilibrium pressures.
Vapor pressure at 100°F bar(a) EQUIP100F 0..200 0
Conversion method 1: From observed to standard conditions CONVMETH 1
2: From standard to observed conditions
Function outputs
Name Remark EU SW tag Alarm Fallback
Status 0: Normal - STS 1
1: Input argument out of range FIOOR
Outputs will be set to fallback values
2: Calculation error CALC
28 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
The compressibility factor F is calculated according to API Conversion method 2: from standard to observed conditions.
MPMS 11.2.2M from the density at [15 °C, equilibrium The function performs straightforward calculations to
pressure] and the 'Observed temperature', with, depending on determine the density at observed conditions:
input API 11.2.2M, rounding and truncation according to the When API 11.2.4 rounding is enabled, the input density and
standard. temperature values are rounded in accordance with the
The CPL value is calculated from the compressibility factor, standard
the equilibrium pressure and the 'Observed pressure' input The CTL value and the relative density at [60 °F, equilibrium
value. pressure] are calculated according to API MPMS 11.2.4 (GPA
The new value for density at [20°C, equilibrium pressure] is TP-27) Table 54 from the density at [20 °C, equilibrium
calculated by dividing the observed density by the CTL and pressure] and the 'Observed temperature'.
CPL values. Depending on the value of input 'Equilibrium pressure mode',
Steps 2 though 6 are repeated taking the density value from either value of input 'Equilibrium pressure value' is used or the
step 6 as the staring value until the absolute difference equilibrium pressure (vapor pressure) is calculated according
between two consecutive density values is less than the to GPA TP-15.
convergence limit. API 11.2.2M requires the density at [15 °C, equilibrium
To avoid convergence problems different convergence limits pressure]. For this purpose the relative density at [15 °C,
are applied, depending on the whether API 11.2.2M and/or equilibrium pressure] is calculated according to Table 24E
GPA TP-15 rounding is applied: from the relative density at [60 °F, equilibrium pressure] and
If API 11.2.2M rounding is enabled -> Limit = 0.05 kg/m3 at 15 °C. This relative density value is then converted to the
else if GPA TP-15 rounding is enabled -> Limit = 0.005 kg/m3 density at [15 °C, equilibrium pressure].
else -> Limit = 0.00001 kg/m3 The compressibility factor is calculated according to API
If API 11.2.4 rounding is enabled, then the density at [20°C, MPMS 11.2.2M from the density at [15 °C, equilibrium
equilibrium pressure] is rounded to 0.1 pressure] and the 'Observed temperature'.
The CPL value is calculated from the compressibility factor,
the equilibrium pressure and the 'Observed pressure' input
value.
If API 11.2.4 rounding is enabled, then the CTL value is rounded
at [60°F, equilibrium pressure] is rounded to 0.00001
The density at the observed conditions is calculated by
multiplying the input density by the CTL value and the CPL
value.
30 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxAPI_Gravity60F_1952
Description Note: this function is a combination of the API 1952 Tables and
API 11.2.1. For the calculation from observed to standard
°API (T, P) <--> °API (60°F, equilibrium pressure) conditions an iterative calculation is required. The rounding and
truncating of input and intermediate values is implemented such
that the example calculations as specified in both standards are
This function calculates the API gravity value at the observed exactly reproduced.
temperature and pressure to the API gravity value at 60°F and
the equilibrium pressure (typically 0 psig) or vice versa. Compliance
• ASTM-IP Petroleum Measurement Tables, American Edition,
The volume correction for temperature is according to 1952 API United States Units of Measurement, 1952
Table 5 and 6, while the volume correction for pressure is • API MPMS 11.2.1 - Compressibility Factors for Hydrocarbons:
according to API MPMS 11.2.1. 0 - 90°API Gravity Range - First Edition, August 1984
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Input API gravity Depending of the conversion method this represents the API gravity °API -20..120 0
at either the observed temperature and pressure or at 60 °F and the
equilibrium pressure
Observed temperature Temperature at which the API gravity is observed °F -100..400 60
Observed pressure Pressure at which the API gravity is observed psig -10..2000 0
API 11.2.1 rounding 0: Disabled - API1121RND 0
The calculation of the compressibility factor F is performed with
full precision
1: Enabled
API-MPMS 11.2.1 rounding and truncating rules are applied. The
compressibility factor F is rounded to 3 decimal places as specified
in the standard.
Equilibrium pressure The equilibrium pressure is considered to be 0 psig for liquids which psig EQUIPRES 0..2000 0
have an equilibrium pressure less than atmospheric pressure (in
compliance with API MPMS 12.2 par. 12.2.5.4)
Conversion method 1: From observed to standard conditions CONVERSION 1
2: From standard to observed conditions
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS 1
1: Input argument out of range FIOOR
2: Calculation error CALC
3: No convergence NOCONV
Output API gravity Depending of the conversion method this represents the API gravity at either °API API 0
at 60 °F and the equilibrium pressure or the observed temperature and
pressure
CTL Volume correction factor for temperature. - CTL 1
CPL Volume correction factor for pressure - CPL 1
Value will be rounded according to input 'API 11.2.1 rounding'''
CTPL Combined volume correction factor - CTPL 1
CTPL = CTL * CPL
F Compressibility factor 1/psi F 0
CTL calc out of range With respect to the standard used for the calculation of CTL the combination 0
of input values is:
0: In Range
1: Out of Range CTLOOR
CPL calc out of range With respect to the standard used for the calculation of CPL the combination 0
of input values is:
0: In Range
1: Out of Range CPLOOR
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 31
Calculations
The calculations depend on the conversion method.
At the start of the iteration the initial value for API Gravity at
[60 °F, equilibrium pressure] is set to the Observed API
Gravity. The initial CPL value is set to 1.
The CTL value is determined from the API Gravity at [60 °F,
equilibrium pressure] according to API 1952 Table 6.
The API Gravity at [60 °F, equilibrium pressure] is calculated
from the Observed API gravity, the new CTL value and the CPL
value from the previous iteration.
Because API 11.2.1 requires the API gravity value at 60 °F, the
API gravity at [60 °F, equilibrium pressure] is calculated from
the API gravity at [60 °F, equilibrium pressure].
The compressibility factor is calculated according to API
MPMS 11.2.1 from the API gravity at [60 °F, equilibrium
pressure] and the 'Observed temperature'. If API 11.2.1
rounding is enabled then the API gravity and temperature are
rounded and the calculations are performed in accordance
with the rounding and truncating rules of the standard.
The CPL value is calculated from the compressibility factor
and the 'Observed pressure' and 'Equilibrium pressure' input
values.
The API Gravity at [60°F, equilibrium pressure] is calculated by
dividing the Observed API Gravity by the CTL and the new CPL
value.
Steps 2 through 7 are repeated taking the API gravity value
from step 7 as the start value for the next iteration until the
absolute difference between two consecutive API gravity
values is 0.01.
fxAPI_Gravity60F_1980
Description Compliance
• API MPMS 11.1 Volume X (API Standard 2540) - Table 5A -
°API (T, P) <--> °API (60°F, equilibrium pressure) Generalized Crude Oils, Correction of Observed API Gravity
to API Gravity at 60°F - First Edition, August 1980
This function calculates the API gravity value at the observed • API MPMS 11.1 Volume X (API Standard 2540) - Table 5B -
temperature and pressure to the API gravity value at 60°F and Generalized Products, Correction of Observed API Gravity to
the equilibrium pressure (typically 0 psig) or vice versa. API Gravity at 60°F- First Edition, August 1980
The volume correction for temperature is according to API-2540, • API MPMS 11.1 Volume XIII - Table 5D - Generalized
Tables 5/6A (Generalized Crude Oils) and 5/6B (Refined Oil Lubricating Oils, Correction of Observed API Gravity to API
Products) and API MPMS 11.1 Chapter XIII Table 5D: 1984 Gravity at 60°F - January 1982
(Lubricating Oils), while the volume correction for pressure • API MPMS 11.1 Volume X (API Standard 2540) - Table 6A -
according to API MPMS 11.2.1. Generalized Crude Oils, Correction of Volume to 60°F
against API Gravity at 60°F - First Edition, August 1980
• API MPMS 11.1 Volume X (API Standard 2540) - Table 6B -
Note: this function is a combination of API2540 and API 11.2.1. Generalized Products, Correction of Volume to 60°F against
For the calculation from observed to standard conditions an API Gravity at 60°F - First Edition, August 1980
iterative calculation is required. The rounding and truncating of • API MPMS 11.1 Volume XIII - Table 6D - Generalized
input and intermediate values is implemented such that the Lubricating Oils, Correction of Volume to 60°F against API
example calculations as specified in both standards are exactly Gravity at 60°F F - January 1982
reproduced. • API MPMS 11.2.1 - Compressibility Factors for Hydrocarbons:
0 - 90°API Gravity Range - First Edition, August 1984
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Input API gravity Depending of the conversion method this represents the API gravity at °API -20..120 0
either the observed temperature and pressure or at 60 °F and the
equilibrium pressure
Observed temperature Temperature at which the API gravity is observed °F -50..400 60
Observed pressure Pressure at which the API gravity is observed psig -10..2000 0
Product 1: A - Crude Oil PRDTYP - 1
2: B - Auto select
Selection based on °API at 60 °F
3: B - Gasoline
4: B - Transition Area
5: B - Jet Fuels
6: B - Fuel Oil
7: D - Lubricating Oil
API-2540 rounding 0: Disabled API2540RND - 0
The calculations are performed with full precision and the final CTL value
is rounded as specified by input 'CTL decimal places'
1: Enabled for computational value
API-2540 rounding and truncating rules are applied and, in case of
conversion method 2 (standard to observed), the computational value
for CTL as specified in Table 6 is used, meaning that the CTL value has:
4 decimal places if CTL >=1
5 decimal places if CTL < 1.
2: Enabled for table value
API-2540 rounding and truncating rules are applied and, in case of
conversion method 2 (standard to observed), the table value for CTL as
specified in Table 6 meaning that the CTL value has 4 decimal places in
all cases
3: Enabled with 5 decimal places
API-2540 rounding and truncating rules are applied, and, in case of
conversion method 2 (standard to observed), the CTL value has 5
decimal places in all cases.
Note: although not strictly in accordance with the standard, this option
is more commonly used than option 'Enabled for computational value'
Note: for conversion type 1 ‘From observed to standard conditions’ the
CTL factor is rounded to 6 decimal places when input ‘API 2540 rounding’
> 0, as in accordance with table 5.
Hydrometer correction Only applies for conversion method - HYDROCOR 0
‘1: From observed to standard conditions’
0: Disabled
1: Enabled
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 33
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS 1
1: Input argument out of range FIOOR
2: Calculation error CALC
3: No convergence NOCONV
Output API gravity Depending of the conversion method this represents the API gravity at either at °API API 0
60 °F and the equilibrium pressure or the observed temperature and pressure
CTL Volume correction factor for temperature. - CTL 1
Value will be rounded according to input 'API2540 rounding'
CPL Volume correction factor for pressure - CPL 1
Value will be rounded according to input 'API 11.2.1 rounding'''
CTPL Combined volume correction factor - CTPL 1
CTPL = CTL * CPL
K0 Actual value of constant K0 used for CTL calculation - K0 0
K1 Actual value of constant K1 used for CTL calculation - K1 0
K2 Actual value of constant K2 used for CTL calculation - K2 0
Alpha Thermal expansion factor 1/°F ALPHA 0
F Compressibility factor 1/psi F 0
Product When input 'Product' is 'B - Auto select', then the output is set to the actual - PRDCUR 0
selected product of table 5B / 6B (enumerative value as defined for input
'Product'), else the output is set equal to input 'Product'.
CTL calc out of range With respect to the standard used for the calculation of CTL the combination of 0
input values is:
0: In Range
1: Out of Range CTLOOR
CPL calc out of range With respect to the standard used for the calculation of CPL the combination of 0
input values is:
0: In Range
1: Out of Range CPLOOR
Calculations API2540 rounding is enabled, then the intermediate results
The calculations depend on the conversion method. are rounded or truncated as specified API-2540 Table 5.
The CTL value is calculated according to API-2540 Table 5
Conversion method 1: from observed to standard conditions. from the Alpha factor and the differential temperature (=
The function performs the following iterative algorithm to observed temperature – 60°F). If API2540 rounding is enabled,
calculate the API gravity at standard conditions: then the intermediate results are rounded or truncated as
First the inputs are rounded in accordance with the API2540 specified API-2540 Table 5.
standard, provided that API2540 rounding is enabled. Depending on the type of API2540 rounding the calculated
The observed density [kg/m3] is calculated from the observed CTL value is rounded to 6 decimal places or not rounded at all.
API gravity The density at [60 °F, equilibrium pressure] is calculated by
The hydrometer correction on the observed density is applied, dividing the observed density by the new CTL value and the
provided that this correction is enabled CPL value from the previous iteration.
At the start of the iteration the initial value for density and API The API gravity at [60 °F, equilibrium pressure] is calculated
gravity at [60 °F, equilibrium pressure] is set to respectively from the density at [60 °F, equilibrium pressure]
the observed density and the observed API gravity. The initial The compressibility factor is calculated according to API
CPL value is set to 1. MPMS 11.2.1 from the API gravity at [60 °F, equilibrium
When the type of product is set to ‘B – Auto select’ (automatic pressure] and the 'Observed temperature'. If API 11.2.1
selection of the refined product range) the K0, K1 and K2 rounding is enabled then the API gravity and temperature are
factors are determined based on the API gravity at [60 °F, rounded and the calculations are performed in accordance
equilibrium pressure]. The Transition area is only taken in with the rounding and truncating rules of the standard.
consideration in the 2nd iteration loop, as specified in the The CPL value is calculated from the compressibility factor
standard. and the 'Observed pressure' and 'Equilibrium pressure' input
The Alpha factor is calculated according from the density at values.
[60 °C, equilibrium pressure] and the K0, K1 and K2 factor. If
34 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxAPI_MPMS_11_2_1
Description Boundaries
The API MPMS 11.2.1 standard consists of a printed table that API MPMS 11.2.1 defines the following limits on the input values:
contains compressibility factors to correct hydrocarbon volumes • 0 to 90 °API
under pressure to the corresponding volumes at the equilibrium • -20 to +200 °F
pressure for the metered temperature. • 0 to 1500 psig.
The table contains compressibility factors related to meter
temperature and API gravity at 60°F. API Rounding
From the compressibility factor the volume correction for The actual standard is the printed table. It also includes the
pressure is calculated according to API MPMS 12.2. 'Calculation Procedure' to obtain the table values based on the
rounding and truncating of all input, intermediate and output
Compliance values.
• API MPMS 11.2.1 - Compressibility Factors for Hydrocarbons: The function provides the option to either output the table value
0 - 90°API Gravity Range - First Edition, August 1984 (including the full API rounding and truncating requirements) or
• API MPMS 12.2 - Calculation of Liquid Petroleum Quantities to perform the calculation procedure without any rounding and
Measured by Turbine or Displacement Meters truncating being applied.
Function inputs
Name Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
API60 API gravity at 60°F °API 0..120 0
Observed Temperature °F -50..400 60
Observed Pressure psig -10..2000 0
Equilibrium Pressure The equilibrium pressure is considered to be 0 psig for liquids psig EQUIPRES 0..2000 0
which have an equilibrium pressure less than atmospheric
pressure (in compliance with API MPMS 12.2 par. 12.2.5.4)
API 11.2.1 rounding 0: Disabled APIROUND - 0
The calculation of the compressibility factor F is performed
with full precision.
1: Enabled
API-MPMS 11.2.1 rounding and truncating rules are applied. The
compressibility factor F is rounded to 3 decimal places as
specified in the standard.
Function outputs
Name Remark EU SW tag Alarm Fallback
Status 0: Normal STS 1
1: Input argument out of range FIOOR
2: Calculation error CALERR
CPL Volume correction factor for pressure - CPL 1
Note: to achieve compliance with API MPMS 12.2 the CPL value
needs to be rounded to 4 decimal places.
F Compressibility factor 1/psi F 0
The output value will rounded according to input 'API 11.2.1
rounding'
Calculation out of range With respect to the standard the input values are: - OOR 0
0: In Range
1: Out of Range
Calculations Else
The calculations are in either full or partial compliance with the 1
standards, depending on whether API rounding is enabled or not CPL=
1 − F ⋅ Po
and on the actual number of decimal places for the CPL value
(API MPMS 12.2 defines 4 decimal places for the CPL value). The
With:
CPL value is calculated as follows (in compliance with API MPMS CPL Volume correction factor for pressure -
12.2): F Compressibility factor 1/psi
Po Observed pressure psig
Pe Equilibrium pressure psig
If Pe > 0 then
1
CPL=
1 − F ⋅ ( Po − Pe)
36 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxAPI_MPMS_11_2_1M
Description Data Limits
The API MPMS 11.2.1M standard consists of a printed table that API MPMS 11.2.1M defines the following limits on the input
contains compressibility factors to correct hydrocarbon volumes values:
under pressure to the corresponding volumes at the equilibrium • 638 to 1074 kg/m3
pressure for the metered temperature. • -30 to 90 °C
The table contains compressibility factors related to meter • 0 to 103 bar(g).
temperature and density at 15°C.
This metric standard corresponds with API MPMS 11.2.1 (the It is advised not to use the standard outside these limits.
customary version)
Compliance
• 11.2.1M - Compressibility Factors for Hydrocarbons: 638 -
1074 Kilograms per Cubic Meter Range - First Edition,
August 1984
• API MPMS 12.2 - Calculation of Liquid Petroleum Quantities
Measured by Turbine or Displacement Meters
Function inputs
Name Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Density at 15°C kg/m3 0..1300 0
Observed temperature °C -100..200 15
Observed pressure bar(g) -1..150 0
Equilibrium pressure The equilibrium pressure is considered to be 0 bar(g) for bar(g) EQUIPRES 0
liquids which have an equilibrium pressure less than
atmospheric pressure (in compliance with API MPMS 12.2 par.
12.2.5.4)
API 11.2.1M rounding 0: Disabled - APIROUND 0
The calculation of the compressibility factor F is performed
with full precision
1: Enabled
API-MPMS 11.2.1M rounding and truncating rules are
applied. The compressibility factor F is rounded in
accordance with the standard.
Function outputs
Name Remark EU SW tag Alarm Fallback
Status 0: Normal STS 1
1: Input argument out of range FIOOR
2: Calculation error CALC
CPL Volume correction factor for pressure - CPL 1
Note: to achieve compliance with API MPMS 12.2 the CPL value needs to
be rounded to 4 decimal places.
F Compressibility factor 1/bar F 0
The output value will be either rounded or not depending input 'API
11.2.1M rounding '
Calculation out of range With respect to the standard the input values are: - 0
0: In Range
1: Out of Range OOR
Calculations
The calculations are in either full or partial compliance with the Else
standards, depending on whether API rounding is enabled or not 1
and on the actual number of decimal places for the CPL value CPL=
1 − F ⋅ Po
(API MPMS 12.2 defines 4 decimal places for the CPL value).
The CPL value is calculated as follows (in compliance with API
With:
MPMS 12.2): CPL Volume correction factor for pressure -
F Compressibility factor 1/bar
If Pe > 0 then Po Observed pressure bar(g)
Pe Equilibrium pressure bar(g)
1
CPL=
1 − F ⋅ ( Po − Pe)
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 37
fxAPI_MPMS_11_2_2
Description Pseudo-critical temperature check
The API MPMS 11.2.2 standard consists of a printed table that The standard specifies that the observed temperature must be
contains compressibility factors to correct hydrocarbon volumes less than the pseudo-critical temperature
under pressure to the corresponding volumes at the equilibrium
pressure for the metered temperature. Observed Temperature [Rankin] < Pseudo Critical Temperature *
The table contains compressibility factors related to meter 0.96
temperature and the relative density at 60°F.
With:
Compliance Pseudo Critical Temperature [Rankin] = 621.418 - 822.686 * RD60
• 11.2.2 - Compressibility Factors for Hydrocarbons: 0.350 - + 1737.86 * RD60^2
0.637 Relative Density (60°F/60°F) and -50°F to 140°F Observed Temperature [Rankin] = Observed Temperature [ᵒF] +
Metering Temperature - Second Edition, October 1986 459.7;
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Relative density at 60°F Relative density at 60°F - 0..0.75 0
Observed Temperature °F -100..300 60
Observed Pressure psig -10..2500 0
Equilibrium Pressure The equilibrium pressure is considered to be 0 psig for liquids which have an psig EQUIPRES 0..2500 0
equilibrium pressure less than atmospheric pressure (in compliance with
API MPMS 12.2 par. 12.2.5.4)
API 11.2.2 rounding 0: Disabled APIROUND - 0
The calculation of the compressibility factor F and CPL is performed with
full precision.
1: Enabled
API-MPMS 11.2.2 rounding and truncating rules are applied.
The compressibility factor F is rounded to 8 decimal places with a
maximum of 4 significant digits as specified in the standard.
The CPL value is rounded to 4 decimal places in compliance with the
standard
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal STS 1
1: Input argument out of range FIOOR
2: Calculation error CALCERR
Calculations
The calculations are in either full or partial compliance with the
standard, depending on the selected type of API rounding.
38 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxAPI_MPMS_11_2_2M
Description Boundaries
The API MPMS 11.2.2M standard consists of a printed table that API MPMS 11.2.2M defines the following limits on the input
contains compressibility factors to correct hydrocarbon volumes values:
under pressure to the corresponding volumes at the equilibrium • 350 to 637 kg/m3
pressure for the metered temperature. • -46 to 60 °C
The table contains compressibility factors related to meter
• 0 to 152 bar(g)
temperature and the density at 15°C.
This metric standard corresponds with API MPMS 11.2.2 (the U.S.
customary version) Also the check on the pseudo-critical temperature as defined for
fxAPI_MPMS_11_2_2 is applied.
Compliance
• 11.2.2M - Compressibility Factors for Hydrocarbons: 350 -
637 Kilograms per Cubic Meter Density (15°C) and -46°C to
60 °C Metering Temperature - First Edition, October 1986
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Density at 15°C kg/m3 0..750 0
Observed Temperature °C -100..150 60
Observed Pressure bar(g) -1..200 0
Equilibrium Pressure The equilibrium pressure is considered to be 0 psig for bar(g) EQUIPRES 0..200 0
liquids which have an equilibrium pressure less than
atmospheric pressure (in compliance with API MPMS 12.2
par. 12.2.5.4)
API 11.2.2M rounding 0: Disabled APIROUND - 0
The calculation of the compressibility factor F and CPL is
performed with full precision.
1: Enabled
API-MPMS 11.2.2M rounding and truncating rules are
applied.
The compressibility factor F is rounded in accordance
with the standard.
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal STS 1
1: Input argument out of range FIOOR
2: Calculation error CALCERR
CPL Volume correction factor for pressure - CPL 1
Value will be rounded according to input 'API 11.2.2M rounding'
F Compressibility factor 1/bar F 0
The output value will be either rounded or not depending input
'API 11.2.2M rounding'
Calculation out of range With respect to the standard the input values are: - 0
0: In Range
1: Out of Range OOR
Calculations
The calculations are in either full or partial compliance with the
standard, depending on the selected type of API rounding.
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 39
fxAPI_MPMS_11_3_2_1
Description Boundaries
The function calculates the density of Ethylene (C2H4, also called The equation of state is valid from 65…165 °F and 200 … 2100
Ethene) based on the API MPMS 11.3.2.1 Equation Of State in USC psia.
units. This API chapter is also known as API Standard 2565.
References
• Supplement to API MPMS 11.3.1.1 (API Std. 1565) Ethylene
Density, 1974, Reaffirmed 1993.
Function inputs
Function inputs Remark EU Range Default
Name Optional tag name, tag description and tag group
Temperature °F -100..300 0
Pressure psia 0…3000 0
API rounding 0: Disabled - 1
The calculations are performed with full precision. A convergence limit of 1e-10
lbm/ft3 will be applied for the iterative calculations.
1: Enabled
The calculations are performed in full compliance with the standard. The input,
intermediate and output values are rounded as specified and also the iteration
limit as specified in the standard is used to achieve convergence.
Function outputs
Function outputs Remark EU Fallback
Status 0: Normal
1: Input argument out of range
2: Calculation error
3: No convergence
Density lb/ft3 0
Compressibility - 0
Equilibrium pressure Equilibrium pressure at the observed temperature. psia 0
This property is not currently calculated, as it is not defined in the standard how to do this.
Range With respect to the standard the inputs are: - 0
0: In Range
1: Out of Range
Calculations
The calculations are in compliance with the standard.
40 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxAPI_MPMS_11_3_3_2
Description Boundaries
The API MPMS 11.3.3.2 standard consists of a table with the The Calculation Procedure of API MPMS 11.3.3.2 defines the
density values (lbm/ft3) of propylene liquid as a function of following limits on the input values:
pressure and temperature. Also part of the standard is the • 30 to 165 °F
Calculation Procedure to obtain the table values. • 0 to 1600 psig
Compliance
• API MPMS 11.3.3.2 Propylene Compressibility Tables, 1974,
Reaffirmed 1997.
Function inputs
Function inputs Remark EU Range Default
Name Optional tag name, tag description and tag group
Observed temperature °F 0..200 60
Observed pressure psia 0..2000 0
API rounding 0: Disabled - 1
The calculations are performed with full precision.
A convergence limit of 1e-10 lbm/ft3 will be applied for the iterative
calculations.
1: Enabled
The calculated density is rounded to 5 decimal places (same as table
values).
A convergence limit of 5e-6 lbm/ft3 will be applied as defined in the
standard.
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS 1
1: Input argument out of range FIOOR
2: Calculation error CALCERR
3: No convergence NOCONV
Density At the observed pressure and temperature lbm/ft3 DENS 0
CTPL Volume correction factor for temperature and pressure (also - CTPL 1
referred to as the compressibility factor), equals the density at
the observed conditions of pressure and temperature value
divided by 32.6058 lbm/scf.
The value of 32.6058 lbm/scf is specified in the Calculation
Procedure of the standard as the propylene standard density at
60 °F and the corresponding vapor pressure.
Equilibrium pressure Equilibrium pressure at the observed temperature. psia EQUIPRES 0
Also referred to as vapor pressure or saturated pressure
Calculation out of range With respect to the standard the input values are: - 0
0: In Range
1: Out of Range OOR
Calculations
The calculations are in full or partial compliance with the
standard depending on input ‘API rounding’.
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 41
fxAPI_RD60F_1980
Description Compliance
• API MPMS 11.1 Volume X (API Standard 2540) - Table 23A -
Relative Density (T, P) <--> Relative Density (60°F, equilibrium Generalized Crude Oils, Correction of Observed Relative
pressure) Density to Relative Density at 60/60°F - First Edition, August
1980
This function converts a relative density value at the observed • API MPMS 11.1 Volume X (API Standard 2540) - Table 23B -
temperature and pressure to the relative density at 60°F and the Generalized Products, Correction of Observed Relative
equilibrium pressure (typically 0 psig) or vice versa. Density to Relative Density at 60/60°F - First Edition, August
The temperature conversion is according to API-2540, Tables 1980
23A/24A (Generalized Crude Oils) and 23B/24B (Refined Oil • API MPMS 11.1 Volume X (API Standard 2540) - Table 24A -
Products), while the volume correction for pressure according to Generalized Crude Oils, Correction of Volume to 60°F
API MPMS 11.2.1. against Relative Density at 60/60°F - First Edition, August
In 1982 API published tables 5D, 6D, 53D and 54D for lubricating 1980
oil products as part of API MPMS 11.1. Although tables 23D and • API MPMS 11.1 Volume X (API Standard 2540) - Table 24B -
24D are not covered in an official API standard the Flow-X series Generalized Products Correction of Volume to 60°F against
of flow computer supports tables 23D and 24D as well by Relative Density at 60/60°F - First Edition, August 1980
combining the calculation of tables 23A/B and 24A/B with the K0 • API MPMS 11.2.1 - Compressibility Factors for Hydrocarbons:
and K1 constants published in the other tables for lubricating 0 - 90°API Gravity Range - First Edition, August 1984
oils.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Input relative density Depending on the conversion method this is the relative density either at - 0..1.3 0
the observed temperature and observed pressure or at 60 °F and the
equilibrium pressure
Observed temperature °F -100..400 60
Observed pressure psig -10..2000 0
Product 1: A - Crude Oil PRDTYP - 1
2: B - Auto select
Selection based on relative density at 60 °F
3: B - Gasoline
4: B - Transition Area
5: B - Jet Fuels
6: B - Fuel Oil
7: D - Lubricating Oil
API-2540 rounding 0: Disabled API2540RND - 0
The calculations are performed with full precision and the final CTL value
is rounded as specified by input 'CTL decimal places'
1: Enabled for computational value
API-2540 rounding and truncating rules are applied and, in case of
conversion method 2 (standard to observed), the computational value for
CTL as specified in Table 24 is used, meaning that the CTL value has:
4 decimal places if CTL >=1
5 decimal places if CTL < 1.
2: Enabled for table value
API-2540 rounding and truncating rules are applied and, in case of
conversion method 2 (standard to observed), the table value for CTL as
specified in Table 24 meaning that the CTL value has 4 decimal places in
all cases
3: Enabled with 5 decimal places
API-2540 rounding and truncating rules are applied, and, in case of
conversion method 2 (standard to observed), the CTL value has 5 decimal
places in all cases.
Note: although not strictly in accordance with the standard, this option is
more commonly used than option 'Enabled for computational value'
Note: for conversion type 1 ‘From observed to standard conditions’ the CTL
42 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS
1: Input argument out of range FIOOR 1
2: Calculation error CALCERR
3: No convergence NOCONV
Output relative Depending on the conversion method this is the relative density either at 60 °F - RD 0
density and the equilibrium pressure or at the observed temperature and observed
pressure
CTL Volume correction factor for temperature. - CTL 1
Value will be rounded according to input 'API2540 rounding'
CPL Volume correction factor for pressure - CPL 1
Value will be rounded according to input 'API 11.2.1 rounding'
CTPL Combined volume correction factor - CTPL 1
CTPL = CTL * CPL
K0 Actual value of constant K0 used for CTL calculation - K0 0
K1 Actual value of constant K1 used for CTL calculation - K1 0
K2 Actual value of constant K2 used for CTL calculation - K2 0
Alpha Thermal expansion factor 1/°F ALPHA 0
F Compressibility factor 1/psi F 0
Product When input 'Product' is 'B - Auto select', then the output is set to the actual - PRDCUR 0
selected product of table 23B/24B (enumerative value as defined for input
'Product'), else the output is set equal to input 'Product'.
CTL calc out of range With respect to the standard used for the calculation of CTL the combination of 0
input values is:
0: In Range
1: Out of Range CTLOOR
CPL calc out of range With respect to the standard used for the calculation of CPL the combination of 0
input values is:
0: In Range
1: Out of Range CPLOOR
Calculations factors are determined based on the relative density at [60 °F,
The calculations depend on the conversion method. equilibrium pressure]. The Transition area is only taken in
consideration in the 2nd iteration loop, as specified in the
Conversion method 1: from observed to standard conditions. standard.
The function performs the following iterative algorithm to The Alpha factor is calculated according from the density at
calculate the relative density at standard conditions: [60 °C, equilibrium pressure] and the K0, K1 and K2 factor. If
First the inputs are rounded in accordance with the API2540 API2540 rounding is enabled, then the intermediate results
standard, provided that API2540 rounding is enabled. are rounded or truncated as specified API-2540 Table 23.
The observed density [kg/m3] is calculated from the observed The CTL value is calculated according to API-2540 Table 23
relative density from the Alpha factor and the differential temperature (=
The hydrometer correction on the observed density is applied, observed temperature – 60°F). If API2540 rounding is enabled,
provided that this correction is enabled then the intermediate results are rounded or truncated as
At the start of the iteration the initial value for density and specified API-2540 Table 23.
relative density at [60 °F, equilibrium pressure] is set to Depending on the type of API2540 rounding the calculated
respectively the observed density and the observed relative CTL value is rounded to 6 decimal places or not rounded at all.
density. The initial CPL value is set to 1. The density at [60 °F, equilibrium pressure] is calculated by
When the type of product is set to ‘B – Auto select’ (automatic dividing the observed density by the new CTL value and the
selection of the refined product range) the K0, K1 and K2 CPL value from the previous iteration.
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 43
The relative density at [60 °F, equilibrium pressure] is Conversion method 2: from standard to observed conditions.
calculated from the density at [60 °F, equilibrium pressure] The function performs straightforward calculations to
Because API 11.2.1 requires the API gravity value at 60 °F, the determine the relative density at observed conditions:
API gravity at [60 °F, equilibrium pressure] is calculated from First the inputs are rounded in accordance with the API2540
the density at [60 °F, equilibrium pressure]. standard, provided that API2540 rounding is enabled.
The compressibility factor is calculated according to API The density at [60°F, equilibrium pressure] is calculated from
MPMS 11.2.1 from the API gravity at [60 °F, equilibrium the input relative density
pressure] and the 'Observed temperature'. If API 11.2.1 When the type of product is set to ‘B – Auto select’ (automatic
rounding is enabled then the API gravity and temperature are selection of the refined product range) the K0, K1 and K2
rounded and the calculations are performed in accordance factors are determined based on the input relative density
with the rounding and truncating rules of the standard. The Alpha factor is calculated according from the density at
The CPL value is calculated from the compressibility factor [60°F, equilibrium pressure] and the K0, K1 and K2 factor. If
and the 'Observed pressure' and 'Equilibrium pressure' input API2540 rounding is enabled, then the intermediate results
values. are rounded or truncated as specified API-2540 Table 24.
The density at [60°F, equilibrium pressure] is calculated by The CTL value is calculated according to API-2540 Table 24
dividing the observed density by CTL and the new CPL value. from the Alpha factor and the differential temperature (=
If API2540 rounding is enabled then the density at [60°F, observed temperature – 60°F). If API2540 rounding is enabled,
equilibrium pressure] value is rounded to 3 decimal places as then the intermediate results are rounded or truncated as
specified in the standard. specified API-2540 Table 24.
The relative density at [60 °F, equilibrium pressure] is Depending on the type of API2540 rounding the calculated
calculated from the density at [60 °F, equilibrium pressure] CTL value is rounded to 4 or 5 decimal places or not rounded
If API2540 rounding is enabled then the relative density at at all.
[60°F, equilibrium pressure] value is rounded to 4 decimal Because API 11.2.1 requires the API gravity value at 60 °F, the
places as specified in the standard. API gravity at [60 °F, equilibrium pressure] is calculated from
Steps 5 through 17 are repeated taking the density value from the density at [60 °F, equilibrium pressure].
step 14 as the start value for the next iteration until the The compressibility factor is calculated according to API
absolute difference between two consecutive density values MPMS 11.2.1 from the input density and temperature'. If API
is either 0.05 (or 0.07 for the transition area) or 0.000001, 11.2.1 rounding is enabled then the input density and
depending of API2540 rounding being enabled or not. temperature are rounded and the calculations are performed
For refined products the entire iteration loop is repeated if in accordance with the rounding and truncating rules of the
the relative density at [60°F, equilibrium pressure] appears to standard.
be in a different product region than the observed relative The CPL value is calculated from the compressibility factor
density. This is required because a different product region and the 'Observed pressure' and 'Equilibrium pressure' input
means different K0, K1 and K2 factors. values.
If API 11.2.4 rounding is enabled, then the relative density The relative density at observed temperature and pressure is
value at [60°F, equilibrium pressure] is rounded to 0.0001 calculated from the input relative density and the CTL and the
CPL values.
44 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxAPI_SG60F_1952
Description
Note: this function is a combination of the API 1952 Tables and
Specific Gravity (T, P) <--> Specific Gravity (60°F, equilibrium API 11.2.1. For the calculation from observed to standard
pressure) conditions an iterative calculation is required. The rounding and
truncating of input and intermediate values is implemented such
This function converts a specific gravity value at the observed that the example calculations as specified in both standards are
temperature and pressure to the specific gravity at 60°F and the exactly reproduced.
equilibrium pressure (typically 0 psig) or vice versa.
The temperature conversion is according to ASTM-IP Petroleum Compliance
Measurements Tables 1952 (Also known as API-1952 tables) • ASTM-IP Petroleum Measurement Tables, American Edition,
Table 24. United States Units of Measurement, 1952
• API MPMS 11.2.1 - Compressibility Factors for Hydrocarbons:
0 - 90°API Gravity Range - First Edition, August 1984
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Input Specific Gravity Depending on the conversion method this is the Specific Gravity either at - 0..1.3 0
the observed temperature and observed pressure or at 60 °F and the
equilibrium pressure
Observed temperature °F -100..400 60
Observed pressure psig -10..2000 0
API 11.2.1 rounding 0: Disabled - API1121RND 0
The calculation of the compressibility factor F is performed with full
precision
1: Enabled
API-MPMS 11.2.1 rounding and truncating rules are applied. The
compressibility factor F is rounded to 3 decimal places as specified in
the standard.
Equilibrium pressure The equilibrium pressure is considered to be 0 psig for liquids which have psig EQUIPRES 0..2000 0
an equilibrium pressure less than atmospheric pressure (in compliance
with API MPMS 12.2 par. 12.2.5.4).
Conversion method 1: From observed to standard conditions CONVERSION 1
2: From standard to observed conditions
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS
1: Input argument out of range FIOOR 1
2: Calculation error CALCERR
3: No convergence NOCONV
Output Specific Gravity Depending on the conversion method this is the Specific Gravity either at - RD 0
60 °F and the equilibrium pressure or at the observed temperature and
observed pressure
CTL Volume correction factor for temperature. - CTL 1
CPL Volume correction factor for pressure - CPL 1
Value will be rounded according to input 'API 11.2.1 rounding'
CTPL Combined volume correction factor - CTPL 1
CTPL = CTL * CPL
F Compressibility factor 1/psi F 0
CTL calc out of range With respect to the standard used for the calculation of CTL the 0
combination of input values is:
0: In Range
1: Out of Range CTLOOR
CPL calc out of range With respect to the standard used for the calculation of CPL the 0
combination of input values is:
0: In Range
1: Out of Range CPLOOR
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 45
fxAPI_RD60F_NGL_LPG
Description Compliance
• API MPMS 11.2.4: Temperature Correction for the Volume of
Relative Density (T, P) <--> Relative Density (60°F, Pe) NGL and LPG Tables 23E, 24E, 53E, 54E, 59E & 60E,
September 2007
This function converts the relative density value at the observed • GPA TP-27: Temperature Correction for the Volume of NGL
temperature and pressure to the relative density value at 60°F and LPG Tables 23E, 24E, 53E, 54E, 59E & 60E, September
and the equilibrium pressure or vice versa. 2007
The temperature correction is according to API MPMS 11.2.4:2007 • GPA TP-25: Temperature Correction for the volume of Light
(GPA TP-25 / GPA TP-27), while the pressure correction is Hydrocarbons – Tables 24E and 23E, 1998
according to API MPMS 11.2.2:1984. • API MPMS 11.2.2 - Compressibility Factors for Hydrocarbons:
The calculation of the equilibrium pressure is according to GPA 0.350 - 0.637 Relative Density (60°F/60°F) and -50°F to 140°F
TP-15 (API MPMS 11.2.2 Addendum:1994). Metering Temperature - Second Edition, October 1986
• API MPMS 11.2.5: A Simplified Vapor Pressure Correlation for
Commercial NGLs, September 2007
• GPA TP-15: A Simplified Vapor Pressure Correlation for
Commercial NGLs, September 2007 (also covers GPA TP-15
1988)
• API MPMS 11.2.2 Addendum : Compressibility Factors for
Hydrocarbons: Correlation of Vapor Pressure for
Commercial Natural Gas Liquids (same as GPA TP-15:1988)
Function inputs
Name Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Input relative density Depending on the conversion method this represents the relative density - 0..0.75 0
either at the observed temperature and pressure or at 60 °F and the
equilibrium pressure
Observed temperature Temperature at which the relative density is observed °F -100..300 60
Observed pressure Pressure at which the relative density is observed psia -10..2500 0
API 11.2.4 rounding 0: Disabled API1124RND 0
The calculations are performed with full precision and the output values are
not rounded
1: Enabled
The input and output values are rounded as defined in the standard
API 11.2.2 rounding 0: Disabled API1122RND 0
The calculations are performed with full precision and the output values are
not rounded
1: Enabled
The input and output values are rounded as defined in the standard
Equilibrium pressure 1: Use Input EQUIPMODE 2
mode The value of input 'Equilibrium pressure value' is used for the calculation of
CPL
2: GPA TP-15
The equilibrium pressure is calculated in accordance with GPA TP-15
Equilibrium pressure Only used when input 'Equilibrium pressure mode' is set to 'Use input'. psia EQUIPINP 0
value The value will be used for the calculation of the CPL
GPA TP-15 rounding 0: Disabled - TP15RND 0
Full precision (no rounding and truncating applied)
1: Enabled
Rounding as defined in ' GPA TP15:1988 / API MPMS 11.2.2 Addendum':1994
P100 Correlation 0: Disabled - P100CORR 0
The standard correlation is commonly used for pure products such as
propane, butane and natural gasoline. It only requires the relative density
and the temperature to calculate the vapor pressure
1: Enabled
The improved correlation requires the vapor pressure at 100°F (37.8 °C). This
method is better suited for varied NGL mixes Where different product mixes
could have the same specific gravity but different equilibrium pressures.
Vapor pressure at psia EQUIP100F 0..2500 0
100°F
Conversion method 1: From observed to standard conditions CONVMETH 1
2: From standard to observed conditions
Function outputs
Name Remark EU SW tag Alarm Fallback
Status 0: Normal - STS
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 47
fxAPI_Table5_1952
Description Compliance
• ASTM-IP Petroleum Measurement Tables, American Edition,
°API (T) --> °API (60°F) United States Units of Measurement, 1952
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS 1
1: Input argument out of range FIOOR
2: Calculation error CALCERR
3: No convergence NOCONV
API at 60 °F API gravity at 60°F °API API 0
Calculation out of range With respect to the standard the input values are: - OOR 0
0: In Range
1: Out of Range
Calculations
The table values are the standard, so no calculations are
involved. The function performs an interpolation between the
table values that correspond to the input values.
50 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxAPI_Table5_1980
Description Compliance
• API MPMS 11.1 Volume X (API Standard 2540) - Table 5A -
°API (T) --> °API (60°F) Generalized Crude Oils, Correction of Observed API Gravity
to API Gravity at 60°F - First Edition, August 1980
This function converts an API gravity value at the observed • API MPMS 11.1 Volume X (API Standard 2540) - Table 5B -
temperature to the API gravity value at 60°F. Generalized Products, Correction of Observed API Gravity to
The temperature conversion is according to API MPMS 11.1:1980 API Gravity at 60°F- First Edition, August 1980
(API-2540), Tables 5A (Generalized Crude Oils) and 5B (Refined • API MPMS 11.1 Volume XIII - Table 5D - Generalized
Oil Products) and API MPMS 11.1 Chapter XIII Table 5D: 1984 Lubricating Oils, Correction of Observed API Gravity to API
(Lubricating Oils). Gravity at 60°F - January 1982
The function provides the option to correct for readings taken
from a hydrometer as specified in the API-2540 standard.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Observed API Observed API gravity °API -20..120 0
Observed temperature Temperature at which the API gravity is observed °F -100..400 60
Product 1: A - Crude Oil PRDTYP 1
2: B - Auto select
Selection based on °API at 60 °F
3: B - Gasoline
4: B - Transition Area
5: B - Jet Fuels
6: B - Fuel Oil
7: D - Lubricating Oil
API2540 rounding 0: Disabled APIROUND 0
The calculations are performed with full precision.
A convergence limit of 0.000001 kg/m3 will be applied
for the iterative calculations.
1: Enabled
API-2540 rounding and truncating rules are applied.
A convergence limit of 0.05 kg/m3 will be applied as
defined in the standard.
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS 1
1: Input argument out of range FIOOR
2: Calculation error CALCERR
3: No convergence NOCONV
API at 60 °F API gravity at 60°F °API API 0
CTL Volume correction factor for temperature. - CTL 1
K0 Actual value of constant K0 used for CTL calculation - K0 0
K1 Actual value of constant K1 used for CTL calculation - K1 0
K2 Actual value of constant K2 used for CTL calculation - K2 0
Alpha Thermal expansion factor 1/°F ALPHA 0
Product When input 'Product' is 'B - Auto select', then the output is set - PRDCUR 0
to the actual selected product of table 5B (enumerative value
as defined for input 'Product'), else the output is set equal to
input 'Product'.
Calculation out of range With respect to the standard the input values are: - 0
0: In Range
1: Out of Range OOR
Calculations
The calculations are in full or partial compliance with the
standard depending on input ‘API 2540 rounding’.
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 51
fxAPI_Table5_2004
Description Note: As opposed to API-2540, the 2004 standard does not
include a correction for readings taken from a hydrometer and
°API (T, P) --> °API (60°F, 0 psig) assumes that the equilibrium pressure is below atmospheric
pressure, so taking 0 psig as the base pressure.
This function converts an API gravity value at the observed
temperature and pressure to the API gravity value at 60°F and 0 Compliance
psig. • API MPMS 11.1 Temperature and Pressure Volume Correction
The temperature and pressure correction is according to API Factors for Generalized Crude Oils, Refined Products and
MPMS 11.1:2004. Lubricating Oils, May 2004
An iterative calculation needs to be applied to convert the
observed API gravity to the value at base conditions.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Observed API Observed API gravity °API -20..180 0
Observed temperature Temperature at which the API gravity is observed °F -100..400 60
Observed pressure Pressure at which the API gravity is observed psig -10..2000 0
Product 1: A - Crude Oil PRDTYP 1
2: B - Auto select
Selection based on °API at 60 °F
3: B - Gasoline
4: B - Transition Area
5: B - Jet Fuels
6: B - Fuel Oil
7: D - Lubricating Oil
API rounding 0: Disabled APIROUND 0
The calculations are performed with full precision and the final
CTL, CPL and CTPL values are rounded as specified by the
inputs 'CTL / CPL/ CTPL decimal places'
1: Enabled
The input and output values are rounded in compliance with
the standard. The CTL, CPL and CTPL value are rounded to 5
decimal places
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
3: No convergence within 15 iterations NOCONV
API at 60 °F API gravity at 60°F and 0 psig - API 0
CTL Volume correction factor for temperature. - CTL 1
Value will be rounded according to input 'API rounding'
CPL Volume correction factor for pressure - CPL 1
Value will be rounded according to input 'API rounding'
CTPL Combined volume correction factor - CTPL 1
CTPL = CTL * CPL
K0 Actual value of constant K0 used for CTL calculation - K0 0
K1 Actual value of constant K1 used for CTL calculation - K1 0
K2 Actual value of constant K2 used for CTL calculation - K2 0
Alpha Thermal expansion factor 1/°F ALPHA 0
F Compressibility factor 1/psi F 0
Product When input 'Product' is 'B - Auto select', then the output is set to the - PRDCUR 0
actual selected product of table B (enumerative value as defined for
input 'Product'), else the output is set equal to input 'Product'.
Calculation out of With respect to the standard the input values are: - 0
range 0: In Range
1: Out of Range OOR
Calculations
The calculations are in either full or partial compliance with the
standard, depending on whether API rounding is enabled or not.
52 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxAPI_Table6_1952
Description Boundaries
Table 6 contains values for the following range:
°API (60°F, 0 psig) --> CTL
Input value Normal Range EU
API Gravity at 60 °F 0 .. 100 °API
This function calculates the volume correction factor for Observed temperature 0 .. 300 °F
temperature from the API gravity value at 60°F and the observed
temperature according to API 1952 Table 6. Note that the table does not cover the full range, e.g. for an API
gravity of 70 the table only specifies values between 0 .. 150 °F.
Compliance
• ASTM-IP Petroleum Measurement Tables, American Edition,
United States Units of Measurement, 1952
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
API at 60 °F API gravity at 60°F and the equilibrium pressure °API -20..120 0
Observed temperature °F -100..400 60
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS 1
1: Input argument out of range FIOOR
2: Calculation error CALC
CTL Volume correction factor for temperature. - CTL 1
Calculation out of range With respect to the standard the input values are: - 0
0: In Range
1: Out of Range OOR
Calculations
The table values are the standard, so no calculations are
involved. The function performs an interpolation between the
table values that correspond to the input values.
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 53
fxAPI_Table6_1980
Description Compliance
• API MPMS 11.1 Volume X (API Standard 2540) - Table 6A -
°API (60°F, 0 psig) --> CTL Generalized Crude Oils, Correction of Volume to 60°F
against API Gravity at 60°F - First Edition, August 1980
This function calculates the volume correction factor for • API MPMS 11.1 Volume X (API Standard 2540) - Table 6B -
temperature from the API gravity value at 60°F and the observed Generalized Products, Correction of Volume to 60°F against
temperature. API Gravity at 60°F - First Edition, August 1980
The temperature conversion is according to API-2540, Tables 6A • API MPMS 11.1 Volume XIII - Table 6D - Generalized
(Generalized Crude Oils) and 6B (Refined Oil Products) and API Lubricating Oils, Correction of Volume to 60°F Against API
MPMS 11.1 Chapter XIII Table 6D: 1984 (Lubricating Oils). Gravity at 60°F - January 1982
Calculations
The calculations are in full or partial compliance with the
standard depending on input ‘API 2540 rounding’.
54 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxAPI_Table6_2004
Description Note: As opposed to API-2540 that the equilibrium pressure is
below atmospheric pressure, so taking 0 psig as the base
°API (60°F, 0 psig) --> °API (T, P) pressure.
This function converts an API gravity value at 60°F and 0 psig to Compliance
the API gravity value at the observed temperature and pressure. • API MPMS 11.1 Temperature and Pressure Volume Correction
The temperature and pressure correction is according to API Factors for Generalized Crude Oils, Refined Products and
MPMS 11.1:2004. Lubricating Oils, May 2004
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag
group
API at 60 °F API gravity at 60°F and 0 psig °API -20..120 0
Observed temperature Temperature at which the API gravity is °F -100..400 60
observed
Observed pressure Pressure at which the API gravity is psig -10..2000 0
observed
Product 1: A - Crude Oil PRDTYP 1
2: B - Auto select
Selection based on °API at 60 °F
3: B - Gasoline
4: B - Transition Area
5: B - Jet Fuels
6: B - Fuel Oil
7: D - Lubricating Oil
API rounding 0: Disabled APIROUND 0
The calculations are performed with full
precision
1: Enabled
The input and output values are rounded
in compliance with the standard. The
CTL, CPL and CTPL value are rounded to 5
decimal places.
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS
1: Input argument out of range FIOOR
2: Calculation error CALC
Observed API API gravity at the observed temperature and pressure - API 0
CTL Volume correction factor for temperature. - CTL 1
CPL Volume correction factor for pressure - CPL 1
CTPL Combined volume correction factor - CTPL 1
CTPL = CTL * CPL
K0 Actual value of constant K0 used for CTL calculation - K0 0
K1 Actual value of constant K1 used for CTL calculation - K1 0
K2 Actual value of constant K2 used for CTL calculation - K2 0
Alpha Thermal expansion factor 1/°F ALPHA 0
F Compressibility factor 1/psi F 0
Product When input 'Product' is 'B - Auto select', then the output is set to the - PRDCUR 0
actual selected product of table B (enumerative value as defined for
input 'Product'), else the output is set equal to input 'Product'.
Calculation out of range With respect to the standard the input values are: - 0
0: In Range
1: Out of Range OOR
Calculations
The calculations are in either full or partial compliance with the
standard, depending on whether API rounding is enabled or not.
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 55
fxAPI_Table23_1952
Description Boundaries
Table 23 contains values for the following range:
Specific Gravity (T) --> Specific Gravity (60°F)
Input value Normal Range EU
Observed specific gravity 0.420 .. 1.099
This function converts a specific gravity value at the observed Observed temperature 0 .. 150 °F
temperature to the specific gravity at 60° according to the API
1952 Table 23. Note that the table does not cover the full range, e.g. for an
Observed specific gravity of 0.420 the table only specifies values
Compliance between 120 .. 140 °F
• ASTM-IP Petroleum Measurement Tables, American Edition,
United States Units of Measurement, 1952
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Observed specific gravity Specific gravity at the observed temperature. - 0..1.3 0
Observed temperature °F -100..400 60
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS
1: Input argument out of range FIOOR
Specific gravity 60 °F Specific gravity at 60°F - RD 0
Calculation out of range With respect to the standard the input values are: - OOR 0
0: In Range
1: Out of Range
Calculations
The table values are the standard, so no calculations are
involved. The function performs an interpolation between the
table values that correspond to the input specific gravity and
input temperature.
fxAPI_Table23_1980
Description An iterative calculation needs to be applied to convert the
observed relative density to the value at base conditions.
Relative Density (T) --> Relative Density (60°F) The function provides the option to correct for readings taken
from a hydrometer as specified in the API-2540 standard.
This function converts a relative density value at the observed
temperature to the relative density at 60°. Compliance
The temperature conversion is according to API-2540, Tables 23A • API MPMS 11.1 Volume X (API Standard 2540) - Table 23A -
(Generalized Crude Oils) and 23B (Refined Oil Products. Generalized Crude Oils, Correction of Observed Relative
In 1982 API published tables 5D, 6D, 53D and 54D for lubricating Density to Relative Density at 60/60°F - First Edition, August
oil products as part of API MPMS 11.1. Although tables 23d and 1980
24d are not covered in an official API standard the Flow-X series • API MPMS 11.1 Volume X (API Standard 2540) - Table 23B -
of flow computer supports tables 23D and 24D as well by Generalized Products, Correction of Observed Relative
combining the calculation of tables 23A/B and 24A/B with the K0 Density to Relative Density at 60/60°F - First Edition, August
and K1 constants published in the other tables for lubricating 1980
oils.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Observed relative density Relative density at observed temperature and pressure - 0..1.3 0
Observed temperature °F -100..400 60
Product 1: A - Crude Oil PRDTYP 1
2: B - Auto select
Selection based on relative density at 60 °F
3: B - Gasoline
4: B - Transition Area
5: B - Jet Fuels
6: B - Fuel Oil
7: D - Lubricating Oil
API2540 rounding 0: Disabled APIROUND 0
The calculations are performed with full precision.
A convergence limit of 0.000001 kg/m3 will be applied for the iterative
calculations.
1: Enabled
API-2540 rounding and truncating rules are applied.
A convergence limit of 0.05 kg/m3 will be applied as defined in the
standard.
Hydrometer correction 0: Disabled HYDROCOR 0
1: Enabled
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS
1: Input argument out of range FIOOR
2: Calculation error CALC
3: No convergence NOCONV
Relative density 60 °F Relative density at 60°F and the equilibrium pressure - RD 0
CTL Volume correction factor for temperature. - CTL 1
K0 Actual value of constant K0 used for CTL calculation - K0 0
K1 Actual value of constant K1 used for CTL calculation - K1 0
K2 Actual value of constant K2 used for CTL calculation - K2 0
Alpha Thermal expansion factor 1/°F ALPHA 0
Product When input 'Product' is 'B - Auto select', then the output is set to the actual - PRDCUR 0
selected product of table 23B (enumerative value as defined for input
'Product'), else the output is set equal to input 'Product'.
Calculation out of range With respect to the standard the input values are: - OOR 0
0: In Range
1: Out of Range
Calculations
The calculations are in full or partial compliance with the
standard depending on input ‘API 2540 rounding’.
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 57
fxAPI_Table23_2004
Description Note: As opposed to API-2540, the 2004 standard does not
include a correction for readings taken from a hydrometer and
Relative Density (T, P) --> Relative Density (60°F, 0 psig) assumes that the equilibrium pressure is below atmospheric
pressure, so taking 0 psig as the base pressure.
This function converts a relative density value at the observed
temperature and pressure to the relative density value at 60°F Compliance
and 0 psig. • API MPMS 11.1 Temperature and Pressure Volume Correction
The temperature and pressure correction is according to API Factors for Generalized Crude Oils, Refined Products and
MPMS 11.1:2004. Lubricating Oils, May 2004
An iterative calculation needs to be applied to convert the
observed relative density to the value at base conditions.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag
group
Observed Relative density Relative density at the observed - 0 ..1.3 0
temperature and pressure
Observed temperature Temperature at which the relative density is °F -100..400 60
observed
Observed pressure Pressure at which the relative density is psig -10..2000 0
observed
Product 1: A - Crude Oil PRDTYP 1
2: B - Auto select
Selection based on relative density at 60
°F
3: B - Gasoline
4: B - Transition Area
5: B - Jet Fuels
6: B - Fuel Oil
7: D - Lubricating Oil
API rounding 0: Disabled APIROUND 0
The calculations are performed with full
precision and the final CTL, CPL and
CTPL values are rounded as specified by
the inputs 'CTL / CPL/ CTPL decimal
places'
1: Enabled
The input and output values are rounded
in compliance with the standard. The
CTL, CPL and CTPL value are rounded to
5 decimal places.
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - 1
1: Input argument out of range
Outputs will be set to fallback values
2: Calculation error
Outputs will be set to fallback values
3: No convergence within 15 iterations
Outputs will be set to values of last iteration
Relative density Relative density at 60°F and 0 psig - RD 0
at 60 °F
CTL Volume correction factor for temperature. - CTL 1
Value will be rounded according to input 'API rounding'
CPL Volume correction factor for pressure - CPL 1
Value will be rounded according to input 'API rounding'
CTPL Combined volume correction factor - CTPL 1
CTPL = CTL * CPL
K0 Actual value of constant K0 used for CTL calculation - K0 0
K1 Actual value of constant K1 used for CTL calculation - K1 0
K2 Actual value of constant K2 used for CTL calculation - K2 0
Alpha Thermal expansion factor 1/°F ALPHA 0
F Compressibility factor 1/psi F 0
Product When input 'Product' is 'B - Auto select', then the output is set - PRDCUR 0
to the actual selected product of table B (enumerative value as
defined for input 'Product'), else the output is set equal to
input 'Product'.
Calculation out of range With respect to the standard the input values are: - OOR 0
58 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxAPI_Table23E
Description Compliance
• API MPMS 11.2.4: Temperature Correction for the
Relative Density (T) --> Relative Density (60°F) Volume of NGL and LPG Tables 23E, 24E, 53E, 54E, 59E &
60E, September 2007
This function converts the relative density value at the observed • GPA TP-27: Temperature Correction for the Volume of
temperature to the corresponding relative density at 60°F. NGL and LPG Tables 23E, 24E, 53E, 54E, 59E & 60E,
The temperature correction is according to API MPMS 11.2.4:2007 September 2007
(GPA TP-25 / GPA TP-27). • GPA TP-25: Temperature Correction for the volume of
Light Hydrocarbons – Tables 24E and 23E, 1998
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag
group
Observed relative density Relative density at the observed temperature - 0..0.75 0
Observed temperature Temperature at which the relative density is °F -100..300 60
observed
API rounding 0: Disabled APIROUND 0
The calculations are performed with full
precision and the output values are not
rounded
1: Enabled
The input and output values are rounded as
defined in the standard
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS 1
1: Input argument out of range FIOOR
2: Calculation error CALCERR
3: No convergence NOCONV
Relative density at Relative density at 60°F RD 0
60 °F
CTL Volume correction factor for temperature. - CTL 1
Calculation out of With respect to the standard the input values are: - OOR 0
range 0: In Range
1: Out of Range
Calculations
The calculations are in either full or partial compliance with the
standard, depending on the selected type of API rounding.
60 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxAPI_Table24_1952
Description Boundaries
Table 23 contains values for the following range:
Specific Gravity (60°F) --> CTL
Input value Normal Range EU
Observed specific gravity 0.500 .. 1.100
This function returns the volume correction factor for Observed temperature -50 .. +300 °F
temperature Ctl from the observed temperature and the specific
gravity at 60° according to the API 1952 Table 24. Note that the table does not cover the full range, e.g. for an
Specific gravity at 60 °F of 0.500 the table only specifies values
Compliance between -50 .. 95 °F
• ASTM-IP Petroleum Measurement Tables, American Edition,
United States Units of Measurement, 1952
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Specific gravity 60 °F Specific gravity at 60°F - 0..1.3 0
Observed temperature °F -100..400 60
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS
1: Input argument out of range FIOOR
CTL Volume correction factor for temperature. - CTL 1
Calculation out of range With respect to the standard the input values are: - OOR 0
0: In Range
1: Out of Range
Calculations
The table values are the standard, so no calculations are
involved. The function performs an interpolation between the
table values that correspond to the input specific gravity and
input temperature.
fxAPI_Table24_1980
Description Compliance
• API MPMS 11.1 Volume X (API Standard 2540) - Table 24A -
Relative Density (60°F) --> CTL Generalized Crude Oils, Correction of Volume to 60°F
against Relative Density at 60/60°F - First Edition, August
This function calculates the volume correction factor for 1980
temperature CTL from the relative density value at 60°F and the • API MPMS 11.1 Volume X (API Standard 2540) - Table 24B -
observed temperature. Generalized Products, Correction of Volume to 60°F against
The temperature conversion is according to API-2540, Tables Relative Density at 60/60°F - First Edition, August 1980
24A (Generalized Crude Oils) and 24B (Refined Oil Products.
In 1982 API published tables 5D, 6D, 53D and 54D for lubricating
oil products as part of API MPMS 11.1. Although tables 23d and
24d are not covered in an official API standard the Flow-X series
of flow computer supports tables 23D and 24D as well by
combining the calculation of tables 23A/B and 24A/B with the K0
and K1 constants published in the other tables for lubricating
oils.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Relative Density at 60 °F Relative density at 60°F and the equilibrium pressure - 0..1.3 0
Observed temperature °F -100..400 60
Product 1: A - Crude Oil PRDTYP - 1
2: B - Auto select
Selection based on relative density at 60 °F
3: B - Gasoline
4: B - Transition Area
5: B - Jet Fuels
6: B - Fuel Oil
7: D - Lubricating Oil
API2540 rounding 0: Disabled APIROUND - 0
The calculations are performed with full precision and the final CTL value is
rounded as specified by input 'CTL decimal places'
1: Enabled for computational value
API-2540 rounding and truncating rules are applied and the computational
value for CTL as specified in the standard is used, meaning that the CTL value
has:
4 decimal places if CTL >=1
5 decimal places if CTL < 1.
2: Enabled for table value
API-2540 rounding and truncating rules are applied and the table value for
CTL as specified in the standard meaning that the CTL value has 4 decimal
places in all cases
3: Enabled with 5 decimal places
API-2540 rounding and truncating rules are applied, while the CTL value has 5
decimal places in all cases.
Note: although not strictly in accordance with the standard, this option is
more commonly used than option 'Enabled for computational value'
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
CTL Volume correction factor for temperature. - CTL 1
Value will be rounded according to input 'API2540 rounding'
K0 Actual value of constant K0 used for CTL calculation - K0 0
K1 Actual value of constant K1 used for CTL calculation - K1 0
K2 Actual value of constant K2 used for CTL calculation - K2 0
Alpha Thermal expansion factor 1/°F ALPHA 0
Product When input 'Product' is 'B - Auto select', then the output is set to the actual - PRDCUR Input
selected product of table 24B (enumerative value as defined for input Product
'Product'), else the output is set equal to input 'Product'.
Calculation out of range With respect to the standard the input values are: - OOR 0
0: In Range
1: Out of Range
62 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
Calculations
The calculations are in full or partial compliance with the
standard depending on input ‘API 2540 rounding’.
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 63
fxAPI_Table24_2004
Description
Note: The 2004 standard assumes that the equilibrium pressure
Relative Density (60°F, 0 psig) --> Relative Density (T, P) is below atmospheric pressure, so taking 0 psig as the base
pressure.
This function converts a relative density value at 60°F and 0 psig
to the relative density value at the observed temperature and Compliance
pressure. • API MPMS 11.1 Temperature and Pressure Volume Correction
The temperature and pressure correction is according to API Factors for Generalized Crude Oils, Refined Products and
MPMS 11.1:2004. Lubricating Oils, May 2004
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Relative density at 60 °F Relative density at 60°F and 0 psig - 0 ..1.3 0
Observed temperature Temperature at which the API gravity is observed °F -100..400 60
Observed pressure Pressure at which the API gravity is observed psig -10..2000 0
Product 1: A - Crude Oil PRDTYP 1
2: B - Auto select
Selection based on relative density at 60 °F
3: B - Gasoline
4: B - Transition Area
5: B - Jet Fuels
6: B - Fuel Oil
7: D - Lubricating Oil
API rounding 0: Disabled APIROUND 0
The calculations are performed with full precision and the
final CTL, CPL and CTPL values are rounded as specified by
the inputs 'CTL / CPL/ CTPL decimal places'
1: Enabled
The input and output values are rounded in compliance with
the standard. The CTL, CPL and CTPL value are rounded to 5
decimal places.
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
Observed relative Relative density at the observed temperature and pressure - RD 0
density
CTL Volume correction factor for temperature. - CTL 1
Value will be rounded according to input 'API rounding'
CPL Volume correction factor for pressure - CPL 1
Value will be rounded according to input 'API rounding'
CTPL Combined volume correction factor - CTPL 1
CTPL = CTL * CPL
K0 Actual value of constant K0 used for CTL calculation - K0 0
K1 Actual value of constant K1 used for CTL calculation - K1 0
K2 Actual value of constant K2 used for CTL calculation - K2 0
Alpha Thermal expansion factor 1/°F ALPHA 0
F Compressibility factor 1/psi F 0
Product When input 'Product' is 'B - Auto select', then the output is set to the - PRDCUR 0
actual selected product of table B (enumerative value as defined for
input 'Product'), else the output is set equal to input 'Product'.
Calculation out of With respect to the standard the input values are: - OOR 0
range 0: In Range
1: Out of Range
Calculations
The calculations are in either full or partial compliance with the
standard, depending on whether API rounding is enabled or not.
64 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxAPI_Table24E
Description Compliance
• API MPMS 11.2.4: Temperature Correction for the Volume of
Relative Density (60°F) --> CTL NGL and LPG Tables 23E, 24E, 53E, 54E, 59E & 60E,
September 2007
This function calculates the volume correction factor for • GPA TP-27: Temperature Correction for the Volume of NGL
temperature from the relative density value at 60°F and the and LPG Tables 23E, 24E, 53E, 54E, 59E & 60E, September
observed temperature. 2007
The temperature correction is according to API MPMS 11.2.4:2007 • GPA TP-25: Temperature Correction for the volume of Light
(GPA TP-25 / GPA TP-27). Hydrocarbons – Tables 24E and 23E, 1998
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag
group
Relative density at 60 °F Relative density at 60°F - 0..0.75 0
Observed temperature Temperature at which the relative density is °F -100..300 60
observed
API rounding 0: Disabled APIROUND 0
The calculations are performed with full
precision and the output values are not
rounded
1: Enabled
The input and output values are rounded as
defined in the standard
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS
1: Input argument out of range FIOOR
2: Calculation error
3: No convergence CALC
CTL Volume correction factor for temperature - CTL 1
Value will be rounded according to inputs 'API rounding'
Calculation out of range With respect to the standard the input values are: - OOR 0
0: In Range
1: Out of Range
Calculations
The calculations are in either full or partial compliance with the
standard, depending on the selected type of API rounding.
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 65
fxAPI_Table53_1952
Description Boundaries
Table 53 contains values for the following range:
Density (T) --> Density (15°C) Input value Normal Range EU
Observed density 420 .. 1099 kg/m3
Observed temperature -25 .. 125 °C
This function converts a density value at the observed
temperature to the density at 15°C according to the API 1952 Note that the table does not cover the full range, e.g. for an
Table 53. Observed specific gravity of 0.420 the table only specifies values
between 45 .. 60 °C
Compliance
• ASTM-IP Petroleum Measurement Tables, Metric Edition,
Metric Units of Measurement, 1952
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Observed density Density at the observed temperature. kg/m3 0..1300 0
Observed temperature °C -100..200 15
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS
1: Input argument out of range FIOOR
Density at 15 °C Density at 15 °C kg/m3 DENS15 0
Calculation out of range With respect to the standard the input values are: - OOR 0
0: In Range
1: Out of Range
Calculations
The table values are the standard, so no calculations are
involved. The function performs an interpolation between the
table values that correspond to the input specific gravity and
input temperature.
fxAPI_Table53_1980
Description Compliance
• API MPMS 11.1 Volume X (API Standard 2540) - Table 53A -
Density (T) --> Density (15°C) Generalized Crude Oils, Correction of Observed Density to
Density at 15°C - First Edition, August 1980
This function converts a density value at the observed • API MPMS 11.1 Volume X (API Standard 2540) - Table 53B -
temperature to the density value at 15°C. Generalized Products, Correction of Observed Density to
The temperature conversion is according to API-2540, Tables 53A Density at 15°C - First Edition, August 1980
(Generalized Crude Oils) and 53B (Refined Oil Products) and API • API MPMS 11.1 Volume XIV - Table 53D - Generalized
MPMS 11.1 Chapter XIV Table 53D: 1984 (Lubricating Oils). Lubricating Oils, Correction of Observed Density to Density
The function provides the option to correct for readings taken at 15°C - January 1982
from a hydrometer as specified in the API-2540 standard.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Observed density Density at observed temperature kg/m3 0..1300 0
Observed temperature °C -100..200 15
Product 1: A - Crude Oil PRDTYP 1
2: B - Auto select
Selection based on density at 15 °C
3: B - Gasoline
4: B - Transition Area
5: B - Jet Fuels
6: B - Fuel Oil
7: D - Lubricating Oil
API2540 rounding 0: Disabled APIROUND 0
The calculations are performed with full precision.
A convergence limit of 0.000001 kg/m3 will be applied for
the iterative calculations.
1: Enabled
API-2540 rounding and truncating rules are applied.
A convergence limit of 0.05 kg/m3 will be applied as defined
in the standard.
Hydrometer correction 0: Disabled HYDROCOR 0
1: Enabled
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
3: No convergence NOCONV
Density at 15 °C Density at 15°C kg/m3 (s) DENS15 0
CTL Volume correction factor for temperature. - CTL 1
K0 Actual value of constant K0 used for CTL calculation - K0 0
K1 Actual value of constant K1 used for CTL calculation - K1 0
K2 Actual value of constant K2 used for CTL calculation - K2 0
Alpha Thermal expansion factor 1/°C ALPHA 0
Product When input 'Product' is 'B - Auto select', then the output is - PRDCUR 0
set to the actual selected product of table 53B
(enumerative value as defined for input 'Product'), else the
output is set equal to input 'Product'.
Calculation out of With respect to the standard the input values are: - OOR 0
range 0: In Range
1: Out of Range
Calculations
The calculations are in full or partial compliance with the
standard depending on input ‘API 2540 rounding’.
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 67
fxAPI_Table53_2004
Description
Note: As opposed to API-2540, the 2004 standard does not
Density (T, P) --> Density (15°C, 0 bar(g)) include a correction for readings taken from a hydrometer and
assumes that the equilibrium pressure is below atmospheric
This function converts a density value at the observed pressure, so taking 0 psig as the base pressure.
temperature and pressure to the density value at 15°C and 0
bar(g). Compliance
The temperature and pressure correction is according to API • API MPMS 11.1 Temperature and Pressure Volume Correction
MPMS 11.1:2004. Factors for Generalized Crude Oils, Refined Products and
An iterative calculation needs to be applied to convert the Lubricating Oils, May 2004
observed density to the value at base conditions.
Function inputs and outputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Observed density Density at the observed temperature and pressure kg/m3 0..1300 0
Observed temperature Temperature at which the density is observed °C -100..200 15
Observed pressure Pressure at which the density is observed bar(g) -1..250 0
Product 1: A - Crude Oil PRDTYP 1
2: B - Auto select
Selection based on density at 15 °C
3: B - Gasoline
4: B - Transition Area
5: B - Jet Fuels
6: B - Fuel Oil
7: D - Lubricating Oil
API rounding 0: Disabled APIROUND 0
The calculations are performed with full precision and the final CTL,
CPL and CTPL values are rounded as specified by the inputs 'CTL /
CPL/ CTPL decimal places'
1: Enabled
The input and output values are rounded in compliance with the
standard. The CTL, CPL and CTPL value are rounded to 5 decimal
places.
fxAPI_Table53E
Description Compliance
• API MPMS 11.2.4: Temperature Correction for the Volume of
Density (T) --> Density (15°C) NGL and LPG Tables 23E, 24E, 53E, 54E, 59E & 60E,
September 2007
This function converts the density value at the observed • GPA TP-27: Temperature Correction for the Volume of NGL
temperature to the corresponding density at 15°C. and LPG Tables 23E, 24E, 53E, 54E, 59E & 60E, September
The temperature correction is according to API MPMS 11.2.4:2007 2007
(GPA TP-27).
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Observed density Density at the observed temperature kg/m3 0..750 0
Observed temperature Temperature at which the relative density is observed °C -100..150 15
API rounding 0: Disabled 0
The calculations are performed with full precision
and the output values are not rounded
1: Enabled
The input and output values are rounded as
defined in the standard
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
3: No convergence NOCONV
Density at 15°C DENS15
CTL Volume correction factor for temperature. - CTL 1
Calculation out of range With respect to the standard the input values are: - OOR 0
0: In Range
1: Out of Range
Calculations
The calculations are in either full or partial compliance with the
standard, depending on the selected type of API rounding.
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 69
fxAPI_Table54_1952
Description Boundaries
Table 54 contains values for the following range:
Density (15°C) --> CTL
Input value Normal Range EU
Density at 15 °C 500 .. 1100 kg/m3
This function determines the volume correction factor for Observed temperature -50 .. +150 °C
temperature CTL from the relative density value at 15°C and the
observed temperature according to the API 1952 Table 54. Note that the table does not cover the full range, e.g. for a
Density at 15 °C of 500 kg/m3the table only specifies values
Compliance between -50 .. 55 °C
• ASTM-IP Petroleum Measurement Tables, Metric Edition,
Metric Units of Measurement, 1952
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Density 15 °C Specific gravity at 60°F Kg/m3 0..1300 0
Observed temperature °C -100..200 15
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS
1: Input argument out of range FIOOR
CTL Volume correction factor for temperature. - CTL 1
Calculation out of range With respect to the standard the input values are: - OOR 0
0: In Range
1: Out of Range
Calculations
The table values are the standard, so no calculations are
involved. The function performs an interpolation between the
table values that correspond to the input specific gravity and
input temperature.
fxAPI_Table54_1980
Description Compliance
• API MPMS 11.1 Volume X (API Standard 2540) - Table 54A -
Density (15°C) --> CTL Generalized Crude Oils, Correction of Volume to 15°C against
Density at 15°F - First Edition, August 1980
This function calculates the volume correction factor for • API MPMS 11.1 Volume X (API Standard 2540) - Table 54B -
temperature CTL from the relative density value at 15°C and the Generalized Products, Correction of Volume to 15°C against
observed temperature. Density at 15°C - First Edition, August 1980
The temperature conversion is according to API-2540, Tables • API MPMS 11.1 Volume XIV - Table 54D - Generalized
54A (Generalized Crude Oils) and 54B (Refined Oil Products) and Lubricating Oils, Correction of Volume to 15°C Against
Density at 15°C - January 1982
API MPMS 11.1 Chapter XIV Table 54D: 1984 (Lubricating Oils).
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Density at 15 °C Density at 15°C and the equilibrium pressure kg/m3 0..1300 0
Observed °C -100..200 15
temperature
Product 1: A - Crude Oil PRDTYP - 1
2: B - Auto select
3: B - Gasoline
4: B - Transition Area
5: B - Jet Fuels
6: B - Fuel Oil
7: D - Lubricating Oil
API2540 rounding 0: Disabled APIROUND - 0
The calculations are performed with full precision and the final CTL value is
rounded as specified by input 'CTL decimal places'
1: Enabled for computational value
API-2540 rounding and truncating rules are applied and the computational
value for CTL as specified in the standard is used, meaning that the CTL value
has:
4 decimal places if CTL >=1
5 decimal places if CTL < 1.
2: Enabled for table value
API-2540 rounding and truncating rules are applied and the table value for CTL
as specified in the standard meaning that the CTL value has 4 decimal places in
all cases
3: Enabled with 5 decimal places
API-2540 rounding and truncating rules are applied, while the CTL value has 5
decimal places in all cases.
Note: although not strictly in accordance with the standard, this option is more
commonly used than option 'Enabled for computational value'
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
CTL Volume correction factor for temperature. - CTL 1
Value will be rounded according to input 'API2540 rounding'
K0 Actual value of constant K0 used for CTL calculation - K0 0
K1 Actual value of constant K1 used for CTL calculation - K1 0
K2 Actual value of constant K2 used for CTL calculation - K2 0
Alpha Thermal expansion factor 1/°C ALPHA
Product When input 'Product' is 'B - Auto select', then the output is set to the - PRDCUR
actual selected product of table 54B (enumerative value as defined for
input 'Product'), else the output is set equal to input 'Product'.
Calculation out of range With respect to the standard the input values are: - OOR
0: In Range
1: Out of Range
Calculations
The calculations are in full or partial compliance with the
standard depending on input ‘API 2540 rounding’.
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 71
fxAPI_Table54_2004
Description
Note: The 2004 standard assumes that the equilibrium pressure
Density (15°C, 0 bar(g)) --> Density (T, P) is below atmospheric pressure, so taking 0 psig as the base
pressure.
This function converts a density value at 15°C and 0 bar(g) to the
density value at the observed temperature and pressure. Compliance
The temperature and pressure correction is according to API • API MPMS 11.1 Temperature and Pressure Volume Correction
MPMS 11.1:2004. Factors for Generalized Crude Oils, Refined Products and
Lubricating Oils, May 2004
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Density at 15 °C Density at 15°C and 0 bar(g) kg/m3 0..1300 0
Observed temperature Temperature at which the density is observed °C -100..200 15
Observed pressure Pressure at which the density is observed bar(g) -1..250 0
Product 1: A - Crude Oil PRDTYP 1
2: B - Auto select
Selection based on density at 15 °C
3: B - Gasoline
4: B - Transition Area
5: B - Jet Fuels
6: B - Fuel Oil
7: D - Lubricating Oil
API rounding 0: Disabled APIROUND 0
The calculations are performed with full precision and the final
CTL, CPL and CTPL values are rounded as specified by the inputs
'CTL / CPL/ CTPL decimal places'
1: Enabled
The input and output values are rounded in compliance with the
standard. The CTL, CPL and CTPL value are rounded to 5 decimal
places.
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
3: No convergence
Observed density Density at the observed temperature and pressure - DENS 0
CTL Volume correction factor for temperature. - CTL 1
Value will be rounded according to input 'API rounding'
CPL Volume correction factor for pressure - CPL 1
Value will be rounded according to input 'API rounding'
CTPL Combined volume correction factor - CTPL 1
CTPL = CTL * CPL
K0 Actual value of constant K0 used for CTL calculation - K0 0
K1 Actual value of constant K1 used for CTL calculation - K1 0
K2 Actual value of constant K2 used for CTL calculation - K2 0
Alpha Thermal expansion factor at 60 °F ! 1/°C ALPHA 0
F Compressibility factor 1/bar F 0
Product When input 'Product' is 'B - Auto select', then the output is set to the actual - PRDCUR 0
selected product of table B (enumerative value as defined for input 'Product'),
else the output is set equal to input 'Product'.
Calculation out of range With respect to the standard the input values are: - OOR 0
0: In Range
1: Out of Range
Calculations
The calculations are in either full or partial compliance with the
standard, depending on whether API rounding is enabled or not.
72 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxAPI_Table54E
Description Compliance
• API MPMS 11.2.4: Temperature Correction for the Volume of
Density (15°C) --> CTL NGL and LPG Tables 23E, 24E, 53E, 54E, 59E & 60E,
September 2007
This function calculates the volume correction factor for • GPA TP-27: Temperature Correction for the Volume of NGL
temperature from the relative density value at 15°C and the and LPG Tables 23E, 24E, 53E, 54E, 59E & 60E, September
observed temperature. 2007
The temperature correction is according to API MPMS 11.2.4:2007
(GPA TP-27).
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Density at 15°C - 0..750 0
Observed temperature Temperature at which the relative density is observed °C -100..150 15
API rounding 0: Disabled 0
The calculations are performed with full precision and
the output values are not rounded
1: Enabled
The input and output values are rounded as defined in
the standard
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS 1
1: Input argument out of range FIOOR
2: Calculation error CALCERR
3: No convergence
CTL Volume correction factor for temperature - CTL 1
Value will be rounded according to input 'API rounding'
Calculation out of range With respect to the standard the input values are: - OOR 0
0: In Range
1: Out of Range
Calculations
The calculations are in either full or partial compliance with the
standard, depending on the selected type of API rounding.
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 73
fxAPI_Table59_2004
Description Note: As opposed to API-2540, the 2004 standard does not
include a correction for readings taken from a hydrometer and
Density (T, P) --> Density (20°C, 0 bar(g)) assumes that the equilibrium pressure is below atmospheric
pressure, so taking 0 psig as the base pressure.
This function converts a density value at the observed
temperature and pressure to the density value at 20°C and 0 Compliance
bar(g). • API MPMS 11.1 Temperature and Pressure Volume Correction
The temperature and pressure correction is according to API Factors for Generalized Crude Oils, Refined Products and
MPMS 11.1:2004. Lubricating Oils, May 2004
An iterative calculation needs to be applied to convert the
observed density to the value at base conditions.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Observed density Density at the observed temperature and pressure kg/m3 0..1300 0
Observed temperature Temperature at which the density is observed °C -10..200 20
Observed pressure Pressure at which the density is observed bar(g) -1..250 0
Product 1: A - Crude Oil PRDTYP 1
2: B - Auto select
Selection based on density at 20 °C
3: B - Gasoline
4: B - Transition Area
5: B - Jet Fuels
6: B - Fuel Oil
7: D - Lubricating Oil
API rounding 0: Disabled APIROUND 0
The calculations are performed with full precision and the final CTL, CPL and CTPL
values are rounded as specified by the inputs 'CTL / CPL/ CTPL decimal places'
1: Enabled
The input and output values are rounded in compliance with the standard. The
CTL, CPL and CTPL value are rounded to 5 decimal places.
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
3: No convergence NOCONV
Density at 20 °C Density at 20°C and 0 bar(g) - DENS20 0
CTL Volume correction factor for temperature. - CTL 1
Value will be rounded according to input 'API rounding'
CPL Volume correction factor for pressure - CPL 1
Value will be rounded according to input 'API rounding'
CTPL Combined volume correction factor - CTPL 1
CTPL = CTL * CPL
K0 Actual value of constant K0 used for CTL calculation - K0 0
K1 Actual value of constant K1 used for CTL calculation - K1 0
K2 Actual value of constant K2 used for CTL calculation - K2 0
Alpha Thermal expansion factor at 60 °F ! 1/°C ALPHA 0
F Compressibility factor 1/bar F 0
Product When input 'Product' is 'B - Auto select', then the output is set to the actual - PRDCUR 0
selected product of table B (enumerative value as defined for input 'Product'),
else the output is set equal to input 'Product'.
Calculation out of With respect to the standard the input values are: - OOR 0
range 0: In Range
1: Out of Range
Calculations
The calculations are in either full or partial compliance with the
standard, depending on whether API rounding is enabled or not.
74 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxAPI_Table59E
Description Compliance
• API MPMS 11.2.4: Temperature Correction for the Volume of
Density (T) --> Density (20°C) NGL and LPG Tables 23E, 24E, 53E, 54E, 59E & 60E,
September 2007
This function converts the density value at the observed • GPA TP-27: Temperature Correction for the Volume of NGL
temperature to the corresponding density at 20°C. and LPG Tables 23E, 24E, 53E, 54E, 59E & 60E, September
The temperature correction is according to API MPMS 11.2.4:2007 2007
(GPA TP-27).
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Observed density Density at the observed temperature kg/m3 0..750 0
Observed temperature Temperature at which the relative density is observed °C -100..200 20
API rounding 0: Disabled APIROUND 0
The calculations are performed with full precision and the
output values are not rounded
1: Enabled
The input and output values are rounded as defined in the
standard
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
3: No convergence NOCONV
Density at 20°C DENS20 0
CTL Volume correction factor for temperature. - CTL 1
Calculation out of range With respect to the standard the input values are: - OOR 0
0: In Range
1: Out of Range
Calculations
The calculations are in either full or partial compliance with the
standard, depending on the selected type of API rounding.
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 75
fxAPI_Table60_2004
Description Note: The 2004 standard assumes that the equilibrium pressure
is below atmospheric pressure, so taking 0 psig as the base
Density (20°C, 0 bar(g)) --> Density (T, P) pressure.
This function converts a density value at 20°C and 0 bar(g) to the Compliance
density value at the observed temperature and pressure. • API MPMS 11.1 Temperature and Pressure Volume Correction
The temperature and pressure correction is according to API Factors for Generalized Crude Oils, Refined Products and
MPMS 11.1:2004. Lubricating Oils, May 2004
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Density at 20 °C Density at 20°C and 0 bar(g) kg/m3 0..1300 0
Observed temperature Temperature at which the density is observed °C -100..200 60
Observed pressure Pressure at which the density is observed bar(g) -1..250 0
Product 1: A - Crude Oil PRDTYP 1
2: B - Auto select
Selection based on density at 20 °C
3: B - Gasoline
4: B - Transition Area
5: B - Jet Fuels
6: B - Fuel Oil
7: D - Lubricating Oil
API rounding 0: Disabled APIROUND 0
The calculations are performed with full precision and the final CTL,
CPL and CTPL values are rounded as specified by the inputs 'CTL /
CPL/ CTPL decimal places'
1: Enabled
The input and output values are rounded in compliance with the
standard. The CTL, CPL and CTPL value are rounded to 5 decimal
places.
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
3: No convergence
Observed density Density at the observed temperature and pressure - DENS 0
CTL Volume correction factor for temperature. - CTL 1
Value will be rounded according to input 'API rounding'
CPL Volume correction factor for pressure - CPL 1
Value will be rounded according to input 'API rounding'
CTPL Combined volume correction factor - CTPL 1
CTPL = CTL * CPL
K0 Actual value of constant K0 used for CTL calculation - K0 0
K1 Actual value of constant K1 used for CTL calculation - K1 0
K2 Actual value of constant K2 used for CTL calculation - K2 0
Alpha Thermal expansion factor at 60 °F ! 1/°C ALPHA 0
F Compressibility factor 1/bar F 0
Product When input 'Product' is 'B - Auto select', then the output is set to the actual selected - PRDCUR 0
product of table B (enumerative value as defined for input 'Product'), else the output
is set equal to input 'Product'.
Calculation out of range With respect to the standard the input values are: - OOR 0
0: In Range
1: Out of Range
Calculations
The calculations are in either full or partial compliance with the
standard, depending on whether API rounding is enabled or not.
76 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxAPI_Table60E
Description Compliance
• API MPMS 11.2.4: Temperature Correction for the Volume of
Density (20°C) --> CTL NGL and LPG Tables 23E, 24E, 53E, 54E, 59E & 60E,
September 2007
This function calculates the volume correction factor for • GPA TP-27: Temperature Correction for the Volume of NGL
temperature from the relative density value at 20°C and the and LPG Tables 23E, 24E, 53E, 54E, 59E & 60E, September
observed temperature. 2007
The temperature correction is according to API MPMS 11.2.4:2007
(GPA TP-27).
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Density at 20°C - 0..750 0
Observed temperature Temperature at which the relative density is observed °C -100..150 20
API rounding 0: Disabled APIROUND 0
The calculations are performed with full precision and the output
values are not rounded
1: Enabled
The input and output values are rounded as defined in the standard
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
3: No convergence
CTL Volume correction factor for temperature - CTL 1
Value will be rounded according to input 'API rounding'
Calculation out of range With respect to the standard the input values are: - OOR 0
0: In Range
1: Out of Range
Calculations
The calculations are in either full or partial compliance with the
standard, depending on the selected type of API rounding.
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 77
fxASTM_D1550_RD60
Description Boundaries
This function calculates the relative density at 60ᵒF and 0 psig of ASTM D1550 table 1 consists of table values with a resolution of
Butadiene based on ASTM Designation 1550. The ASTM-D1550 0.005 for the relative density and 1ᵒF for the temperature. The
standard specifies several tables. This function uses table 1, function applies a linear interpolation between table values
which contains values for the relative density at 60ᵒF as a based on the input values. The table specifies relative density at
function of the observed relative density and the observed 60ᵒF values that are limited to a low value of 0.621 and a high
temperature. The compressibility factor is calculated in value of 0.634. When the combination of input values lies outside
accordance with API MPMS 11.2.2:1984. the range covered by the table, the function outputs either the
low or high table value depending on whether the input values
Compliance lay below or above the table limits.
• ASTM Designation: D1550 -94 (Reapproved 2005), Standard Data
ASTM Butadiene Measurement Table 1 Reduction of API MPMS 11.2.2 applies for the following range:
observed specific gravity to specific gravity at 15.6/15. ᵒC • 0.350 to 0.637 (relative density)
(60/60ᵒF) • -50 to 140 °F
• API MPMS 11.2.2 - Compressibility Factors for Hydrocarbons: • 0 to 2200 psig
0.350 - 0.637 Relative Density (60°F/60°F) and -50°F to 140°F
Metering Temperature - Second Edition, October 1986
Function inputs
Function inputs Remark EU Range Default
Name Optional tag name, tag description and tag group
Observed relative density - 0..1 0
Observed temperature Temperature at which the relative density is observed °F -100..150 20
Observed pressure Pressure at which the relative density is observed Psig -10..2500 0
API 11.2.2 rounding 0: Disabled 0
The calculations are performed with full precision
1: Enabled
The input and intermediate values are rounded and truncated as defined in the standard
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
3: No convergence
fxASTM_D1550_Ctl
Description Compliance
This function calculates the Ctl value (VCF) of Butadiene based • ASTM Designation: D1550 -94 (Reapproved 2005), Standard
on the ASTM Designation 1550. The standard specifies several ASTM Butadiene Measurement Table 2 Reduction of
tables. This function uses table 2, which contains values for the Observed Volume to 15.6ᵒC (60ᵒF) Against Specific Gravity
volume correction factor as a function of the relative density at 60/60ᵒF
60°F and the observed temperature.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Relative density at 60°F - 0..1 0
Observed temperature Temperature at which the relative density is °F -100..150 20
observed
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
Ctl Volume correction factor for temperature. The output value - CTL 1
will NOT be rounded.
Calculation out of range With respect to the standard the input values are: - OOR 0
0: In Range
1: Out of Range
Calculations
The Standard consists of a set of table values with a resolution
of 0.001 for the relative density at 60ᵒF and 1ᵒF for temperature.
The function applies a linear interpolation between table values
based on the unrounded input values. When an input value lies
outside the range of the table the function limits the input value
to the minimum or maximum value of the table.
80 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxASTM_D4311M_09_C
Description Compliance
This function calculates the Ctl value (VCF) for Asphalt according • ASTM Designation: D4311/D4311M-09, Standard Practice for
to ASTM D4311/D4311M-09, using US Customary units. Determining Asphalt Volume Correction to a Base
Temperature
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
API gravity at 60°F - 0..34.9 0
Observed temperature °F 0..500 60
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
Ctl Volume correction factor for temperature. The output value - CTL 1
will NOT be rounded.
Calculations
The calculations are in accordance with appendix X1. FORMULAS
USED IN DETERMINING VOLUME CORRECTIONS TO A BASE
TEMPERATURE of the standard.
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 81
fxASTM_D4311M_09_M
Description Compliance
This function calculates the Ctl value (VCF) for Asphalt according • ASTM Designation: D4311/D4311M-09, Standard Practice for
to ASTM D4311/D4311M-09, using metric units. Determining Asphalt Volume Correction to a Base
Temperature
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Density at 15°C kg/m3 800..1200 966
Observed temperature °C -25..274.5 15
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
Ctl Volume correction factor for temperature. The output value - CTL 1
will NOT be rounded.
Calculations
The calculations are in accordance with appendix X1. FORMULAS
USED IN DETERMINING VOLUME CORRECTIONS TO A BASE
TEMPERATURE of the standard.
82 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxConvertUnit
Description
This function converts a value expressed in a particular unit into
the corresponding value expressed in another unit.
The input and output unit must belong category, otherwise the
conversion fails.
Function inputs
Function inputs Remark EU SW tag Range Default
Name
Input value The value to be converted
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Output value <Output unit> VAL 0
Conversion failure The conversion fails when the input unit and output unit do not CONVFAIL
belong to the same unit category (or also when the input unit and
/ or output unit are not a valid unit).
0: Normal
1: Failure
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 83
fxEthylene_IUPAC_C
Description Boundaries
The function calculates the compressibility factor and the The limits of the tables are 104 K to 320 K (-272 .. +116 °F) for
density of Ethylene (C2H4, also called Ethene) based on the pressures up to 270 MPa (39160 psi) and 104K to 450K (-272 ..
Equation Of State published by IUPAC and in US customary +350 °F) for pressures up to 40 MPa (5800 psi).
units.
References
• Ethylene (Ethene), International Thermodynamic Tables of
the Fluid State Vol. 10 (1988), IUPAC, ISBN 0-63201-7090.
Function inputs
Function inputs Remark EU Range Default
Name Optional tag name, tag description and tag group
Temperature °F -300..200 0
Pressure psia 0..50000 0
Function outputs
Function outputs Remark EU Fallback
Status 0: Normal
1: Input argument out of range
2: Calculation error
3: No convergence
Density lbm/ft3 0
Compressibility - 0
fxEthylene_IUPAC_M
Description Boundaries
The function calculates the compressibility factor and the The limits of the tables are 104 K to 320 K (-170 .. +47 °C) for
density of Ethylene (C2H4, also called Ethene) based on the pressures up to 270 MPa (2700 bar) and 104K to 450K (-170 ..
Equation Of State published by IUPAC and in metric units. +177 °C) for pressures up to 40 MPa (400 bar).
References
• Ethylene (Ethene), International Thermodynamic Tables of
the Fluid State Vol. 10 (1988), IUPAC, ISBN 0-63201-7090.
Function inputs
Function inputs Remark EU Range Default
Name Optional tag name, tag description and tag group
Temperature °C -200..200 0
Pressure bar(a) 3000 0
Function outputs
Function outputs Remark EU Fallback
Status 0: Normal
1: Input argument out of range
2: Calculation error
3: No convergence
Density kg/m3 0
Compressibility - 0
Calculations
The calculations are in compliance with the standard.
fxEthylene_NIST1045
Description Boundaries
The function calculates the density of Ethylene (C2H4, also called The equation of state is valid from 104 K to 400 K (-170 .. +127 °C)
Ethene) based on the NIST-1045 Equation Of State in metric and for pressures up to 40 MPa (400 bar).
units.
References
• R.D. McCarty and R.T. Jacobsen “An Equation of State for
Fluid Ethylene”, National Bureau of Standards (NBS), US,
Technical Note 1045, 1981.
Function inputs
Function inputs Remark EU Range Default
Name Optional tag name, tag description and tag group
Temperature °C -200..200 0
Pressure bar(a) 500 0
Rounding 0: Disabled - 1
The calculations are performed with full precision. A convergence limit of 1e-10 kg/m3 will be applied for
the iterative calculations.
1: Enabled
The calculations are performed in full compliance with the standard. The input, intermediate and output
values are rounded as specified and also the iteration limit as specified in the standard is used to
achieve convergence.
Function outputs
Function outputs Remark EU Fallback
Status 0: Normal
1: Input argument out of range
2: Calculation error
3: No convergence
Density kg/m3 0
Compressibility - 0
Equilibrium pressure Equilibrium pressure at the observed temperature. bar(a) 0
Also referred to as vapor pressure or saturated pressure
Range With respect to the standard the inputs are: - 0
0: In Range
1: Out of Range
Calculations
The calculations are in compliance with the standard.
86 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxGasViscosity_2004
Description Boundaries
The dynamic viscosity of natural gas is calculated in accordance The limits of the tables are 250 K to 450 K (-24 .. +177 °C) for
with a method developed at the Rostock University in Germany pressures up to 30 MPa (300 bar).
and published in 2004 in the ‘International Journal of the
Thermophysics’. The estimated uncertainty of the calculated
viscosity is 0.5% for natural gas (0.3% for pure methane).
Reference
• Viscosity Measurements and Predictions for Natural Gas, P.
Schley, M. Jaeschke, C. Kuchenmeister and E. Vogel,
International Journal of Thermophysics, Vol. 25, No. 6,
November 2004 (© 2004)
Function inputs
Function inputs Remark EU Range Default
Name Optional tag name, tag description and tag group
Density Density value kg/m3 0..2000 0
Temperature Temperature value °C -200..+400 0
Composition Standard composition as defined in section 'Standard gas mol/mol 0..1 0
composition’.
Function outputs
Function outputs Remark EU Fallback
Status 0: Normal
1: Input argument out of range
2: Calculation error
3: No convergence
4: Mole fractions do not add up to 1.0 +- 0.0001
6: Hardware not supported
Dynamic viscosity Pa.s 0
Range With respect to the combination of temperature and pressure is: 0
0: In Range
1: Out of Range
Calculations
The calculations are in accordance with the publication, which is Input component Added to / neglected
Methane Methane
based on the following 12 components: methane (+ hydrogen),
Nitrogen Nitrogen
nitrogen (+ helium + oxygen/argon), carbon dioxide, ethane, Carbon Dioxide Carbon Dioxide
propane, n-butane, ibutane, n-pentane (+ benzene), isentane (+ Ethane Ethane
neopentane), n-hexane (hexanes + toluene), n-heptane Propane Propane
Water Neglected
(heptanes), and n-octane (octanes + nonanes+ C10 plus higher +
Hydrogen Sulphide Neglected
xylenes). Hydrogen Methane
Carbon Monoxide Neglected
The function uses the ‘Standard gas composition’ as used by Oxygen Nitrogen
i-Butane i-Butane
most gas property functions. The 22 components of input
n-Butane n-Butane
Composition are lumped to these 12 components as defined in i-Pentane i-Pentane
the following table. n-Pentane n-Pentane
n-Hexane n-Hexane
n-Heptane n-Heptane
Notes:
n-Octane n-Octane
• Components ‘Water’, ‘Hydrogen sulphide’ and ‘Carbon n-Nonane n-Octane
monoxide’ are not supported by the publication and will n-Decane n-Octane
therefore be neglected by the function. The lumped Helium Nitrogen
Argon Nitrogen
composition is normalized to 1 and then used in the Neo-Pentane Iso-Pentane
calculation.
• The publication also mentions components benzene, toluene
and xylenes, which are not part of the ‘Standard gas
composition’. To adhere strictly to the publication, add
‘Benzene’ to input ‘n-Pentane’, ‘Toluene’ to input ‘n-Hexane’
and ‘Xylenes’ to input ‘n-Octane’.
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 87
fxGERG2008_Gas
Description Boundaries
The compressibility, density, speed of sound and isentropic The GERG-2008 calculation has defined uncertainty bounds for
coefficient of a gas are calculated from its composition, fluids that lie within the 'Normal range'. Also an 'Expanded range'
temperature and pressure in accordance with the GERG-2008 of gas mixtures is defined for which the calculation has a higher
equation of state. The function uses an optimized routine that uncertainty. Using the calculation at conditions outside the
only applies when fluid is in the gaseous state (100% gas) and 'Expanded range' is not recommended.
that requires limited CPU time (suitable for processing in the
Flow-X flow computer). Input value Normal Range Expanded Range EU
Pressure 0 .. 35 0 .. 70 MPa(a)
Temperature 90..450 60..700 K
Compliance Pressure 0 .. 350 0 .. 700 bar(a)
• The GERG-2008 Wide-Range Equation of State for Natural Temperature -183 .. +177 -213 .. +426 °C
Gases and Other Mixtures: An Expansion of GERG-2004. Pressure 0 .. 5076 0 .. 10153 psia
Temperature -298 .. +350 -352 .. +800 °F
Kunz, O., Wagner, W. Submitted to J. Chem. Eng. Data 57
Mole fraction of all components 0.00 .. 1.00 0.00 .. 1.00 -
(2012).
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Pressure Pressure value bar(a) 0..2000 1.01325
Temperature Temperature value °C -200..+400 0
Composition Standard composition as defined in section 'Standard gas mol/mol COMP 0..1 0
composition.
neo-Pentane mode Determines what to do when component neo-Pentane is larger - NEOC5_MODE 1
than zero
1: Add to i-Pentane
2: Add to n-Pentane
3: Neglect
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
3: No convergence NOCONV
4: Mole fractions do not add up to 1.0 +- 0.0001 COMPERR
6: Hardware not supported
Compressibility - Z 1
Mass Density kg/m3 MASDENS 0
Molar Density kmol/m3 MOLDENS 0
Molar Mass kg/kmol MOLMASS 0
Speed of Sound m/s SOS 0
Isentropic Exponent - K 0
Range 0: In Normal Range RANGE 0
All inputs are within the 'Normal Range'
1: In Extended Range
One or more inputs within the 'Extended Range, but none of the
inputs outside the Extended rang (outputs values have higher
uncertainty)
2: Out of Range
One or more inputs outside the 'Extended Range' (using the OOR
calculation is not recommended in this case)
Calculations
The calculations are as documented in the reference.
88 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxGERG2008_Flash
Description
The compressibility and density of a gas/liquid mixture are Input value Normal Range Expanded Range EU
calculated from its composition, temperature and pressure in Pressure 0 .. 350 0 .. 700 bar(a)
Temperature -183 .. +177 -213 .. +427 °C
accordance with the GERG2008 standard. Mole fraction of Methane 0.00 .. 1.00 0.00 .. 1.00 -
Mole fraction of Ethane 0.00 .. 1.00 0.00 .. 1.00 -
Compliance Mole fraction of Propane 0.00 .. 1.00 0.00 .. 1.00 -
Mole fraction of Butanes 0.00 .. 1.00 0.00 .. 1.00 -
• Kunz, O., and W. Wagner. "The GERG-2008 wide-range
Mole fraction of Pentanes 0.00 .. 1.00 0.00 .. 1.00 -
equation of state for natural gases and other mixtures: An Mole fraction of Hexanes Plus 0.00 .. 1.00 0.00 .. 1.00 -
expansion of GERG-2004." Journal of Chemical & Mole fraction of Carbon monoxide 0.00 .. 1.00 0.00 .. 1.00 -
Engineering Data 57.11 (2012): 3032-3091. Mole fraction of Carbon dioxide 0.00 .. 1.00 0.00 .. 1.00 -
Mole fraction of Nitrogen 0.00 .. 1.00 0.00 .. 1.00 -
• W. Wagner. “Description of the Software Package for the
Mole fraction of Helium 0.00 .. 1.00 0.00 .. 1.00 -
Calculation of Thermodynamic Properties from the GERG- Mole fraction of Argon 0.00 .. 1.00 0.00 .. 1.00 -
2008 Wide-Range Equation of State for Natural Gases and Mole fraction of Oxygen 0.00 .. 1.00 0.00 .. 1.00 -
Other Mixtures”. Mole fraction of Hydrogen 0.00 .. 1.00 0.00 .. 1.00 -
Sulphide
Mole fraction of Hydrogen 0.00 .. 1.00 0.00 .. 1.00 -
Boundaries Mole fraction of Water 0.00 .. 1.00 0.00 .. 1.00 -
The GERG2008 calculation has defined uncertainty bounds for
gas mixtures that lie within the 'Normal range'. Also an
'Expanded range' of gas mixtures is defined for which the
GERG2008 calculation has a higher uncertainty. Using the
GERG2008 calculation for gas mixtures that lie outside the
'Expanded range' is not recommended.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Pressure Pressure value bar(a) 0..2000 1.01325
Temperature Temperature value °C -200..+400 0
Composition Standard composition as defined in section 'Standard gas mol/mol COMP 0..1 0
composition.
neo-Pentane mode Determines what to do when component neo-Pentane is - NEOC5_MODE 1
larger than zero
1: Add to i-Pentane
2: Add to n-Pentane
3: Neglect
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
3: No convergence NOCONV
4: Mole fractions do not add up to 1.0 +- 0.0001 COMPERR
6: Hardware not supported
Vapor fraction FV 0
Compressibility vapor Compressibility of the vapor fraction of the mixture ZV 0
Compressibility liquid Compressibility of the liquid fraction of the mixture ZL 0
Compressibility total Compressibility of the mixture Z 0
Density vapor Density of the vapor fraction of the mixture kg/m3 DV 0
Density liquid Density of the liquid fraction of the mixture kg/m3 DL 0
Density total Density of the mixture kg/m3 D 0
Calculations
The calculations are as documented in the standard.
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 89
fxGOST30319
Description Boundaries
Thermodynamic properties of a gas are calculated from its The GOST30319 calculation has the normal range 263.15K..500K,
composition, temperature and pressure in accordance with 1bar..150bar and the extended range 125K..700K, 0bar..3500bar.
GOST30319 standard, with the input and output values in metric
units.
Compliance
• GOST30319-2.96 - 1 July 1997
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Pressure Pressure value bar(a) 0..3500 1.01325
Temperature Temperature value °C -250..+450 25
Composition Standard composition as defined in section 'Standard gas mol/mol 0..1 0
composition.
neo-Pentane mode Determines what to do when component neo-Pentane is larger than - 1
zero
1: Add to i-Pentane
2: Add to n-Pentane
3: Neglect
Reference pressure bar(a) 0..3500 0
Reference temperature °C -250..+450 25
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
3: No convergence NOCONV
4: Mole fractions do not add up to 1.0 +- 0.0001 COMPERR
Compressibility ratio Compressibility ratio between flow and base conditions - ZRATIO 1
Flow compressibility Compressibility factor at flow conditions - ZF 1
Base compressibility Compressibility factor at base conditions - ZB 1
Critical density kg/m3 CRITDENS 0
Reduced density Ratio between current and critical - REDUDENS 1
Critical temperature °C CRITTEMP 0
Reduced temperature Ratio between current and critical - REDUTEMP 1
Critical pressure bar(a) CRITPRES 0
Reduced pressure Ratio between current and critical - REDUPRES 1
Pitzer factor Denoted as Capital Omega - PITZER 0
Range 0: In Normal Range OOR 0
All inputs are within the 'Normal Range'
1: In Extended Range
One or more inputs within the 'Extended Range, but none of the
inputs outside the Extended range (outputs values have higher
uncertainty)
2: Out of Range
One or more inputs outside the 'Extended Range' (using the OOR
calculation is not recommended in this case
Calculations
The calculations are performed according to the source code of
Sick Gmbh.
90 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxGOST30319_AGA8
Description Boundaries
Compressibility of a gas are calculated from its composition, The GOST30319 calculation has the normal range 263.15K..500K,
temperature and pressure in accordance with GOST30319 1bar..150bar and the extended range 125K..700K, 0bar..3500bar.
standard, with the input and output values in metric units.
Compliance
• GOST30319-2.96, chapter AGA8 - 1 July 1997
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Pressure Pressure value bar(a) 0..3500 1.01325
Temperature Temperature value °C -250..+450 25
Composition Standard composition as defined in section 'Standard gas mol/mol 0..1 0
composition.
neo-Pentane mode Determines what to do when component neo-Pentane is larger than - 1
zero
1: Add to i-Pentane
2: Add to n-Pentane
3: Neglect
Reference pressure bar(a) 0..3500 0
Reference temperature °C -250..+450 25
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
3: No convergence NOCONV
4: Mole fractions do not add up to 1.0 +- 0.0001 COMPERR
Compressibility ratio Compressibility ratio between flow and base - ZRATIO 1
conditions
Flow compressibility Compressibility factor at flow conditions - ZF 1
Base compressibility Compressibility factor at base conditions - ZB 1
Heating value MJ/m3 HV 0
Calculations
The calculations are performed according to the source code of
Sick Gmbh.
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 91
fxGOST30319_SGERG91
Description Boundaries
Thermodynamic properties of a gas are calculated from its The ‘Range’ output of this function is set as follows
density, speed of sound, fractions of nitrogen and carbon
dioxide, temperature and pressure in accordance with 1996 2015
Pressure 1 ..120 1 ..75 bar(a)
GOST30319 standard, with the input and output values in metric
Temperature 250..340 250..350 K
units. Carbon dioxide 0.00 .. 0.20 0.00 .. 0.20 mol/mol
Nitrogen 0.00 .. 0.15 0.00 .. 0.20 mol/mol
Compliance Normal density 0.66 .. 1.00 0.66 .. 1.05 kg/m3
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Pressure Pressure value bar(a) 0..2000 7
Temperature Temperature value °C -200..+300 25
N2 Nitrogen fraction mol/mol 0..1 0.01
CO2 Carbon dioxide fraction mol/mol 0..1 0.02
Normal density Density at base conditions kg/m3 0.66..1.0
Speed of sound Optional, needed for the calculation of molar mass m/s 0
Edition Year of edition - - 1
1: 1997
2: 2015
Description
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
Base compressibility Compressibility factor at base conditions - ZB 1
Flow compressibility Compressibility factor at flow conditions - ZF 1
Compressibility ratio Compressibility ratio between flow and base - ZRATIO 1
conditions
Base density kg/m3 BASEDENS 0
Flow density Compressibility ratio between flow and base kg/m3 FLOWDENS 0
conditions
Heating value MJ/m3 HV 0
Molar mass Only calculated if a valid Speed Of Sound specified kg/kmol MM 0
Range The inputs are within the normal range of use RANGE 0
Calculations
The calculations are performed according to the source code of
Sick Gmbh.
92 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxGPA_TP15
Description Boundaries
The GPA-TP15 standard defines a generalized correlation The GPA TP-15:1988 / API MPMS 11.2.2 Addendum:1994
method to determine the vapor pressure (i.e. the equilibrium correlation method is valid for the following range.
pressure) for natural gas liquids (NGL).
The vapor pressure is required by the API 11.2.2 and API 11.1:2004 • 0.490 to 0.676 (RD60)
calculations of the CPL value for light hydrocarbon liquids that • -50 to 140 °F
have a vapor pressure above atmospheric pressure.
The GPA TP-15:2007 / API MPMS 11.2.5:2007 correlation method
References has been extended for lower density and is valid for the
• API MPMS 11.2.2 Addendum - Compressibility Factors for following ranges.
Hydrocarbons: Correlation Factors of Vapor Pressure for
Commercial Natural Gas Liquids - First Edition, December Lower range:
1994
• 0.350 to 0.425 (RD60)
• GPA Technical Publication TP-15 A Simplified Vapor Pressure • -50 to (695.51*RD60 - 155.51) °F
Correlation for Commercial NGLs - 1988
• API MPMS 11.2.5 - A Simplified Vapor Pressure Correlation for with RD60 being the relative density at 60°F
Commercial NGLs - September 2007
• GPA Technical Publication TP-15 A Simplified Vapor Pressure Higher range:
Correlation for Commercial NGLs - September 2007
• 0.425 to 0.676 (relative density)
• ASTM Technical Publication [Stock No. PETROLTBL-TP15] - • -50 to 140 °F
September, 2007
Note: the first two and the last three refer to one and the same
standard. The current standard GPA-TP15 (2007) / API MPMS
11.2.5 extends the applicable range of the previous standard GPA
TP-15 (1988) / API MPMS 11.2.2 Addendum 1994 while preserving
the calculations and constants of the previous standard.
Function input
Function inputs Remark EU Range Default
Name Optional tag name, tag description and tag group
Relative density at 60°F - 0.3 .. 0.75 0
Observed Temperature °F -100..200 60
API rounding 0: Disabled - 0
Full precision (no rounding applied)
1: Enabled
Rounding as defined in ' GPA TP15:1988 / API MPMS 11.2.2 Addendum':1994
P100 Correlation 0: Disabled - 0
The standard correlation is commonly used for pure products such as
propane, butane and natural gasoline. It only requires the relative density and
the temperature to calculate the vapor pressure
1: Enabled
The improved correlation requires the vapor pressure at 100°F (37.8 °C). This
method is better suited for varied NGL mixes Where different product mixes
could have the same specific gravity but different equilibrium pressures.
Vapor pressure at 100°F psia 0..500 0
Function outputs
Function outputs Remark EU Fallback
Status 0: Normal
1: Input argument out of range
2: Calculation error
Vapor pressure Vapor pressure at 60°F psia 0
Range With respect to the 2007 standard the combination of relative density and temperature is: - 0
0: In Range
1: Out of Range
Calculations
The calculations are in either full or partial compliance with the
standards, depending on the selected type of API rounding.
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 93
fxGPA2172_C
Description GPA-2172 prescribes that the most recent edition of GPA2145
This uses the procedure for calculating heating value, specific used for the individual component values. The function provides
gravity and compressibility factor at customary (imperial) the option to use the values from a specific GPA2145 standard. In
conditions from the compositional analysis of a natural gas order to verify the function based on the examples of GPA2172
mixture. the function provides the option to GPA2145-89 (edition 1989) as
GPA2172 describes the calculation methods to determine the well.
compositional properties based on the individual component
values and it refers to the GPA Standard 2145 (GPA2145) Compliance
standard for these individual component values. • GPA Standard 2172-96, Calculation of Gross Heating Value,
The effect of water on the calculations is rather complicated and Relative Density and Compressibility Factor for Natural Gas
is accounted for with a simplified equation that is considered to Mixtures from Compositional Analysis - 1996
be adequate for custody transfer applications. • API MPMS 14.5
Therefore compositional properties are calculated for the • ASTM D3588-98 (Reapproved 2003)
following gas compositions: • GPA Standard 2145-89, Table of Physical Constants
• Wet gas composition • GPA Standard 2145-00, Table of Physical Constants
the water fraction of input "Composition' is taken as the • GPA Standard 2145-03, Table of Physical Constants
actual water fraction. • GPA Standard 2145-09, Table of Physical Constants
• Dry gas composition • GPA Standard 2145-16, Table of Physical Constants
the water fraction is set to 0 and the composition is
normalized to unity.
• Saturated gas composition
the water fraction is set to the value when the gas is
saturated with water and the composition is normalized to
unity
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Composition Standard composition as defined section 'Standard Gas Composition' mol/mol COMP 0..1 0
Edition Refers to the base conditions and the editions of the GPA2145 values. - EDITION 2
Note that these base conditions are used for both the density and the
heating value.
1: 60°F, 14.696 psia, GPA2145-89 (1989)
2: 60°F, 14.696 psia, GPA2145-00 (2000)
3: 60°F, 14.696 psia, GPA2145-03 (2003)
4: 60°F, 14.696 psia, GPA2145-09 (2009)
5: 60°F, 14.696 psia, GPA2145-16 (2016)
neo-Pentane mode Determines what to do when component neo-Pentane is larger than - NEOC5_MODE 1
zero
1: Add to i-Pentane
2: Add to n-Pentane
3: Neglect
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
3: Composition error COMPERR
Composition does not add up to 100% +- 0.01%
In case of an error the output values will be set to the
fallback values
Gross Heating Value (Wet) Btu/ft3 VOLGHV_WET 0
Molar Mass (Wet) lbm/lbmol MOLMASS_WET 0
Molar Mass Ratio (Wet) ISG_WET 0
Relative Density (Wet) Based on the compressibility of wet air - RRD_WET 0
Compressibility (Wet) - Z_DWET 0
Gross Heating Value (Wet) Btu/lbm MASGHV_WET 0
Net Heating Value (Wet) Btu/ft3 VOLNHV_WET 0
Gross Heating Value (Dry) Btu/ft3 VOLGHV_DRY 0
Molar Mass (Dry) - MOLMASS_DRY 0
Molar Mass Ratio (Dry) lbm/lbmol ISG_DRY 0
Relative Density (Dry) RRD_DRY 0
Compressibility (Dry) - Z_DRY 0
Gross Heating Value (Dry) Btu/lbm MASGHV_DRY 0
Net Heating Value (Dry) Btu/ft3 VOLNHV_DRY 0
94 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
Calculations
The calculations are as documented in the GPA-2172 standard
using the GPA2145 table values. However the calculations are
performed at full precision, so not with intermediate rounding as
shown in the examples of the standard.
Please note that the function uses the input composition ‘as is’,
so does not apply normalization to 1.
fxGPA2172_M
Description GPA-2172 prescribes that the most recent edition of GPA2145
This function uses the procedure for calculating heating value, used for the individual component values. The function provides
specific gravity and compressibility factor at metric conditions the option to use the values from a specific GPA2145 standard.
from the compositional analysis of a natural gas mixture.
GPA2172 describes the calculation methods to determine the Compliance
compositional properties based on the individual component • GPA Standard 2172-96, Calculation of Gross Heating Value,
values and it refers to the GPA Standard 2145 (GPA2145) Relative Density and Compressibility Factor for Natural Gas
standard for these individual component values. Mixtures from Compositional Analysis - 1996
The effect of water on the calculations is rather complicated and • API MPMS 14.5 (same as GPA2172-96)
is accounted for with a simplified equation that is considered to • GPA Standard 2145-00, Table of Physical Constants
be adequate for custody transfer applications. • GPA Standard 2145-03, Table of Physical Constants
Therefore compositional properties are calculated for the • GPA Standard 2145-09, Table of Physical Constants
following gas compositions: • GPA Standard 2145-16, Table of Physical Constants
• Wet gas composition
the water fraction of input "Composition' is taken as the
actual water fraction.
• Dry gas composition
the water mole fraction of input ''Composition' is set to 0
and the composition is normalized to unity.
• Saturated gas composition
the water fraction value of input ''Composition' is set to the
water saturated mole fraction and the composition is
normalized to unity
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Composition Standard composition as defined section 'Standard Gas mol/mol COMP 0..1 0
Composition'.
Edition Refers to the base conditions and the editions of the GPA2145 values. - EDITION 2
Note that the same temperature value is used for the density and -
heating value.
1: 15°C, 1.01325 bar(a), GPA2145-00
2: 15°C, 1.01325 bar(a), GPA2145-03
3: 15°C, 1.01325 bar(a), GPA2145-09
4: 15°C, 1.01325 bar(a), GPA2145-16
neo-Pentane mode Determines what to do when component neo-Pentane is larger than - NEOC5_MODE 1
zero
1: Add to i-Pentane
2: Add to n-Pentane
3: Neglect
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
3: Composition error COMPERR
Composition does not add up to 100% +- 0.01%
In case of an error the output values will be set to the
fallback values
Gross Heating Value (Wet) MJ/m3 VOLGHV_WET 0
Molar Mass (Wet) kg/kmol MOLMASS_WET 0
Molar Mass Ratio (Wet) - ISG_WET 0
Relative Density (Wet) Based on the compressibility of wet air - RRD_WET 0
Compressibility (Wet) - Z_DWET 0
Gross Heating Value (Wet) MJ/kg MASGHV_WET 0
Net Heating Value (Wet) MJ/m3 VOLNHV_WET 0
Gross Heating Value (Dry) MJ/m3 VOLGHV_DRY 0
Molar Mass (Dry) kg/kmol MOLMASS_DRY 0
Molar Mass Ratio (Dry) - ISG_DRY 0
Relative Density (Dry) - RRD_DRY 0
Compressibility (Dry) - Z_DRY 0
Gross Heating Value (Dry) MJ/kg MASGHV_DRY 0
Net Heating Value (Dry) MJ/m3 VOLNHV_DRY 0
96 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
Please note that the function uses the input composition ‘as is’,
so does not apply normalization to 1.
fxIAPWS_IF97_C
Description References
The function calculates the density and enthalpy of steam and • Revised Release on the IAPWS Industrial Formulation 1997
water according to AIPWS-IF97 in US Customary units. for the Thermodynamic Properties of Water and Steam,
August 2007.
IAPWS-IF97 defines calculations for 5 regions as shown in the
picture below. Boundaries
The IAPWS Industrial Formulation 1997 consists of a set of
equations for different regions which cover the following range
of validity:
Region 1: Water
Region 2: Superheated steam
Region 3: Water
Region 4: Saturation line (saturated steam / water)
Region 5: Superheated steam
Function inputs
Function inputs Remark EU Range Default
Name Optional tag name, tag description and tag group
Temperature °F 0 .. 4000 0
Pressure psia 0..15000 0
Phase The phase (water or steam) can be calculated automatically or be set to either steam 1
or water.
Function outputs
Function outputs Remark EU Fallback
Status 0: Normal
1: Input argument out of range
2: Calculation error
3: No convergence
Density lbm/ft3 0
Enthalpy Energy flow = Mass flow * Enthalpy btu/lbm 0
Region Actual IAPWS-IF97 region - 0
0: Combination of t and p is outside the valid range
1: Water
2: Steam
3: Pressurized water
4: At the saturation line
5: High temperature steam (1472 ≤ T ≤ 3632 °F)
Saturation pressure Saturation pressure at the input temperature. psia 0
Note: only calculated up to the critical temperature of 647.096 K (+- 705 °F), set to 0 for
higher temperatures
Dynamic viscosity The dynamic viscosity is required for flow rate calculations based on a differential lbm/ft.s 0
98 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
This ratio can be used as the isentropic exponent value (also called 'kappa') when the real
value is unknown.
The isentropic exponent is required for flow rate calculations based on a differential
pressure measurement (e.g. orifice)
Calculations
The calculations are in compliance with the standard.
fxIAPWS_IF97_M
Description References
The function calculates the density and enthalpy of steam and • Revised Release on the IAPWS Industrial Formulation 1997
water according to AIPWS-IF97 in Metric units. for the Thermodynamic Properties of Water and Steam,
August 2007.
IAPWS-IF97 defines calculations for 5 regions as shown in the
picture below. Boundaries
The IAPWS Industrial Formulation 1997 consists of a set of
equations for different regions which cover the following range
of validity:
Region 1: Water
Region 2: Superheated steam
Region 3: Water
Region 4: Saturation line (saturated steam / water)
Region 5: Superheated steam
Function inputs
Function inputs Remark EU Range Default
Name Optional tag name, tag description and tag group
Temperature °C -50 .. 2200 0
Pressure bar(a) 0..1100 0
Phase The phase (water or steam) can be calculated automatically or be set to either steam or 1
water.
1: Auto-select (calculate from t and p inputs)
2: Steam
3: Water
If 'Steam' or 'Water' is selected, while the combination of temperature and pressure
indicates the opposite phase, then the function uses either the saturation pressure
(region 4) or the boundary pressure (intersection regions 2 and 3) instead of the input
pressure for its calculations.
Function outputs
Function outputs Remark EU Fallback
Status 0: Normal
1: Input argument out of range
2: Calculation error
3: No convergence
Density kg/m3 0
Enthalpy Energy flow = Mass flow * Enthalpy MJ/kg 0
Region Actual IAPWS-IF97 region - 0
0: Combination of t and p is outside the valid range
1: Water
2: Steam
3: Pressurized water
4: At the saturation line
5: High temperature steam (800 ≤ T ≤ 2000 °C)
Saturation pressure Saturation pressure at the input temperature bar(a) 0
Note: only calculated up to the critical temperature of 647.096 K (+- 374 °C), set to 0 for higher
temperatures
Dynamic viscosity The dynamic viscosity is required for flow rate calculations based on a differential pressure lbm/ft.s 0
measurement (e.g. orifice)
Ratio of specific heats Equals the ratio of the specific heats cp / cv - 0
100 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
This ratio can be used as the isentropic exponent value (also called 'kappa') when the real value is
unknown.
The isentropic exponent is required for flow rate calculations based on a differential pressure
measurement (e.g. orifice)
Calculations
The calculations are in compliance with the standard.
fxInterpolationCurve
Description
This function calculates the output value from a set of reference
points and the actual input value. The function can take an
arbitrary number of reference points.
The function is typically used for applying a calibration curve to a
K factor or a meter factor (liquid) or a meter error curve (gas).
Besides of the 1st calibration point (which is always used) the
function will only use the calibration points (starting from the
2nd point) for which the x value is greater than the previous x
value. All further points will be ignored.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Input value Reference to the cell containing the actual input value (e.g. flow rate or pulse
frequency)
Reference values Array of reference values, assuming the following sequence: REFVAL
Point 1 - Input value
Point 1 - Output value
Point 2 - Input value
Point 2 - Output value
etc....
The array must contain an even number of values with the input values in
ascending order.
So it is required that Input 1 < Input 2 < Input 3 etc.
However, when an input value equals 0, then the function will not use this
point and all subsequent points of the array.
Extrapolation mode Determines whether or not extrapolation must be applied when the input EXPMODE
value is outside the linearization curve. When disabled either the first or last
output value will be used.
0: Disabled
1: Enabled
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Output value Interpolated value Same as input 'Output reference 1' VAL 0
Date/time Latest modification date and time of the any of the DTTM
reference point values
Out of range Input value is outside the range that is covered by the OOR
reference values
Calculations
Out H − Out L
y = (x − InL ) ⋅ + Out L
InH − InL
Where:
x Input value
y Interpolated value
In L Closest input reference value that is smaller than the
input value
In H Closest input reference value that is larger than the
input value
Out L Output reference value that corresponds with In L
Out H Output reference value that corresponds with In H
102 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxISO5167_ISA1932Nozzle
Description Compliance
The function calculates the mass flow rate for ISA1932 Nozzle • ISO-5167 - 1991 Measurement of fluid flow by means of
pressure differential flow devices according to the ISO-5167 pressure differential devices, 1st edition, 1991
standard. • ISO-5167 Amd.1 : 1998(E)
• ISO-5167 - 2003 Measurement of fluid flow by means of
pressure differential devices inserted in circular cross-
section conduits running full, 2nd edition, 2003
Function inputs
Function inputs Remark EU Range Default
Name Optional tag name, tag description and tag group
Differential Pressure Differential pressure over the primary flow device measured at the up- and downstream mbar 0
pressure tappings, which need to be in the positions as specified in the standard
Pressure Upstream pressure value of the fluid at metering conditions bar(a) 0
Temperature Down- or upstream temperature of the fluid at metering conditions °C 0
Density Down or upstream density of the fluid at metering conditions kg/m3 0
Dynamic Viscosity Dynamic viscosity of the fluid Pa.s 0
Isentropic Exponent Also referred to as κ (kappa). For an ideal gas this coefficient is equal to the ratio of the 0
specific heat capacity at constant pressure to the specific heat at constant volume.
According to the ISO standard this ratio may be used, when the real value is unknown.
Pipe Diameter Internal diameter of the pipe at reference temperature mm 0
Pipe Expansion factor The thermal expansion coefficient of the pipe material 1/°C 0.0000108
Pipe Reference temperature The reference temperature that corresponds to the 'Pipe diameter' input value °C 20
ISA1932 Nozzle Diameter ISA1932 Nozzle diameter at reference temperature mm 0
ISA1932 Nozzle Expansion The thermal expansion coefficient of the ISA1932 Nozzle material 1/°C 0.0000163
factor
ISA1932 Nozzle Reference The reference temperature that corresponds to the 'ISA1932 Nozzle diameter' input value °C 20
Temperature
Pressure Location 1: Upstream - 1
Input 'Pressure' represents the pressure at the upstream pressure tapping (p 1 ).
Since the absolute pressure is usually measured at the upstream tapping this is the
most common setting.
2: Downstream
Input 'Pressure' represents the pressure at the downstream tapping (p 2 ).
Temperature Location 1: Upstream - 2
Input 'Temperature' represents the upstream temperature (t 1 ).
2: Downstream
Input 'Temperature represents the temperature at the downstream tapping (t 2 ).
3: Recovered
Input 'Temperature' represents the downstream temperature at a location Where the
pressure has fully recovered (t 3 ).
Since temperature measurement is usually downstream of the flow device this is the
most common setting.
Temperature Correction This parameter specifies how the temperature should be corrected from downstream to 3
upstream conditions (or vice versa)
1: (1-κ)/κ
Isentropic expansion using (1-κ)/κ as the temperature referral exponent
2: Constant
Isentropic expansion using input 'Temperature Exponent' as the temperature referral
exponent [-].
Please note that this value must be < 0
3: Joule Thomson
Isenthalpic expansion using input 'Temperature Exponent' as the Joule Thomson
coefficient [°C/bar].
This method is prescribed by ISO5167-1:2003.
Temperature Exponent Refer to input Temperature Correction - 0
Unit depends on input Temperature Correction value °C/bar
Density Location This parameter specifies if and how the density should be corrected from downstream to - 1
upstream conditions (or vice versa).
1: Upstream
Input 'Density' represents the density at the upstream pressure tapping (ρ 1 ).
2: Downstream
Input 'Density' represents the density at the downstream tapping (ρ 2 ).
3: Recovered
Input 'Density' represents the density downstream at a location Where the pressure
has fully recovered (ρ 3 ).
Density Exponent. This factor is used when density correction is enabled. The formula 1/κ will be used when - 0
the input value is set to 0, else the input value will be used.
For more details refer to section 'Density correction'.
Fluid The type of fluid being measured - 1
1: Gas
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 103
Function outputs
Function outputs Remark EU
Status 0: Normal (No error condition) -
1: Input argument out of range
2: No convergence
Mass flow rate The calculated mass flow rate tonne/h
Beta ratio Nozzle to pipe ratio at upstream temperature -
Nozzle diameter At the upstream temperature mm
Pipe diameter At the upstream temperature mm
Upstream pressure Pressure at upstream tapping (p 1 ) bar(a)
Pressure at downstream tapping Pressure at downstream tapping (p 2 ) bar(a)
Recovered downstream pressure Fully recovered downstream pressure (p 3 ) bar(a)
Upstream temperature Temperature at upstream tapping (t 1 ) °C
Temperature at downstream tapping Temperature at downstream tapping (t 2 ) °C
Downstream Temperature 'Fully recovered' downstream temperature (t 3 ) °C
Upstream density Density at upstream tapping (ρ 1 ) kg/m3
Density at downstream tapping Pressure at downstream tapping (ρ 2 ) kg/m3
Downstream density 'Fully recovered' downstream density (ρ 3 ) kg/m3
Reynolds number The pipe Reynolds number (this is the Reynolds number upstream of the ISA1932 Nozzle -
and not the one within the device throat itself
Discharge coefficient -
Expansion Factor -
Velocity of Approach
Pressure Range 0: Pressure is in valid range -
1: Pressure is out of valid range
Reynolds Range 0: Reynolds number is in valid range -
1: Reynolds number is out of valid range
Diameter Range 0: Device and pipe diameter and Beta ratio in valid range -
1: Device diameter, pipe diameter and/or Beta ratio out of valid range
104 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxISO5167_LongRadiusNozzle
Description Compliance
The function calculates the mass flow rate for Long Radius ISO-5167 - 1991 Measurement of fluid flow by means of pressure
Nozzle pressure differential flow devices according to the ISO- differential devices, 1st edition, 1991
5167 standard. ISO-5167 Amd.1 : 1998(E)
ISO-5167 - 2003 Measurement of fluid flow by means of pressure
differential devices inserted in circular cross-section conduits
running full, 2nd edition, 2003
Function inputs
Function inputs Remark EU Range Default
Name Optional tag name, tag description and tag group
Differential Pressure Differential pressure over the primary flow device measured at the up- and mbar 0
downstream pressure tappings, which need to be in the positions as specified in
the standard
Pressure Upstream pressure value of the fluid at metering conditions bar(a) 0
Temperature Down- or upstream temperature of the fluid at metering conditions °C 0
Density Down or upstream density of the fluid at metering conditions kg/m3 0
Dynamic Viscosity Dynamic viscosity of the fluid Pa.s 0
Isentropic Exponent Also referred to as κ (kappa). For an ideal gas this coefficient is equal to the ratio - 0
of the specific heat capacity at constant pressure to the specific heat at constant
volume. According to the ISO standard this ratio may be used, when the real value
is unknown.
Pipe Diameter Internal diameter of the pipe at reference temperature mm 0
Pipe Expansion factor The thermal expansion coefficient of the pipe material 1/°C 0.0000108
Pipe Reference temperature The reference temperature that corresponds to the 'Pipe diameter' input value °C 20
Long Radius Nozzle Diameter Long Radius Nozzle diameter at reference temperature mm 0
Long Radius Nozzle Expansion The thermal expansion coefficient of the Long Radius Nozzle material 1/°C 0.0000163
factor
Long Radius Nozzle Reference The reference temperature that corresponds to the 'Long Radius Nozzle diameter' °C 20
Temperature input value
Pressure Location 1: Upstream - 1
Input 'Pressure' represents the pressure at the upstream pressure tapping (p 1 ).
Since the absolute pressure is usually measured at the upstream tapping this is
the most common setting.
2: Downstream
Input 'Pressure' represents the pressure at the downstream tapping (p 2 ).
Temperature Location 1: Upstream - 2
Input 'Temperature' represents the upstream temperature (t 1 ).
2: Downstream
Input 'Temperature represents the temperature at the downstream tapping
(t 2 ).
3: Recovered
Input 'Temperature' represents the downstream temperature at a location
Where the pressure has fully recovered (t 3 ).
Since temperature measurement is usually downstream of the flow device this
is the most common setting.
Temperature Correction This parameter specifies how the temperature should be corrected from 3
downstream to upstream conditions (or vice versa)
1: (1-κ)/κ
Isentropic expansion using (1-κ)/κ as the temperature referral exponent
2: Constant
Isentropic expansion using input 'Temperature Exponent' as the temperature
referral exponent [-].
Please note that this value must be < 0
3: Joule Thomson
Isenthalpic expansion using input 'Temperature Exponent' as the Joule
Thomson coefficient [°C/bar].
This method is prescribed by ISO5167-1:2003.
Temperature Exponent Refer to input Temperature Correction - 0
Unit depends on input Temperature Correction value °C/bar
Density Location This parameter specifies if and how the density should be corrected from - 1
downstream to upstream conditions (or vice versa).
1: Upstream
Input 'Density' represents the density at the upstream pressure tapping (ρ 1 ).
2: Downstream
Input 'Density' represents the density at the downstream tapping (ρ 2 ).
3: Recovered
Input 'Density' represents the density downstream at a location Where the
pressure has fully recovered (ρ 3 ).
Density Exponent. This factor is used when density correction is enabled. The formula 1/κ will be - 0
used when the input value is set to 0, else the input value will be used.
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 105
Function outputs
Function outputs Remark EU
Status 0: Normal (No error condition) -
1: Input argument out of range
2: No convergence
Mass flow rate The calculated mass flow rate tonne/h
Beta ratio Nozzle to pipe ratio at upstream temperature
Nozzle diameter At the upstream temperature
Pipe diameter At the upstream temperature
Upstream pressure Pressure at upstream tapping (p 1 ) bar(a)
Pressure at downstream tapping Pressure at downstream tapping (p 2 ) bar(a)
Recovered downstream pressure Fully recovered downstream pressure (p 3 ) bar(a)
Upstream temperature Temperature at upstream tapping (t 1 ) °C
Temperature at downstream tapping Temperature at downstream tapping (t 2 ) °C
Downstream Temperature 'Fully recovered' downstream temperature (t 3 ) °C
Upstream density Density at upstream tapping (ρ 1 ) kg/m3
Density at downstream tapping Pressure at downstream tapping (ρ 2 ) kg/m3
Downstream density 'Fully recovered' downstream density (ρ 3 ) kg/m3
Reynolds number The pipe Reynolds number (this is the Reynolds number upstream of the Long Radius -
Nozzle and not the one within the device throat itself
Discharge coefficient -
Expansion Factor -
Velocity of Approach
Pressure Range 0: Pressure is in valid range -
1: Pressure is out of valid range
Reynolds Range 0: Reynolds number is in valid range -
1: Reynolds number is out of valid range
Diameter Range 0: Device and pipe diameter and Beta ratio in valid range -
1: Device diameter, pipe diameter and/or Beta ratio out of valid range
106 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxISO5167_Orifice
Description References
The function calculates the mass flow rate for Orifice pressure • ISO 5167 - Measurement of fluid flow by means of pressure
differential flow devices according to the ISO-5167 standard and differential devices, 1991
the ISO/TR 15377 technical report. • ISO 5167 - Measurement of fluid flow by means of pressure
differential devices, 1991
Orifices plates with the following type of pressure tappings are • Amendment 1 1998
supported by this function: • ISO 5167 - Measurement of fluid flow by means of pressure
differential devices, 2003
• ISO5167 Square-edged orifice with corner tappings • British standard 1042: Part 1: 1964
• ISO5167 Square-edged orifice with flange tappings • ISO/TR 15377:2007 Measurement of fluid flow by means of
• ISO5167 Square-edged orifice with D and D/2 tappings pressure differential devices – Guidelines for the
• ISO/TR 15377 Quarter circle orifice with corner tappings specification of orifice plates, nozzle and Venturi tubes
• ISO/TR 15377 Quarter circle orifice with flange tappings beyond the scope of ISO 5167
• ISO/TR 15377 Conical entrance orifice with corner tappings
Function inputs
Function inputs Remark EU Range Default
Name Optional tag name, tag description and tag group
Differential Pressure Differential pressure over the primary flow device measured at the up- and downstream mbar 0..10000 0
pressure tappings, which need to be in the positions as specified in the standard
Pressure Down- or upstream pressure value (p 1 ) of the fluid at metering conditions bar (a) 0..2000 0
Temperature Down- or upstream temperature of the fluid at metering conditions °C -240..1000 0
Density Down or upstream density of the fluid at metering conditions kg/m3 0..2000 0
Dynamic Viscosity Dynamic viscosity of the fluid Pa.s 0..1 0
Isentropic Exponent Also referred to as κ (kappa). For an ideal gas this coefficient is equal to the ratio of the - 0..10 0
specific heat capacity at constant pressure to the specific heat at constant volume.
According to the ISO standard this ratio may be used, when the real value is unknown.
Pipe Diameter Internal diameter of the pipe at reference temperature mm 0..2000 0
Pipe Expansion factor The thermal expansion coefficient of the pipe material 1/°C 0..1 0.0000108
Pipe Reference The reference temperature that corresponds to the 'Pipe diameter' input value °C -300..1000 20
temperature
Orifice Diameter Orifice diameter at reference temperature mm 0..2000 0
Orifice Expansion factor The thermal expansion coefficient of the orifice material 1/°C 0..1 0.0000163
Orifice Reference The reference temperature that corresponds to the 'Orifice diameter' input value °C -300..1000 20
Temperature
Configuration The location of the pressure tappings. Several configurations are permitted by the - 2
ISO5167 standard. Each configuration has a different calculation of the discharge
coefficient and of the expansion factor
1: ISO5167 Corner
2: ISO5167 D and D/2
3: ISO5167 Flange
4: ISO15377 Quarter circle (*)
5: ISO15377 Conical entrance
(*) The calculation of the discharge and expansion factor are equal for the quarter circle
orifice with corner and flange tappings.
Single Annular
corner slot corner
tapping tapping
Flange
tappin
g
25.4
mm
D D/2
D and
D/2
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 107
Temperature Correction This parameter specifies how the temperature should be corrected from downstream to 3
upstream conditions (or vice versa)
1: (1-κ)/κ
Isentropic expansion using (1-κ)/κ as the temperature referral exponent
2: Constant
Isentropic expansion using input 'Temperature Exponent' as the temperature referral
exponent [-].
Please note that this value must be < 0
3: Joule Thomson
Isenthalpic expansion using input 'Temperature Exponent' as the Joule Thomson
coefficient [°C/bar].
This method is prescribed by ISO5167-1:2003.
Temperature Exponent Refer to input Temperature Correction - 0
Unit depends on input Temperature Correction value °C/bar
Density Location This parameter specifies if and how the density should be corrected from downstream to - 1
upstream conditions (or vice versa).
1: Upstream
Input 'Density' represents the density at the upstream pressure tapping (ρ 1 ).
2: Downstream
Input 'Density' represents the density at the downstream tapping (ρ 2 ).
3: Recovered
Input 'Density' represents the density downstream at a location Where the pressure has
fully recovered (ρ 3 ).
Density Exponent. This factor is used when density correction is enabled. The formula 1/κ will be used when - 0
the input value is set to 0, else the input value will be used.
For more details refer to section 'Density correction'.
Fluid The type of fluid being measured - 1
1: Gas
2: Liquid
Year Of Edition 1: Edition 1991 - 3
2: Edition 1998
3: Edition 2003
Note: Only applicable for ISO5167. ISO/TR15377 refers to ISO5167:2003.
Drain hole When input value is > 0 then an additional correction on the orifice diameter will be mm 0
applied to account for the drain hole, as explained further on.
Function outputs
Function outputs Remark EU Fallback
Status 0: Normal (No error condition)
1: Input argument out of range
2: No convergence
Mass flow rate The calculated mass flow rate kg/s 0
Beta ratio Orifice to pipe diameter ratio at upstream temperature - 0
Orifice diameter At the upstream temperature and optionally with a correction for the drain hole mm 0
Pipe diameter At the upstream temperature mm 0
Upstream pressure Pressure at upstream tapping (p 1 ) bar(a) 0
Pressure at downstream tapping Pressure at downstream tapping (p 2 ) bar(a) 0
Recovered downstream pressure Fully recovered downstream pressure (p 3 ) bar(a) 0
Upstream temperature Temperature at upstream tapping (t 1 ) °C 0
Temperature at downstream Temperature at downstream tapping (t 2 ) °C 0
tapping
Downstream Temperature 'Fully recovered' downstream temperature (t 3 ) °C 0
Upstream density Density at upstream tapping (ρ 1 ) kg/m3 0
Density at downstream tapping Pressure at downstream tapping (ρ 2 ) kg/m3 0
Downstream density 'Fully recovered' downstream density (ρ 3 ) kg/m3 0
Reynolds number The pipe Reynolds number (this is the Reynolds number upstream of the orifice and not - 0
the one within the device throat itself
108 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
1 1
Temperature correction
p κ p κ
When input 'Temperature correction' is set to 1, then an ρ 1= ρ 2 ⋅ 1 ρ 1= ρ 3 ⋅ 1
isentropic expansion based on the isentropic coefficient is p2 p3
applied:
1−κ
Else the value of input 'Density Exponent' is used
p κ
t 2 = (t 3 + 273.15) ⋅ 3 − 273.15 p
K DE
p
K DE
p2 ρ 1= ρ 2 ⋅ 1 ρ 1= ρ 3 ⋅ 1
1−κ p2 p3
p κ
t 1 = (t 3 + 273.15) ⋅ 3 − 273.15
p1 Where:
ρ1 Upstream density [kg/m3]
ρ2 Density at the downstream tapping [kg/m3]
When input 'Temperature correction' is set to 2, then an ρ3 Density at the fully recovered downstream pressure [kg/m3]
isentropic expansion based on input 'Temperature exponent' is p1 Upstream pressure [bar(a)]
p2 Pressure at the downstream tapping [bar(a)]
applied:
p3 Fully recovered downstream pressure [bar(a)]
K TE
p κ Isentropic exponent [-]
t 2 = (t 3 + 273.15) ⋅ 3 − 273.15 KDE Density exponent [-]
p2
Note: In March 2007 the British DTI (Department of Trade and
K TE
p Industry) has recommended that the density correction method
t 1 = (t 3 + 273.15) ⋅ 3 − 273.15 should not be based on isentropic expansion but on isenthalpic
p1 expansion instead.
When input 'Temperature correction' is set to 3, then an
isenthalpic expansion based on the linear Joule Thomson The correction assumes that the density is measured at p 2
correction as defined in ISO5167-1:2003, taking input (downstream pressure tapping pressure) and t 3 (downstream
'Temperature exponent' as the Joule Thomson coefficient: recovered temperature). For this situation the following density
correction is defined:
t 1= t 2 + ( p1 − p2 ) ⋅ µ JT t 1= t3 + ( p1 − p3 ) ⋅ µ JT
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 109
p1 ⋅ t 3 ⋅ Z ( p 2 , t 3 )
ρ 1= ρ M ⋅
p 2 ⋅ t1 ⋅ Z ( p1 , t1 )
Where:
ρ1 Upstream density [kg/m3]
ρM Measured density from the densitometer at p2 and t3 [kg/m3]
p1 Upstream pressure [bar(a)]
p2 Pressure at the downstream tapping [bar(a)]
t1 Upstream temperature °C
t3 Temperature at downstream side Where pressure has °C
fully recovered
Z(p1,t1) Compressibility at p1 and t1 [-]
Z(p2,t3) Compressibility at p2 and t3 [-]
2
d
C DH = 1 + 0.55 * DH
d0
Where:
CDH Darin hole correction factor on orifice diameter [-]
dDH Drain hole diameter [mm]
d0 Orifice diameter at reference temperature (i.e. input [mm]
'Orifice diameter')
110 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxISO5167_Venturi
Description Compliance
The function calculates the mass flow rate for classical Venturi ISO-5167 - 1991 Measurement of fluid flow by means of pressure
tube pressure differential flow devices according to the ISO-5167 differential devices, 1st edition, 1991
standard. ISO-5167 Amd.1 : 1998(E)
ISO-5167 - 2003 Measurement of fluid flow by means of pressure
differential devices inserted in circular cross-section conduits
running full, 2nd edition, 2003
Function inputs
Function inputs Remark EU Range Default
Name Optional tag name, tag description and tag group
Differential Pressure Differential pressure over the primary flow device measured at the up- and downstream mbar 0
pressure tappings, which need to be in the positions as specified in the standard
Pressure Upstream pressure value of the fluid at metering conditions bar(a) 0
Temperature Down- or upstream temperature of the fluid at metering conditions °C 0
Density Down or upstream density of the fluid at metering conditions kg/m3 0
Dynamic Viscosity Dynamic viscosity of the fluid Pa.s 0
Isentropic Exponent Also referred to as κ (kappa). For an ideal gas this coefficient is equal to the ratio of the specific - 0
heat capacity at constant pressure to the specific heat at constant volume. According to the
ISO standard this ratio may be used, when the real value is unknown.
Pipe Diameter Internal diameter of the pipe at reference temperature mm 0
Pipe Expansion factor The thermal expansion coefficient of the pipe material 1/°C 0.0000108
Pipe Reference The reference temperature that corresponds to the 'Pipe diameter' input value °C 20
temperature
Venturi Diameter Venturi diameter at reference temperature mm 0
Venturi Expansion factor The thermal expansion coefficient of the Venturi material 1/°C 0.0000163
Venturi Reference The reference temperature that corresponds to the 'Venturi diameter' input value °C 20
Temperature
Configuration The type of classical venturi tube. - 2
Three configurations are permitted by the ISO5167 standard. Each configuration has a different
calculation of the discharge coefficient and of the expansion factor
1: As cast convergent section
2: Rough welded
3: Machined
4: User-defined (not according to the standard!)
When 'User-defined' is selected then the input 'Discharge coefficient' will be used in the
calculations instead.
Pressure Location 1: Upstream - 1
Input 'Pressure' represents the pressure at the upstream pressure tapping (p 1 ).
Since the absolute pressure is usually measured at the upstream tapping this is the most
common setting.
2: Downstream
Input 'Pressure' represents the pressure at the downstream tapping (p 2 ).
Temperature Location 1: Upstream - 2
Input 'Temperature' represents the upstream temperature (t 1 ).
2: Downstream
Input 'Temperature represents the temperature at the downstream tapping (t 2 ).
3: Recovered
Input 'Temperature' represents the downstream temperature at a location Where the
pressure has fully recovered (t 3 ).
Since temperature measurement is usually downstream of the flow device this is the most
common setting.
Temperature Correction This parameter specifies how the temperature should be corrected from downstream to 3
upstream conditions (or vice versa)
1: (1-κ)/κ
Isentropic expansion using (1-κ)/κ as the temperature referral exponent
2: Constant
Isentropic expansion using input 'Temperature Exponent' as the temperature referral
exponent [-].
Please note that this value must be < 0
3: Joule Thomson
Isenthalpic expansion using input 'Temperature Exponent' as the Joule Thomson coefficient
[°C/bar].
This method is prescribed by ISO5167-1:2003.
Temperature Exponent Refer to input Temperature Correction - 0
Unit depends on input Temperature Correction value °C/bar
Density Location This parameter specifies if and how the density should be corrected from downstream to - 1
upstream conditions (or vice versa).
1: Upstream
Input 'Density' represents the density at the upstream pressure tapping (ρ 1 ).
2: Downstream
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 111
Function outputs
Function outputs Remark EU Fallback
Status 0: Normal (No error condition)
1: Input argument out of range
2: No convergence
Mass flow rate The calculated mass flow rate tonne/h 0
Beta ratio Venturi to pipe diameter ratio at upstream temperature - 0
Venturi diameter At the upstream temperature mm 0
Pipe diameter At the upstream temperature mm 0
Upstream pressure Pressure at upstream tapping (p 1 ) bar(a) 0
Pressure at downstream tapping Pressure at downstream tapping (p 2 ) bar(a) 0
Recovered downstream pressure Fully recovered downstream pressure (p 3 ) bar(a) 0
Upstream temperature Temperature at upstream tapping (t 1 ) °C 0
Temperature at downstream Temperature at downstream tapping (t 2 ) °C 0
tapping
Downstream Temperature 'Fully recovered' downstream temperature (t 3 ) °C 0
Upstream density Density at upstream tapping (ρ 1 ) kg/m3 0
Density at downstream tapping Pressure at downstream tapping (ρ 2 ) kg/m3 0
Downstream density 'Fully recovered' downstream density (ρ 3 ) kg/m3 0
Reynolds number The pipe Reynolds number (this is the Reynolds number upstream of the Venturi and not - 0
the one within the device throat itself
Discharge coefficient - 0
Expansion Factor - 0
Velocity of Approach 0
Pressure Range 0: Pressure is in valid range - 0
1: Pressure is out of valid range
Reynolds Range 0: Reynolds number is in valid range - 0
1: Reynolds number is out of valid range
Diameter Range 0: Device and pipe diameter and Beta ratio in valid range - 0
1: Device diameter, pipe diameter and/or Beta ratio out of valid range
112 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxISO5167_VenturiNozzle
Description Compliance
The function calculates the mass flow rate for Venturi Nozzle ISO-5167 - 1991 Measurement of fluid flow by means of pressure
pressure differential flow devices according to the ISO-5167 differential devices, 1st edition, 1991
standard. ISO-5167 Amd.1 : 1998(E)
ISO-5167 - 2003 Measurement of fluid flow by means of pressure
differential devices inserted in circular cross-section conduits
running full, 2nd edition, 2003
Function inputs
Function inputs Remark EU Default
Name Optional tag name, tag description and tag group
Differential Pressure Differential pressure over the primary flow device measured at the up- and downstream pressure mbar 0
tappings, which need to be in the positions as specified in the standard
Pressure Upstream pressure value of the fluid at metering conditions bar(a) 0
Temperature Down- or upstream temperature of the fluid at metering conditions °C 0
Density Down or upstream density of the fluid at metering conditions kg/m3 0
Dynamic Viscosity Dynamic viscosity of the fluid Pa.s 0
Isentropic Exponent Also referred to as κ (kappa). For an ideal gas this coefficient is equal to the ratio of the specific heat 0
capacity at constant pressure to the specific heat at constant volume. According to the ISO standard
this ratio may be used, when the real value is unknown.
Pipe Diameter Internal diameter of the pipe at reference temperature mm 0
Pipe Expansion factor The thermal expansion coefficient of the pipe material 1/°C 0.0000108
Pipe Reference The reference temperature that corresponds to the 'Pipe diameter' input value °C 20
temperature
Venturi Nozzle Diameter Venturi Nozzle diameter at reference temperature mm 0
Venturi Nozzle Expansion The thermal expansion coefficient of the Venturi Nozzle material 1/°C 0.0000163
factor
Venturi Nozzle Reference The reference temperature that corresponds to the 'Venturi Nozzle diameter' input value °C 20
Temperature
Pressure Location 1 Input 'Pressure' represents the pressure at the upstream pressure tapping (p 1 ). - 1
Since the absolute pressure is usually measured at the upstream tapping this is the most
common setting.
2 Input 'Pressure' represents the pressure at the downstream tapping (p 2 ).
Temperature Location 1 Input 'Temperature' represents the upstream temperature (t 1 ). - 2
2 Input 'Temperature represents the temperature at the downstream tapping (t 2 ).
3 Input 'Temperature' represents the downstream temperature at a location Where the pressure
has fully recovered (t 3 ).
Since temperature measurement is usually downstream of the flow device this is the most
common setting.
Temperature Correction 1 Isentropic expansion using (1-κ)/κ as the temperature referral exponent 3
2 Isentropic expansion using input 'Temperature Exponent' as the temperature referral exponent [-
]
3 Isenthalpic expansion using input 'Temperature Exponent' as the Joule Thomson coefficient
[°C/bar].
This method is prescribed by ISO5167-1:2003.
Temperature Exponent Refer to input Temperature Correction - 0
°C/bar
Density Location This parameter specifies if and how the density should be corrected from downstream to upstream - 1
conditions.
1 Input 'Density' represents the density at the upstream pressure tapping (ρ 1 ).
2 Input 'Density' represents the density at the downstream tapping (ρ 2 ).
3 Input 'Density' represents the density downstream at a location Where the pressure has fully
recovered (ρ 3 ).
Density Exponent. This factor is used when density correction is enabled. The formula 1/κ will be used when the input - 0
value is set to 0, else the input value will be used.
For more details refer to function 'ISO5167 - Orifice' section 'Density correction'
Fluid The type of fluid being measured - 1
1: Gas
2: Liquid
Pressure Loss Mode The method for determining the pressure loss - 1
1 Absolute value in mbar
The value of input 'Pressure Loss Value' is taken as a value in mbar
2 Percentage of differential pressure
The value of input 'Pressure Loss Value' is taken as a percentage from input 'Differential
Pressure'
Pressure Loss Value Value in mbar or %, depending on the 'Pressure Loss Mode'. mbar 0
The pressure loss over the Venturi nozzle is used to calculate the downstream fully recovered %
pressure. The pressure loss equals the difference between the upstream pressure (p 1 ) and the fully
recovered downstream pressure (p 3 )
The standard prescribes that only the pressure loss that is caused by the venturi nozzle should be
included (so it should not include the pressure loss that occurred between the two pressure tappings
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 113
Function outputs
Function outputs Remark EU Fallback
Status 0: Normal (No error condition)
1: Input argument out of range
2: No convergence
Mass flow rate The calculated mass flow rate tonne/h 0
Beta ratio Venturi nozzle to pipe diameter ratio at upstream temperature 0
Venturi Nozzle diameter At the upstream temperature 0
Pipe diameter At the upstream temperature 0
Upstream pressure Pressure at upstream tapping (p 1 ) bar(a) 0
Pressure at downstream tapping Pressure at downstream tapping (p 2 ) bar(a) 0
Recovered downstream pressure Fully recovered downstream pressure (p 3 ) bar(a) 0
Upstream temperature Temperature at upstream tapping (t 1 ) °C 0
Temperature at downstream Temperature at downstream tapping (t 2 ) °C 0
tapping
Downstream Temperature 'Fully recovered' downstream temperature (t 3 ) °C 0
Upstream density Density at upstream tapping (ρ 1 ) kg/m3 0
Density at downstream tapping Pressure at downstream tapping (ρ 2 ) kg/m3 0
Downstream density 'Fully recovered' downstream density (ρ 3 ) kg/m3 0
Reynolds number The pipe Reynolds number (this is the Reynolds number upstream of the Venturi - 0
nozzle and not the one within the device throat itself
Discharge coefficient - 0
Expansion Factor - 0
Velocity of Approach 0
Pressure Range 0: Pressure is in valid range - 0
1: Pressure is out of valid range
Reynolds Range 0: Reynolds number is in valid range - 0
1: Reynolds number is out of valid range
Diameter Range 0: Device and pipe diameter and Beta ratio in valid range - 0
1: Device diameter, pipe diameter and/or Beta ratio out of valid range
Temperature correction
When input ''Temperature exponent' = 0, then an isentropic
expansion is applied:
1−κ
p κ
t 1= (t 3 + 273.15) ⋅ 3 − 273.15
p1
fxISO6976_1983_M
Description Compliance
ISO standard 6976 defines component properties and • International standard, Natural Gas - Calculation of calorific
calculations to determine the calorific value, density and relative values, density, relative density and Wobbe index (ISO
density for a gas composition at the specified metering and 6976:1983)
combustion reference temperatures and 1.01325 bar(a).
Boundaries
ISO6976:1983 does not define limits for its input data.
Function inputs
Function inputs Remark EU Range Default
Name Optional tag name, tag description and tag group
Composition Standard composition as defined in section 'Standard gas composition. mol/mol 0..1 0
Metering reference Temperature used for calculating the compressibility, the density and the real - 1
temperature relative density values
1: 0 °C
2: 15 °C
Calorific value reference Temperatures used for calculating the calorific values. - 1
temperature 1st value represents the combustion reference temperature and the 2nd value
the Gas volume reference temperature
1: 25 °C / 0 °C
2: 0 °C / 0 °C
3: 15 °C / 0 °C
4: 15 °C / 15 °C
5: 60 °F / 60 °F
Function outputs
Function outputs Remark EU Fallback
Status 0: Normal
1: Input argument out of range
2: Calculation error
3: Mole fractions do not add up to 1.0 +- 0.0001
Superior calorific value Real value at the reference conditions of temperature and MJ/m3 0
pressure
Density At the reference conditions of temperature and pressure kg/m3 0
Compressibility - 1
Relative density - 0
Molar mass kg/kmol 0
Calculations
Calculations are performed in accordance with the standard,
using the values as listed in the tables of the standard.
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 115
fxISO6976_1995_M
Description Boundaries
ISO standard 6976 edition 1995 defines component properties • The valid ranges for molar fractions are as follows:
and calculations to determine the calorific value, density, relative • Methane 0.5 <= .. <= 1.0
density and Wobbe index for a gas composition at the specified • Nitrogen 0.0 <= .. <= 0.3
metering and combustion reference temperatures and 1.01325 • Ethane 0.0 <= .. <= 0.15
bar(a). • Carbon dioxide 0.0 <= .. <= 0.15
Both the definitive and alternative methods of calculating the • All others 0.0 <= .. <= 0.05
calorific value on a mass and volumetric basis are included.
Compliance
• International standard, Natural Gas - Calculation of calorific
values, density, relative density and Wobbe index (ISO
6976:1995/BS7589)
fxISO6976ex_1995_M
Description Boundaries
The valid ranges for molar fractions are as follows:
Extended version that takes the first 55 components as used in • Methane 0.5 <= .. <= 1.0
the standard plus an additional set of user-definable • Nitrogen 0.0 <= .. <= 0.3
components. • Ethane 0.0 <= .. <= 0.15
• Carbon dioxide 0.0 <= .. <= 0.15
ISO standard 6976 edition 1995 defines component properties • All others 0.0 <= .. <= 0.05
and calculations to determine the calorific value, density, relative
density and Wobbe index for a gas composition at the specified Compliance
metering and combustion reference temperatures and 1.01325 • International standard, Natural Gas - Calculation of calorific
bar(a). values, density, relative density and Wobbe index (ISO
Both the definitive and alternative methods of calculating the 6976:1995/BS7589)
calorific value on a mass and volumetric basis are included.
Function inputs
Function inputs Remark EU Default
Name Optional tag name, tag description and tag group
Composition Array of mole fractions of the first 55 components as used in the standard. mol/mol 0
1: Methane
2: Ethane
3: Propane
4: n-Butane
5 2-Methylpropane
6: n-Pentane
7: 2-Methylbutane
8: 2,2-Dimethylpropane
9: n-Hexane
10: 2-Methylpentane
11: 3-Methylpentane
12: 2,2-Dimethylbutane
13: 2,3-Dimethylbutane
14: n-Heptane
15: n-Octane
16: n-Nonane
17: n-Decane
18: Ethylene
19: Propylene
20: 1-Butene
21: cis-2-Butene
22: trans-2-Butene
23: 2-Methylpropene
24: 1-Pentene
25: Propadiene
26: 1,2-Butadiene
27: 1,3-Butadiene
28: Acetylene
29: Cyclopentane
30: Methylcyclopentane
31: Ethylcyclopentane
32: Cyclohexane
33: Methylcyclohexane
34: Ethylcyclohexane
35: Benzene
36: Toluene
37: Ethylbenzene
38: o-Xylene
39: Methanol
40: Methanethiol
41: Hydrogen
42: Water
43: Hydrogen sulfide
44: Ammonia
45: Hydrogen cyanide
46: Carbon monoxide
47: Carbonyl sulfide
48: Carbon disulfide
49: Helium
50: Neon
51: Argon
52: Nitrogen
53: Oxygen
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 117
Function outputs
Function outputs Remark EU Fallback
Status 0: Normal
1: Input argument out of range
2: Calculation error
3: Mole fractions do not add up to 1.0 +- 0.0001
Superior calorific value Real superior calorific value on volume basis at the reference conditions of temperature MJ/m3 0
and pressure
Density At the reference conditions of temperature and pressure kg/m3 0
Compressibility - 1
Relative density - 0
Molar mass kg/kmol 0
Superior calorific value Real superior calorific value on mass basis at the reference conditions of temperature and MJ/kg 0
pressure
Superior calorific value Real superior calorific value on mole basis at the reference conditions of temperature and MJ/kmol 0
pressure
Inferior calorific value Real inferior calorific value on volume basis at the reference conditions of temperature and MJ/m3 0
pressure
Inferior calorific value Real inferior calorific value on mass basis at the reference conditions of temperature and MJ/kg 0
pressure
Inferior calorific value Real superior calorific value on mole basis at the reference conditions of temperature and MJ/kmol 0
pressure
Wobbe index MJ/m3 0
Data range With respect to the ISO6976-1995 standard the combination of input values is: -
0: In Range
1: Out of Range
Calculations based heating values that are calculated from these input
Calculations are performed in accordance with the standard with properties. Only the Definitive Method for calculating the
the addition of the user-definable components. calorific value is supported in this case.
fxISO6976_2016_M
Description Boundaries
ISO standard 6976 edition 2016 defines component properties The standard defines the following validity ranges
and calculations to determine the calorific value, density, relative • 0.9 < Pressure < 1.1 bar
density and Wobbe index for a gas composition at the specified • Compressibility > 0.9
metering and combustion reference temperatures and metering
pressure. Compliance
• International standard, Natural Gas - Calculation of calorific
values, density, relative density and Wobbe indices from
composition (ISO 6976:2016(e))
fxISO6976ex_2016_M
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 119
Description Boundaries
The standard defines the following validity ranges
Extended version that takes the first 60 components as used in • 0.9 < Pressure < 1.1 bar
the standard plus an additional set of user-definable • Compressibility > 0.9
components.
Compliance
ISO standard 6976 edition 2016 defines component • International standard, Natural Gas - Calculation of calorific
properties and calculations to determine the calorific value, values, density, relative density and (Gross) Wobbe index
density, relative density and Wobbe index for a gas (ISO 6976:2016/BS7589)
composition at the specified metering and combustion
reference temperatures and metering pressure.
Function inputs
Function inputs Remark EU Default
Name Optional tag name, tag description and tag group
Composition Array of mole fractions of the first 55 components as used in the standard. mol/mol 0
1: Methane
2: Ethane
3: Propane
4: n-Butane
5 2-Methylpropane
6: n-Pentane
7: 2-Methylbutane
8: 2,2-Dimethylpropane
9: n-Hexane
10: 2-Methylpentane
11: 3-Methylpentane
12: 2,2-Dimethylbutane
13: 2,3-Dimethylbutane
14: n-Heptane
15: n-Octane
16: n-Nonane
17: n-Decane
18: Ethylene
19: Propylene
20: 1-Butene
21: cis-2-Butene
22: trans-2-Butene
23: 2-Methylpropene
24: 1-Pentene
25: Propadiene
26: 1,2-Butadiene
27: 1,3-Butadiene
28: Acetylene
29: Cyclopentane
30: Methylcyclopentane
31: Ethylcyclopentane
32: Cyclohexane
33: Methylcyclohexane
34: Ethylcyclohexane
35: Benzene
36: Toluene
37: Ethylbenzene
38: o-Xylene
39: Methanol
40: Methanethiol
41: Hydrogen
42: Water
43: Hydrogen sulfide
44: Ammonia
45: Hydrogen cyanide
46: Carbon monoxide
47: Carbonyl sulfide
48: Carbon disulfide
49: Helium
50: Neon
51: Argon
52: Nitrogen
53: Oxygen
54: Carbon dioxide
55: Sulfur dioxide
56: N_undecane
57: N_Dodecane
120 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
User-defined composition Array of mole fractions of the additional user-definable components. mol/mol 0
Note: The inputs for the additional components are optional inputs.
User-defined molar mass Array of molar masses of the additional user-definable components. This should be the molar mass kg/kmol 0
corresponding to the current ‘Molar mass table method’.
Note: This array should be exactly as long as the user-defined composition array.
User-defined summation Array of summation factor values of the additional user-definable components. - 0
factor Note: The input values have to correspond with the metering conditions of input ‘Reference conditions.
This array should be exactly as long as the user-defined composition array.
User-defined gross calorific Array of Gross Calorific Values of the additional user-definable components. This should be the CV KJ/mol 0
value corresponding to the current reference conditions.
Note: the input values have to correspond with the conditions as defined by input ‘Reference conditions.
This array should be exactly as long as the user-definable composition array.
Function outputs
Function outputs Remark EU Fallback
Status 0: Normal
1: Input argument out of range
2: Calculation error
3: Mole fractions do not add up to 1.0 +- 0.0001
Gross calorific value Real gross calorific value on volume basis at the reference conditions of temperature and MJ/m3 0
pressure
Density At the reference conditions of temperature and pressure kg/m3 0
Compressibility - 1
Relative density - 0
Molar mass kg/kmol 0
Gross calorific value Real gas gross calorific value on mass basis at the reference conditions of temperature and MJ/kg 0
pressure
Gross calorific value Real gas gross calorific value on mole basis at the reference conditions of temperature and MJ/kmol 0
pressure
Net calorific value Real gas net calorific value on volume basis at the reference conditions of temperature and MJ/m3 0
pressure
Net calorific value Real gas net calorific value on mass basis at the reference conditions of temperature and MJ/kg 0
pressure
Net calorific value Real gas net calorific value on mole basis at the reference conditions of temperature and MJ/kmol 0
pressure
(Gross) Wobbe index MJ/m3 0
Data range With respect to the ISO6976-2016 standard the combination of input values is: -
0: In Range
1: Out of Range
Calculations
Calculations are performed in accordance with the standard with the addition of the user-definable components. The properties of
the user-definable components are specified by the corresponding inputs, except for the volume and mass based heating values that
are calculated from these input properties. Only the Definitive Method for calculating the calorific value is supported in this case.
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 121
fxMR113
Description Boundaries
The relative humidity, compressibility, density, speed of sound, The standard defines a valid range for pressure and
isentropic coefficient and optionally the dynamic viscosity of a temperature. The function will not accept input values outside
gas are calculated from its composition, absolute humidity, this range
temperature and pressure in accordance with the GOST MR113
standard. The CPU-intensive calculation of viscosity can be The valid range is as follows
optionally enabled if the (flow computer) CPU capacity allows for • Pressure: 1 .. 150 bar(a)
this. • Temperature: 263..500 K (-10 ..+226 °C)
Compliance Note: the standard does not specify a range limitation for the
• The GSSSD method MR 113-03. Kozlov, Mamonov, Rogovin, components.
Rybakov, (10/06/2003).
Function inputs
Function inputs Remark EU Range Default
Name Optional tag name, tag description and tag group
Pressure Flowing pressure bar(a) 1..150 1.01325
Temperature Flowing temperature °C -10..+226 0
Composition Standard composition as defined in section 'Standard gas composition. Unused mol/mol 0..1 0
components must be set to 0.
neo-Pentane mode Determines what to do when component neo-Pentane is larger than zero - 1 . .3 1
1: Add to i-Pentane
2: Add to n-Pentane
3: Neglect
Absolute humidity Absolute humidity at the humidity meter kg/m3 0 .. 1 0
Humidity pressure Pressure value at the humidity meter bar(a) 0..3500 1.01325
Humidity temperature Temperature value at the humidity meter °C -250..+450 0
Reference pressure Reference pressure (base conditions) bar(a) 0..3500 1.01325
Reference temperature Reference temperature (base conditions) °C -250..+450 0
Rounding 0: Disabled, full precision 0 .. 1 0
1: Enabled, results are rounded
Viscosity calculation 0: Disabled 0 .. 1 0
1: Enabled
Note: the viscosity calculation is relative CPU-intensive.
Function outputs
Function outputs Remark EU Fallback
Status 0: Normal
1: Input argument out of range
2: Calculation error
3: No convergence
Base Compressibility At reference conditions - 1
Flow Compressibility At flowing conditions - 1
Base Density At reference conditions kg/m3 0
Flow Density At flowing conditions kg/m3 0
Kappa Isotropic exponent - 0
Molar Mass kg/kmol 0
Speed of Sound At flowing conditions m/s 0
Dew point Water dew point, the temperature at which the water in the gas starts to K 0
condensate.
Viscosity The dynamic viscosity of the gas. The calculation is disabled by default. Pa.s 0
Max water fraction Maximum water fraction at flowing conditions %mole 0
Water fraction Actual water fraction at flowing conditions %mole 0
Relative humidity At flow conditions % 0
Range 0: All input values are within the 'Normal Range' 0
1: One or more input values are outside the 'Normal Range
Calculations
The calculations are as documented in the reference.
122 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxNX19_1962
Description Compliance
The AGA NX-19 standard describes a method to calculate the • AGA Par Research Project NX-19 - Manual for the
super-compressibility for natural gases and was developed in Determination. of the Supercompressibility Factors for
1962. Natural Gas, 1962
The 1962 standard describes a standard method for calculating • Flow Measurement Engineering Handbook, Third edition,
the super-compressibility factor that is based on the actual Richard W. Miller, 1996,
pressure and temperature, the specific gravity and the mole ISBN-0-07-042366-0
fractions of the carbon dioxide and nitrogen.
The 1962 standard also specifies 3 alternate methods, which are Boundaries
based on a full compositional analysis (1st alternate method), The following boundaries apply for the input values. Using the
the relationship between methane and specific gravity (2nd standard for conditions that lie outside this range will yield to a
alternate method) and the relationship between the heating higher uncertainty and is not recommended.
value and the specific gravity
The function only performs the standard method as specified by Temperature -40..240 °F
the standard and none of the alternate methods. Pressure 0..5000 psig
Relative density 0.554 .. 01.000 -
Nitrogen 0.00 .. 0.15 mol/mol
Carbon dioxide 0.00 .. 0.15 mol/mol
Note: the definition of the specific gravity as used in the
standard is that of the ratio of the density of the gas to that of
air at base conditions, so the real specific gravity or real relative
density.
Function inputs
Function inputs Remark EU Range Default
Name Optional tag name, tag description and tag group
Pressure Observed pressure psig 0..40000 0
Temperature Observed temperature °F -250..800 60
Specific gravity Ratio of density of gas and density of air at the applicable reference - 0..2 0
conditions of pressure and temperature, i.e. the real specific gravity
(real relative density).at 60°F and 14.73 psia.
Nitrogen Mole fraction of nitrogen mol/mol 0..1 0
Carbon dioxide Mole fraction of carbon dioxide mol/mol 0..1 0
Function outputs
Function outputs Remark EU Fallback
Status 0: Normal
1: Input argument out of range
2: Calculation error
Note: value 1 is also reported when one of the intermediate results is out of limit.
Compressibility factor Compressibility factor at the observed temperature and pressure (Zf) - 1
Base compressibility factor Compressibility factor at 60 ᵒF and 14.7 psia (Zb) - 1
Super-compressibility factor Super-compressibility Fpv. Refer to section Calculations for ist definition. - 1
Range 0: All input values are within the 'Normal Range' - 0
1: One or more input values are outside the 'Normal Range
Calculations The definition of the base compressibility factor when applying
The AGA-NX-19 standard specifies the calculations of the super- the AGA-NX19:1962 method for custody transfer is given in
compressibility Fpv, which is defined as follows: chapter 2 of [Miller:1996].
−2
𝑍𝑍𝑍𝑍 0.00132
𝐹𝐹𝐹𝐹𝐹𝐹 = � 𝑍𝑍𝑍𝑍 = ��1 + �
𝑍𝑍𝑍𝑍 𝑇𝑇 3.25
Where:
Where T = Tadj/500 with Tadj calculated in accordance with the
F pv Supercompressibility
Zb Compressibility at base conditions of 60 ᵒF and 14.7 psia
AGA NX-19:1962 standard
Zf Compressibility at flowing conditions, i.e. at the input
temperature and pressure
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 123
fxNX19_M
Description Compliance
The AGA NX-19 standard describes a method to calculate the • AGA Par Research Project NX-19 - Manual for the
super-compressibility for natural gases and was developed in Determination. of the Supercompressibility Factors for
1962. Natural Gas, 1962
The 1962 standard describes a standard method for calculating • Berechnung von Realgasfaktoren und
the super-compressibility factor that is based on the actual Kompressibilitätszahlen für Erdgas, Technische Richtlinie G9
pressure and temperature, the specific gravity and the mole der Physikalisch - Technische Bundesanstalt für meßgeräte
fractions of the carbon dioxide and nitrogen. für Gas (PTB), TRG 9 8/82
The 1962 standard also specifies 3 alternate methods, which are
based on a full compositional analysis (1st alternate method), Boundaries
the relationship between methane and specific gravity (2nd The following bounds apply for the input values. Using the
alternate method) and the relationship between the heating standard for conditions that lie outside this range will yield to a
value and the specific gravity higher uncertainty and is not recommended.
The function only performs the standard method as specified by
the standard and none of the alternate methods. Input value AGA-NX-19 AGA-NX-19- AGA-NX-19- EU
The function provides the option to perform the PTB G9 (1962) mod mod.BR.
KORR.3H
correction instead of the 1962 standard method. This consists of
Pressure 0 .. 350 0 .. 137.9 0..80 bar(a)
the modified NX-19 method (NX-19-mod) per Herning & Temperature -40..115.6 -40..115.6 0..30 °C
Wolowsky and the additional ‘BR.KORR.3H’ correction for high- Relative density 0.554 .. 0.554..0.75 0.554..0.691 -
caloric gases (gross heating value >= 39.8 MJ/m3). 01.000
Gross heating value Not used 31.8..39.8 39.8..46.2 MJ/m3
Nitrogen 0.00 .. 0.15 0.00 .. 0.15 0.00..0.025 mol/mol
Carbon dioxide 0.00 .. 0.15 0.00 .. 0.15 0.00..0.07 mol/mol
Note: the definition of the specific gravity as used in the
standard is that of the ratio of the density of the gas to that of
air at base conditions, so the real specific gravity or real relative
density.
Function inputs
Function inputs Remark EU Range Default
Name Optional tag name, tag description and tag group
Pressure Observed pressure bar(a) 0..200 1.01325
Temperature Observed temperature °C -100..300 0
Specific gravity Ratio of density of gas and density of air at the applicable reference conditions of - 0..2 0
pressure and temperature, i.e. the real specific gravity (real relative density).
If setting ‘PTB G9 correction’ is disabled the reference conditions are 60°F and 14.73
psia. Else the specific gravity value shall be at the applicable reference conditions of
pressure and temperature.
Gross heating value At the applicable reference conditions of pressure and temperature MJ/m3 0..100 0
Only required when the ‘PTB G9 correction’ is enabled.
Nitrogen mol/mol 0..1 0
Carbon dioxide mol/mol 0..1 0
PTB G9 correction Determines if the AGA-NX-19-mod / AGA-NX-19-mod.BR.KORR.3H is used instead of the - 1
AGA-NX-19-1962 standard calculation.
0: Disabled
1: Enabled
Function outputs
Function outputs Remark EU Fallback
Status 0: Normal
1: Input argument out of range
2: Calculation error
3: No convergence
Note: value 1 is also reported when one of the intermediate results is out of limit.
Compressibility factor - 1
Range 0: All input values are within the 'Normal Range' - 0
1: One or more input values are outside the 'Normal Range
Calculations
The calculations are as specified in the standards.
124 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxOIML_R22_1975
Description
This function calculates the density, mass and volume based
alcoholic strength of ethanol and water mixtures.
Compliance
• International Organisation of Legal metrology: International
alcoholometric tables.
Function input
Function inputs Remark EU Range Default
Observed temperature °C -25..45 7
Standard temperature for the mixture. °C -25..45 20
Standard temperature for ethanol °C -25..45 20
Input density kg/m3 771.93..999.97 829.110
Conversion method 1: From observed to standard conditions 1..2 1
2: From standard to observed conditions.
Density margin. Allow the input density to go out of the limits of the standard by kg/m3 3
this margin. E.g. Now the function allows an Input density of 769.
Function output
Function outputs Remark EU Fallback
Status 0: Normal (No error condition)
1: Input argument out of range
2: No convergence
Density kg/m3 1
Ctl Volume correction factor for temperature. 0..1 1
Mass strength Mass based alcoholic strength. 0..1 1
Volume strength Volume based alcoholic strength. 0..1 1
CBSW Correction factor to calculate the volume of ethanol at the ethanol standard 0..1 1
temperature from the volume of the mixture at the mixture standard temperature.
Range status 0: Input values are in the range of the standard
1: Input values are outside the range of the standard
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 125
fxSarasota_C
Description
The function calculates the density from a frequency input signal
provided by a Sarasota densitometer and corrects it for
temperature and pressure effects in US customary units.
Note: The calibration constants also need to be in US customary
units (°F, psi and lbm/ft3).
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Periodic time In microseconds µs 0..1e6 0
Equals 1000 divided by the frequency in [Hz]
Line temperature Used when temperature correction is enabled °F -273.15..+500 20
Line pressure Used when pressure correction is enabled psig 0..200 0
Temperature correction 0: Disabled - TEMPCOR 1
1: Enabled
Pressure correction 0: Disabled - PRESCOR 1
1: Enabled
Reference temperature Used when temperature correction is enabled °F REFTEMP 0..100 20
Reference pressure Used when pressure correction is enabled psig REFPRES 0..100 0
d0 Constant from calibration certificate lbm/ft3 D0 0..2000 0
Note: value required in lbm/ft3
τ0 Constant from calibration certificate µs T0 0..1e6 0
K Spool calibration constant from calibration certificate - K 0..3e3 0
Temperature coefficient Constant from calibration certificate µs/°F TEMPCOEF -1e6..1e6 0
Pressure coefficient Constant from calibration certificate µs/psi PRESCOEF -1e6..1e6 0
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal STS
1: Input argument out of range FIOOR
2: Calculation error CALC
Corrected density Density corrected for temperature and pressure lbm/ft3 CORDENS 0
Calculations
The corrected density ρ C is calculated by
τ −τ C τ −τ C
ρC = d0 ⋅ ⋅ 2 + K ⋅
τC τC
fxSarasota_M
Description
The function calculates the density from a frequency input signal
provided by a Sarasota densitometer and corrects it for
temperature and pressure effects in metric units.
Note: Calibration constants also need to be in metric units (°C,
bar and kg/m3).
Function inputs
Function inputs Remark EU Range Default
Name Optional tag name, tag description and tag group
Periodic time In microseconds.Equals 1000 divided by the frequency in [Hz] μs 0..1e6 0
Line temperature Used when temperature correction is enabled °C -273.15..+500 20
Line pressure Used when pressure correction is enabled bar(g) 0..200 0
Temperature correction 0: Disabled - 1
1: Enabled
Pressure correction 0: Disabled - 1
1: Enabled
Reference temperature Used when temperature correction is enabled °C 0..100 20
Reference pressure Used when pressure correction is enabled bar(g) 0..100 0
d0 Constant from calibration certificate kg/m3 0..3000 0
τ0 Constant from calibration certificate µs 0..1e6 0
K Spool calibration constant from calibration certificate - 0..3e3 0
Temperature coefficient Constant from calibration certificate µs/°C -1e6..1e6 0
Pressure coefficient Constant from calibration certificate. µs/bar -1e6..1e6 0
Note: value required in µs/bar
Function outputs
Function outputs Remark EU SW tag Fallback
Status 0: Normal STS
1: Input argument out of range FIOOR
Outputs will be set to fallback values
2: Calculation error CALC
Outputs will be set to fallback values
Corrected density Density corrected for temperature and pressure kg/m3 CORDENS 0
Calculations
The corrected density ρ C is calculated by
τ −τ C τ −τ C
ρC = d0 ⋅ ⋅ 2 + K ⋅
τC τC
fxSGERG_C
Description Compliance
This function performs the SGERG calculation in USC units. • GERG Technical Monograph 5, Standard GERG Virial
Equation, 1991
The Standard (or Simplified) GERG TM5 1991 Virial Equation
(SGERG or SGERG-88) has defines a method to calculate the Boundaries
Compressibility Factor (Z) for Natural Gases. The SGERG The standard specifies a maximum uncertainty of the
calculation is equivalent to the AGA8 Gross Characterisation compressibility factor of 0.1% provided the inputs lie in the
Method, however .the results are slightly different following range.
Instead of the full compositional analysis (as used by the AGA 8 Pressure 0 .. 1740 psi(a)
Detailed Characterization method), the Gross Characterisation Temperature 17 .. 143 °F
Gross heating value 509 .. 1288 Btu/ft3
Method (SGERG) uses a restricted set of input variables for its
Relative density 0.55 .. 0.90 -
equation, comprising Relative Density, Superior Calorific Value, Carbon dioxide 0.00 .. 0.30 mol/mol
Carbon Dioxide and Nitrogen together with pressure and Nitrogen 0.00 .. 0.50 mol/mol
temperature. Hydrogen 0.00 .. 0.10 mol/mol
Function inputs
Function inputs Remark EU Range Default
Name Optional tag name, tag description and tag group
Pressure Observed pressure psia 0..30000
Temperature Observed temperature °F -250 ..500 0
Relative density At the reference conditions according to input 'Reference conditions' - 0..2 0
Gross heating value At the combustion and reference conditions according to input 'Reference conditions' Btu/ft3 0..2500 0
Nitrogen mol/mol 0..1 0
Carbon dioxide mol/mol 0..1 0
Hydrogen mol/mol 0..1 0
Method Calculation method: - 0
1: All inputs are known
2: Unknown Nitrogen mole fraction
3: Unknown Carbon Dioxide mole fraction
4: Unknown Gross Heating Value
5: Unknown Relative Density
Reference conditions Reference conditions that correspond with the values of inputs 'Relative density' and 'Gross 1
heating value'.
Combustion temp. / metering temp. / pressure
1: 60°F / 60 °F / 14.73 psia
2: 60 °F / 60 °F / 1.01592 bar
Note: the calculations are based on 25°C / 0°C / 1.01325 bar(a). For the other conditions
conversion factors are applied as specified in GERG Technical Monograph 5, Standard GERG
Virial Equation, 1991.
Refer to section 'Calculations' for more details
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
3: No convergence NOCONV
Compressibility factor - 1
Molar mass lb/lbmol 0
Range 0: In Normal Range RANGE 0
All components are within the 'Normal Range'
1: In Extended Range
One or more components within the 'Extended Range, but none of the
components outside the Extended rang (outputs values have higher
uncertainty)
2: Out of Range OOR
One or more components outside the 'Extended Range' (using the
AGA8 calculation is not recommended in this case)
128 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
Calculations
The calculations are in accordance with the standard.
fxSGERG_M
Description Compliance
This function performs the SGERG calculation in metric units. • GERG Technical Monograph 5, Standard GERG Virial
The Standard (or Simplified) GERG TM5 1991 Virial Equation Equation, 1991
(SGERG or SGERG-88) has defines a method to calculate the
Compressibility Factor (Z) for Natural Gases. The SGERG Boundaries
calculation is equivalent to the AGA8 Gross Characterisation The standard specifies a maximum uncertainty of the
Method, however .the results are slightly different compressibility factor of 0.1% provided the inputs lie in the
Instead of the full compositional analysis (as used by the AGA 8 following range.
Detailed Characterization method), the Gross Characterisation Pressure 0 .. 120 bar(a)
Method (SGERG) uses a restricted set of input variables for its Temperature 265..335 K
Gross heating value 19 .. 48 MJ/m3
equation, comprising Relative Density, Superior Calorific Value,
Relative density 0.55 .. 0.90 -
Carbon Dioxide and Nitrogen together with pressure and Carbon dioxide 0.00 .. 0.30 mol/mol
temperature. Nitrogen 0.00 .. 0.50 mol/mol
Hydrogen 0.00 .. 0.10 mol/mol
Function inputs
Function inputs Remark EU Range Default
Name Optional tag name, tag description and tag group
Pressure Observed pressure bar(a) 0..2000 1.01325
Temperature Observed temperature °C -200..300 0
Relative density At the reference conditions according to input 'Reference conditions' - 0..2 0
Gross heating value At the combustion and reference conditions according to input 'Reference conditions' MJ/m3 0..100 0
Nitrogen mol/mol 0..1 0
Carbon dioxide mol/mol 0..1 0
Hydrogen mol/mol 0..1 0
Method Calculation method: - 0
1: All inputs are known
2: Unknown Nitrogen mole fraction
3: Unknown Carbon Dioxide mole fraction
4: Unknown Gross Heating Value
5: Unknown Relative Density
Reference conditions Reference conditions that correspond with the values of inputs 'Relative density' and 'Gross 1
heating value'.
Combustion temp. / metering temp. / pressure
1: 25°C / 0°C / 1.01325 bar(a)
2: 0°C / 0 °C / 1.01325 bar(a)
3: 15°C / 15°C / 1.01325 bar(a)
Note: the calculations are based on 25°C / 0°C / 1.01325 bar(a). For the other conditions
conversion factors are applied as specified in GERG Technical Monograph 5, Standard GERG
Virial Equation, 1991.
Refer to section 'Calculations' for more details
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
3: No convergence NOCONV
Compressibility factor - 1
Molar mass kg/kmol 0
Range 0: In Normal Range RANGE 0
All components are within the 'Normal Range'
1: In Extended Range
One or more components within the 'Extended Range, but none of the components
outside the Extended rang (outputs values have higher uncertainty)
2: Out of Range
One or more components outside the 'Extended Range' (using the AGA8 calculation OOR
is not recommended in this case)
Calculations combustion and 0°C and 1.01325 bar(a) metering conditions.
The calculations are in accordance with the standard.
As specified in the standard and depending on the selected Input 'Reference Conditions' Multiply input GHV Multiply input RD
with with
reference conditions (input 'Reference conditions') one of the
25°C / 0 °C / 1.01325 bar(a) Not applicable Not applicable
following set of conversions is carried out to obtain the input 0 °C, 0 °C @ 1.01325 bar(a) 0.9974 Not applicable
values of the relative density (RD) at 0°C and 1.01325 bar(a) and 15 °C, 15°C @ 1.01325 bar(a) 1.0543 1.0002
the gross heating value (GHV) at 25°C and 1.01325 bar(a)
130 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxSolartron_Gas_C
Description Compliance
The function calculates the density from a frequency input signal The calculations are in accordance with documents:
provided by a Solartron 7810, 7811 or 7812 gas densitometer and • 78125010 'Solartron 7812 Gas Density Transducer Manual',
corrects it for temperature and velocity of sound effects in US 2001.
customary units. • 78125040 Rev. C, 'Micro Motion 7812 Gas Density Meter',
October 2007.
The function requires that the calibration constants are based
on the following units:
• Temperature °F
• Pressure psi
• Density g/cc
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Periodic time In microseconds µs 0..1e6 0
Equals 1000 divided by the frequency in [Hz]
Line temperature Used when temperature correction is enabled °F -459.67..+1000 20
Temperature correction 0: Disabled - TEMPCOR 1
1: Enabled
VOS correction 0: Disabled - VOSCOR 1
1: Enabled
Reference temperature Used when temperature correction is enabled °F REFTEMP 0..200 60
K0 Constant K0 from calibration certificate - K0 -1e9..1e9
K1 Constant K1 from calibration certificate - K1 -1e9..1e9
K2 Constant K2 from calibration certificate - K2 -1e9..1e9
K18 Constant K18 from calibration certificate - K18 -1e9..1e9
K19 Constant K19 from calibration certificate - K19 -1e9..1e9
K3 Constant K3 from calibration certificate - K3 -1e9..1e9
K4 Constant K4 from calibration certificate - K4 -1e9..1e9
Calibration gas constant Constant Kc from calibration certificate - KC -1e9..1e9
G value method Method of determining value G, which is the ratio of Gas Specific - GMETHOD 1
Gravity and the Ratio of Specific Heats
1: Use input 'G value'
2: Uses ratio of inputs
Uses the ratio of inputs 'Specific Gravity' and 'Ratio of Specific
Heats'
G value Value will be used when VOS correction is enabled and the G value - GVAL
method is 'Use input G value'
Specific gravity Value will be used when VOS correction is enabled and the G value - SG 0..2 0
method is 'Use ratio of inputs'
Ratio of specific heats Value will be used when VOS correction is enabled and the G value - CP_CV 0.01..10 0
method is 'Use ratio of inputs'
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
Corrected density Density corrected for temperature and VOS lbm/ft3 CORDENS 0
Density corrected for Density corrected for temperature lbm/ft3 TCORDENS 0
temperature
Uncorrected density Uncorrected (indicated density lbm/ft3 UNCDENS 0
Calculations
Where:
Density calculations are performed in g/cc, while the function ρi The uncorrected density g/cc
K0 Obtained from the calibration certificate -
outputs are in lbm/ft3
K1 Obtained from the calibration certificate -
K2 Obtained from the calibration certificate -
The uncorrected density ρ i is calculated by τ The time period in µS µs
ρ i = K 0 + K1 ⋅ τ + K 2 ⋅ τ 2
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 131
ρ t = ρ i ⋅ [1 + K18 ⋅ (t − t R )] + K19 ⋅ (t − t R )
Where:
ρt The density corrected for temperature g/cc
K18 Obtained from the calibration certificate -
K19 Obtained from the calibration certificate -
t The line temperature °F
tR The reference temperature °F
Where:
ρ VOS The density corrected for temperature and VOS g/cc
K3 Obtained from the calibration certificate -
K4 Obtained from the calibration certificate -
Kc Calibration gas constant from the calibration certificate -
G G value. -
Equals either input 'G value' or the ratio of inputs 'Specific
gravity' and 'Ratio of specific heats', depending on input
'G value method'
t The line temperature °F
Cc Specific Gravity/Ratio of specific heats of calibration gas -
tc Calibration temperature °F
132 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxSolartron_Gas_M
Description Compliance
The function calculates the density from a frequency input signal The calculations are in accordance with documents:
provided by a Solartron 7810, 7811 or 7812 gas densitometer and • 78125010 'Solartron 7812 Gas Density Transducer Manual',
corrects it for temperature and velocity of sound effects in 2001.
metric units. • 78125040 Rev. C, 'Micro Motion 7812 Gas Density Meter',
The function requires that the calibration constants are based October 2007.
on the following units:
• Temperature °C
• Pressure bar
• Density kg/m3
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Periodic time In microseconds µs 0..1e6 0
Equals 1000 divided by the frequency in [Hz]
Line temperature Used when temperature correction is enabled °C -273..+500 20
Temperature correction 0: Disabled - TEMPCOR 1
1: Enabled
VOS correction 0: Disabled - VOSCOR 1
1: Enabled
Reference temperature Used when temperature correction is enabled °C REFTEMP 0..100 20
K0 Constant K0 from calibration certificate - K0 -1e9..1e9 -1.104252E+2
K1 Constant K1 from calibration certificate - K1 -1e9..1e9 -1.882012E-2
K2 Constant K2 from calibration certificate - K2 -1e9..1e9 4.749797E-4
K18 Constant K18 from calibration certificate - K18 -1e9..1e9 -1.360E-5
K19 Constant K19 from calibration certificate - K19 -1e9..1e9 8.440E-4
K3 Constant K3 from calibration certificate - K3 -1e9..1e9 354
K4 Constant K4 from calibration certificate - K4 -1e9..1e9 57.4
Calibration gas constant Constant Kc from calibration certificate - KC -1e9..1e9 0.00236
G value method Method of determining value G, which is the ratio of Gas Specific - GMETHOD 1
Gravity and the Ratio of Specific Heats
1: Use input 'G value'
2: Uses ratio of inputs
Uses the ratio of inputs 'Specific Gravity' and 'Ratio of Specific
Heats'
G value Value will be used when VOS correction is enabled and the G - GVAL 0..100 0
value method is 'Use input G value'
Specific gravity Value will be used when VOS correction is enabled and the G - SG 0..2 0
value method is 'Use ratio of inputs'
Ratio of specific heats Value will be used when VOS correction is enabled and the G - CP_CV 0..10 0
value method is 'Use ratio of inputs'
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
Corrected density Density corrected for temperature and VOS kg/m3 CORDENS 0
Density corrected for Density corrected for temperature kg/m3 TCORDENS 0
temperature
Uncorrected density Uncorrected (indicated density kg/m3 UNCDENS 0
Calculations The temperature corrected density ρt is calculated by
The uncorrected density ρ i is calculated by
ρ i = K 0 + K1 ⋅ τ + K 2 ⋅ τ 2
ρ t = ρ i ⋅ [1 + K18 ⋅ (t − t R )] + K19 ⋅ (t − t R )
Where: Where:
ρt The density corrected for temperature kg/m3
ρi The uncorrected density kg/m3
K18 Obtained from the calibration certificate -
K0 Obtained from the calibration certificate -
K19 Obtained from the calibration certificate -
K1 Obtained from the calibration certificate -
t The line temperature °C
K2 Obtained from the calibration certificate -
tR The reference temperature °C
τ The time period in µs µs
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 133
Where:
ρ VOS The density corrected for temperature and VOS kg/m3
K3 Obtained from the calibration certificate -
K4 Obtained from the calibration certificate -
Kc Calibration gas constant from the calibration certificate -
G G value. -
Equals either input 'G value' or the ratio of inputs 'Specific
gravity' and 'Ratio of specific heats', depending on input 'G
value method'
t The line temperature °C
Cc Specific Gravity/Ratio of specific heats of calibration gas -
tc Calibration temperature °C
134 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxSolartron_Liquid _C
Description Compliance
The function calculates the density from a frequency input signal The calculations are in accordance with documents:
provided by a Solartron 7835, 7845, 7846 or 7847 liquid • 78355010 'Solartron 7835, 7845, 7846 & 7847 Advanced
densitometer and corrects it for temperature, pressure and Liquid Density Transducer Manual', 2001
velocity of sound effects using US Customary units. • 78355080, Rev. C, 'Micro Motion 7835, 7845, 7846 & 7847
The function requires that the calibration constants are based Liquid Density Transducer', October 2007
on the following units:
• Temperature °F
• Pressure psi
• Density g/cc
Function inputs
Function inputs Remark EU Range Default
Name Optional tag name, tag description and tag group
Periodic time In microseconds µs 0..1e6 0
Equals 1000 divided by the frequency in [Hz]
Line temperature Used when temperature correction is enabled °F -459.67..+100 0
Line pressure Used when pressure correction is enabled psig 0..3000 0
Temperature correction 0: Disabled - 1
1: Enabled
Pressure correction 0: Disabled - 1
1: Enabled
VOS correction 0: Disabled - 2
1: Based on Kr / Kj Constants
Solartron manual edition 1985
2: Based on VOS value
Solartron manual edition 1996 and later
Reference temperature Used when temperature correction is enabled °F 0..200 60
Reference pressure Used when pressure correction is enabled psig 0..1500 0
K0 Constant from calibration certificate - -1e9..1e9
K1 Constant from calibration certificate - -1e9..1e9
K2 Constant from calibration certificate - -1e9..1e9
K18 Constant from calibration certificate - -1e9..1e9
K19 Constant from calibration certificate - -1e9..1e9
K20A Constant from calibration certificate - -1e9..1e9
K20B Constant from calibration certificate - -1e9..1e9
K21A Constant from calibration certificate - -1e9..1e9
K21B Constant from calibration certificate - -1e9..1e9
Kr Used when VOS method is set to 'Based on Kr / Kj Constants'. -
Constant needs to be obtained from Solartron
Kj Used when VOS method is set to 'Based on Kr / Kj Constants'. lbm/ft3
Constant needs to be obtained from Solartron
Liquid VOS Velocity of sound of liquid ft/s
Used when VOS method is set to ' Based on VOS value'
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
Corrected density Density corrected for temperature, pressure and VOS lbm/ft3 CORDENS 0
Density corrected for temperature lbm/ft3 TCORDENS 0
Density corrected for temperature and lbm/ft3 PTCORDENS 0
pressure
Uncorrected density lbm/ft3 UNCDENS 0
Calculations Where:
ρi The indicated density g/cc
K0 Obtained from the calibration certificate -
Density calculations are performed in g/cc and m/s, while the K1 Obtained from the calibration certificate -
function inputs and outputs are in lbm/ft3 and ft/s K2 Obtained from the calibration certificate -
τ The time period in µS µs
K 20 = K 20 A + K 20 B ⋅ ( p − pREF )
Where:
ρ pt The density corrected for pressure and temperature g/cc
K20A Obtained from the calibration certificate -
K20B Obtained from the calibration certificate -
K21A Obtained from the calibration certificate -
K21B Obtained from the calibration certificate -
p The line pressure psig
pR The reference pressure psig
Else (ρ pt < 0.3 or ρ pt > 1.4) the VOS of sound correction is not
performed.
Where:
ρ VOS The density corrected for temperature g/cc
Kr Constant obtained from Solartron -
Kj Constant obtained from Solartron g/cc
VC Calibration VOS m/s
VA Liquid VOS m/s
136 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxSolartron_Liquid_M
The function calculates the density from a frequency input signal Compliance
provided by a Solartron 7835, 7845, 7846 or 7847 liquid The calculations are in accordance with documents:
densitometer and corrects it for temperature, pressure and • 78355010 'Solartron 7835, 7845, 7846 & 7847 Advanced
velocity of sound effects using metric units. Liquid Density Transducer Manual', 2001
The function requires that the calibration constants are based • 78355080, Rev. C, 'Micro Motion 7835, 7845, 7846 & 7847
on the following units: Liquid Density Transducer', October 2007
• Temperature °C
• Pressure bar
• Density kg/m3
Function inputs
Function inputs Remark EU Range Default
Name Optional tag name, tag description and tag group
Periodic time In microseconds µs 0..1e6 0
Equals 1000 divided by the frequency in [Hz]
Line temperature Used when temperature correction is enabled °C -273.15..+500 0
Line pressure Used when pressure correction is enabled bar(g) 0..200 0
Temperature correction 0: Disabled - 1
1: Enabled
Pressure correction 0: Disabled - 1
1: Enabled
VOS correction 0: Disabled - 2
1: Based on Kr / Kj Constants
Solartron manual edition 1985
2: Based on VOS value
Solartron manual edition 1996 and later
Reference temperature Used when temperature correction is enabled °C 0..100 20
Reference pressure Used when pressure correction is enabled bar(g) 0..100 0
K0 Constant from calibration certificate - -1e9..1e9 1.7418E2
K1 Constant from calibration certificate - -1e9..1e9 -1.10493e0
K2 Constant from calibration certificate - -1e9..1e9 3.703268e-4
K18 Constant from calibration certificate - -1e9..1e9 -6.415e-4
K19 Constant from calibration certificate - -1e9..1e9 -5.674e-1
K20A Constant from calibration certificate - -1e9..1e9 2.888e-4
K20B Constant from calibration certificate - -1e9..1e9 -5.581e-6
K21A Constant from calibration certificate - -1e9..1e9 -4.467e-1
K21B Constant from calibration certificate - -1e9..1e9 -8.633e-3
Kr Used when VOS method is set to 'Based on Kr / Kj Constants'. - -1..+1 0.0
Constant needs to be obtained from Solartron
Kj Used when VOS method is set to 'Based on Kr / Kj Constants'. kg/m3 0..2000 0.0
Constant needs to be obtained from Solartron
Liquid VOS Velocity of sound of liquid m/s 0..2000 0.0
Used when VOS method is set to ' Based on VOS value'
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
Corrected density Density corrected for temperature, pressure and VOS kg/m3 CORDENS 0
(provided that particular correction is enabled)
Density corrected for kg/m3 TCORDENS 0
temperature
Density corrected for kg/m3 PTCORDENS 0
temperature and pressure
Uncorrected density kg/m3 UNCDENS 0
Calculations Where:
The indicated density ρ i is calculated by ρi The indicated density kg/m3
K0 Obtained from the calibration certificate -
ρ i = K 0 + K1 ⋅ τ + K 2 ⋅ τ 2
K1 Obtained from the calibration certificate -
K2 Obtained from the calibration certificate -
τ The time period in µS µs
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 137
K 20 = K 20 A + K 20 B ⋅ ( p − pREF )
Where:
ρ pt The density corrected for pressure and temperature kg/m3
K20A Obtained from the calibration certificate -
K20B Obtained from the calibration certificate -
K21A Obtained from the calibration certificate -
K21B Obtained from the calibration certificate -
p The line pressure bar(g)
pR The reference pressure bar(g)
Else (ρ pt < 300 or ρ pt > 1600) the VOS of sound correction is not
performed.
Where:
ρ VOS The density corrected for temperature kg/m3
Kr Constant obtained from Solartron -
Kj Constant obtained from Solartron kg/m3
VC Calibration VOS m/s
VA Liquid VOS m/s
138 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxSolartron_SG
Description Compliance
The function calculates the specific gravity from a frequency The calculations are in accordance with documents:
input signal provided by a Solartron 3096 or 3098 Specific • 30985020 'Solartron 3098 Gas Specific Gravity Transducer
Gravity transducer. Manual', 2001
• 30985020, Rev. B, 'Micro Motion 3098 Gas Specific Gravity
Meter', October 2007
Function input
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Periodic time In microseconds µs 0..1e6 0
Equals 1000 divided by the frequency in [Hz]
K0 Constant from calibration certificate - K0 -10000..0 -11.952
K2 Constant from calibration certificate - K2 0..1 4.719593e-5
Function output
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal STS
1: Input argument out of range FIOOR
2: Calculation error CALCERR
Specific Gravity Ratio of the molecular weight of the gas (mixture) to that of the molecular - SG 0
weight of dry air (i.e. the ideal Specific Gravity).
Calculations
The specific gravity is calculated by If the calibration certificate contains factors Gx, Gy, tx and ty
SG = K 0 + K 2 ⋅ τ 2 then K2 must be calculated as follows:
Gx − Gy
Where: K2 =
SG Specific gravity - t X2 − t Y2
τ Periodic time µs
K0 Obtained from the calibration certificate -
K2 Obtained from the calibration certificate -
Where:
Gx Specific gravity of calibration gas x -
Gy Specific gravity of calibration gas y -
τx Periodic time of calibration gas x µs
τy Periodic time of calibration gas y µs
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 139
fxUGC_C
Description
The function calculates the density from a frequency input signal
provided by a UGC densitometer and corrects it for temperature
and pressure effects in US customary units.
Function output
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal (No error condition) STS
1: Input argument out of range FIOOR
2: Calculation error CALC
Corrected density Density corrected for temperature and pressure lbm/ft3 CORDENS 0
Uncorrected density Uncorrected (indicated) density lbm/ft3 UNCDENS 0
Calculations
The uncorrected density ρ i is calculated by The temperature and pressure corrected density ρt is calculated
ρ i = K 0 + K1 ⋅ τ + K 2 ⋅ τ 2 by
[ ] [ ]
ρ t = ρ i + K P1 + K P 2 ⋅ ρ i + K P 3 ⋅ ρ i 2 ⋅ ( p − pR ) + KT 1 + KT 2 ⋅ ρ i + KT 3 ⋅ ρ i 2 ⋅ (t − t R )
Where: Where:
ρi The uncorrected density lbm/ft3 ρt The density corrected for temperature and pressure lbm/ft3
K0 Obtained from the calibration certificate - K P1 Obtained from the calibration certificate -
K1 Obtained from the calibration certificate - K P2 Obtained from the calibration certificate -
K2 Obtained from the calibration certificate - K P3 Obtained from the calibration certificate -
τ The time period in µS µs K T1 Obtained from the calibration certificate -
K T2 Obtained from the calibration certificate -
K T3 Obtained from the calibration certificate -
t The line temperature °F
tR The reference temperature °F
p The line pressure psig
pR The reference pressure psig
140 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxUGC_M
Description
The function calculates the density from a frequency input signal
provided by a UGC densitometer and corrects it for temperature
and pressure effects in metric units. Calibration constants also
need to be in metric units.
Function input
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Periodic time In microseconds µs 0..1e6
Equals 1000 divided by the frequency in [Hz]
Line temperature Used when temperature correction is enabled °C -273.15..+500
Line pressure Used when pressure correction is enabled bar(g) 0..200
Temperature correction 0: Disabled - TEMPCOR 1
1: Enabled
Pressure correction 0: Disabled - PRESCOR 1
1: Enabled
Reference temperature Used when temperature correction is enabled °C REFTEMP 0..100 20
Reference pressure Used when pressure correction is enabled bar(g) REFPRES 0..100 0
K0 Constant K0 from calibration certificate - K0 -1e9..1e9
K1 Constant K1 from calibration certificate - K1 -1e9..1e9
K2 Constant K2 from calibration certificate - K2 -1e9..1e9
KT1 Constant KT1 from calibration certificate KT1 -1e9..1e9
KT2 Constant KT2 from calibration certificate KT2 -1e9..1e9
KT3 Constant KT3 from calibration certificate KT3 -1e9..1e9
KP1 Constant KP1 from calibration certificate KP1 -1e9..1e9
KP2 Constant KP2 from calibration certificate KP2 -1e9..1e9
KP3 Constant KP3 from calibration certificate KP3 -1e9..1e9
Function output
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal (No error condition) STS
1: Input argument out of range FIOOR
2: Calculation error CALC
Corrected density Density corrected for temperature and pressure kg/m3 CORDENS 0
Uncorrected density Uncorrected (indicated) density kg/m3 UNCDENS 0
Calculations
The uncorrected density ρ i is calculated by The temperature and pressure corrected density ρt is calculated
ρ i = K 0 + K1 ⋅ τ + K 2 ⋅ τ 2 by
[ ] [ ]
ρ t = ρ i + K P1 + K P 2 ⋅ ρ i + K P 3 ⋅ ρ i 2 ⋅ ( p − pR ) + KT 1 + KT 2 ⋅ ρ i + KT 3 ⋅ ρ i 2 ⋅ (t − t R )
Where:
ρi The uncorrected density kg/m3 Where:
K0 Obtained from the calibration certificate - ρt The density corrected for temperature and pressure kg/m3
K1 Obtained from the calibration certificate - K P1 Obtained from the calibration certificate -
K2 Obtained from the calibration certificate - K P2 Obtained from the calibration certificate -
τ The time period in µS µs K P3 Obtained from the calibration certificate -
K T1 Obtained from the calibration certificate -
K T2 Obtained from the calibration certificate -
K T3 Obtained from the calibration certificate -
t The line temperature °C
tR The reference temperature °C
p The line pressure bar(g)
pR The reference pressure bar(g)
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 141
fxVCone_C
Description Compliance
This function calculates the mass flow rate for a measured • McCrometer: Flow Calculations for the V-Cone Flow meter
differential pressure over a McCrometer V-Cone meter in U.S. Literature part #24509-54 Rev 3.1/02-05 2005
customary units.
The calculation, as specified by the meter supplier, is essentially
a modified ISO 5167 flow rate calculation. As opposed to ISO-
5167 the discharge coefficient is a function input. Because the
discharge coefficient is a function of Reynolds number an
optional calibration correction needs to be applied outside this
function.
Function inputs
Function inputs Remark EU Range Default
Name Optional tag name, tag description and tag group
Differential Pressure Differential pressure over the V-Cone device measured at the up- and inH2O @ 60°F 0..100 0
downstream pressure taps
Pressure Upstream pressure value of the fluid at metering conditions psia 0..30000 0
Temperature Down- or upstream temperature of the fluid at metering conditions °F -400 ..2000 0
Density Down or upstream density of the fluid at metering conditions lbm/ft3 0..200 0
Dynamic Viscosity Dynamic viscosity of the fluid lbm/ft.s 0..10 6.9e-6
Isentropic Exponent Also referred to as κ (kappa). For an ideal gas this coefficient is equal to the ratio - 0..10 1.3
of the specific heat capacity at constant pressure to the specific heat at
constant volume. According to the ISO standard this ratio may be used, when
the real value is unknown.
Pipe Diameter Internal diameter of the pipe at reference temperature inches 0..100 0
Pipe Expansion factor The thermal expansion coefficient of the pipe material 1/°F 0..1e-4 6.2e-6
Pipe Reference The reference temperature that corresponds to the 'Pipe diameter' input value °F -400..2000 68
temperature
Cone Diameter Cone diameter at reference temperature inches 0.. 'Pipe Diameter' 0
Cone Expansion factor The thermal expansion coefficient of the Cone material 1/°F 0..1e-4 9.25e-6
Cone Reference The reference temperature that corresponds to the 'Cone diameter' input value °F -400 ..2000 68
Temperature
Configuration The type of McCrometer V-Cone meter. - 1
This setting is used to select the appropriate equation for determination of the
gas expansion factor as specified by McCrometer
1: Standard V-Cone
2: Wafer-Cone
Note of input 'Fluid' is set to 'Liquid', then this input is not used (because the
expansion factor is set to 1)
Pressure Location 1: Upstream - 1
Input 'Pressure' represents the pressure at the upstream pressure tapping
(p 1 ).
Since the absolute pressure is usually measured at the upstream tapping this
is the most common setting.
2: Downstream
Input 'Pressure' represents the pressure at the downstream tapping (p 2 ).
Temperature Location 1: Upstream - 2
Input 'Temperature' represents the upstream temperature (t 1 ).
2: Downstream
Input 'Temperature represents the temperature at the downstream tapping
(t 2 ).
3: Recovered
Input 'Temperature' represents the downstream temperature at a location
Where the pressure has fully recovered (t 3 ).
Since temperature measurement is usually downstream of the flow device
this is the most common setting.
Temperature Correction This parameter specifies if and how the temperature should be corrected from 1
downstream to upstream conditions (or vice versa)
1: (1-κ)/κ
Isentropic expansion using (1-κ)/κ as the temperature referral exponent
2: Constant
Isentropic expansion using input 'Temperature Exponent' as the temperature
referral exponent [-]
3: Joule Thomson
Isenthalpic expansion using input 'Temperature Exponent' as the Joule
Thomson coefficient [°F/psi].
This method is prescribed by ISO5167-1:2003.
Temperature Exponent Refer to input Temperature Correction - 0
Unit depends on input Temperature Correction value °F/psi
Density Location This parameter specifies if and how the density should be corrected from - 1
downstream to upstream conditions (or vice versa).
1: Upstream
142 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
Function outputs
Function outputs Remark EU Fallback
Status 0: Normal (No error condition)
1: Input argument out of range
2: No convergence
Mass flow rate The calculated mass flow rate klbm/hr 0
Beta ratio Cone to pipe diameter ratio at upstream temperature - Input Cone diameter /
Input Pipe diameter
Cone diameter At the upstream temperature inches Input Cone diameter
Pipe diameter At the upstream temperature inches Input Pipe diameter
Upstream pressure Pressure at upstream tapping (p 1 ) psia Input Pressure
Pressure at downstream Pressure at downstream tapping (p 2 ) psia Input Pressure
tapping
Recovered downstream Fully recovered downstream pressure (p 3 ) psia Input Pressure
pressure
Upstream temperature Temperature at upstream tapping (t 1 ) °F Input Temperature
Temperature at downstream Temperature at downstream tapping (t 2 ) °F Input Temperature
tapping
Downstream Temperature 'Fully recovered' downstream temperature (t 3 ) °F Input Temperature
Upstream density Density at upstream tapping (ρ 1 ) lbm/ft3 Input Density
Density at downstream Pressure at downstream tapping (ρ 2 ) lbm/ft3 Input Density
tapping
Downstream density 'Fully recovered' downstream density (ρ 3 ) lbm/ft3 Input Density
Reynolds number - 0
Discharge coefficient Same as input value -
Expansion Factor - 0
Velocity Pipeline velocity Ft/s 0
Expansion Factor Range The McCrometer reference document states that for gas applications the expansion - 0
factor should not get below 0.84
0: Expansion factor is in valid range
1: Expansion factor is out of valid range
Calculations The downstream to upstream correction (and vice versa) for
The flow calculation is as specified in the McCrometer reference pressure, temperature and density are as specified for function
document. 'ASME MFC-3M Orifice'.
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 143
fxVCone_M
Description Compliance
This function calculates the mass flow rate for a measured • McCrometer: Flow Calculations for the V-Cone Flow meter
differential pressure over a McCrometer V-Cone meter in metric Literature part #24509-54 Rev 3.1/02-05 2005
units.
The calculation, as specified by the meter supplier, is essentially
a modified ISO 5167 flow rate calculation. As opposed to ISO-
5167 the discharge coefficient is a function input. Because the
discharge coefficient is a function of Reynolds number an
optional calibration correction needs to be applied outside this
function.
144 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
Function inputs
Function inputs Remark EU Range Default
Name Optional tag name, tag description and tag group
Differential Pressure Differential pressure over the V-Cone device measured at the up- and downstream mbar 0..2000 0
pressure taps
Pressure Upstream pressure value of the fluid at metering conditions bar(a) 0..2000 0
Temperature Down- or upstream temperature of the fluid at metering conditions °C -240..1000 0
Density Down or upstream density of the fluid at metering conditions kg/m3 0..2000 0
Dynamic Viscosity Dynamic viscosity of the fluid Pa.s 0..1 0.01115
Isentropic Exponent Also referred to as κ (kappa). For an ideal gas this coefficient is equal to the ratio - 0..2 0
of the specific heat capacity at constant pressure to the specific heat at constant
volume. According to the ISO standard this ratio may be used, when the real value
is unknown.
Pipe Diameter Internal diameter of the pipe at reference temperature mm 0..2000 0
Pipe Expansion factor The thermal expansion coefficient of the pipe material 1/°C 0..1 0.0000108
Pipe Reference temperature The reference temperature that corresponds to the 'Pipe diameter' input value °C -240..1000 20
Cone Diameter Cone diameter at reference temperature mm 0 0
Cone Expansion factor The thermal expansion coefficient of the Cone material 1/°C 0.0000163
Cone Reference Temperature The reference temperature that corresponds to the 'Cone diameter' input value °C -240 .. 1000 20
Configuration The type of McCrometer V-Cone meter. - 1
This setting is used to select the appropriate equation for determination of the
gas expansion factor as specified by McCrometer
1: Standard V-Cone
2: Wafer-Cone
Note of input 'Fluid' is set to 'Liquid', then this input is not used (because the
expansion factor is set to 1)
Pressure Location 1: Upstream - 1
Input 'Pressure' represents the pressure at the upstream pressure tapping (p 1 ).
Since the absolute pressure is usually measured at the upstream tapping this is
the most common setting.
2: Downstream
Input 'Pressure' represents the pressure at the downstream tapping (p 2 ).
Temperature Location 1: Upstream - 2
Input 'Temperature' represents the upstream temperature (t 1 ).
2: Downstream
Input 'Temperature represents the temperature at the downstream tapping (t 2 ).
3: Recovered
Input 'Temperature' represents the downstream temperature at a location
Where the pressure has fully recovered (t 3 ).
Since temperature measurement is usually downstream of the flow device this
is the most common setting.
Temperature Correction This parameter specifies if and how the temperature should be corrected from 1
downstream to upstream conditions (or vice versa)
1: (1-κ)/κ
Isentropic expansion using (1-κ)/κ as the temperature referral exponent
2: Constant
Isentropic expansion using input 'Temperature Exponent' as the temperature
referral exponent [-]
3: Joule Thomson
Isenthalpic expansion using input 'Temperature Exponent' as the Joule
Thomson coefficient [°C/bar].
This method is prescribed by ISO5167-1:2003.
Temperature Exponent Refer to input Temperature Correction - 0
Unit depends on input Temperature Correction value °C/bar
Density Location This parameter specifies if and how the density should be corrected from - 1
downstream to upstream conditions (or vice versa).
1: Upstream
Input 'Density' represents the density at the upstream pressure tapping (ρ 1 ).
2: Downstream
Input 'Density' represents the density at the downstream tapping (ρ 2 ).
3: Recovered
Input 'Density' represents the density downstream at a location Where the
pressure has fully recovered (ρ 3 ).
Density Exponent. This factor is used when density correction is enabled. The formula 1/κ will be used - 0
when the input value is set to 0, else the input value will be used.
For more details refer to section 'Density correction'.
Fluid The type of fluid being measured - 1
1: Gas
2: Liquid
Discharge coefficient The discharge coefficient of the meter as specified by the manufacturer. - 0..2 0.85
The McCrometer reference document states that the discharge coefficient is a
function of Reynolds number. It is advised that the meter is calibrated across the
range of Reynold numbers for which the meter is used.
The resulting correction curve can be implemented through function
fxInterolationCurve. Input 'Discharge coefficient' needs to be linked to the
corresponding output of this additional function.
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 145
Function outputs
Function outputs Remark EU Fallback
Status 0: Normal (No error condition)
1: Input argument out of range
2: No convergence
Mass flow rate The calculated mass flow rate tonne/h 0
Beta ratio Cone to pipe diameter ratio at upstream temperature - Input Cone diameter /
Input Pipe diameter
Cone diameter At the upstream temperature mm Input Cone diameter
Pipe diameter At the upstream temperature mm Input Pipe diameter
Upstream pressure Pressure at upstream tapping (p 1 ) bar(a) Input Pressure
Pressure at downstream tapping Pressure at downstream tapping (p 2 ) bar(a) Input Pressure
Recovered downstream pressure Fully recovered downstream pressure (p 3 ) bar(a) Input Pressure
Upstream temperature Temperature at upstream tapping (t 1 ) °C Input Temperature
Temperature at downstream tapping Temperature at downstream tapping (t 2 ) °C Input Temperature
Downstream Temperature 'Fully recovered' downstream temperature (t 3 ) °C Input Temperature
Upstream density Density at upstream tapping (ρ 1 ) kg/m3 Input Density
Density at downstream tapping Pressure at downstream tapping (ρ 2 ) kg/m3 Input Density
Downstream density 'Fully recovered' downstream density (ρ 3 ) kg/m3 Input Density
Reynolds number - 0
Discharge coefficient Same as input value -
Expansion Factor - 0
Velocity Pipeline velocity m/s 0
Expansion Factor Range The McCrometer reference document states that for gas applications the - 0
expansion factor should not get below 0.84
0: Expansion factor is in valid range
1: Expansion factor is out of valid range
Calculations
The flow calculation is as specified in the McCrometer reference document.
The downstream to upstream correction (and vice versa) for pressure, temperature and density are as specified for function 'ISO 5167
Orifice'.
146 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fx2CellSelection
Description
The function selects between 2 input cells (e.g. differential The function can handle the following type of cell range
pressure cells) based on the actual measured value and the configurations:
failure status of each cell. • Lo – Hi
• Hi – Hi
Where ‘Lo’ means low range, ‘Mid’ mid range and ‘Hi’ high range.
Function inputs
Function inputs Remark EU SW tag Range Default
Name
Cell A value Input value as percentage of span of cell A
Cell A status Input status of cell A
0: Normal
<> 0 : Failure
Cell B value Input value as percentage of span of cell B
Cell B status Input status of cell B
0: Normal
<> 0 : Failure
Range type For a description of the functionality refer to adjacent section ‘Logic’ RNGTYP
1: Lo Hi
Cell A at low range
Cell B at high range
2: Hi Hi
Cell A and B at same range
Auto switchback For a description of the functionality refer to adjacent section ‘Logic’
0: Disabled
1: Enabled
Switch-up percentage Switch-up value expressed as percentage of span of the lower range - SWUPPERC 0..100 95
Switch-down percentage Switch-down value expressed as percentage of span of the lower range - SWDNPERC 0..100 90
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal STS
1: Input argument out of range FIOOR
Selected cell number 1: Cell 1 SELNR 1
2: Cell 2
Selected cell status 0: Normal SELSTS 0
1: Failure
Logic Range type = ‘Hi Hi’
The function will switch from one cell to another at the following When cell A is currently selected
conditions: • Select cell B when cell A value fails and cell B is healthy
fx3CellSelection
Description
The function selects between 3 input cells (typically differential
pressure cells) based on the actual measured value and the
failure status of each cell.
The function can handle the following type of cell range
configurations:
• Lo – Mid – Hi
• Lo – Hi – Hi
• Hi – Hi – Hi
Where ‘Lo’ means low range, ‘Mid’ mid range and ‘Hi’ high range.
Function inputs
Function inputs Remark EU SW tag Range Default
Name
Cell A value Input value as percentage of span of cell A
Cell A status Input status of cell A
0: Normal
<> 0 : Failure
Cell B value Input value as percentage of span of cell B
Cell B status Input status of cell B
0: Normal
<> 0 : Failure
Cell C value Input value as percentage of span of cell C
Cell C status Input status of cell C
0: Normal
<> 0 : Failure
Range type For a description of the functionality refer to adjacent section RNGTYP
‘Logic’
1: Lo Mid Hi
Cell A at low range
Cell B at mid range
Cell C at high range
2: Lo Hi Hi
Cell A at low range
Cell B and C at high range
3: Hi Hi Hi
Cell A, B and C at same range
Auto switchback For a description of the functionality refer to adjacent section
‘Logic’
0: Disabled
1: Enabled
Switch-up percentage Switch-up value expressed as percentage of span of the lower - SWUPPERC 0..100 95
range
Does not apply for selection type ‘Hi Hi Hi’
Switch-down percentage Switch-down value expressed as percentage of span of the - SWDNPERC 0..100 90
lower range
Does not apply for selection type ‘Hi Hi Hi’
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal STS
1: Input argument out of range FIOOR
Selected cell number 1: Cell 1 SELNR 1
2: Cell 2
3: Cell 3
Selected cell status 0: Normal SELSTS 0
1: Failure
148 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxBatchFWA
Description
The function calculates a flow-weighted average (FWA) for a
batch.
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Current average Average calculated over the current batch. Same as input ‘Input value’ CB 0
Previous average Average of the previous batch. Same as input ‘Input value’ PB 0
150 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxBatchHistData
Description
The function retrieves historical 'batch' data from the flow
computer persistent memory.
A 'batch' can be any batch type of process, such as product
loading, meter proving or transmitter validation.
The function retrieves one or more historical values for the
specified function instance. The function instance must be one
of the following function types:
• fxBatchFWA
• fxBatchLatch
• fxBatchStore
• fxBatchTotal
• fxBatchTWA
• fxBatchWatch
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Number of values Number of historical values that was ACTSIZE
retrieved from the flow computer memory
according to the input criteria
Value 1 The 1st retrieved historical data value 1
Value 2 The 2nd retrieved historical data value 2
etc.
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 151
fxBatchLatch
Description
The function latches a value at every batch reset.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Name used for tag-prefix and retentive storage.
Input value Value to be latched Same as linked cell
Latch command * Trigger to latch the value
Reset command * Trigger to reset the batch.
At every batch reset the last latched value is stored in the
previous latch output value and the current latch output
value is reset to 0
Identification Batch identification. ID
Can be any string of maximum 255 characters long.
Note: When the latch and reset commands are given at the same time, then the current value becomes the 'Previous latch' output
value and the current latch is reset to 0.
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Current latch Value that is latched since the last batch reset. Same as input ‘Input value’ CB 0
Is reset to 0 at every batch reset.
Previous latch Value that was latched during the previous batch. If no Same as input ‘Input value’ PB 0
value was latched during the previous batch, then the
value is set to 0.
152 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxBatchMax
Description
The function determines the maximum for a particular input
value over a batch.
A batch can be any batch type of process, such as product
loading, meter proving or transmitter validation.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Name used for tag-prefix and retentive storage.
Input value Value for which the maximum has to be determined Same as linked cell -1e11..1e11
Enabled 0: Disabled EN
1: Enabled
Reset command Trigger to reset the batch.
At a batch reset the current average is stored in the previous
value and the current value is reset to 0
Identification Batch identification. ID
Can be any string of maximum 255 characters long.
If multiple identifications need to be stored for future
referral, e.g. the batch number, the ship name and the
nomination number, then the individual strings should be
concatenated with an "." character in-between.
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Current minimum Minimum over the current batch. Same as input ‘Input value’ CB 0
Previous minimum Minimum over the previous batch. Same as input ‘Input value’ PB 0
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 153
fxBatchMin
Description
The function determines the minimum for a particular input
value over a batch.
A batch can be any batch type of process, such as product
loading, meter proving or transmitter validation.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Name used for tag-prefix and retentive storage.
Input value Value for which the minimum has to be determined Same as linked cell -1e11..1e11
Enabled 0: Disabled EN
1: Enabled
Reset command Trigger to reset the batch.
At a batch reset the current average is stored in the
previous value and the current value is reset to 0
Identification Batch identification. ID
Can be any string of maximum 255 characters long.
If multiple identifications need to be stored for future
referral, e.g. the batch number, the ship name and the
nomination number, then the individual strings
should be concatenated with an "." character in-
between.
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Current minimum Minimum over the current batch. Same as input ‘Input value’ CB 0
Previous minimum Minimum over the previous batch. Same as input ‘Input value’ PB 0
154 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxBatchTotal
Description
The function accumulates a flow increment into a batch total. At
every batch reset the current batch total is stored into the
previous value and the current value is reset to 0.
The flow increment originates from a ‘TotalizerRate’ or
‘TotalizerDelta’ function.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Name used for tag-prefix and retentive storage.
Increment Increment value to be added to the batch total. Same as linked cell 0..1e11
Negative values will be ignored, so the batch total will not decrease.
Enabled 0: Disabled EN
1: Enabled
Identification Batch identification. ID
Can be any string of maximum 255 characters long.
If multiple identifications need to be stored for future referral, e.g. the
batch number, the ship name and the nomination number, then the
individual strings should be concatenated with an "." character in-
between.
Rollover value The batch total will be reset to 0 when it reaches the rollover value Same as input ROVAL 0..1e15 1e12
Increment
Decimal places Defines the number of decimal places for the current and previous total DECPLS -1..10 -1
output values.
-1 means full precision (no rounding applied)
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Current total Accumulated total for the current batch, so since the Same as input ’Increment’ CB 0
last batch reset.
Previous total Accumulated total for the previous batch Same as input ’Increment’ PB 0
Rollover flag Flag indicating a rollover to 0. 0 ROALM
0: Off
1: On
Note: stays 'On' for one calculation cycle only)
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 155
fxBatchTWA
Description
The function calculates a time-weighted average (TWA) for a
batch. At a batch reset the current average is stored in the
previous value and the current value is reset to 0.
The function weights the input value with the time (in fact the
actual calculation cycle time) and updates the average
accordingly.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Name used for tag-prefix and retentive storage.
Input value Value to be averaged Same as linked cell -1e11..1e11
Enabled 0: Disabled EN
1: Enabled
Reset command Trigger to reset the batch.
At a batch reset the current latch is stored in the previous value and the
current latch is reset to 0
Identification Batch identification. ID
Can be any string of maximum 255 characters long.
If multiple identifications need to be stored for future referral, e.g. the
batch number, the ship name and the nomination number, then the
individual strings should be concatenated with an "." character in-
between.
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Current average Average calculated over the current batch. Same as input ‘Input value’ CB 0
Previous average Average of the previous batch. Same as input ‘Input value’ PB 0
156 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxBatchWatch
Description
The function 'remembers' that a condition has been valid during
a batch.
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Current watch Indicates whether or not the condition has been valid during the current batch: CB 0
0: Not valid
1: Valid
Previous watch Indicates whether or not the condition has been valid during the previous batch: PB 0
0: Not valid
1: Valid
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 157
fxDeviationAlarm
Description
The function watches the deviation, or the difference or
discrepancy, between two values and generates an alarm when
the deviation exceeds the specified limit.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag
group
Input value 1 Must be linked to another cell Same as linked cell -1e11..1e11 0
Input value 2 Must be linked to another cell Must be same as for input value 1 -1e11..1e11 0
Deviation type Determines whether the absolute or the relative DEVTYP 1
difference needs to be checked. The unit of the
deviation limit will be in accordance.
1: Absolute
2: Relative
Deviation limit The unit depends on the 'Deviation type' Absolute: Same as input value 1 DEVLIM 0..1e11 0
Relative : %
Enabled Enabled or disabled the alarm True or false True
Alarm type 1: Alarm 1
2: Warning
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Deviation alarm 0: Normal - DEVALM
1: Alarm DEVALM
Logic
Deviation type = 1 (Absolute)
• A deviation alarm is raised when the absolute difference
between the two values is greater than the ‘Discrepancy
limit’.
fxGenerateReport
Description
This function generates prints and stores a report.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Report definition
Must be the name of the report definition (Flow-Xpress, section Reports).
Event Event to generate the report.
Event occurs when value changes from zero to non-zero (or from FALSE to TRUE).
Identifier Optional report file name, defined as a string
When defined the Identifier is used as the report file name .
When left empty, the UniqueMethod setting as defined for the report definition is used
for the report file name (Flow-Xpress, section Reports).
Printer Optional printer.
Must be the name of one of the printers that are defined in Flow-Xpress.
When defined this printer is used instead of the printer that is assigned to the report
template (Flow-Xpress, section Reports).
When left empty the printer that is assigned to the report template is used.
Number of copies Number of copies to print. 1
This setting is ignored when no printer is defined.
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
fxIndex
Description • For each of the 6 analog inputs the application contains one
The 'fxIndex' provides the same functionality as the Excel Index 'Analog input' function that generates tag names with
function with the addition of the creation of tag names. prefix, "AIN1_", "AIN2_ etc. Also more meaningful tag names
A spreadsheet cell that contains a 'fxIndex' function obtains the such as "..PT" (pressure transmitter), ".._TT" are used in the
tag name as defined by its 'Name' input with the tag inheriting application. When changing the high alarm limit for the
all properties including the value and units from the referred tag. pressure transmitter (e.g. through an OPC interface) it
When the referred cell contains a writable tag (i.e. a value and no makes more sense to address the tag as "..PT_HISCALE"
function) than the cell with the 'fxIndex' function also represents instead of "..AIN3_HISCALE" (assuming AIN 3 being used for
a writable tag with the same properties. the pressure transmitter). This can be achieved by using the
When the referred cell contains a tag that represents one or 'fxIndex' function for the cell that represents the
more alarms, then the same alarms are created for the cell with '..PT_HISCALE' tag.
the 'fxIndex' function. • In some cases one and the same input signal is used for
The 'fxIndex' is especially useful for setting up generic (template) multiple process variables that are defined in the generic
applications as illustrated by the following examples: application. E.g. when the generic application assumes a
prover inlet temperature input signal as well as a prover
outlet temperature signal (and has corresponding tag
names), while there is only a temperature transmitter in the
prover loop, then the input tags of both signals can refer to
the same "AIN" signal by using the 'fxIndex' function.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Tag name for the cell that contains the function
Reference Reference to one or more cell ranges 1
Row number Optional 1
Number of the row in reference from which to return a reference
Column number Optional. 1
Number of the column in reference from which to return a reference
Area number Optional 1
Selects a range in reference from which to return the intersection of 'Row
number' and 'Column number'. The first area selected or entered is numbered
1, the second is 2, and so on.
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Value The cell obtains a tag name that consist of the prefix as Same as referred cell See Remark
defined by input 'Name' with the addition of the suffix as
was generated for the tag that is being referred to.
The same applies for an alarm if one has been defined for the
referred tag.
160 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxKeypadFallback
Description
This function provides a generic interface to any input signal,
such as a pressure, temperature, density or flow input. It
provides the option to override the 'live' value with a keypad
value and to fallback to a specific value when the input value is
faulty.
When the input signal fails, the in-use value may fall back to the
last good value, the keypad value or additionally a separate
fallback value. The fallback value allows the user to define a fixed
value (e.g. 0) that is independent from the current keypad value.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Input status Status of he input signal INPSTS
0: Normal
<> 0: Failure
Must be linked to the Status output of the related input function
Input value Value of the input signal INPVAL
Must be linked to the (scaled) value output of the related input function.
Fallback type Determines what to do when input fails FBTYP
1: Use last good value
2: Use fallback value
3: Use keypad value
4: Use measured
Fallback value Used when output 'Input status' becomes 'Faulty' and 'Fallback type' is set to Same as FBVAL
'Use fallback value' input
Keypad mode Forces the usage of the keypad value KPMOD - 0
0: Disabled
1: Enabled
Keypad value Used when output 'Input status' becomes 'Faulty' and 'Fallback type' is set to Same as KPVAL 0
'Use fallback value' input
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal STS
1: Argument out of range FIOOR
2: Keypad FAILLG
3: Fail Last Good FAILKP
4: Fail Keypad FAILFB
5: Fail Fallback KEYPAD
6: Fail Measured FAILMS
Only for status 'Function Input argument out of range' the output
vales will revert to the corresponding fallback value.
In-use value Same as input CUR 0
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 161
fxKeypadFallbackArray
Description
This function provides a generic interface to an array of input
values, typically a gas composition. It provides the option to
override the 'live' values with keypad values and to fallback to
specific values when the set of input values is faulty.
When the input signals fail, the in-use values may fall back to the
last good values, the keypad values or additionally separate
fallback values. The fallback values allow the user to define a
fixed values (e.g. 0) that is independent from the current keypad
values.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Input status Status of the input signals INPSTS
0: Normal
<> 0: Failure
Input values Array if input values INPVAL
Fallback type Determines what to do when input fails FBTYP
1: Use last good value
2: Use fallback value
3: Use keypad value
4: Use measured
Fallback value Array of fallback values. Same as input FBVAL
Used when output 'Input status' becomes 'Faulty' and 'Fallback
type' is set to 'Use fallback value'
Keypad mode Forces the usage of the keypad value KPMOD - 0
0: Disabled
1: Enabled
Keypad value Array of keypad values. Same as input KPVAL 0
Used when output 'Input status' becomes 'Faulty' and 'Fallback
type' is set to 'Use fallback value'
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal STS
1: Argument out of range FIOOR
2: Keypad FAILLG
3: Fail Last Good FAILKP
4: Fail Keypad FAILFB
5: Fail Fallback KEYPAD
6: Fail Measured FAILMS
Only for status 'Function Input argument
out of range' the output vales will revert
to the corresponding fallback value.
In-use value Array of in-use values Same as input CUR 0
162 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxLatch
Description
The 'fxLatch' function provides generic latching functionality.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Tag name for the cell that contains the 'fxLatchValue' function.
Latch trigger Trigger to latch the input value
Input value Value to be latched. May be a constant a formula or a reference to another cell or tag.
Reset trigger Optional
Trigger to resets the latched value to the reset value
Reset value Optional
Reset value (default 0). May be a constant or a formula.
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Latched value The most recent latched value Same as of input Input Name
Note: this value is persistent and will be reloaded upon startup Input Value
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 163
fxLimitAlarm
Description
The function applies alarm limits on any value.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name
Input value Must be linked to another cell Same as linked cell INPVAL -1e11..1e11 0
Low limit value Same as Input value LLIM -1e11..1e11 -1e11
High limit value Same as Input value HLIM Low limit value .. 1e11 -1e11
Low low limit value Same as Input value LLLIM -1e11.. Low limit value 1e11
High high limit value Same as Input value HHLIM High limit value .. 1e11 1e11
Deadband Same as Input value 0..1e11 0
Enabled Enables or disables the alarm True or false True
Warning behavior Determines the warning behavior when the lo and hi 1
limit are violated:
1: No warnings, just alarms
2: Warn on lo limit
3: Warn on hi limit
4: Warn on lo and hi limit
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Alarm status 0: Normal - ALMSTS
1: Low alarm LALM
2: High alarm HALM
3: Low low alarm LLALM
4: High high alarm HHALM
Logic
The order of priority in setting the alarm status output is as
follows:
If process value is below the ‘Low low limit value’ then the
status becomes ‘3: Low low alarm’.
Else if process value is above the ‘High high limit value’ then
the status becomes ‘4: High high alarm’.
Else if process value is below the ‘Low limit value’ then the
status becomes ‘1: Low alarm’.
Else if process value is above the ‘High limit value’ then the
status becomes ‘2: High alarm’ and the ‘High high alarm’ is
raised
Else the status becomes ‘0: Normal’.
164 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxName
Description
The 'fxName' function creates a string that defines the prefix,
description and group for any function that generates tags,
except for function fxTag.
Function outputs
Function inputs Remark EU SW tag Range Default
Name Name for the tag
Description Optional description for the tag <Empty>
Group Optional Group for the tag, including optional parent groups. <Empty>
The parent group must proceed the child group and be separated by the '\'
character.
E.g. "Meter setup\Meter data" defines that the tag belongs to group 'Meter data',
which is a subgroup of group "Meter setup".
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
String containing the name, description and group for the tag(s) to be
created.
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 165
fxPeriodFWA
Description
The function calculates a flow-weighted average (FWA) for a
particular period.
The function weights the input value with a flow increment and
updates the average accordingly. The flow increment is provided
by a ‘TotalizerDelta’ or ‘TotalizerRate’ function.
At the end of the period the current average is stored in the
previous value and the current value is reset to 0.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Name used for tag prefix and retentive storage.
Input value Value to be averaged Same as linked cell
Enabled 0: Disabled EN
<> 0: Enabled
Increment Flow increment with which the input value is weighed. Same as linked cell
Must refer to the corresponding output from a 'TotalizerRate' or
'TotalizerDelta' function
Negative values will be ignored.
Period type Type of period: TYP
1: Second
2: Minute
3: Hour
4: Day
5: Week
6: Month
7: Quarter
8: Year
Period count Number of periods (e.g. 5 minutes, 8 hours) CNT 1..1e11
Period start Absolute start date and time of the period. This will be used as the START <DATETIME>
reference point to calculate the next period rollover from.
The value may be defined in the past or the future. The next rollover
period will be calculated accordingly (so forwards or backwards in
time).
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Current average Average calculated over the current period. Same as input ‘Input value’ CUR 0
Previous average Average of the previous period. Same as input ‘Input value’ PRV 0
Pre-previous average Average of the pre-previous period (i.e. the period Same as input ‘Input value’ PPRV 0
before the previous period).
166 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxPeriodLatch
Description
The function latches a value at the end of a repeating period of
time.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Name used for tag prefix and retentive storage.
Input value Value to be latched Same as linked cell Not applied
Period type Type of period: TYP
1: Second
2: Minute
3: Hour
4: Day
5: Week
6: Month
7: Quarter
8: Year
Period count Number of periods (e.g. 5 minutes, 8 hours) CNT 1..1e11
Period start Absolute start date and time of the period. This will be used START <DATETIME>
as the reference point to calculate the next period rollover
from.
The value may be defined in the past or the future. The next
rollover period will be calculated accordingly (so forwards or
backwards in time).
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Current latch Value that is latched at start of the current period (end of Same as input ‘Input value’ CUR 0
previous period)
Previous latch Value that is latched at the start of the previous period Same as input ‘Input value’ PRV 0
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 167
fxPeriodMax
Description
The function determines a maximum value over a particular
period.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Name used for tag prefix and retentive storage.
Input value Value for which the maximum has to be determined Same as linked
cell
Enabled 0: Disabled EN
<> 0: Enabled
Period type Type of period: TYP
1: Second
2: Minute
3: Hour
4: Day
5: Week
6: Month
7: Quarter
8: Year
Period count Number of periods (e.g. 5 minutes, 8 hours) CNT 1..1e11
Period start Absolute start date and time of the period. This will be used as the START <DATETIME>
reference point to calculate the next period rollover from.
The value may be defined in the past or the future. The next rollover
period will be calculated accordingly (so forwards or backwards in time).
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Current maximum Maximum over the current period. Same as input ‘Input value’ CUR 0
Previous maximum Maximum over the previous period. Same as input ‘Input value’ PRV 0
Pre-previous maximum Maximum over the pre-previous period (period Same as input ‘Input value’ PPRV 0
before the previous period).
168 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxPeriodMin
Description
The function determines a minimum value over a particular
period.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Name used for tag prefix and retentive storage.
Input value Value for which the minimum has to be determined Same as
linked cell
Enabled 0: Disabled EN
<> 0: Enabled
Period type Type of period: TYP
1: Second
2: Minute
3: Hour
4: Day
5: Week
6: Month
7: Quarter
8: Year
Period count Number of periods (e.g. 5 minutes, 8 hours) CNT 1..1e11
Period start Absolute start date and time of the period. This will be used as the START <DATETIME>
reference point to calculate the next period rollover from.
The value may be defined in the past or the future. The next rollover
period will be calculated accordingly (so forwards or backwards in time).
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Current minimum Minimum over the current period. Same as input ‘Input value’ CUR 0
Previous minimum Minimum over the previous period. Same as input ‘Input value’ PRV 0
Pre-previous maximum Minimum over the pre-previous period (i.e. period Same as input ‘Input value’ PPRV 0
before the previous period).
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 169
fxPeriodTotal
Description
The function accumulates a flow increment into a period total. At
the end of the period the current total is stored into the previous
value and the current value is reset to 0.
The flow increment originates from a ‘TotalizerRate’ or
‘TotalizerDelta’ function.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Name used for tag prefix and retentive storage.
Increment Increment value to be added to the period total. Same as linked 0..1e11
Negative values will be ignored, so the period total will not decrease. cell
Enabled 0: Disabled EN
1: Enabled
Period type Type of period: TYP
1: Second
2: Minute
3: Hour
4: Day
5: Week
6: Month
7: Quarter
8: Year
Period count Number of periods (e.g. 5 minutes, 8 hours) CNT 1..1e11
Period start Absolute start date and time of the period. This will be used as the START <DATETIME>
reference point to calculate the next period rollover from.
The value may be defined in the past or the future. The next rollover
period will be calculated accordingly (so forwards or backwards in time).
Rollover value The period total will be reset to 0 when it reaches the rollover value Same as input ROVAL 0..1e15 1e12
Increment
Decimal places Defines the number of decimal places for the current and previous total DECPLS -1..10 -1
output values.
-1 means full precision (no rounding applied)
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Current total Accumulated total for the current period Same as input ’Increment’ CUR 0
Previous total Accumulated total for the previous period Same as input ’Increment’ PRV 0
Rollover flag Flag indicating a rollover to 0. ROALM
0: Off
1: On
Note: stays 'On' for one calculation cycle only).
Pre-previous total Accumulated total for the pre-previous period (i.e. the Same as input ’Increment’ PPRV 0
period before the previous period
170 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxPeriodTWA
Description
The function calculates a time-weighted average (TWA) for a
particular period. At the end of a period the current average is
stored in the previous value and the current value is reset to 0.
The function weights the input value with the time (in fact the
actual calculation cycle time) and updates the average
accordingly.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Name used for tag prefix and retentive storage.
Input value Value to be averaged Same as linked cell -1e11..1e11
Enabled 0: Disabled EN
1: Enabled
Period type Type of period: TYP
1: Second
2: Minute
3: Hour
4: Day
5: Week
6: Month
7: Quarter
8: Year
Period count Number of periods (e.g. 5 minutes, 8 hours) CNT 1..1e11
Period start Absolute start date and time of the period. This will be used as START <DATETIME>
the reference point to calculate the next period rollover from.
The value may be defined in the past or the future. The next
rollover period will be calculated accordingly (so forwards or
backwards in time).
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Current average Average calculated over the current period Same as input ‘Input value’ CUR 0
Previous average Average of the previous period Same as input ‘Input value’ PRV 0
Pre-previous average Average of the pre-previous period (i.e. the period Same as input ‘Input value’ PPRV 0
before the previous period)
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 171
fxPeriodWatch
Description
The function 'remembers' that a condition has been valid during
a period of time.
A typical example is a transmitter that was overridden with a
keypad value.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Name used for tag-prefix and retentive storage.
Condition The condition to be watched
0: Condition is not valid
<>0: Condition is valid
Enabled 0: Disabled EN
1: Enabled
Period type Type of period: TYP
1: Second
2: Minute
3: Hour
4: Day
5: Week
6: Month
7: Quarter
8: Year
Period count Number of periods (e.g. 5 minutes, 8 hours) CNT 1..1e11
Period start Absolute start date and time of the period. This will be used as the reference point START <DATETIME>
to calculate the next period rollover from.
The value may be defined in the past or the future. The next rollover period will be
calculated accordingly (so forwards or backwards in time).
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Current watch Indicates whether or not the condition has been valid during the current CUR 0
period:
0: Not valid
1: Valid
Previous watch Indicates whether or not the condition has been valid during the previous PRV 0
period:
0: Not valid
1: Valid
Pre-previous watch Indicates whether or not the condition has been valid during the pre- PPRV 0
previous period (period before the previous period):
0: Not valid
1: Valid
172 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxPID
Description • For systems with a slow responsiveness to disturbances or
PID control is a generic method to control a process variable by setpoint changes feed forward control may be beneficial.
means of a feedback control loop and is widely used in the Besides of the closed PID loop an open feed-forward loop is
industry. added that reacts immediately to a change in process or
A PID controller adjusts its control output by applying a setpoint value.
Proportional, Integral and Derivative algorithm based on the • The function provides the option for bumpless transfers
error between the measured process variable and the desired between auto and manual mode and vice versa. The actual
setpoint. process value is copied into the required setpoint value
The Proportional part of the algorithm determines the reaction while manual mode is enabled (PV tracking). When reverting
to the current error. The Integral part reacts to the recent errors to auto mode the process will stay on the current process
accumulated over a sliding time window, while the Derivative value. For the same reason the actual output % is copied to
part reacts to the change rate of the error. The 3 actions are the manual output % while Auto mode is enabled.
added up by applying individual weigh factors and the sum is • When the control output reaches its limit (e.g. control valve
used to adjust a control device, e.g. the position of a control is fully opened) there is the risk for wind-up of the integral
valve. part, because the error will continue to be integrated. This
results in the integral part to become very large, so the error
Note: In flow measurement systems typically only PI control is must have the opposite value for a long time before the
applied, so the derivative action is disabled. control loop returns to normal. In order to avoid this windup
(i.e. achieve anti-windup) the function compensates the
The Flow-X PID function provides several features for enhanced integral part when the control output has reached its limit.
PID control such as: • To avoid that a change in setpoint value will result in an
impulse in the control signal the function provides the
• In cascade control there are two PID control loops arranged feature to define a maximum for the setpoint clamp rate
with one loop controlling the set point of the other loop. and the control output slew rate. The setpoint clamp rate
Within the outer loop the primary physical parameter is causes the setpoint to change gradually until it has caught
controlled, such as fluid level or velocity. The inner loop up with the required value. The slew rate directly limits the
reads the output of the outer loop as its set point and rate of change of the control output.
usually controls a more rapid changing parameter such as
flow rate or acceleration.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Process value This represents the actual process value that is being controlled EU
Setpoint value The control loop will try to achieve this input value provided that both the 'Manual mode' and EU
'Cascade mode' are disabled.
Proportional gain Proportional gain factor -
Integral gain Integral gain factor s
The value 0 disables the integral part of the PID algorithm
Derivative gain Derivative gain factor s
The value 0 disables the derivative part of the PID algorithm
Low scale value Process / setpoint value that corresponds to 0% of the control output EU
High scale value Process / setpoint value that corresponds to 100% of the control output EU
Reverse Selects the direct or reverse action of control 0
0: Forward -> Error = (PV - SP)
1: Reverse -> Error = (SP - PV)
Manual mode 0: Disabled 0
<> 0: Enabled
When this input is enabled the 'Control output %' is set to input 'Manual output %'.
When this input is disabled the PID algorithm is applied and either the 'Setpoint value' or Cascade
value' is used depending on the 'Cascade mode'.
Manual output % The control output % will be set this value when 'Manual mode' is enabled % 0
Upwards SP clamp The setpoint will not be allowed to increase faster than this limit EU/s 0
rate Enter 0 disable this feature
Downwards SP clamp The setpoint will not be allowed to decrease faster than this limit EU/s 0
rate
Upwards OP slew rate The control output % will not be allowed to increase faster than this limit %/s 0
Downwards OP slew The control output % will not be allowed to decrease faster than this limit %/s 0
rate
Low limit value The control output % will not be allowed to go below this limit % 0
High limit value The control output % will not be allowed to go above this limit % 100
Manual at startup Forces manual mode at restart of flow computer 0
0: Disabled
1: Enabled
Bumpless transfer When this input is enabled bump-less transfers between auto and manual mode and vice versa 1
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 173
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Control output The actual output value as percentage of scale that shall be used for actual control. %
Equals the required control output including the slew rate and min/max limitations.
Setpoint value The actual setpoint in-use (may differ from the required setpoint because of the SP clamp rate) EU
Tracking mode 0: Disabled
<> 0: Enabled
This output is meant for cascade control. If this function acts as the secondary (Slave) PID controller
in a cascade configuration, this input needs to be connected to output 'Tracking mode' of the
primary (Master) PID function
This output tells the primary (Master) PID function that the Slave PID function is not using the
Cascade input, but the Manual output % or Setpoint value instead. This allows the primary PID
function to track the secondary process or setpoint value enabling a bumpless transfer between
modes.
Tracking value This output is meant for cascade control. If this function acts as the secondary (Slave) PID controller %
in a cascade configuration, this input needs to be connected to output 'Tracking value' of the
primary (Master) PID function
The value depends on the Manual and Cascade mode:
If Manual mode is enabled, this output equals the percentage of scale of input 'Process value', else
this output equals the percentage of scale of input 'Setpoint value'.
Error Current error
P Current proportional part
I Current integral part
D Current derivative part
v Required control output as percentage of scale (refer to section calculations). This output is for %
information only and shall not be used for actual control
Logic e PRV error in previous cycle [EU]
Symbols Δu control output deviation value [%]
PV CUR process value in current cycle [EU] v CUR required control output value in current cycle [%]
PV PREV process value in previous cycle [EU] v PRV required control output value in previous cycle [%]
SP REQ required setpoint value [EU] u CUR actual control output value in current cycle [%]
SP CUR in-use setpoint value in current cycle [EU] u PRV actual control output value in previous cycle [%]
SP PRV in-use setpoint value in previous cycle [EU] u MIN low limit for control output [%]
e CUR error in current cycle [EU] u MAX high limit for control output [%]
174 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
Manual mode = Enabled • Check if change in control output is within the slew rate
• Set current output equal to manual input value If v CUR - u PRV > Upwards slew rate * Δt then
v CUR = 'Manual output %' u CUR = u PRV + ( Upwards slew rate * Δt )
Else if Δu < - ( Downwards slew rate * Δt ) then
u CUR = u PRV - ( Downwards slew rate * Δt )
Manual mode = Disabled AND Tracking mode = Enabled
Else
• Set current output equal to tracking input value
u CUR = v CUR
v CUR = 'Tracking value' (input)
Tracking value
IF 'Manual mode' = Enabled
'Tracking value' = (PV CUR * - Low scale value) / (High scale
value - Low scale value) * 100
fxROCAlarm
Description
The function checks if a value does not change its value at a rate
that is higher than a specific limit (‘rate of change’).
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag
group
Input value Must be linked to another cell Same as linked cell -1e11..1e11 0
Rate of change limit The unit depends on the 'Deviation type' Absolute: Same as input value 1 / s ROCLIM 0..1e11 0
Relative : % /s
Enabled Enables or disabled the alarm True or false True
Alarm type 1: Alarm 1
2: Warning
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Rate of change alarm 0: Normal - ROCALM ROCALM
1: Alarm
Logic
A 'Rate of change alarm' is raised when the absolute difference
between two consecutive values divided by the calculation cycle
time in seconds is more than the limit.
176 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxSetOnChange
Description
The 'fxSetOnChange function sets a tag or cell to a specific value
whenever another value changes
Function inputs
Function inputs Remark EU SW tag Range Default
Module Number of the Flow-X/M module. -1 .. 8
-1 : local module
1..8 : module 1 through 8
Target The cell or tag that has to be set. This must be a direct reference to a cell.
Value Value to be assigned. May be a constant a formula or a reference to another cell or tag.
Change A change if this value will set the Target to the Value. This must be a direct reference to
a cell.
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Date and time Date and time that the most recent change has occurred
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 177
fxSetOnCondition
Description
The 'fxSetOnCondition' function sets a tag or cell to a specific
value whenever a condition is true.
It is a generic function that is especially useful for implementing
logic for controlling output signals (e.g. valve commands) and
state machines (e.g. prove sequences).
Function inputs
Function inputs Remark EU SW tag Range Default
Module Number of the Flow-X/M module. -1 .. 8
-1 : local module
1..8 : module 1 through 8
Target The cell or tag that has to be set. This must be a direct reference to a cell.
Value Value to be assigned. May be a constant a formula or a reference to another cell or tag.
Condition Boolean expression.
When the expression outcome is TRUE (<> 0), then the target is set to the value.
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Date and time Date and time that the most recent event has occurred
178 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxSetOnEvent
Description
The 'fxSetOnEvent' function sets a tag to a specific value
whenever an event occurs.
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Date and time Date and time that the most recent event has occurred
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 179
fxSetIndexOnChange
Description
The 'fxSetIndexOnChange function sets one tag from an array of
tags to a specific value whenever another value changes.
Function inputs
Function inputs Remark EU SW tag Range Default
Module Number of the Flow-X/M module. -1 .. 8 -1
-1 : local module
1..8 : module 1 through 8
Index The index number of the target tag to be set
Value Value to be assigned. May be a constant a formula or a reference to another cell or
tag.
Change A change if this value will set the Target to the Value. This must be a direct
reference to a cell.
Target 1 The tag that has to be set when the index number is 1. This must be a direct
reference to a cell.
Target 2 The tag that has to be set when the index number is 2. This must be a direct
reference to a cell.
etc.
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Date and time Date and time that the most recent change has occurred
180 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxSetIndexOnCondition
Description
The 'fxSetIndexOnCondition' function sets one tag from an array
of tags to a specific value whenever a condition is true.
It is a generic function that is especially useful for implementing
logic for controlling output signals (e.g. valve commands) and
state machines (e.g. prove sequences).
Function inputs
Function inputs Remark EU SW tag Range Default
Module Number of the Flow-X/M module. -1 .. 8 -1
-1 : local module
1..8 : module 1 through 8
Index The index number of the target tag to be set
Value Value to be assigned. May be a constant a formula or a reference to another
cell or tag.
Condition Boolean expression.
When the expression outcome is TRUE (<> 0), then the target is set to the
value.
Target 1 The tag that has to be set when the index number is 1. This must be a direct
reference to a cell.
Target 2 The tag that has to be set when the index number is 2. This must be a direct
reference to a cell.
etc.
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Date and time Date and time that the most recent event has occurred
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 181
fxSetIndexOnEvent
Description
The 'fxSetIndexOnEvent' function sets one tag from an array of
tags to a specific value whenever an event occurs.
It is a generic function that is especially useful for implementing
logic for controlling output signals (e.g. valve commands) and
state machines (e.g. prove sequences).
Function inputs
Function inputs Remark EU SW tag Range Default
Module Number of the Flow-X/M module. -1 .. 8 -1
-1 : local module
1..8 : module 1 through 8
Index The index number of the target tag to be set
Value Value to be assigned. May be a constant a formula or a reference to another cell or
tag.
Event Boolean expression.
When the expression outcome changes from FALSE to TRUE (or from 0 to <> 0),
then the target is set to the value.
Condition Condition that needs to be valid while the event occurs.
If the condition is not valid, then the target will not be set to the value.
Target 1 The tag that has to be set when the index number is 1. This must be a direct
reference to a cell.
Target 2 The tag that has to be set when the index number is 2. This must be a direct
reference to a cell.
etc.
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Date and time Date and time that the most recent event has occurred
182 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxStatusAlarm
Description
The ‘fxStatusAlarm’ alarm function generates an alarm that can
be triggered by a boolean condition.
Function input
Function inputs Remark EU SW tag Range Default
Name Name for the tag
Condition A boolean indicating whether the alarm should be triggered
Enable Enables or disables the alarm True or false True
Alarm type 1: Alarm 1
2: Warning
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 183
fxTag
Description
The 'fxTag' function creates a tag for the cell that contains the
'fxTag' function.
Function input
Function inputs Remark EU SW tag Range Default
Name Name for the tag
Description Description for the tag
Value May contain a value or a formula.
In case of a formula or a reference to a cell or another tag, the tag becomes
read-only.
On the other hand when it is a value the tag is writable and the specified value is
considered at the initial value.
Unit Defines an engineering unit, enumeration date/time, or a special data type, e.g.
'xt_bool', 'xu_kg_s' or 'xe_period').
Write level Applies for writeable tags only.
Security access level that is required to write a new value to the tag. Only applies
when input 'Value' contains a value and not a formula.
When not defined (i.e. function argument is left empty) the tag is only internally
writable by a spreadsheet function but not externally writable through the
display or communications
Retentive Applies for writable tags only
Defines whether or not the value needs to be 'remembered' (retentive).
When not defined (i.e. function argument is left empty) the tag is retentive
provided that the tag is writable and AutoReset is not enabled
AutoReset Applies for writeable tags only.
Automatically resets the tag to its initial value after it has been written to.
Minimum Minimum value that is accepted when the tag is externally writable.
May be left empty, in which case no minimum check is applied
Maximum Maximum value that is accepted when the tag is externally writable
May be left empty, in which case no maximum check is applied
Function output
Function outputs Remark EU SW tag Alarm Fallback
Value Depends on setting 'Mode' Input Unit Input Name
Mode = 'This Cell'
Cell shows the value or the result of the formula that is defined for input
'Value'
Mode = 'Referred Cell'
Cell returns TRUE when the 'fxTag' function evaluates successfully or
FALSE otherwise
184 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxTimer
Description
The 'fxTimer' function provides generic timer functionality.
Function input
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Start Trigger to start the timer. START
Sets output Running to 1 and starts accumulation of the actual waited time, provided that
the Enable condition is true (<> 0)
If the timer is already running, then it will be restarted, i.e. the Wait Time will be set to 0 and
Elapsed status will be reset to False (in case it was True)
Reset Trigger to resets the timer. RST
Sets outputs Elapsed, Running and Wait time to 0
Limit Time-out period for the timer. sec LIM
When the actual wait time is larger than the limit output Elapsed is set to 1.
The limit value is expressed in seconds and may contain a fractional part
The actual wait time however will be a multifold of the flow computer cycle time.
When the limit value does not match an exact number of cycles, then the actual limit value
will be rounded upwards to match the 'next' number of cycles. E.g. when the flow computer
cycle time is 250 ms and the Limit is set to 3.15 sec, the actual limit value being used will be
3.25 sec.
Enable Condition that controls the accumulation of actual waited time. EN
0: Disabled
1: Enabled
When disabled the actual wait time will be frozen until the timer is enabled again.
Function output
Function outputs Remark EU SW tag Alarm Fallback
Elapsed Flag that indicates that timer has timed out, i.e. the actual wait time is larger than ELAP
the limit
Running Flag that indicates that the timer is running, i.e. has been started and not been RUN
reset yet, irrespective of the Enable condition
Wait time Time accumulated since the latest start and while being enabled. When this time sec TIM
reached the limit, the Elapsed output is set to 1. Time will remain accumulated
even when the timer has elapsed.
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 185
fxTotalizerDelta
Description
The function accumulates a flow increment into a cumulative Note: As opposed to the flow increment input value, the flow
(eternal) total. increment output value is set to 0 when the totalization is
Besides of the cumulative total the function also outputs the disabled and has the proper units and is therefore better suited
flow increment that represents the increase in flow quantity in as input for other functions.
the last calculation cycle. This increment value serves as an input
for related batch and period flow-weighted averaging and
totalization functions.
Function input
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group and retentive storage.
Flow increment Actual flow increment to be accumulated. Defined by 0..1e11
Negative values will be ignored, so the cumulative total will not decrease. 'Input unit'
Enabled Dictates whether the flow accumulation is enabled or not. When disabled the EN
cumulative total will not be updated and the increment will be set to 0.
0: Disabled
1: Enabled
Input unit Unit of input 'Flow increment'.
Output unit Unit to be used for total and increment.
Refer to the next section 'Unit conversion' for more information.
Changing the unit will only be possible when the cumulative total value equals 0.
Rollover value The cumulative total will be reset to 0 when it reaches the rollover value Defined by ROVAL 0..1e15 1e12
'Output unit'
Decimal places Defines the number of decimal places for the total and increment output values. DECPLS -1..10 -1
-1 means full precision (no rounding applied)
Reset This should be used with great care! 0
Command to reset the cumulative total to 0
0: No reset
1: Reset
Function output
Function outputs Remark EU SW tag Alarm Fallback
Cumulative total Total quantity accumulated so far since the last rollover or Defined by 'Input unit' CUM
reset
Increment Increment in last calculation cycle Defined by 'Input unit' INCR
Rollover flag Flag indicating a rollover to 0. ROALM
0: Off
1: On
Note: stays 'On' for one cycle only.
Reset flag Flag indicating a reset to 0. RESET
0: Off
1: On
Note: stays 'On' for one cycle only
Recoverable reload Flag that indicates that at startup only 2 of the 3 copies were RTOTERR
error equal and that that value is used as the initial total.
0: Off
1: On
Note: stays 'On' for one cycle only
Fatal reload error Flag that indicates that at startup all 3 copies were different FTOTERR
and the total was reset to 0
0: Off
1: On
Note: stays 'On' for one cycle only
Unit conversion The flow increment is converted from 'sm3' to 'MMscf' before
The function will automatically apply the required conversion the cumulative total and increment output values are
based on the unit of the flow increment input value (Input unit) updated.
and the selected 'Output unit' for the flow quantity.
E.g. when flow rate input is in 'scf' the output unit is 'MMscf' then Similar conversions are applied for flow increments that are
the following conversions are applied: expressed in mass, volume, normal volume and energy units.
The flow increment input value is converted to the
corresponding base unit, which is 'sm3' for a 'Volume' unit
186 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxTotalizerRate
Description
The function accumulates a flow rate into a cumulative (eternal)
total.
Besides of the cumulative total the function also outputs the
flow increment that represents the increase in flow quantity in
the last calculation cycle. This increment value serves as an input
for related batch and period flow-weighted averaging and
totalization functions.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group and retentive storage.
Flow rate Actual flow rate to be accumulated. Defined by 'Input 0..1e11
Negative values will be ignored, so the cumulative total will not decrease. unit'
Enabled Dictates whether the flow accumulation is enabled or not. When disabled the EN
cumulative total will not be updated and the increment will be set to 0.
0: Disabled
1: Enabled
Input unit Unit of input 'Flow rate.
Output unit Unit to be used for total and increment.
Refer to the next section 'Unit conversion' for more information.
Changing the unit will only be possible when the cumulative total value equals 0.
Rollover value The cumulative total will be reset to 0 when it reaches the rollover value Defined by ROVAL 0..1e15 1e12
'Output unit'
Decimal places Defines the number of decimal places for the total and increment output values. DECPLS -1..10 -1
-1 means full precision (no rounding applied)
Reset This should be used with great care! 0
Command to reset the cumulative total to 0
0: No reset
1: Reset
Function output
Function outputs Remark EU SW tag Alarm Default
Cumulative total Total quantity accumulated so far since the last rollover or reset Defined by Input unit' CUM
Increment Increment in last calculation cycle Defined by 'Input unit' INCR
Rollover flag Flag indicating a rollover to 0. ROALM
0: Off
1: On
Note: stays 'On' for one cycle only.
Reset flag Flag indicating a reset to 0. RESET
0: Off
1: On
Note: stays 'On' for one cycle only
Reload warning Flag that indicates that at startup only 2 of the 3 copies were equal RLWARN
and that that value is used as the initial total.
0: Off
1: On
Note: stays 'On' for one cycle only
Reload error Flag that indicates that at startup all 3 copies were different and RLERR
the total was reset to 0
0: Off
1: On
Note: stays 'On' for one cycle only
Unit conversion 3. The flow increment is converted from 'kg' to 'tonne'
The function will automatically apply the required conversion before the cumulative total and increment output
based on the unit of the flow rate input value (Input unit) and the values are updated.
selected 'Output unit' for the flow quantity.
E.g. when flow rate input is in 'kg/hr' the selected unit is 'tonne' Similar conversions are applied for flow rates that are expressed
then the following conversions are applied: in volume, standard volume, normal volume and energy units.
1. The flow rate value is converted to the corresponding
base unit, which is 'kg/s' for a 'Mass per Time' unit
2. The flow increment over the last calculation cycle is
calculated from the 'kg/s' value and the actual
calculation cycle time, resulting in a value expressed in
'kg' (i.e. the base unit for 'Mass').
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 187
fxWatchUpdate
Description
This function raises a flag whenever a value has been updated in
the latest calculation cycle.
Function output
Function outputs Remark EU SW tag Alarm Fallback
UpdateFlag Update flag UPDATEFLAG 0
0: Value has not changed
1: Value has not changed
Flag is automatically cleared (set to 0) at next cycle
188 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 189
4 Flow-X IO Functions
This chapter lists all available Flow-X IO functions. Please refer to
the pinouts for your specific model of flow computer in the
installation manual provided with the Spirit Flow Suite software.
fxAnalogInput
Description
Each flow module supports a maximum of 6 analog input The input signal is considered to be faulty when the input
signals. The first 2 signals can be used as either a mA/VDC input circuitry has an open or a short circuit or when the measured
or as a RTD input. value is outside a configurable range.
The Analog input function is used for mA and VDC inputs. For
RTD inputs refer to function 'RTD Input'. Note: Function fxKeypadfallback provides the option to force the
Analog signals are sampled at a rate of about 15 Hz. Every analog input value to a specific fallback value in case it should
calculation cycle the samples are averaged and the average is fail. It also provides the option to force the input value to a
scaled to a value in engineering units. keypad value e.g. upon user request.
The output value can be equal to either the last sample or the
average of the samples of the last calculation cycle. The average
is either the arithmetic mean or the Root of the Mean of the
Squares (RMS), Where the latter is meant for a differential
pressure signal of a primary flow device (e.g. an orifice plate)
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Channel number CHAN 1..6 1
Input type 1: 4-20 mA INPTYP 2
2: 0-20 mA
3: 1-5 VDC
4: 0-5 VDC
Averaging type 1: Arithmetic mean AVGTYP 1
2: Root Mean Square
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal STS
1: Function Input argument out of range FIOOR
Percentage value Actual percentage of scale value % PERC 0
190 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxAnalogOutput
Description
This function configures a single 4-20 mA output channel on the
local Flow-X module. Use function 'fxSetAnalogOutput' to control
the actual output signal.
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal STS
1: Function Input argument out of range FIOOR
Percentage value The actual (and filtered) output value expressed as a percentage % PERC 0
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 191
fxSetAnalogOutput
Description
This function writes an analog value to an output. Make sure that
the analog output has been set up by calling fxAnalogOutput
first.
Function outputs
Function inputs Remark EU SW tag Range Default
Name Optional Optional tag name, tag <Empty>
description and tag group
Module Not used, set to -1 -1..16 -1
Channel number 1..4 CHAN 0
Filter setpoint 0 .. 15 FILSP 0
0: No filtering
1: Fastest filter
..
15: Slowest filter
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal STS
1: Function Input argument out of range FIOOR
192 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxDigitalInput
Description
The Digital Input function processes a single digital input and
outputs either the actual input signal or the latched input signal.
Function inputs
Function inputs Remark EU SW tag Default
Name Optional tag name, tag description and tag group
Channel number 1..16 CHAN 1
Logic 1: Positive LOGIC 1
2: Negative
Mode 1: Actual MODE 1
2: Latched
Threshold Each digital input has 2 threshold levels that determine whether the signal is considered THRESHOLD 1
to be either high (above the threshold) or low (below the threshold).
The threshold levels are as follows (all relative to signal ground):
Channels 1 through 8:
1: + 1.25 Volts
2: + 12 Volts
Function outputs
Function outputs Remark SW tag Alarm EU
Status 0: Normal STS -
1: Input argument out of range FIOOR
Signal State 0: Off SIGSTATE -
1: On
Meaning depends on the input Logic and Mode, refer to the table below.
Calculations
The following table summarizes the relationship between the input signal and the output 'State', depending on the inputs 'Logic and
'Mode'.
fxDigitalOutput
Description
The Digital Output function configures a single digital output on
the local module. Use function 'fxSetDigitalOutput' to control the
actual output signal.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Name for output 'Signal State'
Channel number One of the 16 digital I/O channels. CHAN 1..16 1
Logic 1: Positive LOGIC 1
2: Negative
Delay Period of time that the control signal must be high (> 0) without interruption ms DELAY >= 0 0
before the output will be activated.
The value 0 disables the delay function
If the control signal becomes 0 before the time has elapsed, then the output
signal will not be activated.
Minimum activation Minimum period of time that the signal will remain activated. ms MINACTITM >= 0 0
time After the minimum activation time has elapsed the output signal will remain
activated until the control value becomes 0.
Function outputs
Function outputs Remark SW tag Alarm EU Fallback
Status 0: Normal STS - 0
1: Input argument out of range or conflict FIOOR
Signal State 0: Not activated SIGSTATE - 0
1: Activated
Calculations
The following table summarizes the relationship between the
output signal, the input 'Logic and the control value as set by
function 'fxSetDigitalOutput'.
194 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxSetDigitalOutput
Description
This function writes a value to a configured digital output.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Name for output 'Signal State'
Module Unused, set to -1 -1..16 -1
Channel number One of the 16 digital i/o channels. 1..16
Setpoint Logic is positive:
0: Output is activated
<>0: Output is not activated
Logic is negative:
0: Output is not activated
<>0: Output is activated
Function outputs
Function outputs Remark SW tag Alarm EU Fallback
Status 0: Normal STS - 0
1: Input argument out of range or conflict FIOOR
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 195
fxFrequencyOutput
Description
This function provides a programmable output frequency on one
of the digital pins. The frequency as well as the duty cycle are
user programmable. When using the frequency output to
configure a dual pulse system, channel 2 can be configured.
Function inputs
Function inputs Remark EU SW tag Range Default
Name
Index Index of the frequency output 1..4
Channel number Output channel number, the digital IO pin that is used. 0..16
Channel number 2 Output channel number, the digital IO pin that is used. 0..16 0
Function outputs
Function outputs Remark SW tag Alarm EU Fallback
Status 0: Normal STS - 1
1: Input argument out of range or conflict FIOOR
196 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxSetFrequencyOutput
Description
This function starts a programmed frequency on the digital pin,
set by fxFrequencyOutput. In case of a dual pulse via frequency
out, here the phase shift between the pins can be configured.
Function inputs
Function inputs Remark EU SW tag Range Default
Name
Module Not used, set to -1 -1..16 -1
Index Index of the frequency output 1..4
Frequency Output frequency (Hz) Hz 0.01.. 10000
Duty cycle Duty cycle % 0..100
Enabled Enables (<>0) or disables (0) the output signal.
Phase shift Phase shift between dual pulse channel A and B expressed as the ratio 0..0.5 0
of the time delay between the last A and B and the time between two A
pulses. A typical phase difference is 90° corresponding to a value of
0.25.
The shift is limited to [0°..180°).
Function outputs
Function outputs Remark SW tag Alarm EU Fallback
Status 0: Normal STS - 1
1: Input argument out of range or conflict FIOOR
Actual frequency Actual frequency, which can deviate from the programmed ACTFREQ Hz 0
frequency because of hardware limitations.
Actual duty cycle ACTDC % 0
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 197
fxDoubleChronometry
Description • With 2 detectors at one end of the prover (A and B) and 2 at
The function provides double chronometry measurement for the other end (C and D) there are 4 possible detector
meter proving and calibration purposes with a resolution of 100 combinations A-C, A-D, B-C and B-D, resulting in four
nanoseconds. available prover volumes. By defining 4 Prove measurement
The function monitors a (dual) pulse input signal provided by the functions all 4 prove volumes can be used to prove the meter
meter under test and by one or more digital signals that by a single prove sequence. The operator selects the primary
represent the start and stop of the measurement. detector combination that will be used for calculating the
The digital inputs used for start and stop of the measurement new K factor or meter factor. The result of the 4 detector
are typically connected to the sphere detector switches of a pipe combinations are compared to each other and an alarm is
prover or the piston detectors of a compact prover. raised in case of discrepancy.
The start / stop signal may also be any other type of signal, e.g. • Meters that operate in series can all be proved at the same
a digital output from another flow computer. This allows for time.
flexible master meter configurations in which a single prove • For meters that provide more than flow signal all signals can
measurement is performed by two separate flow computers, be proved at the same time
one that monitors the meter under test and one that monitors • For provers with a range of calibrated prover volumes to
the reference or master meter. accommodate proving of meters of different capacities,
multiple prover volumes can be processed at the same time.
By using multiple Double Chronometry functions multiple prove
measurements can be performed at the same time by one and Combinations of these scenarios are possible as well.
the same flow module.
Some examples of simultaneous prove measurements are: The double chronometry method comprises the measurement of
the time between the start and stop signals and the time
• For a prover with 2 begin and 2 end detector switches the between the two meter pulses that immediately follow the start
flow meter can be proved against all 4 the calibrated prover and stop signals. The flow module then determines the
volumes at the same time. interpolated number of meter pulses that correspond to the
measurement start and stop signals as follows:
time A
Interpolated pulse count = whole pulses ⋅
time B
Function outputs
Function outputs Remark SW tag Alarm EU
Status 0: Normal STS -
1: Input argument out of range or conflict FIOOR
Interpolated pulse count Equals : INPOLCNT
Whole pulse count * Time A / Time B
According to API requirements the interpolated pulse count should be used when less
than 10000 pulses are acquired
Whole pulse count The number of meter pulses that were acquired within the measurement period (time B). WHOLECNT
Could be used instead of interpolated pulses when more than 10000 pulses are acquired
Note: Whole pulse count = the decimal part of Interpolated pulse count
Time between start and Time period between start and stop signal INPOLTIM sec
stop
Time between pulses Time between the meter pulses immediately following the start and stop signals WHOLETIM sec
In Progress Status bit that indicates that the measurement is in progress INPRG
Completed Prove measurement has been completed COMPL
Start time-out Prove measurement has been aborted - Start signal time-out STRTTO
Stop time-out Aborted - Stop signal time-out STOPTO
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 199
fxPulseInput
Description A
The 'fxPulseInput' function is meant for a flow meter that
provides a single or a dual pulse output signal. Each flow module
supports either 1 single or 1 dual pulse input. B
and B that originate from the same flow meter. The two pulse
Channel B lags channel A
trains are similar but shifted in phase (typically 90°).
The primary purpose of the dual signal is to allow for pulse
The function also provides the option to output the raw pulse
integrity checking. Added or missing pulses on either pulse train
signals, which is useful in case a separate flow computer is used
are detected and corrected for and simultaneous noise pulses
for proving purposes. The proving flow computer takes the pulse
are rejected.
output from the flow computer that processes the meter on
prove to perform prove measurements including double
The function provides detailed information on the raw, corrected
chronometry if required. The prover output signal is generated
and bad pulses for both channels and for both the forward and
at 20 MHz, the same frequency at which the raw pulse input
reverse flow direction.
signals are sampled.
The phase shifted pulse train signal also allows for automatic
detection of flow direction. Each A pulse is followed by a B pulse
Compliance
within a time period (∆t) in case the flow runs in the forward
ISO 6551:1982, Petroleum liquids and gases -- Fidelity and
direction. In case the flow runs in the reverse direction, the
security of dynamic measurement -- Cabled transmission of
opposite is the case, i.e. each B pulse is followed by an A pulse
electric and/or electronic pulsed data
within the same time period ∆t.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Index Index number. Always 1. INDEX 1..1 1
Channel A Input channel number for pulse A CHANA 0..16 0
0 disables the entire function
Channel B Input channel number for pulse B CHANB 0..16 Input Channel A + 1
Enter 0 in a case of single pulse input
Pulse fidelity threshold All pulse fidelity checking will be disabled when the corrected Hz FRQTHD 0..1e5 0
pulse frequency is below the 'Pulse fidelity threshold'
Enter a 0 to disable this functionality (the default value)
Note: In FPGA later then v13, pulse fidelity checking is always
enabled
Error pulses limit When the total number of missing pulses, added and ERRLIM 0..1e99 0
simultaneous pulses for either channel becomes larger than
this value, the status becomes 'Error Pulses'
The value 0 disables the error pulses limit check.
Missing pulses limit When the total number of missing pulses on channel A or B - MISLIM 0..1e99 0
becomes larger than this value, the status becomes 'Missing
Pulses Channel x' (with x either A or B)
The value 0 disables the missing pulses limit check.
Added pulses limit When the total number of added pulses on channel A or B - ADDLIM 0..1e99 0
becomes larger than this value, the status becomes 'Added
Pulses Channel x' (with x either A or B)
The value 0 disables the added pulses limit check.
Simultaneous pulses When the total number of simultaneous pulses on both - SIMLIM 0..1e99 0
limit channels becomes larger than this value, the status becomes
Simultaneous Pulses '
The value 0 disables the simultaneous pulses limit check.
Good pulse reset limit When the number of good pulses since the last 'bad' pulse has - RSTLIM 0..1e99 0
reached this value, all the bad pulse count and alarms will be
reset automatically.
The value 0 disables the automatic reset function.
Bad pulse reset When the value changes the bad pulse count and alarms are - RSTCMD Any value 0
command reset. Can be used reset the bad pulses manually or
automatically e.g. at a every new batch.
Error rate limit When the difference in frequency between the two raw pulse % ERRLIM 0..100 0
trains is larger than this limit within the last calculation cycle,
the status becomes 'Pulse Rate Error'
The value 0 disables the error rate limit check
200 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS
1: Input argument out of range FIOOR
2: No A pulses (while B pulses) NOPLSA
3: No B pulses (while A pulses) NOPLSB
4: Missing pulses channel A MISPLSA
5: Missing pulses channel B MISPLSB
6: Added pulses channel A ADDPLSA
7: Added pulses channel B ADDPLSB
8: Simultaneous pulses SIMPLS
9: Pulse rate error ERRRATE
10: Low frequency (above 0 and below cut-off) LOFRQ
11: Error pulses ERRPLS
Note: during normal operation status 'Low frequency' occurs for a relative
short time whenever the flow starts or stops. In order to avoid
unnecessary alarms the corresponding alarm delay time shall be defined
accordingly (default 5 sec)
Corrected pulse increment Number of good pulses within the last calculation cycle - CORINC
Corrected frequency Frequency that corresponds to the last corrected pulse increment within Hz CORFRQ
the last calculation cycle
Error pulse increment Number of bad pulses within the last calculation cycle ERRINC
Error pulse frequency Frequency that corresponds to the last error pulse increment within the Hz ERRFRQ
last calculation cycle
Flow direction 0: Forward - FLOWDIR
1: Reverse
Raw pulse increment Number of raw pulses on channel A within the last calculation cycle RAWINCA
channel A
Raw pulse increment Number of raw pulses on channel B within the last calculation cycle RAWINCB
channel B
Missing pulse count channel Depends on FPGA version: - MISCNTA
A • FPGA v13 and earlier: Total missing pulse count channel A since the
last reset
• FPGA following v13: Total number of B pulses while channel A was
determined to be missing since the last reset
Missing pulse count channel Depends on FPGA version: - MISCNTB
B • FPGA v13 and earlier: Total missing pulse count channel B since the
last reset
• FPGA following v13: Total number of A pulses while channel B was
determined to be missing since the last reset
Added pulse count channel Depends on FPGA version: - ADDCNTA
A • FPGA v13 and earlier: Total added pulse count channel A since the
last reset
• FPGA following v13: Total A pulses without preceding B pulse since
the last reset, when missing channel is not determined
Added pulse count channel Depends on FPGA version: - ADDCNTB
B • FPGA v13 and earlier: Total added pulse count channel B since the
last reset
• FPGA following v13: Total B pulses without preceding A pulse since
the last reset, when missing channel is not determined
Simultaneous pulses Total simultaneous pulse count since the last reset SIMPLSF
Phase difference Last measured phase difference between A and B pulse expressed as the - PHASEDIF
ratio of the time delay between the last A and B and the time between two
A pulses. A typical phase difference is 90° corresponding to a value of
0.25.
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 201
fxResetPulseInputErrors
Description
This function resets the error pulse counters (error, added,
missing and simultaneous pulses) of the pulse input of one of
the modules part of the same configuration.
It is required that the pulse input of the specified module is
configured by function 'fxPulseInput'.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group <Empty>
Module Unused, set to 0 0..16 0
Index Index number as defined in the corresponding fxPulseInput function 0..1
0 disables the function
Reset 0: No action
<> 0 All error counters are reset to 0
Function inputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS
1: Input argument out of range or in conflict FIOOR
202 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
xPulseOutput
Description
This function is used to feed pulses to an electro-mechanical
(E/M) counter. There are 4 pulse output units, to be selected by
the index parameter. The function uses a reservoir to accumulate
the pulses. On one hand the number of pulses that need to be
added to the reservoir is calculated from inputs 'Increment' and
‘Significance factor'. On the other hand pulses are taken from
the reservoir and fed to the E/M counter at a rate that will not
exceed the specified output rate.
This can also be used to configure a dual pulse situation, for this
case you can configure a second channel and the delay it has on
the primary channel.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Index Index number 1..4. INDEX 1..4 1
Channel Digital I/O channel number CHAN 0..16 0
0 disables the function
Significance factor Factor that specifies the relation between the Increment value and the - SIGFCT 0..1e99 1
number of output pulses.
E.g. a value of 100 means that 1 pulse is generated whenever 100
increment units have been accumulated.
Pulse width Time that each output pulse remains active (high) in millisecond ms PLSWID 0..1e6 20
Restriction (pulse duty cycle is 50%):
Pulse width <= 1000 / (2* max. output rate)
Max. output rate Maximum pulse output rate. Hz MAXFREQ 0..1e6 40
When output pulses are generated at a frequency higher than the
maximum output rate, the superfluous pulses will be accumulated in the
pulse reservoir.
Restriction when pulse duty cycle should not exceed 50%:
Max. output rate <= 1000 / (2* Pulse width)
Reservoir alarm limit Alarm limit for the number of pulses in the reservoir buffer - RSVLIM 0..1e99 1e9
Channel 2 Digital I/O channel number CHAN 0..16 0
0 disables the function
Delay Delay between dual pulse channel A and B in milliseconds ms 0..1e99 0
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS
1: Input argument out of range or in conflict FIOOR
Pulse reservoir Number of pulses that are accumulated in the reservoir. - RSVPLS 0
Reservoir alarm status With respect to the 'Reservoir alarm limit' the number of pulses in - RSVSTS 0
the reservoir is:
0: Within limit
1: Out of limit RSVALM
Calculations
Every calculation cycle a number of pulses is added to the
reservoir that is equal to input value 'Increment' divided by input
value Significance factor.
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 203
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
module Not used, set to -1. -1..16 -1
index Index of the pulse output 0..4
0 disables the function
Increment Number of pulses to be added to the reservoir..
Reset command 0 is normal, 1 is no hardware state changed 0
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal - STS
1: Input argument out of range or in conflict FIOOR
204 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxPT100Input
Description For each sample the temperature value is obtained from the
Each flow module provides 2 inputs for Pt-100 sensors. measured Ohms by means of the standard RTD quadratic
A Pt-100 sensor is a Platinum Resistance Thermometer (PRT) equation.
element with a resistance of 100 Ω at 0°C. 'Pt' is the symbol for The input signal is considered to be faulty when the input
platinum. circuitry has an open or a short circuit or when the measured
Resistance thermometers as such are also referred to as value is outside its range (as defined in table below).
Resistance Temperature Detectors (RTD).
The resistance changes linearly with temperature. For Pt-100
elements the linearity coefficient is 0.385 Ohm/°C for European
elements and 0.392 Ohm/°C for American elements
Function inputs
Function inputs Remark EU Default
Name Optional tag name, tag description and tag group
Channel number 1..2 1
Input Type 1: European, 0.00385 Ω/ Ω /°C 1
As per DIN 43760, BS1905,IEC751
Range - 200..+850 °C
2: American, 0.00392 Ω/ Ω /°C
Range - 100..+457 °C
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status Status output STS
0: Normal
1: Input argument out of range FIOOR
2: Under range failure (*)
3: Over range failure (*)
4: Open circuit (*)
5: Short circuit (*)
Value Temperature in degrees Celsius °C VAL 0
(*) Note that no alarm is generated for this status output value. This is to avoid an unnecessary alarm in case the input is not used
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 205
fxRTDInput
Description
Reads the PT100 input as a ‘raw’ Ohm number. Use fxPT100Table
to convert to degrees Celsius.
Function inputs
Function inputs Remark EU Default
Name Optional tag name, tag description and tag group
Channel number 1..2
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status Status output STS
0: Normal
1: Input argument out of range FIOOR
2: Under range failure (*)
3: Over range failure (*)
4: Open circuit (*)
5: Short circuit (*)
Value Ohm 0
206 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
fxPT100Table
Description The resistance changes linearly with temperature. For Pt-100
This function converts a resistance value (Ohm) into a elements the linearity coefficient is 0.385 Ohm/°C for European
temperature value (°C) according to the Pt-100 conversion elements and 0.392 Ohm/°C for American elements
tables. A Pt-100 sensor is a Platinum Resistance Thermometer For each sample the temperature value is obtained from the
(PRT) element with a resistance of 100 Ω at 0°C. 'Pt' is the measured Ohms by means of the standard RTD quadratic
symbol for platinum. equation.
Resistance thermometers as such are also referred to as The input signal is considered to be faulty when the input
Resistance Temperature Detectors (RTD). circuitry has an open or a short circuit or when the measured
value is outside its range (as defined in table below).
Function inputs
Function inputs Remark EU Default
Name Optional tag name, tag description and tag group
Ohm Measured temperature in Ohms Ohm
Input Type 1: European, 0.00385 Ω/ Ω /°C 1
As per DIN 43760, BS1905,IEC751
Range - 200..+850 °C
2: American, 0.00392 Ω/ Ω /°C
Range - 100..+457 °C
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Value °C 0
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 207
fxTimePeriodInput
Description
This function measures the time period between two pulses with
a high resolution (100 nanoseconds) and is typically used for
densitometer inputs. The measurement is performed
continuously in the background and the function returns the
average value since the previous calculation cycle.
The measured time period value can be linked to a subsequent
densitometer-specific (Solartron, Sarasota, UGC) function that
calculates the density at the densitometer conditions.
Abnormal measurements are filtered out and alarmed for.
Function inputs
Function inputs Remark EU SW tag Range Default
Name Optional tag name, tag description and tag group
Channel Channel number for the signal - CHAN 1..16 0
Time period differential limit Maximum allowable difference in microseconds. μs
When the time period between two consecutive pulses differs more
than this limit from the previous time period, the reading is
considered to be abnormal.
Following an abnormal reading there must be 3 consecutive readings
within the limit before the time period value is considered normal
again.
When no 3 consecutive readings within the limit are available in the
last 5 readings then the input signal is considered to be invalid.
Resolution of the limit value is 100 nanoseconds.
Minimum stable time Minimum time for high- and low-times of a pulse to be considered μs 0..10000 30
valid.
Function outputs
Function outputs Remark EU SW tag Alarm Fallback
Status 0: Normal STS
1: Input argument out of range INPERR
Outputs will be set to fallback values
2: No valid measurement (*)
Outputs will be set to fallback values
Time period Average (arithmetic mean) in microseconds of the last calculation μs TIME 0
cycle
Frequency Average (arithmetic mean) of the last calculation cycle Hz FREQ 0
Curcount Current counter value CURCNT 0
Curtime Current time value sec CURTIME 0
Oldcount Previous counter value PRVCNT 0
Oldtime Previous time value sec PRVTIME 0
(*) Note that no alarm is generated for this status output value. This is to avoid an unnecessary alarm in case the input is not used
208 SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN
5 Reference
Unit Types
Type of unit Description Unit Convert Excel Multiply Conversion
to constant by
Acceleration meters per second squared m/s2 xu_m_s2
kilometers per second squared km/s2 m/s2 xu_km_s2 1.0 E+03 Exact
inch per second squared in/s2 m/s2 xu_in_s2 2.54 E-02 Exact
foot per second squared ft/s2 m/s2 xu_ft_s2 3.048 E-01 Exact
Area square meter m2 xu_m2
square millimeter mm2 m2 xu_mm2 1.0 E-06 Exact
square centimeter cm2 m2 xu_cm2 1.0 E-04 Exact
square kilometer km2 m2 xu_km2 1.0 E+06 Exact
square inch in2 m2 xu_in2 6.4516 E-04 Exact
square foot ft2 m2 xu_ft2 9.290304 E-02 Exact
Dynamic Viscosity pascal second Pa.s xu_Pa.s
poise poise Pa.s xu_poise 1.0 E-01 Exact
centipoise cP Pa.s xu_cP 1.0 E-03 Exact
kilogram force second per kgf.s/m2 Pa.s xu_kgf.s_m2 9.80665 Exact
square meter
pound-mass per foot second lbm/ft.s Pa.s xu_lbm_ft.s 0.45359237 / 0.3048 Exact
Energy joules J xu_J
kilojoules kJ J xu_kJ 1.0 E+03 Exact
megajoules MJ J xu_MJ 1.0 E+06 Exact
gigajoules GJ J xu_GJ 1.0 E+09 Exact
terajoules TJ J xu_TJ 1.0 E+12 Exact
watt hour W.h J 3.6 E+03 Exact
kilowatt hour kW.h J 3.6 E+06 Exact
watt second W.s J 1 Exact
British thermal unit Btu J 1.05505585262 E+03 Exact
kilo British thermal unit kBtu J 1.05505585262 E+06 Exact
million British thermal unit MMBtu J 1.05505585262 E+09 Exact
calorie cal J 4.1868 Exact
kilocalorie kcal J 4.1868 E+03 Exact
megacalorie Mcal J 4.1868 E+09 Exact
decatherm dT J 1.05505585262 E+09 Exact
Energy per Mass joule per kilogram J/kg
kilojoule per kilogram kJ/kg J/kg 1.0 E+03 Exact
megajoule per kilogram MJ/kg J/kg 1.0 E+06 Exact
British thermal unit per pound Btu/lbm J/kg 2.32601 E+03 Exact
(avoirdupois)
kilo British thermal unit per kBtu/lbm J/kg 2.32601 E+06 Exact
pound (avoirdupois)
calorie per kilogram cal/kg J/kg 4.1868 Exact
kilocalorie per kilogram kcal/kg J/kg 4.1868 E+03 Exact
million calorie per kilogram MMcal/kg J/kg 4.1868 E+06 Exact
Energy per Mole joules per mole J/mol
kilojoules per mole kJ/mol J/mol 1.0 E+03 Exact
megajoules per mole MJ/mol J/mol 1.0 E+06 Exact
kilojoules per kilomole kJ/kmol J/mol 1 Exact
megajoules per kilomole MJ/kmol J/mol 1.0 E+03 Exact
British thermal unit per pound Btu/lbmol J/mol 2.326 E+03 Exact
mole
kilo British thermal unit per kBtu/lbmol J/mol 2.326 E+06 Exact
pound mole
calorie per mole cal/mol J/mol 4.1868 Exact
kilocalorie per mole kcal/mol J/mol 4.1868 E+03 Exact
megacalorie per mole Mcal/mol J/mol 4.1868 E+06 Exact
Energy per Time joules per second J/s
megajoules per hour MJ/hr J/s (1.0/3600) E+06 Exact
gigajoules per hour GJ/hr J/s (1.0/3600) E+09 Exact
megajoules per day MJ/day J/s (1.0/86400) E+06 Exact
gigajoules per day GJ/day J/s (1.0/86400) E+09 Exact
kilo British thermal unit per hour kBtu/hr J/s (1.05505585262 / 3600) E+06 Exact
million British thermal unit per MMBtu/hr J/s (1.05505585262 / 3600) E+09 Exact
hour
kilo British thermal unit per day kBtu/d J/s (1.05505585262 / 86400) Exact
E+06
million British thermal unit per MMBtu/d J/s (1.05505585262 / 86400) Exact
day E+09
mega calorie per hour Mcal/hr J/mol (4.1868/3600) E+06 Exact
giga calorie per hour Gcal/hr J/mol (4.1868/3600) E+09 Exact
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 209
Terminology
Term Description Same as
Heating Value Usually the same as Gross Heating Value
Calorific Value Usually the same as Superior Calorific Value
Superior Calorific Value Heating value when assuming that water formed at the combustion stays in the gaseous Gross Heating Value
state.
From ISO6976.
Inferior Calorific Value Heating value when assuming that water formed at the combustion has totally Net Heating Value
condensed to the liquid state.
From ISO6976.
Gross Heating Value Heating value when assuming that water formed at the combustion stays in the gaseous Superior Calorific Value
state
Term used in GPA2172.
Net Heating Value Heating value when assuming that water formed at the combustion has totally Inferior Calorific Value
condensed to the liquid state.
Term used in GPA2172.
Molar Mass Ratio Ratio of molar mass of gas and molar mass of air at the base conditions Specific Gravity
Ideal Specific Gravity
Ideal Relative Density
Relative Density Ratio of real mass density of gas and real mass density of air at the base conditions Real Relative Density
Real Specific Gravity
Specific Gravity Ratio of real mass density of gas and real density of air at the base conditions Molar Mass Ratio
Ideal Specific Gravity
Ideal Relative Density
SPIRITIT FUNCTION REFERENCE MANUAL | CM/FLOWX/FR-EN 215
Standard composition
The Standard Composition is a standard array of mole fractional values that is used by all functions that require a (partial)
compositional analysis.
The following table defines the sequence of the components and also defines which function uses which component.
1) Depending on function input 'Neo-Pentane mode' the value is added to i-Pentane or n-Pentane or it is neglected.
2) GPA2172 uses the specified water fraction for wet gas calculation only.
3) MR113 requires the input water fraction to be 0. The output water fraction is calculated from absolute humidity
6 Revisions
Revision A
Date March 2017
Initial, release
Added IUPAC Ethylene and IAWS-IF97 functions
Updated and corrected IO functions, moved to separate
chapter.
Updated incorrect page-header in TOC.
Removed PPRV output from fxPeriodLatch(..) function.
Added extended ISO6976 function that takes all 55
components of the standard
Added GERG2004 and GERG2008 functions
Minor editorial changes
Added new natural gas viscosity calculation
Added C11 – C21 components to the extended ISO6976
functions
Added “Quarter circle” and “Conical entrance” orifice
calculations
Added GSSSD method MR 113-03 function
Raised the pressure limit of API 2004 functions (tables 53, 54,
59, 60) from 150 to 250 bar.
Removed duplicated functions.
Added GOST30319 calculations.
Revision B
Date November 2017
Update to new ABB lay-out
New document code: CM/FlowX/FR-EN
Reintroduce revisions chapter
Revision C
Date March 2018
New calculations are added.
Various existing functions are corrected.
—
ABB B.V. ABB Inc.
Measurement & Analytics Measurement & Analytics
Prof. Dr. Dorgelolaan 20 7051 Industrial Boulevard
5613 AM Eindhoven Bartlesville OK 74006
The Netherlands United States of America
Phone: +31 40 236 9445 Phone: +1 800 442 3097
Mail: [email protected]
ABB Limited
ABB Malaysia Sdn Bhd. Measurement & Analytics
Measurement & Analytics Oldends Lane, Stonehouse
Lot 608, Jalan SS 13/1K Gloucestershire, GL10 3TA
47500 Subang Jaya United Kingdom
Selangor Darul Ehsan, Malaysia Phone: +44 7730 019 180
Phone: +60 3 5628 4888
abb.com/midstream
—
We reserve the right to make technical changes or modify the contents of this document
without prior notice. With regard to purchase orders, the agreed particulars shall prevail.
ABB AG does not accept any responsibility whatsoever for potential errors or possible lack
of information in this document.
We reserve all rights in this document and in the subject matter and illustrations contained
therein. Any reproduction, disclosure to third parties or utilization of its contents – in
whole or in parts – is forbidden without prior written consent of ABB.
© ABB 2017