DE3751349T2 - Umschlagsmesser. - Google Patents

Umschlagsmesser.

Info

Publication number
DE3751349T2
DE3751349T2 DE3751349T DE3751349T DE3751349T2 DE 3751349 T2 DE3751349 T2 DE 3751349T2 DE 3751349 T DE3751349 T DE 3751349T DE 3751349 T DE3751349 T DE 3751349T DE 3751349 T2 DE3751349 T2 DE 3751349T2
Authority
DE
Germany
Prior art keywords
value
mass flow
block
time
time difference
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
Application number
DE3751349T
Other languages
English (en)
Other versions
DE3751349D1 (de
Inventor
James Hargarten
Allan Samson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Micro Motion Inc
Original Assignee
Micro Motion Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25435601&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE3751349(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Micro Motion Inc filed Critical Micro Motion Inc
Application granted granted Critical
Publication of DE3751349D1 publication Critical patent/DE3751349D1/de
Publication of DE3751349T2 publication Critical patent/DE3751349T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01FMEASURING VOLUME, VOLUME FLOW, MASS FLOW OR LIQUID LEVEL; METERING BY VOLUME
    • G01F15/00Details 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/02Compensating or correcting for variations in pressure, density or temperature
    • G01F15/022Compensating or correcting for variations in pressure, density or temperature using electrical means
    • G01F15/024Compensating or correcting for variations in pressure, density or temperature using electrical means involving digital counting
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B67OPENING, CLOSING OR CLEANING BOTTLES, JARS OR SIMILAR CONTAINERS; LIQUID HANDLING
    • B67DDISPENSING, DELIVERING OR TRANSFERRING LIQUIDS, NOT OTHERWISE PROVIDED FOR
    • B67D7/00Apparatus or devices for transferring liquids from bulk storage containers or reservoirs into vehicles or into portable containers, e.g. for retail sale purposes
    • B67D7/06Details or accessories
    • B67D7/08Arrangements of devices for controlling, indicating, metering or registering quantity or price of liquid transferred
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01FMEASURING VOLUME, VOLUME FLOW, MASS FLOW OR LIQUID LEVEL; METERING BY VOLUME
    • G01F1/00Measuring the volume flow or mass flow of fluid or fluent solid material wherein the fluid passes through a meter in a continuous flow
    • G01F1/76Devices for measuring mass flow of a fluid or a fluent solid material
    • G01F1/78Direct mass flowmeters
    • G01F1/80Direct mass flowmeters operating by measuring pressure, force, momentum, or frequency of a fluid flow to which a rotational movement has been imparted
    • G01F1/84Coriolis or gyroscopic mass flowmeters
    • G01F1/8409Coriolis or gyroscopic mass flowmeters constructional details
    • G01F1/8413Coriolis 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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01FMEASURING VOLUME, VOLUME FLOW, MASS FLOW OR LIQUID LEVEL; METERING BY VOLUME
    • G01F1/00Measuring the volume flow or mass flow of fluid or fluent solid material wherein the fluid passes through a meter in a continuous flow
    • G01F1/76Devices for measuring mass flow of a fluid or a fluent solid material
    • G01F1/78Direct mass flowmeters
    • G01F1/80Direct mass flowmeters operating by measuring pressure, force, momentum, or frequency of a fluid flow to which a rotational movement has been imparted
    • G01F1/84Coriolis or gyroscopic mass flowmeters
    • G01F1/8409Coriolis or gyroscopic mass flowmeters constructional details
    • G01F1/8431Coriolis or gyroscopic mass flowmeters constructional details electronic circuits
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01FMEASURING VOLUME, VOLUME FLOW, MASS FLOW OR LIQUID LEVEL; METERING BY VOLUME
    • G01F1/00Measuring the volume flow or mass flow of fluid or fluent solid material wherein the fluid passes through a meter in a continuous flow
    • G01F1/76Devices for measuring mass flow of a fluid or a fluent solid material
    • G01F1/78Direct mass flowmeters
    • G01F1/80Direct mass flowmeters operating by measuring pressure, force, momentum, or frequency of a fluid flow to which a rotational movement has been imparted
    • G01F1/84Coriolis or gyroscopic mass flowmeters
    • G01F1/8409Coriolis or gyroscopic mass flowmeters constructional details
    • G01F1/8436Coriolis or gyroscopic mass flowmeters constructional details signal processing
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01FMEASURING VOLUME, VOLUME FLOW, MASS FLOW OR LIQUID LEVEL; METERING BY VOLUME
    • G01F1/00Measuring the volume flow or mass flow of fluid or fluent solid material wherein the fluid passes through a meter in a continuous flow
    • G01F1/76Devices for measuring mass flow of a fluid or a fluent solid material
    • G01F1/78Direct mass flowmeters
    • G01F1/80Direct mass flowmeters operating by measuring pressure, force, momentum, or frequency of a fluid flow to which a rotational movement has been imparted
    • G01F1/84Coriolis or gyroscopic mass flowmeters
    • G01F1/845Coriolis or gyroscopic mass flowmeters arrangements of measuring means, e.g., of measuring conduits
    • G01F1/8468Coriolis or gyroscopic mass flowmeters arrangements of measuring means, e.g., of measuring conduits vibrating measuring conduits
    • G01F1/8472Coriolis 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/8477Coriolis 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)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Signal Processing (AREA)
  • Measuring Volume Flow (AREA)
  • Details Of Flowmeters (AREA)

Description

    Vorrichtung und Verfahren zum Messen eines Massendurchflusses in einem Güterumschlag-Meßsystem Hintergrund der Erfindung 1. Anwendungsbereich der Erfindung
  • Die vorliegende Erfindung betrifft sowohl eine Vorrichtung für ein Güterumschlag-Meßsystem, wobei in der Vorrichtung ein Coriolis-Massendurchflußmeßgerät verwendet wird, durch die Vorrichtung genaue Gesamtmassendurchflußmessungen erhalten werden und eine hochgradige Fehlererfassung erreicht wird, als auch verschiedene bei diesem System verwendbare Verfahren.
  • 2. Beschreibung des Stands der Technik
  • Immer wenn ein unverpacktes Produkt zwischen zwei Parteien transportiert wird, wie beispielsweise bei einem Güterumschlag, wird die Menge oder Masse des Produkts oft von beiden Parteien gemessen, um zu gewährleisten, daß die geeignete Menge umgeschlagen wird und während des Transports zwischen den Parteien kein Verlust eines Teils des Produkts aufgetreten ist.
  • Wenn beispielsweise ein Eisenbahntankwagen oder eine Schiffscontainerladung mit einer flüssigen Fracht, wie beispielsweise Öl, zwischen zwei Parteien transportiert wird, durchläuft das Öl zunächst ein Meßgerät, typischerweise ein an einer Verladestation angeordnetes Durchflußmeßgerät zum Bestimmen des Gesamtvolumens, um zu gewährleisten, daß der Tankwagen mit der korrekten Ölmenge befüllt wird. Nachdem der Tankwagen oder das Schiff seinen Zielort erreicht hat, wird das Öl daraus herausgepumpt und durchläuft anschließend ein zweites Durchflußmeßgerät, im allgemeinen ein anderes Durchflußmeßgerät zum Bestimmen des Gesamtvolumens, um die erhaltene Ölmenge zu messen. Die durch das zweite Durchflußmeßgerät erhaltene Gesamtmenge wird daraufhin mit der verschifften Ölmenge verglichen, um während des Transports und/oder Verladens aufgetretene Verluste zu erfassen. Ähnliche Güterunischläge treten auf, wenn Öl oder ein anderes Fluid durch Rohrleitungen zwischen zwei Positionen bewegt wird.
  • Die Dichte vieler Produkte ändert sich jedoch nachteilig mit der Temperatur. Weil die Masse einer Substanz immer konstant bleibt und das Volumen sich proportional zur Temperatur ändert, ändert sich die Dichte der Substanz umgekehrt zur Temperatur. Daher werden durch Temperaturänderungen nachteilig Abweichungen zwischen den von beiden Durchflußmeßgeräten erhaltenen Geasamtvolumenwerten verursacht. Unter Berücksichtigung dieser Tatsache werden sowohl am Ausgangs- als auch am Zielort die Temperatur und die Dichte des Produkts gemessen, wobei die Gesamtvolumenmeßwerte an beiden Orten geeignet in Gesamtmassenwerte umgewandelt werden. Diese Umwandlung wird häufig unter Verwendung von Tabellenwerten manuell durchgeführt. Alternativ ist oft ein ausreichende Funktionsfähigkeit in den Durchflußmeßgeräten vorgesehen, um die Temperatur und die Dichte des Produkts automatisch zu messen und anschließend die erforderliche Umwandlung durchzuführen, um die Massenmeßwerte zu erhalten. Diese Umwandlung ist jedoch unabhängig davon, ob sie manuell oder automatisch ausgeführt wird, eher ungenau und führt zu Fehlern in den Massenmeßwerten. Daher wurden Meßgeräte entwickelt, durch die die Masse direkt gemessen wird.
  • Viele kommerziell erhältliche Massendurchflußmeßgeräte verarbeiten eintreffende Signale jedoch nachteilig unter Verwendung analoger Schaltungen. Bei analogen Schaltungskomponenten ergeben sich jedoch Meßwertverschiebungen (Offset). Darüber hinaus ändern sich die elektrischen Kenngrößen dieser Komponenten oft aufgrund einer Drift, einer Alterung oder von Temperaturänderungen. Alle diese Faktoren tragen in einem unannehmbaren Maß zu einer Langzeitungenauigkeit und -instabilität der Funktion des Durchflußnießgeräts bei.
  • Außerdem schreiben verschiedene Behörden in vielen Ländern, wie beispielsweise die Behörde PTB in der Bundesrepublik Deutschland, die Funktion von für den Gütertransport in diesen Ländern verwendeten Meßvorrichtungen streng vor. Diese Vorschriften betreffen nicht nur die Genauigkeit der Vorrichtung sondern auch den Zugriff auf die Vorrichtung und insbesondere die Fehlererfassung. Um eine behördliche Zulassung zu erhalten, muß eine solche Meßvorrichtung zunächst eine bestimmte minimale Genauigkeit aufweisen. Zweitens müssen solche Vorrichtungen wesentlich gegen Eingriffe gesichert sein, wodurch Versuche unberechtigter Personen, auf die Vorrichtung zuzugreifen, um einen Meßwert und/oder eine Gesamtmassenwert zu verändern, verhindert werden. Drittens muß das Meßgerät die Fähigkeit besitzen, Fehler in seiner Funktion zu erfassen, den Zählvorgang zu unterbrechen, wenn ein Fehler auftritt, und daraufhin dem Benutzer anzuzeigen, daß ein Fehler aufgetreten ist. Auf diese Weise wird der Benutzer darauf aufmerksam gemacht, den Meßwert zu ignorieren. Die Deutsche Behörde PTB schreibt vor, daß ein solches Meßgerät mindestens 95% der möglicherweise auftretenden Einzelfehler feststellen kann, bevor das Meßgerät zur Verwendung im Güterumschlag in der Bundesrepublik Deutschland zugelassen werden kann. Obwohl viele gegenwärtig erhältliche kommerzielle Durchflußmeßgeräte die erforderliche Genauigkeit besitzen und ausreichend gegen Eingriffe gesichert sind, erfassen sie keine Einzelfehler.
  • In der US-A-4192184 wird eine solche Vorrichtung für ein Coriolis-Massendurchflußmeßsystem beschrieben, die besonders zur Verwendung im Güterunischlag geeignet ist, wobei die Vorrichtung eine Coriolis-Massendurchflußmeßanordnung mit mindestens einem Durchflußrohr mit damit verbundenen Sensoren zum Erzeugen von Sensorsignalen aufweist, die eine Bewegung des Durchflußrohrs anzeigen, sowie eine mit der Meßanordnung verbundene Meßelektronik zum Erzeugen eines Massendurchflußwerts bzw. einer Massendurchflußrate in Antwort auf die Sensorsignale, wobei die Meßelektronik aufweist: eine auf die Sensorsignale ansprechende Schaltungseinrichtung, um in Antwort auf die festgestellte Bewegung des Durchflußrohrs eine zwischen einem ersten und einem zweiten Zeitpunkt auftretende Zeitdifferenz zu bestimmen, wobei der erste Zeitpunkt eintritt, wenn ein Schenkel des Durchflußrohrs in seiner Bewegung einen vorgegebenen Referenzpunkt erreicht, und der zweite Zeitpunkt eintritt, wenn ein anderer Schenkel des Durchflußrohrs in seiner Bewegung einen entsprechenden vorgegebenen Punkt erreicht, und wobei die Zeitdifferenz in Antwort auf auf das Durchflußrohr wirkende entgegengesetzte Corioliskräfte auftritt und eine Funktion des Massendurchflußwertes eines das Durchflußrohr durchfließenden Fluids ist, ein auf die vorgegebene Zeitdifferenzmessung ansprechendes Prozessorsystem zum Erzeugen des Massendurchflußwertes und eine Einrichtung zum Erzeugen einer den Massendurchflußwert bzw. die Massendurchflußrate darstellenden Anzeige als Ausgangssignal des Systems.
  • Diese Vorrichtung prüft, ob gemessene und anschließend verarbeitete Werte, die den zu bestimmenden Massendurchflußwert darstellen, innerhalb vorgegebener Grenzwerte liegen. Diese Vorrichtung kann jedoch keine Diagnosetests ausführen, uni die Funktion der Vorrichtung selbst zu prüfen und dadurch fehlerhaft arbeitende Abschnitte der Vorrichtung zu bestimmen. Wenn ein Fehler auftritt, ignorieren diese Meßgeräte den Fehler und führen den Zählvorgang weiterhin aus, bis irgend jemand daraufhin möglicherweise feststellt, daß das Meßgerät fehlerhaft arbeitet und das Meßgerät außer Betrieb setzt.
  • Daher ist eine Nachfrage nach einem sehr genauen und stabilen Güterunischlag-Meßsystem vorhanden, durch das eine direkte Massendurchflußmessung erhalten wird, das außerdem wesentlich gegen Eingriffe gesichert ist und eine hochgradige Einzelfehlererfassung ermöglicht.
  • Zusammenfassung der Erfindung
  • Daher ist es eine Aufgabe der vorliegenden Erfindung, ein hochgenaues Güterumschlag-Meßsystem bereitzustellen.
  • Ferner wird ein solches System bereitgestellt, das sehr stabil arbeitet, weil dessen Funktion durch Schaltungsabweichungen im wesentlichen nicht beeinflußt wird.
  • Ferner wird ein solches System bereitgestellt, dessen Funktion durch Drift, Alterung oder Temperaturänderungen im wesentlichen nicht beeinflußt wird.
  • Ferner wird ein solches System bereitgestellt, das gegen Eingriffe gesichert ist.
  • Ferner wird ein solches System mit einer Fehlererfassungsfunktion bereitgestellt.
  • Ferner wird ein solches System bereitgestellt, das mindestens 95% seiner möglichen Einzelfunktionsfehler erfassen kann.
  • Diese und andere Aufgaben werden gemäß den Prinzipien der vorliegenden Erfindung durch eine Vorrichtung der vorstehend beschriebenen Art für ein Coriolis-Massendurchflußmeßsystem gelöst, das ferner dadurch gekennzeichnet ist, daß das Prozessorsystem in Antwort auf die festgestellte Zeitdifferenz (Δt) einen Meßwert (TSf) des Massendurchflusses des Fluids erzeugt, den gemessenen Massendurchflußwert bezüglich einer normalisierten Masseneinheit und einer normalisierten Zeiteinheit normalisiert, um einen normalisierten Massendurchflußwert (Rate) zu erhalten, Werte verschiedener Systemausgangsparameter in Antwort auf den normalisierten Massendurchflußwert setzt, den normalisierten Massendurchflußwert (Rate) in einen normalisierten Massendurchfluß/Zeiteinheit-Wert (RateS) umwandelt, die über ein vorgegebenes Zeitintervall auftretenden normalisierten Massendurchfluß/Zeiteinheit-Werte (RateS) aufsummiert, um einen Summen-Massenwert (Total) zu erhalten, den normalisierten Massendurchfluß/Zeiteinheit-Wert (RateS) in einen Massendurchflußausgangswert (RateD) mit vorgewählten Zeit- und Masseeinheiten umwandelt, verschiedene Diagnosetests ausführt, um Fehler festzustellen, die in der Funktion der Vorrichtung auftreten können, einen Fehlerzustand anzeigt, wenn bei einem der Diagnosetests ein Fehler festgestellt wird, und verhindert, daß der Massendurchflußwert erzeugt wird und/oder die weitere Summenbildung der aufsummierten Massenwerte blockiert, wenn ein Fehlerzustand angezeigt wird, wobei der gemessene Massendurchflußwert (TSf) ein Wert ist, der den Massendurchfluß in Massen- und Zeiteinheiten darstellt, der normalisierte Massendurchflußwert (Rate) ein Wert ist, der den Massendurchfluß in normalisierten Zeiteinheiten und normalisierten Masseneinheiten darstellt, der normalisierte Massendurchfluß/Zeiteinheit-Wert (RateS) ein Wert ist, der den Massendurchfluß in normalisierten Zeiteinheiten und gewünschten normalisierten Masseneinheiten darstellt, der Summen-Massenwert (Total) ein Wert ist, der den Summen-Massenwert in einer gewünschten normalisierten Masseneinheit darstellt, und der Massendurchflußausgangswert (RateD) ein Wert ist, der den Massendurchfluß in gewünschten Zeiteinheiten und gewünschten Masseneinheiten darstellt.
  • Durch das Ausführen verschiedener Diagnosetests der Vorrichtung selbst wird verhindert, daß fehlerhaft erhaltene Massendurchflußwerte verarbeitet werden, um die Gesamtmassendurchflußinformation zu erhalten. Die erfindungsgemäße Vorrichtung arbeitet aufgrund ihrere Diagnosetestfunktionen sehr genau und stabil. Im einzelnen erfaßt dieses System bei der Bewegung zweier Durchflußrohre auftretende Zeitdifferenzen. Vier solche Zeitdifferenzniessungen werden durchgeführt und in einer vorher festgelegten Weise kombiniert, um Unterschiede der elektrischen Kenngrößen der mit jeweils einem von zwei zum Erfassen einer Rohrbewegung verwendeten Sensoren verbundenen Analogschaltungen zu eliminieren, um dadurch die Meßgenauigkeit vorteilhaft zu erhöhen. Der Massendurchfluß des das Meßgerät durchströmenden Fluids wird als Funktion der kombinierten Zeitmessungen bezüglich einer normalisierten Masse- und einer normalisierten Zeiteinheit bestimmt und anschließend in eine durch den Benutzer festgelegte Masseneinheit/Zeiteinheit umgewandelt. Der erhaltene umgewandelte Wert wird verwendet, um den Gesamtmassendurchfluß zu berechnen und verschiedene Systemausgangssignale zu setzen und/oder zu aktualisieren. Anschließend wird der umgewandelte Wert mit einem geeigneten Zeitfaktor multipliziert, um einen Massendurchflußwert bezüglich den durch den Benutzer festgelegten Massen- und Zeiteinheiten zu erhalten. Durch Verwendung normalisierter Rechenoperationen wird vorteilhaft Verarbeitungszeit eingespart und die Anzahl der Einheitenumwandlungen vorteilhaft reduziert, wodurch die Systemgenauigkeit zunimmt. Eine Folge von Diagnosetests wird ununterbrochen ausgeführt, um verschiedene Fehlerzustände festzustellen und den Benutzer geeignet zu informieren und eine weitere Summenbildung zu unterbrechen.
  • In der EP-A-196150 wird ein Doppelrohr-Coriolis-Massendurchflußsystem beschrieben, wobei in den Bewegungen der beiden Rohre auftretende Zeitänderungen festgestellt werden. Dieses Meßgerät hat jedoch keine Diagnosefunktion zum Testen der Funktion der Vorrichtung.
  • Die vorliegende Erfindung betrifft außerdem ein Verfahren zur Verwendung in einer Coriolis-Massendurchflußmeßvorrichtung, die besonders beim Umschlagen von Gütern geeignet ist, wobei die Vorrichtung eine Coriolis-Massendurchflußnießanordnung mit mindestens einem Durchflußrohr mit damit verbundenen Sensoren und eine Meßelektronik mit einem Prozessorsystem zum Erzeugen einer Information aufweist, die eine Bewegung des Durchflußrohrs anzeigt, wobei das Verfahren die Schritte aufweist: Bestimmen einer zwischen einem ersten und einem zweiten Zeitpunkt auftretenden Zeitdifferenz (Δt) in Antwort auf die Information der festgestellten Bewegung, wobei der erste Zeitpunkt eintritt, wenn ein Schenkel des Durchflußrohrs in seiner Bewegung einen vorgegebenen Referenzpunkt erreicht, und der zweite Zeitpunkt eintritt, wenn ein anderer Schenkel des Durchflußrohrs in seiner Bewegung einen entsprechenden vorgegebenen Punkt erreicht, und wobei die Zeitdifferenz in Antwort auf auf das Durchflußrohr wirkende entgegengesetzte Corioliskräfte auftritt und eine Funktion des Massendurchflusses eines das Durchflußrohr durchfließenden Fluids ist; Bestimmen eines Massendurchflußwerts in Antwort auf die Sensorsignale; Erzeugen einer den Massendurchflußwert darstellenden Anzeige als Ausgangssignal des Systems; wobei das Verfahren ferner die Schritte aufweist: Erzeugen eines Meßwerts (TSf) des Massendurchflusses des Fluids in Antwort auf die festgestellte Zeitdifferenz (Δt); Normalisieren des gemessenen Massendurchflußwertes bezüglich einer normalisierten Masseneinheit und einer normalisierten Zeiteinheit, um einen normalisierten Massendurchflußwert (Rate) zu erhalten; Einstellen von Werten verschiedener Systemausgangsparameter in Antwort auf den normalisierten Massendurchflußwert; Umwandeln des normalisierten Massendurchflußwertes (Rate) in einen normalisierten Massendurchfluß/Zeiteinheit-Wert (RateS); Aufsummieren der über ein bestimmtes Zeitintervall auftretenden normalisierten Massendurchfluß/Zeiteinheit- Werte, um einen Summen-Massenwert (Total) zu erhalten; Umwandeln des normalisierten Massendurchfluß/Zeiteinheit-Wertes (RateS) in einen Massendurchfluß-Ausgangswert (RateD) mit vorgewählten Zeit- und Masseneinheiten; Ausführen verschiedener Diagnosetests, um Fehler festzustellen, die in der Funktion der Vorrichtung auftreten können; Anzeigen eines Fehlerzustands, wenn bei einem der Diagnosetests ein Fehler festgestellt wird; und Verhindern, daß der Massendurchflußwert erzeugt wird und/oder Blockieren der weiteren Summenbildung des aufsummierten Massenwerts, wenn ein Fehlerzustand angezeigt wird, wobei der gemessene Massendurchfluß (TSf) ein Wert ist, der den Massendurchfluß in Massen- und Zeiteinheiten darstellt, der normalisierte Massendurchflußwert (Rate) ein Wert ist, der den Massendurchfluß in normalisierten Zeiteinheiten und normalisierten Masseneinheiten darstellt, der normalisierte Massendurchfluß/Zeiteinheit-Wert (RateS) ein Wert ist, der den Massendurchfluß in normalisierten Zeiteinheiten und gewünschten normalisierten Masseneinheiten darstellt, der Summen-Massenwert (Total) ein Wert ist, der den Summen-Massenwert in einer gewünschten normalisierten Masseneinheit darstellt, und der Massendurchfluß-Ausgangswert (RateD) ein Wert ist, der den Massendurchfluß in gewünschten Zeiteinheiten und gewünschten Masseneinheiten darstellt.
  • Gemäß einer besonderen Ausführungsform der Erfindung mißt eine Zeitdifferenzmessungsschaltung das zwischen entsprechenden Nulldurchgängen der Geschwindigkeitssignale des linken und des rechten Rohrs auftretende Zeitintervall. Die Zeitdifferenz ist im wesentlichen den auf die Durchflußrohre wirkenden Corioliskräften proportional, die durch den Massendurchfluß des diese Rohre durchströmenden Fluids erzeugt werden. Jedes Geschwindigkeitssignal wird über einen Eingangsschalter einem entsprechenden Eingangskanal der Zeitdifferenzmessungsschaltung zugeführt. Vier solche Zeitdifferenzen werden erhalten, wobei die Schalterstellung nach jeweils zwei aufeinanderfolgenden Messungen umgekehrt wird.
  • Diese Messungsschaltung ist mit einem Mikroprozessorsystem verbunden, das zwei Unterbrechungsroutinen ausführt: eine Zeitdifferenzmessung-Unterbrechungsroutine und eine 100 msec-Unterbrechungsroutine. Durch die Zeitdifferenzmessung- Unterbrechungsroutine wird jeder Zeitdifferenzmeßwert erhalten und werden vier aufeinanderfolgende Meßwerte geeignet addiert, um jegliche Unterschiede der elektrischen Kenngrößen der Analogschaltungen, aus denen jeder Eingangskanal gebildet wird, zu kompensieren.
  • Die 100 msec-Unterbrechungsroutine, die alle 100 Millisekunden ausgeführt wird, multipliziert den Summenwert mit einem vorher festgelegten Ratenfaktor, um einen Massendurchflußwert zu erhalten, der sowohl bezüglich der Massen- als auch der Zeiteinheit normalisiert ist. Der Ratenfaktor wird durch eine lineare Funktion des Meßgerätfaktors bestimmt, dessen Wert von der Größe des verwendeten Coriolis-Meßgeräts und dem Wert einer temperaturangepaßten Durchflußrohrfederkonstanten abhängt. Wenn der normalisierte Massendurchflußwert berechnet wurde, wird dieser mit einem Nulldurchflußgrenzwert verglichen, wobei der normalisierte Durchflußwert, falls er kleiner als dieser Grenzwert ist, auf Null gesetzt wird. Anschließend wird dieser normalisierte Massendurchflußwert dazu verwendet, verschiedene Alarmbedingungen zu bestimmen und verschiedene Ausgangssignale, wie beispielsweise Freguenzausgangssignale oder skalierte Impulsausgangssignale, zu setzen. Außerdem wird der normalisierte Massendurchflußwert anschließend in vom Benutzer gewünschte Masseneinheiten pro Sekunde umgewandelt. Der geeignete Umwandlungsfaktor hängt von den durch den Benutzer ausgewählten Ausgangsmasseneinheiten ab. Der erhaltene umgewandelte Wert wird dann aufsummiert, um eine Gesamt-Massendurchflußinformation zu erhalten. Wenn die Summenbildung abgeschlossen ist, wird der umgewandelte Massendurchflußwert bezüglich durch den Benutzer ausgewählten geeigneten Zeiteinheiten umgewandelt. Durch die Summenbildung und das Setzen verschiedener Ausgangssignale unter Verwendung normalisierter Größen wird vorteilhaft eine wesentliche Einsparung in der Verarbeitungszeit erreicht.
  • Gemäß einem Merkmal der Erfindung kann das Mikroprozessorsystem derart geschaltet werden, daß ein Meßnetzwerk gebildet wird. Im einzelnen weist jedes Meßsystem eine serielle RS-485-Schnittstelle auf. Dadurch können mehrere separate Meßsysteme durch ihre jeweiligen RS-485-Schnittstellen zu einer gemeinsamen Zweidraht-Differenzleitung (wie beispielsweise eine verdrillte Doppelleitung) vernetzt werden, die über eine entsprechende RS-485-Schnittstelle mit einem in einem Vererbeitungsrechner angeordneten Prozessor verbunden ist. Dadurch kann der Verarbeitungsrechner jedes Meßsystem beispielsweise durch Setzen verschiedener Skalierungsund Meßparameter geeignet konfigurieren und außerdem Meßdaten von jedem Meßsystem empfangen. Auf diese Weise kann der Verarbeitungsrechner alle Meßsysteme, die das Netzwerk bilden, fernsteuern und überwachen.
  • Kurzbeschreibung der Zeichnung
  • Die vorliegende Erfindung wird durch die nachstehende ausführliche Beschreibung in Verbindung mit der beigefügten Zeichnung verdeutlicht; es zeigen:
  • Fig. 1 ein Gesamtdiagramm eines erfindungsgemäßen Güterumschlag-Meßsystems 5 zum Darstellen der Merkmale der Erfindung;
  • Fig. 2 ein Blockdiagramm der in Fig. 1 dargestellten Meßelektronik;
  • Fig. 3A ein Blockdiagramm einer in Fig. 2 dargestellten Zeitdifferenzmessungsschaltung 30;
  • Fig. 3B Wellenformen verschiedener Signale, die in der in Fig. 3A dargestellten Zeitdifferenzmessungsschaltung 30 auftreten;
  • Fig. 4 ein Blockdiagramm einer ebenfalls in Fig. 2 dargestellten Steuerschaltung 40;
  • Fig. 5 die geeignete Anordnung der Figuren 5A-5D;
  • Fig. 5A-5D zusammen ein Ablaufdiagramm eines durch einen Mikroprozesser 205, der in der in Fig. 2 dargestellten Meßelektronik 20 angeordnet ist, ausgeführten Hauptprogramms 500;
  • Fig. 6 die geeignete Anordnung der Figuren 6A und 6B;
  • Fig. 6A und 6B zusammen ein Ablaufdiagramm einer Menüroutine 600, die als Teil des in den Figuren 5A-5D dargestellten Hauptprogramms 500 ausgeführt wird;
  • Fig. 7 die geeignete Anordnung der Figuren 7A und 7B;
  • Fig. 7A und 7B zusammen ein Ablaufdiagramm einer Skalierungsparametereingaberoutine 700, die als Teil der in den Figuren 6A und 6B dargestellten Menüroutine 600 ausgeführt wird;
  • Fig. 8 ein Ablaufdiagramm einer Eingaberoutine 800 für serielle Parameter, die ebenfalls als Teil der in den Figuren 6A und 6B dargestellten Menüroutine 600 ausgeführt wird;
  • Fig. 9 ein Ablaufdiagramm einer Fehlerroutine 900;
  • Fig. 10 die geeignete Anordnung der Figuren 10A-10D;
  • Fig. 10a-10D zusammen ein Ablaufdiagramm einer 100 msec-Unterbrechungsroutine 1000;
  • Fig. 11 ein Ablaufdiagramm einer Ratenfaktorberechnungsroutine 1100, die als Teil der in den Figuren 10A-10D dargestellten 100 msec-Unterbrechungsroutine 1000 ausgeführt wird;
  • Fig. 12 ein Ablaufdiagramm einer Filterroutine 1200, die als Teil der in Fig. 11 dargestellten Ratenfaktorberechnungsroutine 1100 und als Teil der in den Figuren 14A und 14B und in den Figuren 15A-15E dargestellten Zeitdifferenzmessung-Unterbrechungsroutine 1400 ausgeführt wird;
  • Fig. 13 die geeignete Anordnung der Figuren 13A und 13B;
  • Fig. 13A und 13B zusammen ein Ablaufdiagramm einer Nulldurchflußabgleichroutine 1300, die als Teil der in den Figuren 10a-10d dargestellten 100 msec-Unterbrechungsroutine 1000 ausgeführt wird;
  • Fig. 14 die geeignete Anordnung der Figuren 14A und 14B;
  • Fig. 14A und 14B zusammen ein vereinfachtes Ablaufdiagramm der Zeitdifferenzmessung-Unterbrechungsroutine;
  • Fig. 15 die geeignete Anordnung der Figuren 15A-15E;
  • Fig. 15A-15E zusammen ein ausführliches Ablaufdiagramm der im erfindungsgemäßen System verwendeten Zeitdifferenzmessung-Unterbrechungsroutine 1400; und
  • Fig. 16 ein Netzwerk mehrerer erfindungsgemäßer Güterumschlagsysteme, die alle mit einem Verarbeitungsrechner verbunden sind.
  • Aus Vereinfachungsgründen wurden in den Figuren gleiche Bezugszeichen verwendet, die gleiche Elemente in den Figuren bezeichnen.
  • Ausführliche Beschreibung A. Hardwarebeschreibung
  • Fig. 1 zeigt ein Gesamtdiagramm eines Güterunischlag- Meßsystems 5 zum Darstellen der Merkmale der vorliegenden Erfindung.
  • 1. Beschreibung des Gesamtsystems
  • Wie dargestellt, besteht das System 5 aus zwei Basiskomponenten: einer Coriolis-Meßanordnung 10 und einer Meßelektronik 20. Die Meßanordnung 10 mißt den Massendurchfluß eines umgeschlagenen Fluidprodukts. Dieses Fluid kann eine Flüssigkeit oder eine Emulsion sein. Durch die Meßelektronik 20, die über Leitungen 100 mit der Meßanordnung 10 verbunden ist, wird ein Massendurchflußwert und eine Gesamt-Massendurchflußinformation erhalten. Für die Verwendung beim Güterumschlag wird die Gesamtdurchflußinformation durch zwei separate Summenwerte erhalten: ein durch den Benutzer zurücksetzbarer Gesamtdurchflußwert und ein im allgemeinen nicht-zurücksetzbarer Gesamtbestandwert (der nur unter sehr eingeschränkten Bedingungen zurückgesetzt werden kann, wie nachstehend beschrieben wird). Beide Gesanitwerte und die Massendurchflußinformation werden durch die Meßelektronik 20 bereitgestellt und sind ferner in serieller Form über Leitungen 25 verfügbar. Die Massendurchflußinformation ist außerdem über Leitungen 26 als Freguenz und als skalierter Impuls verfügbar. Außerdem wird die Massendurchflußinformation in analoger Form (wählbar als Spannung V oder Strom I) über Leitungen 26 ausgegeben, um eine einfache Verbindung mit einer nachfolgenden Prozeßsteuerung und/oder Meßvorrichtung zu ermöglichen. Außerdem führt das erfindungsgemäße System ununterbrochen Diagnosefunktionen aus, um mehr als 95% der möglichen Einzelfehler seiner Funktion festzustellen. Um einen Fehlerzustand anzuzeigen, sind in den Leitungen 27 Schließkontakte für eine Verbindung mit einer geeigneten Alarnieinrichtung vorgesehen. Eine Benutzereingabe (z.B. um die Maßeinheiten auszuwählen) ist über verschiedene Eingangsschalter vorgesehen, die über Leitungen 28 mit der Meßelektronik 20 verbunden sind.
  • 2. Coriolis-Meßanordnung 10
  • Im einzelnen weist die Coriolis-Meßanordnung 10, wie dargestellt, ein Paar Verteiler 110 und 110', ein Rohrelement 150, ein Paar parallele Durchflußrohre 130 und 130', eine Antriebsvorrichtung 180, ein Paar Geschwindigkeitserfassungswicklungen 160L und 160R und ein Paar Permanentmagnete 170L und 170R auf. Die Rohre 130 und 130' sind im wesentlichen U-förmig, und deren Enden sind an Rohrbefestigungsblöcken 120 und 120' befestigt, die an den entsprechenden Verteilern 110 und 110' befestigt sind. Beide Durchflußrohre weisen keine druckempfindlichen Verbindungsstellen auf.
  • Indem die Seitenschenkel 130 und 130' an den Rohrbefestigungsblöcken 120 und 120' und diese Blöcke an den Verteilern 110 und 110' stabil befestigt sind, wie in Fig. 1 dargestellt, wird ein ununterbrochener geschlossener Fluidweg durch die Coriolismeßanordnung 10 gebildet. Wenn die Meßanordnung 10 über ein Einlaßende 101 und ein Auslaßende 101' mit einem (nicht dargestellten) Rohrleitungssystem verbunden ist, in dem das zu messende Fluid transportiert wird, tritt das Fluid über eine Öffnung im Einlaßende 101 des Verteilers 110 in die Meßanordnung ein und strömt durch einen darin ausgebildeten Durchlaß mit einem allmählich sich ändernden Querschnitt zum Rohrbefestigungsblock 120. Dort wird das Fluid geteilt und durch die Durchflußrohre 130 und 130' geleitet. Wenn das Fluid aus den Durchflußrohren 130 und 130' austritt, wird es im Rohrbefestigungsblock 120' wieder zu einem einzelnen Strom vereinigt und daraufhin dem Verteiler 110' zugeführt. Im Verteiler 110' strömt das Fluid durch einen Durchlaß mit einem sich ähnlich allmählich ändernden Querschnitt wie derjenige des Verteilers 110, wie durch gestrichelte Linien 105 dargestellt, zu einer Öffnung im Auslaßende 101'. Am Ende 101' tritt das Fluid wieder in das Rohrleitungssystem ein. Das Rohrelement 150 wird von keinem Fluid durchströmt. Stattdessen dient dieses Element zum axialen Ausrichten der Verteiler 110 und 110' und zum Beibehalten des Abstands dazwischen in einem vorgegebenen Maß, so daß diese Verteiler die Befestigungsblöcke 120 und 120' sowie die Durchflußrohre 130 und 130' leicht aufnehmen.
  • Die U-förmigen Durchflußrohre 130 und 130' werden so ausgewählt und montiert, daß sie um die Biegeachsen W-W bzw. W'-W' im wesentlichen gleiche Trägheitsmomente und gleiche Federkonstanten aufweisen. Diese Biegeachsen sind senkrecht zu den Seitenschenkeln der U-förmigen Durchflußrohre und in der Nähe der entsprechenden Rohrbefestigungsblöcke 120 bzw. 120' angeordnet. Die U-förmigen Durchflußrohre erstrecken sich von den Befestigungsblöcken im wesentlichen parallel nach außen und weisen um ihre jeweiligen Biegeachsen im wesentlichen gleiche Trägheitsmomente und gleiche Federkonstanten auf. Weil die Federkonstante der Rohre sich mit der Temperatur ändert, ist auf einem der Durchflußrohre, hier auf dem Rohr 130', ein Widerstandstemperaturdetektor (RTD) 190 (typischerweise eine Platin-RTD-Vorrichtung) angeordnet, um die Rohrtemperatur permanent zu messen. Die Rohrteniperatur und dadurch die über die RTD-Vorrichtung auftretende Spannung, wird für einen vorgegebenen die RTD-Vorrichtung durchfließenden Strom durch die Temperatur des das Durchflußrohr durchströmenden Fluids bestimmt. Die über die RTD- Vorrichtung auftretende temperaturabhängige Spannung wird durch die Meßelektronik 20 verwendet, wie später beschrieben wird, um den Wert der Federkonstanten für alle Änderungen der Rohrteniperatur geeignet abzugleichen Die RTD-Vorrichtung ist über eine Leitung 195 mit der Meßelektronik 20 verbunden.
  • Beide Durchflußrohre werden in entgegengesetzte Richtungen um ihre jeweiligen Biegungsachsen und im wesentlichen bei ihrer gemeinsamen Resonanzfreguenz sinusförmig angetrieben. Auf diese Weise schwingen beide Durchflußrohre auf die gleiche Weise wie die Zacken einer Stimmgabel. Die Antriebsvorrichtung 180 führt den Rohren 130 und 130' die sinusförniigen Schwingungsantriebskräfte zu. Diese Antriebsvorrichtung kann aus einer beliebigen bekannten Anordnung gebildet werden, wie beispielsweise aus einem Magnet und einer Wicklung, durch die ein Wechselstroni fließt, um beide Durchflußrohre bei einer gemeinsamen Frequenz in eine Sinusschwingung zu versetzen. Ein geeignetes Schwingungssteuerungssignal, wie nachstehend in Verbindung mit Fig. 4 ausführlich beschrieben wird, wird der Antriebsvorrichtung 180 durch die Meßelektronik 20 über eine Leitung 185 zugeführt.
  • Solange beide Rohre von Fluid durchströmt werden, werden, weil diese Rohre in entgegengesetzte Richtungen sinusförmig angetrieben werden, entlang den aneinander angrenzenden Seitenschenkeln jedes der Durchflußrohre 130 und 130' entgegengesetzt gerichtete Corioliskräfte erzeugt, d.h., die im Seitenschenkel 131 erzeugte Corioliskraft ist der im Seitenschenkel 131' erzeugten Corioliskraft entgegengerichtet. Diese Erscheinung tritt auf, weil, obwohl das Fluid die Durchflußrohre im wesentlichen in der gleichen parallelen Richtung durchströmt, die Winkelgeschwindigkeitsvektoren für die oszillierenden Durchflußrohre zwar im wesentlichen parallel, jedoch entgegengesetzt ausgerichtet sind. Daher werden während einer Hälfte des Schwingungszyklus der beiden Durchflußrohre die Seitenschenkel 131 und 131' in einem größeren Maße zueinander verdreht als dem zwischen diesen Schenkein auftretenden minimalen Abstand entspricht, der durch die durch die Antriebsvorrichtung 180 erzeugte Schwingungsbewegung der Rohre allein erzeugt wird. Während des nächsten Halbzyklus werden die Seitenschenkel 131 und 131' durch die erzeugten Corioliskräfte in einem größeren Maße auseinander verdreht als dem zwischen diesen Schenkein auftretenden maximalen Abstand entspricht, der durch die durch die Antriebsvorrichtung 180 erzeugte Schwingungsbewegung der Rohre allein erzeugt wird.
  • Während der Schwingungsbewegung der Durchflußrohre erreichen die aneinander angrenzenden Seitenschenkel, die näher zueinander gezwungen werden als ihre entsprechenden Gegenstücke, den Endpunkt ihrer Bewegung, wo ihre Geschwindigkeit den Wert Null durchläuft, bevor dies für ihre entsprechenden Gegenstücke eintritt. Das Zeitintervall zwischen dem Zeitpunkt, bei dem ein Paar aneinander angrenzender Seitenschenkel ihren Endpunkt der Bewegung erreichen, und dem Zeitpunkt verstreicht, bei dem das Paar von Seitenschenkeln des Gegenstücks, d.h. die weiter auseinander gezwungenen Schenkel, ihren entsprechenden Endpunkt erreichen, ist dem Gesamt-Massendurchflußwert des die Meßanordnung 10 durchströmenden Fluids proportional. Dieses Zeitintervall kann, wie nachstehend ausführlich beschrieben, durch Messen des Zeitintervalls leicht bestimmt werden, das zwischen entsprechenden Nulldurchgängen des linken bzw. des rechten Geschwindigkeitssignals auftritt. Für eine ausführlichere Beschreibung der Prinzipien der Arbeitsweise von Parallelweg- Coriolis-Durchflußmessgeräten als die hierin beschriebene Arbeitsweise und insbesondere bezüglich der Bestimmung des Massendurchflußwerts aus Zeitintervallmessungen wird auf die US-A-4491025 (veröffentlicht von J.E. Smith et al. am 1. Januar 1985) verwiesen.
  • Um das zwischen den Durchgängen der Durchflußrohr- Seitenschenkel durch ihre jeweiligen Endpunkte der Bewegungen auftretende Zeitintervall zu messen, sind an einem der beiden Rohre 130 und 130' in der Nähe ihrer freien Enden Wicklungen 160L und 160R befestigt, und Permanentmagnete 170L und 170R sind in der Nähe der freien Enden am anderen Rohr befestigt. Die Magnete 170L und 170R sind so angeordnet, daß die Spulen 160L und 160R im Volumen des Raums angeordnet sind, der die jeweiligen Permanentmagnete umgibt und in dem der magnetische Fluß im wesentlichen gleichmäßig ist. Durch diesen Aufbau wird durch die durch die Wicklungen 160L und 160R erzeugten elektrischen Ausgangssignale ein Geschwindigkeitsprofil der vollständigen Bewegung des Rohrs erhalten, und die Signale können verarbeitet werden, wie nachstehend ausführlicher beschrieben wird, um das Zeitintervall und damit den Massendurchfluß des das Meßgerät durchfließenden Fluids zu bestimmen. Im einzelnen erzeugen die Wicklungen 160L und 160R das linke und das rechte Geschwindigkeitssignal über Leitungen 165L bzw. 165R. Die Tatsache, daß der Endpunkt der Bewegung (wo das Geschwindigkeitssignal einen Nulldurchgang aufweist) als Referenzpunkt verwendet wird, sollte nicht als Einschränkung betrachtet werden. Jeder vorher festgelegte Punkt des Geschwindigkeitssignals kann als Referenzpunkt zum Bestimmen des Zeitintervalls zwischen diesen beiden Signalen verwendet werden.
  • 2. Meßelektronik 20
  • Wie erwähnt, akzeptiert die Meßelektronik 20 als Eingangssignal das an der Leitung 195 erscheinende RTD-Signal und die an den Leitungen 165L bzw. 165R erscheinenden linken und rechten Geschwindigkeitssignale. Die Meßelektronik 20 erzeugt außerdem, wie erwähnt, das an der Leitung 185 erscheinende sinusförmige Steuersignal. Die Leitungen 165L, 165R, 185 und 195 werden gemeinsam als Leitungen 100 bezeichnet. Die Meßelektronik verarbeitet, wie nachstehend beschrieben, sowohl das linke und das rechte Geschwindigkeitssignal als auch die RTD-Temperatur, um den Massendurchflußwert und den Gesamt-Massendurchflußwert des die Meßanordnung 10 durchlaufenden Fluids zu bestimmen. Dieser Massendurchflußwert wird durch die Meßelektronik 20 auf zugeordneten Leitungen in den Leitungen 26 in analoger Form als entweder durch den Benutzer wählbares 0-20 mA/4-20 mA- oder durch den Benutzer wählbares 0-5/1-5 Volt-Signal und in serieller Form über Leitungen 25 bereitgestellt. Die Massendurchflußinformation wird in Freguenzform (typischerweise mit einem maximalen Bereich von 0-10 kHz) über eine geeignete Leitung unter den Leitungen 26 für eine Verbindung mit einer nachgeschalteten Vorrichtung bereitgestellt. Außerdem werden auf einer anderen Leitung unter den Leitungen 26 skalierte Impulse (typischerweise mit einem maximalen Bereich von 0-10 kHz) für eine Verbindung mit einem entfernt angeordneten mechanischen Zählwerk bzw. Zähler bereitgestellt. Jeder skalierte Impuls stellt dar, wie später ausführlich erläutert, daß eine bekannte Gesamtfluidmenge die Meßanordnung 10 durchlaufen hat. Ferner werden die Gesanitdurchflußinformation (Bestand-Gesamtwert und zurücksetzbarer Gesamtwert) in serieller Form über die Leitungen 25 bereitgestellt. Außerdem werden sind die Leitungen 27 normalerweise offene und normalerweise geschlossene Kontakte für eine Verbindung mit geeigneten Alarmschaltungen angeschlossen, um das Vorhandensein und/oder Nichtvorhandensein von Fehlerzuständen anzuzeigen.
  • Fig. 2 zeigt ein Blockdiagramm der Meßelektronik 20. Die Elektronik verwendet ein auf einem 8-Bit-Mikroprozessor basierendes System. Das System weist gemeinsame bi-direktionale Adressen- und Datenbusse 250 auf, durch die ein 8-Bit- Mikroprozessor 205, ein Speicher 210, eine Realzeituhr 215, ein Analog/Digital- (A/D-) Wandler 220, eine Busschnittstelle 240, eine serielle Schnittstelle 255, eine digitale Ausgangsschaltung (D/O-Schaltung) 260, ein Digital/Analog- (D/A-) Wandler 270, eine Sichtanzeigesteuerungseinrichtung 275, eine Busschnittstelle 280 und ein Zeitgeber 290 miteinander verbunden sind. Geeignete Taktsignale werden durch den Mikroprozessor 205 unter Verwendung eines Kristalls 208 erzeugt.
  • Der Speicher 210 wird aus einem leistungsunabhängigen Direktzugriffsspeicher (NOVRAM) zum Zwischenspeichern von Daten und einem programmierbaren Festwertspeicher (EPROM) zum Speichern von Programmen gebildet. Der NOVRAM-Speicher wird aus einem herkömmlichen Direktzugriffsspeicher (z.B. CMOS-Direktzugriffsspeicher) gebildet, der im Fall eines Spannungsausfalls durch eine Batterie 212 versorgt wird. D.h., der NOVRRM-Speicher wird auf die gleiche Weise betrieben wie ein herkömmlicher Direktzugriffsspeicher, wobei jedoch seine Inhalte gespeichert bleiben, wenn die Systembetriebsspannung unterbrochen wird. Während der Programmausführung werden routinemäßig neue Werte, sowohl Konstanten als auch Daten, in den NOVRAM-Speicher geschrieben.
  • Die Realzeituhr 215 erzeugt Zeit/Datuminformationen und 100 msec-Taktimpulse. Wie nachstehend ausführlich beschrieben wird, werden die Zeit/Datuminformationen durch den Mikroprozessor 205 zum Protokollieren von Fehlerdaten gelesen. Im einzelnen führt die Realzeituhr die Zeit/Datuminformationen den Datenbussen zu, die einen Teil der Busse 250 bilden, wenn der Mikroprozessor diese anfordert und immer wenn dieser einen Fehlerzustand feststellt. Die 100 msec-Taktimpulse werden über eine Leitung 216 einem Unterbrechungseingang des Mikroprozessors 205 zugeführt. Beim Auftreten jedes 100 msec-Taktinipulses führt der Mikroprozessor 205 eine in den Figuren 10A-10D dargestellte 100 nisec-Unterbrechungsroutine 1000 aus. Diese Routine berechnet zusammengefaßt den letzten Massendurchflußwert, aktualisiert die Gesamtdurchfluß- und Ausgangswerte, stellt neue Werte dar und führt verschiedene Diagnosetests aus. Diese Routine wird später vollständig beschrieben. Wenn die Betriebsspannung ausfällt, wird die Realzeituhr 215 durch die Batterie 218 versorgt und daher während dieser Zeit vorteilhaft weiterbetrieben.
  • Dem Mikroprozessor wird über einen 10-Bit-A/D-Wandler 220 eine analoge Eingangsinformation zugeführt. Dieser Wand-1er weist einen internen Multiplexer 221 auf, dem verschiedene analoge Eingangssignale zugeführt werden: die Ausgangssignale von Pegelverschiebungseinrichtungen 223, das Ausgangssignal einer RTD-Linearisierungs- und Skalierungsschaltung 225, eine durch die Steuerschaltung 40 erzeugte und auf der Leitung 428 erscheinende Antriebssignalsteuerspannung und Ausgangssignale von Spitzenwertdetektoren 232 und 234. Unter der Steuerung durch den Mikroprozessor wählt der A/D-Wandler 220 eines dieser analogen Eingangssignale durch den Multiplexer 221 aus, tastet das ausgewählte Eingangssignal ab, wandelt den Wert dieses Eingangssignals in eine entsprechende digitale Form uni und führt anschließend den erhaltenen digitalen Wert dem Datenbus zu, der einen Teil der Busse 250 bildet.
  • Die aus vier einzelnen Pegelverschiebungseinrichtungen gebildeten Pegelverschiebungseinrichtungen 223 verschieben den Pegel jedes der Zufuhrspannungswerte (z.B. +15V, +5V und 0V) auf einen im Eingabebereich des A/D-Wandlers 220 liegenden geeigneten Analogwert. Diese verschobenen Werte werden daraufhin durch den Mikroprozessor als Teil der durch das erfindungsgemäße Meßsystem routinemäßig ausgeführten Diagnosetests periodisch geprüft. Wenn einer dieser Pegel außerhalb eines vorher festgelegten Bereichs liegt, erkennt der Mikroprozessor dies als Fehlerzustand.
  • Dem A/D-Wandler 220 wird über die RTD-Linearisierungsund Skalierungsschaltung 225 die Rohrtemperaturinformation zugeführt. D.h., die RTD-Vorrichtung 190 ist über eine Leitung 195 mit einem Eingang der Schaltung 225 verbunden. Wenn die über die RTD-Vorrichtung auftretende Spannung sich mit der Temperatur nicht-linear ändert, linearisiert die Schaltung 225 die Spannung auf bekannte Weise und skaliert sie daraufhin mit einer vorher festgelegten Konstanten, um (nach der Umwandlung durch den A/D-Wandler 220) eine Auflösung von 0.5 Grad C/Bit unter Bezug auf 0º C zu erhalten. Die erhaltene skalierte RTD-Spannung wird einem Eingang des A/D-Wandlers 220 zugeführt. Diese Spannung wird umgewandelt und alle 100 msec durch den Mikroprozessor gelesen, während die in den Figuren 10A-10D dargestellte und später ausführlich beschriebene 100 msec-Unterbrechungsroutine 1000 ausgeführt wird.
  • Die auf der Leitung 428 erscheinende Antriebssignalsteuerspannung wird durch die Steuerschaltung 40 als Zwischensteuerungssignal erzeugt. Der Wert dieses Signals wird durch den A/D-Wandler 220 periodisch digitalisiert und durch den Mikroprozessor 205 für Diagnosezwecke geprüft, um festzustellen, ob der Wert innerhalb zulässiger Grenzwerte bleibt. Wenn der Wert diese Grenzwerte überschreitet, tritt ein Fehler auf, insbesondere wenn die Geschwindigkeitssensoren eine nicht ausreichend hohe Spannung erzeugen, weil in einem in der Steuerschaltung angeordneten Leistungsverstärker eine Störung auftritt, in den Rohren ein mechanischer Fehler auftritt oder in einem der Geschwindigkeitssensoren eine Störung auftritt.
  • Wie erwähnt, werden die an den Ausgängen der Spitzenwertdetektoren 232 und 234 erscheinenden Spannungen ebenfalls dem A/D-Wandler 220 als Eingangssignale zugeführt. Diese Detektoren tasten wiederholt die durch den linken und den rechten Geschwindigkeitssensor erzeugten und über die Leitungen 165L bzw. 165R erscheinenden sinusförniigen Spannungen ab und speichern deren während jedes Zyklus auftretende Spitzenwerte. Wie nachstehend beschrieben, werden die durch jeden Spitzenwertdetektor erzeugten spitzenwerte durch den A/D-Wandler kontinuierlich digitalisiert und durch den Mikroprozessor geprüft, während die Systemdiagnosetests ausgeführt werden, um festzustellen, ob die durch beide Sensoren erzeugten Spannungen innerhalb vorher festgelegter Grenzwerte liegen. Wenn dies nicht der Fall ist, ist ein Fehler aufgetreten.
  • Die Ausgangssignale des rechten und des linken Geschwindigkeitssensors 160L und 160R werden außerdem über die Leitungen 165L bzw. 165R der Zeitdifferenzmessungsschaltung 30 zugeführt. Diese Schaltung mißt, wie in Verbindung mit Fig. 3 und mit der in den Figuren 15A-15E dargestellten Zeitdifferenzmessung-Unterbrechungsroutine 1400 ausführlich dargestellt wird, die zwischen den durch die beiden Geschwindigkeitssensoren erzeugten Wellenformen auftretende Zeitdifferenz. Wie erwähnt, ist der Massendurchfluß im wesentlichen dieser Zeitdifferenz proportional. Die Zeitdifferenzmessungen und eine (nachstehend beschriebene) COE-Information werden von der Schaltung 30 über Leitungen 36 als Datensignale ausgegeben. Außerdem erzeugt die Schaltung 30 beim Abschluß jeder Zeitdifferenzmessung einen Impuls (Impuls für das Ende eines Meßvorgangs (EOM-Impuls)) auf der Unterbrechungsleitung 332. Durch diesen Impuls wird der Mikroprozessor 205 veranlaßt, die in den Figuren 15A-15E dargestellte und nachstehend beschriebene Rohrmessung-Unterbrechungsroutine 1400 auszuführen. Im einzelnen berechnet diese Routine die Summe von vier Zeitdifferenzmessungen, filtert digital die erhaltene Summe, subtrahiert den Nulldurchluß-Offsetwert von der Summe und führt verschiedene Diagnosetests durch. Die gefilterte Summe wird daraufhin durch die 100 msec-Unterbrechungsroutine 1000 verwendet, um den Massendurchflußwert zu aktualisieren. Außerdem werden der Zeitdifferenzniessungsschaltung 30 verschiedene über Leitungen 33 erscheinende Steuersignale zugeführt, wie nachstehend in Verbindung mit Fig. 3 beschrieben wird, um ihre Funktion zu steuern.
  • Die Steuerschaltung 40 verwendet, wie unter Bezug auf Fig. 4 ausführlich beschrieben wird, das linke und das rechte Geschwindigkeitssensorsignal, um eine sinusförmige Spannung zu erzeugen, die über die Leitung 185 der Antriebswicklung 180 als Steuer- oder Antriebssignal zugeführt wird. Die Steuerschaltung wird im wesentlichen aus einem Integralregler gebildet, der ein Steuersignal erzeugt, das mit der Summe der Wellenformen des linken und des rechten Geschwindigkeitssensors phasengleich ist. Die Steuerschaltung erzeugt außerdem ein auf der Leitung 438 erscheinendes Steuersignal für einen überniäßigen Antrieb. Dieses Signal hat immer dann einen hohen Pegel, wenn der Wert des Antriebssignals wesentlich erhöht ist, wie beispielsweise während der Anfangserregung der Durchflußrohre beim Einschalten der Betriebsspannung, und wird für Diagnosezwecke durch den Mikroprozessor 205 ununterbrochen überwacht. Der Mikroprozessor kann außerdem das der Antriebswicklung 180 zugeführte Antriebssignal abschalten, indem das auf der Leitung 242 erscheinende Antriebsunterbrechungssignal einen niedrigen Pegel erhält. Dies tritt sowohl bei der Systeminitialisierung als auch während eines Fehlerzustands ein.
  • Die Spannungsversorgung 295 erzeugt die durch das erfindungsgemäße System verwendeten erforderlichen Spannungspegel, d.h. +15 und +5 Volt. Außerdem erzeugt die Spannungsversorgung ein +5 V-Zustandsignal über eine Leitung 298. Dieses Signal stellt den Zustand der +5 V-Spannungszufuhr dar und sinkt etwa 4-5 msec bevor der +5 V-Pegel der Spannungsversorgung zusammenbricht von einem hohen auf einen niedrigen Pegel ab. Dieses Signal wird durch den Mikroprozessor 205 als Teil der Systemdiagnose ununterbrochen geprüft.
  • Die Busschnittstelle 240 bildet über Busse 250 eine bidirektionale Schnittstelle zwischen dem Mikroprozessor 205 und den über die Leitungen 36 erscheinenden Datensignalen, den über die Leitungen 33 erscheinenden Steuersignalen, dem auf der Leitung 438 erscheinenden Signal für einen übermäßigen Antrieb, dem auf der Leitung 242 erscheinenden Antriebsunterbrechungssignal und dem auf der Leitung 298 erscheinenden +5 V-Zustandsignal. Über diese Schnittstelle kann der Mikroprozessor den Pegel jedes dieser Signale geeignet selektiv feststellen oder einstellen.
  • Durch die serielle Schnittstelle 255 wird eine serielle Verbindung über die Leitungen 25 zwischen dem Mikroprozessor und einer externen Vorrichtung bereitgestellt. Der Modus (RS-232C oder RS-485), die Baud-Rate (150 Baud - 19.2 kBaud) und die Parität (gerade, ungerade oder Null) der seriellen Schnittstelle werden durch geeignete Befehle programmiert, die über Busse 250 vom Mikroprozessor empfangen werden. Wenn die Schnittstelle programmiert ist, enipfängt sie vom Mikroprozessor Daten über I/O-Port-Leitungen 209 für eine anschließende serielle Übertragung. Zwei Moden für eine serielle Kommunikation sind vorhanden: RS-232C für eine Verbindung mit einer einzelnen externen Vorrichtung, wie beispielsweise einen Kartendrucker, und RS-485 für eine Verbindung mit einem Netzwerk von Meßsystemen und einem Verarbeitungsrechner. Wie in Fig. 16 dargestellt und nachstehend ausführlich beschrieben, ist ein Kartendrucker für eine RS-232C-Kommunikation mit Leitungen 252 verbunden, während eine Netzwerkverbindung für eine RS-485-Kommunikation über Leitungen 251 hergestellt wird. Das Netzwerk kann vorteilhaft mehrere getrennte Meßsysteme aufweisen, die über geeignete RS-485- Ports über eine gemeinsame Differenzleitung (wie ein verdrilltes Paar) mit einem Verarbeitungsrechner verbunden sind, der Daten von jedem Meßsystem erhalten kann, während er gleichzeitig die Funktion dieses Systems steuert.
  • Durch eine digitale Ausgabeschaltung 260 werden verschiedene digitale Ausgangssignale bereitgestellt. Im einzelnen werden das Freguenzausgangssignal, das skalierte Impulsausgangssignal, das Strömungsrichtungssignal und Alarmsignale für obere/untere Pegel durch elektronische Relais über Leitungen 267 bereitgestellt. Durch ein mechanisches Relais 265 werden normalerweise offene und normalerweise geschlossene mechanische Fehleralarnikontakte über Leitungen 27 bereitgestellt. Die normalerweise geschlossenen Kontakte werden zum Anzeigen eines Fehlerzustands verwendet. Die elektronischen Relais und das mechanische Relais werden durch den Mikroprozessor 205 über die Busschnittstelle 261 selektiv erregt oder eingeschaltet. Außerdem kann das Relais 265 auch durch ein über die Leitung 292 vom (Überwachungs-) Zeitgeber 290 erscheinendes geeignetes Signal ausgeschaltet werden, um einen Fehlerzustand anzuzeigen. Dieses Signal tritt auf, wenn dieser Zeitgeber das Ende seines Zeitintervalls erreicht (d.h. wenn das Zeitintervall abgelaufen ist).
  • Durch den D/A-Wandler 270 und den Spannungs-Strom-Umformer 273 werden analoge Spannungs-/Stromsignale erzeugt. Die ankommende digitale Information wird über Busse 250 dem D/A-Wandler zugeführt und daraufhin in ein entsprechendes analoges Spannungssignal umgeformt. Das erhaltene Spannungssignal wird durch den Umformer 273 in ein Stromsignal umgewandelt. Der Mikroprozessor 205 kann durch den Benutzer angewiesen werden, den maximalen Bereich dieses Stromsignals entweder auf 0 - 20 mA oder auf 4 - 20 mA einzustellen. Ein geeigneter Widerstand, wie beispielsweise der Widerstand 274, kann zwischen den Ausgängen dieses Umformers angeschlossen werden, die vorzugsweise isoliert sind und deren Ausgangssignale auf den Leitungen 269 erscheinen, um das Ausgangsstromsignal in ein Spannungssignal in einem entsprechenden Bereich von 0 - 5 Volt oder 1 - 5 Volt umzuwandeln.
  • Eine Sichtanzeige 278, typischerweise ein bekannte Flüssigkristallanzeige (LCD), stellt verschiedene Ausgangsinformationen, wie beispielsweise den Massendurchflußwert und den Gesamtmassendurchfluß, dar. Die dargestellten Massendurchfluß- und Gesamtmassendurchflußinformationen werden durch den Mikrocomputer 205 alle 100 Millisekunden aktualisiert. Der Benutzer kann durch die Verarbeitung der in Fig. 6 dargestellten und nachstehend ausführlich beschriebenen Menüroutine 600 andere darzustellende Informationen auswählen (wie beispielsweise obere oder untere Alarmgrenzwerte, Stromausgangseinheiten, einen unteren Durchfluß- Grenzwert oder die Eingangsfilter-Zeitkonstante). Zu diesen Zeitpunkten werden dem Datenbus, der einen Teil der Busse 250 bildet, durch den Mikroprozessor neue Daten zugeführt, die daraufhin der Sichtanzeigesteuerungseinrichtung 275 zugeführt werden, die die Funktion der Sichtanzeige 278 steuert.
  • Der Benutzer führt dem Meßsystem über verschiedene Schalter Informationen zu. Der Zustand jedes dieser Schalter wird durch den Mikroprozessor 205 über die Busschnittstelle 280 gelesen. D.h., einige dieser Schalter sind vorteilhaft auf einer Frontplatte des Meßsystems angeordnet und umfassen: einen Menü-Tastschalter, Inkrement-/Dekrement-Tastschalter und einen Lösch-Tastschalter. Durch den Menü-Tastschalter kann der Benutzer durch ein vorher festgelegtes Menü schrittweise auf das System zugreifen, um verschiedene Funktionsparanieter und Gesamtwerte darzustellen. Wenn der Benutzer den Lösch-Tastschalter drückt, kann der zurücksetzbare Gesamt-Massendurchflußnießwert auf Null zurückgesetzt werden. Die übrigen Schalter, die einen Meßgerätfaktor-, einen Meßgerättyp-, einen Nulldurchflußkalibrierungsaufrufschalter und einen Sicherungsschalter (die alle nachstehend ausführlich beschrieben werden) umfassen, sind alle in einem Gehäuse angeordnet, daß die Meßelektronik 20 enthält. Um vor unbefugten Eingriffen abzuschrecken, ist dieses Gehäuse vorzugsweise nur durch eine einzelne Abdeckung zugänglich, die mit einem Behördensiegel versiegelt werden kann. Daher muß das Siegel gebrochen werden, um die innen angeordneten Schalter zu erreichen. Durch den Sicherungsschalter wird verhindert, wenn dieser auf eine geeignete Position (der Sicherungsposition) eingestellt ist und durch den Mikroprozessor gelesen wird, daß der Benutzer Systemparameter ändern kann. In diesem Fall stellt das System die Werte dieser Parameter lediglich dar, verhindert jedoch, daß der Benutzer diese ändern kann. Weil der Sicherungsschalter innerhalb des Gehäuses angeordnet ist, ist das System im wesentlichen gegen Eingriffe gesichert. Die Inkrenient/Dekrementschalter werden dazu verwendet, die Werte beliebiger Systemparameter immer dann zu erhöhen oder zu verringern, wenn der Sicherungsschalter nicht auf die Sicherungsposition eingestellt ist.
  • Der Zeitgeber 290 wirkt als Überwachungszeitgeber. D.h., dieser Zeitgeber ist so eingestellt, daß er nach dem Ablauf von 100 msec einen Impuls erzeugt, wobei der Zeitgeber jedoch im normalen Betrieb, wenn die Rohrmessung-Unterbrechungsroutine 1400 ausgeführt wird, etwa alle 20 msec zurückgesetzt wird. Wenn dieser Zeitgeber das Ende seines Zeitzyklus erreicht, bevor er zurückgesetzt wird, ist ein Fehler aufgetreten, d.h., die Funktion des Mikrocomputers 205 wurde unterbrochen. In diesem Fall erzeugt der Zeitgeber ein Signal über die Leitungen 292, durch das das Fehlerrelais 265 abgeschaltet wird, um diesen Fehlerzustand geeignet anzuzeigen.
  • 3. Zeitdifferenzmessungsschaltung 30
  • Fig. 3A zeigt ein Blockdiagramm der Zeitdifferenzmessungsschaltung 30. Diese Schaltung mißt die Zeitdifferenz, die zwischen den durch den linken und den rechten Geschwindigkeitssensor 160L bzw. 160R erzeugten und auf den Leitungen 165L bzw. 165R erscheinenden Wellenformen auftritt. Wie erwähnt, ist diese Zeitdifferenz dem Massendurchfluß des die Meßanordnung 10 (vergl. Fig. 1) durchströmenden Fluids im wesentlichen proportional.
  • Wie in Fig. 3A dargestellt, wird diese Schaltung aus zwei analogen Eingangskanälen gebildet, die jeweils über einen Eingangsschalter (die im allgemeinen unter Verwendung von Feldeffekttransistor (FET) -vorrichtungen gebildet werden) mit nur einem der Geschwindigkeitssensoren verbunden sind, d.h. entweder mit dem linken oder mit dem rechten Geschwindigkeitssensor. Die sinusförniigen Ausgangssignale der beiden Sensoren werden bei jeweils aufeinanderfolgenden sinusförmigen Zyklen wechselseitig zwischen den beiden Kanälen umgeschaltet. Vier separate Zeitdifferenzmessungen werden nacheinander ausgeführt und durch den Mikroprozessor 205 entweder durch Addition oder Subtraktion geeignet kombiniert, während die Zeitdifferenzniessung-Unterroutine 1400 ausgeführt wird, die später in Verbindung mit den Figuren 15A-15E ausführlich beschrieben wird. Durch diese Kombination werden die Einflüsse der Unterschiede der elektrischen Kenngrößen zwischen den beiden Kanälen, die sich durch verschiedene Faktoren, wie beispielsweise durch Offsetwerte, Alterung, Drift und/oder durch Temperaturänderungen verursachte Änderungen der Kenngrößen der in jedem Kanal verwendeten analogen Bauteile ergeben, vorteilhaft kompensiert. Die erhaltene kombinierte Zeitdifferenzniessung ist außerdem im wesentlichen dem Massendurchfluß des die Meßanordnung durchströmenden Fluids proportional. Um Rauschanteile zu verringern und die Auflösung zu erhöhen, wird, während die in den Fig. 10A-10D dargestellte und später ausführlich beschriebene 100 msec-Unterbrechungsroutine 1000 ausgeführt wird, der kombinierte Wert durch den Mikroprozessor 205 digital gefiltert und anschließend verwendet, um den Massendurchfluß zu bestimmen.
  • Um die Arbeitsweise der Zeitdifferenzmessungsschaltung 30 zu verdeutlichen, wird nachstehend beschrieben, wie diese Schaltung eine Zeitdifferenz mißt und anschließend zwischen den Kanälen auftretende Differenzen kompensiert.
  • Um die nachfolgende Beschreibung zu vereinfachen, wird zunächst vorausgesetzt, daß der Eingangsschalter 320 die auf den Leitungen 165L und 165R erscheinenden linken bzw. rechten Geschwindigkeitssensorsignale den Eingängen von Puffern 322 bzw. 326 zuführt. Um eine Zeitdifferenz zwischen dem linken und dem rechten Geschwindigkeitssensorsignal zu messen, wird jedes Sensorsignal über den Eingangsschalter 320 einem Kanal zugeführt, der aus einem Verstärker 322 oder 326 und einem Pegeldetektor 324 oder 328 gebildet wird. Die beiden Pegeldetektoren sind identisch. Jeder Pegeldetektor erzeugt immer dann ein Ausgangssignal mit hohem Pegel, wenn sein entsprechendes Geschwindigkeitseingangssignal einen vorher festgelegten Schwellenwert überschreitet. Vorzugsweise ist jeder der Pegeldetektoren ein Nulldurchgangdetektor, weil die Nulldurchgänge bequeme Meßpunkte darstellen. Natürlich können an Stelle der Nulldurchgänge auch andere Referenzpunkte verwendet werden. Die Ausgangssignale der Pegeldetektoren 324 und 328 werden jeweils einem Eingang eines Exklusiven-ODER-(EXOR) Gatters 350 zugeführt. Dieses Gatter erzeugt immer dann ein Ausgangssignal mit hohem Pegel (logischer Wert Eins), wenn die seinen beiden Eingängen zugeführten Pegel verschieden sind (wenn ein Eingangssignal den logischen Wert Null und das andere den logischen Wert Eins aufweist). Daher ist das durch das EXOR-Gatter 350 erzeugte Ausgangssignal eine Impulsfolge, bei der die Breite jedes Impulses der Zeitdifferenz zwischen den Ausgangssignalen der Pegeldetektoren 324 und 328 und dadurch der Zeitdifferenz zwischen den durch den linken und den rechten Geschwindigkeitssensor erzeugten Signalen gleich ist. Diese Arbeitsweise wird durch die in Fig. 38 dargestellten Wellenformen A, B und D - F verdeutlicht.
  • Um diese Zeitdifferenz gantitativ zu messen, erzeugt der Oszillator 365 eine Folge von 50 MHz-Taktimpulsen, die durch ein UND-Gatter 355 selektiv torgesteuert und immer dann einem 16-Bit-Zähler 370 zugeführt werden, wenn das Ausgangssignal des EXOR-Gatters 350 einen hohen Pegel aufweist. Immer wenn zwischen entsprechenden Nulldurchgängen der durch beide Pegeldetektoren erzeugten Signale ein von Null verschiedenes Zeitintervall auftritt, d.h., während das Ausgangssignal des EXOR-Gatters 350 einen hohen Pegel aufweist, werden die 50 MHz-Taktimpulse während dieses Zeitintervalls durch das UND-Gatter 355 torgesteuert und durch den Zähler 370 gezählt. Durch die Verwendung von 50 MHz-Taktimpulsen wird eine ausreichende Auflösung erreicht um eine genaue Zeitdifferenzmessung zu erhalten. Die Frequenz des Oszillators 365 kann verändert werden, wodurch sich entsprechende Änderungen in der Auflösung der Zeitdifferenzniessungen ergeben. Dieser Oszillator ist vorzugsweise kristallgesteuert. Die 16-Bit-Inhalte des Zählers 370 werden Leitungen 372 zugeführt. Kurz nach Abschluß einer Messung und vor dem Beginn der nächsten Messung erzeugt eine Meßvorgangabschlußschaltung 330 ein Meßvorgangabschluß (EOM) -signal auf der Leitung 332 und einer EOML-Signalleitung 382. Dieses Signal, das über die Leitung 332 dem Mikroprozessor zugeführt wird, erzeugt eine Unterbrechung, durch die der Mikroprozessor veranlaßt wird, die Rohrmessung-Unterbrechungsroutine 1400 auszuführen, um zunächst die auf den Leitungen 372 erscheinenden Inhalte des Zählers 370 zu lesen und daraufhin als Vorbereitung für die nächste Messung den Zähler 370 auf Null zurückzusetzen, indem der Löschsignalleitung unter den Leitungen 33 ein Löschimpuls zugeführt wird.
  • Die Meßvorgangabschlußschaltung 330 erzeugt ein EOML- Signal auf der Leitung 382, das ungefähr 90º nach dem Auftreten der Nulldurchgänge beider Geschwindigkeitssignale seinen Zustand ändert. Der 90º-Punkt ist annähernd richtig festgelegt, weil die EOM-Schaltung zunächst durch eine Mittelwertbildungsschaltung 335 eine Wellenform erzeugt, die den Mittelwert der auf den Leitungen 165L und 165R erscheinenden linken bzw. rechten Geschwindigkeitssignale darstellt. Das EOML-Signal (Wellenform C in Fig. 38) ändert seinen Pegel 90º nach jedem Nulldurchgang dieses Mittelwertsignals zu Zeitpunkten T. D.h., wie in Fig. 3A dargestellt, das Mittelwertsignal wird einer 90º-Phasenverschiebungsschaltung 337 als Eingangssignal und von dort einem Eingang des Nulldurchgangdetektors 339 zugeführt. Während des normalen Betriebs des Durchflußmeßgeräts bleibt die Zeitdifferenz zwischen dem linken und dem rechten Geschwindigkeitssignal sehr klein (viel kleiner als die in den Wellenformen A und B in Fig. 3B, in der die Zeitdifferenz aus Darstellungsgründen stark vergrößert gezeigt ist, dargestellte Zeitdifferenz). Daher treten die Nulldurchgänge in beiden Geschwindigkeitssignalen in einem schmalen Zeitintervall um den Nulldurchgangspunkt des Mittelwertsignals auf. Dadurch treten die Nulldurchgänge des Mittelwertsignals etwa 90º nach den entsprechenden Nulldurchgängen der beiden Geschwindigkeitssignale auf. Indem der EOM-lnipuls 90º nach jedem Nulldurchgang des Mittelwertsignals erzeugt wird, wird gewährleistet, daß die Zeitdifferenzmessung sicher abgeschlossen ist, bevor der erste Nulldurchgang in einem der beiden Geschwindigkeitssignale auftritt, der den Beginn der nächsten Zeitdifferenzmessung darstellt. Ein Doppelimpulsdetektor 360 (der im allgemeinen aus zwei D-Flipflops gebildet wird) erzeugt einen hohen Pegel eines auf der Leitung 362 erscheinenden Signals für übermäßiges Rauschen, wenn im Ausgangssignal des EXOR-Gatters 350 zwei Impulse auftreten, bevor der Zähler 370 zurückgesetzt wurde. In diesem Fall kann einer dieser Impulse einer zwischen den Geschwindigkeitseingangssignalen auftretenden Zeitdifferenz (TA, TB, TC oder TD) zugeordnet werden, wie in der Wellenform F in Fig. 38 dargestellt, während der zweite Impuls ein Rauschsignalimpuls ist. Der Zustand des Signals für übermäßiges Rauschen wird für Diagnosezwecke geprüft, während die in den Figuren 15A-15A dargestellte und nachstehend beschriebene Zeitdifferenzmessung-Unterroutine 1400 ausgeführt wird. Der Detektor 360 wird gleichzeitig mit dem Zähler 370 gelöscht, indem der Löschsignalleitung, die einen Teil der Leitungen 33 bildet, vom Mikroprozessor ein Impuls zugeführt wird.
  • Änderungen der elektrischen Kenngrößen (Verstärkung, Offset, Drift, durch Temperaturänderungen induzierte Änderungen und ähnliche) der Verstärker 322 und 326 und der Pegeldetektoren 324 und 328, die jeweils in den Kanälen 1 bzw. 2 angeordnet sind, führen zu Fehlern der durch den Zähler 370 gemessenen Zeitdifferenzen. Um diese Fehler zu eliminieren, kehrt der Eingangsschalter 320 die Schaltverbindungen der Geschwindigkeitssensoren zu diesen beiden Kanälen aufeinanderfolgend um. Die Einstellung dieses Schalters wird durch die Pegel von über Leitungen 334 zugeführten geeigneten Eingangsauswahlsignalen gesteuert. D.h. im Betrieb sind der linke und der rechte Geschwindigkeitssensor für einen vollständigen Zyklus des Mittelwertsignals mit den Verstärkern 322 bzw. 326 verbunden. Anschließend führt der Mikroprozessor 205 in Antwort auf die ansteigende Flanke des durch die EOM-Schaltung 330 erzeugten EOML-Signals den Leitungen 334 geeignete Eingangsauswahlsignale zu, um die Schaltereinstellung für den nächsten sinusförmigen Zyklus des Mittelwertsignals umzukehren (d.h., die auf den Leitungen 165L und 165R erscheinenden linken und rechten Geschwindigkeitssignale werden den Verstärkern 326 bzw. 322 zugeführt). Wie in Fig. 3B dargestellt, werden während eines Zyklus des Mittelwertsignals Messungen für zwei Zeitdifferenznießwerte TA und TB und während des darauffolgenden Zyklus für zwei andere Zeitdifferenzmeßwerte TC und TD ausgeführt. Diese vier Meßwerte werden anschließend entweder durch Addieren oder durch Subtrahieren auf eine nachstehend beschriebene Weise kombiniert, um jegliche zwischen den Kanälen auftretenden Änderungen der elektrischen Kenngrößen und damit alle dadurch in den Zeitdifferenzmessungen verursachten Fehler zu eliminieren. Diese Verarbeitung, bei der vier neue Zeitdifferenznießwerte erhalten und diese Meßwerte kombiniert werden, wird bei jedem zweiten Zyklus des Mittelwertsignals wiederholt.
  • Um die Fehlerkompensierungseigenschaften dieser Schaltung zu verdeutlichen, wird vorausgesetzt, daß das Fluid in einer positiven oder normalen Richtung durch das Meßgerät fließt, d.h., in die in Fig. 1 dargestellte Einlaßöffnung 101. Für diese Bedingung werden die folgenden Definitionen festgelegt: TR(L) und TR(R) stellen die wahre Anstiegszeit der guadrierten linken und rechten Geschwindigkeitssignale dar, die durch die Pegeldetektoren 324 und 328 ideal erzeugt werden; TER(1) und TEF(1) stellen Zeitfehler in den durch den Verstärker 322 und den Pegeldetektor 324 gemessenen Anstiegs- bzw. Abfallzeiten dar; und TER(2) und TEF(2) stellen Zeitfehler in den durch den Verstärker 326 und den Pegeldetektor 328 gemessenen Anstiegs- bzw. Abfalizeiten dar. Unter Berücksichtigung dieser Definitionen und unter der Voraussetzung, daß diese Fehler im Vergleich zu den durch den tatsächlichen Durchfluß erzeugten Zeitdifferenzen klein sind, sind die vier Zeitdifferenzen für positiven Durchfluß durch die folgenden Gleichungen gegeben:
  • TA abs([TF(R) + TEF(1)] - [TF(L) + TEF(2)]) (1)
  • TB abs([TR(R) + TER(1)] - [TR(L) + TER(2)]) (2)
  • TC abs([TF(R) + TEF(2)] - [TF(L) + TEF(1)]) (3)
  • TD abs([TR(R) + TER(2)] - [TR(L) + TER(1)]) (4)
  • Durch additives Kombinieren dieser Gleichungen wird eine Summe TSUM erhalten, in der alle Zeitfehler TER(1), TEF(1), TER(2) und TEF(2) kompensiert sind. Daher ist der Summenwert durch Änderungen der elektrischen Kenngrößen zwischen den beiden Kanälen nicht nachteilig beeinflußt. Die durch den Mikroprozessor 205 erhaltene Form der Gleichung zum Erzeugen der Summe TSUM ist gegeben durch:
  • TSUM = ± TA ± TB ± TC ± TD (5)
  • Zunächst wird im Zeitdetektor 340 (eine bekannte sequentielle Logikschaltung, die manchmal geeignet als "chicken or egg" oder COE-Schaltung bezeichnet wird) festgestellt bzw. vorgeschrieben, ob jede einzelne Zeitdifferenzmessung TA, TB, TC oder TD positiv oder negativ ist, d.h., ob das auf Kanal 1 erscheinende Signal dem auf Kanal 2 erscheinenden Signal vorauseilt, und dadurch, ob der Wert jeder Zeitdifferenzmessung addiert oder subtrahiert werden muß, um den Sumnienwert TSUM zu erhalten. Die COE-Schaltung 340 verwendet das EOML-Signal als Referenzsignal und erzeugt ein COE-Signal, dessen Pegel abhängig davon festgelegt wird, ob das dem Kanal 1 zugeführte sinusförmige Signal dem dem Kanal 2 zugeführten Signal vorauseilt. Das COE-Signal erscheint auf der Leitung 342 und bildet einen Teil der Datensignale auf den Leitungen 36. Unter Verwendung der durch das COE-Signal bereitgestellten Information kombiniert die in den Figuren 15A-15E dargestellte und nachstehend beschriebene Zeitdifferenzmessung-Unterbrechungsroutine 1400 die vier einzelnen Zeitdifferenzmessungen geeignet, um die Summe TSUM zu bilden.
  • Außerdem werden beiden Kanälen als Teil der durch das erfindungsgeniäße System durchgeführten Diagnosetests periodisch Referenzsignale zugeführt. Diese Referenzsignale erscheinen an Eingängen L&sub1; und R&sub1; des Eingangsschalters 320 und bestehen aus dem auf der Leitung 165L erscheinenden linken Geschwindigkeitssignal bzw. dem gleichen Signal, das durch ein Zeitverzögerungselement 310 um 75 usec verzögert wurde. Die durch die Eingangsschaltung gemessene Zeitdifferenz wird anschließend durch den Mikroprozessor 205 (vergl. Fig. 2) mit vorher festegelegten Minimal- und Maximalwerten verglichen. Wenn die gemessene Zeitdifferenz außerhalb dieser Werte liegt, tritt ein Fehlerzustand ein, der dem Benutzer durch den Mikroprozessor geeignet mitgeteilt wird. Hierbei wird verwiesen auf die US-A-06/903337 mit dem Titel "Auto Zero Circuit for Flow Meter", eingereicht am 3. September 1986, in der die Arbeitsweise einer Zeitdifferenzmessungsschaltung, die die gleiche Fehlerkompensierungsfunktion wie die vorstehend beschriebene Schaltung aufweist, ausführlich beschrieben wird.
  • 4. Steuerschaltung 40
  • Fig. 4 zeigt ein Blockdiagramm der Steuerschaltung 40. Wie erwähnt, erzeugt diese Schaltung eine sinusförmige Spannung, die über die Leitung 185 der Antriebswicklung 180 zugeführt wird, um eine Schwingungsbewegung beider Durchflußrohre bei ihrer Eigenfrequenz aufrechtzuerhalten. Wie beschrieben, ist die Steuerschaltung im wesentlichen eine Integralsteuerungseinrichtung, die ein Steuersignal erzeugt, das mit der Summe der Wellenformen des linken und des rechten Geschwindigkeitssensors gleichphasig ist. Durch einen linearen Betrieb und durch Erzeugen einer sinusförmigen Steuerspannung treibt die Steuerschaltung 40 die Durchflußrohre bei ihrer Eigenresonanzfrequenz an, wodurch minimale Oberwellenanteile erzeugt werden.
  • Beide Geschwindigkeitssignale werden durch einen Summierer 405 kombiniert, und der erhaltene Summenwert wird einem Gleichrichter-Mittelwertbilder 410 zugeführt, der aus einem Vollwellengleichrichter 412 und einem nachgeschalteten Tiefpaßfilter 414 gebildet wird. Das durch den Gleichrichter-Mittelwertbilder erzeugte Ausgangssignal folgt der mittleren Amplitude der durch den Summierer erzeugten kombinierten gleichgerichteten Geschwindigkeitssignale. Dieses Ausgangssignal wird daraufhin durch einen Summierer 420 von einem Referenzsignal Vref subtrahiert. Der erhaltene Differenzwert wird anschließend durch einen Integrator 425 integriert. Dieser Integrator weist eine geeignete bekannte Kompensationsschaltung auf, um zu verhindern, daß die Steuerschaltung 40 schwingt. Das integrierte Differenzsignal wird einem Eingang eines Multiplizierers 440 zugeführt, der das integrierte Signal mit der Amplitude der auf der Leitung 408 erscheinenden und durch den Sunimierer 405 erzeugten kombinierten Geschwindigkeitssignale multipliziert. Außerdem ist das Ausgangssignal des Integrators die auf der Leitung 428 erscheinende Antriebssignalsteuerspannung. Diese Spannung wird, wie vorstehend erwähnt, während die Systemdiagnose ausgeführt wird, kontinuierlich durch den Mikroprozessor geprüft. Durch Verwendung der Integralsteuerung und insbesondere in diesem Fall, bei dem das Ausgangssignal des Integrators mit den kombinierten Geschwindigkeitssignalen multipliziert wird, ist das erhaltene Fehlersignal, das über den Schalter 445 einem Eingang des Verstärkers 450 zugeführt wird, bezüglich jeglichen Differenzen zwischen dem Spitzenwert der kombinierten Geschwindigkeitssignale und der Referenzspannung besonders sensitiv. Während des Betriebs ändert sich das Ausgangssignal des Leistungsverstärkers geeignet, uni die Spitzenamplitude der kombinierten Geschwindigkeitssignale auf dem Referenzpegel zu halten. Wenn die durch beide Geschwindigkeitssensoren erzeugten kombinierten Signale zu schwach sind, wodurch angezeigt wird, daß die Rohre nicht über einen ausreichend großen Abstand schwingen, erhöht der Leistungsverstärker sein Spitzenwertausgangssignal, um dadurch die Schwingungsspitzenamplitude der Durchflußrohre zu erhöhen. Ähnlich wird, wenn die Schwingungsspitzenamplitude zu groß ist, das Ausgangssignal des Leistungsverstärkers 450 entsprechend vermindert.
  • Der Schalter 445 wird durch das der Leitung 242 zugeführte Antriebsaktivierungssignal gesteuert. Dieses Signal wird über einen Signalspeicher 460 dem Steuereingang des Schalters 445 zugeführt. Immer wenn dieses Signal einen hohen Pegel aufweist, hat das Ausgangssignal des Signalspeichers 460 einen hohen Pegel und wird der Schalter 445 geschlossen, wodurch das durch den Multiplizierer 440 erzeugte Fehlersignal einem Eingang des Leistungsverstärkers 450 zugeführt wird. Um die Steuerschaltung zu deaktivieren, wird der Leitung 242 ein Signal mit niedrigem Pegel zugeführt, wodurch der Schalter 445 den Eingang des Leistungsverstärkers 450 mit dem Erdpotential verbindet. Dadurch verringert der Leistungsverstärker 450 sein Ausgangssignal auf den Wert Null, wodurch die Schwingungsbewegung der Durchflußrohre unterbrochen wird.
  • Immer wenn die Durchflußrohre zu Beginn von einer stationären Position in Schwingung versetzt werden, sind etwa Sekunden erforderlich, damit die Amplitude der Schwingungsbewegung der Rohre den gewünschten Spitzenwert erreicht und sich bei diesem Wert stabilisiert. Um diese Zeitdauer zu verkürzen, wird das Ausgangssignal des Integrators 425 einem Eingang eines Vergleichers 430 zugeführt. Dem anderen Eingang des Vergleichers wird eine vorher festgelegte Schwellenspannung zugeführt. Immer wenn das Ausgangssignal des Integrators die Schwellenspannung überschreitet, nimmt das Ausgangssignal des Vergleichers einen hohen Pegel an, der über eine Leitung 433 dem variablen Verstärkungseingang des Leistungsverstärkers 450 zugeführt wird. Dadurch wird die Verstärkung des Leistungsverstärkers etwa verzehnfacht. Dadurch wird das Rohr durch ein Antriebssignal mit einer wesentlich höheren Amplitude angetrieben als im eingeschwungenen Zustand, wodurch die Zeitdauer, die erforderlich ist, damit sich die Rohre bei einem gewünschten Spitzenwert der Schwingungsbewegung stabilisieren, auf 2 - 3 Sekunden verkürzt wird. Um anzuzeigen, daß ein Antriebszustand bei einer hohen Amplitude vorliegt, wird das Ausgangssignal des Vergleichers 430 auch dem Puffer 435 zugeführt, der auf der Leitung 438 das digitale Signal für einen übermäßigen Antrieb erzeugt. Der Zustand dieses Signals wird, wie nachstehend ausführlich beschrieben, durch den Mikroprozessor als Teil der Systemdiagnose kontinuierlich gelesen.
  • B. Software-Beschreibung
  • Die Software für das erfindungsgemäße Meßsystem kann im wesentlichen in drei Komponenten eingeteilt werden: ein in den Figuren 5A-5D dargestelltes Hauptprogramm 500, eine in den Figuren 10A-10D dargestellte 100 msec-Unterbrechungsroutine 1000 und eine in den Figuren 15A-15E ausführlich dargestellte Zeitdifferenzniessung-Unterbrechungsroutine 1400.
  • Das Hauptprogramm 500 führt Funktionen aus, die mit dem Einschalten oder der Störungsbehebung nach einem Fehlerzustand verbunden sind, wie beispielsweise das Initialisieren des Systems, das Durchführen verschiedener Systemdiagnosefunktionen, das Zugreifen auf Parameter aus dem NOVRAM-Speicher, das Gültigmachen der gelesenen Parameter, das Abrufen von Benutzerparametern und das Aktivieren der Steuerschaltung. Außerdem führt das Hauptprogramm 500, wenn Unterbrechungen aktiviert (deniaskiert) wurden, immer dann kontinuierlich verschiedene Systemdiagnosefunktionen aus, wenn keine der beiden Unterbrechungsdienstroutinen (100 msec-Unterbrechungsroutine 1000 bzw. Zeitdifferenzmessung-Unterbrechungsroutine 1400) ausgeführt wird.
  • Die 100 msec-Unterbrechungsroutine 1000 berechnet den letzten Massendurchflußwert, aktualisiert die Gesamtdurchfluß- und Ausgangswerte, stellt neue Ergebnisse dar und führt verschiedene Diagnosefunktionen aus.
  • Die Zeitdifferenzmessung-Unterbrechungsroutine 1400 berechnet die Summe (TSUM) der durch die (vorstehend beschriebene) Zeitdifferenzmessungsschaltung 30 erhaltenen vier Zeitdifferenzmessungen (TA, TB, TC und TD), filtert die erhaltene Summe digital, subtrahiert den Nulldurchfluß-Offsetwert von der gefilterten Summe und führt verschiedene Diagnosefunktionen aus. Der erhaltene Zeitdifferenz-Summenwert TSf wird anschließend von der 100 msec-Unterbrechungsroutine 1000 verwendet, um den Massendurchflußwert zu aktualisieren.
  • 1. Hauptprogramm 500
  • Die Figuren 5A-5D zeigen ein Ablaufdiagranini des Hauptprogramms 500, wobei die korrekte Anordnung der Figuren in Fig. 5 dargestellt ist. Wie dargestellt, schreitet die Verarbeitung bei einer Einschalt-Rücksetzbedingung oder einer Störungsbehebung nach einem Fehlerzustand über einen Pfad 501 (wie nachstehend beschrieben) zunächst zu Block 502 fort. Dieser Block initialisiert das System, indem verschiedene Zwischenspeicherstellen (wie beispielsweise die für das digitale Filter verwendeten Speicherstellen) auf Null gesetzt werden, und deaktiviert die Steuerschaltung. Außerdem konfiguriert dieser Block den Mikroprozessor, indem diesem zunächst ermöglicht wird, eine Softwaretabelle aus dem EPROM-Speicher auszulesen, in der alle anderen Busvorrichtungen aufgelistet sind (wie beispielsweise der A/D-Wandler 220 und die Realzeituhr 215), und diese zweitens in geeignete NOVRAM-Speicherstellen zu schreiben. Zu diesem Zeitpunkt wird der Fehleralarni gesetzt, weil das Relais 265 (vergl. Fig. 2) nicht eingeschaltet wurde, um seinen normalerweise geschlossenen Kontakt zu öffnen und den Fehleralarm abzuschalten. Anschließend wird Block 503 ausgeführt, durch den die LCD-Sichtanzeige zurückgesetzt und daraufhin die optische Darstellung einer Anfangsnachricht veranlaßt wird, wie beispielsweise die Zeichenfolge "INITIALISIEREN".
  • Die Verarbeitung schreitet dann zu Block 504 fort, bei dem verschiedene Diagnosetests ausgeführt werden. Diese Diagnosetests umfassen einen Sichtanzeigetest, eine Überprüfung der Zufuhrspannungspegel, einen EPROM-Test (typischerweise einen Test zum Lesen einer Kontroll- oder Prüfsumme), Mikroprozessor-RAM-Tests und einen A/D-Test. Während des A/D- Tests wählt der Mikroprozessor das Erdpotential als Eingangssignal des A/D-Wandlers aus und mißt sowohl die Umwandlungszeit unter Verwendung einer Software-Zeitzählschleife als auch die digitale Ausgangsspannung. Wenn die Umwandlungszeit zu lang ist oder die digitalisierte Spannung einen vorgegebenen Rauschpegel überschreitet, tritt ein Fehierzustand auf. Wenn bei einem dieser Diagnosetests ein Fehler festgestellt wird, der durch den Entscheidungsblock 505 angezeigt wird, tritt ein Fehlerzustand ein, und die Verarbeitung schreitet über den durch JA bezeichneten Pfad von diesem Entscheidungsblock zu Block 506 fort. Im letztgenannten Block wird ein dem bestimmten aufgetretenen Fehler entsprechender Code auf der LCD-Sichtanzeige dargestellt. Außerdem werden der Zeit/Datum- und der Fehlercode für einen anschließenden Wiederaufruf und eine spätere Analyse in einem im NOVRAM-Speicher angeordneten 25-stufigen (Last-in-first out) Fehlerstack gespeichert. Anschließend schreitet die Verarbeitung zu Block 507 fort, in dem eine nachstehend beschriebene Fehlerroutine 900 ausgeführt wird. Wenn der Benutzer eingreift, um das System zurückzusetzen (d.h., den Fehler zu löschen), kehrt die Verarbeitung über Pfade 508 und 501 zu Block 502 (Einsprungstelle A) zurück. Wenn alle Diagnosetests zufriedenstellend abgeschlossen wurden, schreitet die Verarbeitung über den durch NEIN bezeichneten Pfad vom Entscheidungsblock 505 zu Block 509 fort. In diesem letztgenannten Block werden verschiedene Systemparameter (wie beispielsweise Alarmgrenzwerte und Zeitkonstanten des digitalen Eingangsfilters, die alle nachstehend beschrieben werden) aus dem NOVRAM-Speicher abgerufen.
  • An dieser Stelle schreitet die Verarbeitung zur Routine 510 zum Gültigmachen der Parameter fort, in der jeder aus dem NOVRAM-Speicher ausgelesene Parameter geprüft wird, um festzustellen, ob der Wert dieses Paranieters innerhalb zulässiger Grenzen liegt. Im einzelnen wird beim Eintritt in diese Routine Block 511 ausgeführt, um einen Zählwert n auf Null zurückzusetzen. Daraufhin schreitet die Verarbeitung zu Entscheidungsblock 515 fort, bei dem geprüft wird, ob einer der ausgelesenen Parameter außerhalb der Grenzwerte eines vorher festgelegten Bereichs für diesen Parameter liegt. Diese Grenzwerte sind für jeden Parameter im EPROM-Speicher gespeichert und werden geeignet ausgelesen, während dieser Block ausgeführt wird. Wenn festgestellt wird, daß ein ausgelesener Parameter außerhalb seines zugeordneten Bereichs liegt, schreitet die Verarbeitung über den durch JA bezeichneten Pfad von Entscheidungsblock 511 zu Entscheidungsblock 517 fort. Weil ein Übergangsspannungsimpuls (herkömmlich als "Spannungsspitze" bezeichnet) auftreten kann, durch den die Inhalte einer Speicherstelle gelöscht werden können, wird bei Entscheidungsblock 517 festgestellt, ob eine solche Spannungsspitze aufgetreten ist oder ob der ausgelesene Wert tatsächlich außerhalb seines Bereichs liegt. D.h., bei Entscheidungsblock 517 wird festgestellt, ob der gelesene Parameter nur einmal gelesen wurde, wobei, wenn dies der Fall ist, der Zählwert n auf Null gesetzt wird und die Verarbeitung über den durch NEIN bezeichneten Pfad von diesem Block zu Entscheidungsblock 518 fortschreitet. In diesem letztgenannten Block wird der aus dem NOVRAM-Speicher ausgelesene Parameter noch einmal gelesen. Anschließend wird Block 513 ausgeführt, um den Zählwert n auf EINS zu setzen. Die Verarbeitung kehrt daraufhin in einer Schleife zurück zu Entscheidungsblock 515, bei dem festgestellt wird, ob alle ausgelesenen Parameter innerhalb ihrer zugeordneten Grenzen liegen. Wenn der gelesene Parameter wiederum außerhalb seines Bereichs liegt, schreitet die Verarbeitung zu Entscheidungsblock 517 fort. In diesem Fall wurde der Parameter zweimal gelesen und in beiden Fällen festgestellt, daß dieser fehlerhaft außerhalb seines Bereichs liegt. Daher ist eher ein Fehler als eine Spannungsspitze aufgetreten. Der Mikroprozessor informiert nun den Benutzer über diesen Fehler. D.h., zu diesem Zeitpunkt wird der Zählwert n auf EINS gesetzt. Dadurch schreitet die Verarbeitung über den durch JA bezeichneten Pfad vom Entscheidungsblock 517 zum Funktionsblock 519 fort. In diesem Block wird der Fehlerzustand hinsichtlich eines Fehlercodes sowie die Zeit und das Datum, an dem der Fehler aufgetreten ist, aufgezeichnet. Diese Information wird daraufhin im Fehlerstack des NOVRAM-Speichers gespeichert. Dieser Stack kann anschließend durch den Benutzer für Diagnose- oder Analysezwecke gelesen werden, wie nachstehend in Verbindung mit der in den Figuren 6A-6B dargestellten Menüroutine 600 beschrieben wird. Wenn der Block 519 ausgeführt wurde, schreitet die Verarbeitung, wie in den Figuren 5A-5D dargestellt, zu Block 520 fort, bei dem die Fehlerroutine 900 aufgerufen wird. Die Verarbeitung schreitet von dieser Routine, wie nachstehend in Verbindung mit Fig. 9 beschrieben wird, nur dann über den gestrichelten Pfad 501 zur Einsprungstelle A fort, wenn der Benutzer eingegriffen hat, um das System zurückzusetzen. Wenn alle gelesenen Parameter innerhalb ihres zugeordneten Bereichs liegen, schreitet die Verarbeitung von der Routine 510 zum Gültigmachen der Parameter über den durch NEIN bezeichneten Pfad 516 von Entscheidungsblock 515 zu Funktionsblock 521 fort.
  • Bei Block 521 wird die Steuerschaltung 40 (vergl. Fig. 4) aktiviert, um die Durchflußrohre in Schwingung zu versetzen. Weil zum Erreichen eines gewünschten Spitzenwertes der Schwingungsbewegung der beiden Durchflußrohre eine endliche Zeitdauer erforderlich ist, schreitet die Verarbeitung zu Entscheidungsblock 522 fort. Bei diesem Block wird der Zählwert j eines Software-Zählers auf den Wert Eins zurückgesetzt. Dieser Zählwert wird nach jeweils einer Sekunde um Eins hochgezählt. Das Signal für einen übermäßigen Antrieb wird ebenfalls einmal pro Sekunde geprüft. Wenn das Signal für einen übermäßigen Antrieb eingeschaltet ist, nachdem dreißig Sekunden verstrichen sind, ist ein Fehlerzustand aufgetreten. D.h., nachdem der Software-Zähler durch Block 522 zurückgesetzt wurde, wird Entscheidungsblock 523 ausgeführt, um festzustellen, ob eine Sekunde verstrichen ist. Wenn dies nicht der Fall ist, kehrt die Verarbeitung in einer Schleife zurück zum Anfang des Entscheidungsblocks. Wenn eine Sekunde verstrichen ist, schreitet die Verarbeitung über den durch JA bezeichneten Pfad von Entscheidungsblock 523 zu Entscheidungsblock 526 fort. In Entscheidungsblock 526 wird der Zustand des Signals für einen übermäßigen Antrieb geprüft. Wenn das Signal für einen überniäßigen Antrieb einen hohen Pegel aufweist, schreitet die Verarbeitung über den durch JA bezeichneten Pfad von Entscheidungsblock 526 zu Entscheidungsblock 527 fort. In diesem letztgenannten Entscheidungsblock wird festgestellt, ob dreißig Sekunden verstrichen sind, indem geprüft wird, ob der Zählwert j des Software-Zählers auf den Wert Dreißig hochgezählt wurden. Wenn der Zählwert dieses Zählers den Wert Dreißig nicht erreicht hat, schreitet die Verarbeitung über den durch NEIN bezeichneten Pfad von Entscheidungsblock 527 zu Block 525 fort. Bei Block 525 wird der Zählwert des Software-Zählers hochgezählt, woraufhin die Verarbeitung in einer Schleife zu Block 523 zurückkehrt. Wenn dreißig Sekunden verstrichen sind, schreitet die Verarbeitung zu Entscheidungsblock 529 fort, um den Zustand des Signals für einen übermäßigen Antrieb zu prüfen. In der Anfangsphase der Dreißig-Sekunden- Periode ist das Signal für einen überniäßigen Antrieb eingeschaltet, wodurch angezeigt wird, daß die Steuerschaltung 40 ein Steuersignal mit einem hohen Wert ausgibt, um die Durchflußrohre zu Beginn in Schwingung zu versetzen. Während des normalen Betriebs behält dieses Signal seinen hohen Zustand höchstens für wenige Sekunden (typischerweise 2 bis 3 Sekunden) bei, woraufhin die Spitzenamplitude der Schwingungsbewegung der Durchflußrohre ihren geeigneten Wert des eingeschwungenen Zustands erreicht. Wenn das Signal für einen übermäßigen Antrieb eingeschaltet bleibt, nachdem dreißig Sekunden abgelaufen sind, ist entweder in den Durchflußrohren, deren Schwingungsbewegung blockiert wird, oder in der Steuerschaltung ein Fehler vorhanden. Daher schreitet die Verarbeitung über den durch JA bezeichneten Pfad von Entscheidungsblock 529 zu Entscheidungsblock 528 fort, um diesen Fehlerzustand anzuzeigen und den entsprechenden Fehlercode und die Zeit/Datum-Markierung in den Fehlerstack des NOVRAM-Speichers zu speichern. Anschließend schreitet die Verarbeitung zu Block 530 fort, um die Fehlerroutine 900 auf zurufen. Ähnlich wie bei Block 520 muß der Benutzer eingreifen, um das System zurückzusetzen, bevor die Verarbeitung von Block 530 über die gestrichelt dargestellten Pfade 533 und 501 zur Einsprungstelle A fortschreitet. Wenn die Durchflußrohre eine geeignete Schwingungsbewegung ausführen, schreitet die Verarbeitung entweder über den durch NEIN bezeichneten Pfad von Entscheidungsblock 526, wenn das Signal für den übermäßigen Antrieb während des Dreißig-Sekunden-Intervalls einen niedrigen Zustand annimmt, oder über den durch NEIN bezeichneten Pfad von Entscheidungsblock 529, wenn dieses Intervall verstrichen ist, zu Block 535 fort.
  • Bei Block 535 wird die Unterbrechungsmaske eingestellt, d.h. die Priorität zwischen den beiden auftretenden Unterbrechungen, d.h. der 100 msec-Unterbrechung und der EOM-Unterbrechung, eingerichtet. Anschließend schreitet die Verarbeitung zu Block 537 fort, durch den die EOM-Unterbrechung aktiviert wird, durch die die Zeitdifferenzmessung-Unterbrechungsroutine 1400 aufgerufen wird. Nachdem Block 537 ausgeführt wurde, wird Block 539 ausgeführt, um einen Ein- Sekunden-Software-Zeitgeber einzustellen. Zu diesem Zweck wird ein Software-Zählwert IROC auf 20 gesetzt. Dieser Zählwert wird vermindert und geprüft, während die Zeitdifferenzmessung-Unterbrechungsroutine 1400 ausgeführt wird, die typischerweise alle 5 msec einmal ausgeführt wird. Dieser Zählwert wird immer dann auf 20 gesetzt, wenn die 100 msec-Unterbrechungsroutine 1000 ausgeführt wird. Wenn der Zählwert auf den Wert Null herabgezählt wurde, hat die Routine 1400, wie nachstehend beschrieben wird, einen Fehler festgestellt, der möglicherweise in der Realzeituhr aufgetreten ist, wobei die Routine entsprechend reagiert.
  • Nachdem Block 539 im Hauptprogramm 500 ausgeführt wurde, schreitet die Steuerung zu Block 541 fort, in dem Sensordiagnosetests ausgeführt werden. Hierbei weist der Mikroprozessor 205 (vergl. Fig. 2) den A/D-Wandler 220 an, den Spitzenwert jedes der durch die Spitzenwertdetektoren 232 und 234 erzeugten Geschwindigkeitssignale abzutasten und zu digitalisieren. Jeder digitalisierte Spitzenwert wird mit im EPROM-Speicher gespeicherten, vorher festgelegten Grenzwerten verglichen. Anschließend weist der Mikroprozessor den A/D-Wandler an, die Antriebssignalsteuerspannung abzutasten und zu digitalisieren. Der erhaltene digitalisierte Wert wird ebenfalls mit im EPROM-Speicher gespeicherten, vorher festgelegten Grenzwerten verglichen. Wenn bei diesem Diagnosetest ein Fehler festgestellt wird, schreitet die Verarbeitung über den durch JA bezeichneten Pfad von Entscheidungsblock 542 zu Funktionsblock 543 fort. In diesem letztgenannten Block wird das Auftreten eines Fehlerzustands gekennzeichnet und der entsprechende Fehlercode für den durch den Diagnosetest festgestellten Fehler zusammen mit seiner Zeit/Datum-Markierung in den Fehlerstack des NOVRAM-Speichers gespeichert. Daraufhin wird Block 544 ausgeführt, in dem die Fehlerroutine 900 aufgerufen wird. An dieser Stelle muß der Benutzer eingreifen, um das System zurückzusetzen, bevor die Verarbeitung von Block 544 über die gestrichelt dargestellten Pfade 545 und 501 zur Einsprungstelle A fortschreitet. Wenn der Sensordiagnosetest zufriedenstellend abgeschlossen wurde, schreitet die Verarbeitung zu Entscheidungsblock 547 fort.
  • In Entscheidungsblock 547 wird festgestellt, ob der Benutzer den Menü-Tastschalter gedrückt hat. Wenn der Tastschalter gedrückt wurde, schreitet die Verarbeitung über den durch JA bezeichneten Pfad von diesem Entscheidungsblock zu Block 546 fort. Bei Block 546 wird die Menüroutine 600 aufgerufen, um nacheinander Meldungen eines Eingabemenüs auf der LCD-Sichtanzeige darzustellen, wenn ein nachstehend ausführlich beschriebener "Sicherungs"-Schalter auf die Stellung "AUS" geschaltet ist, um dem Benutzer zu ermöglichen, die Werte dieser Parameter zu ändern. Daraufhin schreitet die Verarbeitung zu Block 552 fort. Wenn der Benutzer andererseits den Menü-Tastschalter nicht gedrückt hat, schreitet die Verarbeitung über den durch NEIN bezeichneten Pfad von Entscheidungsblock 547 zu Entscheidungsblock 548 fort. In diesem letztgenannten Entscheidungsblock wird ein Vier-Sekunden-Software-Zeitgeber aktiviert Während des Vier-Sekunden-Intervalls wird Block 547 ununterbrochen wiederholt ausgeführt, um festzustellen, ob der Benutzer während dieser Zeitdauer den Menü-Tastschalter gedrückt hat. Wenn der Zeitgeber das Ende des Vier-Sekunden-Intervalls erreicht hat, schreitet die Verarbeitung über den duch JA bezeichneten Pfad von Entscheidungsblock 548 zu Block 551 fort. In diesem Block werden die im voraus gespeicherten Werte aller Benutzerparanieter (wie beispielsweise die Ausgangsniaßeinheiten, die Alarmpegel, die Baud-Rate, die Parität und die Art der seriellen Kommunikation) für eine anschließende Verwendung im System aus dem NOVRAM-Speicher ausgelesen. Die Verarbeitung schreitet dann zu Block 552 fort, bei dem der serielle Ausgang unter Verwendung der entweder aus dem NOVRAM-Speicher erhaltenen oder vom Benutzer eingegebenen Benutzerparameter geeignet konfiguriert wird. Anschließend schreitet die Verarbeitung zu Block 553 fort, in dem der Fehleralarm durch Einschalten des Relais 265 (vergl. Fig. 2), wodurch dessen normalerweise geschlossener Kontakt geöffnet wird, zurückgesetzt (abgeschaltet) wird. Wie erwähnt, wurde das Relais 265 bis zu diesem Zeitpunkt nicht eingeschaltet, so daß der Fehleralarm eingeschaltet war. Die Verarbeitung schreitet daraufhin zu Block 555 fort, wie in den Figuren 5A-5D dargestellt, um die 100 msec-Unterbrechung zu aktivieren.
  • Zu diesem Zeitpunkt tritt die Verarbeitung in eine Unterbrechungswarteschleife und in eine Diagnoseroutine 560 ein. Während diese Routine ausgeführt wird, können Unterbrechungen auftreten, die dann geeignet abgearbeitet werden. Immer wenn eine Unterbrechung nicht abgearbeitet wird, führt diese Routine, wenn sie ausgeführt wird, eine vorher festgelegte Folge von Systemdiagnosetests aus. D.h., beim Eintritt in diese Routine wird Block 561 ausgeführt, um den Zählwert LOOP COUNT eines Schleifenzählers auf Null zurückzusetzen. Immer wenn diese Schleife ausgeführt wird, wird dieser Zählwert um Eins und maximal bis zum Wert 24 hochgezählt. Der bestimmte Diagnosetest, der bei jedem Durchlauf durch diese Routine ausgeführt wird, wird durch den dann in diesem Schleifenzähler vorhandenen Zählwert festgelegt. Wenn der Schleifenzähler zurückgesetzt wird, schreitet die Verarbeitung zu Entscheidungsblock 563 fort. In diesem Entscheidungsblock wird der Zustand der +5 Volt-Spannungszufuhr durch Prüfen des Pegels der +5 Volt-Zustandleitung bestimmt. Wenn der Pegel niedrig ist, wodurch ein nahe bevorstehender Zusammenbruch der +5 Volt-Spannungszufuhr angezeigt wird, tritt ein Fehler auf. In diesem Fall schreitet die Verarbeitung über den durch NEIN bezeichneten Pfad von Entscheidungsblock 563 zu Block 566 fort. In diesem letztgenannten Block wird das Auftreten eines Fehlerzustands gekennzeichnet und daraufhin ein entsprechender Fehlercode und eine Zeit/Datum-Markierung in den Fehlerstack des NOVRAM-Speichers gespeichert. Die Verarbeitung schreitet daraufhin zu Block 573 fort, in dem die Fehlerroutine 900 aufgerufen wird. Nach einem geeigneten Eingreifen durch den Benutzer schreitet die Verarbeitung von Block 573 über gestrichelt dargestellte Pfade 575 und 501 zur Einsprungstelle A fort. Wenn der Pegel der +5 Volt-Zustandleitung eine geeignete Funktion der +5 Volt-Spannungszufuhr anzeigt, schreitet die Verarbeitung über den durch JA bezeichneten Pfad von Entscheidungsblock 563 zu Entscheidungsblock 568 fort. In diesem letztgenannten Entscheidungsblock wird geprüft, ob Diagnosetests ausgeführt werden, indem der Zustand des Diagnoseanforderungsflags geprüft wird. Dieses Flag ist gesetzt, während die 100 msec-Unterbrechungsroutine 1000 ausgeführt wird. So lange diese Unterbrechungsroutine ausgeführt wird (wobei der Durchflußwert aktualisiert und der Massendurchflußwert aufsummiert werden), werden daher Diagnosetests durchgeführt. Wenn diese Unterbrechungsroutine nicht ausgeführt wird, ist das Flag nicht gesetzt, so daß keine Diagnosetests durchgeführt werden. Wenn das Diagnoseanforderungsflag nicht gesetzt ist, schreitet die Verarbeitung lediglich über den durch NEIN bezeichneten Pfad von Entscheidungsblock 568 in einer Schleife zu Block 563 zurück. Wenn das Diagnoseanforderungsflag gesetzt wurde, schreitet die Verarbeitung über den durch JA bezeichneten Pfad von Entscheidungsblock 568 zu Block 571 fort. Bei Block 571 wird das Diagnoseanforderungsflag zurückgesetzt.
  • An dieser Stelle wird Block 577 ausgeführt. Bei diesem Block wird in Abhängigkeit vom aktuellen Zählwert des Schleifenzählers einer der verschiedenen Diagnosetests ausgeführt. Diese Diagnosetests umfassen einen A/D-Test, einen Test aller Spannungspegel, Tests beider Eingangskanäle, einen Mikroprozessor-RAM-Speichertest (um Rechenzeit zu sparen, wird dieser Test jedesmal für ein Viertel der RAM-Speicherkapazität ausgeführt) und ein NOVRAM-Speichertest (um wiederum Rechenzeit zu sparen, wird jedesmal ein Fünftel des NOVRAM-Speichers getestet). Weil im erfindungsgeniäßen System erwartet wird, daß Sensorfehler (fehlerhafter Rohr- oder Geschwindigkeitssensor) häufiger als andere Fehler auftreten, wird zwischen der Verarbeitung zweier beliebiger anderer Diagnosetests ein Sensordiagnosetest ausgeführt, d.h. beide Geschwindigkeitssensorspitzenamplitude und die Antriebssignalsteuerspannung werden mit ihren entsprechenden Grenzwerten verglichen, wie vorstehend beschrieben. Weil das Diagnoseanforderungsflag durch die 100 msec-Unterbrechungsroutine 1000 alle 100 Millisekunden zurückgesetzt wird, wird alle 100 Millisekunden ein neuer Diagnosetest durchgeführt.
  • 24 Iterationen der Routine 560 (die über eine Zeitdauer von 2.4 Sekunden auftreten) sind erforderlich, um alle diese Diagnosetests einmal auszuführen. Während dieser Zeitdauer werden die Sensordiagnosetests bei jeder zweiten Iteration insgesamt 12-mal ausgeführt, wobei alle übrigen Diagnosetests während der übrigen 12 Iterationen einmal ausgeführt werden: eine lteration für den A/D-Test, eine Iteration für den Test der Spannungspegel, eine Iteration für den Eingangskanaltest, vier Iterationen für einen vollständigen Mikroprozessor-RAM-Speichertest und fünf Iterationen für einen vollständigen EPROM-Speichertest. Wenn bei einem während einer Iteration ausgeführten Diagnosetest ein Fehler festgestellt wird, schreitet die Verarbeitung von Block 579 über den durch JA bezeichneten Pfad zu Block 582 fort. In diesem Block wird das Auftreten eines Fehlerzustands gekennzeichnet und der entsprechende Fehlercode des im Diagnosetest festgestellten Fehlers zusammen mit der Zeit/Datum-Markierung in den Fehlerstack des NOVRAM-Speichers gespeichert. Die Verarbeitung schreitet anschließend zu Block 584 fort, uni die Fehlerroutine 900 aufzurufen. Diese Routine wird nur nach einem Eingriff durch den Benutzer beendet, wobei in diesem Fall die Verarbeitung über die gestrichelt dargestellten Pfade 585 und 501 zur Einsprungstelle A fortschreitet. Wenn dieser Diagnosetest zufriedenstellend abgeschlossen wurde, schreitet die Verarbeitung über den durch NEIN bezeichneten Pfad von Entscheidungsblock 579 zu Entscheidungsblock 587 fort, um den Zählwert des Schleifenzählers um Eins hochzuzählen. Daraufhin wird Entscheidungsblock 589 ausgeführt, um den Zählwert des Schleifenzählers zu prüfen. Wenn der Zählwert des Schleifenzählers den Wert 24 nicht erreicht hat, schreitet die Verarbeitung über den durch NEIN bezeichneten Pfad zu Pfad 593 fort und von dort zurück zu Block 563. Wenn der Zählwert dieses Zählers den Wert 24 erreicht hat, schreitet die Verarbeitung jedoch über den durch JA bezeichneten Pfad von Entscheidungsblock 589 zu Block 592 fort, in dem der Zählwert des Schleifenzählers auf Null zurückgesetzt wird. Anschließend schreitet die Verarbeitung über den Pfad 593 zurück zu Block 563, um die Unterbrechungswarteschleife und die Diagnoseroutine 560 im wesentlichen wieder auszuführen, während die nächste Unterbrechung erwartet wird.
  • 2. Menüroutine 600
  • In den Figuren 6A-6B ist ein Ablaufdiagramm der Menüroutine 600 dargestellt, wobei Fig 6 die korrekte Anordnung dieser Figuren zeigt. Diese Routine stellt, wie erwähnt, im wesentlichen ein Seguenzmenü von Benutzerparametern dar und ermöglicht dem Benutzer den Wert dieser Parameter selektiv zu ändern. Außerdem berechnet diese Routine, wenn der Benutzer verschiedene Auswahlen getroffen hat, entsprechende Alarmgrenzwerte und Ausgangsskalierungskonstanten für eine anschließende Verwendung.
  • Die Menüroutine 600 wird nur dann ausgeführt, wenn der aktuelle Massendurchflußwert gleich Null ist oder immer dann, wenn das System über Block 547 zurückgesetzt wird. Daher wird beim Eintritt in diese Routine Entscheidungsblock 601 ausgeführt, um festzustellen, ob der aktuelle Massendurchflußwert gleich Null ist. D.h., der Wert der Variablen RATE wird aus dem NOVRAM-Speicher ausgelesen. Dieser Wert ist, wie nachstehend im Zusammenhang mit der 100 msec-Unterbrechungsroutine 1000 beschrieben wird, der aktuell gemessene Massendurchflußwert, bis dieser Wert RATE unter einen Nulldurchflußgrenzwert absinkt, wobei in diesem Fall der Wert RATE auf Null gesetzt wird. Wenn der Wert RATE ungleich Null ist, verläßt die Verarbeitung die Menüroutine 600 über den durch NEIN bezeichneten Pfad des Entscheidungsblocks 601. Wenn der Wert RATE andererseits gleich Null ist, schreitet die Verarbeitung über den durch JA bezeichneten Pfad von Entscheidungsblock 601 zu Block 603 fort, um den Rest der Menüroutine 600 auszuführen.
  • Danach schreitet die Verarbeitung zu Entscheidungsblock 606 fort. In diesem Block wird festgestellt, ob der Benutzer das System aufgefordert hat, eine Karte auszudrucken. Ein Kartendrucker kann über die RS-232C-Schnittstelle an das System angeschlossen werden. Wenn dies durch den Benutzer angefordert wird, druckt das System die Gesamtdurchflußinformation und eine Zeit/Datum-Markierung auf eine Karte. Unmittelbar bevor ein Produkt umgeschlagen oder weitergeleitet wird, kann der Wert des zurücksetzbaren Zählers auf Null zurückgesetzt werden, wobei der Zähler anschließend den Massendurchfluß des Produkts, das daraufhin weitergeleitet wird, zählt. Nachdem der Güterumschlag stattgefunden hat, kann die Karte der Partei, die das Produkt empfängt, als dokumentarischer Nachweis der gleichzeitig erfolgten Weiterleitung ausgehändigt werden. Wenn der Benutzer das System angewiesen hat, eine Karte auszudrucken, schreitet die Verarbeitung daher über den durch JA bezeichneten Pfad von Entscheidungsblock 606 zu Block 609 fort. Bei diesem letztgenannten Block werden die im NOVRAM-Speicher gespeicherten Werte beider Zähler (des zurücksetzbaren Zählers und des Bestandzählers) sowie die Zeit/Datuniwerte von der Realzeituhr gelesen, und der Kartendrucker wird geeignet angewiesen, diese Informationen auszudrucken. Wenn andererseits keine Karte gedruckt werden soll, schreitet die Verarbeitung über den durch NEIN bezeichneten Pfad von diesem Entscheidungsblock zu Block 612 fort. Wenn der Benutzer den Menü-Tastschalter drückt, wird Block 612 ausgeführt und der Wert des Bestandzählers auf der LCD-Sichtanzeige dargestellt.
  • An dieser Stelle schreitet die Verarbeitung zu Schritt 614 fort, um die in Fig. 7 ausführlich dargestellte Skalierungsparametereingaberoutine 700 auszuführen. Wie nachstehend ausführlich beschrieben wird, stellt diese Routine bei jeder Betätigung des Menü-Tastschalters einen einer Folge von Skalierungsparametern dar, d.h. Massendurchfluß- bzw. Massendurchflußwert-Ausgabemaßeinheiten und Alarmpegelwerte. Der Benutzer kann die Werte jeder Skalierungsparanieter nur dann ändern, wenn der Sicherungsschalter auf die Position "AUS" geschaltet ist. Anschließend werden Blöcke 621 und 624 ausgeführt, um dem Benutzer zu ermöglichen, den Frequenzausgang zu programmieren. D.h., bei Block 621 wird der aktuelle Wert des Bereichs des Frequenzausgangs dargestellt und dem Benutzer ermöglicht, unter Verwendung der Inkrement/Dekrement-Tastschalter einen gewünschten Bereich auszuwählen (z.B. 500 Hz, 1 kHz, 5 kHz, 10 kHz). Wenn der Bereich ausgewählt wurde, schreitet die Verarbeitung zu Block 624 fort. Bei diesem Block wird, nachdem der Menü-Tastschalter ein weiteres mal betätigt wurde, der volle Skalenbereich (Skalenendwert) für den Freguenzausgang dargestellt, und dem Benutzer ermöglicht, den Bereichanteil (Prozentanteil des Skalenendwertes) unter Verwendung der Inkrenient/Dekrement- Tastschalter zu ändern. Dieser Bereichanteil ist dem Prozentanteil des Skalenendwertdurchflusses gleich, durch den die Skalenendwert-Ausgangsfreguenz erzeugt wird. Wenn der Frequenzausgang vollständig progrämmiert wurde, schreitet die Verarbeitung zu Block 627 fort, um den V/I-Analogausgang zu programmieren, d.h., den in Fig. 2 dargestellten Spannungs- Strom-Umformer 273. Wie beschrieben, ist dieser Umformer eine Hardware-Einrichtung und erzeugt entweder ein Stromoder ein Spannungsausgangssignal. Die Ausgangsmoden bzw. - bereiche dieses Umformers sind entweder 0-20 mA oder 4-20 mA für den Stromausgang bzw. 0-5 Volt oder 1-5 Volt für den Spannungsausgang. Wie in den Figuren 6A-6B dargestellt, wird bei Block 627, der ausgeführt wird, nachdem der Benutzer den Menü-Tastschalter wieder gedrückt hat, der aktuelle Ausgangsniodus bzw. -bereich des Umformers dargestellt und dem Benutzer ermöglicht, unter Verwendung der Inkrement/Dekrement-Tastschalter einen gewünschten Modus oder Bereich auszuwählen. Wenn der Benutzer den Menü-Tastschalter erneut drückt, schreitet die Verarbeitung anschließend zu Block 630 fort, bei dem der volle Skalenbereich für den V/I- Ausgang dargestellt und dem Benutzer ermöglicht wird, den Bereichanteil (Prozentanteil des Skalenendwertes) unter Verwendung der Inkrement/Dekrement-Tastschalter zu verändern. Dieser Bereichanteil ist dem Prozentanteil des Skalenendwertdurchflusses gleich, der am V/I-Ausgang ein Skalenendwert-Ausgangssignal erzeugt. Wenn der Benutzer den Menü-Tastsschalter wieder drückt, schreitet die Verarbeitung zu Block 633 fort, bei dem die in Fig. 8 dargestellte und nachstehend ausführlich beschriebene Eingaberoutine 800 für den Parameter der seriellen Kommunikation aufgerufen wird. In dieser Routine werden bei jeder Betätigung des Menü-Tastschalters nacheinander die folgenden Parameter dargestellt: Der Typ, die Baud-Rate und die Parität der seriellen Kommunikation. Der Benutzer kann die Werte dieser Parameter nur dann ändern, wenn der Sicherungsschalter auf die Position "AUS" eingestellt ist. Daraufhin schreitet die Verarbeitung zu Block 636 fort, wodurch der Benutzer nacheinander die letzten 25 Eintragungen (Fehlercode und zugeordnete Zeit/Datum-Markierungen) in den Fehlerstack abrufen und darstellen kann. Der Benutzer kann diese Eintragungen sowohl in Vorwärtsrichtung (von der ältesten Eintragung zur aktuellsten Eintragung) als auch in Rückwärtsrichtung durch geeignetes Drücken der Inkrenient- oder Dekrement-Tastschalter prüfen.
  • Wenn der Benutzer den Menü-Tastschalter erneut drückt, schreitet die Verarbeitung zu Entscheidungsblock 637 fort, um festzustellen, ob der Sicherungsschalter auf die Position "EIN" eingestellt ist. Wenn dies nicht der Fall ist, schreitet die Verarbeitung zu Block 639 fort. Bei diesem Block werden die aktuelle Zeit und das aktuelle Datum von der Realzeituhr 215 (vergl. Fig. 2) gelesen und die erhaltene Information auf der LCD-Sichtanzeige dargestellt. Der Benutzer kann das Datum unter Verwendung der Inkrement/Dekrement- Tastschalter ändern und anschließend, wenn der Menü-Tastschalter gedrückt wurde, die Zeit auf ähnliche Weise ändern. Nachdem der Menü-Tastschalter gedrückt wurde, werden der neue Zeit- und der neue Datumwert durch den Mikroprozessor in die Realzeituhr geladen. Die Verarbeitung schreitet daraufhin zu Entscheidungsblock 640 fort. Wenn der Sicherungsschalter auf die Position "EIN" eingestellt ist, schreitet die Verarbeitung über den durch JA bezeichneten Pfad von Entscheidungsblock 637 zu Block 638 fort, bei dem lediglich die aktuelle Zeit und das aktuelle Datum auf der LCD-Sichtanzeige dargestellt werden.
  • An dieser Stelle schreitet die Verarbeitung zu Entscheidungsblock 640 fort, in dem festgestellt wird, ob der Benutzer die Ausgangsmasseneinheiten bezüglich den zuvor ausgewählten Einheiten geändert hat. Wenn dies der Fall ist, schreitet die Verarbeitung über den durch JA bezeichneten Pfad von diesem Entscheidungsblock zu Block 642 fort, um den im Bestandszähler und im zurücksetzbaren Zähler, die beide im NOVRAM-Speicher angeordnet sind, gespeicherten Gesamtwert zurückzusetzen. Wenn diese Zähler nicht zurückgesetzt waren, stimmen die letzten und die aktuellen Ausgangsmaßeinheiten nicht überein, so daß eine Umwandlung des Bestandgesamtwerts auf die aktuellen Einheiten erforderlich ist, um eine fortgesetzte genaue geschichtliche Entwicklung der Summenwertbildung zu gewährleisten. Um die Verarbeitung zu vereinfachen, werden die Inhalte der Zähler an dieser Stelle einfach auf Null zurückgesetzt. Dies ist die einzige Stelle im Programm, an der der Bestandszähler zurückgesetzt wird. Weil die Ausgangsmaßeinheit nur geändert werden kann, wenn der Sicherungsschalter auf die Position "AUS" eingestellt ist, wird der Wert des Zählers, wenn überhaupt, nur während der Zeitdauer zurückgesetzt, wenn der Sicherungsschalter auf die Position "AUS" eingestellt war. Die Verarbeitung schreitet daraufhin von Block 642 zu Block 645 fort. Wenn die Ausgangsmaßeinheit nicht geändert wurde, schreitet die Verarbeitung einfach über den durch NEIN bezeichneten Pfad von Entscheidungsblock 639 zu Block 645 fort.
  • Bei Block 645 werden numerische Werte oberer bzw. unterer Alarmpegel, ein unterer Durchflußgrenzwert und die Frequenz- und V/I-Skalierungskonstanten bezüglich normalisierten Masseneinheiten berechnet. Der Benutzer hat einen Prozentanteil bezüglich einer Skalenendwertanzeige für jeden dieser beiden Grenzwerte, den unteren Durchflußgrenzwert und die beiden Skalierungskonstanten während der Abarbeitung der Skalierungsparametereingaberoutine 700 im voraus ausgewählt. Bei Block 645 wird jeder ausgewählte Prozentanteil mit einem im voraus im EPROM-Speicher gespeicherten geeigneten Faktor multipliziert, um einen zugeordneten normalisierten numerischen Wert zu erhalten.
  • An dieser Stelle schreitet die Verarbeitung zu Block 648 fort, bei dem der Zustand der +5 Volt-Spannungszufuhr geprüft wird, indem der Pegel der +5 Volt-Zustandsleitung 298 (vergl. Fig. 2) festgestellt wird. Wenn die Spannungszufuhr geeignet arbeitet, schreitet die Verarbeitung über den durch JA bezeichneten Pfad vom in den Figuren 6A-6B dargestellten Entscheidungsblock 648 zu Block 657 fort, bei dem alle berechneten Parameter und durch den Benutzer getroffenen Auswahlen für eine spätere Verwendung im NOVRAM-Speicher gespeichert werden. Anschließend kehrt die Verarbeitung auf normale Weise von der Menüroutine 600 zum Hauptprogramm 500, d.h.zu Block 552 (vergl. Figuren 5A-5D) zurück. Wenn der Pegel der Leitung 298 (vergl. Fig. 2) niedrig ist, ist in der +5 Volt-Spannungszufuhr ein Fehler aufgetreten. In diesem Fall schreitet die Verarbeitung, wie in den Figuren 6A- 6B dargestellt, über den durch NEIN bezeichneten Pfad von Entscheidungsblock 648 zu Block 651 fort. Bei diesen Blocks wirddas Auftreten eines Fehlerzustands gekennzeichnet und werden der entsprechende Fehlercode sowie die Zeit/Datum- Markierung als aktuellste Eingabe in den Fehlerstack des NOVRAM-Speichers gespeichert. Daraufhin wird Block 654 ausgeführt, um die Fehlerroutine 900 auf zurufen. Nachdem der Benutzer eingegriffen hat, um den Fehler zu löschen, schreitet die Verarbeitung von Block 654 zur Einsprungstelle A im Hauptprogramm 500 fort.
  • 3. Skalierungsparametereingaberoutine 700 In den Figuren 7A und 7B ist ein Ablaufdiagramm der Skalierungsparanietereingaberoutine dargestellt, und Fig. 7 zeigt die korrekte Anordnung dieser Figuren. Wie vorstehend beschrieben, wird in dieser Routine eine Folge von Ausgangsparanietern dargestellt und dem Benutzer nur dann ermöglicht, den Wert dieser Parameter zu ändern, wenn der Sicherungsschalter auf die Position "AUS" eingestellt ist.
  • Im einzelnen wird beim Eintritt in diese Routine zunächst Entscheidungsblock 701 ausgeführt, um festzustellen, ob der Sicherungsschalter auf die Position "EIN" eingestellt ist. Wenn der Schalter auf "AUS" geschaltet ist, wodurch angezeigt wird, daß der Benutzer eingreifen kann, um verschiedene Ausgangsparameter zu verändern, schreitet die Verarbeitung über den durch NEIN bezeichneten Pfad von Entscheidungsblock 701 zu Block 706 fort, um dem Benutzer zu ermöglichen, gewünschte Ausgangsmassendurchfluß- und - massendurchflußwertmaßeinheiten für die LCD-Sichtanzeige, skalierte Impulsausgangseinheiten, den Freguenzausgang und den V/I-Analogausgang auszuwählen. D.h., bei diesem Block wird zunächst der Meßgerätgrößenparameter aus einem Satz von Eingangsschaltern (typischerweise zwei Hex-Schalter) gelesen. Diese Schalter wurden im Werk auf einen vorgegebenen Wert eingestellt, der der Größe (dem maximalen Durchflußwert) des Meßgeräts 10 (vergl. Fig. 1) entspricht, das mit der Meßelektronik 20 verbunden wird. Im EPROM-Speicher sind alle möglichen Werte in einer Maßeinheitentabelle gespeichert. Der von diesen Schaltern gelesene bestimmte Wert wird verwendet, um aus dieser Tabelle einen Satz zulässiger Ausgangsmaßeinheiten für dieses Meßgerät auszulesen. Für ein von Micro Motion Incorporated hergestelltes Coriolis-Massendurchflußmeßgerät der Größe D600 sind beispielsweise die zulässigen Masseneinheiten Pfund, Tonnen und Kilogramm und die zulässigen Massendurchflußeinheiten Pfund/Sekunde, Tonnen/Sekunde, Tonnen/Minute, Kilogramm/Sekunde und Kilogramm/Minute. Für ein relativ kleines Meßgerät, wie beispielsweise ein ebenfalls von Micro Motion Incorporated hergestelltes Meßgerät der Größe D12, sind die zulässigen Masseneinheiten Pfund, Unzen und Kilogramm und die zulässigen Massendurchflußeinheiten Pfund/Minute, Pfund/Stunde, Unzen/Sekunde, Unzen/Minute, Unzen/Stunde, Kilogramm/Minute und Kilogramm/Stunde. Der Benutzer kann unter Verwendung der Inkrement/Dekrement-Tastschalter auf die Parameter des ausgewählten Satzes schrittweise zugreifen. Wenn die geeignete Auswahl getroffen wurde, drückt der Benutzer den Menü-Tastschalter, wodurch die Verarbeitung zu Entscheidungsblock 710 fortschreitet. Wenn der Sicherungsschalter auf die Position "EIN" eingestellt ist, schreitet die Verarbeitung uber den durch JA bezeichneten Pfad von Entscheidungsblock 701 zu Block 703 fort, bei dem nur die aktuelle Ausgangsmasseneinheit und die aktuelle Massendurchflußeinheit auf der LCD-Sichtanzeige dargestellt werden. Durch erneutes Drücken des Menü-Tastschalters wird veranlaßt, daß die Verarbeitung zu Block 710 fortschreitet.
  • Bei Entscheidungsblock 710 wird erneut der Zustand des Sicherungsschalters geprüft. Wenn der Schalter auf die Position "AUS" geschaltet ist, schreitet die Verarbeitung über den durch NEIN bezeichneten Pfad von diesem Entscheidungsblock zu Block 716 fort. Bei diesem letztgenannten Block wird der vorher gelesene Wert der Meßgerätgröße verwendet, um nacheinander auf die im EPROM-Speicher gespeicherte Maß einheitentabelle zuzugreifen, um eine entsprechende Liste von Ausgangsmaßeinheiten für den skalierten Impulsausgang zu erhalten (wie beispielsweise ein skalierter Impuls Pro .001, .01, .1, 1, 10, 100 bzw. 1000 aufsummierten Einheiten mit einer maximalen Ausgangsfrequenz der skalierten Impulse von 10 Hz). Der Benutzer kann diese Liste schrittweise durchgehen und eine geeignete Maßeinheit unter Verwendung der Inkrement/Dekrement-Tastschalter auswählen. Wenn der Sicherungsschalter auf die Position "EIN" geschaltet ist, schreitet die Verarbeitung über den durch JA bezeichneten Pfad von Entscheidungsblock 710 zu Block 713 fort, bei dem nur die aktuellen Ausgangsmaßeinheiten des skalierten Impulses dargestellt werden. Anschließend schreitet die Verarbeitung nach der nächsten Betätigung des Menü-Tastschalters entweder von Block 713 oder von Block 716 zu Entscheidungsblock 720 fort. Bei Block 720 wird erneut der Zustand des Sicherungsschalters geprüft. Abhängig vom Zustand dieses Schalters schreitet die Verarbeitung zu Block 726 oder zu Block 723 fort, wenn der Schalter auf die Position "AUS" bzw. auf die Position "EIN" eingestellt ist. Wenn Block 726 ausgeführt wird, kann der Benutzer wahlweise den oberen Alarmpegel ausschalten oder den oberen Alarmpegel in Schritten von .1% von 5% bis 150% des Skalenendwerts unter Verwendung der Inkrement/Dekrement-Tastschalter einstellen, um den oberen Alarmpegel nach Wunsch schrittweise zu erhöhen oder zu vermindern. Nachdem der Menü-Tastschalter gedrückt wurde, schreitet die Verarbeitung zu Entscheidungsblock 730 fort. Alternativ wird, wenn Block 723 ausgeführt wird, nur der aktuelle Wert (Prozentanteil des Skalenendwerts) des oberen Alarmpegels auf der LCD-Sichtanzeige dargestellt. Anschließend betätigt der Benutzer den Menü-Tastschalter, so daß die Verarbeitung zu Block 730 fortschreitet. Die Arbeitsweise der Blöcke 730, 733 und 736 ist ähnlich wie diejenige der Blöcke 720, 723 und 726, um dem Benutzer zu ermöglichen, wahlweise den unteren Alarmpegel auszuschalten oder einen geeigneten unteren Alarmgrenzwert in Schritten von 0.1% von 1 bis 100% des Skalenendwerts auszuwählen oder nur den aktuellen Wert des unteren Alarmpegels darzustellen.
  • Bei der nächsten Betätigung des Menü-Tastschalters schreitet die Verarbeitung zu Entscheidungsblock 740 fort. Bei diesein Block wird wiederum der Zustand des Sicherungsschalters geprüft. Wenn der Schalter auf die Position "AUS" eingestellt ist, schreitet die Verarbeitung über den durch NEIN bezeichneten Pfad von diesem Entscheidungsblock zu Block 746 fort. Bei diesem letztgenannten Block kann der Benutzer den unteren Durchflußgrenzwert unter Verwendung der Inkrement/Dekrement-Tastschalter auf .2, .5, 1, 2, 5 oder 10% des Skalenendwerts einstellen, um die unteren Grenzwerte für einen zulässigen Durchfluß nach Wunsch schrittweise zu erhöhen oder zu vermindern. Wenn der gemessene Massendurchflußwert den ausgewählten unteren Durchflußgrenzwert unterschreitet, wird, wie nachstehend im Zusammenhang mit der 100 msec-Unterbrechungsroutine ausführlich beschrieben, der dargestellte Durchflußwert auf Null gesetzt und die Aufsummierung unterbrochen. In diesem Fall werden das Frequenz- und das skalierte Impulsausgangssignal ebenfalls auf Null gesetzt. Nur das analoge V/I-Ausgangssignal und das analoge Durchflußrichtungsausgangss ignal werden weiterhin ausgegeben, um den aktuellen Massendurchfluß anzuzeigen. Alle diese Ausgangssignale nehmen ihren normalen Zustand wieder an, sobald der gemessene Durchfluß den unteren Durchflußgrenzwert überschreitet. Wenn der Siccherungsschalter auf die Position "EIN" eingestellt ist, schreitet die Verarbeitung über den durch JA bezeichneten Pfad von Entscheidungsblock 740 zu Block 743 fort, in dem der aktuelle untere Durchflußgrenzwert als Prozentanteil des Skalenendwerts dargestellt wird. Sobald der Benutzer den Menü-Tastschalter betätigt, schreitet die Verarbeitung von Block 743 zu Entscheidungsblock 750 fort.
  • Bei Block 750 wird erneut der Zustand des Sicherungsschalters geprüft. Wenn der Schalter auf die Position "AUS" eingestellt ist, schreitet die Verarbeitung über den durch NEIN bezeichneten Pfad von diesem Entscheidungsblock zu Block 756 fort. Bei diesem letztgenannten Block kann der Benutzer die Zeitkonstante des digitalen Eingangsfilters unter Verwendung der Inkrement/Dekrement-Tastschalter auf .2, .5, 1, 2, 4, 7 oder 15 Sekunden einstellen, um nach Wunsch eine größere oder eine kleinere Zeitkonstante schrittweise aus zuwählen. Wenn der Sicherungsschalter auf die Position "EIN" eingestellt ist, schreitet die Verarbeitung über den durch JA bezeichneten Pfad von Entscheidungsblock 750 zu Block 753 fort, bei dem der aktuelle Wert der Eingangsfilter-Zeitkonstante dargestellt wird. Wenn Block 753 oder Block 756 ausgeführt wird, verläßt die Verarbeitung diese Skalierungsparameter-Eingaberoutine 700.
  • 4. Eingaberoutine 800 für die Parameter der seriellen Kommunikation
  • Fig. 8 zeigt ein Ablaufdiagramm der Eingaberoutine 800 für die Parameter der seriellen Kommunikation. Wie vorstehend erwähnt, werden bei dieser Routine nacheinander der Typ, die Baud-Rate und die Parität dargestellt, die die Operation der seriellen Schnittstelle 255 (vergl. Fig. 2) definieren. Diese Routine ermöglicht dem Benutzer nur dann den Wert jedes dieser Parameter zu ändern, wenn der Sicherungsschalter auf die Position "AUS" eingestellt ist.
  • Im einzelnen stellt der Mikroprozessor beim Eintritt in diese in Fig. 8 dargestellte Routine die Werte dieser drei für die serielle Kommunikation verwendeten Parameter, den Typ, die Baud-Rate und die Parität der seriellen Kommunikation, nacheinander dar oder ändert diese. D.h., zunächst wird Entscheidungsblock 810 ausgeführt, um festzustellen, ob der Sicherungsschalter auf die Position "EIN" eingestellt ist. Wenn dies nicht der Fall ist, schreitet die Verarbeitung zu Block 817 fort. Wenn dieser Block ausgeführt wird, kann der Benutzer den Typ der seriellen Kommunikation auswählen, die durch das erfindungsgemäße System über die serielle Schnittstelle 255 (vergl. Fig. 2) ausgeführt wird, d.h., keine Kommunikation, wenn keine serielle Kommunikation vorgesehen ist, oder RS-232C für eine lokale Kommunikation oder RS-485 für eine Netzwerkkommunikation. Der Benutzer trifft die Auswahl durch Betätigen des Inkrement- oder des Dekrement-Tastschalters, um zwischen zwei Alternativen zu wählen. Wenn der Sicherungsschalter auf die Position "EIN" eingestellt ist, schreitet die Verarbeitung, wie in Fig. 8 dargestellt, über den durch JA bezeichneten Pfad von Entscheidungsblock 810 zu Block 814 fort, bei dem nur der aktuell verwendete Typ der seriellen Kommunikation dargestellt wird. Durch Betätigen des Menü-Tastschalters schreitet die Verarbeitung zu Entscheidungsblock 820 fort.
  • Bei Entscheidungsblock 820 wird festgestellt, ob der Schalter auf die Position "EIN" eingestellt ist. Wenn dies nicht der Fall ist, schreitet die Verarbeitung über den durch NEIN bezeichneten Pfad von diesem Entscheidungsblock zu Block 827 fort. Bei diesem letztgenannten Block kann der Benutzer unter Verwendung der Inkrement/Dekrement-Tastschalter die Baud-Rate auf einen Standardwert zwischen und einschließlich 150 Baud und 19.2 kBaud (z.B. 150, 300, 1200, 2400, 4800, 9600 und 19.2 kBaud) einstellen, um die Baud- Rate nach Wunsch zu erhöhen oder zu vermindern. Wenn der Sicherungsschalter auf die Position "EIN" eingestellt ist, schreitet die Verarbeitung über den durch JA bezeichneten Pfad von Entscheidungsblock 820 zu Block 824 fort. Bei Block 824 wird die aktuelle Baud-Rate auf der LCD-Sichtanzeige dargestellt. Anschließend schreitet die Verarbeitung bei der nächsten Betätigung des Menü-Tastschalters zu Entscheidungsblock 830 fort. Bei diesem letztgenannten Entscheidungsblock wird festgestellt, ob der Sicherungsschalter auf die Position "EIN" eingestellt ist. Wenn dies nicht der Fall ist, schreitet die Verarbeitung über den durch NEIN bezeichneten Pfad von diesem Entscheidungsblock zu Block 837 fort. Bei diesem letztgenannten Block kann der Benutzer durch Betätigen des Inkrement- oder des Dekrement-Tastschalters, um schrittweise nach Wunsch die zulässigen Paritätswerte abzurufen, die Parität auf ungerade, gerade oder keine Parität einzustellen. Wenn der Sicherungsschalter auf die Position "EIN" eingestellt ist, schreitet die Verarbeitung über den durch JA bezeichneten Pfad von Entscheidungsblock 830 zu Block 834 fort. Bei Block 834 wird die aktuelle Parität auf der LCD-Sichtanzeige dargestellt. Wenn Block 834 oder Block 837 ausgeführt wurden, verläßt die Verarbeitung die Eingaberoutine 800 für die Parameter der seriellen Kommunikation.
  • 5. Fehlerroutine 900
  • Fig. 9 zeigt ein Ablaufdiagramm der Fehlerroutine 900. Wie vorstehend erwähnt, wird bei dieser Routine der Fehleralarm eingestellt, die Steuerschaltung 40 (vergl. Fig. 4) deaktiviert und daraufhin die letzte Eintragung in den Fehlerstack (Fehlercode und die entsprechende Zeit/Datum-Markierung) ununterbrochen dargestellt, bis der Benutzer eingreift, um das System zurückzusetzen, wodurch der Fehler gelöscht wird.
  • Gemäß Fig. 9 schreitet die Verarbeitung beim Eintritt in die Routine 900 zunächst zu Block 910 fort. In diesem Block wird der Fehleralarm durch Abschalten des Erregerstroms für das Fehlerrelais 265 (vergl. Fig. 2) über die Busschnittstelle 261 gesetzt. Weil der Fehleralarm über die normalerweise geschlossenen Kontakte dieses Relais geführt wird ist, wird durch Abschalten des Erregerstroms für dieses Relais der Alarm aktiviert. Anschließend schreitet die Verarbeitung zu Block 915 fort, um die Steuerschaltung 40 zu deaktivieren, indem das auf der Leitung 242 (vergl. Fig. 2) erscheinende Antriebsunterbrechungssignal einen niedrigen Pegel erhält. Dadurch kann, wie vorstehend erwähnt, die Schwingungsbewegung der Durchflußrohre unterbrochen werden. Dadurch wird außerdem verhindert, daß die Rohre während der übrigen Zeitdauer des Fehlerzustands beschädigt werden. Wenn Block 915 ausgeführt wurde, schreitet die Verarbeitung, wie in Fig. 9 dargestellt, zu Block 920 fort, um die letzte Eintragung in den Fehlerstack (Fehlercode und die entsprechende Zeit/Datum-Markierung) auf der LCD-Sichtanzeige darzustellen. Anschließend schreitet die Verarbeitung zu Entscheidungsblock 930 fort, wo geprüft wird, ob der Benutzer die Löschtaste betätigt hat. Wenn der Benutzer die Löschtaste betätigt hat, wird die Verarbeitung über den durch JA bezeichneten Pfad von diesem Entscheidungsblock fortgeführt, um die Routine 900 zu verlassen und zur Einsprungstelle A des Hauptprogramms 500 zurückzukehren, um das System anschließend zu re-initialisieren. Wenn der Benutzer die Löschtaste nicht betätigt hat, schreitet die Verarbeitung über den durch NEIN bezeichneten Pfad des Entscheidungsblocks 930 zu Entscheidungsblock 940 fort. Bei diesem letztgenannten Entscheidungsblock wird geprüft, ob durch die serielle Schnittstelle 255 (vergl. Fig. 2) über eine lokale Verbindung (RS-232C) oder eine Netzwerkverbindung (RS-485) eine Löschanweisung empfangen wurde. Wenn eine solche Anweisung seriell empfangen wurde, wird die Verarbeitung über den durch JA bezeichneten Pfad von diesem Entscheidungsblock fortgeführt, um die Routine 900 zu verlassen. Wenn keine Löschanweisung seriell empfangen wurde, schreitet die Verarbeitung in einer Schleife über den durch NEIN bezeichneten Pfad von Entscheidungsblock 940 zurück zu Block 920. Solange das System nicht zurückgesetzt wurde, verbleibt die Verarbeitung in einer aus den Blöcken 920, 930 und 940 gebildeten Schleife.
  • 6. 100 msec-Unterbrechungsroutine 1000
  • Die Figuren 10A-10D zeigen ein Ablaufdiagramm der 100 msec-Unterbrechungsr.outine 1000, wobei Fig. 10 die geeignete Anordnung der Figuren zeigt. Diese Routine wird alle 100 Millisekunden ausgeführt, wenn ein Taktimpuls von der vorstehend beschriebenen Realzeituhr 215 erscheint, der einer Unterbrechungsleitung des Mikroprozessors 205 (vergl. Fig. 2) zugeführt wird. In dieser Routine wird, wie erwähnt, der letzte Massendurchflußwert berechnet, und werden die Gesamtdurchflußwerte aktualisiert, die Ergebnisse dargestellt und verschiedene Diagnosetests ausgeführt.
  • Zunächst wird beim Eintritt in diese in den Figuren 10A-10D dargestellte Routine Entscheidungsblock 1001 ausgeführt. Bei diesem Block wird das Ausgangssignal des Zeitgebers 290 (Überwachungszeitgeber - vergl. Fig. 2) geprüft, um festzustellen, ob der Zeitgeber das Ende seines Zeitintervalls von 100 Millisekunden erreicht hat. Dieser Zeitgeber wird durch jede Abarbeitung der nachstehend ausführlich beschriebenen Zeitdifferenmessung-Unterbrechungsroutine 1400 etwa alle 20 Millisekunden zurückgesetzt. Wenn der Überwachungszeitgeber abgelaufen ist, wird dadurch angezeigt, daß die Zeitdifferenzmessung-Unterbrechungsroutine 1400 nicht ausgeführt wird. Weil dies ein Fehlerzustand ist, schreitet die Verarbeitung über den durch JA bezeichneten Pfad von Entscheidungsblock 1001 zu Block 1004 fort. In diesem Block wird der Fehlerzustand gekennzeichnet und der entsprechende Fehlercode und die Zeit/Datum-Markierung als letzte Eintragung in den Fehlerstack des NOVRAM-Speichers gespeichert. Die Verarbeitung schreitet daraufhin zu Block 1006 fort, in dem die Fehlerroutine 900 aufgerufen wird. Nachdem der Benutzer eingegriffen hat, um den Fehler zu löschen, schreitet die Verarbeitung von Block 1006 zur Einsprungstelle A des Hauptprogramms 500 fort. Wenn der Überwachungszeitgeber 290 abgelaufen ist, wird dadurch außerdem ein Fehleralarm hervorgerufen, indem der Überwachungszeitgeber-Ausgangsleitung 292 ein Signal mit niedrigem Pegel zugeführt wird, wodurch der Erregerstrom für das Relais 265 direkt abgeschaltet wird. Diese direkte Verbindung vom Zeitgeber 290 zum Relais 265 ist erforderlich, um einen Fehler anzuzeigen, wenn die Funktion des Mikroprozessors unterbrochen ist. Wenn der Überwachungszeitgeber das Ende seines Zeitintervalls nicht erreicht hat, schreitet die Verarbeitung, wie in den Figuren loa-lod dargestellt, über den durch NEIN bezeichneten Pfad von Entscheidungsblock 1001 zu Block 1008.
  • Bei Block 1008 wird der Wert IROC des Software-Zeitgebers auf 20 zurückgesetzt. Wie beschrieben, ist dieser Zeitgeber ein Software-Zähler, dessen Zählwert bei jeder Iteration der Zeitdifferenzmessung-Unterbrechungsroutine 1400 vermindert wird. Wenn der Wert dieses Zählers während einer Iteration der Routine 1400 den Wert Null erreicht, wird dadurch angezeigt, daß die 100 msec-Unterbrechungsroutine wahrscheinlich aufgrund eines Fehlers in der Realzeituhr nicht ausgeführt wird. Wie im Zusammenhang mit der Routine 1400 erwähnt wurde, wird dadurch ein Fehlerzustand hervorgerufen. Nachdem dieser Zeitgeber zurückgesetzt wurde, schreitet die Verarbeitung von Block 1008 zu Block 1011 fort.
  • In Block 1011 wird die in Fig. 11 dargestellte und nachstehend ausführlich beschriebene Ratenfaktorberechnungsroutine 1100 aufgerufen. Diese Routine bestimmt den temperaturangepaßten Ratenfaktor für die bestimmte verwendete Meßanordnung. Der Ratenfaktor ist ein linearer Faktor, durch den eine proportionale Beziehung zwischen der durch die Schaltung 30 (vorstehend in Verbindung mit Fig. 3 beschrieben) erzeugten gemessenen Zeitdifferenz und dem aktuellen Massendurchflußwert eines die Meßanordnung durchströmenden Fluids erhalten wird. Um den Massendurchflußwert für eine beliebige von zahlreichen unterschiedlichen Meßgerätgrößen leicht zu berechnen, die jeweils mehrere verschiedene zulässige, den Meßgeräten zugeordnete, durch den Benutzer wählbare Ausgangsmaßeinheiten aufweisen können, wird der Ratenfaktor in normalisierten Einheiten berechnet, um einen normalisierten Massendurchflußmeßwert in den Einheiten Milligramm/Sekunden zu erhalten, der anschließend unmittelbar vor der Gesamtwertbildung in geeignete Maßeinheiten umgewandelt wird, wie nachstehend ausführlich beschrieben wird. Durch Rechenoperationen unter Verwendung normalisierter Werte müssen vorteilhaft keine Zwischenumwandlungen von Einheiten des Massendurchflußwerts durchgeführt werden, wodurch Verarbeitungszeit eingespart wird. Der Ratenfaktor hängt jedoch von der Federkonstanten der Durchflußrohre ab. Weil diese Konstante sich mit der Temperatur ändert, wird in der Ratenfaktorberechnungsroutine 1100 zum Berechnen des Ratenfaktors die durch den RTD-Temperatursensor 190 erhaltene Rohrtemperaturmessung verwendet. Wenn die Ratenfaktorberechnung abgeschlossen wurde, schreitet die Verarbeitung zu Block 1014 fort. Bei diesem Block wird zunächst der vorher durch die Zeitdifferenzinessung-Unterbrechungsroutine 1400 erhaltene aktuellste Zeitdifferenzsummenwert (TSf) aus dem NOVRAM-Speicher ausgelesen. Anschließend wird dieser Summenwert in diesem Block vom vorher berechneten Komplementärwert von Zwei in einen auf das Vorzeichen und die Größe bezogenen Wert umgewandelt, um den Wert TSC zu erhalten. An dieser Stelle wird Block 1017 ausgeführt, um das Durchflußrichtungsausgangssignal entsprechend dem Vorzeichen von TSC einzustellen.
  • Anschließend schreitet die Verarbeitung zu Block 1020 fort, wo unter Verwendung der folgenden Formel der Massendurchflußwert RATE in normalisierten Einheiten von Milligramm/Sekunde berechnet wird:
  • RATE = TSC * RF (6),
  • wobei RF der Ratenfaktor ist, und wo außerdem der Wert einer Hilfsvariablen RATEa dem berechneten Massendurchflußwert gleichgesetzt wird. Daraufhin wird der berechnete Massendurchflußwert mit dem unteren Durchflußgrenzwert verglichen. Wenn die Größe des berechneten Massendurchflußwerts kleiner ist als der untere Durchflußgrenzwert oder diesem gleich ist, schreitet die Verarbeitung über den durch JA bezeichneten Pfad von Entscheidungsblock 1022 zu Block 1025 fort, wo der Wert der Variablen RATE auf Null gesetzt wird. Der Wert der Variablen RATEa bleibt dagegen unabhängig von seiner Größe immer dem aktuellen berechneten Massendurchflußwert gleich. Wie nachstehend erwähnt wird, wird der Wert der Variablen RATE dazu verwendet, alle Systemausgangssignale (Frequenz, dargestellter Massendurchfluß, Massendurchflußwert und Gesamt-Massendurchfluß) außer dem analogen V/I- Ausgangssignal des Massendurchflußwerts, der unter Verwendung des Werts der Variablen RATEa aktualisiert wird, zu aktualisieren. Die Verarbeitung schreitet daraufhin von Block 1025 zu Entscheidungsblock 1027 fort. Wenn der berechnete Massendurchflußwert den unteren Durchflußgrenzwert überschreitet, schreitet die Verarbeitung über den durch NEIN bezeichneten Pfad von Entscheidungsblock 1022 direkt zu Entscheidungsblock 1027 fort.
  • In den Entscheidungsblöcken 1027 und 1034 wird festgestellt, ob der Wert der Variablen RATE zwischen dem oberen und dem unteren Alarmpegel liegt. Wenn dies nicht der Fall ist, wird ein geeigneter Alarm aktiviert. D.h., in Entscheidungsblock 1027 wird der Wert der Variablen RATE mit dem Wert des oberen Alarmpegels verglichen. Wenn der Werte von RATE diesen Alarmpegel überschreitet, schreitet die Verarbeitung über den durch JA bezeichneten Pfad von Entscheidungsblock 1027 zu Block 1030 fort, bei dem das Ausgangssignal für den oberen Alarmpegel gesetzt wird, d.h., eines der elektronischen Relais 263 (vergl. Fig. 2) wird erregt, um den Alarm des oberen Pegels zu aktivieren. Wenn der Wert der variablen RATE den hohen Alarmpegelwert unterschreitet, schreitet die Verarbeitung, wie in den Figuren 10A-10D dargestellt, zu Block 1032 fort, in dem nur der hohe Alarmpegelwert zurückgesetzt, d.h. deaktiviert wird. Nachdem einer der beiden Blöcke 1030 oder 1032 ausgeführt wurde, wird Entscheidungsblock 1034 ausgeführt, um zu prüfen, ob der Wert der Variablen RATE niedriger ist als der untere Alarmpegelwert. Wenn der Wert von RATE niedriger ist als der untere Alarmpegelwert, schreitet die Verarbeitung über den durch JA bezeichneten Pfad von Entscheidungsblock 1034 zu Block 1037 fort, wo das Ausgangssignal für den unteren Alarmpegel gesetzt wird, d.h. eines der elektronischen Relais 263 (vergl. Fig. 2) wird erregt, um den Alarm des unteren Pegels zu aktivieren. Wenn der Wert der Variablen RATE größer ist als der untere Alarmpegelwert, schreitet die Verarbeitung, wie in den Figuren 10A-10D dargestellt, zu Block 1039 fort, wo nur der Alarm des unteren Pegels zurückgesetzt, d.h. deaktiviert wird. An dieser Stelle schreitet die Verarbeitung von einem der beiden Blöcke 1037 oder 1039 zu Block 1041 fort.
  • Bei Block 1041 wird ein geeigneter Massenumwandlungsfaktor MCF aus einer Tabelle gelesen, der durch die durch den Benutzer ausgewählte Ausgangsmassenmaßeinheit gegeben ist. Dieser Massenumwandlungsfaktor wird mit der normalisierten Durchflußwertvariablen RATE multipliziert, um zum Zweck einer einfachen Summenwertbildung den Massendurchflußwert in den gewünschten Ausgangsmasseneinheiten (z.B. Pfund, Tonnen, Unzen, Kilogramm, metrische Tonnen) auf einer Sekundenbasis zu erhalten, d.h. den Wert RATES. Anschließend wird Block 1043 ausgeführt, um die Gesamt-Massendurchflußwerte zu aktualisieren. Wie vorstehend erwähnt, werden zwei Gesamt-Massendurchflußwerte erhalten: ein durch den Benutzer zurücksetzbarer Gesamtwert TOTAL und ein Bestand-Gesamtwert INV TOTAL. Zunächst wird der vorherige zurücksetzbare Gesamtwert für eine anschließende Verwendung als Variable TOTALold gespeichert. Anschließend wird der skalierte Massendurchflußwert verwendet, um beide Gesamtwerte wie folgt zu aktualisieren:
  • TOTAL = RATES + TOTAL (7)
  • INV TOTAL = TATES + INV TOTAL (8).
  • An dieser Stelle schreitet die Verarbeitung zu Entscheidungsblock 1045 fort, um festzustellen, ob der Benutzer die Löschtaste betätigt hat, um den Wert des zurücksetzbaren Zählers zurückzusetzen. Wenn dieser Tastschalter betätigt wurde, schreitet die Verarbeitung über den durch JA bezeichneten Pfad von Entscheidungsblock 1045 zu Block 1048, um den Wert des zurücksetzbaren Zählers auf Null zurückzusetzen und daraufhin zu Block 1050 fort. Dies ermöglicht dem Benutzer den zurücksetzbaren Gesamtwert jederzeit zurücksetzen, wobei jedoch, wie erwähnt, der Wert des Bestand-Zählers nur dann zurückgesetzt wird, wenn die Massenausgangseinheit geändert wurde. Wenn der Benutzer die Löschtaste nicht betätigt hat, schreitet die Verarbeitung über den durch NEIN bezeichneten Pfad direkt von Entscheidungsblock 1045 zu Block 1050 fort. Bei Block 1050 werden die aktuellen Werte beider Zähler in geeignete Speicherstellen des NOVRAM-Speichers gespeichert. Daraufhin schreitet die Verarbeitung zu Block 1053 fort, um den durch das skalierte Impulsausgangssignal gegebenen aktuellen Massendurchflußwert zu aktualisieren. D.h., es wird die Differenz zwischen dem vorangehenden und dem aktuellen Gesamt-Massendurchflußwert berechnet, um den aktuellen das Meßgerät durchströmenden Inkremental-Massendurchfluß zu erhalten. Wenn dieser Inkremental-Massendurchfluß größer ist als die durch den Benutzer ausgewählte Maßeinheit des skalierten Impulsausgangssignals oder dieser gleich ist (d.h. ein skaliertes Impulsausgangssignal pro .001, .01, .1, 1, 10, 100 bzw. 1000 aufsummierten Einheiten), wird am skalierten Impulsausgang ein Impuls ausgegeben. Wenn der Inkremental-Massendurchfluß kleiner ist als die ausgewählte Einheit, wird an diesem Ausgang kein Impuls erzeugt. Wie erwähnt, ist die maximale Frequenz dieses Ausgangs auf 10 Hz begrenzt, so daß mechanische Zähler über diesen Ausgang gesteuert werden können.
  • An dieser Stelle wird der in Sekunden gemessene skalierte Massendurchflußwert RATES auf seine im voraus durch den Benutzer ausgewählte geeignete Zeiteinheit (z.B. Minuten, Stunden) skaliert, um einen Massendurchflußmeßwert RA- TED zu erhalten, der sowohl bezüglich der Masse- als auch der Zeiteinheit skaliert ist, die durch den Benutzer ausgewählt wurden. Dies wird in Block 1056 ausgeführt, in dem der skalierte Massenduchflußwert RATES mit einem geeigneten Zeitumwandlungsfaktor TF multipliziert wird. Alle zulässigen Werte des Umwandlungsfaktors TF (z.B. 60 oder 3600) sind in einer Tabelle gespeichert. Auf den geeigneten Wert dieses Faktors wird unter Verwendung der durch den Benutzer während der Ausführung der vorstehend beschriebenen Menüroutine 600 vorher ausgewählten Ausgangseinheit zugegriffen. Wenn diese Operationen abgeschlossen sind, schreitet die Verarbeitung zu Block 1059 fort, um die aktuellen Werte RATED und TOTAL in binärcodierte Dezimal (BCD) -Werte umzuwandeln und anschließend den aktuellen Wert RATED und den Gesamt-Massendurchflußwert im zurücksetzbaren Zähler darzustellen. Anschließend wird Block 1062 ausgeführt, um den Freguenzausgang und den analogen V/I-Ausgang zu aktualisieren. Diese Ausgänge werden durch Multiplizieren der normalisierten Massendurchflußwerte RATE und RATEa mit Skalierungskonstanten FREQ CONSTANT bzw. V/I CONSTANT aktualisiert, um Werte für die Variable OUTPUT FREQ. des Frequenzausgangs bzw. die Variable V/I OUT des V/I-Ausgangs zu erhalten. Die Werte dieser Konstanten wurden vorher in Block 645 in der Menüroutine 600 (vergl. Fig. 6) berechnet und werden nun aus dem NOVRAM- Speicher ausgelesen. Weil der Werte RATEA (der auf Null zurückgesetzt wird, wenn der Massendurchflußwert kleiner ist als der Nulldurchfluß-Grenzwert) mit dem Wert V/I CONSTANT multipliziert wird, um den Wert der Variablen V/I OUT zu erzeugen, ist das analoge V/I-Ausgangssignal auch dann eine proportionale Darstellung des Massendurchflußwerts, wenn der Massendurchflußwert kleiner ist als der Nulldurchfluß-Grenzwert. Weil der Wert der Variablen RATE verwendet wird, um den Wert der Variablen OUTPUT FREQ zu erzeugen, nimmt das Freguenzausgangssignal für jeden gemessenen Massendurchflußwert, der kleiner ist als der untere Durchflußgrenzwert oder diesem gleich ist, den Wert Null an. Der Wert der Variablen OUTPUT FREQ wird durch den Mikroprozessor verwendet, um die Ausgangsfreguenz des Freguenzausgangssignals einzustellen.
  • Daraufhin schreitet die Verarbeitung zu Entscheidungsblock 1064 fort, wo festgestellt wird, ob der Benutzer den Menü-Tastschalter betätigt hat. Wenn dieser Tastschalter betätigt wurde, schreitet die Verarbeitung zu Block 1067 fort, in dem die Menüroutine 600 aufgerufen wird. Dadurch kann der Benutzer das Menü schrittweise durchgehen, nachdem die Systeminitialisierung abgeschlossen wurde und die Verarbeitung in der Unterbrechungswarteschleife und in der Diagnoseroutine 560 (vergl. Figuren 5A-5D) verbleibt. Anschließend schreitet die Verarbeitung, wie in den Figuren 10A-10D dargestellt, zu Entscheidungsblock 1070 fort. Wenn der Menü- Tastschalter nicht betätigt wurde, schreitet die Verarbeitung direkt zu Entscheidungsblock 1070 fort. Bei Block 1070 wird der Zustand eines Nulldurchflußkalibrierungsschalters geprüft, der, wie erwähnt, im Gehäuse der Meßelektronik angeordnet ist, um festzustellen, ob die Meßelektronik eine Nulldurchflußkalibrierung durchführen muß. Wenn dieser Schalter geeignet eingestellt ist, schreitet die Verarbeitung über den durch JA bezeichneten Pfad von Entscheidungsblock 1070 fort, um die in den Figuren 13A und 13B dargestellte und später ausführlich beschriebene Nulldurchflußabgleichroutine 1300 aufzurufen. Durch diese Routine wird die einem Null-Massendurchfluß durch das Meßgerät zugeordnete Zeitdifferenz gemessen und der erhaltene Offsetwert im NOVRAM-Speicher gespeichert. Dieser Offsetwert wird anschließend in der Zeitdifferenzmessung-Unterbrechungsroutine 1400 verwendet, um die gefilterte Summe der vier Zeitdifferenzwerte (TSf) zu berechnen, die dem aktuellen Massendurchfluß durch das Meßgerät zugeordnet werden kann. Von dort schreitet die Verarbeitung, wie in den Figuren 10A-10D dargestellt, zu Block 1074 fort. Wenn kein Nulldurchflußabgleich durchgeführt wird, schreitet die Verarbeitung über den durch NEIN bezeichneten Pfad von Entscheidungsblock 1070 direkt zu Block 1074 fort. Schließlich wird bei Block 1074 das Diagnoseflag gesetzt, um den Mikroprozessor geeignet anzuweisen, Diagnosetests auszuführen, während er anschließend darauf wartet, daß Unterbrechungen auftreten, d.h. während die Unterbrechungswarteschleife und die Diagnoseroutine 560 im Hauptprogramm 500 (vergl. Figuren 5A- 5D) ausgeführt werden. Wenn dieses Flag gesetzt wurde, verläßt die Verarbeitung die 100 msec-Unterbrechungsroutine 1000.
  • 7. Ratenfaktorberechnungsroutine 1100
  • Fig. 11 zeigt einen Ablaufplan der Ratenfaktorberechnungsroutine 1100. Wie erwähnt, wird in dieser Routine ein temperaturangepaßter Ratenfaktor (RF) für eine mit der Meßelektronik verbundene Meßanordnung einer bestimmten Größe berechnet.
  • Beim Eintritt in diese Routine wird Block 1110 ausgeführt, in dem die durch die RTD-Vorrichtung 190 (vergl. Figuren 1 und 2) gemessene und durch den A/D-Wandler 220 digitalisierte Rohrtemperatur gelesen wird. Die erhaltene gemessene Temperatur Ta/d wird daraufhin durch Block 1120 digital gefiltert, wie in Fig. 11 dargestellt, um einen gefilterten Temperaturwert Tf zu bestimmen. Bei diesem Block wird die in Fig. 12 dargestellte und nachstehend beschriebene digitale Filterroutine 1200 aufgerufen. Anschließend wird, wie in Fig. 11 dargestellt, Block 1130 ausgeführt, um den Meßgerätfaktor (MF) zu lesen, der durch eine Reihe von im Gehäuse der Meßelektronik angeordneten Eingangsschaltern (typischerweise fünf BCD-Schalter) vorprogrammiert wurde. Der Meßgerätfaktor ist ein Verstärkungsfaktor, der während der im Werk durchgeführten Kalibrierung der bestimmten Meßanordnung festgelegt wird, die mit der Meßelektronik verwendet wird. D.h., dieser Faktor stellt die Verstärkung dar, die für die Meßelektronik erforderlich ist, um den minimalen elektrischen Ausgangswert bei dem für die Meßanordnung festgelegten minimalen Durchflußwert zu erzeugen, und ist in Einheiten von Gramm/Mikrosekunde/Sekunde festgelegt. Dieser Faktor variiert zwischen .12639 für ein Meßgerät der Größe D6 und 1262.5 für ein Meßgerät der Größe D600, die das kleinste und das größte durch den vorliegenden Anmelder hergestellte Meßgerät darstellen. Außerdem wird bei Block 1130, wenn der Meßgerättyp vorgegeben ist, der Wert der für die Meßanordnung geeigneten Federkonstanten k, d.h. für die Federkonstante des für den Aufbau der Durchflußrohre verwendeten Materials, aus einer im EPROM-Speicher gespeicherten Tabelle ausgelesen. Wenn dieses Meßgerät beispielsweise Durchflußrohre aus rostfreiem Stahl des Typs 3161 aufweist, wird die Federkonstante von rostfreiem Stahl, .000513, verwendet.
  • An dieser Stelle schreitet die Verarbeitung zu Entscheidungsblock 1140 fort, um den Ratenfaktor RF zu berechnen. Dieser Faktor ist eine lineare Funktion des Meßgerätfaktors, der Federkonstanten und des gefilterten Temperaturwerts. Weil der Mittelpunkt des gemessenen Temperaturbereichs auf 0ºC bezogen ist, können die gemessenen Temperatur- und damit die gefilterten Temperaturwerte entweder positiv oder negativ sein. Um den Ratenfaktor geeignet zu berechnen, so daß er mit abnehmender Temperatur zunimmt (die Durchflußrohre werden bei kälteren Temperaturen starrer), schreitet die Verarbeitung zunächst zu Entscheidungsblock 1140 fort, wo das Vorzeichen des gefilterten Temperaturwerts Tf bestimmt wird. Wenn der gefilterte Temperaturwert positiv ist, wird Block 1150 ausgeführt, um den Ratenfaktor wie folgt zu berechnen:
  • RF = MF * (1 - kTf). (9) Wenn der gemessene Temperaturwert Tf negativ ist, wird Block 1160 ausgeführt, um den Ratenfaktor wie folgt zu berechnen:
  • RF = MF * (1 + kTf). (10)
  • Wenn der Ratenfaktor berechnet wurde, wird sein Wert für eine spätere Verwendung im RAM-Speicher des Mikroprozessors gespeichert. Anschließend verläßt die Verarbeitung die Ratenfaktorberechnungsroutine 1100 entweder von Block 1150 oder von Block 1160.
  • 8. Filterroutine 1200
  • Fig. 12 zeigt ein Ablaufdiagramm der Filterroutine 1200. Wie erwähnt, wird diese Routine separat verwendet, um die Zeitdifferenzsummen- und die Temperaturmessungen digital zu filtern. Durch diese Routine wird die Funktion eines zweipoligen aperiodisch gedämpften digitalen Filters ausgeführt.
  • Beim Eintritt in diese Routine wird Block 1210 ausgeführt, um basierend darauf, ob der eintreffende Meßwert ein Zeitdifferenzsummen- (TSUM) oder ein Rohrtemperaturwert (Ta/d) ist, einen der beiden Sätze von Werten aus dem NOVRAM-Speicher auszulesen. Jeder Satz enthält Werte der beiden Filterparameter T&sub1; und T&sub2;. Die Werte dieser vier Filterparameter werden während der Systeminitialisierung alle auf Null gesetzt. Wenn auf den gewünschten Satz von zwei Werten der Filterparameter T&sub1; und T&sub2; zugegriffen wurde, wird Block 1220 ausgeführt, um den Wert einer Variablen D dem eintreffenden Meßwert gleichzusetzen. Anschließend wird Block 1230 ausgeführt, um den Wert D, der die Differenz zwischen dem eintreffenden Meßwert und dem aktuellen Wert des Filterparameters T&sub1; darstellt, zu aktualisieren. Daraufhin wird Block 1240 ausgeführt, um den Wert der Filterzeitkonstanten (TC) abzurufen, die durch den Benutzer vorgewählt wurde und im NOVRAM-Speicher gespeichert ist. Wenn dies eintritt, wird Block 1250 ausgeführt, um die folgenden Gleichungen zu berechnen, durch die zusammen die Funktion eines zweipoligen aperiodisch gedämpften Filters ausgeführt wird:
  • Wenn diese zwei Gleichungen berechnet wurden, wird Block 1260 ausgeführt, um die neuen Werte der Filterparameter T&sub1; und T&sub2; für eine Verwendung bei der nächsten Iteration durch den Filter für eine gleichartige eintreffende Messung (d.h. TSUM od er Ta/d) in geeignete Speicherstellen des NOVRAM- Speichers zu speichern. Schließlich wird Block 1270 ausgeführt, um den Filterausgangswert, d.h. den Wert des Filterparameters T&sub2; entweder als Wert der gefilterten Zeitdifferenzsumme TSf oder als Wert der gefilterten Rohrtemperatur Tf, geeignet in den NOVRAM-Speicher zu speichern. Anschließend verläßt die Verarbeitung die Filterroutine 1200.
  • 9. Nulldurchflußabgleichroutine 1300
  • Die Figuren 13A und 13B zeigen ein Ablaufdiagramm der Nulldurchflußabgleichroutine 1300, wobei Fig. 13 die korrekte Anordnung der Figuren zeigt. Wie beschrieben, werden in dieser Routine dem Nulldurchfluß durch die Meßanordnung zugeordnete Zeitdifferenzen gemessen, und wird anschließend ein geeigneter Offsetwert OFFSET erzeugt, der für eine spätere Verwendung in den NOVRAM-Speicher gespeichert wird. Wie beschrieben, wird diese Routine aufgerufen, indem der im Gehäuse der Meßelektronik angeordnete Nulldurchflußabgleichschalter auf eine geeignete Position eingestellt wird. Während des gesamten Zeitintervalls, in der diese Routine ausgeführt wird, darf kein Durchfluß durch das Meßgerät stattfinden.
  • Beim Eintritt in diese Routine wird Block 1305 ausgeführt, um einen geeigneten Schriftzug darzustellen, wie beispielsweise "ZERO FLOW CAL. IN PROGRESS", um dem Benutzer den Zustand des Systems anzuzeigen, während diese Routine ausgeführt wird. Anschließend schreitet die Verarbeitung zu Block 1310 fort, in dem der vorherige Nulldurchfluß-Offsetwert und die vorherige Filterzeitkonstante als Werte OFFSETold bzw. TCold gespeichert werden. Diese Werte werden für eine mögliche spätere Verwendung als aktueller Nulldurchfluß-Offsetwert und als aktuelle Filterzeitkonstante im Fall eines Fehlerzustands aufbewahrt, wie nachstehend beschrieben. Anschließend wird Block 1315 ausgeführt, um den aktuellen Nulldurchfluß-Offsetwert auf Null einzustellen. Daraufhin schreitet die Verarbeitung zu Block 1320 fort, wo die Filterzeitkonstante auf vier Sekunden eingestellt wird. Wenn dies ausgeführt wurde, wird Block 1325 ausgeführt, in dem nur ein Intervall von vierunddreißig Sekunden gezählt wird (eine Zeitdauer, die 8.5 Zeitkonstanten gleich ist), damit das Ausgangssignal des Filters auf .1% seines stationären Wertes ausschwingen kann.
  • An dieser Stelle wird Block 1330 ausgeführt. In diesem Block wird ermöglicht, daß die in den Figuren 15A-15E dargestellte Zeitdifferenzmessung-Unterbrechungsroutine 1400 für 45 Sekunden wiederholt ausgeführt wird. Jeder Wert der durch die Routine 1400 erzeugten gefilterten Zeitdifferenzsumme TSf wird mit vorherigen Werten verglichen, die während dieses 45 Sekunden-Intervalls erzeugt wurden Nach Ablauf dieses Intervalls werden der erhaltene Maximal- und der erhaltene Minimalwert der gefilterten Zeitdifferenzsumme durch Block 1330 als Werte MAX bzw. MIN gespeichert. Daraufhin wird Block 1335 ausgeführt, um die Differenz zwischen den Werten MAX und MIN zu berechnen und diese Differenz einer Zwischenvariablen A zuzuweisen. Wenn dies ausgeführt wurde, schreitet die Verarbeitung zu Entscheidungsblock 1340 fort, in der geprüft wird, ob der Wert A einen vorgegebenen Rauschtoleranzwert X überschreitet, der im voraus als Konstante im EPROM-Speicher gespeichert wurde. Wenn die Differenz MAX-MIN größer ist als der Wert X, wird dadurch ein übermäßiger Rauschanteil angezeigt, durch den die bei der Ausführung von Block 1330 erhaltene Zeitdifferenzmessung verfälscht wurde. Dies stellt einen Fehlerzustand dar. Daher schreitet die Verarbeitung über den durch JA bezeichneten Pfad 1342 von Entscheidungsblock 1340 zu Block 1355 fort. In diesem Block wird der vorherige Nulldurchfluß-Offsetwert OFFSETold gelesen und der aktuelle Nulldurchfluß-Offsetwert dem vorherigen Wert gleichgesetzt. Außerdem wird in diesem Block die Filterzeitkonstante auf ihren vorherigen, durch den Benutzer ausgewählten Wert TCold gesetzt. Anschließend wird Block 1360 ausgeführt, in dem das Auftreten eines Fehlerzustands gekennzeichnet wird und der entsprechende Fehlercode und dessen Zeit-Datum-Markierung als letzte Eintragung in den Fehlerstack des NOVRAM-Speichers gespeichert werden. Zu diesem Zeitpunkt schreitet die Verarbeitung zu Block 1370 fort, bei dem die in Fig. 9 dargestellte und vorstehend beschriebene Fehlerroutine 900 aufgerufen wird. Nachdem der Benutzer eingegriffen hat, um den Fehler geeignet zu löschen, verläßt die Verarbeitung die Nulldurchflußabgleichroutine 1300 und kehrt zur Einsprungstelle A des Hauptprogramms 500 zurück.
  • Wenn die Differenz MAX-MIN kleiner ist als der vorgegebene Rauschtoleranzwert X oder diesem gleich ist, wodurch eine korrekte Arbeitsweise angezeigt wird, schreitet die Verarbeitung über den durch NEIN bezeichneten Pfad von Entscheidungsblock 1340 zu Block 1345 fort. Bei diesem letztgenannten Block wird der Offset-Mittelwert als Mittelwert der Werte MAX und MIN berechnet und einer Zwischenvariablen B zugewiesen. Daraufhin wird Entscheidungsblock 1350 ausgeführt, um festzustellen, ob der Betrag des Mittelwerts einen vorgegebenen Wert Y überschreitet, d.h., ob der Offset-Mittelwert entweder positiv oder negativ zu groß ist. Der Wert Y wurde im voraus als Konstante im EPROM-Speicher gespeichert. Wenn der Offset-Mittelwert in einer der beiden Richtungen zu groß ist, ist ein Fehler aufgetreten. In diesem Fall schreitet die Verarbeitung über den durch JA bezeichneten Pfad von Entscheidungsblock 1350 zum vorstehend beschriebenen Block 1355 fort. Wenn der Betrag des Offset-Mittelwerts klein genug ist, schreitet die Verarbeitung über den durch NEIN bezeichneten Pfad von Entscheidungsblock 1350 zu Block 1375 fort. In diesem letztgenannten Block wird die Filterzeitkonstante auf den durch den Benutzer gewählten vorherigen Wert zurückgesetzt. Anschließend wird Block 1380 ausgeführt, bei dem der Nulldurchfluß-Offsetwert dem aktuellsten Wert der gefilterten Zeitdifferenz gleichgesetzt wird, die bei der Ausführung von Block 1330 gemessen wurde. Dieser aktuelle Nulldurchfluß-Offsetwert wird daraufhin verwendet, um den im NOVRAM-Speicher gespeicherten Offsetwert OFFSET für eine spätere Verwendung zu aktualisieren. An dieser Stelle verläßt die Verarbeitung die Nulldurchflußabgleichroutine 1300.
  • 10. Zeitdifferenzmessung-Unterbrechungsroutine 1400 (vereinfachte Darstellung)
  • In der Zeitdifferenzmessung-Unterbrechungsroutine 1400 wird nicht nur der Wert der gefilterten Zeitdifferenzsumme TSf bestimmt, wie erwähnt, sondern werden auch verschiedene Diagnoseoperationen ausgeführt. Daher ist die Software für diese Routine sehr komplex. Um das Verständnis zu erleichtern, wird die Arbeitsweise der Zeitdifferenzmessung-Unterbrechungsroutine 1400 daher in zwei Schritten unter Verwendung von zwei Ablaufdiagrammen beschrieben. Die Beschreibung beginnt mit dem in den Figuren 14A und 14B dargestellten ersten Ablaufdiagramm, das nur die Schritte aufweist, die zum Verarbeiten einzelner Zeitdifferenzmeßwerte TA, TB, TC und TD in die gefilterte Zeitdifferenzsumme TSf verwendet werden, die dem Massendurchfluß des die Meßanordnung durchströmenden Fluids proportional ist. Daher ist dieses Ablaufdiagramm eine vereinfachte Version der Routine 1400. Anschließend schreitet die Beschreibung zum in den Figuren 15A-15E dargestellten zweiten Ablaufdiagramm fort, das eine ausführliche Darstellung der Routine 1400 zeigt und zum besseren Verständnis die in Fig. 14 dargestellten Blöcke umfaßt.
  • Nachstehend wird, wie erwähnt, ein vereinfachtes Ablaufdiagramm der Zeitdifferenzmessung-Unterbrechungsroutine 1400 gemeinsam in den Figuren 14A und 14B dargestellt, wobei Fig. 14 die korrekte Anordnung der Figuren zeigt. Dieses Ablaufdiagramm zeigt die zum Erzeugen eines Zeitdifferenzsummenwerts TSUM gemäß Gleichung (5) und eines gefilterten Zeitdifferenzsummenwerts TSf, die beide dem Massendurchfluß des die Meßanordnung durchströmenden Fluids im wesentlichen proportional sind, erforderlichen Verarbeitungsschritte. Weil bei diesen Verarbeitungsschritten Daten von der in Fig. 3A dargestellten Zeitdifferenzmessungsschaltung 30 erhalten werden und deren Funktion gesteuert wird, wird während der nachfolgenden Beschreibung der Figuren 14A und 14B und der Figuren 15A-15E zusätzlich auch auf Fig. 3A verwiesen.
  • Beim Eintritt in Routine 1400 wird Block 1401 ausgeführt, um die Inhalte des in der Zeitdifferenzmessungsschaltung 30 angeordneten Zählers 370 zu lesen. Die Inhalte dieses Zählers stellen, wie beschrieben, eine gemessene Zeitdifferenz zwischen den beiden Eingangskanälen, d.h. Kanal 1 und Kanal 2, dar, denen wechselweise über Eingangsschalter 320 das linke und das rechte Geschwindigkeitssignal zugeführt werden. Wenn die Inhalte gelesen wurden, wird Block 1404 ausgeführt, um die Inhalte dieses Zählers in Vorbereitung auf die nächste Zeitdifferenzmessung auf Null zurückzusetzen. In diesem Block werden außerdem die Inhalte des vorstehend erwähnten Doppelimpulsdetektors 360 zurückgesetzt. Daraufhin wird Entscheidungsblock 1406 ausgeführt, um die vom Zähler 370 eintreffenden Meßwerte in Meßwertgruppen TA, TC bzw. TB, TD einzuordnen. Diese Zuordnung basiert auf dein Zustand des durch die in der Zeitdifferenzmessungsschaltung 30 angeordnete Meßvorgangabschlußschaltung erzeugten EOML-Signals. Das in Fig. 3B dargestellte EOML-Signal hat während der Meßvorgänge für die Meßwerte TA und TC einen hohen und während der Meßvorgänge für die Meßwerte TB und TD einen niedrigen Pegel. Daher wird der Zustand dieses Signals bei der Ausführung von Entscheidungsblock 1406 durch den Mikroprozessor geprüft. Daher schreitet die Verarbeitung in Abhängigkeit davon, ob dieses Signal einen hohen oder einen niedrigen Pegel aufweist, über den Pfad 1412 zu Entscheidungsblock 1414 für Meßvorgänge für die Werte TA und TC oder über den Pfad 1409 zu Entscheidungsblock 1440 für Meßvorgänge für die Werte TB und TD fort.
  • Nachstehend werden zunächst nur die Meßwerte TA und TC betrachtet. Bei Entscheidungsblock 1414 wird festgestellt, ob der gerade vom Zähler 370 erhaltene einzelne Zeitdifferenzmeßwert der Wert TA oder TC ist. Diese Bestimmung wird durch die Anweisungen festgelegt, die dem Eingangsschalter 320 durch den Mikroprozessor mitgeteilt werden. D.h., wenn der Schalter so eingestellt ist, daß die linken und die rechten Geschwindigkeitssignale Kanal 1 bzw. Kanal 2 zugeführt werden, ist der eintreffende Meßwert die Zeitdifferenz TA. Wenn der Schalter 320 dagegen so eingestellt wurde, daß die Geschwindigkeitssignale in umgekehrter Weise zugeführt werden, ist der eintreffende Meßwert die Zeitdifferenz TC. Wenn der Meßwert der Wert TA ist, schreitet die Verarbeitung über den Pfad 1418 von Entscheidungsblock 1414 in die TA- Routine 1420 fort. Wenn der Meßwert der Wert TC ist, schreitet die Verarbeitung über den Pfad 1416 von Entscheidungsblock 1414 zur TC-Routine 1430 fort. Durch die Routinen 1420 und 1430 werden die eintreffenden Zeitdifferenzmeßwerte TA bzw. TC kombiniert, um den Wert der Zeitdifferenzsumme zu bilden.
  • Beim Eintritt in die TA-Routine 1420 schreitet die Verarbeitung zu Block 1421 fort, bei dem der Wert der Zeitdifferenzsumme TSUM auf Null zurückgesetzt wird. Daraufhin schreitet die Verarbeitung zu Entscheidungsblock 1423 fort, um festzustellen, ob der eintreffende Zeitdifferenzmeßwert TA voraus- oder nacheilt, so daß er als Teil der Zeitdifferenzsumme additiv oder subtraktiv kombiniert werden muß. D.h., durch das Ausgangssignal der COE-Schaltung 340 wird festgelegt, ob das auf Kanal 1 erscheinende Signal dem auf Kanal 2 erscheinenden Signal voraus- oder nacheilt. Wenn das COE-Signal für den eintreffenden Zeitdifferenzmeßwert einen hohen Pegel aufweist, eilt das Signal auf Kanal 1 dem Signal auf Kanal 2 voraus. In diesem Fall schreitet die Verarbeitung von Entscheidungsblock 1423 zu Block 1426 fort, bei dem der Zeitdifferenzmeßwert TA zur Summe addiert wird. Die Verarbeitung verläßt daraufhin die Routine 1420 sowie die in Fig. 14 dargestellte Routine 1400. Wenn das COE-Signal einen niedrigen Zustand aufweist, eilt das Signal auf Kanal 1 dem Signal auf Kanal 2 nach. In diesem Fall schreitet die Verarbeitung von Entscheidungsblock 1423 zu Block 1427 fort, bei dem der Zeitdifferenzmeßwert TA von der Summe subtrahiert wird. Die Verarbeitung verläßt daraufhin die Routine 1420 sowie die Routine 1400, die in Fig. 14 dargestellt sind.
  • Wenn die TC-Routine 1430 ausgeführt werden soll, schreitet die Verarbeitung zu Entscheidungsblock 1431 fort. In diesem Block wird der Zustand des COE-Signals auf die gleiche Weise geprüft wie bei Entscheidungsblock 1423, um festzustellen, ob der Zeitineßwert TC zur Zeitdifferenzsumme TSUM addiert oder davon subtrahiert werden muß. Wenn das Signal von Kanal 2 dem Signal von Kanal 1 vorauseilt, schreitet die Verarbeitung über den durch NEIN bezeichneten Pfad von Entscheidungsblock 1431 zu Block 1434 fort, bei dem der Zeitdifferenzmeßwert TC zum Wert der Summe addiert wird. Wenn dagegen das Signal von Kanal 1 dein Signal von Kanal 2 vorauseilt, schreitet die Verarbeitung über den durch JA bezeichneten Pfad von Entscheidungsblock 1431 zu Block 1436 fort, bei dem der Zeitdifferenzmeßwert TC vom Wert der Summe subtrahiert wird. Nachdem Block 1434 oder Block 1436 ausgeführt wurden, verläßt die Verarbeitung sowohl die TC-Routine 1430 als auch die Routine 1400, die in Fig. 14 dargestellt sind.
  • Wenn bei Entscheidungsblock 1406 der eintreffende Zeitdifferenzmeßwert in die Gruppe der Werte TB und TD eingeordnet wird, schreitet die Verarbeitung, wie erwähnt, von diesem Entscheidungsblock über den Pfad 1409 zu Block 1440 fort. Bei diesem letztgenannten Block wird der Schalter 320 angewiesen, die Eingangsverbindungen umzukehren, d.h., wenn das linke und das rechte Geschwindigkeitssignal bei zwei unmittelbar vorangehenden Messungen den Kanälen 1 bzw. 2 zugeführt wurden, werden dann für die folgenden zwei Messungen das linke und das rechte Geschwindigkeitssignal den Kanälen 2 bzw. 1 zugeführt. Wenn die Einstellung des Eingangsschalters 320 geeignet umgekehrt wurde, schreitet die Verarbeitung über den Pfad 1441 zu Entscheidungsblock 1443 fort.
  • Bei Block 1443 wird festgestellt, ob der gerade vom Zähler 370 erhaltene einzelne Zeitdifferenzineßwert der Wert TB oder der Wert TD ist. Diese Entscheidung wird durch die dem Eingangsschalter 320 durch den Mikroprozessor mitgeteilten Anweisungen festgelegt. D.h., wenn der Schalter so eingestellt wurde, daß das linke und das rechte Geschwindigkeitssignal den Kanälen 1 bzw. 2 zugeführt werden, ist der eintreffende Zeitdifferenzmeßwert der Wert TB. Wenn der Schalter 320 dagegen so eingestellt wurde, daß die Geschwindigkeitssignale auf umgekehrte Weise zugeführt werden, ist der eintreffende Zeitdifferenzmeßwert der Wert TD. Wenn der Zeitdifferenzmeßwert der Wert TB ist, schreitet die Verarbeitung über den Pfad 1447 von Entscheidungsblock 1443 in die TB-Routine 1450 fort. Wenn der Meßwert dagegen der Wert TD ist, schreitet die Verarbeitung über den Pfad 1445 von Entscheidungsblock 1443 zur TD-Routine 1470 fort. In den Routinen 1450 und 1470 werden die eintreffenden Zeitdifferenzineßwerte TB bzw. TD geeignet kombiniert, um den Wert der Zeitdifferenzsuinme zu bilden.
  • Beim Eintritt in die TB-Routine 1450 schreitet die Verarbeitung zu Entscheidungsblock 1451 fort, um festzustellen, ob der eintreffende Zeitdifferenzmeßwert TB voraus- oder nacheilt und daher als Teil der Zeitdifferenzsumme additiv oder subtraktiv kombiniert werden sollte. D.h., wie erwähnt, durch das Ausgangssignal der COE-Schaltung 340 wird festgelegt, ob das auf Kanal 1 erscheinende Signal dem auf Kanal 2 erscheinenden Signal voraus- oder nacheilt. Wenn das COE-Signal einen hohen Pegel hat, wodurch angezeigt wird, daß das Signal auf Kanal 1 dem Signal auf Kanal 2 vorauseilt, schreitet die Verarbeitung von Entscheidungsblock 1451 zu Block 1454 fort, wo der Zeitdifferenzmeßwert TB zur Summe addiert wird. Wenn das COE-Signal dagegen einen niedrigen Pegel aufweist, wodurch angezeigt wird, daß das Signal auf Kanal 1 dem Signal auf Kanal 2 nacheilt, schreitet die Verarbeitung von Entscheidungsblock 1451 zu Block 1456 fort. Bei Block 1456 wird der Zeitdifferenzmeßwert TB von der Summe subtrahiert. Wenn Block 1454 oder Block 1456 ausgeführt wurde, verläßt die Verarbeitung die Routine 1450 sowie die Routine 1400, die in Fig. 14 dargestellt sind.
  • Wenn die TD-Routine 1470 ausgeführt werden soll, schreitet die Verarbeitung zu Entscheidungsblock 1471 fort. In diesem Block wird der Zustand des COE-Signals auf die gleiche Weise geprüft wie bei Entscheidungsblock 1423, um festzustellen, ob der Zeitdifferenzmeßwert TD zum Zeitdifferenzsummenwert TSUM addiert oder davon subtrahiert werden muß. Wenn das Signal auf Kanal 1 dem Signal auf Kanal 2 vorauseilt, schreitet die Verarbeitung über den durch JA bezeichneten Pfad von Entscheidungsblock 1471 zu Block 1474 fort, bei dem der Zeitdifferenzmeßwert TD vom Summenwert subtrahiert wird. Wenn das Signal auf Kanal 1 dagegen dem Signal auf Kanal 2 nacheilt, schreitet die Verarbeitung über den durch NEIN bezeichneten Pfad von Entscheidungsblock 1471 zu Block 1476 fort, bei dem der Zeitdifferenzmeßwert TD zum Summenwert addiert wird. Nachdem Block 1474 oder Block 1476 ausgeführt wurden, verläßt die Verarbeitung die TD-Routine 1470. An dieser Stelle wurden alle vier Zeitdifferenzmeßwerte TA, TB, TC und TD geeignet kombiniert, um einen Zeitdifferenzsummenwert TSUM zu erhalten.
  • Weil die Geschwindigkeitseingangssignale zwischen den Kanälen umgeschaltet, zwei Zeitdifferenzmessungen über jeden Kanal durchgeführt und vier erhaltene Zeitdifferenzwerte zu einem Summenwert kombiniert werden, werden die in jedem einzelnen Zeitdifferenzmeßwert vorhandenen Fehlerkomponenten im Summenwert kompensiert. Daher wird, wie vorstehend im Zusammenhang mit den Gleichungen (1) - (5) erläutert, der Zeitdifferenzsummenwert durch Differenzen zwischen den elektrischen Kenngrößen der beiden Eingangskanäle, die sich durch verschiedene Faktoren, wie beispielsweise Offsetwerte, Alterung, Drift und/oder temperaturinduzierte Änderungen der Kenngrößen der in jedem Kanal verwendeten analogen Komponenten ergeben, nicht beeinflußt. Dadurch wird ein hochgenauer Zeitdifferenzsummenwert erhalten.
  • Die Verarbeitung schreitet nun von der TD-Routine 1470 zur Filter- und Speicherroutine 1490 fort. In dieser Routine wird der Zeitdifferenzsummenwert gefiltert, der Nulldurchfluß-Offsetwert subtrahiert und das Ergebnis im NOVRAM-Speicher gespeichert. D.h., um den Rauschanteil zu verringern und die Auflösung zu verbessern, wird der Zeitdifferenzsummenwert TSUM digital gefiltert. Dies wird durch Block 1491 ausgeführt, in dem die vorstehend beschriebene Filterroutine aufgerufen wird. Der erhaltene gefilterte Zeitdifferenzsummenwert wird durch die Routine 1200 als Variable TSf in den NOVRAM-Speicher gespeichert. Anschließend schreitet die Verarbeitung zu Block 1493 fort, bei dem der vorher im NOVRAM-Speicher gespeicherte aktuelle Nulldurchfluß- Offsetwert OFFSET vom Wert TSf subtrahiert wird. Daraufhin wird Block 1495 ausgeführt, um den erhaltenen Wert als gefilterten Zeitdifferenzsummenwert TSf für eine spätere Verwendung durch die vorstehend beschriebene 100 msec- Unterbrechungsroutine 1000 in den NOVRAM-Speicher zurückzuspeichern. An dieser Stelle verläßt die Verarbeitung die in Fig. 14 dargestellte Routine 1400.
  • 11. Zeitdifferenzmessung-Unterbrechungsroutine 1400 (ausführliche Darstellung)
  • Die Figuren 15A-15E zeigen gemeinsam ein ausführliches Ablaufdiagramm der Zeitdifferenzmessung-Unterbrechungsroutine 1400, wobei in Fig. 15 die korrekte Anordnung dieser Figuren dargestellt ist.
  • Beim Eintritt in diese Routine wird zunächst Block 1501 ausgeführt, um den Zählwert IRDACOUNT eines Schleifenzählers um Eins zu vermindern. Dieser Zähler wird verwendet, um die Anzahl der Iterationen durch diese Routine zu überwachen, so daß zwei Diagnoseflags nach jeweils 16 Iterationen auf Null zurückgesetzt werden können. D.h., die Verarbeitung schreitet zu Entscheidungsblock 1503 fort, in dem festgestellt wird, ob der Zählwert dieses Zählers gerade den Wert Null erreicht hat. Wenn dies nicht der Fall ist, schreitet die Verarbeitung über den durch NEIN bezeichneten Pfad von Entscheidungsblock 1503 zu Entscheidungsblock 1510 fort. Wenn der Zählwert des Schleifenzählers auf Null herabgezählt wurde, schreitet die Verarbeitung über den durch JA bezeichneten Pfad von Entscheidungsblock 1503 zu Block 1506 fort. Bei diesem letztgenannten Block werden der Wert des Eingabeüberlaufflags und des Flags zum Kennzeichnen eines übermäßigen Rauschanteils auf Null zurückgesetzt. Das Eingabeüberlaufflag wird durch den Mikroprozessor gesetzt, wenn dieser feststellt, daß eine gemessene Zeitdifferenz die maximale Kapazität des 16-Bit-Zählers 370 (vergl. Fig. 3A) überschreitet, wodurch der Zählers überläuft. Das Flag zum Kennzeichnen eines übermäßigen Rauschanteils wird durch den Mikroprozessor gesetzt, wenn das durch die Zeitdifferenzmessungsschaltung 30 erzeugte und vorstehend beschriebene Signal für übermäßiges Rauschen einen hohen Zustand aufweist, wodurch angezeigt wird, daß ein oder beide Geschwindigkeitssensorsignale einen Rauschanteil aufweisen. Wenn beide Flags zurückgesetzt wurden, schreitet die Verarbeitung zu Block 1508 fort, in der der Wert "16" für eine nachfolgenden Abwärtszählvorgang im Schleifenzähler gesetzt wird. Die Verarbeitung schreitet dann zu Entscheidungsblock 1510 fort.
  • Als eine Diagnosemaßnahme wird bei Block 1510 der Zustand des durch die Zeitdifferenzmessungsschaltung 30 (vergl. Fig. 3A) erzeugten Signals für übermäßiges Rauschen geprüft. Wenn dieses Signal einen hohen Pegel aufweist, schreitet die Verarbeitung, wie in Fig. 15A dargestellt, über den durch JA bezeichneten Pfad von Entscheidungsblock 1510 zu Block 1513 fort, bei dem das Flag zum Kennzeichnen eines übermäßigen Rauschanteils gesetzt wird. Wenn das Signal für übermäßiges Rauschen einen niedrigen Pegel aufweist, schreitet die Verarbeitung über den durch NEIN bezeichneten Pfad von Entscheidungsblock 1510 zu Entscheidungsblock 1516 fort. In diesem letztgenannten Entscheidungsblock wird der Zustand des durch die in Fig. 4 dargestellte Steuerschaltung 40 erzeugten Signals für einen übermäßigen Antrieb geprüft. Wenn dieses Signal einen hohen Pegel aufweist, schreitet die Verarbeitung über den durch JA bezeichneten Pfad von Entscheidungsblock 1516 zu Block 1519 fort. Weil der hohe Pegel durch einen "Störimpuls" verursacht worden sein kann, werden bei Block 1519 nur 27 Millisekunden Verarbeitungszeit verbraucht, bevor die Verarbeitung zu Entscheidungsblock 1521 fortschreitet. Bei diesem Entscheidungsblock wird der Zustand des Signals für einen übermäßigen Antrieb erneut überprüft. Wenn das Signal für einen übermäßigen Antrieb weiterhin einen hohen Pegel aufweist, ist ein Fehler aufgetreten. In diesem Fall wird die Verarbeitung von Entscheidungsblock 1521 zu Block 1524 geführt. In diesem Block wird der Fehlerzustand gekennzeichnet und der entsprechende Fehlercode zusammen mit der Zeit/Datum-Markierung als aktuellste Eintragung in den Fehlerstack des NOVRAM-Speichers gespeichert. Anschließend wird Block 1526 ausgeführt, um die Fehlerroutine 900 auf zurufen. Nur nachdem der Benutzer eingegriffen hat, um das System zurückzusetzen, verläßt die Verarbeitung die Routine 1400 und kehrt zur Einsprungstelle A des Hauptprogramms 500 (vergl. Fig. 5) zurück. Wenn in diesem Signal tatsächlich ein Störimpuls aufgetreten ist, wird der Störimpuls während des vorausgehenden 27 Mikrosekunden-Intervalls mit großer Wahrscheinlichkeit nicht vorhanden gewesen sein. Daher hat das Signal für einen übermäßigen Antrieb nun einen niedrigen Pegel. In diesem Fall schreitet die Verarbeitung über den NEIN-Pfad des Entscheidungsblocks 1521 zu Block 1401 fort. Bei Block 1401 werden, wie erwähnt, die Inhalte des Zählers 370 als ein eintreffender Zeitdifferenzmeßwert gelesen. Daraufhin wird Block 1404 ausgeführt, um die Inhalte sowohl des Zählers 370 als auch des Doppelimpulsdetektors 360 zu löschen.
  • An dieser Stelle schreitet die Verarbeitung zu Entscheidungsblock 1406 fort, um den eintreffenden Zeitdifferenzmeßwert in die Wertegruppe TA/TC oder TB/TD einzuordnen. Wie vorstehend im Zusammenhang mit den Figuren 14A und 14B beschrieben, schreitet die Verarbeitung daraufhin entweder über den Pfad 1412 zu Entscheidungsblock 1414, um den Meßwert weiter als Wert TA oder als Wert TC einzuordnen, oder über den Pfad 1409 zu Block 1440 fort, um den Eingangsschalter 320 anzuweisen, die Eingangskanalverbindungen umzukehren. Bei Entscheidungsblock 1414 wird die Verarbeitung zu Pfad 1418 oder zu Pfad 1416 geführt, wenn der eintreffende Meßwert der Wert TA bzw. der Wert TC ist. Wenn der eintreffende Zeitdifferenzmeßwert der Wert TC ist, wird Block 1528 ausgeführt, um die vorstehend in Verbindung mit den Figuren 14A und 14B beschriebene TC-Routine 1430 auf zurufen, um den eintreffenden Zeitdifferenzmeßwert geeignet als Wert TC zu verarbeiten. Wenn der eintreffende Meßwert der Wert TA ist, wird die Verarbeitung von Entscheidungsblock 1414 über den Pfad 1418 zu Block 1529 geführt. In diesem letztgenannten Block wird der Zählwert INCNT des Eingangskanaldiagnosezählers hochgezählt. Dieser Zählwert wird beim Auftreten jedes neuen Wertes TA um Eins hochgezählt und dazu verwendet, den Zeitpunkt zu bestimmen, bei dem der Eingangsschalter 320 angewiesen werden muß, den Eingangskanälen für Diagnosezwecke die Referenzsignale zuzuführen. D.h., dieser Zählwert wird für jeden neuen Satz von vier Zeitdifferenzmessungen um Eins hochgezählt. Nachdem jeweils 70 Sätze von Zeitdifferenzmessungen 16-mal abgeschlossen wurden, führt der Eingangsschalter der Zeitmessungsschaltung 30 beide Referenzsignale zu, um deren Funktion zu prüfen. Wenn die Durchflußrohre mit einer Resonanzfreguenz von etwa 85 Hz vibrieren, wird dieser Diagnosetest alle 1.6 Sekunden einmal ausgeführt. D.h., nachdem der Zählwert INCNT hochgezählt wurde, schreitet die Verarbeitung zu Entscheidungsblock 1530 fort, bei dem dieser Zählwert geprüft wird. Wenn dieser Wert gleich "70" ist, schreitet die Verarbeitung von diesem Entscheidungsblock über den durch JA bezeichneten Pfad zu Block 1533 fort, in dem dieser Zählwert auf Null zurückgesetzt wird. Andererseits oder nachdem Block 1533 ausgeführt wurde, schreitet die Verarbeitung zu Entscheidungsblock 1535 fort. In diesem Block wird geprüft, ob der im Zähler aktuell gespeicherte Zählwert INCNT gleich 16 ist. Wenn dieser Zählwert gleich "16" ist, schreitet die Verarbeitung über den durch JA bezeichneten Pfad von Entscheidungsblock 1535 zu Block 1538 fort, bei dem der Eingangsschalter 320 angewiesen wird, den Kanälen 1 und 2 an Stelle der Geschwindigkeitssignale beide Referenzsignalle zuzuführen. Anschließend oder wenn der aktuelle Zählwert ungleich "16" ist, wird Block 1540 ausgeführt. In diesem Block wird die vorstehend beschriebene TA- Routine 1420 ausgeführt, um den eintreffenden Zeitdifferenzmeßwert geeignet als Wert TA zu verarbeiten.
  • Wenn der eintreffende Zeitdifferenzmeßwert der Wert TB oder der Wert TD ist und Block 1440 ausgeführt wurde, schreitet die Verarbeitung über Pfad 1441 zu Entscheidungsblock 1443 fort. An dieser Stelle wird in Entscheidungsblock 1443 der eintreffende Zeitdifferenzmeßwert weiter als Wert TB oder TD eingeordnet. Wenn der Meßwert der Wert TB ist, schreitet die Verarbeitung zu Entscheidungsblock 1542 fort. In diesem Entscheidungsblock wird ebenfalls der aktuelle Schleifenzählwert INCNT geprüft. Wenn dieser Zählwert "16" ist, wodurch angezeigt wird, daß nun die Referenzsignale über den Eingangsschalter 320 der Zeitdifferenzmessungsschaltung 30 zugeführt werden, wird über den von Entscheidungsblock 1542 ausgehenden, durch JA bezeichneten Pfad Block 1545 ausgeführt. Bei Block 1545 wird der eintreffende Zeitmeßwert, der nun der Wert TB ist, für eine spätere Verwendung während der Ausführung des Eingangskanaldiagnosetests in eine separate Speicherstelle des NOVRAM-Speichers gespeichert. Anschließend oder wenn dieser Zählwert ungleich "16" ist, wird Block 1547 ausgeführt. Bei Block 1547 wird die vorstehend beschriebene TB-Routine 1450 aufgerufen, um den eintreffenden Zeitdifferenzmeßwert geeignet als Wert TB zu verarbeiten. An dieser Stelle werden verschiedene Diagnosetests bezüglich des überwachungszeitgebers durchgeführt. D.h., die Verarbeitung schreitet zu Entscheidungsblock 1549 fort, in dem geprüft wird, ob der Überwachungszeitgeber (Zeitgeber 290) das Ende seines Zeitintervalls erreicht hat (d.h., ob dieser Zeitgeber abgelaufen ist). Wenn dieser Zeitgeber abgelaufen ist, wird dadurch angezeigt, daß diese Routine (Zeitdifferenzmessung-Unterbrechungsroutine 1400) innerhalb der letzten 100 Millisekunden nicht ausgeführt wurde. Dadurch wird eine unregelmäßige Operation angezeigt, die mit großer Wahrscheinlichkeit durch einen Fehler verursacht wurde. Daher schreitet die Verarbeitung über den durch JA bezeichneten Pfad von Entscheidungsblock 1549 zu Block 1556 fort. In diesem letztgenannten Block wird der Fehlerzustand gekennzeichnet und der entsprechende Fehlercode zus ammen mit der Zeit/Datum-Markierung als aktuellste Eingabe in den Fehlerstack gespeichert. Daraufhin wird Block 1558 ausgeführt, um die Fehlerroutine 900 auf zurufen. Die Verarbeitung schreitet anschließend von dieser Routine nur dann fort, wenn der Benutzer eingreift, um das System zurückzusetzen. Wenn dies der Fall ist, schreitet die Verarbeitung zur Einsprungstelle A des Hauptprogramms 500 fort (vergl. Fig. 5). Wenn der Überwachungszeitgeber nicht abgelaufen ist, schreitet die Verarbeitung über den durch NEIN bezeichneten Pfad von Entscheidungsblock 1549 zu Block 1552 fort, wo dieser Zeitgeber zurückgesetzt wird, um einen neuen 100 msec-Zeitzyklus zu starten. Wenn die Durchflußrohre bei normalen Frequenzen schwingen, wird die Routine 1400 ausreichend häufig ausgeführt, um zu gewährleisten, daß der Überwachungszeitgeber vor dem Zurücksetzen nie das Ende seines 100 msec-Zeitintervalls erreicht. Wenn Block 1552 ausgeführt wurde, schreitet die Verarbeitung zu Block 1554 fort, bei dem der aktuelle Zählwert IROC des Software-Zählers um Eins vermindert wird. Wie vorstehend beschrieben, werden die Inhalte dieses Zählers immer dann zurückgesetzt, wenn die 100 msec-Unterbrechungsroutine 1000 (vergl. Figuren 10A-10D) ausgeführt wird. Wenn die 100 msec-Unterbrechungsroutine innerhalb einer 2-Sekunden-Periode nicht ausgeführt wurde, ist möglicherweise in der Realzeituhr ein Fehler aufgetreten. Wenn dieser Fehler auftritt, werden bei Block 1554 die Inhalte dieses Zählers auf Null vermindert. An dieser Stelle schreitet die Verarbeitung zu Entscheidungsblock 1560 fort, wo geprüft wird, ob der Zählwert IROC dieses Zählers gleich Null ist, d.h., ob der Software-Zeitgeber abgelaufen ist. Wenn der Zählwert ungleich Null ist, verläßt die Verarbeitung die Zeitdifferenzmessung-Unterbrechungsroutine 1400 über den durch NEIN bezeichneten Pfad von Entscheidungsblock 1560. Wenn der Software-Zeitgeber abgelaufen ist (wenn der Wert IROC gleich Null ist), schreitet die Verarbeitung über den durch JA bezeichneten Pfad von Entscheidungsblock 1560 zu Block 1563 fort. Bei diesem letztgenannten Block wird der Fehlerzustand gekennzeichnet und der entsprechende Fehlercode zusammen mit einer Zeit/Datum-Markierung als letzte Eintragung in den Fehlerstack des NOVRAM- Speichers gespeichert. Anschließend wird Block 1565 ausgeführt, um die vorstehend beschriebene Fehlerroutine 900 aufzurufen. Nur nachdem der Benutzer eingreift, um das System zurückzusetzen, schreitet die Verarbeitung fort, um die Routine 1400 zu verlassen und zur Einsprungstelle A des Hauptprogramms 500 (vergl. Fig. 5) zurückzukehren.
  • Wenn bei Entscheidungsblock 1443 der eintreffende Zeitdifferenzmeßwert als Wert TD eingeordnet urde, schreitet die Verarbeitung von diesem Entscheidungsblock über den Pfad 1445 zu Entscheidungsblock 1567 fort. In diesem letztgenannten Block wird der Zählwert INCNT geprüft, um festzustellen, ob der Zählwert gleich "16" ist, wodurch angezeigt wird, daß beide Referenzsignale über den Eingangsschalter 320 den Kanälen 1 und 2 zugeführt werden. Wenn der Zählwert gleich "16" ist, schreitet die Verarbeitung über den durch JA bezeichneten Pfad von Entscheidungsblock 1567 zu Block 1571 fort. Bei diesem letztgenannten Block wird der eintreffende Zeitmeßwert TD für eine spätere Verwendung während der Ausführung des Eingangskanaldiagnosetests in eine separate Speicherstelle des NOVRAM-Speichers gespeichert. Anschließend wird Block 1573 ausgeführt, um den Eingangsschalter 320 anzuweisen, den Kanälen 1 und 2 der Zeitdifferenzmessungsschaltung 30 an Stelle der Referenzspannungen das linke und das rechte Geschwindigkeitssensorsignal zuzuführen. An dieser Stelle verläßt die Verarbeitung die Zeitdifferenzmessung- Unterbrechungsroutine 1400. Wenn der Wert INCNT ungleich "16" ist, schreitet die Verarbeitung über den durch NEIN bezeichneten Pfad von Entscheidungsblock 1567 zu Block 1569 fort. Bei diesem letztgenannten Block wird die TD-Routine 1470 aufgerufen, um den eintreffenden Zeitdifferenzmeßwert als Wert TD zu verarbeiten. Anschließend wird das Flag zum Kennzeichnen eines übermäßigen Rauschanteils in einem Diagnosetest geprüft. D.h., die Verarbeitung schreitet zu Entscheidungsblock 1575 fort, um den Zustand des Flags zum Kennzeichnen eines übermäßigen Rauschanteils zu prüfen. Wenn dieses Flag gesetzt ist, wodurch angezeigt wird, daß in einem oder in beiden Geschwindigkeitssensorsignalen ein Rauschanteil vorhanden war, schreitet die Verarbeitung zunächst zu Block 1578 fort, bei dem das Flag zum Kennzeichnen eines übermäßigen Rauschanteils zurückgesetzt wird. Weil dieser Rauschanteil vorübergehend auftreten kann, wird nur dann ein Fehlerzustand angezeigt, wenn dieser Rauschanteil während zwei aufeinanderfolgenden Sätzen von Zeitdifferenzmessungen (acht Iterationen durch Routine 1400) vorhanden ist. Wenn Block 1578 ausgeführt wird, wird daher Block 1580 ebenfalls ausgeführt. In diesem Block wird der Zustand eines Flags zum Kennzeichnen eines vorangehenden Rauschanteils geprüft. Wenn dieses Flag nicht gesetzt ist, d.h. das Rauschsignal tritt zum erstenmal in den Zeitdifferenzmessungen auf, schreitet die Verarbeitung über den durch NEIN bezeichneten Pfad von Entscheidungsblock 1580 zu Block 1587 fort, bei dem das Flag zum Kennzeichnen eines vorangehenden Rauschsignals zur Verwendung bei den folgenden vier Iterationen für den nächsten Satz von vier Zeitdifferenzmessungen gesetzt wird. Wenn dies eintritt, verläßt die Verarbeitung die Routine 1400. Wenn daher ein Rauschsignal festgestellt wurde, wird der vollständige Satz von vier Zeitdifferenzmessungen, die durch das Rauschsignal beeinflußt wurden, ignoriert. Wenn das Flag zum Kennzeichnen eines vorangehenden Rauschsignals vorher gesetzt wurde, wodurch angezeigt wird, daß sich das Rauschsignal in zwei aufeinanderfolgende Sätze von Messungen erstreckt, tritt ein Fehlerzustand auf, so daß die Verarbeitung von Entscheidungsblock 1580 zu Block 1583 geführt wird. Bei diesem Block wird der Fehlerzustand gekennzeichnet, indem der entsprechende Fehlercode zusammen mit der Zeit/Datum-Markierung als letzte Eintragung in den Fehlerstack des NOVRAM-Speichers gespeichert wird. Daraufhin wird Block 1585 ausgeführt, um die Fehlerroutine 900 auf zurufen. Diese Routine wird ununterbrochen ausgeführt, bis der Benutzer eingreift, um das System zurückzusetzen, wodurch die Verarbeitung die Routine 1400 verläßt und zur Einsprungstelle A des Hauptprogramms 500 zurückkehrt (vergl. Fig. 5).
  • Wenn das Flag zum Kennzeichnen eines übermäßigen Rauschanteils nicht gesetzt ist, schreitet die Verarbeitung von Entscheidungsblock 1575 über den durch NEIN bezeichneten Pfad 1576 zu Entscheidungsblock 1590 fort. In diesem letztgenannten Block wird geprüft, ob für einen der eintreffenden Zeitdifferenzmeßwerte des aktuellen Satzes gerade ein Eingabeüberlauf aufgetreten ist. Wie vorstehend beschrieben, tritt ein Eingabeüberlauf ein, wenn der Mikroprozessor feststellt, daß ein eintreffender Zeitdifferenzmeßwert die Kapazität des Zählers 370 überschreitet, wodurch der Zähler überläuft. Wenn kein Überlauf auftritt, schreitet die Verarbeitung über den durch NEIN bezeichneten Pfad von diesem Entscheidungsblock zu Entscheidungsblock 1593 fort. In diesem letztgenannten Block wird der Zustand der +5 Volt-Spannungszufuhr geprüft, indem der Pegel des +5 Volt-Zustandsignals geprüft wird. Wenn diese Spannungszufuhr geeignet arbeitet, schreitet die Verarbeitung zu Block 1599 fort. Bei diesem Block wird die Filter- und Speicherroutine 1490 aufgerufen, um die Zeitdifferenzsumme zu filtern, den Nulldurchfluß-Offsetwert davon zu subtrahieren und den erhaltenen Wert als Zeitdifferenzsumme TSf für eine anschließende Verwendung durch die 100 msec-Unterbrechungsroutine 1000 (vergl. Figuren 10A-10D) in den NOVRAM-Speicher zu speichern. Wenn die Routine 1490 ausgeführt wurde, verläßt die Verarbeitung die Routine 1400. Wenn gerade ein Eingabeüberlauf aufgetreten ist, schreitet die Verarbeitung über den durch JA bezeichneten Pfad von Entscheidungsblock 1590 zu Entscheidungsblock 1596 fort. Weil ein solcher Überlauf als Reaktion auf einen vorübergehenden Zustand auftreten kann, wird bei Entscheidungsblock 1590 festgestellt, ob während des vorangehenden Satzes von Zeitdifferenzmessungen ein Eingabeüberlauf aufgetreten ist. Wenn während des vorherigen Satzes von Messungen kein Überlauf aufgetreten ist, schreitet die Verarbeitung von Entscheidungsblock 1596 über den durch NEIN bezeichneten Pfad zu Block 1604 fort, bei dem das Eingabeüberlaufflag gesetzt wird. Anschließend verläßt die Verarbeitung die Routine 1400. Immer wenn ein Eingabeüberlauf zustand auftritt, wird der aktuelle Satz von Zeitdifferenzmessungen ignoriert. Wenn das Eingabeüberlaufflag vorher gesetzt wurde und gegenwärtig ein Eingabeüberlauf zustand vorliegt, wodurch angezeigt wird, daß bei zwei aufeinanderfolgenden Sätzen von Messungen jeweils ein Überlauf aufgetreten ist, tritt ein Fehler auf. In diesem Fall schreitet die Verarbeitung von Entscheidungsblock 1596 zu Block 1600 fort. Dieser Block wird auch über den durch NEIN bezeichneten Pfad von Entscheidungsblock 1593 erreicht und ausgeführt, wenn bei diesem Entscheidungsblock ein Fehler in der +5 Volt-Spannungsversorgung festgestellt wird. Bei Block 1600 wird der Fehlerzustand gekennzeichnet und der entsprechende Fehlercode zusammen mit der Zeit/Datum-Markierung als letzte Eintragung in den Fehlerstack des NOVRAM-Speichers gespeichert. Anschließend wird Block 1602 ausgeführt, um die Fehlerroutine 900 aufzurufen. Diese Routine wird ununterbrochen wiederholt ausgeführt, bis der Benutzer eingreift, um das System zurückzusetzen und zu veranlassen, daß die Verarbeitung die Zeitdifferenzmessung-Unterbrechungsroutine 1400 verläßt und zur Einsprungstelle A des Hauptprogramms 500 (vergl. Fig. 5) fortschreitet. Damit ist die ausführliche Beschreibung von Routine 1400 abgeschlossen.
  • Wie erwähnt, benötigt die Software insbesondere zum Skalieren und zum Umwandeln der Einheiten mehrere Multiplikationsschritte. Um Rechenzeit einzusparen, führt die Software die Multiplikation nicht-ganzer Zahlen durch eine Multiplikation ganzer Zahlen und eine anschließende Verschiebung aus. D.h., eine nicht-ganze Zahl kann durch eine ganze Zahl (N) dargestellt werden, die durch Zwei erhoben zu einer vorgegebenen Potenz (M) dividiert wird. Für jede nicht-ganze Zahl können mehrere verschiedene Werte für N und M existieren. Beispielsweise muß, um einen in Pfund/Sekunde vorliegenden Wert in Kilogramm/Sekunde umzuwandeln, dieser Wert mit einem Pfund/Kilogramm-Umwandlungsfaktor von 2.2046 multipliziert werden. Der Wert 2.2046 ist gleich 72240/2¹&sup5;, 36120/2¹&sup4; oder 18060/2¹³. Daher kann diese Umwandlung schnell berechnet werden, indem der in Kilogramm/Sekunde gegebene Wert mit einer ganzen Zahl, 72240, 36120 oder 18060 multipliziert wird und das Ergebnis daraufhin um 15, 14 oder 13 Stellen nach rechts verschoben wird. Weil der bei der bevorzugten Ausführungsform verwendete Mikroprozessor, ein von Zilog Corporation hergestellter Mikroprozessor ZS-8, einen internen 8-mal-8-Bit-Hardware-Multiplizierer aufweist, der dazu verwendet wird, einen 16-mal-16-Bit-Software-Multiplizierer zu bilden, wird die ganze Zahl so groß wie möglich und bis zu einem Maximalwert von 65535 (2¹&sup6; - 1) gewählt, um eine maximale Auflösung zu erhalten, so lange der Wert M des Exponenten eine ganze Zahl bleibt. Daher sind für alle vorgegebenen nicht-ganzen Konstanten (z.B. Skalierungs- und Umwandlungsfaktoren, Federkonstanten und ähnliche) entsprechende Werte für N und M in einer Tabelle im EPROM-Speicher gespeichert. Immer wenn der Mikroprozessor angewiesen wird ein nicht-ganzzahliges Produkt aus einer Zahl und einer dieser nicht-ganzzahligen Konstanten zu berechnen, greift der Mikroprozessor auf die Tabelle zu, um die geeigneten Werte für N und M zu bestimmen, und führt die nicht-ganzzahlige Multiplikation aus, indem zunächst unter Verwendung des Hardware-Multiplizierers die Konstante mit der ganzen Zahl N multipliziert und daraufhin das Ergebnis um M Stellen nach rechts (oder, wenn M negativ ist, um M Stellen nach links) verschoben wird. Auf diese Weise vorteilhaft eine erhebliche Verarbeitungszeitersparnis erreicht.
  • C. Netzwerkbeschreibung
  • Mehrere der vorstehend beschriebenen erfindungsgemäßen Meßsysteme können in einem Netzwerk mit einem einzigen Verarbeitungsrechner miteinander verbunden werden, wie in Fig. 16 dargestellt.
  • Wie dargestellt, weist das Netzwerk einzelne Meßsysteme 5&sub1;, 5&sub2;, ..., 5n auf, die jeweils aus einer Meßanordnung und einem Kartendrucker bestehen, die beide mit einer Meßelektronik verbunden sind. Die Meßanordnungen 10&sub1;, 10&sub2;, 10n sind alle mit der in Fig. 1 dargestellten und vorstehend ausführlich beschriebenen Meßanordnung 10 identisch und über Leitungen 100&sub1;, 100&sub2;, ..., 100n mit entsprechenden Meßelektronikeinheiten 20&sub1;, 20&sub2;, ..., 20n verbunden. Ähnlich sind alle einzelnen Meßelektronikeinheiten mit der ebenfalls in Fig. 1 dargestellten und vorstehend ausführlich beschriebenen Meßelektronik 20 identisch. Wie erwähnt, werden durch jede Meßelektronik zwei serielle Schnittstellen bereitgestellt: eine RS-232C-Schnittstelle und eine RS-485-Schnittstelle. Die RS-232C-Schnittstelle wird von jedem Meßsystem verwendet, um eine Kommunikation mit einem Nahperipheriegerät, wie beispielsweise einem vorstehend erwähnten Kartendrucker herzustellen. Hierbei sind Kartendrucker 15&sub1;, 15&sub2;, ..., 15n über Leitungen 252&sub1;, 252&sub2;, ..., 252n mit den Meßelektronikeinheiten 20&sub1;, 20&sub2;, ..., 20n verbunden. Die RS- 485-Schnittstellen werden für Netzwerkkommunikationen verwendet und sind alle zu einer gemeinsamen Zeidraht-Differenzleitung 83 (z.B. eine geeignet verdrillte Doppelleitung) miteinander verknüpft. Ein Verarbeitungsrechner mit einem Prozessor 88 ist ebenfalls über eine RS-485-Schnittstelle 85 mit der Differenzkommunikationsleitung 83 verknüpft. Außerdem ist ein Kartendrucker 90 über eine serielle RS-232C- Schnittstelle 86 lokal mit einem im Verarbeitungsrechner angeordneten Prozessor 88 verbunden. Durch Verwenden einer geeigneten Software in jedem Meßsystem und im Verarbeitungsrechner kann der Verarbeitungsrechner mit jedem einzelnen Meßsystem auf einer bi-direktionalen Basis vorteilhaft kommunizieren. Auf diese Weise kann der Verarbeitungsrechner zunächst jedes Meßsystem durch geeignetes Setzen der Benutzerparameter für dieses Meßgerät nach Wunsch konfigurieren (durch Auswählen geeigneter Skalierungsfaktoren, der oberen/unteren Alarmpegel, der Ausgangsmaßeinheiten) und anschließend Flußdaten von jedem Meßgerät durch eine Abfrage dieses Meßgeräts oder durch eine durch dieses Meßgerät eingeleitete periodische Übertragung empfangen. Der Verarbeitungsrechner kann außerdem Fehlerdaten von jedem Meßgerät empfangen und Fehlerzustände löschen. Auf diese Weise kann der Verarbeitungsrechner für weitere Analysen und betriebsweite Prozeßsteuerungsanwendungen die Gesamt-Massendurchflußwerte und alle Massendurchflußwerte erhalten, die durch jedes Meßgerät gemessen wurden. Darüber hinaus kann der Verarbeitungsrechner die Gesamtdurchflußinformation für ein oder mehrere Meßsysteme unter Verwendung des Kartendruckers 90 lokal ausdrucken.
  • Diese Netzwerkfähigkeiten sind insbesondere in Anwendungsbereichen vorteilhaft, bei denen mehrere Meßstandorte erforderlich sind. Ein solches Anwendungsbeispiel ist ein Tanklager. Hierbei sind die Meßsysteme mit zu den entsprechenden Tanks führenden Rohren und in Serie miteinander verbunden, wobei jedes Meßsystem dazu verwendet wird, die Menge eines Produktes (Flüssigkeit oder dünnflüssiger Schlamm) zu messen, das in diesen Tank hinein- oder aus diesem Tank herausströmt. Durch das Netzwerk kann ein Verarbeitungsrechner die Durchflußdaten mehrerer Tanks des Lagers leicht erfassen. Wenn die Tanks mit verschiedenen Produkten gefüllt sind, kann der Verarbeitungsrechner das Meßgerät für jeden Tank geeignet konfigurieren, um Massendurchfluß- und Nassendurchflußratendaten in Maßeinheiten zu erhalten, die insbesondere für die Industrie, die dieses Produkt verwendet, geeignet sind. Wenn ein Tank mit einem anderen als dem vorher eingefüllten Produkt gefüllt werden soll, kann der Verarbeitungsrechner das Meßsystem für diesen Tank für das neue Produkt geeignet neu konfigurieren. Dadurch ist vorteilhaft keine Bedienungsperson erforderlich, die sich zu jedem Meßstandort begeben muß, um das Meßgerät zu konfigurieren. Darüber hinaus können vor einem Güterumschlag Informationen in den Verarbeitungsrechner 80 von einem davor angeordneten Prozessor programmgeladen werden, der an einer Quellenposition, wie beispielsweise einer Rohrleitung, einer Raffinerie oder einem anderen Tanklager angeordnet ist, wobei angenommen wird, daß die Produkte nacheinander weitergeleitet werden, so daß der sich ergebende Güterumschlag aller Produkte auf einer vollständig automatischen Basis gehandhabt und gemessen werden kann.
  • Für Fachleute ist erkennbar, daß, obwohl bei der beschrieberien Ausführungsforin U-förmige Durchflußrohre verwendet werden, Durchflußrohre nahezu jeder Größe und Form verwendet werden können, so lange die Rohre um eine Achse in Schwingung versetzt werden können, um einen Nicht-Inertial- Referenzsystem zu erhalten. Diese Rohre können beispielsweise gerade Rohre, S-förmige Rohre oder schleifenförmige Rohre umfassen, wobei die Rohrform jedoch nicht auf diese Formen begrenzt ist. Darüber hinaus können auf Wunsch, obwohl das Meßgerät so dargestellt ist, daß es nur zwei parallele Durchflußrohre aufweist, mehr als zwei, beispielsweise drei, vier oder mehr, parallele Durchflußrohre verwendet werden. Ferner können, obwohl Durchflußrohre beschrieben wurden, die aus einem Material mit einer linearen Federkonstanten (beispielsweise aus rostfreiem Stahl 316L) hergestellt sind, die Durchflußrohre alternativ aus einem Material mit einer nicht-linearen Federkonstanten hergestellt werden, so lange die Federkonstante über den Bewegungsbereich der Schwingung der Durchflußrohre als Praktisch exakt linear bezeichnet werden kann.
  • Obwohl eine bestimmte Ausführungsform der vorliegenden Erfindung dargestellt und beschrieben wurde, können durch Fachleute leicht viele verschiedene Ausführungsformen konstruiert werden, die die Merkmale der vorliegenden Erfindung aufweisen.

Claims (32)

1. Vorrichtung für ein Coriolis-Massendurchflußmeßsystem (5), die besonders zur Verwendung beim Umschlagen von Gütern geeignet ist, wobei die Vorrichtung eine Coriolis-Massendurchflußmeßanordnung (10) mit mindestens einem Durchflußrohr (130) mit damit verbundenen Sensoren aufweist, um Sensorsignale zu erzeugen, die eine Bewegung des Durchflußrohrs anzeigen, sowie eine mit der Meßanordnung (10) verbundene Meßelektronik (20) zum Erzeugen eines Massendurchflußwertes (RateD) in Antwort auf die Sensorsignale, wobei die Meßelektronik aufweist:
eine auf die Sensorsignale ansprechende Schaltungseinrichtung (30), um in Antwort auf die festgestellte Bewegung des Durchflußrohrs eine zwischen einem ersten und einem zweiten Zeitpunkt auftretende Zeitdifferenz (Δt) zu bestimmen, wobei der erste Zeitpunkt eintritt, wenn ein Schenkel des Durchflußrohrs in seiner Bewegung einen vorgegebenen Referenzpunkt erreicht, und der zweite Zeitpunkt eintritt, wenn ein anderer Schenkel des Durchflußrohrs in seiner Bewegung einen entsprechenden vorgegebenen Punkt erreicht, und wobei die Zeitdifferenz in Antwort auf auf das Durchflußrohr wirkende entgegengesetzte Corioliskräfte auftritt und eine Funktion des Massendurchflußwertes eines das Durchflußrohr durchfließenden Fluids ist,
ein auf die vorgegebene Zeitdifferenzmessung ansprechendes Prozessorsystem (205, 210, 215) zum Erzeugen (1400, 1011-1056) des Massendurchflußwertes, und eine Einrichtung (278) zum Erzeugen einer den Massendurchflußwert darstellenden Anzeige als Ausgangssignal des Systems,
dadurch gekennzeichnet, daß
das Prozessorsystem (1400) in Antwort auf die festgestellte Zeitdifferenz (Δt) einen Meßwert (TSf) des Massendurchflusses des Fluids erzeugt, den gemessenen Massendurchflußwert bezüglich einer normalisierten Masseneinheit und einer normalisierten Zeiteinheit normalisiert (1014, 1020), um einen normalisierten Massendurchflußwert (Rate) zu erhalten, Werte verschiedener Systemausgangsparameter in Antwort auf den normalisierten Massendurchflußwert setzt (1022-1037), den normalisierten Massendurchflußwert (Rate) in einen normalisierten Massendurchfluß/Zeiteinheit-Wert (RateS) umwandelt (1041), die über ein vorgegebenes Zeitintervall auftretenden normalisierten Massendurchfluß/Zeiteinheit-Werte (RateS) aufsummiert (1043), um einen Summen-Massenwert (Total) zu erhalten, den normalisierten Massendurchfluß/Zeiteinheit-Wert (RateS) in einen Massendurchflußausgangswert (RateD) mit vorgewählten Zeit- und Masseeinheiten umwandelt (1056), verschiedene Diagnosetests ausführt (504, 515, 529, 541, 563, 577, 648, 1001, 1340, 1350, 1521, 1549, 1560, 1580, 1593, 1596), um Fehler festzustellen, die in der Funktion der Vorrichtung auftreten können, einen Fehlerzustand (506, 519, 528, 543, 566, 582, 651, 1004, 1360, 1524, 1556, 1563, 1583, 1600) anzeigt, wenn bei einem der Diagnosetests ein Fehler festgestellt wird, und
verhindert (900, 915), daß der Massendurchflußwert erzeugt wird und/oder die weitere Summenbildung der aufsummierten Massenwerte blockiert, wenn ein Fehlerzustand angezeigt wird, wobei der gemessene Massendurchflußwert (TSf) ein Wert ist, der den Massendurchfluß in Massen- und Zeiteinheiten darstellt, der normalisierte Massendurchflußwert (Rate) ein Wert ist, der den Massendurchfluß in normalisierten Zeiteinheiten und normalisierten Masseneinheiten darstellt, der normalisierte Massendurchfluß/Zeiteinheit-Wert (RateS) ein Wert ist, der den Massendurchfluß in normalisierten Zeiteinheiten und gewünschten normalisierten Masseneinheiten darstellt, der Summen-Massenwert (Total) ein Wert ist, der den Summen-Massenwert in einer gewünschten normalisierten Masseneinheit darstellt, und der Massendurchflußausgangswert (RateD) ein Wert ist, der den Massendurchfluß in gewünschten Zeiteinheiten und gewünschten Masseneinheiten darstellt.
2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß das Prozessorsystem mindestens einen Diagnosetest einer vorher festgelegten Folge von Diagnosetests periodisch ausführt (560, 577), um Fehler festzustellen, die in der Funktion eines vorher bestimmten Abschnitts (220, 298, 30, 205, 210) der Vorrichtung auftreten können.
3. Vorrichtung nach Anspruch 2, dadurch gekennzeichnet, daß das Prozessorsystem weitere Diagnosetests ausführt (648, 1001, 1340, 1350, 1521, 1549, 1560, 1580, 1593, 1596), die kontinuierlich ausgeführt werden, um Fehler festzustellen, die in der Funktion der Vorrichtung auftreten können.
4. Vorrichtung nach Anspruch 2 oder 3, dadurch gekennzeichnet, daß das Prozessorsystem während der Initialisierung der Vorrichtung weitere Diagnosetests ausführt (504, 515, 529, 541).
5. Vorrichtung nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß das Prozessorsystem einen Prozessor (205) und einen mit dem Prozessor verbundenen Zeitgeber (290) aufweist, wobei der Zeitgeber einen Fehlerzustand anzeigt, wenn die Funktion des Prozessors unterbrochen ist.
6. Vorrichtung nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß die Meßelektronik eine auf das Vorhandensein eines Fehlerzustands ansprechenden Schließkontakt (27) aufweist.
7. Vorrichtung nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß das Prozessorsystem die Wiederaufnahme der Aufsummierungsoperation ermöglicht (930, 940, 500, 501), sobald die Fehleranzeige durch äußeres Einwirken zum Beenden der Fehleranzeige gelöscht wurde.
8. Vorrichtung nach Anspruch 3, ferner mit einer Detektoreinrichtung (360) zum Erzeugen eines Fehlersignals, wenn mindestens eines der Sensorsignale einen Rauschanteil aufweist, wobei das Prozessorsystem einen zugeordneten Fehlerzustand anzeigt (1510, 1513, 1575, 1578, 1580, 1583), wenn der Rauschanteil über eine vorgewählte Zeitdauer vorhanden ist.
9. Vorrichtung nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß das Prozessorsystem ferner einen Speicher (210) aufweist, wobei das Prozessorsystem einen entsprechenden Fehlercode jedes der aufgetretenen Fehlerzustände speichert (210) und anschließend darstellt (278).
10. Vorrichtung nach einem der vorangehenden Ansprüche,dadurch gekennzeichnet, daß die Schaltungseinrichtung (130) aufweist:
eine Einrichtung (320) zumerzeugen ersterund zweiter Sensorsignale als erstes bzw. zweites Kanalsignal;
eine auf das erste und das zweite Kanalsignal ansprechende Einrichtung (370) zum Messen der Zeitdifferenz (Δt) und zum Erzeugen eines die gemessene Zeitdifferenz darstellenden numerischen Wertes; und
eine Einrichtung (1400) zum Ausführen mehrerer einzelner Zeitdifferenzmessungen, die während einer vorgegebenen Anzahl sinusförmiger Zyklen auftreten, die mindestens eines der Sensorsignale bilden, wobei die Hälfte der Zeitdifferenzmessungen mit ersten und zweiten der Sensorsignale, die als das erste bzw. das zweite Kanalsignal zugeführt werden, und die andere Hälfte mit den in umgekehrter Reihenfolge zugeführten Sensorsignalen durchgeführt werden.
11. Vorrichtung nach Anspruch 10, dadurch gekennzeichnet, daß die Schaltungseinrichtung (30) ferner eine Einrichtung (320) aufweist, um in Verbindung mit dem Prozessorsystem (1420, 1430, 1450, 1470) eine Summe (TSf) von Werten der einzelnen Zeitdifferenzmessungen zu erzeugen, so daß Fehlerkomponenten, die Unterschieden der elektrischen Kenngrößen des ersten und des zweiten Kanals zugeordnet werden können, in der Summe kompensiert werden.
12. Vorrichtung nach Anspruch 11, dadurch gekennzeichnet, daß das Mikroprozessorsystem vier einzelne Zeitdifferenzmessungen während zwei aufeinanderfolgenden Zyklen veranlaßt (1406, 1414, 1443), die in einer Wellenform auftreten, die durch einen Mittelwert der ersten und der zweiten Sensorsignale gebildet wird.
13. Vorrichtung nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß die Meßelektronik ferner eine Einrichtung (30, 215) aufweist, um eine erste und eine zweite Unterbrechung zu erzeugen, wobei die erste Unterbrechung beim Abschluß jeder Zeitdifferenzmessung und die zweite Unterbrechung in vorher festgelegten Zeitintervallen erzeugt wird, wobei die erste Unterbrechung das Prozessorsystem veranlaßt, den Wert der Zeitdifferenzmessung (Δt) in eine Summe (TSf) von Zeitdifferenzmessungen aufzunehmen (1400), und die zweite Unterbrechung das Prozessorsystem veranlaßt, den Massendurchflußwert (RateD) und die Summen-Massendurchflußinformation (Total) unter Verwendung der Summe (TBf) zu aktualisieren (1000).
14. Vorrichtung nach Anspruch 2 und 13, dadurch gekennzeichnet, daß die vorher festgelegte Folge von Diagnosetests während einer Zeitdauer ausgeführt wird, in der weder die erste noch die zweite Unterbrechung abgearbeitet wird.
15. Vorrichtung nach Anspruch 3 und 13, dadurch gekennzeichnet, daß die weiteren Diagnosetests während einer Zeitdauer ausgeführt werden, in der entweder die erste oder die zweite Unterbrechung abgearbeitet wird.
16. Vorrichtung nach Anspruch 5 und 13, dadurch gekennzeichnet, daß der Prozessor einen Diagnosetest ausführt (1001, 1549), um zu prüfen, ob die erste Unterbrechung abgearbeitet wurde.
17. Vorrichtung nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß die Vorrichtung ferner eine Antriebsvorrichtung (180) und die Meßelektronik (20) ferner eine Steuerschaltung (40) zum Erzeugen eines Steuersignals aufweist, das der Antriebsvorrichtung (180) zugeführt wird, um das Durchflußrohr (130) in Bewegung zu versetzen, wobei die Steuerschaltung deaktiviert wird, wenn bei einem Diagnosetest ein Fehler festgestellt wird.
18. Verfahren zur Verwendung in einer Coriolis- Massendurchflußmeßvorrichtung, die besonders zur Verwendung beim Umschlagen von Gütern geeignet ist, wobei die Vorrichtung eine Coriolis-Massendurchflußmeßanordnung mit mindestens einem Durchflußrohr mit damit verbundenen Sensoren und eine Meßelektronik mit einem Prozessorsystem zum Erzeugen einer Information aufweist, die eine Bewegung des Durchflußrohrs anzeigt, wobei das Verfahren die Schritte aufweist:
Bestimmen (30) einer zwischen einem ersten und einem zweiten Zeitpunkt auftretenden Zeitdifferenz (Δt) in Antwort auf die Information der festgestellten Bewegung, wobei der erste Zeitpunkt eintritt, wenn ein Schenkel des Durchflußrohrs in seiner Bewegung einen vorgegebenen Referenzpunkt erreicht, und der zweite Zeitpunkt eintritt, wenn ein anderer Schenkel des Durchflußrohrs in seiner Bewegung einen entsprechenden vorgegebenen Punkt erreicht, und wobei die Zeitdifferenz in Antwort auf auf das Durchflußrohr wirkende entgegengesetzte Corioliskräfte auftritt und eine Funktion des Massendurchflusses eines das Durchflußrohr durchfließenden Fluids ist;
Bestimmen (205, 210, 215, 1400, 1000, 1011-1056) eines Massendurchflusses in Antwort auf die Sensorsignale;
Erzeugen (1400) eines Meßwerts (TSf) des Massendurchflusses des Fluids in Antwort auf die festgestellte Zeitdifferenz (Δt);
Normalisieren (1014, 1020) des gemessenen Massendurchflußwertes bezüglich einer normalisierten Masseneinheit und einer normalisierten Zeiteinheit, um einen normalisierten Massendurchflußwert (Rate) zu erhalten;
Einstellen von Werten (1022-1037) verschiedener Systemausgangsparameter in Antwort auf den normalisierten Massendurchflußwert;
Umwandeln (1041) des normalisierten Massendurchflußwertes (Rate) auf einen normalisierten Massendurchfluß/Zeiteinheit-Wert (RateS);
Aufsummieren (1043) der über ein bestimmtes Zeitintervall auftretenden normalisierten Massendurchfluß/Zeiteinheit-Werte, um einen Summen-Massenwert (Total) zu erhalten;
Umwandeln (1056) des normalisierten Massendurchfluß/Zeiteinheit-Wertes (RateS) in einen Massendurchfluß-Ausgangswert (RateD) mit vorgewählten Zeit- und Masseneinheiten;
Ausführen verschiedener Diagnosetests (504, 515, 529, 541, 563, 577, 648, 1001, 1340, 1350, 1521, 1549, 1560, 1580, 1593, 1596), um Fehler festzustellen, die in der Funktion der Vorrichtung auftreten können,
Anzeigen eines Fehlerzustands (506, 519, 528, 543, 566, 582, 651, 1004, 1360, 1524, 1556, 1563, 1583, 1600), wenn bei einem der Diagnosetests ein Fehler festgestellt wird, und
Verhindern (900, 915), daß der Massendurchflußwert erzeugt wird und/oder Blockieren der weiteren Summenbildung des aufsummierten Massenwerts, wenn ein Fehlerzustand angezeigt wird, wobei der gemessene Massendurchfluß (TSf) ein Wert ist, der den Massendurchfluß in Massen- und Zeiteinheiten darstellt, der normalisierte Massendurchflußwert (Rate) ein Wert ist, der den Massendurchfluß in normalisierten Zeiteinheiten und normalisierten Masseneinheiten darstellt, der normalisierte Massendurchfluß/Zeiteinheit-Wert (RateS) ein Wert ist, der den Massendurchfluß in normalisierten Zeiteinheiten und gewünschten normalisierten Masseneinheiten darstellt, der Summen-Massenwert (Total) ein Wert ist, der den Summen-Massenwert in einer gewünschten normalisierten Masseneinheit darstellt, und der Massendurchfluß-Ausgangswert (RateD) ein Wert ist, der den Massendurchfluß in gewünschten Zeiteinheiten und gewünschten Masseneinheiten darstellt.
19. Verfahren nach Anspruch 18, ferner mit dem Schritt:
periodisches Ausführen mindestens eines Diagnosetests einer vorgegebenen Folge von Diagnosetests, um Fehler festzustellen, die in der Funktion eines vorher bestimmten Abschnitts (220, 298, 30, 205, 210) der Vorrichtung auftreten können.
20. Verfahren nach Anspruch 19, ferner mit dem Schritt:
Ausführen weiterer Diagnosetests (648, 1001, 1340, 1350, 1521, 1549, 1560, 1580, 1593, 1596), die ununterbrochen ausgeführt werden, um Fehler festzustellen, die in der Funktion der Vorrichtung auftreten können.
21. Verfahren nach Anspruch 19 oder 20, ferner mit dem Schritt:
Ausführen weiterer Diagnosetests (504, 515, 529, 541) während der Initialisierung der Vorrichtung.
22. Verfahren nach einem der Ansprüche 18 bis 21, ferner mit dem Schritt:
Anzeigen eines Fehlerzustands, wenn die Funktion des Prozessorsystem unterbrochen ist.
23. Verfahren nach Anspruch 18, ferner mit dem Schritt:
Ermöglichen, daß die Summenbildungsoperation (930, 940, 500, 501) wiederaufgenommen wird, sobald die Fehleranzeige durch äußeres Einwirken zum Beenden der Fehleranzeige gelöscht wird.
24. Verfahren nach Anspruch 20, ferner mit den Schritten:
Erzeugen (360) eines Fehlersignals, wenn mindestens eines der Sensorsignale einen Rauschanteil enthält; und
Anzeigen (1510, 1513, 1575, 1578, 1580, 1583, 1585) eines zugeordneten Fehlerzustands, wenn das Rauschsignal über eine vorgewählte Zeitdauer vorhanden ist.
25. Verfahren nach einem der Ansprüche 18 bis 24, ferner mit dem Schritt:
Speichern (210) und anschließendes Anzeigen (278) eines entsprechenden Fehlercodes jedes der aufgetretenden Fehlerzustände.
26. Verfahren nach einem der Ansprüche 18 bis 25, ferner mit den Schritten:
Ausgeben (320) erster und zweiter Sensorsignale als erstes bzw. zweites Kanalsignal;
Messen (370) der Zeitdifferenz in Antwort auf das erste und das zweite Kanalsignal;
Erzeugen eines die gemessene Zeitdifferenz (Δt) darstellenden numerischen Wertes; und
Ausführen (1400) mehrerer einzelner Zeitdifferenzmessungen, die während einer vorgegebenen Anzahl sinusförmiger Zyklen auftreten, die mindestens eines der Sensorsignale bilden, wobei die Hälfte der Zeitdifferenzmessungen mit den ersten und den zweiten der Sensorsignale, die als erstes und als zweites Kanalsignal zugeführt werden, und die andere Hälfte mit den in umgekehrter Reihenfolge zugeführten Sensorsignalen ausgeführt werden.
27. Verfahren nach Anspruch 26, ferner mit dem Schritt:
Erzeugen (320) der Summe (TSf) von Werten der einzelnen Zeitdifferenzmessungen in Antwort auf die einzelnen Zeitdifferenzmessungen (Δt), so daß Fehlerkomponenten, die Unterschieden der elektrischen Kenngrößen des ersten und des zweiten Kanals zugeordnet werden können, in der Summe kompensiert werden.
28. Verfahren nach Anspruch 27, ferner mit dem Schritt:
Ausführen (1406, 1414, 1443) von vier einzelnen Zeitdifferenzmessungen während zwei aufeinanderfolgenden Zyklen, die in einer Wellenform auftreten, die aus einem Mittelwert der ersten und der zweiten Sensorsignale gebildet wird.
29. Verfahren nach einem der Ansprüche 18 bis 28, ferner mit den Schritten:
Erzeugen einer ersten Unterbrechung (30) der Rohrsensorsignalverarbeitung beim Abschluß jeder Zeitdifferenzmessung (Δt);
Abarbeiten (1400) der ersten Unterbrechung, um eine aktuellen Zeitdifferenzmessung (Δt) in eine Summe (TSf) aufzunehmen;
Erzeugen einer zweiten Unterbrechung (215) der Rohrsensorsignalverarbeitung in festen Zeitintervallen;
Abarbeiten der zweiten Unterbrechung (1000), um in Antwort auf einen aktuellen Wert der Summe (TSf) einen Massendurchflußwert (RateD) und den aufsummierten Massendurchflußwert (Total) zu aktualisieren.
30. Verfahren nach Anspruch 19 und 29, ferner mit dem Schritt:
Ausführen der vorher festgelegten Folge von Diagnosetests während einer Zeitdauer, in der weder die erste Unterbrechung noch die zweite Unterbrechung abgearbeitet wird.
31. Verfahren nach Anspruch 20 oder 29, ferner mit dem Schritt:
Ausführen der weiteren Diagnosetests während einer Zeitdauer, in der entweder die erste oder die zweite Unterbrechung abgearbeitet wird.
32. Verfahren nach Anspruch 29, ferner mit dem Schritt:
Ausführen (1001, 1549) eines Diagnosetests, um zu prüfen, ob die zweite Unterbrechungsbehandlung durch den Prozessor abgearbeitet wurde.
DE3751349T 1986-10-03 1987-09-15 Umschlagsmesser. Expired - Lifetime DE3751349T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US91534586A 1986-10-03 1986-10-03
PCT/US1987/002340 WO1988002476A1 (en) 1986-10-03 1987-09-15 Custody transfer meter

Publications (2)

Publication Number Publication Date
DE3751349D1 DE3751349D1 (de) 1995-07-20
DE3751349T2 true DE3751349T2 (de) 1996-03-07

Family

ID=25435601

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3751349T Expired - Lifetime DE3751349T2 (de) 1986-10-03 1987-09-15 Umschlagsmesser.

Country Status (6)

Country Link
EP (1) EP0324783B1 (de)
JP (1) JPH02500214A (de)
AU (1) AU601501B2 (de)
BR (1) BR8707826A (de)
DE (1) DE3751349T2 (de)
WO (1) WO1988002476A1 (de)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4817448A (en) * 1986-09-03 1989-04-04 Micro Motion, Inc. Auto zero circuit for flow meter
DK171657B1 (da) * 1986-10-14 1997-03-03 Abb K Flow Inc Massestrømsmåler af Coriolistypen og fremgangsmåde til måling af massestrøm
US4843890A (en) * 1988-07-08 1989-07-04 Micro Motion, Incorporated Coriolis mass flow rate meter having an absolute frequency output
US4934196A (en) * 1989-06-02 1990-06-19 Micro Motion, Inc. Coriolis mass flow rate meter having a substantially increased noise immunity
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
US5555190A (en) * 1995-07-12 1996-09-10 Micro Motion, Inc. Method and apparatus for adaptive line enhancement in Coriolis mass flow meter measurement
WO2001053781A1 (en) * 2000-01-24 2001-07-26 Micro Motion, Inc. System for preventing tampering with a signal conditioner remote from a host system
EP1397663B2 (de) 2001-06-19 2019-09-04 Endress + Hauser Flowtec AG Viskositäts-messgerät
EP1271111A1 (de) * 2001-06-19 2003-01-02 Endress + Hauser Flowtec AG Erreger-Schaltung für Coriolis-Massedurchflussmesser
US6662120B2 (en) 2001-06-19 2003-12-09 Endress + Hauser Flowtec Ag Excitation circuits for coriolis mass flowmeters
DE10257322A1 (de) * 2002-12-06 2004-06-24 Endress + Hauser Flowtec Ag, Reinach Prozeß-Meßgerät
US7040179B2 (en) 2002-12-06 2006-05-09 Endress+ Hauser Flowtec Ag Process meter
MX2007007858A (es) * 2004-12-30 2007-08-17 Micro Motion Inc Metodo y aparato para dirigir el uso de un flujometro de coriolis.
DE102007021099A1 (de) 2007-05-03 2008-11-13 Endress + Hauser (Deutschland) Ag + Co. Kg Verfahren zum Inbetriebnehmen und/oder Rekonfigurieren eines programmierbaren Feldmeßgeräts
DE102007030700A1 (de) 2007-06-30 2009-05-07 Endress + Hauser Flowtec Ag Meßsystem für ein in einer Prozeßleitung strömendes Medium
DE102007030690A1 (de) 2007-06-30 2009-05-07 Endress + Hauser Flowtec Ag Meßsystem für ein in einer Prozeßleitung strömendes Medium
DE102007030691A1 (de) 2007-06-30 2009-01-02 Endress + Hauser Flowtec Ag Meßsystem für ein in einer Prozeßleitung strömendes Medium
DE102007030699A1 (de) 2007-06-30 2009-01-15 Endress + Hauser Flowtec Ag Meßsystem für ein in einer Prozeßleitung strömendes Medium
DE102007063372A1 (de) 2007-12-30 2009-07-02 Endress + Hauser Flowtec Ag Meßsystem für ein in einer Prozeßleitung strömendes Medium
DE102007037166A1 (de) 2007-08-07 2009-02-19 Endress + Hauser Flowtec Ag Meßgerät
DE102007058608A1 (de) 2007-12-04 2009-06-10 Endress + Hauser Flowtec Ag Elektrisches Gerät
DE102008022373A1 (de) 2008-05-06 2009-11-12 Endress + Hauser Flowtec Ag Meßgerät sowie Verfahren zum Überwachen eines Meßgeräts
DE102009002289A1 (de) 2009-04-08 2010-10-14 Endress + Hauser Flowtec Ag Verfahren zum Ermitteln einer Periodendauer eines Meßsignals
EP2561603B1 (de) 2010-04-19 2019-09-04 Endress+Hauser Flowtec AG Treiberschaltung für einen messwandler sowie damit gebildetes messsystem
DE202010006553U1 (de) 2010-05-06 2011-10-05 Endress + Hauser Flowtec Ag Elektronisches Meßgerät mit einem Optokoppler
DE102010030924A1 (de) 2010-06-21 2011-12-22 Endress + Hauser Flowtec Ag Elektronik-Gehäuse für ein elektronisches Gerät bzw. damit gebildetes Gerät
JP2011137834A (ja) * 2011-03-08 2011-07-14 Micro Motion Inc コリオリ流量計の使用を指導するための方法及び装置
DE102011076838A1 (de) 2011-05-31 2012-12-06 Endress + Hauser Flowtec Ag Meßgerät-Elektronik für ein Meßgerät-Gerät sowie damit gebildetes Meßgerät-Gerät
DE102012104258A1 (de) 2012-05-16 2013-11-21 Endress + Hauser Flowtec Ag Klemmenblock, damit gebildete Anschlußvorrichtung sowie Feldgerät mit einer solchen Anschlußvorrichtung
DE102013100799A1 (de) 2012-12-21 2014-06-26 Endress + Hauser Flowtec Ag Umformerschaltung mit einer Stromschnittstelle sowie Meßgerät mit einer solchen Umformerschaltung
DE102013109096A1 (de) 2013-08-22 2015-02-26 Endress + Hauser Flowtec Ag Gegen Manipulation geschütztes elektronisches Gerät
DE102013111696A1 (de) 2013-10-23 2015-04-23 Endress + Hauser Flowtec Ag Anschlussvorrichtung für ein Feldgerät sowie Feldgerät mit einer solchen Anschlussvorrichtung
DE102014108107A1 (de) 2014-06-10 2015-12-17 Endress + Hauser Flowtec Ag Spulenanordnung sowie damit gebildeter elektromechanischer Schalter bzw. Meßumformer
DE102015103208A1 (de) 2014-10-17 2016-04-21 Endress + Hauser Flowtec Ag Meßsystem zum Messen wenigstens einer Meßgröße eines Fluids sowie Verfahren zum Betreiben eines solchen Meßsystems
CN108351299A (zh) 2015-12-29 2018-07-31 哈里伯顿能源服务公司 用于对管道的监控传输进行测量的光学计算装置
DE102016114860A1 (de) 2016-08-10 2018-02-15 Endress + Hauser Flowtec Ag Treiberschaltung sowie damit gebildete Umformer-Elektronik bzw. damit gebildetes Meßsystem
JP6876548B2 (ja) * 2017-07-04 2021-05-26 株式会社キーエンス 流量計

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4192184A (en) * 1978-11-13 1980-03-11 Halliburton Company Mass flowmeter
US4397400A (en) * 1982-03-08 1983-08-09 The Continental Group, Inc. Nondetachable resealable closure
US4491025A (en) * 1982-11-03 1985-01-01 Micro Motion, Inc. Parallel path Coriolis mass flow rate meter
FR2551204B1 (fr) * 1983-04-12 1987-07-31 Faes Yves Procede et dispositif de mesure du temps de propagation d'une onde dans un ecoulement et application a un procede de determination de la vitesse de cet ecoulement
US4622858A (en) * 1985-03-25 1986-11-18 The Babcock & Wilcox Company Apparatus and method for continuously measuring mass flow

Also Published As

Publication number Publication date
AU8039287A (en) 1988-04-21
BR8707826A (pt) 1989-10-31
WO1988002476A1 (en) 1988-04-07
JPH02500214A (ja) 1990-01-25
EP0324783A1 (de) 1989-07-26
AU601501B2 (en) 1990-09-13
DE3751349D1 (de) 1995-07-20
JPH0574008B2 (de) 1993-10-15
EP0324783B1 (de) 1995-06-14

Similar Documents

Publication Publication Date Title
DE3751349T2 (de) Umschlagsmesser.
DE69017020T2 (de) Coriolis-massendurchflussmesser mit erhöhter störgeräuschunempfindlichkeit.
DE68924574T2 (de) Coriolis-Massendurchflussmesser und Verfahren zum Erzeugen eines Massendurchflusssignals mit verringertem Oberwellenanteil.
US4911006A (en) Custody transfer meter
DE3788425T2 (de) Verfahren und vorrichtung zur messung der dicke einer unbekannten flüssigkeit mit einem coriolis-messgerät.
DE69209076T2 (de) Verfahren zur bestimmung des mechanischen nullpunkts eines coriolis-massendurchflussmessers
DE69214290T2 (de) Ausschaltung des temperaturfehlers eines coriolis-durchflussmessers
EP3482167B1 (de) Messsystem
DE68924569T2 (de) Massendurchflussmessgerät nach dem Coriolisprinzip mit absolutem Frequenzausgang und Verfahren zum Erzeugen eines Frequenzausgangssignals.
EP1281938B1 (de) Coriolis massedurchfluss-/dichtemesser
DE3782818T2 (de) Schaltung zum automatischen nullpunktabgleich fuer einen durchflussmesser.
US4996871A (en) Coriolis densimeter having substantially increased noise immunity
DE69816995T2 (de) Anordnung von mehreren resistiven messwertgebern für einen coriolis-massendurchflussmesser
DE3750546T2 (de) Verfahren und Gerät zum Messen des Massendurchflusses.
DE102016112599A1 (de) Meßsystem
EP3729011B1 (de) Coriolis-massendurchfluss-messgerät
DE69814121T2 (de) Kombinierte detektor und schwingungserreger um in coriolisströmungsmessern zu verwenden und verfahren zu deren betrieb
DE102017106209A1 (de) Vibronisches Meßsystem zum Messen einer Massendurchflußrate
DE2724661B2 (de) Ultraschall-Strömungsmengenmesser für insbesondere als Heizmedien dienende Flüssigkeiten
DE4026724A1 (de) Masse-durchflussmesser mit auswechselbarem schwingrohr
DE3734635C2 (de)
DE102019009024A1 (de) Vibronisches Meßsystem
EP4073475B1 (de) Vibronisches messsystem zum messen eines massestroms eines fluiden messstoff und verwendung des vibronischen messsystems
DE69027859T2 (de) Umsetzschaltung für die übertragung elektromagnetischen flusses
DE3213602A1 (de) Elektronisches geraet

Legal Events

Date Code Title Description
8363 Opposition against the patent
8365 Fully valid after opposition proceedings