The primary considerations when applying the AGA_SI block are:
What type of meter is involved? Is it an orifice or turbine meter?
Is the fluid a natural gas or a related hydrocarbon gas whose components are included in the array in the GAS_COMP parameter? Or is the fluid a liquid or gas whose components are not in GAS_COMP?
With an orifice meter, select Differential Pressure as the METER_TYPE and wire the IN input from an Analog Input function block connected to a differential pressure transmitter. The engineering units must be kPa (kilo Pascals gage).
With a turbine meter, wire the IN input from a Pulse Input function block. OUT of the PIN block must in units of cubic meters per hour. Therefore the PULSE_VAL in the PIN block must be in units of cubic meters per pulse (inverse of the K-Factor) and TIME_UNITS must be Hours.
If the fluid is natural gas or related hydrocarbon gas, select the default value for AGA8_OPT so that the block calculates the base and flowing densities of the gas per AGA8 and the report parameters (base and flowing compressibility factors, supercompressibility, and relative density). The block also calculates the volumetric heating value of the gas (per ISO6976).
If the fluid is a liquid or other gas, use AGA8_OPT to choose to manually enter these parameters. Typically you would enter the two densities and leave the other parameters at their default value. If the notion of energy is applicable, enter the volumetric heating value of the fluid at base conditions.
Runtime limits for AGA8 calculations
The AGA block does not check the input parameter limits for the AGA8 calculations at runtime. If any of the following parameters exceed the limits stated, calculations may not be accurate.
The ranges of valid block input values mentioned in this section are guidelines, not absolute limits. If your inputs are outside the guidelines, block calculations lose accuracy, losing more accuracy the farther you are outside the guidelines.
The limits are exceeded if:
BASE_TEMP less than 0°C
BASE_TEMP greater than 25°C
BASE_PRES less than 90 kPa
BASE_PRES greater than 110 kPa
DEN_BASE zero or negative
TEMP_IN less than -130.0°C
TEMP_IN greater than 400.0°C
PRES_IN greater than 280,000 kPa
GAS_COMP
[1] (Methane) less than 45.0
[2] (Nitrogen) greater than 50.0
[3] (Carbon Dioxide) greater than 30.0
[4] (Ethane) greater than 10.0
[5] (Propane) greater than 4.0
[6] (Water) greater than 0.05
[7] (Hydrogen Sulfide) greater than 0.02
[8] (Hydrogen) greater than 10.0
[9] (Carbon Monoxide) greater than 3.0
[10] (Oxygen) greater than 21.0
[11] (i-Butane) + [12] (n-Butane) greater than 1.0
[13] (i-Pentane) + [14] (n-Pentane) greater than 0.3
[15] (Hexane) + [16] (Heptane) + [17] Octane + [18] Nonane + [19] (Decane) greater than 0.2
[20] (Helium) greater than 0.2
[21] (Argon) greater than 1.0
Other considerations
When you choose for the block to calculate the AGA8 parameters, configure the base temperature and pressure and enter the mole fractions of the components in GAS_COMP as percents. If you interface to an online gas chromatograph, use a Calc block expression to assign the value of the elements of GAS_COMP. For example, to assign the Methane mole percent
'^/AGA_SI1/GAS_COMP[1][1]' := '//GC01/R30001.CV';
where GC01 is the DST for a serial dataset
To assign the Nitrogen mole percent
'^/AGA_SI1/GAS_COMP[2][1]' := '//GC01/R30002.CV';
where GC01 is the DST for a serial dataset
If necessary, modify the value of one component before writing to GAS_COMP so that the sum of components is 100%. If the sum is not between 99.995 and 100.005, an error will occur in ERROR_STATE and the status of the outputs will be Bad.
Enter the absolute viscosity of the fluid at expected flowing conditions in the parameter VISCOSITY based on a laboratory analysis, calculation, or published data. The block does not calculate viscosity. The default value is reasonable for a natural gas. For orifice meters the value of viscosity impacts the calculated mass flow rate. For turbine meters viscosity is used only to calculate the pipe Reynolds number (which is also true for PIPE_ID, PIPE_MAT, and PIPE_TEMP).
For orifice meters, enter a value for the isentropic exponent of the fluid in the parameter IS_EXP. This is the ratio of specific heats (constant pressure to constant volume). The default value is reasonable for natural gases. For an incompressible fluid enter a value of -1.0. The block does not use IS_EXP for turbine meters.
To reset the accumulation parameters CURR_VOLUME, CURR_ENERGY, and CURR_HRS_ON wire the TIMER_ACCUM input from the output of a Date Time Event function block. Configure the DTE block to produce a rising edge on its OUT_D parameter at the contract hour each day or at whatever interval you wish to reset the parameters. Configure the DTE block by setting INTERVAL_STR to the desired number of days, hours, minutes, or seconds between resets, for example P00001T00:00:00 for resetting daily or P00000T08:00:00 for resetting every eight hours. Then set TE_TIME_STR to the first time you want a reset to occur (in local time), for example, 2002-12-25T09:00:00 if the contract hour is 9 am. When TE_TIME_STR is a time in the past, the DTE block knows how to properly arm itself for the next reset upon any download.
Using AGA_SI with DeltaV Operate
DeltaV Operate has a dynamo set called AGA containing a group display faceplate for the AGA_SI (and AGA_US) block. The faceplate shows operating parameters for the block and is applicable for orifice and turbine meters (the IN parameter value is not visible when METER_TYPE is Turbine). In configure mode drag the dynamo onto a picture. Enter the path for the AGA_SI function block in the Edit dialog.
Also included in the dynamo set is a header for the faceplate. The header includes the module tag and module description. Drag the dynamo onto the picture and position it above the faceplate. Enter the module path in the Edit dialog.