`Romano
`
`-
`
`[11] Patent Number:
`[45] Date of Patent:
`
`4,934,196
`Jun. 19, 1990
`
`[54] CORIOLIS MASS FLOW RATE METER
`HAVING A SUBSTANTIALLY INCREASED
`N
`OISE IMMUNITY
`[75] Inventor: Paul Romano, Boulder, Colo.
`[73] Assignee: Micro Motion, Inc., Boulder, C010.
`[21] Appl. No.: 361,000
`.
`Jun‘ 2’ 1989
`{22] Flled:
`[51] Int. 01.5 .............................................. .. G01F 1/84
`[52] US. Cl. ................... .. 73/86L38; 364/510
`[58] Field of Search ............... .. 73/861.37, 861.38, 510
`56
`R f
`C, ed
`[
`]
`e erences lt
`U.S. PATENT DOCUMENTS
`Re. 31,450 11/1983 Smith ............................. .. 73/861.38
`_ Re_ 31971 8/1985 Gold ‘ _ _ _ . _ _ . _
`_ ‘ ~ __ 73/462
`2,635,462 4/1953 Poole et aL
`_____ “ 73 /32
`3,456,491 7/1969 Brockhaus
`73/32
`3,527,103 9/1970 Hale et al .................... .. 73/462
`4,093,988 6/1978 Scott ..................... .. 364/484
`73/ 194
`4,127,023 11/ 1973 COX et a1 ~
`1g;
`gc’li‘t?t i1‘- 1"
`4,311,054 V1982 Cox et a1- "
`73/236138
`4 422 338 12/1983 Smith
`73/861 38
`4:445:38‘) V1984 potzidé'g'tglz"
`73661:”
`4,450,529 5/1984 Hill et a1_ _ _ _ l _ .
`_ _ _ ‘ I __ 364/508
`4,491,025 1/1985 Smith .......... ..
`73/86L3B
`4,660,421 4/ 1987 Dahlin et a1. .................. .. 73/861313
`
`,
`
`,
`
`m e a.
`
`.
`
`FOREIGN PATENT DOCUMENTS
`
`WO88/0l205 3/1988 PCT Int’l Appl. .
`
`OTHER PUBLICATIONS
`W. Steffen et a1, “Direct Mass Flow Metering in Partic
`
`ular by Means of Coriolis Methods”, OIM Seminar,
`Arles, France, May 1l—l5, 1987, pp. 1-24.
`.
`Primary Examiner-Herbert Goldstem
`Attorney, Agent, or Firm—Peter L. Michaelson
`[57]
`ABSTRACT
`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 9e
`enrs at substantially any frequency different from e
`fundamental frequency at which the ?ew 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 mine’ transfmm (DFT) of both the left
`and rlght veloclty sensor waveforms evaluated at the
`fundamental frequency at which the ?ow 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 addltlon, the frequency at whlch both veloc1ty
`sensor signals 1s sampled 1s readjusted 1n 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.
`
`.
`
`.
`
`-
`
`-
`
`39 Claims, 35 Drawing Sheets
`
`SYSTEM BLOCK 1111mm
`
`A,
`9
`YEASURBENT 1m
`Comm TM 14051»
`1
`2
`
`FPom 1.1155
`m
`
`{205
`
`2053 l
`255
`7
`SERIAL
`INTERFACE
`
`251m r252 stuttuttuls
`115-2320
`|
`r25,
`05-485
`\J
`.250
`257 W l
`- """"""""" ' T 26 mm mmrr
`-
`Bus
`soun STATE
`m M W
`1min
`"El-"5
`r1111 111mm!
`.
`i
`2
`265
`253
`27 111mm
`,UIGITAL
`RELAY
`FAULT_ALARN
`‘OUTPUT CIRCUIT
`L
`269
`
`971
`
`L
`_ WXE A/IJ
`awe e31 '
`
`_ v 101 "1
`v/1 ANALOG
`CONVERTER
`OUTPUT
`‘275
`270
`274
`[FLGI RATE]
`t___
`DISPLAY
`LE9
`27B 259
`“220 Q U W
`
`— _ pm DH
`36
`mill?" 7
`~30
`CliUJll
`mural
`
`,5
`
`'
`
`25°
`
`~50
`
`290
`
`BUS
`INTEFFAL:
`.. 40
`2
`
`2a
`
`[In new
`-
`2B5
`1cm TYPE
`saw:
`% ztm FLU! uuamnm
`180 mm
`“mm D09
`‘2% meaning
`men OUTPUT
`HEW
`me 292
`CLEAR HHBJTllIl
`F CONSTANT
`a VIMJEX
`
`.
`\
`
`585M501]
`185
`
`w
`DRIVE
`0011 1m
`
`100
`
`mIvE
`mm M 1134 511115
`CIRCUIT
`P
`m
`40 295 E: =15“ ,5»,
`
`1
`
`Micro Motion 1006
`
`
`
`US. Patent Jun. 19,1990
`
`Sheet 1 of 35
`
`4,934,196
`
`222m :53 Egg
`£55 a was: a
`
`a
`
`as E:
`
`unl
`
` @2255 52m :32: E1 _ $5: r :22“ WE? _ v f 5E 21 x m2 m2
`v x 3 a 52m E85 52% _
`
`
`
`o2 %
`
`
`
`w 6:
`
`.02
`
`2
`
`
`
`U.S. Patent
`
`Jun. 19, 1990
`
`Sheet 2 of 35
`
`4,934,196
`
`
`
`mainam
`
`22:83%m6:
`
`
`ommmummmmm:<%<Evasmzwfim
`
`isassaw-E5.535:83.?8$238255am
`
`m><4m:
`
`.3.355mmH5:35...3
`
`
`:5::2:._.:SE_at
`ass:3III::|II+8m:855&3>2.
`
`5&8
`
`
`
`_m_<m394m.a_mmm“o_mzomm
`85::5%52.528._IL2%was
`
`
`5::as:men;E22
`wmfiwwwzy%mmw__mW
`
`
`as23%::33
`
`mgamwe:33;:5atam:=2:
`
`scézs5:ENMEEZH:2momzmm
`
`ze=_%aE5:8..5:;m_E$=:>53:
`z._:§§=5:maE2:2:
`
`§_=%a§§._523$2:E2:E2gmzmm
`2%,22zo:=m_._mE53.5mmW2:magmm:
`
`5<Vmm%D:35-Mag
`hman5&3amaI$38ea292O2:8
`
`.
`
`3
`
`
`
`
`U.S. Patent
`
`Jun. 19,1990
`
`Sheet 3 of 35
`
`4,934,196
`
`EEEO:Sm.or:5&85:2
`zmamafiz2anan
`
`S%=_ill53
`
`.5522E.
`
`n_3m2_2mmas.3
`
`ea2
`
`N:
`
`m.mE
`
`34.35::M22
`
`
`
`SSE“.zémgmé
`
`om
`
`5&8ow..Il...@.....u..%mm_v.§.f_.nwuuuuu
`
`
`
`
`
`§_§__gmex............-m%fl%4_
`
`
`,5:QENMh5%m.:1gmannme:52%;M9fimmsmwageE2_:_§
`
`
`zozsazsm.----m_a_.H..m--.m5:2_\<2m
`ms:E5:3WEm.2§:<_Eusmg
`
`
`22528-.wm---.fi-.“22E3&._mgmzmm
`EOE:48::3
`.55-52_=2:
`
`maF
`
`
`
`rlllillln2ah.“am...am...am...rm:
`
`mfomoa4,..--AT-+.a:wT-+.-.<.\.._.-rH:§3-mun
`
`
`
`_Q:r----.".._.§,._m;§§as
`..IIIIIIIIIIIIIL.N:zum
`m.zE%_a:E--"A
`
`2:ya
`
`\¢..IIII1|..
`rllllulls
`
`Illllu
`mEE<E%m:
`
`
`
`oflgmzmm
`
`Ex29:
`
`4
`
`
`
`
`
`
`US. Patent Jun. 19,1990
`
`Sheet 4 0f35
`
`4,934,196
`
`O2 =8
`
`5528
`52m h 5% 5
`
`5% 2 o: 21
`
`1% $22 U at
`
`@252 a
`
`201$? EH
`
`was; E, .r: :EMEEIEEEE
`
`$56 5 + at 21
`
`22am w \W/ _ 5:: EEHE _
`
`
`
`mag - H mm: :3 ME :1 “
`
`
`
`3 W ............ I?“
`
`2 :25 5% v . mm
`
`m? +
`
`W +
`
`a2
`
`5:
`
`4 o2 mazwm E52
`:5 5E
`
`m O2 52%. :53:
`
`52¢ 55
`
`I2: #1
`
`wig
`
`592m
`
`5
`
`
`
`US. Patent Jun.19, 1990
`
`Sheet 5 0f 35
`
`4,934,196“
`
`F I 6 . 5
`TIME INTERVAL (At)
`MEASUREMENT cmcun
`MAIN PROGRAM
`5&0.
`
`(2) ENTER
`(POWER-ON RESET)
`
`EXECUTE INITIALIZATION
`ROUTINE 600
`
`EXECUTE PHASE ANGLE CALCULATION ROUTINE 1200
`TO DETERMINE VALUE OF FILTERED PHASE DIFFERENCE, $520
`PHASEg, BETMEEN BOTH FLOM TUBE
`VELOCITY SENSOR SIGNALS (CHANNEL 1 C 2)
`
`CALCULATE At MEASUREMENT:
`At_-'K X PHASE2
`MHERE K=SCALE FACTOR
`
`$530,
`
`LOAD At MEASUREMENT INTO BUS INTERFACE 370
`FOR COMMUNICATION TO HOST pP, AND
`GENERATE 'At MEASUREMENT COMPLETEI
`INTERRUPTTO HOST [LP
`
`EXECUTE FREOUENCY TRACKING ROUTINE 1300
`TO DETERMINE FREOUENCY ERROR DUE TO
`CHANGES IN FLUID DENSITY AND
`MODIFY DURATION OF SAMPLING INTERVAL PRODUCED
`BY TIMER 340 ACCORDINGLY
`
`r550
`
`6
`
`
`
`US. Patent Jun. 19, 1990
`
`Sheet 6 of 35
`
`4,934,196
`
`g) ENTER
`
`EXECUTE POWER ON I 505
`DIAGNOSTICS
`
`FIG‘ 5
`INITIALIZATION ROUTINE
`QQQ
`
`615
`S
`SEND APPROPRIATE
`FAULT MESSAGE
`TO HOST
`MICRDPRDCESSDR,
`VIA BUS INTERFACE 37D
`
`69
`
`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
`DDMNLOADED- FROM HOST MICRDPROCESSDR 205
`
`)- 625
`EXECUTE OFT ROUTINE 700 TO PERFORM COURSE FREOUENCY SEARCH:
`SAMPLE LEFT VELOCITY MAVEFDRM (CHANNEL 1) AT FIXED SAMPLE OF 640 HZ
`AND CALCULATE MAGNITUOE OF DISCRETE FOURIER TRANSFORM (OFT)
`
`,- 630
`SELECT COURSE FREOUENCY VALUE (nmaxl
`AT WHICH MAGNITUOE OF OFT 1s MAXIMUM
`
`FIX VALUE OF 'n' (OFT FREOUENCY COMPONENT)
`TOn
`CALCULATE AND STORE CORRESPONDING DIVISOR (O) HITHIN
`
`-EXECUTE VERNIER SEARCH ROUTINE 800 TO REPETITIVELY INCREMENT VALUE
`OF SAMPLING INTERVAL AND CALCULATE DFT AT FIXED FREOUENCY TD CDMPUTE
`PDMER SPECTRA WITH .1 HZ RESOLUTION MITHIN RANGE OF nmax + 5 H2
`UNTIL MAXIMUM MAGNITUOE IS OBTAINED; AND
`-STORE DIVISOR VALUE, Omax. ASSOCIATED WITH MAXIMUM MAGNITUOE
`L 640
`
`RESCALE SAMPLING FREOUENCY
`(OUTPUT OF TIMER 340) USING
`STORED DIVISOR VALUE, Dmax, AND
`ADJUST SAMPLING FREOUENCY TD
`EOUAL 12B TIMER FUNDAMENTAL
`FLOM TUBE FREOUENCY
`
`(2g EXIT
`
`7
`
`
`
`US. Patent Jun. 19, 1990
`
`Sheet 7 of 35
`
`4,934,196
`
`FIG. 7
`
`ENTER
`
`g)
`
`OFT ROUTINE ,
`m
`
`\/\
`705
`
`INITIALIZE VARIABLES:
`n-1
`N——12s
`MAG OLD‘O
`T
`SET CONTENTS OF
`TIMER 340 TO INITIALLY \AHO
`PROVIDE 540 HZ SAMPLING
`FREOUENCY
`__L
`EXECUTE REAL-IMAG COMPONENT ROUTINE 900
`TO DETERMINE VALUES OF REAL AND
`IMASINARY COMPONENTS OF LEFT VELOCITY SENSOR
`MAVEFORM ON CHANNEL 1 (R81, Ami) AT
`FREOUENCY n
`
`1 715
`COMPUTE MAGNITUDE:
`nAsNEwf-nef +Im12 v‘ 720
`
`N0
`
`730
`
`YES
`
`\A 735
`
`STORE: __
`MAGOLD
`MAGNEN
`
`v‘ 740
`
`765 A/
`
`STORE n ‘VALUE:
`nmax__n W750
`
`INCREMENT FREQUENCY: v~755
`n_-n+1
`
`nzN
`YES
`HETUHN
`
`8
`
`
`
`US. Patent Jun. 19,1990
`
`Sheet 8 of 35
`
`4,934,196
`
`F I G . 8
`VERNIER SEARCH
`ROUTINE
`m
`
`" ?g) ENTER
`
`_
`mmAtlixcgiABLEs'
`MAGu1d_-0
`0*(1 x 107) [Max-L5)
`Dmin_"'(I X
`LRmaX‘E)
`
`\,_ 810
`
`_.___L.
`
`820
`j.
`EXECUTE REAL-IMAG CDMPDNENT RDUTINE 900
`TO DETERMINE VALUES OF REAL AND IMABINARY
`COMPONENTS OF LEFT VELOCITY SENSDR NAVEFDRMIRE1, Im1)
`FDR FREQUENCY CDMPDNENT nmax
`
`COMPUTE MAGNITUDE:
`MAGnm?-R
`
`STORE n VALUE;
`Dmax“D
`I__
`
`f 870
`DECREMENT D BY USER SUPPLIED VERNIER INDEX (V INDEX)
`D-D - V INDEX
`AND LDAD VALUE INTU TIMER A TD INCREASE [SLENI
`SAMPLING EREDUENCY
`
`9
`
`
`
`US. Patent Jun. 19, 1990
`
`Sheet 9 of 35
`
`4,934,196
`
`(X) ENTER
`
`F I 6 . 9
`FIG_
`9A
`FIG.
`9B
`
`INITIALIZE:
`EMF-0 W903
`INDEXM
`
`FIG.9A
`REAL~IMAG coNPoNENT
`ROUTINE
`
`‘ _|_—'_—‘
`
`£99
`
`$908
`
`906
`
`NR
`
`CHANNELi
`PRESENT?
`
`YES_
`
`i
`
`HEAD SAMPLED VALUE, S. m 9“
`FROM A/D 32o
`
`r915
`RESET INPUT
`ovERFLoN
`FLAG
`
`SET INPUT
`OVERFLOH T
`FLAG
`
`SEND FAULT MESSAGE
`TO HOST RP VIA BUS @923
`INTERFACE 37o
`
`(éEXIT
`
`(RETURN TO ENTRY POINT
`TIME INTERVAL ME
`EM
`CIRCUIT MAIN PRO
`5001
`
`955~
`
`10
`
`
`
`US. Patent Jun. 19,1990
`
`Sheet 10 of 35
`
`4,934,196
`
`CDAHSE on
`VEHNIER SEARCHES
`
`YES
`
`EXECUTE CHANNEL 2 HEAL—IMAG
`
`w
`ggapg?é'?TgNgFlgég?mY
`VELOCITY SENSOR SIGNAL
`(CHANNEL 2)
`
`926
`
`FIG’ 95
`FEJAMLP-OIPgNGTE
`ROUTINE
`99g
`fez-11
`5352952239591025901525“,
`CALCULATIONS 0F DFT HEAL AND IMAGINARY
`COMPONENTS OF LEFT VELOCITY
`SENSOR SIGNAL (CHANNEL 1)
`
`_
`
`INCHEMENT coum: A 941
`coum-coum + 1
`
`INCHEMENT INDEX: V944
`INDEX-INDEX+1+n
`
`955A,
`
`947
`
`N0
`-
`
`INDEX >
`1%?
`
`YES
`
`MODIFY INDEX;
`INDEX_-INDEX-12B
`
`\A 951
`
`11
`
`
`
`US. Patent Jun. 19, 1990
`
`Sheet 11 of 35
`
`4,934,196“
`
`FIG.1O
`
`CHANNEL 1 REAL-IMAG
`ODMPUTE ROUTINE
`
`INITIALIZEI
`He 1-0 $1020
`Im1—-0
`
`1030 [
`COMPUTE ADDRESS, INDEXC, TO COSINE VALUES IN SINE VALUE
`LOOK UP TABLE; INDEX "'INDEX + STARTC.
`HHERE STARTC IS STARTING AUDRESS FDR COSINE VALUES
`
`UPDATE VALUE OF REAL COMPONENT:
`Re1—- Rel + S*TABLE(INDEXd
`
`“ 104°
`
`COMPUTE ADDRESS, INDEXS. TO SINE VALUES IN SINE
`LOOK UP TABLE: INDEXS <-INDEX + STARTS, WHERE M1050
`STARTC IS STARTING ADDRESS FOR SINE VALUES
`
`UPDATE VALUE OF IMAGINARY COMPONENT:
`Im1-- 1111 + S*TABLE (INDEXg)
`
`V‘ 1060
`
`<2) RETURN
`
`12
`
`
`
`US. Patent Jun. 19, 1990
`
`Sheet 12 of 35
`
`4,934,196
`
`FIG.11
`CHANNEL 2
`REAL-IMAG
`COMPUTE
`ROUTINE
`1M
`
`INITIALI'ZEZ
`R82 ~I-U
`11112 ‘D
`
`“1120
`
`COMPUTE ADDRESS, INDEXC, TO COSINE VALUES IN SINE
`LOOK UP TABLE: INDEXg<~INDEX + STARTC, WHERE
`STARTC IS STARTING ADDRESS FOR [IOSINE VALUES
`
`“1130
`
`UPDATE VALUE OF REAL COMPONENT:
`Her-neg + 5*TABLE (INDEXQ) “114°
`
`COMPUTE ADDRESS, INDEXS, TO SINE VALUES IN SINE
`LOOK UP TABLE: INDEX3<—INDEX + STARTS, WHERE
`STARTS IS STARTING ADDRESS FOR SINE VALUES
`
`UPDATE VALUE OF IMAGINARY COMPONENT:
`Img_-Im2 + sxTABLE (INDEXg)
`
`RETURN
`
`13
`
`
`
`v US. Patent Jun.19, 1990
`
`Sheet 13 0f 35
`
`4,934,196
`
`PHASE ANGLE CALCULATION
`ROUTINE
`1 0O
`
`SET FREQUENCY INDEX n
`TO MEASURED FUNDAMENTAL FLOR TUBE $1210
`nmvme FREOUENCY,nmaX:
`
`EXECUTE REAL-IMAG COMPONENT ROUTINE 900 TO DETERMINE
`VALUES OF REAL AND INAGINARY COMPONENTS OF BOTH CHANNELS
`(mum) AND (Reg.Img) ONLY AT TUBE nmvms FREQUENCY nmax ‘A1220
`
`COMPUTEI
`
`HBATTHBE + Im 1*Im2
`
`FILTER VALUE OF PHASE USING THO STAGE RECURSIVE
`(SINGLE POLE) DIGITAL FILTER GIVEN USER
`SUPPLIED FILTER CONSTANT (F CONSTANTTIAND
`STORE FILTERED PHASE VALUE AS PHASE2
`
`“1240
`
`(% RETURN
`
`14
`
`
`
`US. Patent Jun. 19,1990
`
`Sheet 14 of 35
`
`4,934,196 v
`
`FIG. 13
`FREQUENCY TRACKING
`ROUTINE
`ll
`
`(X) ENTER
`‘i
`READ SAMPLED VALUE, 8.
`FROM A/D 320 FOR LEFT V1310
`VELOCITY SENSOR NAVEFORM
`
`V1315
`
`EXECUTE REAL-IMAG COMPONENT ROUTINE 900 TO DETERMINE VALUES OF REAL AND
`IMAGINARY COMPONENTS OF LEFT VELOCITY SENSOR MAVEFORM (R81, Im1) AT PRESENT
`FLOM TYUBE FUNDEMENTAL DRIVING FREQUENCY, nmax
`I
`COMPUTE PHASE MEASUREMENT WITH RESPECT TO ZERO CROSSING
`FOR LEFT VELOCITY SENSOR NAVEFORM:
`m $1340
`PHASE —— Re 1
`
`FILTER VALUE OF PHASE USING TMO STAGE
`RECURSIVE SINGLE POLE DIGITAL FILTER GIVEN $1350
`USER SUPPLIED FILTER CONSTANT (F CONSTANT) AND
`STORE FILTERED PHASE VALUE AS PHASE
`
`‘
`
`.
`
`'
`\/\1360
`
`SCALE PHASE1 VALUE;
`PHASE1—-PHASE1 * a, WHERE:
`a = SCALING FACTOR
`I
`UPDATE VALUE OF DIVISDR FOR TIMER 340 TO
`ACCOUNT FOR FREQUENCY ERRORI
`DmaX<—DmaX - PHA5E1
`I
`LOAD Dmax INTO TIMER 340 TO MAINTAIN SAMPLING
`RATE AT 128 TIMES'FUNDAMENTAL TUBE DRIVING FREOUENCY “1380
`
`V1370
`
`CALCULATE DENSITY:
`DENSITY‘- PHASE
`AND OUTPUT TO DI‘
`
`I) + DENSITYO ‘A1390
`Y, IF DESIRED
`
`é EXIT
`
`15
`
`
`
`US. Patent
`
`Jun. 19,1990
`
`Sheet 15 0135
`
`4,934,196
`
`Q) 'PoNES ON RESET
`
`;1402
`—
`INITIALIZE N
`
`FIG- 14A
`HOST MICROPROCESSOR
`iP-P) MAIN PROGRAM
`m
`
`CONFIGUHE SYSTEM
`
`.
`
`.................... ..
`
`FIG.
`
`14
`
`FIG.
`
`FIG.
`
`FIG.
`
`14A
`14B
`140
`
`FIG.
`
`140
`
`$1403
`
`.
`
`i
`RESET DISPLAY S
`DISPLAY INITIAL BANNER
`'
`PERFORM DIAGNOSTICS
`(DISPLAY, POWER SUPPLY.
`MICHOPROCESSOR RAM, EPROM.
`NOVRAM, A/Oi
`
`$1404
`
`IAoP-m
`
`Y1 405
`FLAG AS FAULT
`CONDITION S ENTER
`CORRESPONDING FAULT
`CODE D TIME/DATE STAMP
`IN FAULT STACK IN NOVRAM
`y1407
`
`EXECUTE FAULT
`ROUTINE 1800
`
`J
`
`RE-ALCESS
`PARAMETER
`L141B
`1417
`
`i
`i
`i
`Y
`1
`(FAULT
`CONDITION)
`y1419
`Y
`i
`
`FLAG AS FAULT
`CONDITION C ENTER
`CORRESPONDING FAULT
`CODE 8 TIME/DATE STAMP
`IN FAULT STACK IN NOVRAM
`1420\ EXECUTE FAULT
`ROUTINE 1800
`
`1
`
`RETRIEVE PARAMETERS FROM NOVRAM
`(ALARM LIMITS, INPUT FILTER.
`TIME CONSTANT)
`
`|_ _____ ____
`
`PARAMETER
`VALIDATION
`ROUTINE 1410
`
`SET:
`N-'0
`
`|
`l
`
`l
`l
`
`|
`l
`
`|
`|
`
`l
`l
`
`I
`I
`
`l
`\
`
`l
`I
`
`l
`l
`
`l
`I
`
`16
`
`
`
`US. Patent Jun.19, 1990
`
`Sheet 16 of 35
`
`4,934,196
`
`F IB- 14B ENABLE UMIvE CIRCUIT
`
`421
`
`r1425
`
`EXCESS
`DRIVE SIGNAL
`
`F433
`
`{142a
`FLAG AS FAULT CONDITION s
`YES ,ENTEM CORRESPONDING FAULT
`DRIVE SIGNAL
`FAULT CODE & TIME/DATE STAMP IN
`0N,’
`'
`CDND TIUN)
`FAULT STACK IN NOVRAM
`N0
`F430
`-
`ExEcUTE FAULT
`SET up
`MUUTINE 1800
`1435 ’\-' INTEMMUPT MASK
`1
`“37¢ ENABLE At MEASUREMENT
`COMPLETE INTERHUPT
`
`v
`
`{1443
`FLAG AS FAULT cUNUITIUN 8
`ENTEH CORRESPONDING FAULT
`cUUE & TIME/UATE STAMP IN
`FAULT sTAcM IN NUvMAM
`444
`F
`EXECUTE FAULT
`MUUTINE 1800
`
`445
`F
`
`,
`1439M SETTEOEAQEEFWQEHS-
`_
`TIMING INTEHVALS.
`S_C0UNT1<-TIME0UT1
`S_C0UNTg-TIME0UT2
`
`1441~PEHFORM sENsUM
`DIAGNOSTICS
`
`YES
`
`442
`
`17
`
`
`
`US. Patent Jun. 19,1990
`
`Sheet 17 of 35
`
`4,934,196
`
`FIG. 14C
`
`{1446
`YES EXECUTE MENU ROUTINE 1500
`TO OBTAIN USER PARAMETERS
`
`r1451
`HEAD PREVIOUS USER
`PARAMETERS FROM NOVRAM
`
`2 5 4
`CONFIGURE SERIAL OUTPUT
`
`RESET FAULT ALARM
`[1455
`ENABLE 100 msec
`INTERRUPT
`
`SET:
`LOOP COUNT~—0
`A4461
`
`463
`
`FLAG AS FAULT CONDITION O
`,ENTEH CORRESPONDING FAULT
`N0
`CODE 8 TIME OATE STAMP IN
`7
`0K‘ CUMUIATAUAT
`FAULT sTAcK IN NOVRAM
`
`EXECUTE FAULT
`ROUTINE 1800
`
`A LOOP a DIAGNOSTIC
`A ROUTINE 1450
`i
`i
`i
`i
`i
`i
`i
`i
`
`18
`
`
`
`U.S. Patent
`
`Jun. 19,1990
`
`Sheet 18 of 35
`
`4,934,196
`
`471 FIG.
`
`14D
`
`RESET DIAGNOSTIC
`REOUEST FLAG
`
`477
`
`1
`
`;
`
`DEPENDING UPON LOOP COUNT
`
`PERFORM ONE OF THE FOLLOWING
`DIAGNOSTICS
`-A/D TEST
`-PONER LEVELS TEST
`-INPUT CHANNEL TEST
`
`
`
`
`
`
`
`-1/4 MICROPROCESSOR RAM TEST
`
`
`-1/5 NOVRAM TEST
`
`
`C INTERLEAVE THESE SEPARATE
`
`
`DIAGNOSTIC TESTS NITH SENSOR
`
`TEST DIAGNOSTIC
`
`
`
`1493
`
`479
`
`&
`FLAG AS FAULT CONDITION
`YE5 ENTER CORRESPONDING FAULT
`CODE 8 TIME/DATE STAMP IN
`
`
`FAULT STACK IN NOVRAM
`
`
`
`
`
`
`DIAGNOSTIC
`FAILED?
`
`“W”
`CONDITION)
`437
`"0
`LOOP COUNT<-LOOP coum + 1
`
`
`
`484
`EXECUTE FAULT KISS,
`ROUTINE 1800
`;
`
`489
`
`L
`
`
`
`LOOP COUNT‘-O '
`
`492
`
`19
`
`
`
`US. Patent Jun. 19, 1990
`
`Sheet 19 of 35
`
`4,934,196
`
`ENTER .
`FIG . 15A
`MENU
`
`ROOTINE
`
`9:‘ ExIT
`(NORMAL RETURN}
`
`F I G . 15
`
`FIG
`15A
`Fm
`15B
`
`HAS USER
`SELECTED TICKET
`PRINTER?
`
`r1509
`ACCESS TIME, OATE O FLOM TOTALs
`- (RESETTABLE TOTALIZER & INVENTORY TOTAL)
`O PRINT ON TICKET USING TICKET PRINTER
`
`71512
`I
`DISPLAY INVENTORY TOTAL
`AS NEXT MENu ITEM
`r1514
`i
`EXECUTE SCALING PARAMETER
`INPOT ROOTINE 1600
`
`{I521
`DISPLAY CURRENT VALUE DF SPAN DE
`FREQUENCY DUTPUT D PERMIT USER TD
`SEDUENTIALLY SELECT DESIRED SPAN
`I
`r1524
`DISPLAY CURRENT VALUE OF FULL SCALE
`OOTPOT FREQUENCY PERCENTAGE 8 PERMIT
`USER TO CHANGE PERCENTAGE
`
`1'1527
`DISPLAY CURRENT ANALOG v/I OOTPOT MOOE
`FUR v: 0-5 OR 1-5 VULTS
`FOR 1: 0-20 OR 4-20 Ma; O
`PERMIT USER TO CHANGE MORE
`r1530
`I
`DISPLAY 8 ALLDN USER TO SELECT
`CURRENT ANALOG V/I FULL SCALE PERCENTAGE
`G PERMIT USER TO CHANGE PERCENTAGE
`I
`
`20
`
`
`
`US. Patent
`
`Jun. 19, 1990
`
`Sheet 20 of 35
`
`4,934,196
`
`FIG - 155
`
`EXECUTE SERIAL COMMUNICATION
`PARAMETER ENTRY RUUTINE 1700
`
`1533
`
`SEDUENTIALLY DISPLAY ALL ENTRIES
`IN FAULT STACK sTUREU IN NDVRAM
`
`536
`
`538
`
`.
`DISPLAY CURRENT
`TIME 8 DATE
`
`YES
`
`1537
`ND
`
`1539
`ALLDH USER TO CHANGE TIME 8
`DATE IN REAL TIME CLOCK
`
`1542
`
`
`
`RESET MASS TOTALIZERS
`TO ZERO
`
`USING USER SELECTED PERCENTAGES OBTAINED
`THROUGH SCALING PARAMETER INPUT ROUTINE 700
`CALCULATE, NUMERICAL VALUES FOR
`HIGH ALARM LEVEL VALUE
`LON ALARM LEVEL VALUE
`LOM FLOM CUTOFF VALUE
`FREQUENCY CONSTANT
`V/I CONSTANT
`
`IN TERMS OF NORMALIZED MASS UNITS
`
`15
`+5VPOMER
`OK?
`
`F UL CNITI N) ND
`A‘
`7 °”
`0
`
`551
`CDFERESEPNAEDIFNSJLIRAUCIIIEDCIIIDIEJNS EIIEANET/EIJRATE
`STAMP IN FAULT STACK IN NOVRAM
`1554
`
`54BYES
`
`557
`SAVE ALE CALCULATED EAWETEE5
`“SE” SELECTIONS 1” “W”
`
`v
`EXECUTE FAULT
`'6‘ EX”
`RUUTINE 1800
`(RETUN TD ENTRY
`POINT A IN MAIN PROGRAM 1400)
`
`' EXIT (NORMAL
`.‘ RETURN)
`
`21
`
`
`
`U.S. Patent
`
`Jun. 19, 1990
`
`Sheet 21 of 35
`
`4,934,196
`
`ENTER 93
`
`YES
`
`1501
`
`NO
`
`16A
`FIG.
`SCALING PARAMETER
`INPUT ROUTINE
`E99
`
`
`
`
`
`1606
`-READ METER SIZE PHASE MEASUREMENT FILTER TIME
`CONSTANT AND VERNIER INDEX FROM INPUT SWITCHES
`-PERFORM TABLE LOOK UP, USING METER SIZE. TO
`ALLOW USER TO SEGUENTIALLY DISPLAY AND SELECT
`OUTPUT MASS AND MASS FLOH RATE UNITS {FOR LCD
`DISPLAY, V/I AND FREDUENCY OUTPUTS)
`I
`
`
`
`
`
`FIG ,
`
`FIG.
`
`16A
`
`1603
`
`
`DISPLAY CURRENT OUTPUT
`
`G
`UNITS (FOR LCD DISPLAY,
`V/I G FREOUENCY OUTPUTS)
`
`
`
` DOWNLOAD VALUES FOR FILTER TIME
`CONSTANT AND VERNIER INDEX
`
`TO TIME INTERVAL MEASUREMENT
`151°
`CIRCUITS VIA DATA LINES 36
`
`
`YES
`
`
`
`NO
`
`
`
`
`
`DISPLAY CURRENT OUTPUT
`PERFORM TABLE LOOK UP, USING METER
`
`
`UNIT FOR SCALED
`SIZE TO ALLOW USER TO SEDUENTIALLY
`PULSE OUTPUT
`DISPLAY 8 SELECT OUTPUT UNITS
`
`FOR SCALED PULSE OUTPUT
`
`
`IE3 No
`
`1520
`
`1523
`
`DISPLAY CURRENT
`HIGH ALARM LEVEL
`
`1626
`
`ALLOM USER TO DISABLE HIGH ALARM OR
`SET HIGH ALARM LEVEL IN INCREMENTS
`OF .11 OF F.S. READING
`
`22
`
`22
`
`
`
`U.S. Patent
`
`Jun. 19, 1990
`
`Sheet 22 of 35
`
`4,934,196
`
`I
`YES
`
`1530
`
`NO
`
`FIG. 165
`
`1536
`
`DISPLAY CURRENT
`LDM ALARM LEVEL
`
`ALLDM USER TO DISABLE LON ALARM
`DR SET LUM ALARM LEVEL IN INCREMENTS DF
`.11 DF F.S. READING
`
`
`
`DISPLAY CURRENT LDM
`FLOM CUTDFF VALUE
`
`1646
`
`ALLUM USER TO SELECT LDM
`FLUH CUTDFF VALUE AS:.2,.5
`1 .2 .5, DR 10% DF F.S. READINGS
`
`1550
`
`Yes 1 1552
`
`DISPLAY CURRENT VALUE OF
`INPUT FILTER TIME CONSTANT
`
`ALLDN USER TO SELECT INPUT
`FILTER TIME CONSTANT, TC.
`(.2,.5,1,2,4,7 DR 15 sec)
`
`9:0 EXIT
`
`23
`
`23
`
`
`
`U.S. Patent
`
`Jun. 19,1990
`
`Sheet 23 of 35
`
`4,934,196
`
`FIG. 17
`
`Q ENTER
`
`SERIAL PARAMETER
`INPUT ROUTINE
`
`mm
`
`
`
`ALLOM USER TO SELECT DESIRED
`TYPE OF SERIAL COMMUNICATION
`(RS-232C, RS-485 OR NONE)
`
`DISPLAY CURRENT
`TYPE OF SERIAL
`COMMUNICATION
`
`
`
`
`
`
`
`
`ALLON USER TO SELECT DESIRED PARITY
` (ODD, EVEN, NONE)
`
`DISPLAY CURRENT PARITY
`
`24
`
`
`ALLOW USER TO SEOUENTIALLY
`DISPLAY C SELECT DESIRED BAUO RATE
`(150 BAUD - 19.2 kBAUDT
`
`
`
`DISPLAY CURRENT
`
`BAUD RATE
`
`24
`
`
`
`U.S. Patent
`
`Iun.19,1990
`
`Sheet 24 of 35
`
`4,934,196
`
`
`
`
`
`SET FAULT
`ALARM OUTPUT
`
`810
`
`FIG .
`
`1 8
`
`FAULT ROUTINE
`
`LEM
`
`
`
`DISPLAY LATEST
`
`O20
`
`ENTRY (FAULT CODE
`
`DATE 8 TIME)
`
`IN FAULT STACK
`
`
`
`O30
` CLEAR
`PUSHBUTTON
`DEPRESSED?
`
`
`
`
` CLEAR
`INSTRUCTION
`RECEIVED OVER
`SERIAL INPUT?
`
`
`
`(WAIT FOR USER
`INTERVENTION)
`
`(RETURN TO ENTRY POINT A
`IN HDSTTLP MAIN PROGRAM 1400)
`
`25
`
`25
`
`
`
`U.S. Patent
`
`Jun. 19,1990
`
`Sheet 25 of 35
`
`4,934,196
`
`0:0 ENTER (100 msec INTERRUPT)
`
`I903
`FLAG AS FAULT CONDITION,
`R
`ENTER CORRESPONDING FAULT
`CODE G TIME/DATE STAMP IN
`FAULT STACK IN NOVRAM
`
`
`
`
`
`
`
`
`
`
`
`
`1905
`EEESVKEF
`
`9:4 EXIT
`
`(RETURN TO ENTRY POINT A
`IN HOST
`P MAIN PROGRAM 1400
`L‘
`
`J
`
`FLAG FAULT CONDITION. AND
`
`
`
`
`
`
`
`ERA“A“T?T§‘”RAPE‘}”o”AIF“E“RAJ
`
`IN FAULT STACK IN NOVRAM
`1908
`
`1909
`
`F15- 194
`100 msec INTERRUPT
`ROUTINE
`M
`
`
`
`
`-1901
`HAS
`
`YES
`HATCH [me
`
`
`TIMER TIMED
`OUT?
`
`"0
`1904
`EEEEENGUFTNARE TIMER
`sjcoUNT§’—-TINEUUTQ
`
`1906
`
`F_‘[G_ 19
`
`FIG.
`
`19A
`
`FIG. 198
`
`FIG.
`
`190
`
`DECREMENT SOFTWARE TIMER,
`S_C0UNT1:
`S_COUNT1——S_CUUNT1 - 1
`
`1907
`
`
`
`
`
`
`HAS
`SOFTWARE TIMER
`YES
`s.c0U~T1Ti-FRUNTFRT
`
`
`TINEU OUT?
`i.e.
`(FAULT
`LCUUNTF 0?)
`
`CONDITION)
`
`EXECUTE FAULT ROUTINE 1800
`
`9Q
`
`‘ EXIT
`
`N0
`EXECUTE RATE FACTOR CALCULATION
`ROUTINE 2000 TO CALCULATE TEMPERATURE
`COMPENSATED RATE FACTOR, RF
`
`1911
`
`1914
`
`[RETURN TO ENTRY POINT A
`IN HOST [JP MAIN PROGRAM 1400)
`
`
`
`ACCESS LATEST At
`VALUE OBTAINED FROM
`TIME INTERVAL
`MEASUREMENT CIRCUIT 30
`
`
`
`
`
`
`
`1917
`
`UPDATE FLDM DIRECTION OUTPUT
`GIVEN SIGN OF At
`
`1920
`
`CALCULATE NORMALIZED MASS FLOM
`RATE (IN mg/sec):
`RATE <-At
`* RF
`
`RATEa "-RATE
`
`26
`
`26
`
`
`
`U.S. Patent
`
`Jun. 19,1990
`
`Sheet 26 of 35
`
`4,934,196
`
`FIG. 19B
`
`
`
`1925
`
`
`RATE < LON
`FLON CUTOFF
`VALUE?
`
`
`
`
`
`
`1932
`
`RESET HIGH
`RATE > HIGH
`ALARM OUTPUT
`ALARM LEVEL
`
`VALUE?
`
`
`
` SET HIGH
`ALARM OUTPUT
`
`1939
`
`RESET LON
`ALARM OUTPUT
`
`
`RATE < LON
`ALARM LEVEL
`VALUE?
`
`SET LON
`ALARM OUTPUT
`
`
`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
`
`
`
`
`
`RATE 5-” HATE x MCF
`
`
`
`
`
`
`
`27
`
`27
`
`
`
`U.S. Patent
`
`Jun. 19,1990
`
`Sheet 27 of 35
`
`4,934,196
`
`FIG. 19C
`
`1943
`
`
`
`
`SET: TOTALg1d"' mm; AND
`UPDATE TOTALS:
`TOTAL‘-RATES + mm
`mv TOTAL<- mes + INV mm
`
`
`
`
`1945
`
` CLEAR
`PUSHBUTTON
`
`
`DEPRESSED?
`
`
`NO
`
`1943
`
`YES
`
`SEE
`TOTAL‘- 0
`
`1950
`
`STORE VALUES OF TOTAL 8
`INV TOTAL IN NOVRAM
`
`PRODUCE A PULSE AT SCALED PULSE OUTPUT IF THE VALUE
`OF
`(TOTAL-TOTALoldT Z USER SELECTED OUTPUT UNIT
`
`1953
`
`1956
`
`
`
`CONVERT RATE3 TO DESIRED OUTPUT TIME UNIT USING
`APPROPRIATE TIME SCALING FACTOR. TF,
`(e.g.
`lbs/min)
`TO YIELD MASS FLOM RATE VALUE FOR DISPLAY. RATED:
`
`
`
`RATED--RATE3 x TF
`
`
`»
`
`1959
`
`CONVERT RATED O TOTAL TO BCD,&
`DISPLAY RATED 8 TOTAL
`
`1962
`
`UPDATE FREOUENCY C V/ I OUTPUTS USING
`NORMALIZED RATE VALUES RATE 5} RATE‘-5:
`
`
`
`OUTPUT FREO.-- RATE * FRED. CONSTANT
`V/I OUT --RATEa X V/I CONSTANT
`
`
`
`28
`
`28
`
`
`
`U.S. Patent
`
`Jun. 19,1990
`
`Sheet 28 of 35
`
`4,934,196
`
`FIG. 190
`
`1987
`
`
`EXECUTE MENU
`
`
`
`ROUTINE 1500
`
`
`
`
`
`
`
`
`MENU
`pU3H3UT1gN
`_DEpgE33EDg
`
`1973
`
`
`
`EXECUTE ZERO
`FLOU OFFSET
`ROUTINE 2200
`
`
`ADJUST
`FOR ZERO
`FLOH?
`
`
`
`
`
`SET DIAGNOSTIC
`REOUEST FLAG
`
`
`
`
`
`
`0:0 EXIT
`
`(RETURN)
`
`29
`
`29
`
`
`
`U.S. Patent
`
`Jun. 19,1990
`
`Sheet 29 of 35
`
`4,934,196
`
`FIG. 20
`
`RATE FACTOR
`CALCULATION ROUTINE
`
`EDOQ
`
`
`
`ENTER
`
`
`
`t a/d.
`READ RTD TEMPERATURE,
`THROUGH A/D 220 (FIG. 3
`
`
`
`
`
`
`FROM
`READ VALUE OF METER FACTOR, MF.
`INPUT SMITCHES 8 ACCESS APPROPRIATE
`TEMPERATURE COEFFICIENT VALUE, k.
`FROM MEMORY
`
`
`
`
`CALCULATE RATE FACTOR, RF,
`CALCULATE RATE FACTOR, HF.
`AS:
`AS:
`
`RF-—MF x (1 + kTf)
`(1 . flf)
`RF——MF as
`& smns IN NOVRAM
`& STORE IN NUVHAM
`
`
`
`
`
`
`
`30
`
`
`
`
`
`EXECUTE FILTER ROUTINE 2100
`TO YIELD FILTERED TEMPERATURE VALUE, Tf
`
`30
`
`
`
`U.S. Patent
`
`Jun. 19,1990
`
`Sheet 30 of 35
`
`4,934,196
`
`93 ENTER
`
`3110
`
`ACCESS APPROPRIATE DIGITAL FILTER
`PARAMETERS [T1 8 T2) FOR
`TEMPERATURE MEASUREMENT FILTERING
`
`
`
`
`
`FIG. 21
`
`FILTER ROUTINE
`HE
`
`21
`
`CALCULATE
`
`R‘-R - T1
`
`
`
`
`
`STORE VALUES OF FILTER
`PARAMETERS
`(T1 8 T2)
`IN
`NOVRAM FOR SUBSEGUENT USE
`
`
`
`
`
`SAVE FILTER OUTPUT VARIABLE
`
`
`
`
`T2. AS FILTERED TUBE
`TEMPERATURE. Tf,
`IN NOVRAM
`
`
`
`
`31
`
`
`
`US. Patent
`
`
`
`Jun. 19, 1990
`
`Sheet 31 of 35
`
`4,934,196
`
`FIG. 22
`
`9
`”
`
`FIG
`22A'
`
`FIGS
`22B
`
`FIG. 22A
`ZERO FLOW OFFSET
`ROUTINE
`2%
`
`2205
`DISPLAY APPROPRIATE BANNER
`
`.
`
`SAVE PREVIOUS ZERO ELOH OFFSET VALUE:
`OFFSET OLD —- OFFSET
`
`2210
`
`2215
`SET CURRENT VALUE OF ZERO FLOU OFFSET TO ZERO:
`OFFSET<-0
`
`MAIT FOR TRANSIENTS TO SETTLE OUT
`
`2220
`
`
`
`INITIALIZE PRIOR VALUE OF SLIDING AVERAGE
`EULD, TO ZERO AND SET SAMPLE COUNTER, m,
`EOLD"- 0
`
`m-0
`
`2230
`
`
`TD ZERO
`
`YES
`
`N0
`
`2240
`
`INCREMENT SAMPLE COUNTER BY ONE
`m<-m+1
`
`2245
`
`OBTAIN CURRENT TIME INTERVAL MEASUREMENT
`(i.e.z§t) FROM TIME INTERVAL MEASUREMENT
`CIRCUIT 30
`
`32
`
`32
`
`
`
`U.S. Patent
`
`Jun. 19,1990
`
`Sheet 32 of 35
`
`4,934,196
`
`FIG. 22B
`
`UPDATE CALCULATION OF SLIDING AVERAGE, E, OF
`zxt MEASUREMENTS,
`z§iM2
`THAT OCCURRED DURING INTERVAL:
`
`EOLD - In +AtM
`E ‘* _nT'+"T_
`
`DETERMINE MAXIMUM AND MINIMUM zxt VALUES
`AND STORE AS MAX AND MIN, RESPECTIVELY
`
`
`
`
`
` STORE CURRENT SLIDING AVERAGE VALUE AS
`
`PRIOR VALUE OF SLIDING AVERAGE
`
`
`
`CALCULATE
`A‘-MAX - MIN
`
`
`
`
`MUM PERMISSIBLE
`3230
`
`SET zeno new OFFSET
`TU PREVIOUS VALUE:
`OFFSET-OFFSETQLD
`
`
`
`
`SET OFFSET TO HOST
`RECENT VALUE OF zxt AND
`
`FLAG FAULT CONDITION, AND
`ENTER CORRESPONDING FAULT
`SAVE IN NDVRAM
`
`CODE AND TIME/DATE STAMP IN
`FAULT STACK IN NDVRAM
`
`_
`
`_
`
`2285
`
`
`
`EXECUTE FAULT
`ROUTINE 1800
`
`
`
`
`
`
`
`‘V
`(RETURN TO ENTRY POINT
`A IN MAIN PROGRAM 500) N
`
`33
`
`33
`
`
`
`U.S. Patent
`
`Jun. 19,1990
`
`Sheet 33 of 35
`
`4,934,196
`
`FI G. 23
`
`ENTER 9:4 [OCCUHENCE UF
`Axt MEASUREMENT
`COMPLETE INTERRURT)
`
`FIG _ 23A
`RESET INPUT
`- UVERFLUM FLAG
`
`33°‘;
`
`2315
`
`FI6. 23A
`TIME INTERVAL MEASUREMENT
`INTERRURT RUUTINE
`2.399
`
`15
`ExcESS DRIVE
`N0
`
`SIGNAL HIGH?
`
`2317
`
`
`
`MAIT 27 MIcRoSEcUNUS
`
`(FAULT cUNUITIoN)
`
`
`FLAS FAULT CONDITION, AND
`ENTER CORRESPONDING FAULT
`CODE AND TIME/DATE STAMP IN
`2324
`
`
`FAULT STACK IN NUVRAM
`
`
`
`
`
`FRUM TIME INTERVAL
`MEASUREMENT CIRCUIT 30
`THROUGH LEADS 35'
`
`3343
`
`
`
`
`FLAG FAULT CONDITION
`AND ENTER CORRESPONDING
`FAULT CODE AND
`TIMER/UATE STAMP
`
`
`IN FAULT STACK
`IN NOVRAM
`
`
`
`
`EXECUTE FAULT RUUTINE 1800
`
`
`
`9:‘ EX”
`P01N(TEAINH0Sm,MAIN
`PHOGRAM 1400)
`
`R TURN TU ENTRY
`
`2331
`
`FAULT
`MESSAGE FRoM TIME
`
`2339
`
`
`INTERN/IAFTLcL54IETAS3’oH?EMENT
`
`
`
`(At
`No
`VALUE
`READ)
`
`EXECUTE FAULT
`RUUTINE 1800
`
`YES
`
`EXIT 9:4 2347
`RETURN TO ENTRY POINT A
`IN HOST MICHUPHUCESSOR
`MAIN PROGRAM 1400
`
`34
`
`34
`
`
`
`US. Patent
`
`Jun. 19, 1990
`
`Sheet 34 of 35
`
`4,934,196
`
`2355
`
`
`FLAG FAULT CONDITION,
`AND ENTER CORRESPONDING
`FAULT CODE AND TIME/UATE
`STAMP IN FAULT STACK
`
`IN NOVRAM
`2358
`
`
`
`EXECUTE FAULT RUUTINE 1800
`
`
`
`390 TIME” OUT?
`‘SEE FIG-3’
`
`
`
`(FAULT
`CONDITION)
`
`YES
`
`
`
`
`
`NO
`
`
`SOFTWARE TIMER
`_
`1_e_ COUNTEII 3_C0UNT
`
`
`WED OUT? M 3
`S__COUNT2=0?T
`
`
`OX4 EXIT
`PTJUIRTURNIITOHDUTRYP
`MAIN PRUSRAM MOD)
`FLAG FAULT CONDITION AND
`'
`ENTER CORRESPONDING FAULT
`CODE ANU TIME/DATE STAMP
`
`IN FAULT STACK IN NOVRAM
`(FAULT
`CONDITION) 3353
`
`
`
`
`
`2357
`
`
`
`YES
`
`235°
`
`FIG.23B
`
`N0
`
`2352
`
`RESET TIMER 290
`T0 100 M
`
`2353
`
`‘
`TIRERT PETTTTE
`.
`_
`I:
`S_cUUNT .._ TIMEUUT1
`
`DECREMENT SDFTHARE
`TIMER‘ 3 COUNT?
`‘_ -
`3-COUNT?
`3—C°““T2
`
`2354
`
`_
`
`1
`
`"0
`
`2370
`INPUT 0;/ERFLOH
`'
`
`YES
`
`EXECUTE FAULT ROUTINE 1800
`93 EXIT
`(RETURN To ENTRY POINT
`A IN HOSTIIP MAIN
`
`
`
`
`+5v
`
`OK?
`YES
`
`9379
`
`2334
`
`SUBTRACT zERo FLOW OFFSET:
`At—-At - OFFSET
`
`I
`
`2386
`
`‘
`
`SAVE At IN NOVRAM
`
`9:4 EXIT
`(RETURN)
`
`(FAULT CDNDITIDNT
`FLAG FAULT CONDITION. AND
`ENTER CORRESPONDING FAULT
`CODE AND TIME/DATE STAMP
`IN STACK IN NUvRAM
`
`
`
`
`
`
`
`
`
`
`
`
`INPUT
`DVERFLQH FLAG
`gm
`
`(FAULT
`
`CONDITION’
`
`2374
`
`
`
`9330
`
`N0
`
`EXECUTE FAULT RUUTINE IUUU
`
`9375
`
`v
`
`M EX”
`(RETURN TU ENTRY
`PUINT A IN HOST UP
`MAIN PROGRAM 1400)
`
`SET INPUT UVERPLUN FLAG I
`
`.
`N EXIT
`‘
`RETURN’
`
`35
`
`35
`
`
`
`U.S. Patent
`
`Jun. 19,1990
`
`Sheet 35 of 35
`
`4,934,196
`
`mommmuomm
`
`mm
`
`
`
`:m_zH¢W~mxu__
`
`mmhmz
`
`muHzo¢HumWm
`
`ummmwmmummmnmmummmnmm
`
`
`WWWWWWWWWWWWWWWWWWWWW
`
`
`
`mzHWW<HHzmmm¢;Ham¢H=-~
`
`vm.mHL
`
`mmvuwm
`
`muHzomHumWw
`
`mm_m=
`
`muHzo¢HumWm
`
`36
`
`
`
`
`
`WEEEsews
`
`¢mWmz<¢_>geHm=uWmmWmz<¢H>goHm=u_
`
`
`
`
`
`W151:mzm=m>I_7
`
`«$.53.
`
`36
`
`
`
`
`
`
`
`1
`
`4,934,196
`
`2
`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
`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
`sensors as disclosed in the ’45O reissue patent, or by
`using electromagnetic velocity sensors, as disclosed in
`U.S. Pat. No. 4,422,338 (issued to Smith on Dec. 27,
`1983).
`The ’45O 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 sinusoi-
`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
`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-
`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-
`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-
`quency of filled flow tubes are used to determine the
`density of fluids in the tubes. See, for example, U.S. Pat.
`Nos. 2,635,462 (issued to Poole et al during Apr. 1957)
`and 3,456,491 (issued to Brockhaus during July 'l969).
`The art also teaches the use of a serial double flow
`tube configuration in a Coriolis mass flow rate meter.
`Such a configuration is described in U.S. Pat. Nos.
`4,127,028 (issued to Cox et. al. on Nov. 28, 1978);
`4,192,184 (also issued to Cox et al on Mar. ll, 1980) and
`4,311,054 (also issued to Cox et al on Jan. 19, 1982).
`Here, incoming fluid sequentially passes through one
`flow tube, then through an interconnecting conduit and
`lastly through another flow tube. Unfortunately, series
`type double flow tube meters possess an inherent draw-
`back: since all the fluid must pass through two flow
`tubes instead of one, the fluid pressure drop across the
`meter is greater than that of a non-serial type flow me-
`ter. One way to compensate for this increased pressure
`drop is to increase the pressure at which the incoming
`fluid is supplied to the meter. Unfortunately, this gener-
`
`‘
`
`CORIOLIS MASS FLOW RATE METER HAVING A
`SUBSTANTIALLY INCREASED NOISE
`IMMUNITY
`
`BACKGROUND OF THE INVENTION
`1. Field of the Invention
`
`10
`
`20
`
`25
`
`30
`
`35
`
`The present invention relates to apparatus for a Cori-
`olis mass flow rate meter which is substantially immune
`to noise, and more particularly, to such a meter that is
`substantially unaffected by noise that occurs at any
`frequency different from a fundamental frequency at
`which the flow tube(s) in the meter vibrates and meth-
`ods for use in such a meter.
`2. Description of the Prior Art
`Whenever a fluid flows through a rotating or oscillat-
`ing conduit, Coriolis forces are produced which are
`perpendicular to both the velocity of the fluid moving
`through the conduit and the angular velocity of the
`rotating or oscillating conduit. The magnitude of these
`Coriolis forces is proportional to the product of the
`mass flow rate of the flu