Multi-measurement vortex flowmeter
09696742 ยท 2017-07-04
Assignee
Inventors
- Warren E. Cook (Upton, MA)
- Joseph J. Lewicke (Foxboro, MA)
- Peter E. Allstrom (Attleboro, MA)
- James H. Vignos (Needham, MA)
Cpc classification
G01F1/86
PHYSICS
International classification
G01F1/86
PHYSICS
G01F25/00
PHYSICS
Abstract
Two-wire transmitters are described in which the required voltage that a control room must supply to the transmitter is lower at high current than at low current, thus freeing up more voltage for other uses, and in which a constant set of operating voltages may be maintained. A corrected pressure in a vortex flow meter may be determined that reflects the mass flow rate. Thus, the mass flow rate may be determined based on the corrected pressure reading and a measured volumetric flow rate. Density may be determined from pressure and temperature using a table containing error values based on a standard density determination and a relatively simple approximation. During operation of a flow meter, the stored error values may be linearly interpolated and the approximation may be computed to determine the density from the stored error value.
Claims
1. A transmitter comprising: a switching circuit configured to couple a regulated current to either a first output or a second output based on an amplitude of the regulated current; a first non-unitary current multiplier having an input and an output, with the input of the first non-unitary multiplier being coupled to the first output of the switching circuit, the first non-unitary multiplier operable in a forward direction as a current multiplier and in a backward direction as a current divider; and a second non-unitary multiplier having an input and an output, with the input of the second non-unitary multiplier coupled to both the second output of the switching circuit and the output of the first non-unitary multiplier.
2. The transmitter of claim 1 further comprising a current regulator coupled to an input of the switching circuit and configured to regulate the amplitude of the regulated current to encode a value of an output parameter on the regulated current.
3. The transmitter of claim 2 wherein the current regulator is configured to receive an input current over a line in a two-wire system.
4. The transmitter of claim 3 wherein the current regulator is configured to regulate the amplitude over a range extending at least from 4 milliamps to 20 milliamps.
5. The transmitter of claim 2 wherein the current regulator is configured as part of a vortex flow meter system and is configured to encode a value of a vortex frequency, a linear flow rate, or a volumetric flow rate.
6. The transmitter of claim 1 wherein the first and second non-unitary current multipliers each comprises a voltage divider.
7. A method comprising: coupling, by a switching circuit having a first output and a second output, a regulated current to either the first output or the second output based on an amplitude of the regulated current; multiplying, by a first multiplier, current by a non-unitary number, wherein the first multiplier has an input and an output and the input of the first multiplier is coupled to the first output of the switching circuit, and wherein the first multiplier is operable in a forward direction as a current multiplier and in a backward direction as a current divider; and multiplying, by a second multiplier, current by a non-unitary number, wherein the second multiplier has an input and an output and the input of the second multiplier is coupled to both the second output of the switching circuit and the output of the first multiplier.
8. The method of claim 7 further comprising regulating the amplitude of the regulated current to encode a value of an output parameter on the regulated current.
9. The method of claim 8 wherein regulating the amplitude of the regulated current comprises receiving an input current over a line in a two-wire system.
10. The method of claim 8 wherein regulating the amplitude of the regulated current comprises regulating the amplitude over a range extending at least from 4milliamps to 20 milliamps.
11. The method of claim 8 wherein regulating the amplitude of the regulated current comprises encoding a value of a vortex frequency, a linear flow rate, or a volumetric flow rate as part of a vortex flow meter system.
12. The method of claim 7 wherein the first and second multipliers each comprises a voltage divider.
Description
DESCRIPTION OF DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
DETAILED DESCRIPTION
(11) General Description and Power Control
(12) Referring to
(13) Referring to
(14) The output 243 is coupled to a load 245 and a voltage divider 246. The load 245 represents circuitry operating at a voltage of V.sub.0 volts. The voltage divider 246 is a divide-by-two circuit, and also has the effect of doubling the current. Thus the voltage divider 246 can equivalently be referred to as a current multiplier. The voltage divider 246 is also a reversible power transformer, meaning that it can be operated in the reverse direction as explained below.
(15) The output 244 is coupled to a voltage divider 247 that divides the voltage by two and multiplies the current by two, providing the output signal to a load 248. The load 248 represents circuitry operating at V.sub.0/4 volts. In one implementation having V.sub.0 set to 14 volts, V.sub.0/4 is 3.5 volts and most of the circuitry for processing the fluid flow information operates at V.sub.0/4. The load 248 receives the communication lines 150 that include signals representing the vortex pressure signal as well as the pressure and temperature at a point away from the vortices. The load 248 supplies a control signal 249 to the current controller 240 indicating how much current the transmitter 140 should draw to properly encode the output parameter. The indication may be, for example, the level of the output parameter or the level of the current that should be drawn.
(16) The output 244 is also coupled to the output of the voltage divider 246. Because the voltage divider 246 is reversible, the controlled current is divided by two (and the voltage is doubled) by the voltage divider operating in reverse, and the resulting signal appears at the output 243 of the switch 241. Using a reversible power transformation, such as the voltage divider 246, allows the transmitter 140 to maintain a constant set of operating voltages irrespective of whether a low current or a high current is being drawn. Although the operating voltages are maintained, the amount of current at each of those voltages varies.
(17) Referring to
(18) At low current, the circuitry of one implementation of the transmitter 140 requires 15.8 volts plus the voltage drop across a 50 Ohm load. At 4 ma, the voltage drop across 50 Ohms is 0.20 volts and the total required voltage is 16.0 volts, as indicated in the graph 300. At 9 ma, the voltage drop across 50 Ohms is 0.45 volts and the total required voltage is 16.25 volts, as indicated in the graph 300. These voltages reflect a shunt regulated V.sub.0 equal to 13.75 volts. After 9 ma, as indicated in
(19) Referring to
(20) The line A reflects the output load allowable when the transmitter is drawing a high current. The data points in the line A assume that 22 mA is being drawn, which leaves the least amount of voltage remaining for the rest of the transmission system. Because the required voltage at 22 mA is 11.69 volts (V), there is approximately 12.3 V (2411.69) available. This allows a resistance of 559 Ohms (12.3 V/22 mA). A line B reflects the output load allowable when the transmitter is drawing a low current. The data points in the line B assume that 9 mA is being drawn, because that is the highest low current. Thus, data points on the line B have a resistance of (supply voltage16.25 V)/9 mA. If the line B were shown for 24 V, it would provide an allowable resistance of 861 Ohms (7.75 V/9 mA). As indicated in the preceding examples, the data points on each of the lines A and B assume that all supplied voltage except for the required compliance voltage is available and Ohm's Law (V=I*R) is used to determine the allowable output load at the maximum current. The maximum output load allowable for a system is the lower of the two values provided by the lines A and B for a given voltage supply. By lowering the required voltage at high currents, the transmitter 140 is making additional power available to the rest of the system when the system needs it most.
(21) A line C reflects the output load line for a transmitter with a compliance voltage of approximately 12.5 volts, for all current values. As can be seen, the implementation of the lines A and B, having a variable compliance voltage, allows a higher load resistance than the implementation of the line C for all supply voltages higher than approximately 19 V. The implementation of the lines A and B draws a power equal to (4 mA)*(16.25 V), or 65 milliwatts. The implementation of the line C, however, draws only (4 mA)*(12.5 V), or 50 milliwatts. Thus, for supply voltages of 19 V or more, the implementation of the lines A and B draws 30% more power than the implementation of the line C and allows a load that is at least as large.
(22) The allowable output load can be increased by moving the switching point and by lowering the required voltage at either high or low current. For example, if the switching point were lowered from 9 mA to a lower value, then the line B would maintain the same allowable resistance of zero Ohms at approximately 16.25 volts, but would rotate counterclockwise about that point (slope is 1/I). When the injection point is moved and the switching point is lowered, the minimum required power needs to be maintained. Thus, in the implementation of
(23) As explained earlier, the implementation of
(24) Referring to
(25) An examination of the slopes of the various lines is instructive. The line A has a slope of approximately 45.5 (1/0.022), whereas the line B has a slope of approximately 111.1 (1/0.009), which is more than twice that of the line A. The line A also has a slope of approximately 45, but the line B has a slope of only approximately 62.5 (1/0.016).
(26) Implementations of the transmitter 140 may switch at different current values and at multiple current values. Different schemes may be used to divide or multiply the voltage or current, including, for example, a divide-by-three circuit. More than one divider/multiplier may be reversible and different sets of operating voltages may be used. Further, the set of operating voltages need not be maintained for all current values. Different transmission schemes may also be used, such as, for example, a three-wire system with separate power and signal lines and a common ground. Even if appreciable operating power is not being drawn off of the same line on which the signal is encoded, implementations of the transmitter 140 can be used to lower the power consumed by a transmitter off of the signal line, thereby allowing the control room to be designed to provide a signal line having less power and improving the transmitter's cooling requirements. Implementations of the transmitter 140 are not restricted to vortex meter applications or to metering applications generally, and may be used in other applications in which a parameter is being communicated between two points.
(27) Data Processing
(28) Referring again to
(29) Another processing task involves converting a volumetric flow rate into a mass flow rate. Mass flow rate is equal to the product of volumetric flow rate multiplied by density. For compressible fluids, the density can vary considerably from point to point in the flow meter. It is desirable to determine an appropriate pressure value, referred to as a corrected pressure, that leads to a density that can be multiplied by the measured volumetric flow rate (determined by a vortex flow meter or otherwise) to yield the correct mass flow rate. Because temperature can be taken to be constant throughout the flow meter in certain implementations, density can be determined from pressure and temperature using the standard relation of density=(universal gas constant)*(temperature)/(pressure).
(30) By analyzing collected data it has been determined that the pressure measured downstream of a bluff body, relative to the pressure at the input to a flow meter, can be given by equation 1 below:
(31)
where, P.sub.ps=pressure measured at the pressure sensor location, P.sub.o=reference pressure at the input to the flow meter, k.sub.ps=constant related to location of the pressure sensor, .sub.ps=density determined at the measured pressure and temperature, and V.sub.VOR=flow velocity calculated from the vortex shedding frequency.
It has further been determined that the corrected pressure can be given by equation 2 below:
(32)
where, P.sub.c=corrected pressure as defined above, and k.sub.c=constant related to the unknown location of the corrected pressure.
Subtracting equation (1) from equation (2) yields equation 3 below for the corrected pressure:
(33)
where,
(34)
(35) The term k.sub.diff is a constant for a given flow meter line size, and can be determined by a mass flow calibration without having to determine the term k.sub.c. Two procedures are now described, both of which include measuring or otherwise determining the mass flow rate through the flow meter.
(36) Referring to
(37) The process 600 includes determining the volumetric flow rate and the velocity (620). In a vortex flow meter implementation, the volumetric flow rate may be determined by, for example, determining the vortex frequency and multiplying that frequency by K.sub.COR. The velocity can be determined, for example, from the volumetric flow rate by dividing by the cross-sectional area of the flow.
(38) The process 600 includes determining the corrected density (630). This may be done, for example, by dividing the mass flow rate by the volumetric flow rate, as shown in the following equation 4:
(39)
As equation 4 shows, the volumetric flow rate need not be determined explicitly in operation 620, because the vortex frequency and K.sub.COR are sufficient.
(40) The process 600 includes determining the temperature at a temperature sensor (640). Because the temperature does not change appreciably within the flow meter, the temperature at the temperature sensor may be assumed to be the same at other points within the flow meter, including the unknown location of the corrected pressure and density.
(41) The process 600 includes determining the corrected pressure (650). This may be done, for example, by using the corrected density, the temperature, and existing algorithms for determining pressure from density and temperature.
(42) The process 600 includes measuring the pressure at a pressure sensor (660) and determining the density at the pressure sensor (670). The density may be determined, for example, using the previously measured temperature which is assumed to be the same at the temperature sensor and the pressure sensor, and using existing algorithms for determining density from pressure and temperature.
(43) The process 600 includes determining k.sub.diff using the following equation 5, by plugging in the previously determined or measured terms (680):
(44)
Equation 5 is the same as equation 3 after solving for k.sub.diff.
(45) Referring to
(46)
where c is the velocity of sound in the gas.
(47) Equation 4 can be rearranged and expanded to yield equation 7 below:
Q.sub.m=.sub.cQ.sub.v=(.sub.ps+)Q.sub.v(7)
(48) Incorporating equation 6 into equation 7 yields equation 8 below:
(49)
(50) Solving equation 5 for the term (P.sub.cP.sub.ps), and substituting the result into equation 8 results in equation 9 below:
(51)
(52) Solving for k.sub.diff leads to the result shown in equation 10 below,
(53)
(54) The process 700 includes determining the mass flow rate of the fluid through the flow meter (710), and determining the volumetric flow rate and the velocity of the fluid through the flow meter (720). These operations are analogous to operations 610 and 620, respectively.
(55) The process 700 includes measuring the temperature at a temperature sensor (730), measuring the pressure at a pressure sensor (740), and determining the density at the pressure sensor (750). These operations are analogous to operations 640, 660, and 670, respectively.
(56) The process 700 includes determining the speed of sound in the fluid (760). The speed is determined at the measured temperature and pressure. Calibration tests may be performed in air to take advantage of the fact that the speed of sound in air as a function of temperature and pressure is well known.
(57) The process 700 includes determining k.sub.diff based on equation 10 (770). The determined value of k.sub.diff can then be used during operation of the flow meter to determine corrected pressure.
(58) As discussed above, the corrected pressure is that pressure that leads to a density that can be multiplied by the measured volumetric flow rate (determined by a vortex flow meter or otherwise) to yield the correct mass flow rate. Many techniques for determining the density corresponding to the corrected pressure (and the assumed constant temperature) involve lengthy computations and iterative algorithms. Such techniques introduce delays into the real-time determination of density.
(59) An implementation discussed below determines density, as a function of temperature and pressure, by accessing pre-computed values reflective of the density and interpolating between the accessed values. This implementation can be used, for example, to determine the density at the pressure sensor (670, 750) and to determine the corrected density during non-calibration operations.
(60) In this implementation, the pre-computed values are stored in a table so that the values can be accessed. The stored values are not density, however, because density can vary by several orders of magnitude, which can make it difficult to use a simple interpolation algorithm between two or more points. Instead, an error term reflective of the difference between the density and a standard approximation is stored. The error term has a smaller range, allowing a simpler interpolation algorithm. Further, the error term may be scaled to a supported range to provide better precision in calculations. The stored values are computed according to the following equation 11:
TableValue=ScaleFactor*(standard density)/(approximated density)(11)
(61) In operation, when a density is needed, the appropriate table values are accessed and interpolated to provide a TableValue corresponding to the pressure and temperature pair. To determine the density, the approximated density is calculated, multiplied by the interpolated TableValue, and divided by the known and constant ScaleFactor. Both the processes of creating one or more tables, and using those tables are now described in more detail with respect to a particular implementation.
(62) Referring to
(63) The process 800 includes determining temperature and pressure pairs of interest (820). This may include, for example, determining the actual pairs of interest or determining a range of pairs of interest. The temperature, pressure pairs need not be evenly spaced apart in either temperature or pressure. This allows one or more areas of greater change in the density, for example, to have pairs that are more closely spaced (higher sampling) than areas of lesser change. By spacing pairs more closely when the density is changing more rapidly, the range of the error term will be reduced and a simpler interpolation algorithm may be used.
(64) The process 800 includes selecting a density approximation (830). In one implementation, the Virial Equation, provided by the American Institute of Chemical Engineers (AIChE), is used. The implementation does not simply compute the Virial Equation density approximation and store that figure in a table as the density because the Virial Equation density approximation may have up to several percent error. The Virial Equation is given by equation 12 below:
B(T)=a+b/T+c/T.sup.3+d/T.sup.8+e/T.sup.9(12)
where, B(T) is the molar density expressed in units of m.sup.3/kg*mol, T is the temperature in degrees Kelvin, and a-e are constant coefficients.
The AIChE provides the coefficients a-e. B(T) does not represent an approximation to the standard volumetric density, but can be converted to a standard volumetric density with the following equation 13:
VEDensity=(Mol. Wt.)/(UGC*T/P+B(T))(13)
where, VEDensity is the density based on the Virial Equation, expressed in kg/m3, Mol. Wt. is the molecular weight, a constant for a particular material, expressed in kg/kg*mol, UGC is the Universal Gas Constant, expressed in Joule/(g*mol*deg Kelvin), and P is the absolute pressure, expressed in PAA.
(65) The process 800 includes modifying the density approximation (840). This operation is optional, as are various other operations even if not explicitly noted. In one implementation, the Virial Equation is modified by both using a lower order approximation of the Virial Equation and by tailoring the Virial Equation to the specific density values of interest.
(66) It has been determined the first three terms of the Virial Equation provide a reasonable approximation to the Virial Equation while also reducing the computational requirements. Equation 14 shows this approximation:
Ba(T)=a+b/T+c/T.sup.3(14)
where Ba(T) is an approximation to B(T), expressed in m.sup.3/kg*mol.
(67) Although the coefficients for the Virial Equation are provided by AIChE, a better approximation is possible in one implementation by tailoring the coefficients to the density values of interest. The coefficients can be tailored by fitting the standard density values into the form of the Virial Equation (or the form of the approximation to the Virial Equation). Solving equation 13 for B(T), and substituting the standard density for the VEDensity yields equation 15 below:
Bvalue=(Mol. Wt./StdDensity(T,P))(UGC*T/P)(15)
(68) A table of Bvalues can be created for various T,P pairs of interest as shown in TABLE 1 below, and the table represents the desired values of B(T):
(69) TABLE-US-00001 TABLE 1 P T Bvalue P0 T0 Bvalue(0)(0) P0 . . . . . . P0 Tm Bvalue(0)(m) . . . . . . . . . . . . . . . . . . Pn T0 Bvalue(n)(0) Pn . . . . . . Pn Tm Bvalue(n)(m)
The data can be fit to the form of the Virial Equation (or an approximation) using a least squares method, for example. The equation to be solved would take the form of equation 16 below:
Bvalue=a+b/T+c/(T).sup.3+d/(T).sup.8+e/(T).sup.9(16)
Because the change in density is proportional to the change in 1/T, we substitute iT=1/Tm, which yields equation 17 below:
Bvalue=a+b*iT+c*(iT).sup.3+d*(iT).sup.8+e*(iT).sup.9(17)
Solving equation 17 yields the coefficients a-e.
(70) The process 800 includes determining the standard density for the temperature, pressure pairs of interest that are on one side of the saturation line (850). The standard density is determined, for example, using the standard selected in operation 810. To determine whether a temperature, pressure pair has crossed over the saturation line, one implementation uses a standard equation for the saturation line.
(71) The process 800 includes extrapolating the standard density values across the saturation line for all temperature, pressure pairs of interest on the other side of the saturation line (860). An extrapolated density value is used instead of the actual density value because the density can be very non-linear at, and near, the saturation line. Extrapolating standard density values across the saturation line (for example, from gas to liquid, or from liquid to gas), and storing a related point in the table, allows the table to be interpolated for a temperature, pressure point arbitrarily close to the saturation line using the same interpolation algorithm that is used with the rest of the table. Rather than storing extrapolated density values from the other side of the saturation line, other implementations may detect when a temperature, pressure pair is close to the saturation line and then use a different technique to determine the density. Implementations may also interpolate/extrapolate needed density values from existing table points on the same side of the saturation line; however, providing one or more extrapolated points can improve the accuracy of the interpolation.
(72) Referring to
(73) In one implementation, extrapolated points are needed on the liquid side of the saturation line. Density values are computed for 300-400 temperature, pressure pairs near the needed point, but on the gas side of the saturation line, using a standard density algorithm. These density values are then fit to equation 18 below, which is a second-order equation that will be relatively simple to extrapolate:
D=c0+c1*P+c2*P.sup.2+(c3+c4*P+c5*P.sup.2)*T+(c6+c7*P)*T.sup.2(18)
After the coefficients c0-c7 are determined, equation 18 can be used to compute the extrapolated standard density for temperature, pressure pairs of interest.
(74) The process 800 includes determining the density approximation for each temperature, pressure pair of interest (870). This may be done, for example, using equation 13 above for the density based on the Virial Equation. If the approximation breaks down over the saturation line, then an extrapolation may be used.
(75) The process 800 includes determining an error term for each of the temperature, pressure points in the table (880). In one implementation, the error term is the ratio of the standard density value to the approximated density value, as indicated in equation 11 above. Other implementations may use, for example, the inverse ratio (approximated density/standard density, or a difference between the approximated density and the standard density.
(76) The process 800 includes scaling the error term and storing the scaled error term in the table (890). The range of error terms computed may be scaled, but scaling is optional in the process 800. Scaling may provide various advantages. For example, scaling may lower the required processor time if the table can be implemented with integers and the errors are still acceptable.
(77) If non-even spacing is used, as indicated in operation 820, one or more variable-arrays can be created to index into the density error table. In one implementation, a temperature array and a pressure array are created that store each of the temperature and pressure values represented in the density error table. TABLE 2 below shows a pressure array (columns one and two) and a temperature array (columns three and four) for such an implementation. In TABLE 2, the pressure and temperature are listed that correspond to each of the indices, Pindex and Tindex, into the density error table. For example, the density error value in the second row and second column of the density error table corresponds to a pressure of 100,000 PAA and a temperature of 315 degrees Kelvin.
(78) TABLE-US-00002 TABLE 2 Pressure (PAA) Pindex Temperature (K) Tindex 0 1 300 1 100,000 2 315 2 200,000 3 318 3 . . . . . . . . . . . . 1,000,000 N 1 500 M 1 10,000,000 N 600 M
Other mechanisms may be used to index into the density table. Examples include arrays, tables, equations, and programs statements, such as, for example, case statements from C.
(79) Referring to
(80) The process 1000 includes determining the Tindex, Pindex pairs surrounding the temperature and pressure of interest (1020). This may be done, for example, using a table such as TABLE 2 above. In one implementation, 22 linear interpolation is used and, therefore, four surrounding pairs are determined unless the temperature or the pressure is the same as that of one of the indices.
(81) The process 1000 includes accessing table values for each of the surrounding Tindex, Pindex pairs (1030), and interpolating between these pairs (1040). TABLE 3 below shows, for one implementation, the four pairs of surrounding Tindex, Pindex pairs and the associated table values that are accessed.
(82) TABLE-US-00003 TABLE 3 Y1 (TindexStart + 1) Tbl2 Tbl3 Y0 (TindexStart) Tbl0 Tbl1 X0 (PindexStart) X1 (PindexStart + 1)
The four table values can be interpolated, in one implementation, by solving the following set of four equations 19.1-19.4:
Tbl0=A+B*X0+C*Y0+D*X0*Y0(19.1)
Tbl1=A+B*X1+C*Y0+D*X1*Y0(19.2)
Tbl2=A+B*X0+C*Y1+D*X0*Y1(19.3)
Tbl3=A+B*X1+C*Y1+D*X1*Y1(19.4)
where, X0 and X1 are the pressure at the corresponding index, expressed in PAA, Y0 and Y1 are 1/temperature at the corresponding index, expressed in 1/degrees K, and Tbl0-Tbl3 are the table values, which are unitless.
(83) Equations 19.1-19.4 can be solved for the coefficients A-D with the pseudo-code in TABLE 4 below:
(84) TABLE-US-00004 TABLE 4 dX10 = X1 X0 dY01 = Y0 Y1 dTbl10 = Tbl1 Tbl0 D = (tbl2 tbl3 + dTbl10)/(dX10 * dY01) dX0 = D * X0 C = ((tbl0 tbl2)/dY01) + dX0 B = dTbl10/dX10 D * Y0 A = tbl0 B * X0 C * Y0 + dX0 * Y0
After the values for the coefficients A-D are determined by solving equations 19.1-19.4, the interpolated table value can be determined as follows in equation 20:
InterpolatedTblVal=A+B*X+C*Y+D*X*Y(20)
where, X is the pressure value of interest, expressed in PAA, Y is the inverse of the temperature value of interest, expressed in 1/degrees K, and InterpolatedTblVal is the interpolated value of the table, which is unitless.
(85) The process 1000 includes determining a density approximation for the temperature and pressure of interest (1050). In one implementation, a density approximation is calculated according to equation 13, using the virial equation as described in either equation 12 or equation 14.
(86) The process 1000 includes estimating the standard density for the temperature and pressure of interest (1060). In one implementation, the standard density is estimated according to equation 11 by solving for standard density and substituting InterpolatedTblVal for TableValue, yielding equation 21 below:
Est.D=InterpolatedTblVal*(Approx. Density)/ScaleFactor(21)
where, Est.D is the estimate of the standard density, and Approx. Density is the approximated density.
For temperature, pressure pairs that correspond to density error table entries, the estimate will be the same as the standard density value, assuming no precision is lost in the calculations. The term estimating is used as a subset of the term determining.
(87) The process 1000 may be used with multiple tables. In one implementation, density tables are created for a variety of materials and for different states for each of the materials, with one table per state per material. The process 1000 is informed of the table to use by, for example, providing the process 1000 information on the material and state or providing the process 1000 an address or other pointer to the appropriate table. In this implementation, the process 1000 uses the same interpolation process or technique and the same equation for determining approximated density for each of the states and materials. It is not necessary, however, in this implementation, to use the same standard for each of the states and materials. Other implementations of the process 1000 use different interpolation processes or techniques and/or different equations for approximated density for the various supported states and materials, and provide information to the process 1000 indicating which process or technique and/or equations to use.
(88) The processes 800 and 1000 can be combined in an implementation that produces density determinations within 0.1% of the standard density value, while at the same time requiring relatively minimal calculations by the end device. This may be advantageous for end devices, such as, for example, vortex flow meters, other metering devices, and other devices used to process data. Many end devices include controllers having limited random access memory (RAM) and clock rates. Controllers include, for example, processors, controller chips and chip sets, application specific integrated circuits (ASICS), programmable logic devices (PLDs), digital signal processors (DSPs), and other devices capable of executing instructions.
(89) Additional Variations
(90) Referring again to
(91) The processes and systems described above for determining and using corrected pressure and/or the corrected density can be used in a variety of applications that require density, including, for example, tank level calculations, steam quality determinations, and energy content determinations.
(92) The components and operations described in the various implementations above may generally be interchanged, supplemented, or omitted. For example, a circuit component such as, for example, a resistor, a capacitor, an inductor, a transformer, an isolator, an operational amplifier, or a filter may be desired in one or more locations of an implementation. The terms coupled and injected, and their cognates, are understood to allow for other components to be disposed between two coupled components or between a switch and an injection point, for example.
(93) As indicated earlier, the transmitter may communicate over other communication lines, including, for example, 2-wire, 3-wire, cable, and free space. The implementations disclosed may be used with devices, such as, for example, transmitters, that do not regulate a received current amplitude. For example, a device may receive a variable current from a supply and may use the power management concepts disclosed herein to reduce the voltage required by the device when a high current is being received. The current regulation, control, or varying, may be done by another device, such as, for example, a control room or a supply. Additionally, the varying current need not encode information. The disclosed implementations for data processing may be used with a variety of communication systems including, but not limited to, a 4-20 mA system. Other communication systems, standards, techniques, and protocols, including, for example, Foundation fieldbus by the Fieldbus Foundation of Austin, Tex., the HART standard, and other digital, analog, or hybrid analog/digital techniques. The various concepts disclosed herein can be used independently and need not be combined.
(94) Various of the processes, algorithms, and techniques disclosed may be implemented in instructions that can be stored on a storage medium, such as, for example, a floppy diskette, a compact diskette, a hard disk, random access memory (RAM), or read only memory ROM). A storage medium may be included in a device, such as, for example, a controller.
(95) A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made. Accordingly, other implementations are within the scope of the following claims.