DE68924569T2 - Massendurchflussmessgerät nach dem Coriolisprinzip mit absolutem Frequenzausgang und Verfahren zum Erzeugen eines Frequenzausgangssignals. - Google Patents
Massendurchflussmessgerät nach dem Coriolisprinzip mit absolutem Frequenzausgang und Verfahren zum Erzeugen eines Frequenzausgangssignals.Info
- Publication number
- DE68924569T2 DE68924569T2 DE68924569T DE68924569T DE68924569T2 DE 68924569 T2 DE68924569 T2 DE 68924569T2 DE 68924569 T DE68924569 T DE 68924569T DE 68924569 T DE68924569 T DE 68924569T DE 68924569 T2 DE68924569 T2 DE 68924569T2
- Authority
- DE
- Germany
- Prior art keywords
- mass flow
- clock
- values
- pulses
- interval
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 37
- 238000005259 measurement Methods 0.000 claims description 41
- 239000012530 fluid Substances 0.000 claims description 34
- 230000033001 locomotion Effects 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 14
- 230000003534 oscillatory effect Effects 0.000 claims description 3
- 238000001514 detection method Methods 0.000 claims description 2
- 230000001174 ascending effect Effects 0.000 claims 2
- 238000012886 linear function Methods 0.000 claims 2
- 238000005452 bending Methods 0.000 description 6
- 238000009532 heart rate measurement Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 239000000203 mixture Substances 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000001914 filtration Methods 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 101100042337 Mus musculus Septin9 gene Proteins 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000011143 downstream manufacturing Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000010355 oscillation Effects 0.000 description 2
- BASFCYQUMIYNBI-UHFFFAOYSA-N platinum Chemical compound [Pt] BASFCYQUMIYNBI-UHFFFAOYSA-N 0.000 description 2
- 239000010453 quartz Substances 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004907 flux Effects 0.000 description 1
- 231100001261 hazardous Toxicity 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229910052697 platinum Inorganic materials 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000009738 saturating Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000002277 temperature effect Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01F—MEASURING VOLUME, VOLUME FLOW, MASS FLOW OR LIQUID LEVEL; METERING BY VOLUME
- G01F15/00—Details of, or accessories for, apparatus of groups G01F1/00 - G01F13/00 insofar as such details or appliances are not adapted to particular types of such apparatus
- G01F15/02—Compensating or correcting for variations in pressure, density or temperature
- G01F15/022—Compensating or correcting for variations in pressure, density or temperature using electrical means
- G01F15/024—Compensating or correcting for variations in pressure, density or temperature using electrical means involving digital counting
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01F—MEASURING VOLUME, VOLUME FLOW, MASS FLOW OR LIQUID LEVEL; METERING BY VOLUME
- G01F1/00—Measuring the volume flow or mass flow of fluid or fluent solid material wherein the fluid passes through a meter in a continuous flow
- G01F1/76—Devices for measuring mass flow of a fluid or a fluent solid material
- G01F1/78—Direct mass flowmeters
- G01F1/80—Direct mass flowmeters operating by measuring pressure, force, momentum, or frequency of a fluid flow to which a rotational movement has been imparted
- G01F1/84—Coriolis or gyroscopic mass flowmeters
- G01F1/8409—Coriolis or gyroscopic mass flowmeters constructional details
- G01F1/8413—Coriolis or gyroscopic mass flowmeters constructional details means for influencing the flowmeter's motional or vibrational behaviour, e.g., conduit support or fixing means, or conduit attachments
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01F—MEASURING VOLUME, VOLUME FLOW, MASS FLOW OR LIQUID LEVEL; METERING BY VOLUME
- G01F1/00—Measuring the volume flow or mass flow of fluid or fluent solid material wherein the fluid passes through a meter in a continuous flow
- G01F1/76—Devices for measuring mass flow of a fluid or a fluent solid material
- G01F1/78—Direct mass flowmeters
- G01F1/80—Direct mass flowmeters operating by measuring pressure, force, momentum, or frequency of a fluid flow to which a rotational movement has been imparted
- G01F1/84—Coriolis or gyroscopic mass flowmeters
- G01F1/8409—Coriolis or gyroscopic mass flowmeters constructional details
- G01F1/8431—Coriolis or gyroscopic mass flowmeters constructional details electronic circuits
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01F—MEASURING VOLUME, VOLUME FLOW, MASS FLOW OR LIQUID LEVEL; METERING BY VOLUME
- G01F1/00—Measuring the volume flow or mass flow of fluid or fluent solid material wherein the fluid passes through a meter in a continuous flow
- G01F1/76—Devices for measuring mass flow of a fluid or a fluent solid material
- G01F1/78—Direct mass flowmeters
- G01F1/80—Direct mass flowmeters operating by measuring pressure, force, momentum, or frequency of a fluid flow to which a rotational movement has been imparted
- G01F1/84—Coriolis or gyroscopic mass flowmeters
- G01F1/845—Coriolis or gyroscopic mass flowmeters arrangements of measuring means, e.g., of measuring conduits
- G01F1/8468—Coriolis or gyroscopic mass flowmeters arrangements of measuring means, e.g., of measuring conduits vibrating measuring conduits
- G01F1/8472—Coriolis or gyroscopic mass flowmeters arrangements of measuring means, e.g., of measuring conduits vibrating measuring conduits having curved measuring conduits, i.e. whereby the measuring conduits' curved center line lies within a plane
- G01F1/8477—Coriolis or gyroscopic mass flowmeters arrangements of measuring means, e.g., of measuring conduits vibrating measuring conduits having curved measuring conduits, i.e. whereby the measuring conduits' curved center line lies within a plane with multiple measuring conduits
Landscapes
- Physics & Mathematics (AREA)
- Fluid Mechanics (AREA)
- General Physics & Mathematics (AREA)
- Measuring Volume Flow (AREA)
Description
- Die Erfindung betrifft ein Massenstrom- bzw. Durchflußmengenmeßgerät nach dem Coriolis-Prinzip oder Coriolis- Massenstrommeßgerät zum Bereitstellen eines Frequenzausgangssignals mit Ausgangsimpulsen mit einem Tastverhältnis bzw. Arbeitszyklus von annähernd 50%, wobei die Anzahl der Impulse, die in einem bestimmten Taktintervall erzeugt werden, proportional dem gemessenen Massenstrom ist, wobei das Gerät aufweist: eine Coriolis-Massenstrommeßanordnung; eine Einrichtung, die mit der Meßeinrichtung verbunden ist, zum Messen des Massenstroms eines Fluids, das durch ein Strömungsrohr strömt, das in der Meßanordnung enthalten ist, und zum Erzeugen von Werten, die proportional dem gemessenen Massenstrom bzw. einem summierten oder Gesamtmassenstrom sind.
- Die Erfindung betrifft auch ein Verfahren zum Messen des Massenstroms unter Verwendung eines Coriolis-Massenstrommeßgeräts zum Messen des Massenstroms eines Prozeßfluids, das durch ein Strömungsrohr strömt, das in einer Coriolis-Massenstrommeßanordnung enthalten ist, zum Erzeugen von Werten, die proportional dem gemessenen Massenstrom bzw. einem Gesamtmassenstrom sind, und zum Bereitstellen eines Frequenzausgangssignals mit Ausgangsimpulsen mit einem Abtastverhältnis von annähernd 50%, wobei die Anzahl der Impulse, die während eines Taktintervalls erzeugt werden, proportional dem gemessenen Massenstrom ist.
- Ein solches Coriolis-Massenstrommeßgerät und -verfahren sind aus WO-A-88/02 476 bekannt.
- Gegenwärtig finden Coriolis-Meßgeräte breite Anwendung als eine Möglichkeit zum genauen Messen des Massenstromes bzw. der Durchflußmenge und/oder der Dichte verschiedener Prozeßfluide in vielen Anwendungen.
- Im allgemeinen weist ein Coriolis-Massenstrommeßgerät, z. B. das in WO 88/02476 und US-PS-4 491 025 (am 1. Januar 1985 an J.E. Smith et al erteilt) beschriebene, ein oder zwei parallele Rohre auf, wobei jedes normalerweise ein U-förmiges Rohr oder eine U-förmige Röhre ist. Jedes Strömungsrohr wird so angetrieben, daß es um eine Achse schwingt, um ein Rotationsbezugssystem zu erzeugen. Bei einem U-förmigen Strömungsrohr kann diese Achse als die Biegeachse bezeichnet werden. Wenn ein Prozeßfluid durch jedes oszillierende Strömungsrohr strömt, erzeugt die Bewegung des Fluids Coriolis-Gegenkräfte, die sowohl zur Geschwindigkeit des Fluids als auch zur Winkelgeschwindigkeit des Rohres orthogonal sind. Obwohl diese Coriolis-Gegenkräfte ziemlich klein sind im Vergleich zu der Kraft, mit der die Rohre angetrieben werden, bewirken sie dennoch, daß jedes Rohr um eine Torsionsachse bewegt wird, die bei einem U-förmigen Strömungsrohr zu dessen Biegeachse normal ist. Die Bewegung, die jedem Rohr vermittelt wird, steht im Zusammenhang mit dem Massenstrom des Prozeßfluids, das durch dieses hindurchströmt.
- Ein Gesamtmassenstrom eines Prozeßfluids, das durch ein Coriolis-Massenstrommeßgerät geströmt ist, wird ohne weiteres durch Summierung des Wertes des Massenstroms, den das Meßgerät liefert, bestimmt. Ein genaues Maß des Gesamtmassenstromes zu erhalten, ist in vielen Anwendungen, z. B. beim Übergang in einen anderen Bereich bzw. an einem Übergabe/Übernahmepunkt äußerst wichtig. Deshalb und aus Redundanzgründen wird die Massenstromsummierung sowohl innerhalb der Meßgerätelektronik ("interne" Summierung) als auch von ihr entfernt ("Fern"- Summierung) durchgeführt. Die interne Summierung wird normalerweise von einem Mikroprozessor oder einem ähnlichen Bauelement durchgeführt, der bzw. das in einem elektronischem System ("in der Meßelektronik") vorhanden ist, das Teil des Meßgeräts ist. Der interne Gesamtmassenstromwert wird normalerweise in einem nichtflüchtigen Direktzugriffsspeicher (NOVRAM) gespeichert, der innerhalb der Meßelektronik angeordnet ist, auf geeignete Weise vom Mikroprozessor periodisch aktualisiert und auf Anfrage eines Anwenders entweder lokal angezeigt oder über einen Kommunikationsanschluß, z. B. einen seriellen Anschluß, zwecks Anzeige an einem entfernten Standort übertragen. Bei der Fernsummierung wird der gemessene Massenstrom meist von der Meßelektronik als skalierter Frequenzausgangswert bereitgestellt, der normalerweise zwischen vom Anwender gewählten maximalen und minimalen Frequenzwerten liegt, die den vom Anwender gewählten maximalen und minimalen Massenströmen entsprechen. Dieses Frequenzausgangssignal wird zu einem externen Summierer geleitet, z. B. einem mechanischen oder elektrischen Zähler, der an einem Installationsort des Anwenders angeordnet ist. Wenn nämlich der Mikroprozessor aus irgend einem Grund versagen sollte und der interne Gesamtmassenstrom unzugänglich wird, kann der Gesamtmassenstrom, der im Fernsummierer auftritt, verwendet werden, um ein Maß des Gesamtmassenstromes bereitzustellen, der bis zum Zeitpunkt des Versagens aufgetreten ist.
- Im Idealfall sollte der Wert des Gesamtmassenstromes, der durch interne Summierung erzeugt wird, immer gleich dem Wert sein, der durch Fernsummierung erzeugt wird. Es ist jedoch bekannt, daß beide Gesamtwerte mit der Zeit divergieren. Die Ursache für diese Divergenz geht auf die Schaltung innerhalb der Meßelektronik zurück, die das Frequenzausgangssignal erzeugt. Obwohl die Gesamtanzeige, die durch die interne Summierung, d. h. durch den Mikroprozessor selbst, erzeugt wird, innerhalb der Meßelektronik genau ist und die Ferngesamtanzeige diejenige ist, die fehlerhaft ist, bleibt der Anwender dennoch im Ungewissen, welche Anzeige denn nun die wirklich richtige ist: die interne Gesamtanzeige, die vom Meßgerät bereitgestellt wird, oder die Ferngesamtanzeige, die auf dem externen Anwendergerät erscheint.
- Für diese Divergenz sind verschiedene Faktoren verantwortlich. Zunächst einmal verwenden viele Frequenzausgangsschaltungen, die in Coriolis-Massenstrommeßgeräten vorhanden sind, analoge Komponenten. Diese Schaltungen arbeiten im allgemeinen so, daß sie einen digitalisierten Massenstromwert über einen Digital-Analog-(D/A-)Umsetzer führen und von dort in skalierter analoger Form an einen Spannungs-Frequenz- (V/F-)Umsetzer anlegen, um ein skaliertes Frequenzausgangssignal zu erhalten. Leider verwenden der D/A- und der V/F-Umsetzer analoge Schaltungen. Daher haben diese Umsetzer Eigenfehler, z. B. Offset-Fehler, Verstärkungsfehler, Temperaturauswirkungen u. dgl., die normalerweise bei analogen Schaltungen vorkommen. Somit enthält der Frequenzwert eine Fehlerkomponente, die ihrerseits zu einer zu großen Anzahl von in einer bestimmten Zeit erzeugten Impulsen führt. Andere Frequenzausgangsschaltungen, die im allgemeinen in Coriolis-Massenstrommeßgeräten verwendet werden, verwenden einen Mikroprozessor, der einen Ausgangswert auf Interrupt-Basis in einen Timer lädt, z. B. einmal in jeder Rohrschwingungsperiode. Der Timer dekrementiert wiederholt diesen Wert mit einer vorher definierten Taktrate, so daß bei der gewünschten Ausgangsfrequenz ein Überlauf eintritt. Der Überlauf wird als das Frequenzausgangssignal verwendet. Leider werden bei Implementierungen auf Mikroprozessorbasis im allgemeinen von einem Steuerprogramm, das innerhalb der Meßelektronik abläuft, verschiedene Interrupts verwendet. Daher ist es nicht ungewöhnlich, daß ein oder zwei andere Interrupts nacheinander auftreten könnten, bevor das erste Interrupt, z. B. ein Rohrperiodeninterrupt vollständig abgearbeitet worden ist, wodurch eine verschachtelte Interrupt-Behandlung erforderlich wird. Wenn dies auftritt, wird die Behandlung jedes unmittelbar vorherigen Interrupts unterbrochen, bis das zuletzt begonnene Interrupt vollständig behandelt worden ist. Daher könnte ein Rohrperiodeninterrupt etwas später verarbeitet werden, als wenn es tatsächlich auftritt, wodurch die Zeit verzögert wird, in der der Timer sonst mit einem neuen Wert für die Ausgangsfrequenz aktualisiert würde. Da der Timer kontinuierlich Ausgangsimpulse bereitstellt, könnte eine solche Verzögerung bewirken, daß der Timer einen Extraausgangsimpuls erzeugt, bevor er aktualisiert wird.
- Zusätzlich zu dem Problem der Divergenz haben die bekannten Frequenzausgangsschaltungen weitere Nachteile, die ihre Verwendung in einem Coriolis-Massenstrommeßgerät einschränken. Zunächst liefern diese Schaltungen oftmals keine Rechteckimpulse, sondern erzeugen während jedes Taktintervalls ein Signalbündel von ziemlich schmalen Impulsen, die jeweils die gleiche Impulsbreite haben und von einer Ruheperiode gefolgt werden. Im Idealfall sollte das Frequenzausgangssignal Rechteckimpulse mit einem Arbeitszyklus bzw. Tastverhältnis von annähernd 50% aufweisen. Die Verwendung von Rechteckimpulsen ist besonders wichtig, wenn ein Fernsummierer an den Frequenzausgang der Meßgerätelektronik angeschlossen werden soll. Denn wenn Impulse mit einem Arbeitszyklus bzw. Tastverhältnis, das unter 50% liegt, verwendet werden sollen, hat möglicherweise der Fernsummierer, insbesondere wenn es ein mechanischer Fernsummierer ist, zuwenig Zeit, um auf jeden der Impulse zu antworten. Zweitens haben bekannte Frequenzausgangsschaltungen, insbesondere solche, die einen auf Interrupt-Basis arbeitenden Mikroprozessor verwenden, die Tendenz, gelegentlich einen Streuimpuls (im allgemeinen als "Störspitze" bezeichnet) zu erzeugen. Eine solche Störspitze kann bei einem Fernsummenzählwert zu einem Fehler führen. Drittens sind bekannte Frequenzausgangsschaltungen häufig nicht in der Lage, ein Frequenzausgangssignal zu erzeugen, das einen ausreichend großen dynamischen Bereich hat. Insbesondere können Frequenzausgangsschaltungen keine Impulse mit einer ausreichend niedrigen oder hohen Frequenz erzeugen, wodurch die Auflösung des Frequenzausgangssignals eingeschränkt wird. Im einzelnen hat der V/F- Umsetzer in einer auf analogen Komponenten basierenden Frequenzausgangsschaltung auf Grund seiner analogen Ausführung einen spezifisch begrenzten dynamischen Bereich. Bei einer auf digitalen Komponenten basierenden Frequenzausgangsschaltung wird häufig ein Sechzehn-Bit-Timer verwendet. Leider ist eine Auflösung von 2¹&sup6;, die etwa 1 Teil von 65 000 entspricht, im allgemeinen unzureichend, um angemessen niedrige Impulsraten für die meisten Anwendungen, die Messungen von geringen Massenströmen durchführen, bereitzustellen. Wenn zwei solche Timer in Reihe verwendet werden, ist eine ausreichende Auflösung vorhanden, allerdings mit den zusätzlichen Kosten eines zweiten Zählers. Um nun die maximale Impulsrate des Frequenzausgangssignals zu erhöhen, kann die Taktfrequenz, die an diese Timer angelegt wird, erhöht werden. Durch das Erhöhen der Taktfrequenz bei einem gegebenen Timer mit einer bestimmten Größe wird auch die minimale Impulsrate des Frequenzausgangssignals erhöht. Daher haben bekannte Frequenzausgangsschaltungen einen eingeschränkten dynamischen Bereich, was ein Nachteil ist. Schließlich haben bekannte Frequenzausgangsschaltungen die Tendenz, komplex- und kostenaufwendig zu sein, wodurch sich die Herstellungskosten und der Verkaufspreis des Coriolis-Massenstromineßgeräts erhöhen.
- Folglich gibt es in Fachkreisen einen Bedarf für ein Gerät und die dazugehörigen Verfahren, um ein Frequenzausgangssignal zu erzeugen, insbesondere zur Verwendung in einem Coriolis-Massenstrommeßgerät, das genau ist und einen ausreichend großen dynamischen Bereich hat. Ferner sollte ein solches Ausgangssignal rechteckige Frequenzausgangsimpulse haben und im wesentlichen frei von jeglichen Störspitzen sein. Außerdem sollte das Gerät, das verwendet wird, um ein solches Ausgangssignal zu erzeugen, relativ einfach und billig sein. Durch die Verwendung eines solchen Geräts und solcher Verfahren wird vorteilhaft sichergestellt, daß Gesamtmassenstromanzeigewerte, die innerhalb des Meßgeräts intern erzeugt werden, ständig im wesentlichen denjenigen vergleichbar sind, die fern vom Meßgerät erzeugt werden.
- Eine Aufgabe der Erfindung ist es, eine Vorrichtung und ein für diese zu verwendendes Verfahren bereitzustellen, die ein genaues Massenstromfrequenzausgangssignal zur Verwendung in einem Coriolis-Massenstrommeßgerät erzeugen.
- Eine spezifische Aufgabe ist es, eine solches Signal bereitzustellen, das, wenn es fernsummiert wird, eine Massenstromanzeige erzeugt, die über die Zeit eine im Coriolis- Massenstrommeßgerät intern erzeugte Gesamtanzeige darstellt und von dieser nicht divergiert.
- Eine weitere Aufgabe der Erfindung ist es, ein solches Signal bereitzustellen, das Rechteckimpulse, d. h. Impulse mit einem Arbeitszyklus bzw. Tastverhältnis von annähernd 50%, hat und im wesentlichen frei von Störspitzen ist.
- Eine weitere Aufgabe ist es, ein solches Signal bereitzustellen, das einen ausreichend großen dynamischen Bereich über einen gewünschten Massenstrombereich hat.
- Eine zusätzliche Aufgabe der Erfindung ist es, eine solche Vorrichtung bereitzustellen, die relative einfach und billig herzustellen ist.
- Diese und andere Aufgaben werden entsprechend den Lehren der Erfindung von einem Coriolis-Massenstrommeßgerät entsprechend dem ersten Abschnitt der Beschreibung erfüllt, wobei die Meß- und Erzeugungseinrichtung geeignet ist, als Antwort auf den gemessenen Massenstromwert eine entsprechende Anzahl von Ausgangsimpulsen zu bestimmen, die während eines aktuellen Taktintervalls erzeugt werden müssen, die Anzahl mit vorherigen Werten zu summieren, um einen Gesamtimpulszählwert zu erhalten, wobei der Gesamtimpulszählwert einen ersten Abschnitt und einen Restabschnitt aufweist, und mit einer Einrichtung zusammenzuwirken, die die eine Nachschlagtabelle speichert, die mehrere erste und zweite Taktwerte enthält, wobei jeder der ersten Taktwerte eine "Einschaltzeit" für jeden der Ausgangsimpulse definiert, die während eines Taktintervalls zu erzeugen sind, und jeder der zweiten Werte eine "Einschaltzeit" für ein Gatter- bzw. Auftastintervall definiert, das ausreichend lang ist, um die Anzahl der während des Taktintervalls erzeugten Ausgangsimpulse zu umfassen, wobei die Meß- und Erzeugungseinrichtung als Antwort auf den Wert des ersten Abschnitts zum Zugreifen auf einen der ersten Werte und einen entsprechenden der zweiten Werte in der Nachschlagtabelle tätig wird, um erste und zweite Taktwerte zu erhalten, und als Antwort auf die ersten und zweiten Taktwerte tätig wird, um nacheinander einen Strom von im wesentlichen rechteckigen Impulsen als die Ausgangsimpulse in dem Frequenzausgangssignal während des Auftastintervalls zu erzeugen, das während des aktuellen Taktintervalls auftritt, wodurch der Strom im wesentlichen keine Streuimpulse enthält.
- In DE-A-3 007 316 ist ein Coriolis-Massenstrommeßgerät beschrieben, das eine Coriolis-Massenstrommeßanordnung und eine Einrichtung aufweist, die mit der Meßanordnung zum Messen des Massenstroms eines Fluids, das durch ein Strömungsrohr strömt, das in der Meßanordnung enthalten ist, und zum Erzeugen von Werten verbunden ist, die dem gemessenen Massenstrom bzw. einem Gesamtmassenstrom proportional sind. Obwohl das Gerät die Summierung auf der Grundlage einer digitalen Integration offenbart, stellt es kein getrenntes Frequenzausgangssignal bereit.
- Gemäß einer bevorzugten erfindungsgemäßen Ausführungsform wird unter Verwendung von zwei internen Timern innerhalb eines Mikrocontrollers der Strom von Ausgangsimpulsen erzeugt, wobei ein Timer so eingestellt wird, daß er eine Folge von Ausgangsimpulsen erzeugt, wobei jeder Impuls eine vorher definierte "Einschaltzeit" hat, und ein zweiter Timer so eingestellt wird, daß er einen Ausgangsimpuls mit einer "Einschaltzeit" erzeugt, die dem Gatter- bzw. Auftastintervall entspricht. Beide Timer werden zu Beginn jedes Taktintervalls mit neuen Werten geladen und dann im wesentlichen gleichzeitig angewiesen, mit der Taktgebung für den gesamten übrigen Teil des Intervalls zu beginnen. Jedes Taktintervall beträgt normalerweise 1/64 s und wird auf der Grundlage eines Interrupts unter Verwendung einer Echtzeituhr bereitgestellt. Die Impulse, die von den beiden Timern erzeugt werden, werden dann über ein externes UND-Gatter unter Verwendung des Ausgangssignals des zweiten Timers als Gatter-, Koinzidenz- oder Auftastsignal verknüpft. Mit dieser Verknüpfung verhindert das UND-Gatter vorteilhaft, daß irgendwelche Streuausgangsimpulse, die durch Verzögerungen aufgrund von verschachtelter Interrupt- Verarbeitung entstehen würden, in das Frequenzausgangssignal gelangen. Dadurch daß ein Rest im summierten Impulszählwert verbleibt und der Nichtrest-Abschnitt verwendet wird, um die Anzahl der im aktuellen Taktintervall zu erzeugenden Impulse herzustellen, stimmt die Gesamtanzahl der im Frequenzausgangssignal erzeugten Ausgangsimpulse vorteilhaft mit der Anzahl überein, die verwendet wird, um den internen Gesamtmassenstromanzeigewert zu bilden, wodurch sichergestellt wird, daß der interne und der externe Gesamtmassenstromanzeigewert mit der Zeit, wenn überhaupt, nicht wesentlich divergieren.
- Ein erfindungsgemäßes Verfahren umfaßt ein Verfahren gemäß dem zweiten Abschnitt der Beschreibung, gekennzeichnet durch die Schritte: Bestimmen, als Antwort auf den gemessenen Massenstromwert, einer entsprechenden Anzahl von Ausgangsimpulsen, die während eines aktuellen Taktintervalls erzeugt werden müssen; Summieren der Anzahl mit ihren vorherigen Werten, um einen Gesamtimpulszählwert zu erhalten, wobei der Gesamtimpulszählwert einen ersten Abschnitt und einen Restabschnitt aufweist; Zugreifen, als Antwort auf den Wert des ersten Abschnitts, auf einen der ersten Werte und einen entsprechenden der zweiten Werte aus einer Nachschlagtabelle, um einen ersten und einen zweiten Taktwert zu erhalten, wobei die Nachschlagtabelle mehrere erste und zweite Taktwerte hat, wobei jeder der ersten Taktwerte eine "Einschaltzeit" für jeden der während eines Taktintervalls zu erzeugenden Ausgangsimpulse definiert und jeder der zweiten Werte eine "Einschaltzeit" für ein Auftastintervall definiert, das ausreichend lang ist, um die gewünschte Anzahl der aufeinanderfolgenden der während des Taktintervalls zu erzeugenden Ausgangsimpulse zu umfassen; und aufeinanderfolgendes Erzeugen, als Antwort auf den ersten und den zweiten Taktwert, eines Stroms von im wesentlichen rechteckigen Impulsen als die Ausgangsimpulse auf das Frequenzausgangssignal während des Gatter- bzw. Auftastintervalls, das während des aktuellen Taktintervalls auftritt, wodurch der Strom im wesentlichen keine Streuimpulse enthält.
- Die Lehren der Erfindung lassen sich ohne weiteres ableiten, wenn man die folgende ausführliche Beschreibung in Zusammenhang mit den beigefügten Zeichnungen liest. Dabei zeigen:
- Fig. 1 eine Gesamtdarstellung eines Coriolis- Massenstrommeßsystems 5, in das die Lehren der Erfindung einbegriffen sind;
- Fig. 2 die richtige Zusammensetzung der Zeichnungen Fig. 2A und 2B;
- Fig. 2A und 2B gemeinsam ein Blockschaltbild der Meßgerätelektronik 20, die mit dem Coriolis-Massenstrommeßgerät 10 verbunden wird, wobei beide in Fig. 1 dargestellt sind;
- Fig. 3 ein Blockschaltbild der Logikschaltung 300 gemäß Fig. 2A und 2B;
- Fig. 4 die richtige Zusammensetzung der Zeichnungen Fig. 4A und 4B;
- Fig. 4A und 4B gemeinsam einen Ablaufplan der Hauptschleife 400, der vom Mikrocontroller 250 gemäß Fig. 2A und 2B ausgeführt wird;
- Fig. 5 die richtige Zusammensetzung der Zeichnungen Fig. 5A und Fig. 5B;
- Fig. 5A und 5B gemeinsam einen Ablaufplan der 64-Hz- Interrupt-Routine 500, die als Teil der Hauptschleife 400 ausgeführt wird;
- Fig. 6 die richtige Zusammensetzung der Zeichnungen Fig. 6A und 6B;
- Fig. 6A und 6B gemeinsam einen Ablaufplan der Rohrperiodeninterrupt-Routine 600, die als Teil der Hauptschleife 400 ausgeführt wird; und
- Fig. 7 eine Darstellung der Wellenformen, die bei der Erzeugung des skalierten Frequenzausgangssignals gemäß den Lehren der Erfindung verwendet werden, das in der Leitung 262 gemäß Fig. 2A und 2B erscheint.
- Um das Verständnis zu erleichtern, sind dort, wo es zweckmäßig ist, identische Bezugszeichen verwendet worden, um identische Elemente, die in den Figuren gemeinsam vorkommen, zu bezeichnen.
- Nach der Lektüre der folgenden Beschreibung wird der Fachmann ohne weiteres anerkennen, daß die erfindungsgemäßen Geräte und Verfahren zum Erzeugen eines absoluten Frequenzausgangssignals für jede Meß- und/oder Steuervorrichtung verwendet werden kann, die ein Frequenzausgangssignal erzeugt, das fernsummiert wird. Um die Beschreibung zu verkürzen, wird die Erfindung nachstehend allerdings im Zusammenhang mit einem Coriolis-Massenstrommeßgerät beschrieben.
- Fig. 1 ist eine Gesamtdarstellung eines Coriolis-Massenstrommeßsystems 5.
- Wie dargestellt, besteht das System 5 aus zwei Hauptkomponenten: eine Coriolis-Meßgerätanordnung 10 und eine Meßgerätelektronik 20. Die Meßgerätanordnung 10 mißt den Massenstrom eines gewünschten Prozeßfluids. Die Meßgerätelektronik 20, die mit der Meßgerätanordnung 10 über Zuleitungen 100 verbunden ist, liefert Massenstrom- und Gesamtmassenstrominformationen. Die Massenstrominformationen und die intern summierten Massenstromwerte werden von der Meßgerätelektronik in serieller Form über die Leitungen 25 bereitgestellt. Massenstrominformationen werden auch in Frequenzform und in skalierter Impulsform über die Leitungen 26 bereitgestellt. Außerdem werden Massenstrominformationen in analogen Form von 4 bis 20 mA über die Leitungen 26 zur einfachen Übergabe an nachgeschaltete Prozeßsteuer- und/oder Meßeinrichtungen bereitgestellt.
- Eine Eingabe durch den Anwender (z. B. Wahl von Meßeinheiten und Eingabe von Parametern) erfolgt über eine spezialisierte serielle Schnittstelle, die mit dem 4-20-mA-Signal verbunden ist. Im einzelnen überträgt das 4-20-mA-Signal, das zwischen dem Meßgerät und einem entfernten Standort des Anwenders (nicht dargestellt) hin- und herläuft, einen Überlagerungshochfrequenzträger, der mit seriellen Datensignalen moduliert ist. Über diese Schnittstelle schaltet sich der Anwender einfach in das 4-20-mA-Signal an einem geeigneten Standort unter Verwendung einer Vorrichtung, wirksamerweise einem Endgerät in Taschenformat mit einer geeigneten elektrischen Schnittstelle, z. B. einer Schnittstelle Modell 268 "Smart family", die gegenwärtig von Rosemount Inc. in Eden Prairie, Minnesota, ein und nimmt serielle Verbindung mit der Meßgerätelektronik 20 auf. Über diese Verbindung kann der Anwender verschiedene Software-Schalter setzen und viele verschiedene Anwenderparaineter für eine nachfolgende Verwendung durch die Meßelektronik eingeben.
- Die Coriolis-Meßgerätanordnung 10, wie dargestellt, weist auf: ein Paar Verteilerstücke 110 und 110'; ein rohrförmiges Teil 150, ein Paar parallele Strömungsrohre 130 und 130'; einen Antriebsmechanismus 180; ein Paar Geschwindigkeitsmeßspulen 160L und 160R und ein Paar Dauermagneten 170L und 170R. Die Rohre 130 und 130' sind im wesentlichen U-förmig und sind mit ihren Enden in Rohrbefestigungsblöcken 120 und 120' angeordnet, die wiederum an entsprechenden Verteilerstücken 110 und 110' fest angeordnet sind. Beide Strömungsrohre sind frei von druckempfindlichen Verbindungen.
- Während also die Seitenschenkel der Rohre 130 und 130' fest in den Rohrbefestigungsblöcken 120 und 120' und diese Blöcke wiederum fest in den Verteilerstücken 110 und 110' angeordnet sind, wie in Fig. 1 dargestellt, wird ein kontinuierlicher, geschlossener Fluidweg durch die Coriolis-Meßgerätanordnung 10 bereitgestellt. Insbesondere wenn das Meßgerät 10 über ein Einlaßende 101 und ein Auslaßende 101' an ein Rohrsystem (nicht dargestellt) angeschlossen ist, das das zu messende Fluid befördert, tritt das Fluid über eine Öffnung im Einlaßende 101 des Verteilerstücks 110 in das Meßgerät ein und wird durch eine Durchführung in diesem, die einen sich allmählich ändernden Querschnitt aufweist, in den Rohrbefestigungsblock 120 geleitet. Dort wird das Fluid geteilt und durch die Strömungsrohre 130 und 130' geleitet. Nach Erregung der Strömungsrohre 130 und 130' wird das Fluid wieder zu einem einzigen Strom im Rohrbefestigungsblock 120' vereint und danach in das Verteilerstück 110' geleitet. Im Verteilerstück 110' strömt das Fluid durch eine Durchführung, die einen ähnlichen, sich allmählich ändernden Querschnitt wie das Verteilerstück 110 hat - wie durch gestrichelte Linien 105 dargestellt -, in eine Öffnung im Auslaßende 101'. Am Ende 101' kehrt das Fluid in das Rohrsystem zurück. Das rohrförmige Teil 150 führt kein Fluid. Statt dessen dient dieses Teil dazu, die Verteilerstücke 110 und 110' axial auszurichten und zwischen ihnen einen Zwischenraum in Form eines vorbestimmten Betrags aufrechtzuerhalten, so daß diese Verteilerstücke die Befestigungsblöcke 120 und 120' und die Strömungsrohre 130 und 130' ohne weiteres aufnehmen.
- Die U-förmigen Strömungsrohre 130 und 130' sind so gewählt und angeordnet, daß sie im wesentlichen die gleichen Trägheitsmomente und Federkonstanten um die Biegeachsen W-W bzw. W'-W' aufweisen. Diese Biegeachsen sind senkrecht zu den Seitenschenkeln der U-förmigen Strömungsrohre ausgerichtet und befinden sich in der Nähe der entsprechenden Rohrbefestigungsblöcke 120 und 120'. Die U-förmigen Strömungsrohre erstrecken sich von den Befestigungsblöcken nach außen im wesentlichen parallel und haben im wesentlichen gleiche Trägheitsmomente und gleiche Federkonstanten um ihre entsprechenden Biegeachsen. Da die Federkonstante der Rohre sich mit der Temperatur ändert, ist ein Widerstandstemperaturdetektor (RTD) 190 (normalerweise eine Platin-RTD-Vorrichtung) an einer der Strömungsrohre, hier Rohr 130', angeordnet, um die Temperatur des Rohres kontinuierlich zu messen. Die Temperatur des Rohres und somit die Spannung, die bei einem gegebenen Strom, der durch den RTD hindurchströmt, am RTD auftritt, wird von der Temperatur des Fluids bestimmt, das durch das Strömungsrohr strömt. Die temperaturabhängige Spannung, die am RTD auftritt, wird, wie später ausführlich beschrieben wird, von der Meßgerätelektronik 20 verwendet, um den Wert der Federkonstante bei Änderungen der Rohrtemperatur entsprechend zu kompensieren. Der RTD ist über eine Leitung 195 mit der Meßgerätelektronik 20 verbunden.
- Diese beiden Strömungsrohre werden sinusförmig in entgegengesetzten Richtungen um deren entsprechende Biegeachsen und im wesentlichen mit deren gemeinsamer Resonanzfrequenz angetrieben. Dabei schwingen die beiden Strömungsrohre wie die Zinken einer Stimmgabel. Der Antriebsmechanismus 180 liefert die sinusförmigen Schwingungsantriebskräfte an die Rohre 130 und 130'. Dieser Antriebsmechanismus kann aus einer von vielen bekannten Anordnungen bestehen, z. B. aus einem Magneten und einer Spule, durch die ein Wechselstrom fließt, zum Versetzen beider Strömungsrohre in ein Sinuswellenschwingungen mit einer gemeinsamen Frequenz. Ein geeignetes Schwingungsantriebssignal, wie weiter unten in Verbindung mit Fig. 4 beschrieben wird, wird von der Meßgerätelektronik 20 über die Leitung 185 an den Antriebsmechanismus 180 geliefert.
- Während das Fluid durch die beiden Rohre strömt, wobei diese Rohre in entgegengesetzten Richtungen sinusförmig angetrieben werden, werden Coriolis-Kräfte entlang den benachbarten Seitenschenkeln jedes der Strömungsrohre 130 und 130', jedoch in entgegengesetzten Richtungen erzeugt, d. h. die Coriolis-Kraft, die im Seitenschenkel 131 erzeugt wird, wirkt derjenigen entgegen, die im Seitenschenkel 131' erzeugt wird. Dieses Phänomen tritt auf, weil, obwohl das Fluid durch die Strömungsrohre im wesentlichen in der gleichen parallelen Richtung strömt, die Winkelgeschwindigkeitsvektoren für die schwingenden Strömungsrohre entgegengesetzte, jedoch im wesentlichen parallele Richtungen haben. Während einer halben Schwingungsperiode der beiden Strömungsrohre werden demnach die Seitenschenkel 131 und 131' enger aneinanderbewegt als der Mindestabstand, der zwischen diesen Schenkeln auftritt, lediglich hervorgerufen durch die Schwingungsbewegung der Rohre, die vom Antriebsmechanismus 180 erzeugt wird. Während der nächsten halben Periode bewegen die erzeugten Coriolis-Kräfte die Seitenschenkel 131 und 131' weiter auseinander als der maximale Abstand, der zwischen diesen Schenkeln auftritt, lediglich hervorgerufen durch die Schwingungsbewegung der Rohre, die durch den Antriebsmechanismus 180 erzeugt wird.
- Während der Schwingung der Strömungsrohre erreichen die benachbarten Seitenschenkel, die enger aneinander gedrückt werden als deren Seitenschenkel-Gegenstücke, den Endpunkt ihrer Bewegung, an dem ihre Geschwindigkeit Null durchläuft, bevor dies ihre Gegenstücke tun. Das Zeitintervall von dem Zeitpunkt an, wo ein Paar benachbarter Seitenschenkel den Endpunkt ihres Bewegung erreicht, bis zu dem Zeitpunkt, wo das Seitenschenkelgegenpaar, d. h. die beiden, die weiter auseinandergedrückt werden, seinen entsprechenden Endpunkt erreicht, ist proportional dem Gesamtmassenstrom des Fluids, das durch die Meßgerätanordnung 10 strömt. Dieses Zeitintervall (Δt) wird einfach mit einer Vier-Impulse-Meßtechnik gemessen, wie weiter unten ausführlich beschrieben, indem das Zeitintervall gemessen wird, das zwischen jedem von zwei Meßpunkten, die auf der einen, d. h. der rechten, Geschwindigkeits- (oder Positions-)Wellenform liegen, in bezug auf einen Referenzpunkt auftritt, der auf der anderen, d. h. der linken Geschwindigkeits- (oder Positions-)Wellenform, liegt und der zeitweilig zwischen jedem der beiden Meßpunkte auftritt. Hier wird der Leser auf US-PS-4 491 025 (erteilt an J.E. Smith et al am 1. Januar 1985) mit weiteren Ausführungen zu den Funktionsprinzipien von Parallelweg-Coriolis-Massenstrommeßgeräten als hier dargelegt verwiesen.
- Um das Zeitintervall Δt zu messen, werden die Spulen 160L und 160R an jeweils einem der beiden Rohre 130 und 130' in der Nähe ihrer freien Enden angeordnet, und die Dauermagneten 170L und 170R werden ebenfalls in der Nähe der freien Enden des anderen der Rohre angeordnet. Die Magneten 170L und 170R sind so angeordnet, daß sie Spulen 160L und 160R aufweisen, die in einem Raumvolumen angeordnet sind, das die entsprechenden Dauermagneten umgibt und in denen die Magnetflußfelder im wesentlichen gleichförmig sind. Bei dieser Konfiguration stellen die elektrischen Ausgangssignale, die von den Spulen 160L und 160R erzeugt werden, ein Geschwindigkeitsprofil des Gesamtweges des Rohres bereit und können verarbeitet werden verarbeitet werden, wie später ausführlich beschrieben wird, um das Zeitintervall und daraufhin den Massenstrom des Fluids, das durch den Meßgerät strömt, zu bestimmen. Insbesondere erzeugen die Spulen 160L und 160R das linke bzw. das rechte Geschwindigkeitssignal, die in den Leitungen 165L bzw. 165R auftreten.
- Wie bereits ausgeführt, nimmt die Meßgerätelektronik 20 als Eingangssignal das RTD-Signal, das in der Leitung 195 auftritt, und das linke und das rechte Geschwindigkeitssignal, die in den Leitungen 165L bzw. 165R auftreten, an. Die Meßgerätelektronik 20 erzeugt ebenfalls, wie bereits ausgeführt, das Sinuswellenantriebssignal, das in der Leitung 185 auftritt. Die Leitungen 165L, 165R, 185 und 195 werden zusammen als Leitungen 100 bezeichnet. Die Meßgerätelektronik verarbeitet, wie oben beschrieben, sowohl das linke wie auch das rechte Geschwindigkeitssignal und die RTD-Temperatur, um den Massenstrom und den Gesamtmassenstrom des Fluids, das durch die Meßgerätanordnung 10 strömt, zu bestimmen. Dieser Massenstrom wird durch die Meßgerätelektronik 20 in den dazugehörigen Leitungen innerhalb der Leitungen 26 in analoger Form von 4 bis 20 mA bereitgestellt. Die Massenstrominformationen werden ebenfalls in Frequenzform (normalerweise mit einem maximalen Bereich von 0 bis 10 kHz) über eine entsprechende Leitung innerhalb der Leitungen 26 zur Weitergabe an eine nachgeschaltete Einrichtung bereitgestellt. Die Gesamtmassenstrominformationen werden auch über die Leitungen 25 in serieller Form bereitgestellt. Fehlerzustände werden dadurch angezeigt, daß eine lichtemittierende Diode (LED), die ausführlich im Zusammenhang mit Fig. 2A und 2B beschrieben wird, viermal pro Sekunde aufleuchtet.
- Ein Blockschaltbild der Meßgerätelektronik 20 ist in Fig. 2A und 2B dargestellt, deren richtige Zusammensetzung der Zeichnungen in Fig. 2A dargestellt ist. Ein 16-Bit- Mikrocontroller, vorzugsweise der Mikrocontroller Modell HPC36003 der Firma National Semiconductor in Santa Clara, Kalifornien bildet die Grundlage der Meßgerätelektronik 20. Bidirektionale Adreß- und Datenbusse 285 verbinden den Mikrocontroller mit einer Vier-Impulse-Meßschaltung 230, einem nichtflüchtigen Direktzugriffsspeicher (NOVRAM) 270, einem programmierbaren Festweftspeicher (PROM) 275 und einer 4-20-mA- Ausgangsschaltung 280. Geeignete Taktsignale werden vom Mikrocontroller 250 unter Verwendung eines Schwingquarzes 249 erzeugt, der normalerweise eine Resonanzfrequenz von 16 MHz hat. Außerdem enthält der Mikrocontroller eine Echtzeituhr 255, um einen Strom von Taktimpulsen zu erzeugen. Jeder dieser Impulse, der in Intervallen von 1/64 s auftritt, wie unten ausführlich beschrieben wird, bewirkt, daß die Echtzeituhr-Interrupt- Routine einen Taktwert ausführt und aktualisiert, der verwendet wird, um das skalierte Frequenzausgangssignal zu erzeugen, das in der Leitung 262 auftritt.
- Wie bereits ausgeführt, mißt der RTD 190 die Temperatur des Strömungsrohrs 130' (siehe Fig. 1). Der Wert der Temperatur wird vom Mikrocontroller 250 zum Kompensieren des Werts der Fehlerkonstante des Strömungsrohrs bei einer Temperaturänderung verwendet. Da die Schaltung 20 keine Analog-Digital- (A/D-)Umsetzer enthält, sondern Timer verwendet, wird die Spannung, die am RTD 190 auftritt, über eine Leitung 195 zum Spannungs-Frequenz-(V/F-)Umsetzer 245 geleitet, der diese Spannung in eine entsprechende Frequenz innerhalb eines vorbestimmten Bereichs umwandelt. Das resultierende Signal wird über eine Leitung 247 an einen Eingang eines Timers, hier TIMER 1, im Mikrocontroller 250 angelegt. Dieser Timer zählt die Impulse, die in diesem Signal während einer gegebenen Zeitperiode auftreten, um einen digitalen Wert zu erzeugen, der proportional zu der gemessenen Temperatur ist. Dieser Wert wird periodisch vom Programm gelesen, das innerhalb des Mikrocontrollers ausgeführt wird.
- Die Vier-Impulse-Meßschaltung 230, wie weiter unten ausführlich beschrieben wird, verarbeitet die Geschwindigkeitswellenformen, die vom rechten und linken Geschwindigkeitssensor 160R bzw. 160L erzeugt werden, um einen digitalen Aufwärtszählwert und einen digitalen Abwärtszählwert zu bestimmen, die bei einer Subtraktion einen Wert Δt ergeben. Der Wert dieser beiden Zählwerte wird über die Busse 285 durch Behandlung eines Rohrperiodeninterrupts einmal alle zwei Schwingungsbewegungsperioden des Strömungsrohrs vom Mikrocontroller gelesen. Bei der Behandlung dieses Interrupts subtrahiert der Mikrocontroller diese Werte, um ein aktuelles Maß für Δt zu erhalten, das dann bei der Bestimmung des aktuellen Werts des Massenstroms verwendet wird.
- Eine Antriebsschaltung 240 liefert ein Sinuswellenantriebssignal über die Leitung 185, um die Antriebsspule 180 zu erregen. Diese Schaltung synchronisiert das Sinuswellenantriebssignal mit dem linken Geschwindigkeitssignal, insbesondere dem verstärkten linken Geschwindigkeitssignal, das vom Verstärker 204 erzeugt wird, der in der Vier-Impulse- Meßschaltung 230 angeordnet ist.
- Der NOVRAM 270 umfaßt einen nichtflüchtigen Direktzugriffsspeicher zur temporären Datenspeicherung. Dieser Speicher ist der Darstellung entsprechend mit integrierten Schaltungen implementiert, die batteriegestützte CMOS-RAM- Schaltungen enthalten. Während der Programmausführung werden routinemäßig neue Werte von beiden Konstanten und Daten in den NOVRAM geschrieben. Ein PROM 275 umfaßt einen Programmspeicher.
- Eine Ausgangsschaltung 280 stellt eine spezialisierte serielle Schnittstelle, wie oben ausgeführt, dar, die ein Trägersignal moduliert, das mit einem Ausgangssignal von 4-20 mA überlagert ist. Diese Ausgangsschaltung enthält einen Digital- Impulsbreiten-Umsetzer 2820, einen Entkoppler 2830, einen Impulsbreiten-Umsetzer 2840 auf 4-20 mA, ein Modem 2850 und einen Wechselstromkoppler 2860. Das 4-20-mA-Signal selbst stellt einen linearen Stromwert dar, der nach Wahl des Anwenders entweder proportional dem gemessenen Massenstrom oder der gemessenen Dichte des Prozeßfluids, das durch das Meßgerät 10 strömt, ist. Um das 4-20-mA-Signal selbst zu erzeugen, lädt der Mikrocontroller 250 einen geeigneten Digitalwert über die Busse 285 in den Digital-Impulsbreiten-Umsetzer 2820. Dieser Umsetzer erzeugt einen Strom von Impulsen mit einer Impulsbreite, die durch den Digitalwert definiert ist. Diese Impulse werden über den Entkoppler 2830, normalerweise einen optische Entkoppler, an den Impulsbreiten-Umsetzer 2840 auf 4-20 mA übertragen. Auf diese Weise wird die Meßgerätelektronik 20 von gefährlichen Spannungen getrennt, die in der nachgeschalteten Prozeßsteuerausrüstung vorhanden sind. Der Umsetzer 2840 erzeugt ein Stromsignal zur Übertragung über die Leitungen 268, die Teil der Leitungen 26 sind, mit einem Wert zwischen einschließlich 4-20 mA, der proportional dem gemessenen Massenstrom oder der gemessenen Dichte ist, wie vom Anwender während der Meßgerätkonfiguration gewählt. Dieses Stromsignal kann in ein entsprechendes Spannungssignal umgewandelt werden, indem ein mit einem geeigneten Wert versehener Widerstand, z. B. 250 Ohm, angeschlossen wird, um 1-5 Volt zwischen den Leitungen 268 zu erhalten. Der Mikrocontroller 250 enthält interne Schnittstellen, um bidirektionale serielle Daten anzunehmen. Abgehende serielle Daten, die vom Mikrocontroller erzeugt werden, treten an seinem Übertragungs- ("XMIT"-)Ausgangsanschlußstift auf und werden auf die Leitung 274 und von dort auf entsprechende Eingänge der herkömmlichen seriellen RS-485-Schnittstelle 290 und auch auf das Modem 2850 gelegt, das sich innerhalb der 4-20-mA-Ausgangsschaltung 280 befindet. Das Modem setzt die Daten in das HART-Protokoll (HART ist ein Warenzeichen der Fa. Rosemount Inc.) um, das ein serielles Frequenzumtast-(FSK-)Signal verwendet, das auf der Bell-Signalisierung vom Typ 202 basiert. Dieses Signal wird dann zum Koppler 2860 geleitet, der eine Wechselstromkopplung des FSK-Signals mit dem 4-20-mA-Ausgangssignal durchführt.
- Das Meßgerät kann so konfiguriert werden, daß entweder in der Position 283 oder 287 eine Brücke angeordnet wird, wie durch gestrichelte Linien dargestellt, um jeweils serielle Daten über die RS-485-Schnittstelle 290 oder über das 4-20-mA- Signal zu empfangen. Um ankommende serielle Daten zu empfangen, die über das 4-20-mA-Signal ankommen, wird die Brücke in der Position 287 angeordnet, so daß die ankommenden seriellen Daten vom Modem 2850 an den Mikrocontroller 250 übergeben werden. Insbesondere in diesem Fall leitet der Wechselstromkoppler 2860 ein ankommendes FSK-Signal an das Modem 2850, das die seriellen Daten daraus extrahiert. Diese Daten werden dann über die Leitung 288 und 276 an den Empfangs- ("REC"-)Eingangsanschlußstift des Mikrocontrollers 250 übergeben. An einem entfernten Standort des Anwenders schaltet sich der Anwender an einer geeigneten Stelle unter Verwendung einer Vorrichtung, wirksamerweise eines Endgeräts in Taschenformat mit einer geeigneten elektrischen Schnittstelle, z. B. der Schnittstelle "Smart Family" Modell 268, das gegenwärtig von der Firma Rosemount Inc. in Eden Prairie, Minnesota hergestellt wird, einfach in das 4-20-mA-Signal ein und kann seriell auf bidirektionaler Grundlage mit der Meßgerätelektronik 20 in Verbindung treten. Über diese Verbindung kann der Anwender verschiedene Software-Schalter setzen und viele verschiedene Anwenderparameter für eine spätere Verwendung durch die Meßgerätelektronik eingeben und Informationen über irgendwelche ermittelten Fehlerzustände erhalten, die innerhalb der Meßgerätelektronik aufgetreten sind. Ankommende serielle RS- 485-Signale, die in der Leitung 25 auftreten, werden zur RS- 485-Schnittstelle 290 geleitet, die ihrerseits serielle Daten daraus extrahiert und diese Daten auf die Leitungen 284 legt. Wenn ein Anwender die Brücke in Position 283 setzt, können ankommende serielle Signale von der RS-485-Schnittstelle 490 über die Leitungen 284 und 276 an die Empfangseingangsanschlußstifte des Mikrocontrollers 250 weitergeleitet werden.
- Wie oben ausgeführt, werden Δt-Messungen durchgeführt, indem das Zeitintervall gemessen wird, das zwischen jedem von zwei Meßpunkten, die auf einer ansteigenden Seite der einen, z. B. der rechten, Geschwindigkeits-(oder Positions-)Wellenform liegen, in bezug auf einen Referenzpunkt auftritt, der auf der anderen, z. B. der linken, Geschwindigkeits-(oder Positions-)Wellenform liegt und der zeitweilig zwischen jedem der beiden Meßpunkte auftritt. Bei Zuständen ohne Massenstrom, wenn keine Phasendifferenz zwischen der rechten und der linken Geschwindigkeitswellenform auftritt, müssen die Meßpunkte auf beiden Seiten des Referenzpunkts symmetrisch angeordnet sein. Die Differenz der Dauer der Zeitintervalle zwischen dem ersten Meßpunkt und dem Referenzpunkt und dem Referenzpunkt und dem zweiten Meßpunkt ist proportional der Phasendifferenz zwischen der linken und der rechten Geschwindigkeitswellenform und somit dem gemessenen Massenstrom. Deshalb mißt ein Zähler (der "Aufwärts"-Zähler), insbesondere ein (1 : 4-)Vorskalierzähler 226 und ein 16-Bit-Zähler C1, der sich innerhalb der Zähler 234 befindet, das Zeitintervall (das "Aufwärts"-Intervall) zwischen dem ersten der Meßpunkte und dem Referenzpunkt. Ein weiterer Zähler (der "Abwärts"-Zähler), insbesondere ein (1 : 4-)Vorskalierzähler 228 und ein 16-Bit-Zähler C2, der auch innerhalb der Zähler 234 angeordnet ist, mißt das Zeitintervall (das "Abwärts"-Intervall), das zwischen dem Referenzpunkt und dem zweiten der beiden Meßpunkte auftritt. Um eine ausreichende Genauigkeit sicherzustellen, werden diese Zähler mit der Taktfrequenz, die vom Schwingquarz 249 erzeugt wird, normalerweise 16 MHz, inkrementiert. Gleiche Zeitintervallmessungen werden unter Verwendung einer Gruppe aus zwei Meßpunkten, die auf einer abfallenden Seite der rechten Geschwindigkeitswellenform liegen, und einem Referenzpunkt durchgeführt, der zeitweilig zwischen ihnen auf der linken Geschwindkeitswellenform liegt. Auch hier müssen wieder bei Null-Massenstrom bzw. Durchfluß die Meßpunkte auf der abfallenden Seite symmetrisch um ihren entsprechenden Referenzpunkt angeordnet sein. Die Zähler werden zwischen der ansteigenden und der abfallenden Seite jeder Geschwindigkeitswellenform nicht zurückgesetzt, sondern können während der Meßintervalle, die insgesamt über zwei aneinandergrenzende Perioden dieser Wellenformen laufen, weiter summieren. Wenn diese Perioden vorüber sind, wird vom Mikrocontroller eine Δt-Messung berechnet, indem einfach der Gesamtzählwert, der im "Abwärts"-Zähler gespeichert ist, von dem Zählwert, der im "Aufwärts"-Zähler vorhanden ist, subtrahiert wird. Vorteilhafterweise zeigen empirische Beobachtungen, daß eine derartige Messung von Δt zu erheblichen Verringerungen der Anzahl der in den gemessenen Δt-Werten vorhandenen, geradzahligen Oberwellen gegenüber denen mit herkömmlicher Analogtechnik führt, wie z. B. die, die in dem US-PS 4 422 338 (erteilt an J. E. Smith am 23. Dezember 1983) dargestellt ist. Folglich enthalten die Massenstromwerte und somit die Gesamtmassenstromwerte, die vom Mikrocontroller 250 erzeugt werden, im wesentlichen weniger Fehler, als bisher mit der bisher bekannten Technik möglich gewesen ist.
- Nach der Beschreibung der Vier-Impulse-Meßtechnik wird nun die Vier-Impulse-Meßschaltung 230 beschrieben. Geschwindigkeitswellenformen, die durch den rechten und den linken Geschwindigkeitssensor 160R und 160L erzeugt werden, werden von den Leitungen 165R bzw. 165L an die Verstärker 202 bzw. 204 weitergegeben, die diesen Signalen eine angemessene Verstärkung, normalerweise um einen Faktor zehn, verleihen. Das resultierende verstärkte rechte und linke Sensorsignal werden zu Genauigkeitsintegrierern 208 und 210 geleitet, die jedem dieser Signale eine Verschiebung um neunzig Grad verleihen, wobei im Endeffekt jedes Geschwindigkeitssignal in ein Positionssignal umgewandelt wird. Jeder Integrierer führt auch eine gewisse Filterung durch, um Rauschen und andere hochfrequente Komponenten aus jedem Geschwindigkeitssignal zu entfernen. Die integrierten Wellenformen werden dann an Sättigungsverstärker 209 und 222 angelegt, die diese Signale verstärken und die positiven und negativen Pegel der resultierenden Signale auf 10 V begrenzen, um zu verhindern, daß die Komparatoren 214, 220 und 224, die nach diesen Integrierern angeordnet sind, zur Sättigung gebracht werden. Der Referenzpunkt sowohl auf der ansteigenden als auch auf der abfallenden Seite auf der linken Wellenform des Geschwindigkeitssensors wird am besten so gewählt, daß er dem Nulldurchgangspunkt der entsprechenden Positionswellenform entspricht. Irgendein anderer Punkt auf der linken Geschwindigkeits-(oder Positions-)Wellenform kann als der Referenzpunkt gewählt werden, solange die dazugehörigen Meßpunkte bei einem Zustand mit Null-Massenstrom symmetrisch um diesen Referenzpunkt angeordnet sind. Daher ändert der Komparator 224 seinen Ausgangszustand in der Leitung 225 beim Auftreten jedes Referenzpunkts (Nulldurchgang). Die Meßpunkte werden als symmetrische Spannungen ±Vr, hier ±4 V, um Null angenommen. Die Komparatoren 214 und 218 werden verwendet, um das Auftreten jedes Meßpunkts auf der rechten Geschwindigkeits-(hier Positions-)Wellenform zu ermitteln, indem ein Hochpegel auf die entsprechenden Leitungen 216 oder 220 gelegt wird. Die Signale, die in den Leitungen 216, 220 und 225 auftreten, werden zur Logikschaltung 300 geleitet, die durch eine einfache kombinatorische Verknüpfung, wie in Fig. 3 dargestellt und weiter unten ausführlich beschrieben, alle zwei Rohrperioden einen Impuls in der Leitung 345, die als das Rohrperiodeninterrupt dient, und, wie in Fig. 2A und 2B dargestellt, geeignete Freigabesignale für die Zähler 226 und 228 erzeugt, die Teil des Aufwärts- bzw. Abwärtszählers sind. Insbesondere werden die Zähler 226 und 228 mit 16-MHz- Taktimpulsen getaktet, die in den Taktleitungen 236 auftreten. Jeder dieser Zähler enthält zwei Freigabeeingänge En1 und En2, die auf Hochpegel sein müssen, damit die Zähler inkrementieren können. Als Antwort auf die Komparatorausgangssignale erzeugt die Logikschaltung 300 einen Hochpegelimpuls in der Leitung 315 für die EN1-Eingänge beider Zähler immer dann, wenn der erste Meßimpuls aufgetreten ist. Dieser Hochpegel hält über das gesamte Taktintervall an, d. h. bis zum Auftreten des zweiten Meßimpulses. Danach liefert die Logikschaltung in Abhängigkeit davon, welcher spezifische Zähler während eines Taktintervalls inkrementiert werden soll (z. B. zwischen dem ersten Meßpunkt und dem Referenzpunkt oder zwischen dem Referenzpunkt und dem zweiten Meßpunkt), einen Hochpegel entweder in der Leitung 365 oder 375 für den En2-Eingang des Zählers 226 bzw. 228, um zu bewirken, daß nur ein Zähler während dieses Intervalls inkrementiert. Da die Zähler 234 normalerweise mit der gleichen hohen Rate getaktet werden wie die Zähler 226 und 228, dienen die beiden letzteren Zähler als 1 : 4- Vorskalierer. Somit wird der Überlaufausgang zu den Takteingängen Ck1 und Ck2 der getrennten 16-Bit-Zähler C1 und C2, die innerhalb der Zähler 234 angeordnet sind, geleitet. Die Zähler C1 und C2 sind mit dem Bus 285 verbunden. Daher liest der Mikrocontroller 250 beim Auftreten jedes Interrupts in der Leitung 345 den Inhalt dieser beiden Zähler. Wie unten ausgeführt, werden diese beiden Zähler nicht gelöscht, sondern können umgespeichert werden, wobei die Werte dieser Zähler, die bei Beendigung der unmittelbar vorausgegangenen Gruppe von zwei aufeinanderfolgenden Rohrperioden auftreten, vom Mikrocontroller von den Werten subtrahiert werden, die bei Beendigung der aktuellen Gruppe auftraten, um die entsprechenden Zählwerte zu erhalten.
- Die Meßgerätelektronik 20 liefert außerdem drei digitale Prozeßausgangssignale in den Leitungen 26: skalierte Frequenzausgangsimpulse in der Leitung 262, einen Pegel in der Leitung 264, um die Strömungsrichtung anzuzeigen, und ein niederfrequentes Signal in der Leitung 266, um eine entfernt angeordnete lichtemittierende Diode (LED) 272 mit einer Frequenz von 1 Hz, um den Normalbetrieb anzuzeigen, oder mit einer Rate von 4 Hz pulsieren zu lassen, um die Ermittlung eines Fehlerzustands anzuzeigen. Getrennte Einzelbit-Ausgangssignale, die im Mikrocontroller 250 verfügbar sind, werden verwendet, um geeignete Signale in den Leitungen 264 und 266 bereitzustellen.
- Insbesondere wird das skalierte Frequenzausgangssignal durch eine Auftastverknüpfung von zwei Timerausgangssignalen erzeugt. Jeder Impuls, der in dem skalierten Frequenzausgangssignal, d. h. in der Leitung 262, auftritt, zeigt an, daß eine von einem Anwender gewählte Fluidmenge, z. B. eine Unze oder ein Gramm, in einem vom Anwender definierten Taktintervall, z. B. eine Sekunde, durch das Meßgerät geströmt ist. Zum besseren Verständnis sollte der Leser bei der folgenden Beschreibung gleichzeitig Fig. 2A, 2B und 7 betrachten. Fig. 7 zeigt Wellenformen, die bei der Herstellung des skalierten Frequenzausgangssignals erzeugt werden. Diese Timer, TIMER2 und TIMER3, sind im Mikrocontroller vorhanden. Das Auftreten jedes 64-Hz-Interrupts definiert den Anfang jedes Taktintervalls von 1/64 s mit einem Impuls, z. B. dem Impuls 701 oder 705, der von einer Echtzeituhr 252 erzeugt wird, die im Mikrocontroller 250 vorhanden ist. Das Taktintervall wird verwendet, um, wie unten beschrieben, ein Referenztaktfenster 703 zu definieren, das normalerweise 1/64 s(wie dargestellt) beträgt, jedoch für geringe Massenströme auch 1/32 s oder sogar 1/16 s betragen kann. Während der Behandlung des 64-Hz-Interrupts, wie unten ausführlich beschrieben wird, wird der intern summierte Massenstrom aktualisiert. Für den intern summierte Massenstromwert wird eine 32-Bit-Auflösung beibehalten, wobei die oberen 8 Bit einen Abschnitt und die verbleibenden 24 Bit einen zweiten Abschnitt (einen "Rest") darstellen. Wenn der Aktualisierungsvorgang durchgeführt worden ist, wird der Wert des Abschnitts mit den oberen 8 Bit als Adresse für eine Nachschlagtabelle verwendet, die einen aktuellen "Frequenz"- und "Auftast"-Wert liefert, um ihn in die Timer TIMER2 bzw. TIMER3 zu laden. Der "Frequenz"-Wert, der in den TIMER2 geladen wird, wenn der Timer, der während des unmittelbar als nächstes auftretenden Taktreferenzfensters, im allgemeinen 1/64 s, mit der Mikrocontroller-Taktfrequenz (16 MHz) arbeitet, abwärts zählt, sorgt für die "Einschaltzeit" für jeden von diesem Timer während dieses Intervalls zu erzeugenden Ausgangsimpuls. Die "Einschaltzeit" wird gesetzt, um eine Folge mit der gewünschten Anzahl von Rechteckimpulsen, wobei jeder Impuls ein Tastverhältnis von 50% hat, während der Taktperiode, z. B. während der Impulse 712, 714 und 716, bereitzustellen. Wenn der Timer mit einem Wert geladen ist, wird er lediglich angewiesen, zu laufen und erzeugt Impulse in der Leitung 254 bis der Timer wieder während des nächsten Taktreferenzfensters aktualisiert wird. Leider kann es vorkommen, daß der Timer TIMER2 auf Grund des Auftretens einer verschachtelten Interrupt-Behandlung, die von Zeit zu Zeit auftreten kann, nicht unbedingt an dem entsprechenden Punkt während des Beginns des nächsten aufeinanderfolgenden Taktreferenzfensters aktualisiert wird, sondern etwas später. Der Timer TIMER2 erzeugt in dieser Zeit trotzdem Impulse. Um zu verhindern, daß irgendwelche zusätzlichen Impulse, z. B. Streuimpulse wie der Impuls 718, der von diesem Timer erzeugt wird, das skalierte Frequenzausgangssignal zerstören und bewirken, daß der Wert des extern summierten Massenstromes vom intern summierten Massenstromwert abweicht, wird deshalb vorteilhafterweise der "Gatter"- bzw. "Auftast"-Wert im wesentlichen gleichzeitig in den Timer TIMER3 geladen, wobei der "Frequenz"-Wert in den Timer TIMER2 geladen wird. Wenn dies erfolgt ist, werden beide Timer angewiesen, mit dem Zählen zu beginnen und entsprechende Ausgangssignale zu erzeugen, die beide zu Beginn eines Referenztaktfensters mit einem logischen Zustand (entweder Hochpegel oder Tiefpegel) beginnen und bei Beendigung des Fensters mit einem logischen Zustand (entweder Hochpegel oder Tiefpegel) enden. Ein Streuausgangssignal tritt auf, wenn die Ausgänge der beiden Timer am Ende eines solchen Fensters entgegengesetzte oder unterschiedliche logische Zustände haben. Die Logikschaltung (nicht dargestellt) könnte so hergestellt werden, daß sie eine Prüfung auf diesen Fehlerzustand durchführt und den Mikrocontroller 250 über dessen Auftreten entsprechend informiert. Die Verwendung dieser Schaltung könnte in sehr genauen Meßanwendungen, z. B. bei Übernahme/Übergabepunkten, sehr nützlich sein. Auf jeden Fall definiert, wie dargestellt, der "Auftast"-Wert ein Zeitintervall, eine "Einschalt"-Zeit, die ab Beginn des ersten im Taktreferenzfenster zu erzeugenden Frequenzausgangsimpulses andauert und etwa die halbe Strecke durch den Niedrigpegelabschnitt des letzten während dieses Fensters zu erzeugenden Frequenzausgangsimpulses läuft. Daher ist das Ausgangssignal, d. h. der Impuls 730, der vom Timer TIMER3 erzeugt wird und in der Leitung 256 auftritt, während dieser Zeit auf einem Hochpegel. Die Signale, die in den Leitungen 254 und 256 auftreten, werden dann an die entsprechenden Eingänge des UND-Gatters 260, das nur die richtige Anzahl von Rechteckimpulsen, z. B. die Impulse 742, 744 und 746, als das skalierte Frequenzausgangssignal, das in der Leitung 262 erscheint, durchläßt. Demzufolge kann das skalierte Frequenzausgangssignal als ein "absolutes" Frequenzausgangssignal angesehen werden. Da der Rest des summierten Massenstromes immer aufrecht erhalten wird, insbesondere mit einer 24-Bit- Auflösung, und nur die richtige ("absolute") Anzahl von rechteckigen Ausgangsfrequenzimpulsen während irgendeines Taktreferenzfensters erzeugt wird, weichen folglich die intern und extern summierten Zählwerte nicht wesentlich über die Zeit ab.
- Ein Blockschaltbild der Logikschaltung 300 gemäß Fig. 2A und 2B ist in Fig. 3 dargestellt. Die Ausgänge der Komparatoren 214 und 218 definieren den Anfang und das Ende eines Δt- Meßintervalls, d. h. das Auftreten von ersten und zweiten Meßpunkten (±Vr-Werten) auf der Wellenform des rechten Geschwindigkeitssensors, die einen entsprechenden Referenzpunkt (Null- Durchgänge) auf der Wellenform des linken Geschwindigkeitssensors umschließen. Wie dargestellt, werden diese Ausgangssignale über die Leitungen 216 und 220 zu entsprechenden Eingängen eines Exklusiv-ODER-Gatters 310 geleitet, das seinerseits innerhalb jedes Meßintervalls einen Hochpegel in der Leitung 315 bereitstellt, der zu dem ersten Freigabe- oder En1-Eingang der Zähler 226 und 228 in der Meßschaltung 230 geleitet wird. Außerdem wird das Ausgangssignal des Komparators 218, das in der Leitung 220 vorliegt, verwendet, um das Flipflop 230 über den Inverter 320 zu setzen, während das Ausgangssignal des Komparators 214, das in der Leitung 216 vorliegt, dieses Flipflop zurücksetzt. Das Wahr- oder Q-Ausgangssignal des Flipflops 330 wird dem Takteingang des Flipflops 340 zugeführt, das lediglich dieses Ausgangssignal durch zwei teilt. Das resultierende geteilte Ausgangssignal, dessen Impulsrate pro zwei Rohrperioden eins beträgt, wird über die Leitung 345 als Rohrperiodeninterrupt an den Mikrocontroller 250 angelegt. Um das zweite Freigabesignal En2 für die Zähler 226 und 228 zu erzeugen, wird der Ausgang des Komparators 224 über die Leitung 225 auf einen Eingang des Exklusiv-ODER-Gatters 350 geleitet. Das andere Eingangssignal dieses Gatters ist das Signal am Wahr- Ausgang des Flipflops 330. Daher erzeugt dieses Gatter einen Hochpegel während des ersten Abschnittes jedes Meßintervalls, d. h. nach dem Auftreten jedes ersten Meßpunkts und vor seinem entsprechenden Nulldurchgangspunkt, und einen Tiefpegel während des zweiten Abschnitts jedes Meßintervalls, d. h. nach dem Auftreten jedes Referenzpunkts (Nulldurchgang) und vor dem Auftreten seines dazugehörigen zweiten Meßpunkts. Das Ausgangssignal des Gatters 350 wird über den Inverter 360 an die Leitung 365 als das En2-Freigabesignal an den Zähler 226 und über den Puffer 370 an die Leitung 375 als das En2- Freigabesignal an den Zähler 228 angelegt.
- Die Software, die vom Mikrocontroller 250 ausgeführt wird, besteht im wesentlichen aus einer Hauptschleife 400 und zwei Interruptbehandlungsroutinen: einer 64-Hz-Interrupt- Routine 500 und einer Rohrperiodeninterrupt-Routine 600. Die Hauptschleife 400 führt eine Initialisierung durch und wartet dann darauf, daß entweder ein Interrupt auftritt oder ein Anwender dem Meßgerät mitteilt, daß es in eine Konfigurationsbetriebsart gehen soll, um einen vom Anwender wählbaren Wert zu ändern. Die 64-Hz-Interrupt-Routine 500 wird jedesmal durchgeführt, wenn ein 64-Hz-Taktimpuls auftritt, um den Aufwärts- und den Abwärtszähler zu lesen und den gemessenen Massenstromwert zu aktualisieren. Die Röhrenperiodeninterrupt-Routine 600 wird einmal alle zwei Perioden der Strömungsrohrbewegung durchgeführt, um das skalierte Frequenzausgangssignal zu aktualisieren.
- Die Hauptschleife 400 ist insgesamt in Fig. 4A und 4B dargestellt, deren richtige Zusammensetzung der Zeichnungen in Fig. 4 dargestellt ist.
- Nach dem Eintritt in die Hauptschleife 400, der im allgemeinen während des Einschalt-Rücksetzzustands erfolgt, geht die Ausführung im einzelnen zunächst mit der Initialisierungsroutine 410 weiter. In dieser Routine wird zunächst Block 413 ausgeführt, um alle Interrupts zu sperren. Danach wird Block 415 ausgeführt, um verschiedene Hardware- Initialisierungsschritte und verschiedene auf der Software basierende Diagnoseschritte durchzuführen. Wenn dies erfolgt ist, wird Block 418 ausgeführt, um verschiedene Software- Variable auf ihre Anfangswerte zu setzen. Diese Variablen sind: SLONG1, SLONG2, OLD_Δ_T und NEXT_Δ_T, die in der Routine 600 verwendet werden, wie unten beschrieben wird. Danach wird Block 424 ausgeführt, um aus dem NOVRAM Standardwerte für verschiedene Parameter zu laden, falls die Software- Initialisierung nicht schon vorher erfolgt ist, z. B. während des Systemstarts nach einem Auftreten eines Einschalt- Rücksetzens. Wenn die Software-Initialisierung erfolgt ist, werden die vorher eingegebenen, anstelle der entsprechenden Standardwerte vom Anwender gewählten Werte für diese Parameter verwendet. Die Ausführung geht dann weiter mit Block 425, der die erwartete maximale Ausgangsfrequenz (MAX_FREQ), die bei dem maximalen Massenstrom auftreten sollte, berechnet und speichert. Danach geht die Ausführung weiter mit Block 430, der einen Zähler DIVIDE_DOWN mit Null initialisiert. Dieser Zähler wird beim Zählen von Taktintervallen verwendet, wenn Massenströme gemessen werden sollen. Dann werden die Entscheidungsblöcke 435 und 445 ausgeführt, um zu bestimmen, ob geringe Massenströme zu messen sind und, wenn ja, um einen Zähler zu setzen, um das entsprechende Aktualisierungsintervall zu definieren. Insbesondere wenn der Wert von MAX_FREQ kleiner ist als "16", gibt der Entscheidungsblock 435 die Ausführung über seinen JA-Zweig weiter an einen Block 440, der bei Ausführung den Wert des Zählers DIVIDE_DOWN auf eins setzt, wodurch ein Aktualisierungsintervall von 1/32 s für das skalierte Frequenzausgangssignal bereitgestellt wird. Die Ausführung geht dann weiter mit dem Entscheidungsblock 445. Wenn dagegen der Wert MAX_FREQ größer oder gleich "16" ist, geht die Ausführung über den NEIN-Zweig 438 weiter mit einem Entscheidungsblock 445. Dieser Entscheidungsblock bestimmt bei Ausführung, ob der Wert von MAX_FREQ kleiner ist als "8". Wenn ja, geht die Ausführung über den JA-Zweig vom Entscheidungsblock 445 weiter mit einem Block 450, der bei Ausführung den Wert des Zählers "DIVIDE_DOWN" auf zwei setzt, wodurch ein Aktualisierungsintervall bereitgestellt wird, das 1/16 s für das skalierte Frequenzausgangssignal entspricht. Die Ausführung geht dann weiter mit einem Block 455. Wenn dagegen der Wert von MAX_FREQ größer oder gleich "8" ist, geht die Ausführung über den NEIN-Zweig 448 weiter mit einem Entscheidungsblock 455. Der Block 455 berechnet und speichert bei Ausführung den Wert der Variablen FREQ1, die, wie unten beschrieben, danach als Skalierungsfaktor dient, der mit dem Massenstrom multipliziert wird, um die entsprechende Zahl von skalierten Frequenzausgangsimpulsen zu bestimmen, die während eines Aktualisierungsintervalls bereitzustellen sind. Wenn Block 455 ausgeführt ist, ist die Ausführung der Initialisierungsroutine 410 beendet.
- An dieser Stelle wartet die Hauptschleife 400 darauf, daß entweder Interrupts oder der Eintritt des Anwenders in eine Konfigurationsbetriebsart erfolgt. Im einzelnen geht die Ausführung weiter mit einem Block 457, der alle Interrupts freigibt. Danach geht die Ausführung weiter mit einem Entscheidungsblock 460. Wenn ein Interrupt auftritt, geht die Ausführung über den JA-Zweig dieses Entscheidungsblocks weiter mit einem Block 465. Der Block 465 führt bei Ausführung die geeignete Interruptbehandlungsroutine (64-Hz- Interruptbehandlungsroutine 500 oder Rohrperiodeninterrupt- Routine 600) aus, um das Interrupt zu behandeln. Wenn dies erfolgt ist oder wenn gerade kein Interrupt aufgetreten ist, wobei der Entscheidungsblock 460 die Ausführung über den NEIN- Zweig 463 weitergibt, dann geht die Ausführung weiter mit einem Entscheidungsblock 470. Dieser Entscheidungsblock bestimmt, ob der Anwender dazu aufgefordert hat, die Konfiguration des Meßgeräts zu ändern. Wenn der Anwender dazu aufgefordert hat, z. B. durch Drücken einer entsprechenden Taste des externen Endgeräts, dann gibt der Entscheidungsblock 470 die Ausführung über seinen JA-Zweig weiter an einen Block 475. Dieser Block signalisiert dem Anwender bei Ausführung über ein vorher definiertes Menü, das über den seriellen Anschluß und ein externes Endgerät (z. B. die oben beschriebene "Smart Family"-Schnittstelle Modell 268) zugänglich ist, daß vom Anwender wählbare Werte für verschiedene Parameter eingegeben werden können. Diese Parameter sind ein maximaler Massenstrom (MAX_FLOW_RATE), der gemessen wird, eine vom Anwender gewählte maximale Frequenz (USER_FREQ), z. B. 10 kHz, die im skalierten Frequenzausgangssignal erzeugt werden soll, und ein vom Anwender gewählter Massenstrom (USER_RATE), der dieser Frequenz entspricht. Danach erfolgt über den Zweig 480 eine Rückkehr zum Eintrittspunkt der Initialisierungsroutine 410. Wenn dagegen der Anwender keine solche Aufforderung gegeben hat, gibt der Entscheidungsblock 470 die Ausführung über den NEIN-Zweig 473 zurück an den Entscheidungsblock 470, um darauf zu warten, daß ein Interrupt auftritt. Obwohl die Schleife, die den Entscheidungsblock 460 und den Entscheidungsblock 465 enthält, im allgemeinen nicht explizit programmiert, sondern im Mikrocontroller selbst fest verdrahtet ist, wird diese Schleife hier verwendet, um durch eine grafische Darstellung des Interruptbehandlungsablaufs die Zusammenhänge besser verständlich zu machen.
- Ein Ablaufplan der 64-Hz-Interrupt-Routine 500, die als Teil der Hauptschleife 400 ausgeführt wird, ist insgesamt in Fig. 5A bis 5B darstellt, deren richtige Zusammensetzung der Zeichnungen in Fig. 5 dargestellt ist. Wie bereits ausgeführt, wird die 64-Hz-Interrupt-Routine 500 immer dann ausgeführt, wenn ein 64-Hz-Taktimpuls auftritt, um den Aufwärts- und den Abwärtszähler zu lesen und den gemessenen Massenstromwert zu aktualisieren.
- Nach Eintritt in das Programm 500 geht die Ausführung im einzelnen weitere mit einem Block 503, der den Wert des intern summierten Massenstromes (PULSE_ACCUM) aus dem NOVRAM 270 liest (siehe Fig. 2A und 2B). Danach geht, wie in Fig. 5A und 5B dargestellt, die Ausführung weiter mit einem Block 506, der den summierten Massenstrom aktualisiert, der als skalierte Frequenzausgangsimpulse beibehalten wird, wobei der neueste gemessene Massenstromwert (RATE) gegeben ist, der während des unmittelbar vorausgegangenen Taktintervalls auftritt. Dieser Massenstromwert wird mit dem Wert des Skalierungsfaktors FREQ1 multipliziert, der bei der Initialisierung bestimmt worden ist, um die Anzahl der Impulse zu bestimmen, die addiert werden müssen. Der resultierende aktualisierte Wert wird dann in den NOVRAM 270 zurückgespeichert. Wenn dies erfolgt ist, geht die Ausführung weiter mit einem Block 509, um den Wert des Zählers DIVIDE_DOWN in einer temporären Variablen DIV_FREQ zu speichern. Danach geht die Ausführung weiter mit einem Entscheidungsblock 512, um für geringe maximale Massenströme, bei denen Taktintervalle von 1/32 und 1/16 s verwendet werden, zu bestimmen, ob die Aktualisierung des Frequenzausgangssignals in dem aktuellen Taktintervall von 1/64 s auftreten sollte. Falls der Inhalt des Schleifenzählers FREQ_LOOPCNT nicht null ist, womit angezeigt wird, daß keine solche Aktualisierung während des aktuellen Intervalls erfolgt, gibt der Entscheidungsblock 512 die Ausführung über seinen NEIN-Zweig weiter an einen Block 515, der lediglich den Wert des Zählwerts FREQ_LOOPCNT um eins dekrementiert. Danach erfolgt eine Rückkehr aus der Routine 500. Wenn dagegen der Inhalt von FREQ_LOOPCNT gleich null ist, wodurch angezeigt wird, daß die Aktualisierung erfolgen sollte, dann gibt der Entscheidungsblock 512 die Ausführung über seinen JA-Zweig weiter an Block 518. Dieser Block hält bei Ausführung die Timer TIMER2 und TIMER3 an, die den Frequenz- und den Auftastausgang des Mikrocontrollers 250 bereitstellen (siehe Fig. 2A und 2B). Wenn dies erfolgt ist, wie in Fig. 5A bis 5B dargestellt, geht die Ausführung weiter mit einem Block 522, der bei Ausführung das obere Byte der Variablen PULSE_ACCUM liest und das Ergebnis in der temporären Variablen A speichert. Als nächstes geht die Ausführung weiter mit einem Entscheidungsblock 525, um zu bestimmen, ob der Wert der Variablen A "180" überschreitet, was eine vorher definierte maximale Anzahl von Rechteckimpulsen ist, die in einem Referenztaktfenster erzeugt werden kann. Die meisten Frequenzausgangssignale in handelsüblichen Geräten haben insbesondere eine maximale Ausgangsfrequenz von annähernd 10 kHz. Daher ist der maximale Wert der Variablen A so bemessen, daß er eine kompatible maximale Frequenz für das skalierte Frequenzausgangssignal bereitstellt. Wenn der Wert der Variablen A "180" ist, beträgt demzufolge die maximale Anzahl der Ausgangsimpulse/Sekunde unter Verwendung eines Referenztaktfensters von 1/64 s 180 · 64 oder 11 520 Impulse. Bei einem Referenztaktfenster mit einer Dauer von entweder 1/32 oder 1/16 s beträgt die maximale Anzahl der Ausgangsimpulse/Sekunde 180 · 32 oder 5 760 Impulse bzw. 180 · 16 oder 2880 Impulse. Wenn der Wert der Variablen A "180" überschreitet, gibt der Entscheidungsblock 525 die Ausführung über seinen JA-Zweig weiter an einen Block 531, der bei Ausführung den Wert der Variablen A auf "180" setzt. Die Ausführung geht dann weiter mit einem Block 534, der ein entsprechendes Fehlerflag setzt, um den Anwender über das Auftreten eines Bereichsüberschreitungszustands zu informieren. Die Ausführung geht dann weiter mit einem Block 537. Wenn dagegen der Wert der Variablen A gleich oder kleiner "180" ist, gibt der Entscheidungsblock 525 die Ausführung über seinen NEIN-Zweig direkt weiter an einen Block 537. Block 537 aktualisiert bei Ausführung den Wert eines Summierers TOTAL_ACCUM, der die laufende Summierung der tatsächlichen Anzahl von Impulsen weiterführt, die bei der letzten Anzahl von Impulsen, d. h. den Wert der Variablen A, erzeugt worden sind, die während des aktuellen Taktintervalls zu erzeugen sind. Wenn dies erfolgt ist, geht die Ausführung weiter mit einem Block 540, der den Wert der Variablen A als eine Adresse in der Nachschlagtabelle verwendet, die im PROM 275 gespeichert ist (siehe Fig. 2A und 2B), um auf die entsprechenden Werte T2 und T3 zuzugreifen, die in den "Frequenz"- Timer TIMER2 bzw. den "Auftast"-Timer TIMER3 geladen werden. Als nächstes wird, wie in Fig. 5A bis 5B dargestellt, ein Block 543 ausgeführt, um die Werte T2 und T3 für geringe Massenströme zu modifizieren, indem diese Werte um eine Anzahl von Stellen nach links verschoben werden, die dem Wert der Variablen DIV_FREQ entspricht. Für die Massenströme, die mehr als 16 Impulse/Sekunde erzeugen, ist der Wert von DIV_FREQ gleich null. Danach geht die Ausführung weiter mit einem Block 546, der bei Ausführung die Werte T2 und T3 in die Timer TIMER2 bzw. TIMER3 liest. Wenn dies erfolgt ist, wird ein Block 549 ausgeführt, um diese beiden Timer zu starten. Danach geht die Ausführung weiter mit einem Block 552. Die Blöcke 552 bis 570 werden verwendet, um den entsprechenden Wert des Schleifenzählers FRE_LOOKPCNT zu setzen. Im einzelnen speichert der Block 552 bei Ausführung den Wert von DIV_FREQ in der temporären Variablen A. Block 556 wird dann ausgeführt, um den Wert der Variablen A (den Wert DIV_FREQ) mit zwei zu multiplizieren. Danach geht die Ausführung weiter mit dem Entscheidungsblock 560, der feststellt, ob die Variable A einen größeren Wert hat als null. Wenn der Wert der Variablen A größer ist als null, womit ein geringer Massenstrom angezeigt wird, der ein Referenztaktfenster von 1/32 oder 1/16 s erfordert, dann geht die Ausführung über den JA-Zweig des Entscheidungsblocks 560 weiter mit einem Block 564. Dieser letztere Block dekrementiert den Wert der Variablen A um eins. Die Ausführung geht dann weiter mit einem Block 570, der bei Ausführung den resultierenden Wert der Variablen A im Schleifenzähler FREQ_LOOPCNT für eine nachfolgende Verwendung speichert. Wenn dagegen der Wert der Variablen A gleich null ist, dann gibt der Entscheidungsblock 560 die Ausführung über seinen NEIN-Zweig direkt weiter an einen Block 570. Wenn Block 570 ausgeführt ist, erfolgt eine Rückkehr von der Routine 500 zur Hauptschleife 400. Daran kann man erkennen, daß sich die Anzahl der im skalierten Frequenzausgangssignal erzeugten Impulse auf der Grundlage des zu dem Zeitpunkt aktuellen Wertes des Nichtrest-Abschnitts (oberes Byte) der Gesamtmassenstromvariablen PULSE_ACCUM von einem Referenztaktfenster zum nächsten ändern kann. Ein Referenztaktfenster von 1/64 s kann z. B. fünf Impulse haben, das nächste vier Impulse, das folgende einen oder null Impulse usw. Wenn jedoch eine Sekunde vergangen ist, ist die Anzahl der über 64 aneinandergrenzende Fenster erzeugten Impulse gleich der absoluten Anzahl der erforderlichen Impulse, wodurch sichergestellt wird, daß die intern und extern erzeugten summierten Massenstromwerte über die Zeit nicht wesentlich, wenn überhaupt, divergieren.
- Ein Ablaufplan der Röhrenperiodeninterrupt-Routine 600, die auch als Teil der Hauptschleife 400 ausgeführt wird, ist als Ganzes in Fig. 6A bis 6B dargestellt, dessen richtige Zusammensetzung der Zeichnungen in Fig. 6 dargestellt ist. Wie bereits ausgeführt, wird die Röhrenperiodeninterrupt-Routine 600 jeweils einmal alle zwei Perioden der Strömungsrohrbewegung ausgeführt, um das skalierte Frequenzausgangssignal zu aktualisieren.
- Nach Eintritt in die Routine 600 geht die Ausführung weiter mit Block 605, der bei Ausführung alle Interrupts sperrt. Danach wird Block 610 ausgeführt, um aktuelle Aufwärts- und Abwärtszähldaten zu lesen, die in den Zählern C1 und C2 gespeichert sind, die sich innerhalb der Zähler 234 befinden. Die Variable SINT1 speichert den (Aufwärts-)Zählwert aus dem Zähler C1; während die Variable SINT2 den (Abwärts-)Zählwert aus dem Zähler C2 speichert. Alle Interrupts werden dann durch Ausführung des Blocks 615 freigegeben. Wenn dies erfolgt ist, wird der Wert der Zeitkonstante (TC) aus dem NOVRAM 270 gelesen (siehe Fig. 2A und 2B). Dieser Wert kann irgendeiner von verschiedenen vorher definierten Werten sein, wie er vom Anwender während der Systemkonfiguration gewählt und dann in NOVRAM für eine nachfolgende Verwendung gespeichert wird. Danach geht die Ausführung, wie in Fig. 6A bis 6B dargestellt, weiter mit einem Block 625, um den aktuellen Δt-Wert zu berechnen. Dieser Wert wird einfach dadurch bestimmt, daß die Zählwerte, die in den Zählern C1 und C2 gespeichert sind, die während des aktuellen Meßintervalls Summierungen ausgeführt haben, subtrahiert werden. Da jedoch diese Zähler zu Beginn eines Meßintervalls nicht zurückgesetzt werden, werden die Inhalte dieser Zähler, die am Ende des Intervalls vorhanden waren, nämlich SINT1 und SINT2, von den entsprechenden Inhalten, die zu Beginn des Meßintervalls vorhanden waren, nämlich OLD_UP_COUNT bzw. OLD_DOWN_COUNT, subtrahiert. Dann wird Δt berechnet, indem die Differenz zwischen beiden Werten gebildet wird. Wenn diese Berechnung durchgeführt worden ist, geht die Ausführung weiter mit einem Block 628, der bei Ausführung die aktuellen Zählwerte als OLD_UP_COUNT- und OLD_DOWN_COUNT-Werte für die nächste Gruppe von zwei Meßintervallen zur Verwendung während der nächsten Wiederholung in der Routine 600 sichert.
- Wenn ein Wert für Δt berechnet worden ist, wird der Wert dann über eine Zweipolfilterroutine 630, die ein digitales Filter mit zwei identischen Polen implementiert, digital gefiltert. Nach Eintritt in die Routine 360 geht die Ausführung im einzelnen weiter mit einem Block 633, der bei Ausführung den Wert der temporären Variablen SLONG1 auf den aktuellen Wert von Δt setzt. Als nächstes wird ein Block 635 ausgeführt, um den Wert von SLONG1 entsprechend zu skalieren, indem sein Wert mit dem Hexadezimalwert "4000" multipliziert wird. Danach geht die Ausführung weiter mit einem Block 640, der den Wert der temporären Variablen SLONG2 auf den Wert der Variablen OLD_DELTA_T setzt. An diesem Punkt wird ein Block 645 ausgeführt, um den ersten Pol der digitalen Filterung bereitzustellen. Der resultierende, digital gefilterte Wert SLONG1 wird dann durch Ausführung eines Blocks 650 als Variable OLD_DELTA_T gesichert für eine Verwendung während der nächsten Wiederholung in der Routine 600. Als nächstes wird ein Block 655 ausgeführt, um den Wert der Variablen SLONG2 auf den aktuellen Wert der Variablen NEXT_DELTA_T zu setzen. Danach geht die Ausführung weiter mit einem Block 660, die einen zweiten Pol der digitalen Filterung bereitstellt. In den Blöcken 645 und 660 werden identische Filtergleichungen verwendet. Der resultierende gefilterte Wert von SLONG1 wird dann innerhalb der Variablen NEXT_DELTA_T durch Ausführung eines Blocks 665 gesichert. Wie bereits ausgeführt, werden die Werte von SLONG1, OLD_DELTA_T, SLONG2 und NEXT_DELTA_T während der Initialisierung auf null gesetzt.
- Wenn Block 665 ausgeführt ist, ist die digitale Filterung beendet, wobei dann die Ausführung von der Routine 630 zu einem Block 670 übergeht. Dieser Block subtrahiert bei Ausführung den aktuellen Wert einer mechanischen Versetzung, die durch Zustände des Null-Massenstromes bestimmt wird, vom Wert der Variablen SLONG1, d. h. dem digital gefilterten Δt-Wert. Danach geht die Ausführung weiter mit einem Block 675, der den in SLONG1 gespeicherten Δt-Wert durch Multiplikation mit einem Mengenumwandlungsfaktor umwandelt, um den Massenstrom (FLOAT1), gemessen in Gramm/Sekunde, zu erhalten. Dann geht die Ausführung weiter mit dem Entscheidungsblock 680, der bestimmt, ob der aktuelle Massenstrom einen Wert hat, der unter einem vorbestimmten unteren Massenstromgrenzwert liegt. Wenn der aktuelle Massenstrom einen solchen Wert hat, dann gibt die Entscheidungsblock 680 die Ausführung über den JA-Zweig an einen Block 685 weiter, der bei Ausführung den Wert der Variablen FLOAT1, d. h. den aktuellen Massenstrom, auf null setzt. Die Ausführung geht dann weiter mit einem Block 690, der den Wert der Variablen FLOAT1 zur Verwendung in der 64-Hz- Interrupt-Routine 500 in die Variable RATE lädt. Wenn dagegen der aktuelle Massenstrom einen Wert hat, der größer oder gleich dem unteren Massenstromgrenzwert ist, dann gibt der Block 680 die Ausführung über den NEIN-Zweig 688 direkt an den Block 690 weiter. Wenn Block 690 ausgeführt ist, wird ein Block 695 ausgeführt, um weitere Prozeßvariable, falls vorhanden, zu aktualisieren, wobei der aktuelle Massenstromwert gegeben ist. Wenn dies erfolgt ist, ist die Ausführung der Routine 600 beendet, wobei die Ausführung dann von dieser Routine in die Hauptschleife 400 zurückkehrt.
- Der Fachmann erkennt ohne weiteres, daß, obwohl die dargelegte Ausführungsform U-förmige Strömungsrohre verwendet, Strömungsrohre von fast jeder Größe und Form verwendet werden können, solange die Rohre in Schwingung um eine Achse versetzt werden können, um ein trägheitsloses Bezugssystem herzustellen. Diese Rohre können z. B. gerade Rohre, S-förmige Rohre oder schleifenförmige Rohre sein, sind jedoch nicht darauf beschränkt. Obwohl das Meßgerät so dargestellt ist, daß es zwei parallele Strömungsrohre aufweist, können bei Bedarf Ausführungsformen mit einem einzelnen Strömungsrohr oder mehr als zwei parallelen Strömungsrohren - z. B. drei, vier oder auch mehr - verwendet werden.
- Obwohl eine einzige erfindungsgemäße Ausführungsform dargestellt und beschrieben worden ist, können viele andere abgeänderte erfindungsgemäße Ausführungsformen von einem Fachmann ohne weiteres hergestellt werden.
- Fig. 1
- 25 serielle Ausgangssignale
- 26 analoge und digitale Prozeßausgangssignale
- 165R rechtes Geschwindigkeitssignal
- 165L linkes Geschwindigkeitssignal
- 185 Antriebssignal
- 195 RTD-Signal
- Fig. 2A
- 160R rechter Geschwindigkeitssensor
- 160L linker Geschwindigkeitssensor
- 180 Antriebsspule
- 190 Temperatursensor (RTD)
- 208 Präzisionsintegrierer
- 209 Verstärker
- 210 Präzisionsintegrierer
- 222 Verstärker
- Fig. 2B
- 25 serieller RS-485-Anschluß
- 254 TIMER2 E/A (Frequenz)
- 256 TIMER3 E/A (Gatter)
- 262 skaliertes Frequenzausgangssignal (Massenstrom)
- 264 Strömungsrichtung
- 268 4-20-mA-Ausgangssignal (zur SMART-Family'-Schnittstelle)
- 280 4-20-mA-Ausgangsschaltung
- 290 RS-485-Schnittstelle
- 2820 Digital-Impulsbreiten-Umsetzer
- 2840 Impulsbreiten-Umsetzer auf 4-20-mA
- 2860 Wechselstromkoppler
- Fig. 3
- 315 zum Freigabeanschlußstift EN1 der Zähler 226 und 228
- 345 Rohrperiodeninterrupt (zum Mikrocontroller 250)
- 365 zum Freigabeanschlußstift EN2 des Zählers 226
- 375 zum Freigabeanschlußstift EN2 des Zählers 228
- Fig. 4A
- Eintritt (Einschaltrücksetzen)
- 400 Hauptschleife
- Fig. 5A
- 512 FREQ_LOOPCNT = 0?
- 525 A > 180 (max. Anzahl von Impulsen in einem zweiten Intervall von 1/64)?
Claims (18)
1. Coriolis-Massenstrommeßgerät (5) zum Bereitstellen
eines Frequenzausgangssignals mit Ausgangsimpulsen mit einem
Arbeitszyklus von annähernd 50%, wobei die Anzahl der
Impulse, die während eines Taktintervalls erzeugt werden,
proportional dem gemessenen Massenstrom ist, wobei das Gerät
aufweist:
eine Coriolis-Massenstrommeßanordnung (10);
eine Einrichtung (20, 230, 250), die mit der
Meßanordnung verbunden ist, zum Messen des Massenstroms eines Fluids,
das durch ein Strömungsrohr strömt, das in der Meßanordnung
enthalten ist, und zum Erzeugen von Werten, die proportional
dem gemessenen Massenstrom bzw. einem summierten Massenstrom
sind,
dadurch gekennzeichnet, daß die Meß- und
Erzeugungseinrichtung geeignet ist,
als Antwort auf den gemessenen Massenstromwert eine
entsprechende Anzahl von Ausgangsimpulsen, die während eines
aktuellen Taktintervalls erzeugt werden müssen, zu bestimmen
(503-522),
die Anzahl mit vorherigen Werten zu summieren (537), um
einen summierten Impulszählwert zu erhalten, wobei der
summierte Impulszählwert einen ersten Abschnitt und einen
Restabschnitt hat, und um mit der Einrichtung (275)
zusammenzuwirken, die eine Nachschlagtabelle mit mehreren ersten und
zweiten Taktwerten speichert, wobei jeder der ersten Taktwerte
(740) eine "Einschaltzeit" für jeden der Ausgangsimpulse (742,
744, 746) definiert, die während eines Taktintervalls (703) zu
erzeugen sind, und jeder der zweiten Werte eine
"Einschaltzeit" für ein Auftastintervall (730) definiert, das
ausreichend lang ist, um die Anzahl der Ausgangsimpulse, die
während des Taktintervalls zu erzeugen sind, einzuschließen,
wobei die Meß- und Erzeugungseinrichtung als Antwort
auf den Wert des ersten Abschnitts wirksam wird (540) zum
Zugreifen auf einen der ersten Werte und einen entsprechenden
der zweiten Werte aus der Nachschlagtabelle, um einen ersten
und einen zweiten Taktwert zu erhalten, und
als Antwort auf den ersten und den zweiten Taktwert
wirksam wird (543-570), um nacheinander einen Strom von im
wesentlichen rechteckigen Impulsen (742, 744, 746) als die
Ausgangsimpulse in dem Frequenzsausgangssignal während des
Auftastintervalls, das während des aktuellen Taktintervalls
auftritt, zu erzeugen, wodurch der Strom im wesentlichen keine
Streuimpulse enthält.
2. Gerät nach Anspruch 1, wobei die
Impulsstromerzeugungseinrichtung aufweist:
einen ersten und einen zweiten Timer (TIMER2, TIMER3),
die auf den ersten und den zweiten Taktwert ansprechen, wobei
der erste Timer den Rechteckimpuls und der zweite Timer einen
Auftastimpuls mit einer "Einschaltzeit" erzeugt, die im
wesentlichen dem Auftastintervall entspricht, und
ein Gatter (260), das auf das erste und das zweite
Taktsignal anspricht, zum Anlegen der Rechteckimpulse auf das
erste Taktsignal an das Frequenzausgangssignal während des
Auftastintervalls.
3. Gerät nach Anspruch 2, wobei der erste und der
zweite Timer Impulse erzeugen, die zu Beginn des Intervalls beide
mit einem ersten logischen Zustand beginnen und bei Beendigung
des Intervalls beide mit einem zweiten logischen Zustand
enden, wobei der erste und der zweite logische Zustand die
gleichen oder unterschiedliche logische Zustände sind.
4. Gerät nach Anspruch 3, wobei die Coriolis-
Meßanordnung aufweist:
mindestens ein Strömungsrohr (130); und
eine Einrichtung (180), die auf ein Antriebssignal
anspricht, zum Versetzen des Strömungsrohrs in Schwingung mit
Sinuswellencharakter.
5. Gerät nach Anspruch 4, wobei die Meß- und
Erzeugungseinrichtung ferner aufweist:
eine Einrichtung (160L, 170L) zum Erfassen der Bewegung
des Strömungsrohrs, die von entgegengesetzten Coriolis-Kräften
bewirkt wird, die durch das Hindurchströmen des Fluids durch
das Strömungsrohr hervorgerufen werden, und zum Erzeugen eines
ersten und eines zweiten Sensorsignals, das auf die erfaßte
Bewegung des Strömungsrohrs anspricht; und
eine Schaltungseinrichtung (20), die auf das erste und
das zweite Sensorsignal anspricht, zum Bereitstellen eines
Wertes des Massenstroms des Fluids, wobei die
Schaltungseinrichtung aufweist:
eine Einrichtung (240), die auf mindestens eines der
Sensorsignale anspricht, zum Erzeugen des Antriebssignals;
eine Einrichtung (230), die auf das erste und das
zweite Sensorsignal anspricht, zum Bestimmen der Zeitdifferenz,
die zwischen jedem von zwei Meßpunkten, die auf einer
ansteigenden Seite der Wellenform des ersten Sensorsignal liegen, in
bezug auf einen Referenzpunkt auftreten, der auf der zweiten
Wellenform des Sensorsignals liegt und der zeitweilig zwischen
jedem der beiden Meßpunkten auftritt, wobei die Zeitdifferenz
eine lineare Funktion des Wertes des Massenstroms des Fluids
ist, das durch das Strömungsrohr strömt; und
eine Einrichtung (250), die auf die bestimmte
Zeitdifferenz anspricht, zum Erzeugen des Massenstromwerts.
6. Gerät nach Anspruch 5, wobei die Coriolis-
Meßanordnung ferner ein erstes und ein zweites Strömungsrohr
(130, 130') aufweist und wobei die
Bewegungserfassungseinrichtung ferner eine Einrichtung (160L, 170L; 160R, 170R) zum
Erfassen der Bewegung der beiden Strömungsrohre aufweist, so daß
das erste und das zweite Sensorsignal auf die erfaßte Bewegung
der beiden Strömungsrohre ansprechen.
7. Gerät nach Anspruch 6, wobei die
Zeitdifferenzbestimmungseinrichtung aufweist:
eine Einrichtung (208, 210) zum Integrieren des ersten
und des zweiten Sensorsignals, um ein erstes und ein zweites
Positionssignal zu erzeugen;
eine Einrichtung (214, 218, 224) zum Vergleichen des
ersten und des zweiten Positionssignals mit vorher definierten
Referenzwerten, um das Auftreten jedes der beiden Meßpunkte
und des Referenzpunkts zu ermitteln;
eine Logikschaltungseinrichtung (300), die auf die
Vergleichseinrichtung anspricht, zum Erzeugen eines ersten und
eines zweiten Steuersignals;
einen ersten und einen zweiten Zähler (226, 228), der
auf das erste und das zweite Steuersignal und den Taktimpuls
einer vorher definierten Frequenz anspricht, zum Bereitstellen
von gezählten Werten, die ein erstes Taktintervall, das
zwischen dem ersten Meßpunkt und dem Referenzpunkt auftritt, und
ein zweites Taktintervall, das zwischen dem Referenzpunkt und
dem zweiten Meßpunkt auftritt, darstellen.
8. Gerät nach Anspruch 7, wobei die
Zeitdifferenzbestimmungseinrichtung ferner aufweist: eine Einrichtung (330,
340) zum Ermitteln der Zeitdifferenz als Antwort auf die
gezählten Werte, die bei mindestens zwei Gruppen aus dem ersten
und dem zweiten Meßpunkt und dem Referenzpunkt auftreten, die
über zwei Perioden der Bewegung des einen der Strömungsrohre
auftreten.
9. Gerät nach Anspruch 8, wobei die Meßpunkte bei
Zuständen ohne Massenstrom auf beiden Seiten des Referenzpunkts
symmetrisch angeordnet sind.
10. Verfahren zum Messen eines Massenstroms unter
Verwendung eines Coriolis-Massenstrommeßgerätes (5) zum Messen
des Massenstroms eines Prozeßfluids, das durch ein
Strömungsrohr strömt, das in einer Coriolis-Massenstrommeßanordnung
(10) enthalten ist, zum Erzeugen von Werten, die proportional
dem gemessenen Massenstrom bzw. einem summierten Massenstrom
sind, und zum Bereitstellen eines Frequenzausgangssignals mit
Ausgangsimpulsen mit einem Arbeitszyklus von annähernd 50%,
wobei die Anzahl der Impulse, die während eines Taktintervalls
erzeugt werden, proportional dem gemessenen Massenstrom ist,
wobei das Verfahren dadurch gekennzeichnet ist, daß es die
Schritte umfaßt:
Bestimmen (503-522), als Antwort auf den gemessenen
Massenstromwert, einer entsprechenden Anzahl von
Ausgangsimpulsen, die während eines aktuellen Taktintervalls erzeugt
werden müssen;
Summieren (537) der Anzahl mit vorherigen Werten, um
einen summierten Impulszählwert zu erhalten, wobei der
summierte Impulszählwert einen ersten Abschnitt und einen
Restabschnitt hat;
Zugreifen (540), als Antwort auf den Wert des ersten
Abschnitts, auf einen der ersten Werte und einen
entsprechenden der zweiten Werte aus einer Nachschlagtabelle, um einen
ersten und einen zweiten Taktwert zu erhalten, wobei die
Nachschlagtabelle mehrere erste und zweite Taktwerte hat, wobei
jeder der ersten Taktwerte (740) für jeden der Ausgangsimpulse
(742, 744, 746), die während eines Taktintervalls (703) zu
erzeugen sind, eine "Einschaltzeit" definiert und jeder der
zweiten Werte eine "Einschaltzeit" für ein Auftastintervall
(730) definiert, das ausreichend lang ist, um eine gewünschte
Anzahl von aufeinanderfolgenden der Ausgangsimpulse zu
umschließen, die während des Taktintervalls zu erzeugen sind;
und
aufeinanderfolgendes Erzeugen (543-570), als Antwort
auf das erste und das zweite Taktsignal, eines Stroms von im
wesentlichen rechteckigen Impulsen (742, 744, 746) als die
Ausgangsimpulse auf das Frequenzsausgangssignal während des
Auftastintervalls, das während des aktuellen Taktintervalls
auftritt, wobei der Strom im wesentlichen keine Streuimpulse
enthält.
11. Verfahren nach Anspruch 10, ferner mit den
Schritten:
Laden eines ersten und eines zweiten Timers mit dem
ersten und dem zweiten Taktwert, so daß der erste Timer die
Rechteckimpulse erzeugt und der zweite Timer einen
Auftastimpuls mit einer "Einschaltzeit" erzeugt, die im wesentlichen
gleich dem Auftastintervall ist; und
Verknüpfen, als Antwort auf das erste und das zweite
Taktsignal, der Rechteckimpulse durch Auftasten mit dem ersten
Taktsignal zu dem Frequenzausgangssignal während des
Auftastintervalls.
12. Verfahren nach Anspruch 11, ferner mit dem Schritt
des Erzeugens, mittels des ersten und des zweiten Timers, von
Impulsen, die zu Beginn des Intervalls beide mit einem ersten
logischen Zustand beginnen und bei Beendigung des Intervalls
beide mit einem zweiten logischen Zustand enden, wobei der
erste und der zweite logische Zustand die gleichen oder
unterschiedliche logische Zustände sind.
13. Verfahren nach Anspruch 12, ferner mit den
Schritten:
Erfassen der Bewegung von mindestens einem
Strömungsrohr, die durch Coriolis-Kräfte verursacht wird, die durch das
Hindurchströmen des Fluids durch das Strömungsrohr
hervorgerufen werden, und zum Erzeugen eines ersten und eines zweiten
Sensorsignals, die auf die erfaßte Bewegung des Strömungsrohrs
ansprechen; und
Erzeugen des Antriebssignals als Antwort auf mindestens
eines der Sensorsignale;
Versetzen des Strömungsrohrs in Schwingung mit einem
Sinuswellencharakter als Antwort auf das Antriebssignal;
Bestimmen, als Antwort auf das erste und das zweite
Sensorsignal, einer Zeitdifferenz, die zwischen jeweils zwei
Meßpunkten, die auf einer ansteigenden Seite der Wellenform
des ersten Sensorsignals liegen, in bezug auf einen
Referenzpunkt auftritt, der auf der Wellenform des zweiten
Sensorsignals liegt, auftritt und der zeitweilig zwischen jedem der
beiden Meßpunkte auftritt, wobei die Zeitdifferenz eine
lineare Funktion des Wertes des Massenstroms des Fluids ist, das
durch das Strömungsrohr strömt; und
Erzeugen, als Antwort auf die bestimmte Zeitdifferenz,
eines gemessenen Wertes des Massenstroms des Fluids.
14. Verfahren nach Anspruch 13, wobei der
Bewegungserfassungsschritt ferner den Schritt der Erfassung der Bewegung
des ersten und des zweiten Strömungsrohrs umfaßt, so daß das
erste und das zweite Sensorsignal auf die erfaßte Bewegung der
beiden Strömungsrohre ansprechen.
15. Verfahren nach Anspruch 14 ferner mit dem Schritt
des Aktualisierens einer Massenstrommessung nach jeder zweiten
Periode der Schwingungsbewegung eines der Strömungsrohre.
16. Verfahren nach Anspruch 15, wobei der
Zeitdifferenzbestimmungsschritt ferner die Schritt aufweist:
Integrieren des ersten und des zweiten Sensorsignals,
um ein erstes und ein zweites Positionssignal zu erzeugen;
Vergleichen des ersten und des zweiten Positionssignals
mit vorher definierten Referenzwerten, um das Auftreten jedes
der beiden Meßpunkte und des Referenzpunkts zu ermitteln;
Erzeugen eines ersten und eines zweiten Steuersignals
als Antwort auf die Vergleichseinrichtung;
Bereitstellen, als Antwort auf das erste und das zweite
Steuersignal und die Taktimpulse einer vorher definierten
Frequenz, von gezählten Werten, die ein erstes Zeitintervall, das
zwischen dem ersten Meßpunkt und dem Referenzpunkt auftritt,
und ein zweites Taktintervall, das zwischen dem Referenzpunkt
und dem zweiten Meßpunkt auftritt, darstellen.
17. Verfahren nach Anspruch 16, wobei der
Zeitdifferenzbestimmungsschritt ferner den Schritt des Ermittelns der
Zeitdifferenz als Antwort auf die gezählten Werte umfaßt, die
bei mindestens zwei Gruppen aus dem ersten und dem zweiten
Meßpunkt und dem Referenzpunkt auftreten, die über zwei
Perioden der Bewegung des einen der Strömungsrohre auftreten.
18. Verfahren nach Anspruch 17, wobei die Meßpunkte bei
Zuständen ohne Massenstrom auf beiden Seiten des
Referenzpunkts symmetrisch angeordnet sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/216,760 US4843890A (en) | 1988-07-08 | 1988-07-08 | Coriolis mass flow rate meter having an absolute frequency output |
Publications (2)
Publication Number | Publication Date |
---|---|
DE68924569D1 DE68924569D1 (de) | 1995-11-23 |
DE68924569T2 true DE68924569T2 (de) | 1996-03-28 |
Family
ID=22808397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE68924569T Expired - Lifetime DE68924569T2 (de) | 1988-07-08 | 1989-07-06 | Massendurchflussmessgerät nach dem Coriolisprinzip mit absolutem Frequenzausgang und Verfahren zum Erzeugen eines Frequenzausgangssignals. |
Country Status (6)
Country | Link |
---|---|
US (1) | US4843890A (de) |
EP (1) | EP0357098B1 (de) |
JP (1) | JP2647201B2 (de) |
AU (1) | AU609624B2 (de) |
BR (1) | BR8903363A (de) |
DE (1) | DE68924569T2 (de) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5038620A (en) * | 1990-07-31 | 1991-08-13 | Hughes Aircraft Company | Coriolis mass flow meter |
US5228327A (en) * | 1991-07-11 | 1993-07-20 | Micro Motion, Inc. | Technique for determining a mechanical zero value for a coriolis meter |
US5231884A (en) * | 1991-07-11 | 1993-08-03 | Micro Motion, Inc. | Technique for substantially eliminating temperature induced measurement errors from a coriolis meter |
US5295084A (en) * | 1991-10-08 | 1994-03-15 | Micromotion, Inc. | Vibrating tube densimeter |
US5379649A (en) * | 1991-12-23 | 1995-01-10 | Micro Motion, Inc. | Coriolis effect meter using optical fiber sensors |
DE69314780T2 (de) * | 1992-03-20 | 1998-04-16 | Micro Motion Inc | Verbesserter viskosimeter für sanitäre anwendungen |
US5546814A (en) * | 1994-10-26 | 1996-08-20 | The Foxboro Company | Parallel-flow coriolis-type mass flowmeter with flow-dividing manifold |
US6513392B1 (en) * | 1998-12-08 | 2003-02-04 | Emerson Electric Co. | Coriolis mass flow controller |
US6748813B1 (en) | 1998-12-08 | 2004-06-15 | Emerson Electric Company | Coriolis mass flow controller |
US6477901B1 (en) | 1999-12-21 | 2002-11-12 | Integrated Sensing Systems, Inc. | Micromachined fluidic apparatus |
US6990414B2 (en) * | 2003-03-03 | 2006-01-24 | Brad Belke | Electronic gas flow measurement and recording device |
DE10331126B4 (de) * | 2003-07-09 | 2005-09-01 | Krohne Ag | Coriolis-Massendurchflußmeßgerät und Verfahren zum Betreiben eines Coriolis-Massendurchflußmeßgeräts |
DE102007061690A1 (de) * | 2006-12-21 | 2008-06-26 | Abb Ag | Verfahren zum Betrieb eines Messgerätes vom Vibrationstyp sowie Messgerät von Vibrationstyp selbst |
JP2013156207A (ja) * | 2012-01-31 | 2013-08-15 | Semiconductor Components Industries Llc | 流体の流量測定装置 |
EP3167257B1 (de) * | 2014-07-08 | 2021-03-17 | Micro Motion, Inc. | Vibrations-durchflussmesser und verfahren zur erzeugung digitaler frequenzausgaben |
CN104132701B (zh) * | 2014-07-29 | 2017-11-28 | 太原太航科技有限公司 | 一种自适应科里奥利质量流量计相位差检测方法 |
DE102016119548A1 (de) * | 2016-10-13 | 2018-04-19 | Endress+Hauser SE+Co. KG | Verfahren zur Datenübertragung zwischen einem Feldgerät der Automatisierungstechnik und einer Kommunikationsbox |
DE102017112245B4 (de) * | 2017-06-02 | 2023-02-23 | Endress+Hauser Flowtec Ag | Messaufnehmer zum Messen des Massendurchflusses eines strömungsfähigen Mediums |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4311054A (en) * | 1978-11-13 | 1982-01-19 | Halliburton Company | Mass flowmeter with sensor gain control |
US4192184A (en) * | 1978-11-13 | 1980-03-11 | Halliburton Company | Mass flowmeter |
US4252028A (en) * | 1979-02-26 | 1981-02-24 | S & F Associates | Method and apparatus for measuring flow |
GB8614135D0 (en) * | 1986-06-10 | 1986-07-16 | Foxboro Co | Coriolis mass flowmeters |
WO1988002476A1 (en) * | 1986-10-03 | 1988-04-07 | Micro Motion, Inc. | Custody transfer meter |
US4777833A (en) * | 1986-11-12 | 1988-10-18 | Micro Motion, Inc. | Ferromagnetic drive and velocity sensors for a coriolis mass flow rate meter |
-
1988
- 1988-07-08 US US07/216,760 patent/US4843890A/en not_active Expired - Lifetime
-
1989
- 1989-07-06 DE DE68924569T patent/DE68924569T2/de not_active Expired - Lifetime
- 1989-07-06 EP EP89201795A patent/EP0357098B1/de not_active Expired - Lifetime
- 1989-07-07 BR BR898903363A patent/BR8903363A/pt not_active IP Right Cessation
- 1989-07-07 AU AU37937/89A patent/AU609624B2/en not_active Expired
- 1989-07-10 JP JP1177842A patent/JP2647201B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
AU609624B2 (en) | 1991-05-02 |
BR8903363A (pt) | 1990-03-06 |
US4843890A (en) | 1989-07-04 |
JPH0273119A (ja) | 1990-03-13 |
EP0357098B1 (de) | 1995-10-18 |
AU3793789A (en) | 1990-01-11 |
JP2647201B2 (ja) | 1997-08-27 |
EP0357098A3 (de) | 1992-04-22 |
DE68924569D1 (de) | 1995-11-23 |
EP0357098A2 (de) | 1990-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE68924574T2 (de) | Coriolis-Massendurchflussmesser und Verfahren zum Erzeugen eines Massendurchflusssignals mit verringertem Oberwellenanteil. | |
DE68924569T2 (de) | Massendurchflussmessgerät nach dem Coriolisprinzip mit absolutem Frequenzausgang und Verfahren zum Erzeugen eines Frequenzausgangssignals. | |
DE69017020T2 (de) | Coriolis-massendurchflussmesser mit erhöhter störgeräuschunempfindlichkeit. | |
DE3751349T2 (de) | Umschlagsmesser. | |
DE69214290T2 (de) | Ausschaltung des temperaturfehlers eines coriolis-durchflussmessers | |
DE69504989T2 (de) | Rauschunterdrückungsfiltersystem für einen coriolisdurchflussmesser | |
DE3788425T2 (de) | Verfahren und vorrichtung zur messung der dicke einer unbekannten flüssigkeit mit einem coriolis-messgerät. | |
DE3782818T2 (de) | Schaltung zum automatischen nullpunktabgleich fuer einen durchflussmesser. | |
DE69013929T2 (de) | Strömungsrohrantrieb mit einzelpeak-ausgangssignal für einen corioliszähler. | |
DE3750546T2 (de) | Verfahren und Gerät zum Messen des Massendurchflusses. | |
EP0173833B1 (de) | Schaltung und Verfahren zur Messung und Digitalisierung eines Widerstandes | |
DE2833037A1 (de) | Vorrichtung zur messung der stroemung fliessfaehiger, eine oszillierende leitung durchstroemender medien durch auswertung von coriolis-kraeften | |
DE19537880A1 (de) | Massendurchfluß-Meßgerät | |
DE69027859T2 (de) | Umsetzschaltung für die übertragung elektromagnetischen flusses | |
DE3234575A1 (de) | Verfahren und anordnung zum messen von frequenzen | |
DE3106396A1 (de) | Wandler, insbesondere analog-zu-digital-wandler fuer einen elektromagnetischen stroemungsmesser | |
DE3213602A1 (de) | Elektronisches geraet | |
DE3029532C2 (de) | Anordnung zur Bestimmung der Feldstärke eines Magnetfeldes | |
DE69204214T2 (de) | Vorrichtung zur Messung einer Drehgeschwindigkeit. | |
WO2019110251A1 (de) | Verfahren zum bestimmen der viskosität eines mediums mittels eines coriolis-massedurchflussmessers und coriolis-massedurchflussmesser zur durchführung des verfahrens | |
DE1966331C3 (de) | ||
DE3021816C2 (de) | Vorrichtung zum Messen der momentanen Winkelgeschwindigkeit eines Motors | |
DE102008042765A1 (de) | Vorrichtung und Verfahren zum Messen eines Widerstandswerts | |
DE69627536T2 (de) | Verfahren zur hochauflösenden messung einer zeitspanne | |
DE2450348B2 (de) | Elektronische Uhr |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |