`Romano
`
`[11] Patent Number:
`[45] Date of Patent:
`
`4,996,871
`Mar. 5, 1991
`
`[54] CORIOLIS DENSIMETER HAVING
`SUBSTANTIALLY INCREASED NOISE
`IMMUNITY
`[75] Inventor:
`Paul Romano, Boulder, C010.
`[73] Assignee: Micro Motion, Inc, Boulder, C010.
`[21] Appl. No.: 490,099
`[22] Filed:
`Mar. 9, 1990
`
`Related US. Application Data
`Division of Ser. No. 361,000, Jun. 2, 1989.
`
`[62]
`
`[51] Int. Cl.’ . . . . .
`
`. . . . . . . . . . . , . . . . . .. G01N 9/00
`
`[52] US. Cl. ........................................ .. 73/32 A
`[58] Field of Search ............ .. 73/86l.38, 32 A, 861.37
`[56]
`References Cited
`U.S. PATENT DOCUMENTS
`
`Re. 31,450 11/1983 Smith ............................. .. 73/86l.38
`
`Re. 31.971 8/1985 Gold . . . . . . . . . .
`
`. . . . . . .. 73/462
`
`2,635,462 4/1953 Poole et a1. . . . .
`
`. . . . .. 73/32
`
`73/32
`3,456,491 7/1969 Brockhaus
`73/462
`3,527,103 9/1970 Hale et a1. .,
`364/484
`4,093,988 6/1978 Scott ........ ..
`73/194
`4,127,028 11/1978 Cox et a1.
`73/194
`4,192,184 3/1980 Cox et a1.
`73/116138
`4,252,028 2/1981 Smith et a1.
`73/815138
`4,311,054 1/1982 Cox et a1.
`73/861.38
`4,422,338 12/1983 Smith
`73/86L27
`4,445,389 1/1984 Potziclt
`.... .. 364/508
`4,450,529 5/1984 Hill et a1.
`, 73/861.38
`4,491,025 1/1985 Smith
`4,660,421 4/1937 Dahlin =1 al. ............... "I. Til/861.38
`
`FOREIGN PATENT DOCUMENTS
`WO88/02105 3/1988 World 1m. Prop. 0,.
`
`OTHER PUBLICATIONS
`W. Steffen et a], “Direct Mass Flow Metering in Partic_
`
`ular by Means of Coriolis Methods", 01M Seminar,
`Arles, France, May ll—15, 1987, pp. 144
`
`Primary Examiner-Herbert Goldstein
`Attorney. Agent, or Firm-Peter L. Michaelson
`
`ABSTRACT
`[57]
`Apparatus and accompanying methods for use therein
`for a Coriolis mass flow rate meter which is substan
`tially immune to noise, and more particularly, to such a
`meter that is substantially unaffected by noise that oc
`curs at substantially any frequency different from a
`fundamental frequency at which the ?ow tube(s) in the
`meter vibrate. Speci?cally, the meter relies on measur
`ing mass flow rate by determining the phase difference
`that occurs between real and imaginary components of
`the discrete fourier transform (DFT) of both the left
`and right velocity sensor waveforms evaluated at the
`fundamental frequency at which the flow tubes vibrate.
`The fundamental frequency is located, during an initial’
`ization operation, by providing a power spectrum, de‘
`termined through use of the DFT of one of the sensor
`signals and then selecting that frequency at which the
`magnitude of the power spectrum reaches a maximum
`value. In addition, the frequency at which both velocity
`sensor signals is sampled is readjusted in response to any
`change in the phase of one of the velocity sensor signals,
`as transformed using the DFT, in order to assure that
`the sampling frequency always remains substantially
`equal to a pre-de?ned integer multiple of the fundamen
`tal frequency. Furthermore, the meter, through use of
`the numerical value of any such phase change, also
`provides a density indication which is also substantially
`immune to such noise.
`
`12 Claims, 35 Drawing Sheets
`
`SERILL (INPUT SIGNALS
`ANALOG 5 DIGITAL
`PFUCESS OUTPUT SlBiJLS
`All’ LURE
`
`llPUT SllITCH SIMS
`
`1
`
`Micro Motion 1018
`
`
`
`US. Patent
`
`Mar. 5, 1991
`
`Sheet 1 of 35
`
`4,996,871
`
`22% 5&2 Egg
`
`is; a was: a
`
`$512 5::
`
`R
`
`a
`
`H 6:
`
`F2
`gs
` 322:5 ism E82 E1 _ 5m: w 5% WEE _ . f ,
`v x U W 5% E85 5%: _
`
`
`
`
`x m2 m2 2. pa
`222m E?
`
`
`
`ml
`
`2
`
`
`
`1588w882S1,8N........5.:88“.5153u82:3:38M:8.
` .888a888...85:3“3:38o.mam88is:8”:..............
`
`.8811;#8E888“Da.
`
`381%mam88%
`m8amI8:82
`E:
`
`US. Patent
`
`
`
`85:5gflmmm
`
`8-
`
`.588
`
`>5+
`
`Eozmx
`
`
`
`3552Exam.
`
`.szcum...2:
`
`mmm
`
`mmm
`
`
`
`i88.H8hflfimf88:88.8888
`
`“dN65...
`
`3::8:.
`
`8
`
`.an88:85%3888:858
`
`.m.8888%m828:8i8a88:88m8
`
`5888$88
`
`38:828888888:888:88
`
`mom2mc3><.Em3
`
`4,996,871
`
`xmazfi>om
`
`Hz<8mzou8SEE:madmmmm2:
`
`8:582882888::
`
`8:8888:885888::8::
`
`m=m
`
`5:5sz
`
`888
`
`888
`
`$88888..—-_
`5888n5%8888I.(8:8m8
`8.88888=
`E88=:8888-38888-$83.”;Em:-5:..—
`
`h.mam
`
`8+8:n8as
`.>4¢m=m
`
`8m
`
`mmm
`
`mEEEm»m+
`
`szSma952253
`
`m2Sc:2...
`
`£255me
`
`98888
`
`88888
`
`8.888
`
`3
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`US. Patent
`
`Mar. 5, 1991
`
`Sheet 3 of 35
`
`4,996,871
`
`11115111:1:.
`
`mm
`
`12111111131114
`
`1111181181m2m1111
`
`
`
`111111112121111311112111111fizfiwzmzeK111
`ma5a.“111181111
`
`1151111111111111111181111::m3.1.
`
`
`
`111111811111.gm.
`
`am1133111121111:
`
`1111m11
`
`
`
`
`
`113.II.111::11811:11111111111311
`
`
`
`11111.........1111.111:1111:11111121..
`
`
`
`
`1111111111111i---1\m0-1.1.mme-1.-1.\11.1.-111111133-1111111-5-1-..1--%w§wfi.£1_.:1v.111111111111
`
`
`
`
`
`1112111-1N111...11mm...11111...1-11::311.1.
`
`
`111mm.............................111111182111,
`
`
`
`1....................----H--Hn.11a}1.03--...5.2.4:£13.15me
`
`
`
`
`111%mD51121mI.mos:Em:mInnum...
`.1N11111211115511111111111111112To:
`1131.
`11111111111111111m-...........I........3%A11811111511111.
`
`111211111281-:1111111:11
`
`
`
`
`
`
`
`
`
`FommmommomI.“mm.—11111111_1mmm111:111::1111.1........111111I.so21>so21121231_28%.a::\mn:z<_
`
`
`
`_...............
`
`
`
`unl'mamwwmflfiuuunum._mm:ES:1v"ambit--.m1111111111111111m1.111>1mmama111111111111.1511.
`
`tSod>
`
`382%
`
`zoE
`
`511111111114:;11111:111111”
`
`
`
`
`
`
`
`
`
`4
`
`
`
`
`US. Patent
`
`Mar. 5, 1991
`
`Sheet 4 of as
`
`4,996,871
`
`6228
`5%.? h M52 as
`
`E :8 1
`
`ME: 2 £1 21
`
`was; a
`
`at
`
`55 at 5%
`
`52%
`
`5% m2 m2“ :3
`
`25% emu
`
`a :55 5% v d:
`
`
`
`“2:2 as .r: -- IEEEEEEE :5 2E
`
`
`
`. E :2 15% E8?
`
`
`
`
`
`"w ............ :|_ 1 cs smzww ESQ, _ ES: :52 EE
`
`5
`
`
`
`US. Patent
`
`Mar. 5, 1991
`
`Sheet 5 of 35
`
`4,996,871
`
`FIG. 5
`TIME INTERVAL (At)
`MEASUREMENT CIRCUIT
`MAIN PROGRAM
`
`ENTER
`{POWER-ON RESET)
`
`EXECUTE INITIALIZATION
`ROUTINE 600
`
`$510
`
`A
`
`EXECUTE PHASE ANGLE CALCULATION ROUTINE 1200
`TO DETERMINE VALUE OF FILTERED PHASE DIFFERENCE,
`PHASEg, BETMEEN BOTH FLOH TUBE
`VELOCITY SENSOR SIGNALS (CHANNEL 1 C 2)
`
`_P520
`
`CALCULATE At MEASUREMENT:
`At_-K * PHASE2
`MHERE K=SCALE FACTOR
`
`l
`
`LOAD At MEASUREMENT INTO BUS INTERFACE 370
`FOR COMMUNICATION TO HOST P, AND
`CIILTMPLETEI
`GENERATE 'At MEASUREMENT
`INTERRUPT TO HOST PP
`
`1
`
`EXECUTE FREQUENCY TRACKING ROUTINE 1300
`TO DETERMINE FREQUENCY ERROR DUE TO
`CHANGES IN FLUID DENSITY AND
`MODIFY DURATION OF SAMPLING INTERVAL PRODUCED
`BY TIMER 340 ACCORDINGLY
`
`T
`
`6
`
`
`
`US. Patent
`
`Mar. 5, 1991
`
`Sheet 6 of as
`
`4,996,871
`
`g) ENTER
`
`EXECUTE POMER ON I 605
`DIAGNQSTICS
`
`FIG‘ 6
`INITIALIZATION ROUTINE
`Bl
`
`515
`5
`SEND APPROPRIATE
`FAULT MESSAGE
`TO HOST
`MICROPROCESSOR.
`VIA BUS INTERFACE 370
`
`é
`
`EXIT
`[RETURN TO ENTRY POINT A IN
`TIME INTERVAL MEASUREMENT
`CIRCUIT MAIN PROGRAM 500}
`
`READ FILTER TIME CONSTANT (F CONSTANT)
`AND VERNIER INDEX (V INDEX] THAT HAVE BEEN
`DOWNLOADED FROM HOST MICROPROCESSOR 205
`
`r 525
`EXECUTE DFT ROUTINE 700 TO PERFORM COURSE FREQUENCY SEARCH:
`SAMPLE LEFT VELOCITY MAVEFQRM (CHANNEL 1) AT FIXED SAMPLE OF 640 HZ
`AND CALCULATE MAGNITUDE OF DISCRETE FOURIER TRANSFORM LOFT)
`l
`f 530
`SELECT COURSE FREQUENCY VALUE (nmaX)
`AT MHICH MAGNITUDE OF DFT IS MAXIMUM
`
`I
`FIX VALUE OF 'n' (OFT FREQUENCY COMPONENT) TO n
`CALCULATE AND STORE CORRESPONDING OIVISOR (D) MITHIN YTMER 34o "\- 53s
`
`I
`-EXECUTE VERNIER SEARCH ROUTINE 800 TO REPETITIVELY
`INCREMENT VALUE
`OF SAMPLING INTERVAL AND CALCULATE DFT AT FIXED FREQUENCY TO CDMPUTE
`POMER SPECTRA MITH . 1 H2 RESOLUTION MITHIN RANGE OF nmax + 5 H2
`UNTIL MAXIMUM MAGNITUDE IS OBTAINED; AND
`-STORE OIVISOR VALUE, Dmax, ASSOCIATED MITH MAXIMUM
`
`I
`
`RESCALE SAMPLING FREQUENCY
`(OUTPUT OF TIMER 34D) USING
`STORED OIVISOR VALUE, Dmax, AND
`ADJUST SAMPLING FREQUENCY TO
`EQUAL 12B TIMER FUNDAMENTAL
`FLOM TUBE FREQUENCY
`
`MAGNITUDE
`L 640
`
`V545
`
`é EXIT
`
`7
`
`
`
`US. Patent
`
`Mar. 5, 1991
`
`Sheet 7 of 35
`
`4,996,871
`
`FIG. 7
`
`DFT ROUTINE
`Ll
`
`ENTER
`
`@
`
`‘A 705
`
`INITIALIZE VARIABLES:
`"'“1
`N-'-128
`MAGgw‘O
`I
`SET CONTENTS OF
`TIMER 340 TU INITIALLY “no
`PROVIDE 540 HZ SAMPLING
`.
`FREQUENCY
`
`J4
`
`EXECUTE HEAL-IHAG COMPONENT ROUTINE 900
`To DETERMINE VALUES OF REAL mu
`IMAGINAHY COMPONENTS OF LEFT VELOCITY SENSOR
`HAVEFORM 0N CHANNEL 1 (Re1,1m1) AT
`FREQUENCY n
`
`CUMPUTE MAGNITUUEI
`HAGNEH ‘R812 +Irn13 \A 720
`
`1
`
`1m
`
`M 735
`
`MABOLD__MAGNEH
`
`765 A/
`
`STORE n VALUE;
`"Raxf"n
`
`INCREHENT FREQUENCY: “755
`nan-n+1
`
`750
`N0
`
`nZN
`YES
`RETURN
`
`8
`
`
`
`US. Patent
`
`Mar. 5, 1991
`
`Sheet 8 of 35
`
`4,996,871
`
`FIG.8
`VEQNIER SEARCH
`
`ROUTINE
`59g
`
`(? ENTER
`
`INITIALIZE VARIABLESZ
`"""'"max
`HAGo1d_-0
`n--(1 x 107) (nmaX+5)
`
`\.,-_ 910
`
`I-L
`
`ExEcuTE REAL-IRAS COMPONENT ROUTINE 900
`To DETERMINE VALUES OF REAL AND IMAGINARY
`CDMPGNENTS 0E LEFT VELOCITY SENSOR HAVEFORM (H91. m1)
`FOR FREQUENCY COMPONENT nmax
`I
`COMPUTE HAGNITUDE: “830
`UAGnew"" He 12+Im12
`
`NO
`
`840
`
`YES
`STUREI
`HAG01d_-UAGDEH v 850
`I
`STORE D VALUE:
`Dmax‘"D “860
`
`“ 845
`
`U
`
`N
`
`DECREHENT D BY USER SUPPLIED VERNIER INDEX (V INDEX)
`D-'-D - V INDEX
`AND LUAD VALUE INTO TIMER A TO INCREASE (SLEN)
`SAMPLING FREQUENCY
`
`9
`
`
`
`US. Patent
`
`Mar. 5, 1991
`
`Sheet 9 of 35
`
`4,996,871
`
`ENTER
`
`W 903
`
`FIG‘.9
`
`FIG.
`9A
`FIG.
`95
`
`REAL-IMAG CUHPONENT
`ROUTINE
`9.0.0.
`
`v" 908
`
`w 925
`
`READ SAHPLED VALUE. 3.
`FROM 5/0 320
`
`“A 9“
`
`RESET INPUT
`
`SEND FAULT MESSAGE
`TO HOST pP VIA BUS v‘ 923
`INTERFACE 370
`
`EXIT
`(RETURN TO ENTRY PRINT A IN
`TIME INTERVAL MEASUREMENT
`CIRCUIT MAIN’ PROGRAM 500)
`
`l
`
`10
`
`
`
`US. Patent
`
`Mar. 5, 1991
`
`Sheet 10 of as
`
`4,996,871
`
`FIG. 9B
`HEAL-IMAGE
`COMPONENT
`ROUTINE
`9.0.0.
`
`EXECUTE CHANNEL 2 HEAL'IMAG
`CDMPUTE ROUTINE “00 To UPDATE
`DFT HEAL mu IMAGINARY
`CWPDNENTS 0F RIGHT
`VELOCITY SENSOR SIGNAL
`(CHANNEL 2)
`
`f‘ 931
`EXECUTE CHANNEL 1 HEAL-IMAG
`COHPUTE ROUTINE 1000 T0 UPDATE
`0110011110115 OF DH HEAL AND IMAGINARY
`COMPONENTS OF LEFT VELOCITY
`sanson SIGNAL [CHANNEL 1)
`
`|
`INCHEHENT cuum: A 941
`coum~coum + 1
`
`1
`11101415112111 INDEX: V944
`INDEX -—_INDEX+1+n
`
`947
`
`INDEX >
`128?
`
`MUDIFYVINDEX: m 951
`INDEX-I-INIJEX-QB
`
`955A,
`
`K953
`
`N0
`
`NT 2
`128?
`
`EXIT
`
`11
`
`
`
`US. Patent
`
`Mar. 5, 1991
`
`Sheet 11 of as
`
`4,996,871
`
`FIG.10
`
`CHANNEL 1 REAL-IMAG
`CDMPUTE RDUTINE
`
`1030
`/
`1
`CDNPUTE ADDRESS, INDEXC. TD CDSINE VALUES IN SINE VALUE
`LDDK UP TABLE; INDEX "INDEX + STARTC.
`NHERE STARTCIS STARTING A DRESS FDR CDSINE VALUES
`
`UPDATE VALUE OF REAL COMPONENT: .
`Re1--He1 + SHABLE [INDEXd
`
`1040
`
`CDNPUTE ADDRESS. INDEXS, TD SINE VALUES IN SINE
`LDDK UP TABLE:
`INDEX 3 _-INDEX + START5, NHERE “1050
`STARTC IS STARTING ADDRESS FDR SINE VALUES
`
`UPDATE VALUE OF IMAGINARY COMPONENT: “1060
`Imp-#1111 + S_*TABLE (INDEXg)
`
`RETURN
`
`12
`
`
`
`US. Patent
`
`Mar. 5, 1991
`
`Sheet 12 of 35
`
`4,996,871
`
`FIG.11
`CHANNEL 2
`REAL-IMAG
`CDMPUTE
`RDUTINE
`
`“1120
`
`R
`
`INITIALIZEI
`R82 *0
`I102 1I-0
`
`CDMPUTE ADDRESS, INDEXC. TD CDSINE VALUES IN SINE
`LOOK UP TABLE: INDEXC-II-INDEX + STARTC, NHERE
`STARTC IS STARTING ADDRESS FDR CDSINE VALUES
`
`‘A1130
`
`—LT
`1
`
`UPDATE VALUE OF REAL CDMPDNENTI
`RB2_-Re2 + S*TABLEIINDEXC)
`
`“"1140
`
`I
`
`CDMPUTE ADDRESS, INDEXS, TD SINE VALUES IN SINE
`LDDK UP TABLE: INDEX 5--INDEX + STARTS, NHERE
`STARTS IS STARTING ADDRESS FDR SINE VALUES
`
`l
`
`UPDATE VALUE OF ‘IMAGINARY conponem:
`Img_-Img + SHABLE (mnexsl
`
`V1150
`
`RETURN
`
`13
`
`
`
`US. Patent
`
`Mar. 5, 1991
`
`Sheet 13 of 35
`
`4,996,871
`
`ENTER
`
`FIE-7.12
`PHASE ANGLE CALCULATION
`ROUTINE
`1299.
`
`W121i)
`
`SET FREOUENCY INDEX n
`TO MEASURED FUNDAMENTAL FLOW TUBE
`DRIVING FREQUENCY, nmax:
`"*j?max
`
`1
`
`EXECUTE REAL-IMAG COMPONENT ROUTINE 900 TO DETERMINE
`VALUES OF REAL AND IMAGINARY COMPONENTS OF BOTH CHANNELS
`(RB1,IIII1] AND (R82, I512) ONLY AT TUBE DRIVING FREOUENCY nmax
`
`\A 1230
`
`l
`
`FILTER VALUE OF PHASE USING THO STAGE RECURSIVE
`(SINGLE POLE) DIGITAL FILTER GIVEN USER
`SUPPLIED FILTER CONSTANT [F CONSTANTTJAND
`STORE FILTERED PHASE VALUE AS PHASE2
`
`RETURN
`
`14
`
`
`
`US. Patent
`
`Mar. 5, 1991
`
`Sheet 14 of as
`
`“4,996,871
`
`ENTER
`
`FIG. 13
`FREQUENCY TRACKING
`ROUTINE
`13m
`
`READ SAMPLED VALUE, 3.
`FROM A/D 320 FOR LEFT “1310
`VELOCITY SENSOR MAVEFORM
`
`“1315
`
`V1330
`EXECUTE REAL-IMAG COMPONENT ROUTINE 900 TO DETERMINE VALUES OF REAL AND
`IMAGINARY COMPONENTS OF LEFT VELOCITY SENSOR NAVEFORM (R91, Irn1I AT PRESENT
`FLOM TUBE FUNDAMENTAL DRIVING FREOUENCY, um
`I
`COMPUTE PHASE MEASUREMENT MITH RESPECT TO ZERO CROSSING
`FOR LEFT VELOCITY SENSOR MAVEFDRMI
`Inu
`. PHASE- H81
`
`\/-1340
`
`FILTER VALUE OF PHASE USING THO STAGE
`RECURSIVE SINGLE POLE DIGITAL FILTER GIVEN $1350
`USER SUPPLIED FILTER CONSTANT IF CONSTANT) AND
`STORE FILTERED PHASE VALUE AS PHASE1
`
`SCALE PHASEj VALUE;
`PHASE1--PHASE1* a, MHEREI
`a = SCALING FACTOR
`I
`UPDATE, VALUE OF DIVISDR FUR TIMER 340 TO
`ACCOUNT FDFI FREQUENCY ERRURI
`Dmax-o-Dmax - PHASE}
`I
`LOAD Dmax INTO TIMER 340 TO MAINTAIN SAMPLING
`RATE AT 128 TIMES FUNDAMENTAL TUBE DRIVING FREDUENCY V\13180
`
`“1350
`
`V1370
`
`I
`
`CALCULATE DENSITY;
`DENSITY-'- PHASE1 * b + DENSITYQ V‘1390
`AND OUTPUT TO DISPLAY, IF DESIRED
`
`é EXIT
`
`15
`
`
`
`US. Patent
`
`Mar. 5, 1991
`
`Sheet 15 of 35
`
`4,996,871
`
`FIG. 14
`
`
`
`0 POTTER ON RESET
`
`402
`
`INITIALIZE G
`
`”5- 14“
`HOST MIGROPROOESSOR
`(UP) MAIN PROGRAM
`AAQQ
`
`CDNFIGUHE SYSTEM
`
`403 a .....................
`
`RESET DISPLAY C
`DISPLAY INITIAL BANNER
`
`
`PERFORM DIAGNOSTICS
`(DISPLAY. POWER SUPPLY.
`
`
`HICHDF’RDCESSDR RAM, EPHDM.
`NDVRAM. MD)
`
`405
`
`YES
`
`
`
`
`DIAGNOSTIC
`FAILED?
`
`
`NO
`
`409
`
`404
`
`1401’“—
`
`405
`
`FLAG AS AULT
`
`
`CONDITION C ENTER
`
`
`CORRESPONDING FAULT
`
`
`
`CODE 8 TIME/DATE STAMP
`
`
`
`IN FAULT STACK IN NDVRAM
`
`
`mm---..__________—------------..L---------___-
`
`557;
`
`
`
`
`RE—AOGESS
`PARAMETER
`
`YES
`
`407
`RETRIEVE PARAMETERS FROM NOVRAM
`£4408“
`EXECUTE FAULT
`(ALARM LIMITS.
`INPUT FILTER,
`:I
`ROUTINE 1800 "
`TIME CONSTANT]
`A
`I
`I
`_____________________________________
`j i
`FPARAMETER
`411
`m |
`i
`l
`VALIDATION
`413
`.
`I
`, RDUTINE1410
`'
`I
`I
`I
`i
`[
`;
`g
`;
`418
`l
`i
`|
`417
`:
`E
`:
`<0 I
`i
`!
`I
`'
`I
`»
`(FAULT
`|
`i
`I
`CONDITION)
`:
`I
`:
`“9 f
`E
`I
`
`.
`I
`.
`'
`3
`i
`!
`:
`.
`.
`i
`.
`|
`i
`I
`'
`5
`'
`I
`EXECUTE FAULT
`|
`"Li
`ROUTINE 1800
`‘
`:
`I_ _____________________________________ .J 5
`
`
`ANY ACCESSED
`PARAMETER FALL
`
`OUTSIDE ITS CORRESPONDING
`
`
`
`
`FLAG AS FAULT
`RANGE?
`CONDITION O ENTER
`CORRESPONDING FAULT
`CODE G TIME/DATE STAMP
`IN FAULT STACK IN NOVRAM
`1420
`
`N0
`
`415
`
`
`
`
`
`
`
`____
`
`16
`
`16
`
`
`
`US. Patent
`
`Mar. 5, 1991
`
`Sheet 16 of as
`
`4,996,871
`
`.
`I
`FIG. 145 ENABLE DRIVE cmcun 421
`
`{-1435
`JLJH
`
`I J-—1 H422
`
`EXCESS
`DRIVE SIGNAL
`
`f
`SET up
`1435 ’\—1 INTERRUPT MASK
`
`‘
`
`‘
`
`1437 ‘A ENABLE At MEASUREMENT
`COMPLETE INTEHRUPT
`I
`143g~ SET SOFWfRE TIMERS-
`To PHE DEFINED
`11mm; INTERVALS:
`s_coum1 ‘1111150011
`S_C0UNTg-TIME0UT2
`
`r1428
`FLAG AS FAULT CUNDITIUN S
`,ENTER CORRESPONDING FAULT
`CUDE 8 TIME/DATE STAMP IN
`FAULT STACK IN NUVRAM
`I
`{1430
`EXECUTE FAULT
`nuunne 1800
`
`P433
`
`I
`
`r1443
`I
`SIEHAEOESEUEEUSBIIFIIIS
`0005 & TIME/DATE STAMP IN
`FAULT STACK IN NOVRAH
`444
`P
`EXECUTE FAULT
`nnunmz 1800
`
`445
`f1
`
`DIAGNOSTICS
`
`442
`
`17
`
`
`
`US. Patent
`
`Mar. 5, 1991
`
`Sheet 17 of 35
`
`4,996,871
`
`F I G . 140
`
`pm
`_EXECUTE MENU ROUTINE 1500
`TO OBTAIN USEH PARAMETERS
`
`[1451
`READ PREVIOUS USER
`PARAMETERS Fnon NOVRAM
`
`140
`11
`
`!
`i
`r1466 i
`FLAG AS FAULT CONDITION 3
`,ENTEH CORRESPONDING FAULT
`T CODE 8 TIME/DATE STAMP IN
`FAULT STACK IN NOVRAH
`
`i
`‘ pm 475
`458 51% Z‘é’éJ ~ ----+
`
`453
`RESET FAULT ALARM I1
`F455
`ENABLE 100 msec
`INTERBUPT
`FI'N'TEEEUHTAI? """""" "1L """""""""" "'1
`' LOOP s nueuosnc
`SET:
`I mums 1450
`LOOP couNT--o
`11451
`i
`y
`i
`1
`i
`i
`i
`i
`
`1
`
`DIAGNOSTIC
`REQUEST FLAG
`SET?
`
`18
`
`
`
`US. Patent
`
`Mar. 5, 1991
`
`Sheet 18 of 35
`
`4,996,871
`
`p471 FIG. 140
`RESET DIAGNOSTIC
`REQUEST FLAG
`
`[-1477
`
`‘
`DEPENDING UPON LOOP coum.
`PERFORM ONE OF THE FOLLOWING
`nmsunsncs:
`-A/D TEST
`-POHER LEVELS TEST
`—INPUT CHANNEL TEST
`-1/4 mcnopnocsssun RAH TEST
`-1/& uovmn TEST
`& INTEHLEAVE THESE SEPARATE
`nusuosnc TESTS HITH seuson
`TEST DIAGNOSTIC
`
`1
`I
`
`;
`I
`:
`I
`,
`'
`I
`
`1401M
`l
`
`{M1493
`
`r1482
`FLAG AS FAULT CUNDITIDN E
`l
`ENTER CORRESPONDING FAULT
`‘mu CODE & TIME/DATE STAMP IN
`CONDITION]
`FAULT STACK IN NUVRAH
`T
`[-1487
`r1484.
`EXECUTE FAULT Jj?,
`ROUTINE :soo
`
`19
`
`
`
`US. Patent
`
`Mar. 5, 1991
`
`Sheet 19 of 35
`
`4,996,871
`
`ENTER
`FIG. 15A
`MENU
`ROUTINE
`isi
`
`4 EXIT
`(NORMAL RETURN)
`
`FIG. 15
`
`FIG.
`15‘
`FIG_
`15B
`
`HAS USER
`SELECTED TICKET
`PRINTER?
`
`r1509
`ACCESS TIME, DATE C FLOM TOTALS
`' (RESETTABLE TOTALIZER C INVENTORY TOTAL)
`C PRINT ON TICKET USING TICKET PRINTER
`
`r1512
`DISPLAY INVENTORY TOTAL
`AS NEXT MENU ITEM
`r1514
`i
`EXECUTE SCALING PARAMETER
`INPUT ROUTINE 1500
`
`T1521
`DISPLAY CURRENT VALUE OF SPAN 0F
`FREOUENCY OUTPUT C PERMIT USER TO
`SEOUENTIALLY SELECT DESIRED SPAN
`r1524
`DISPLAY CURRENT VALUE OF FULL SCALE
`OUTPUT FREQUENCY PERCENTAGE C PERMIT
`USER TO CHANGE PERCENTAGE
`r1527
`T
`DISPLAY CURRENT ANALOG Y/I OUTPUT MODE
`FOR V: 0-5 OR 1-5 VOLTS
`FOR I: 0-20 0R 4-20 M6; 8
`PERMIT USER TO CHANGE MODE
`r1530
`{
`DISPLAY C ALLOM USER TO SELECT
`CURRENT ANALOG V/I FULL SCALE PERCENTAGE
`C PERMIT USER TO CHANGE PERCENTAGE
`I
`
`20
`
`
`
`US. Patent
`
`Mar. 5, 1991
`
`Sheet 20 of 35
`
`4,996,871
`
`FIG. 158
`
`EXECUTE SERIAL COMMUNICATION
`PARAMETER ENTRY ROUTINE 1700
`
`533
`
`SEOUENTIALLY DISPLAY ALL ENTRIES
`IN FAULT STACK STORED IN NOVRAM
`
`535
`
`53B
`
`YES
`
`537
`
`NO
`
`DISPLAY CURRENT
`TIME C DATE
`
`539
`
`ALLOM USER TO CHANGE TIME 8
`DATE IN REAL TIME CLOCK
`
`
`540
` SELECTED
`LCD OUTPUT
`
`
`MASS UNITS
`CHANGED?
`
`
`
`RESET MASS TOTALIZERS
`TO ZERO
`
`
`
`542
`
`545
`
`
`USING USER SELECTED PERCENTAGES OBTAINED
`
`THROUGH SCALING PARAMETER INPUT ROUTINE 700
`CALCULATE. NUMERICAL VALUES FOR:
`
`HIGH ALARM LEVEL VALUE
`LOM ALARM LEVEL VALUE
`
`
`
`
`
`
`
`LOM FLOM CUTOFF VALUE
`FREQUENCY CONSTANT
`V/I CONSTANT
`IN TERMS OF NORMALIZED MASS UNITS
`
`
`
`
`
`
`(FAU T CONDITION)
`L
`
`“0
`
`5
`+5v PONEN
`OK?
`
`551
`
`548
`YES
`
`FLAG AS FAULT CONDITION C ENTER
`CORRESPONDING FAULT CODE 8 TIME/DATE
`STAMP IN FAULT STACK IN NOVRAM
`
`554
`
`557
`
`SAVE ALL CALCULATED PARAMETERS
`8 USER SELECTIONS IN NOVRAM
`
`9
`EXECUTE FAULT
`ROUTINE 1800 ” EXIT
`(RET 'N TO ENTRY
`POINT A IN MAIN PROGRAM 1400)
`
`0:0 EXIT (NORMAL
`RETURN)
`
`21
`
`21
`
`
`
`US. Patent
`
`Mar. 5, 1991
`
`Sheet 21 of 35
`
`4,996,871
`
`FIG. 16
`
`ENTER 93
`
`1501
`
`15A
`FIG.
`SCALING PARAMETER
`INPUT ROUTINE
`m
`
`1606
`
`16A
`FIG.
`FIG. 16B
`
`1603
`
`W
`YES
`
`
`
`
`DISPLAY CURRENT OUTPUT
`UNITS (FOR LCO DISPLAY. 8
`
`V/I G FREOUENCY OUTPUTS}
`
`
`
`
`-READ METER SIZE PHASE HEASUREMENT FILTER TIME
`CONSTANT AND VERNIER INDEX FROM INPUT SHITCHES
`
`-PERFORM TABLE LOOK UP, USING METER SIZE. TO
`
`ALLOW USER TO SEOUENTIALLY DISPLAY AND SELECT
`OUTPUT MASS AND MASS FLOR RATE UNITS (FOR LCD
`
`DISPLAY. V/I AND FREQUENCY OUTPUTS)
`
`
`
`DOMNLOAO VALUES FOR FILTER TIME
`CONSTANT AND VERNIER INDEX
`
`TO TIME INTERVAL MEASUREMENT
`
`
`151°
`CIRCUITS VIA um LINES 35
`
`
`
`NO
`
`YES
`
`1507
`
`1616
`
`
`
`DISPLAY CURRENT OUTPUT
`PERFORM TABLE LOOK UP. USING METER
`UNIT FOR SCALED
`SIZE TO ALLOW USER TO SEOUENTIALLY
`
`
`PULSE OUTPUT
`DISPLAY 8 SELECT OUTPUT UNITS
`
`FOR SCALED PULSE OUTPUT
`
`
`YESflNO
`
`1623
`
`
`
`DISPLAY—URRENTHIGH ALARM—EVEL
`
`1626
`
`
`
`ALLOW USER TO DISABLE HIGH ALARM ORSET HIGH ALARM LEVEL IN INCREMENTS
`
`OF .11 OF F S. READING
`
`122
`
`22
`
`
`
`US. Patent
`
`Mar. 5, 1991
`
`Sheet 22 of 35
`
`4,996,871
`
`YES
`
`1630
`
`NO
`
`FIG. 168
`
`1536
`
`DISPLAY CURRENT
`LDM ALARM LEVEL
`
`
`
`
`ALLDM USER TO DISABLE LDM ALARM
`DR SET LDM ALARM LEVEL IN INCREMENTS DF
`.11 0F F.S. READING
`
`DISPLAY CURRENT LOH
`FLOM CUTDFF VALUE
`
`
`
`
`1545
`
`ALLDM USER TO SELECT LDM
`FLOM CUTOFF VALUE AS:.2..&
`1 .2 .5. DR 10% DF F.S. READINGS
`
`DISPLAY CURRENT VALUE OF
`INPUT FILTER TIME CONSTANT
`
`
`
`
`1652
`
`ALLDM USER TO SELECT INPUT
`FILTER TIME CONSTANT. TC.
`(.2. .5. 1, 2. 4.7 OR 15 sec)
`
`9:0 EXIT
`
`23
`
`23
`
`
`
`US. Patent
`
`Mar. 5, 1991
`
`Sheet 23 of 35
`
`4,996,871
`
`C!!!
`
`ENTER
`
`1710
`
`no
`
`YES
`
`FIG. 17
`SERIAL PARAMETER
`INPUT ROUTINE
`119R
`
`1717
`
`
`ALLOM USER TO SELECT DESIRED
`TYPE OF SERIAL COMMUNICATION
`(RS-232C. RS-485 OR NONE)
`
`DISPLAY CURRENT
`TYPE OF SERIAL
`COMMUNICATION
`
`YES
`
`1720
`
`NO
`
`DISPLAY CURRENT
`BAUD RATE
`
`I727
`
`ALLDM USER TO SEDUENTIALLY
`DISPLAY 8 SELECT DESIRED BAUD RATE
`(ISO BAUD - 19.2 kBAUD)
`
`
`
`YES
`
`1730
`
`ND
`
`DISPLAY CURRENT PARITY
`
`
`
`
`
`1737
`
`ALLDN USER TD SELECT DESIRED PARITY
`‘00“. EVEN. NONE)
`
`lifib EXIT
`
`24
`
`24
`
`
`
`US. Patent
`
`Mar. 5, 1991
`
`Sheet 24 of 35
`
`4,996,871
`
`FIG. 18
`
`FAULT ROUTINE
`
`1§QQ
`
`ENTER
`
`SET FAULT
`
`ALARM OUTPUT
`
` 810
`
` 820
`
`
`DISPLAY LATEST
`ENTRY (FAULT CODE.
`DATE & TIME)
`
`IN FAULT STACK
`
`
`
`
`830
`
`
`YES
`PUSHBUTTON
`
`
`DEPRESSED?
`
`
`CLEAR
`
`
`
`
`
`CLEAR
`INSTRUCTION
`
`
`
`
`[WAIT FOR USER
`INTERVENTION]
`
`RECEIVED OVER
`
`SERIAL INPUT?
`
`
`
`(RETURN TO ENTRY POINT A
`IN HOST}LP MAIN PROGRAM 1400)
`
`25
`
`25
`
`
`
`US. Patent
`
`Mar. 5, 1991
`
`Sheet 25 of 35
`
`4,996,871
`
`”6- 19A
`
`100 msec INTERRUPT
`
`0:. ENTER (100 Asec INTERRUPT)
`
`1003
`
`
`FLAC AS FAULT CONDITION,
`0
`ENTER CORRESPONDING FAULT
`
` CODE 0 TIME/DATE STAMP IN
`
`
`
`FAULT STACK IN NOVRAM
`
`“0&5
`
`FIG. 19
`
`
`
`
`
`
`FIG. 190
`
`F15, 190
`m 190
`.
`
`
`
`
`
`1901
`HAS
`YES
`HATCH 000
`
`
`TIMER TIMEO
`
`
`OUT?
`
`N0
`
`1904
`
`EEEEBNESFTMARE TIMER
`3—00“ 2—-TIMEOUT2
`
`1900
`
`OECREMENT SOFTHARE TIMER,
`S_COUNT1:
`S_COUNT1 --S_COUNT1 - 1
`
`1905
`
`EXECUTE FAULT
`ROUTINE 900
`
`9:4 EXIT
`
`(RETURN TO ENTRY POINT A
`IN HOST [JP MAIN PROGRAM 1400)
`
`
`
`FLAG FAULT CONOITION,ANO
`
`ENTER CORRESPONDING FAULT
`
`
`CODE AND TIME/DATE STAMP
`
`
`IN FAULT STACK IN NOVRAM
`
`
`
`1908
`
`1909
`
`EXECUTE FAULT ROUTINE 1800
`
`.3 EXIT
`
`1907
`
`SOFTHARE TIMER
`
`S_COUNT1 11.9. COUNTER)
`
`TIMEO OUT?
`(1.2.
`S_CDUNT1= 0?)
`
`HAS
`
`
`
`
`YES
`
`
`
`
`{FAULT
`
`CONDITION]
`
`
`“0
`EXECUTE RATE FACTOR CALCULATION
`ROUTINE 2000 TO CALCULATE TEMPERATURE
`COMPENSATED RATE FACTOR. RF
`
`1911
`
`1914
`
`(RETURN TO ENTRY POINT A
`IN HOST PP MAIN PROGRAM 1400)
`
`
`
`ACCESS LATESTzkt
`VALUE OBTAINED FROM
`
`
`TIME INTERVAL
`MEASUREMENT CIRCUIT 30
`
`
`1917
`
`UPDATE FLON DIRECTION OUTPUT
`GIVEN SIGN UFzst
`
`1920
`
`CALCULATE NORMALIZEO MASS FLOM
`RATE (IN (Ag/sec):
`RATE --At
`* RF
`
`RATEa --RATE
`
`263
`
`26
`
`
`
`US. Patent
`
`Mar. 5, 1991
`
`Sheet 26 of 35
`
`4,996,871
`
`FIG . 193
`
`
`IS
`1922
`
`
`RATE < LOH
`
`FLOM CUTOFF
`
`
`VALUE?
`
`
`NO
`
`YES
`
`1925
`
`SET;
`RATE .- o
`
`
`1927
`IS
`
`RATE > HIGH
`
`ALARM LEVEL
`
`VALUE?
`
`RESET HIGH
`ALARM OUTPUT
`
`1932
`
`SET HIGH
`ALARM OUTPUT
`
`
`
`
`1934
`
`IS
`RATE < LON
`
`ALARM LEVEL
`
`VALUE?
`
`RESET LON
`ALARM OUTPUT
`
`1939
`
`SET LOM
`ALARM OUTPUT
`
`
`
`1941
`
`PERFORM TABLE LOOK UP TO ACCESS
`
`APPROPRIATE MASS CONVERSION FACTOR. MCF,
`FOR CONVERTING NORMALIZED RATE. RATE.
`INTO DESIRED OUTPUT MASS UNIT/SECOND
`(e.g.
`lbs/sec)
`CALCULATE
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`RATES-'h RATE x MCF
`
`127
`
`27
`
`
`
`US. Patent
`
`Mar. 5, 1991
`
`Sheet 27 of 35
`
`4,996,871
`
`1943
`
`FIG. 190
`
`SET: TOTALgld“ TOTAL: AND
`UPDATE TOTALS:
`
`
`
`
`TOTAL“ RATES + TOTAL
`INV TOTAL“ RATES + INV TOTAL
`
`
`
`
`1945
`
` CLEAR
`PUSHBUTTON
`
`DEPRESSED?
`
`
`
`
`
`194a
`
`YES
`
`SET:
`TOTAL-*- 0
`
`ND
`
`1950
`
`STORE VALUES OF TOTAL 8
`INV TOTAL IN NOVRAH
`
`'
`
`PRODUCE A PULSE AT SCALED PULSE OUTPUT IF THE VALUE
`OF [TOTAL-TOTALOICU Z USER SELECTED OUTPUT UNIT
`
`1953
`
`1956
`
`
`
`
`CONVERT RATES T0 DESIRED OUTPUT TIME UNIT USING
`APPROPRIATE TIME SCALING FACTOR, TF.
`(8.9.
`lbs/min)
`TO YIELD MASS FLOW RATE VALUE FOR DISPLAY, RATED:
`RATED-*RATES x TF
`
`
`
`
`
`
`
`1959
`
`CONVERT RATED 8 TOTAL TO BCD. C
`DISPLAY RATED 8 TOTAL
`
`1962
`
`
`
`
`UPDATE FREOUENCY 8 V/ I OUTPUTS USING
`NORMALIZED RATE VALUES RATE 8 RATEa:
`
`OUTPUT FRED..- RATE it FREO. CONSTANT
`V/ I OUT fi-RATEa x V/I CONSTANT
`
`
`
`
`28
`
`28
`
`
`
`US. Patent
`
`Mar. 5, 1991
`
`Sheet 28 of 35
`
`4,996,871
`
`FIG. 190
`
`
`
`
`15
`NENU
`
`PUSHBUTTON
`
`DEPRESSED?
`
`
`1957
`
`
`EXECUTE MENU
`RUUTINE 1500
`
`
`
`1973
`
`ADJUST
`
`
`FOR ZERO
`
`
`
`EXECUTE ZERO
`
`FLOH OFFSET
`
`ROUTINE 2200
`
`
`
`
`
`
`
`
`FLOU?
`
`SET DIAGNOSTIC
`REQUEST FLAG
`
`
`
`
`
`0:0 EXIT
`
`(RETURN)
`
`29
`
`29
`
`
`
`US. Patent
`
`Mar. 5, 1991
`
`Sheet 29 of 35
`
`4,996,871
`
`FIG. 20
`
`ENTER
`
`RATE FACTOR
`CALCULATION ROUTINE
`
` READ VALUE OF METER FACTOR, MF.
`
`FROM
`INPUT SWITCHES 8 ACCESS APPROPRIATE
`TEMPERATURE COEFFICIENT VALUE. k.
`FROM MEMORY
`
`BLOC
`
`
`
`
`2060
`
`
`
`
`CALCULATE RATE FACTOR. RF.
`AS:
`
`RF—-MF * (1 - kaT
`
`
`& STORE IN NOVRAM
`
`
`
`
`
`
`CALCULATE RATE FACTOR, RF.
`AS:
`RF—-MF * (1 + m)
`8 STORE IN NOVRAM
`
`3O
`
`30
`
`
`
`US. Patent
`
`Mar. 5, 1991
`
`Sheet 30 of 35
`
`4,996,871
`
`
`
`
`
`ACCESS APPROPRIATE DIGITAL FILTER
`PARAMETERS 1T1 8 T2) FOR
`TEMPERATURE MEASUREMENT FILTERING
`
`
`
`FIG. 21
`
`FILTER ROUTINE
`
`2.10.0
`
`2120
`
`
`
`2130
`
`CALCULATE
`R-*-R - T1
`
`
`
`'
`
`2140
`
`READ VALUE OF FILTER TIME
`CONSTANT. TC.
`FROM NOVRAM
`
`
`
`2150
`
`
`
`
`QTC
`
`
`CALCULATE:
`
`T1 fi—Ti
`
`+ _R_
`2T0
`
`T2.— T2
`
`
`+ (T1 - T2)
`
`
`
`
`2150
`
`STORE VALUES 0F FILTER
`
`PARAMETERS [T1 8 T2)
`IN
`NOVRAM FDR SUBSEOUENT USE
`
`
`
`2170
`
`
`
`
`SAVE FILTER OUTPUT VARIABLE.
`T2, A5 FILTERED TUBE
`TEMPERATURE, Tf,
`IN NOVRAM
`
`
`
`
`O3 EXIT (RETURN)
`
`
`
`31
`
`31
`
`
`
`US. Patent
`
`Mar. 5, 1991
`
`Sheet 31 of 35
`
`4,996,871
`
`FIG. 22
`
`FIG.
`22A
`
`FIG.
`228
`
`,v,
`‘
`
`FIG. 22A
`ZERO FLOR OFFSET
`ROUTINE
`
`2205
`
`£210
`
`DISPLAY APPROPRIATE BANNER
`
`SAVE PREVIOUS ZERO FLON OFFSET VALUE:
`DFFSETQLD «OFFSET
`
`2210
`
`SET CURRENT VALUE OF ZERO FLOR OFFSET TO ZERO:
`OFFSET—-0
`
`2215
`
`NAIT FOR TRANSIENTS TO SETTLE OUT
`
`2220
`
`
`
`2230
`
`INITIALIZE PRIOR VALUE OF SLIDING AVERAGE
`
`TD ZERO:
`EOLD.
`TO ZERO AND SET SAMPLE COUNTER. m.
`EOLD“ 0
`
`
`m-- 0
`
`
`
`
`
`
` YES
`SECOND
`
`INTERVAL
`EXPIRED?
`
`N0
`
`INCREMENT SAMPLE COUNTER BY ONE:
`
`ind—m4-
`
`2240
`
`2245
`
`OBTAIN CURRENT TIME INTERVAL MEASUREMENT
`(1.2.25t)
`FROM TIME INTERVAL MEASUREMENT
`CIRCUIT 30
`
`L32
`
`32
`
`
`
`US. Patent
`
`Mar. 5, 1991
`
`Sheet 32 of 35
`
`4,996,871
`
`FIG. 223
`
`UPDATE CALCULATION OF SLIDING AVERAGE. E, OF
`[St MEASUREMENTS, ASL”:
`THAT OCCURRED DURING INTERVAL
`EOLD - m +AtM
`E.—
`m+1
`
`
`
`2252
`
`
`
`
`
`
`
`
`
`
`
`
`|l
`
`DETERMINE MAXIMUM AND MINIMUM zst VALUES
`
`AND STORE AS MAX AND MIN. RESPECTIVELY
`
`
`STORE CURRENT SLIOINS AVERAGE VALUE AS
`
`
`
`PRIOR VALUE OF SLIDING AVERAGE:
`EOLO -- E
`
`
`
`
`2358
`
`CALCULATE
`A"-MAX ~ MIN
`
`
`
`2250
`
`
`
`> x,
`MI
`VRERE x 15
`PRE-DEFINED NOISE
`
`MARGIN?
`
`YES
`
`
`
`
`
`
`
`lEl >Y.
`
`HHERE Y 15 MAXI-
`
`MUM PERMISSIBLE
`
`
`'J
`OFFSET.
`
`NO
`
`
`
`2275
`
`SET ZERO FLOR OFFSET
`TO PREVIOUS VALUE:
`OFFSET-—UFFSET0LD
`
`2280
`
`2235
`
`SET OFFSET TO MOST
`RECENT VALUE OF (kt AND
`SAVE IN NOVRAM
`
`9." EXIT
`
`
`
`
`
`
`
`FLAG FAULT CONDITION. AND
`ENTER CORRESPONDING FAULT
`CODE AND TIME/DATE STAMP IN
`FAULT STACK IN NOVRAM
`
`
`
`
`
`2290
`
`EXECUTE FAULT
`ROUTINE 1800
`
`{RETURN TO ENTRY POINT v
`A IN MAIN PROGRAM 500) ’4 EXIT
`
`33
`
`33
`
`
`
`U.S. Patent
`
`Mar. 5, 1991
`
`Sheet 33 of 35
`
`4,996,871
`
`FIG. 23
`
`ENTER p'q LUCCURENCE 0F
`‘ At MEASUREMENT
`CUMPLETE INTERRURT)
`
`- UVERELoN FLAG
`FIG . 23A
`RESET INPUT
`”“33
`
`FIG. 23A
`TIME INTERVAL MEASUREMENT
`INTERRUPT ROUTINE
`23.9.0.
`
`2305
`.
`2315
`
`13
`
`"0
`EXCESS DRIVE
`
`SIGNAL HIGH?
`
`
`
`
`
`
`MAIT 27 MICRDSECONDS
`
`2317
`
`[FAULT CUNUITIUNJ
`
`VEs
`
`SIGNAL HIGH?
`
`
`
`
`
`
`FLAG FAULT CONDITION, AND
`
`ENTER CCRRESRUNUINC FAULT
`CUUE ANU TIME/DATE STAMP IN
`FAULT STACK IN NOVRAM'
`
`
`
`
`
`2324
`
`
`
`ERUM TIRE INTERVAL
`MEASUREMENT CIRCUIT 30
`THROUGH LEADS 35
`
`9343
`
`FLAG FAULT CONDITION
`AND ENTER CORRESPONDING
`FAULT CODE AND
`TIMER/DATE STAMP
`IN FAULT STACK
`IN NOVRAM
`
`
`
`EXECUTE FAULT
`ROUTINE 1800
`
`YES
`
`2347
`
`EXIT .3
`
`RETURN To ENTRY POINT A
`IN HOST MICROPROCESSUR
`MAIN PROGRAM 1400
`
`EXECUTE FAULT ROUTINE 1800
`
`v
`N Em
`
`(RETURN TO ENTRV
`RUINT A IN HOST ,UP MAIN
`RRUCRAM 1400)
`
`2331
`
`2339
`
`
`FAULT
`
`MESSAGE FROM TIME
`
`
`INTERVAL MEASUREMENT
`
`
`CIRCUIT 30?
`
`
`
`(At
`No
`VALUE
`READ)
`
`34-
`
`34
`
`
`
`US. Patent
`
`Mar. 5, 1991
`
`Sheet 34 of 35
`
`4,996,871
`
`2356
`
`2349
`
`
`
`HAS
`(HATCHDOGI TIMER
`290 TIRED OUT?
`
`(SEE FIG.2)
`
`(FAULT
`
`CONDITION)
`
`YES
`
`
`FLAG FAULT CONDITION.
`AND ENTER CORRESPONDING
`FAULT CODE AND TIME/DATE
`STAMP IN FAULT STACK
`
`1“ ”WM”
`
`2358
`EXECUTE FAULT ROUTINE IGOO
`
`’3 Ex“
`AOIRTSSTOAEE‘PYP
`MAIN PROGRAM 1456)
`FLAG FAULT CONDITION.AND
`ENTER CORRESPONDING FAULT
`CODE AND TIME/DATE STAMP
`IN FAULT STACK IN NOVRAH
`
`
`
`
`
`
`
`2367
`
`YES
`
`
`
`(FAULT
`CONDITION) 2353
`
`235°
`
`
`
`
`
`SOFTNARE TIMER
`
`i.e. COUNTER S_COUNT2
`TIMED OUT? (Le.
`S_COUNT2=0?)
`
`
`
`ND
`
`FIG . 23B
`
`‘
`
`RESET TIMER 290
`To 100 msec
`-
`.
`
`NO
`
`2352
`
`2353
`
`GRAPE
`S_COUNT'-; TIN OUT
`
`5423
`
`DECREHENT SUFTHARE
`TIMER, S_CDUNT2:
`S_COUNT2‘- S_COUNT2 - 1
`
`NO
`
`EXECUTE FAULT ROUTINE 1800
`0:. EXIT
`(RETURN TO ENTRY POINT
`“FEDERATION”
`
`
`INPUT
`UVERFLOH FLAG
`
`(FAULT
`SET?
`
`CONDITION)
`2374
`
`N0
`
`2370
`INPUT O7VERFLON
`YES
`
`-
`
`
`2372
`
`P033
`
`YES
`
`3378
`(FAULT CONDITION)
`
`
`FLAG FAULT CDNDITION,AND
`
`ENTER CORRESPONDING FAULT
`
`CODE AND T (ME/DATE STAMP
`
`
`IN STACK IN NOVRAM
`
`2384
`SUBTRACT ZERO FLOR OFFSET:
`At-C-At - OFFSET
`
`2350
`
`2385
`
`SAVEAt
`
`IN NOVRAM
`
`03 EXIT
`(RETURN)
`
`EXECUTE FAULT ROUTINE 1800
`
`2375
`
`SET INPUT OVERFLOH FLAG
`
`v
`0“ EX”
`(RETURN TO ENTRY
`POINT A IN HOST DP
`MAIN PROGRAM 1400)
`
`35
`
`' EXIT
`N
`(RETURN)
`
`35
`
`
`
`US. Patent
`
`Mar. 5, 1991
`
`Sheet 35 of 35
`
`4,996,871
`
`
`_W_______w__w_m_
`
`mmvxmmwww-mm
`
`
`
`
`
`-i...»f-i--3mm?........wmy.....I.1.:J.1“Esau.czm~m>_mxmpm>_
`
`
`
`
`
`m3
`mu<mmmsz
`
` :3:Ea;“mm___"5%th__3%."avgm2:gagswe:.
`
`
`_Emuulli»lllllL:xnluuuL_881mmr-iv........_Eggs
`
`
`r5!........I--I-LvmEu.
`
`
`
`mmpzmmmmeoH»
`
`mmpmz
`
`monomhumgm
`
`mmhw:
`
`wquomhumgu
`
`awhm:
`
`mquomhuugm
`
`ummmumm
`
`hmxuhh
`
`cmthmm
`
`amp“:
`
`>Amxwmm<
`
`ummm-mm
`
`meump
`
`:uszmm
`
`________
`
`hmqu»
`
`mmszmm
`
`ummmlmm
`
`Z36
`
`
`
`
`
`
`
`mmumz<mp>aopm=ummmwz<¢h>aohw=ummmmz<mb>oo~mzum
`
`36
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`1
`
`CORIOLIS DENSIMETER HAVING
`SUBSTANTIALLY INCREASED NOISE
`IMMUNITY
`
`4,996,871
`
`2
`between and parallel to its side legs. The flow tube is
`designed to resonantly oscillate about this axis and an-
`other axis orthogonal thereto such that the forces which
`oppose the generated Coriolis forces are predominantly
`linear spring forces. Consequently, these spring forces
`cause one of the two side legs of the flow tube to pass
`through the midplane of oscillation before the other side
`leg does so. As such, the mass flow rate of the fluid that
`flows through the flow tube is proportional to the width
`10 of the time interval (time delay) occurring between the
`passage of the respective side legs of the tube through
`the mid-plane of oscillation. This time interval and,
`hence, the mass flow rate of the fluid can be measured,
`within a reasonable degree of accuracy, using optical
`15 sensors as disclosed in the ’450 reissue patent, or by
`using electromagnetic velocity sensors, as disclosed in
`Smith U.S. Pat. No. 4,422,338 (issued on Dec. 27, 1983).
`The ‘450 reissue patent also teaches the use of a spring
`arm which extends from the manifold along with the
`U-shaped flow tube. When this spring arm is sinusoiv
`dally driven in opposition to the U-shaped flow tube,
`the combination of spring arm and U-shaped flow tube
`operates as a tuning fork. This operation substantially
`attenuates undesirable vibrations occurring at the tube-
`manifold and spring arm-manifold interfaces. This at-
`tenuation is extremely advantageous for the following
`reason. In practice, these undesirable vibrations often
`occur, particularly at the tube-manifold interfaces, with
`sufficient intensity to effectively mask tube movement
`30 caused by the small Coriolis forces and thereby intro-
`duce significant errors into the time interval measure-
`ments of the passage of the side legs of the U-shaped
`tube through the mid-plane of oscillation. Because the
`mass flow rate is proportional to the time interval mea-
`35 surements, these errors inject significant inaccuracies
`into the measured mass flow rate. Tuning fork operation
`substantially cancels these undesirable vibrations and
`thereby significantly increases measurement accuracy.
`In addition, reducing vibrations that occur at the mani-
`40 fold also decreases long term fatigue effects induced by
`vibrations that might otherwise occur on the meter
`mounting structure. The substitution of a second flow
`tube, having a similar configuration to the first flow
`tube, for the spring arm, provides an inherently bal-
`anced tuning fork structure. The inherent symmetries in
`such a structure further reduce undesirable vibrations
`and thereby further increase measurement accuracy.
`This teaching has been recognized in the design of den-
`simeters wherein measurements of the resonant
`fre-
`50 quency of filled flow tubes are used to determine the
`density of fluids in the tubes. See, for example, Poole et
`al. U.S. Pat. No(s). 2,635,462 (issued during Apr. 1957)
`and Brockhaus 3,456,491 (issued during July 1969).
`The art also teaches the use of a serial double flow
`55 tube configuration in a Coriolis mass flow rate meter.
`Such a configuration is described in Cox et a1. U.S. Pat.
`No(s). 4,127,028 (issued on Nov. 28, 1978); 4,192,184
`(issued on Mar. 11, 1980) and 4,311,054 (issued Jan. 19.
`1982). Here, incoming fluid sequentially passes through
`60 one flow tube, then through an interconnecting conduit
`and lastly through another flow tube. Unfortunately,
`series type double flow tube meters possess inherent
`drawback: since all
`the fluid must pass through two
`flow tubes instead of one, the fluid pressure drop across
`65 the meter is greater than that of a non—serial type flow
`meter. One way to compensate for this increased pres-
`sure drop is to increa