DE3721186A1 - Verfahren zur gewichtsabhaengigen zufuehrung von materialien mit stochastischer steuerung und vorrichtung zur durchfuehrung des verfahrens - Google Patents
Verfahren zur gewichtsabhaengigen zufuehrung von materialien mit stochastischer steuerung und vorrichtung zur durchfuehrung des verfahrensInfo
- Publication number
- DE3721186A1 DE3721186A1 DE19873721186 DE3721186A DE3721186A1 DE 3721186 A1 DE3721186 A1 DE 3721186A1 DE 19873721186 DE19873721186 DE 19873721186 DE 3721186 A DE3721186 A DE 3721186A DE 3721186 A1 DE3721186 A1 DE 3721186A1
- Authority
- DE
- Germany
- Prior art keywords
- weight
- noise
- model
- actual
- flow
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01G—WEIGHING
- G01G13/00—Weighing apparatus with automatic feed or discharge for weighing-out batches of material
- G01G13/24—Weighing mechanism control arrangements for automatic feed or discharge
- G01G13/247—Checking quantity of material in the feeding arrangement, e.g. discharge material only if a predetermined quantity is present
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01G—WEIGHING
- G01G11/00—Apparatus for weighing a continuous stream of material during flow; Conveyor belt weighers
- G01G11/08—Apparatus for weighing a continuous stream of material during flow; Conveyor belt weighers having means for controlling the rate of feed or discharge
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Weight Measurement For Supplying Or Discharging Of Specified Amounts Of Material (AREA)
- Flow Control (AREA)
- Feedback Control In General (AREA)
Description
Die Erfindung betrifft ein Verfahren zur gewichtsabhängigen
Zuführung von Materialien mit stochastischer
Steuerung gemäß den Oberbegriffen der Ansprüche 1 bzw. 5
und eine Vorrichtung zur Durchführung des Verfahrens gemäß
dem Oberbegriff des Anspruches 8.
In der Erfindung wird ein Kalman-Filterprozeß zur Erzeugung
gefilterter Schätzwerte des tatsächlichen Gewichtes
und der Durchflußrate des Materials angewandt.
Diese gefilterten Schätzwerte werden in Kombination mit dem
Baumuster und der Klassifikation der Anlage und dem Meßrauschen,
das die Gewichtsmessungen beeinflußt, zur
Steuerung der tatsächlichen Durchlflußrate (Istwert) verwendet.
Die Rauschart wird bestimmt und es wird für jede
Klasse ein stochastisches Modell gebildet. Das geschätzte
Durchflußmengensignal wird auf der Grundlage des gemessenen
Gewichtes und stochastischen Modelles für einen bestimmten,
das Systems beeinflussenden Rauschvorgang erzeugt. Die
Modelle für die verschiedenen Rauscharten werden entsprechend
der Größe ihres Einflusses und der Wahrscheinlichkeit
ihres Auftretens modifiziert.
Das vorausberechnete Durchflußmengensignal wird dann mit
einer gewünschten Durchflußrate verglichen und das sich
ergebende Fehlersignal dient zur Steuerung eines Stellgliedes
einer Auslaßvorrichtung, um den gewünschten Durchfluß
zu erzeugen.
Weitere Einzelheiten, Merkmale und Vorteile der Erfindung
ergeben sich aus der nachfolgenden Beschreibung
eines Ausführungsbeispiels anhand der Zeichnung.
Es zeigt
Fig. 1 eine nach dem erfindungsgemäßen Verfahren arbeitende
gewichtsabhängige Zuführungsvorrichtung,
Fig. 2 die schematische Darstellung eines Modelles
einer solchen zeitdiskreten Zuführungsvorrichtung;
Fig. 3 das schematische Modell einer zeitdiskreten
Zuführungsvorrichtung, eines Kalmanfilters zur
Abschätzung der Durchflußrate und einer Motorsteuersignalverarbeitung
entsprechend der Erfindung,
Fig. 4 ein Flußdiagramm der Rechenschritte, die von dem
Prozessor für die Gewichtssignale ausgeführt
werden,
Fig. 5 das Flußdiagramm der von der Motorsteuereinheit
ausgeführten Rechenschritte,
Fig. 6A bis 6F Diagramme der Arbeitsweise einer gewichtsabhängigen
Zuführungsvorrichtung entsprechend der
Erfindung,
Fig. 7 die tabellarische Darstellung der Diagramme der
Fig. 6D und 6E, und
Fig. 8 ein weiteres Diagramm der Arbeitsweise der
gewichtsabhängigen Zuführungsvorrichtung entsprechend
der Erfindung.
Bei der erfindungsgemäßen Zuführungsvorrichtung
werden feste oder flüssige Materialien, die sich in
einem Trichter oder ähnlichen Behältern befinden, durch
konventionelle Auslaß-Stellglieder, wie z. B. Schrauben,
Förderbänder, Pumpen, Ventile oder ähnlichem freigegeben.
Das Auslaß-Stellglied wird von einem elektrischen Motor
angetrieben. Das System enthält außerdem eine gewichtserfassende
Vorrichtung, wie z. B. eine Waagschale zum
Wiegen des sich in dem Trichter befindenden oder daraus
abgeführten Materials und zur Erzeugung eines den
Gewichtszustand darstellenden Signales. Das so erzeugte
Signal wird einem Prozessor für Gewichtssignale zugeführt,
der wiederum ein Signal erzeugt, das die geschätzte
Gewichtsrate oder den Durchfluß des abgeführten
Materials darstellt. Der errechnete Wert des
Durchflusses wird dann in einer Rückführungsschleife
zur Steuerung des Motors verwendet, so daß der Durchfluß
einen gewünschten Sollwert erreicht.
Entsprechend Fig. 1 wird das in einem Trichter 10 enthaltene
Material durch eine von einem Motor 12 angetriebene
Schraubenschnecke 11 ausgelassen. Eine Waage 13
mißt das Gesamtgewicht des Trichters 10, der Schraubenschnecke
11 und des Motors 12 und erzeugt ein Gewichtssignal
W m . Bei Verwendung eines Förderbandes mißt die
Waage 13 das Gewicht des mindestens auf einen Teil der
Länge des Förderbandes abgegebenen Materials. Das Signal
W m wird an einen Gewichtssignalprozessor 14 in einem
Rechner 15 angelegt, der einen Schätzwert r des Durchflusses
des Materials aufgrund des gemessenen Gewichtes
W m erzeugt. Ein Bediener gibt über eine Steuereinheit
16 den gewünschten Sollwert des Durchflusses W rd ein.
Der abgeschätzte Durchfluß r wird mit dem gewünschten
Durchfluß W rd durch Addition an der Verbindungsstelle 17
verglichen, um ein Fehlersignal W re zu erzeugen.
Das Fehlersignal gelangt zu einer Motorsteuereinheit 18,
in der ein Motorsteuersignal I M erzeugt wird, das an
einen Motortreiber 19 angelegt wird. Der abgeschätzte
Durchfluß r und der tatsächliche Durchfluß werden auf
diese Weise mit dem gewünschten Sollwert W rd in Übereinstimmung
gebracht.
Die Waage ist natürlich statistischen und systematischen
Instrumentenfehlern unterworfen. Der Gewichtssensor erzeugt
fehlerhafte Ergebnisse nicht nur aufgrund internen
elektronischen Rauschen, sondern auch aufgrund
seiner physikalischen Trägheit sowie externen elektronischen
Rauschens.
Zusätzlich sind die Anlage einschließlich des Materialtrichters,
der Schraubenschnecke und des Motors fehleranfällig.
Diese Störungsvorgänge setzen sich wie folgt
zusammen: Vibrationen aufgrund mechanischer Bewegungen
der Schraubenschnecke oder der in dem Trichter vorhandenen
Mischvorrichtung; sich verändernde oder nicht gleichförmige
Zuführung aufgrund von klumpigem Material oder
ungleichförmiger Öffnung durch die Schraube; Nachfüllen des
Trichters mit Materialien zu unbestimmten Zeiten und
mit unbestimmten Mengen; unbeabsichtigte aperiodisch
überlagerte Störungen des Trichters, wie z. B. Anstoßen
der Zuführungsvorrichtung, oder Fallenlassen oder Entnehmen
von nicht dazugehörenden Gewichten, wie z. B.
Werkzeugen; sowie periodische und aperiodische Störungseinflüsse
auf den Trichter aufgrund von äußeren Einflüssen,
wie z. B. Wind, benachbarten Maschinen oder vorbeifahrenden
Fahrzeugen.
Folglich gibt eine Gewichtsmessung nur ungenaue Informationen
über das Verhalten eines gewichtsabhängigen Zuführungssystems
und liefert nur unbefriedigende Voraussagen über
die Systemzustände und die Steuerfähigkeit des Durchflusses.
Das mathematische Modell eines zeitdiskreten Materialauslaßsystems
ist in Fig. 2 gezeigt. Das tatsächliche Gewicht
des Materials zur Zeit k+1 wird durch Addition am Punkt
21 ermittelt, der die Summe des tatsächlichen Gewichts
zur Zeit k, W(k), die das Gewicht zur Zeit k beeinflussenden
Rauschprozesses der Anlage, w₁(k), den Einfluß der
Motorsteuerung auf das Gewicht, u₁(k), sowie den tatsächlichen
Durchfluß zur Zeit k, W r (k), multipliziert
mit der Abtastzeit T bildet. Diese Multiplikation mit T bedeutet
eine zeitliche Integration des Durchflusses W r . Das tatsächliche
Gewichtssignal W(k+1) wird zur Erzeugung des tatsächlichen
Gewichtssignales W(k) einer Verzögerungsschaltung 22 zugeführt.
Das Signal W m (k) des gemessenen Gewichtes wird
am Additionspunkt 23 erzeugt, an dem zu dem tatsächlichen
Gewichtssignal W(k) ein Meß-Rauschsignal n(k) addiert
wird.
Das tatsächliche Durchflußsignal zur Zeit k+1, W r (k+1),
wird am Additionspunkt 24 durch Summierung des tatsächlichen
Durchflusses zur Zeit k, W r (k), des Einflusses
der Motorsteuerung auf den Durchfluß, u₂(k) und des
Geräterauschens w₂(k) bei Durchfluß erzeugt. Den Durchfluß zur Zeit k, W r (k) erhält man durch Zuführung des Signals für
tatsächlichen Durchfluß W r (k+1) zu einer Verzögerungsschaltung
26.
Das Blockdiagramm der Fig. 2 ist eine schematische Darstellung
folgender mathematischer Gleichungen:
W(k+1) = W(k) + TW r (k) + u₁(k) + w₁(k)
W r (k+1) = W r (k) + u₂(k) + w₂(k)
W m (k) = W(k) + n(k)
W r (k+1) = W r (k) + u₂(k) + w₂(k)
W m (k) = W(k) + n(k)
mit:
k= 1, 2, 3, . . .W(k):Das tatsächliche Gewicht zur Zeit k;W r (k):Der tatsächliche Durchfluß zur Zeit k;W m (k):Die Gewichtsmessung zur Zeit k;T:Zeitperiode zwischen zwei Meßproben;u₁(k):Einfluß der Motorsteuerung auf das tatsächliche
Gewicht;
u₂(k):Einfuß der Motorsteuerung auf den tatsächlichen
Durchfluß;
n(k):Meßrauschen
w₁(k):Rauschstörung des Gewichts durch die Anlage;
und
w₂(k):Rauschstörung des Durchflusses durch die Anlage.
Gewicht W und Durchfluß W r werden als Zustandsgrößen
bezeichnet, außerdem ist die Durchflußmenge die zeitliche
Differentiation des Gewichtes (d. h. das Gewicht ist
das Integral der Durchflußmenge). Die einzige gemessene
Zustandsgröße ist das Gewicht W, das nur indirekt über
das mit Rauschen überlagerte Signal W m ermittelt werden
kann. Die Rauschvorgänge n, w₁ und w₂ sind unvermeidlich
und immer im System vorhanden. Die Steuerung des
Auslasses über u₁ und u₂ unter ausschließlicher Verwendung
des gemessenen Gewichtssignales W m und ohne
Beachtung der Betriebs- und Meßrauschvorgänge wird
immer ein unzuverlässiges System zur Folge haben.
Fig. 3 zeigt das Blockdiagramm eines Materialauslaßsystems
für diskreten Echtzeitbetrieb, das mit dem
Blockschaltbild einer zeitdiskreten Gewichtssignalverarbeitung
und Motorsteuerung entsprechend der
Erfindung verbunden ist. Die in den Fig. 1 und 2
identischen Elemente haben gleiche Bezugsziffern.
Die Gewichtssignalverarbeitung erfolgt zur Bildung
eines Schätzwertes des tatsächlichen Gewichtes in (k)
und eines Schätzwertes des Durchflusses r (k) unter
Anwendung eines Kalman-Filterprozesses. Der Schätzwert
des Durchflusses r (k) wird, wie schematisch in Fig. 3
und detailliert in Fig. 5 gezeigt, zur Berechnung des
Motorsteuersignales I M und der Signale u₁(k) und u₂(k)
mittels der Motorsteuereinheit 18 verwendet. Die
Motorsignale u₁(k) und u₂(k) sind die mathematischen
Einflüsse auf das tatsächliche Gewicht W(k) bzw. den
tatsächlichen Durchfluß W r (k) und werden bei der
Vorausberechnung der Schätzwerte für das Gewicht (k)
und für den Durchfluß r (k) verwendet.
In dem unteren Teil der Fig. 3 sind der Signalprozessor
14, der Summationspunkt 17 und die Motorsteuereinheit 18
nach Fig. 1 gezeigt. Der Signalprozessor ist als Kalmanfilter
ausgebildet, dessen Struktur dem mathematischen
Modell des tatsächlichen Systems identisch ist. Die
Summationspunkte 27 und 28 erfüllen die Funktion der
Summationspunkte 21 und 24 des realen Systems.
Die Verzögerungsschaltungen 29 und 31 bilden die
realen Verzögerungsglieder 22 und 26 nach.
Der Summationspunkt 32 bildet die Differenz zwischen dem
gemessenen Gewicht W m (k) und dem erwarteten Gewicht
(k). Diese, auch als Restgröße bezeichnete Differenz
m (k) wird mit dem Faktor K W (k) multipliziert und zur
Berechnung des nächsten Schätzwertes für das Gewicht (k+1)
und den Summationspunkt 27 angelegt. m (k) wird außerdem
mit dem Faktor (k) multipliziert und zur Berechnung des
nächsten Schätzwertes für den Durchfluß r (k+1) an den
Summationspunkt 28 angelegt. Die Größen K W und werden
als Kalmanfaktoren bezeichnet und sind entsprechend der
Fehlerkovariante des abgeschätzten Gewichtes und des
abgeschätzten Durchflusses r relativ zu den tatsächlichen
Werten W und W r variabel und berücksichtigen die
Rauschvorgänge n, w₁ und w₂. Die Einzelheiten der Berechnung
der Kalmanfaktoren K W und werden mit Bezug
auf die Fig. 4 dargestellt.
Da die Einflüsse der Rauschvorgänge n, w₁ und w₂ bei der
Berechnung der Kalmanfaktoren berücksichtigt werden, ist
es wichtig, nicht nur die verschiedenen Rauschquellen und
ihre Einflüsse auf die Zustandsgrößen W und W r festzustellen
und zu berücksichtigen, sondern auch ein Modell
ihrer Größen zu bilden und diese Größen in die Berechnung
der Kalmanfaktoren einzubeziehen.
Jeder Rauschprozeß wird als weißes Rauschen mit dem Mittelwert 0
und der folgenden Rausch-Kovariante betrachtet:
mit:
Wie oben erwähnt sind die Rauschvorgänge w₁ und w₂ die
Störungen des Gewichtes bzw. des Durchflusses. Bei einem
realen System sind die Rauschstörungen w₂ ein regelmäßiges
Rauschen z. B. entsprechend klumpigem oder nicht
gleichförmigem zugeführten Materials. Die Rauschstörungen
w₁ des Gewichtes sind unregelmäßige Vorgänge
aufgrund von Quellen, die in hohem Maße nicht im voraus
bestimmbar sind, wie z. B. Vibrationen von vorbeifahrenden
Fahrzeugen oder physikalische Beeinflussungen des
Materialtrichters. Das Meßrauschen n ist ebenfalls
ein regelmäßiger Rauschvorgang entsprechend zufälligen
und systematischen Meßinstrument- und phänomenologischen
Auslaßfehlern. Zum Beispiel tragen Vibrationen der
Schraubenschnecke oder des Materialmischers neben
den Ungenauigkeiten des Gewichtssensors zu dem
Meßrauschen n bei.
Die Varianz σ wird experimentell oder empirisch
anhand eines realen Systems bestimmt. Wenn z. B. das
Materialabgabesystem ohne Gewichtsverluste betrieben
wird, kann die Varianz σ aus einer Reihe von Gewichtsmessungen
W m (k) bestimmt werden. Die Varianz σ wird
aus den Betriebsspezifikationen der Maschine berechnet.
Wenn z. B. die gewünschte Durchflußabweichung
spezifiziert ist, ist proportional zu .
In Gegensatz dazu wird der Rauschvorgang w₁ der Anlage,
der nicht im voraus bestimmbar ist, mit der Variante A
angenommen, wobei A aus dem Betrag der festgestellten Restgröße
("measurement residual") bestimmt wird. Einzelheiten dieses Vorganges
und die Berechnung von A sind weiter unten mit
Bezug auf die Fig. 4B beschrieben.
Da schließlich die Rauschvorgänge der Anlage typischerweise
nicht korreliert sind, ist gleich 0.
Die Kovarianz-Matrix Q(k) des Rauschens der Anlage
wird in folgender Weise bestimmt. Zuerst wird Q(k)
gleich Q₀ gesetzt.
Als nächstes wird A aus dem Betrag der Restgröße
und der Wahrscheinlichkeit des Auftretens dieser Größe
bestimmt. Dann wird Q(k) durch Q₁ ersetzt, wobei:
In den Fig. 4A bis 4C sind die vom Signalprozessor 14
(Fig. 1) durchgeführten Verarbeitungsschritte gezeigt.
Nach dem Starten der Bearbeitung werden die folgenden
Parameter im Schritt 41 initialisiert:
W rd
- der Sollwert des gewünschten Durchflusses;
σ
n
- die Standardabweichung des Meßrauschens n;
T
- die Abtastperiode des Gewichtssignales (W m );
G
- der Verstärkungsfaktor der Motorsteuereinheit;
τ
m
- die Zeitkonstante des Schraubenmotors;
T
d
- die mit dem Zuführungsmotor verbundene Übertragungsverzögerung;
und
FF
- der Zuführungsfaktor des Schraubenmotors für
die Zuführung.
Im Schritt 42 wird die Varianz aus der gewünschten
Standardabweichung des Durchflusses berechnet. Dies
ist eine iterative Berechnung aufgrund der bekannten
Beziehung zwischen der Fehlervarianz des gewünschten
Durchflusses
und den Parametern
für stationäres Betriebsverhalten. Die iterative
Berechnung ist in den Programmzeilen 4999 bis 5220 des
beigefügten Quellencode-Listings gezeigt. In Schritt 43
werden die folgenden Variablen 0 gesetzt:
W cp - Gewichts-Steuersignal;u₁, u₂- die das Gewicht bzw. den Durchfluß beeinflussenden
Motorsignale.
Außerdem wird in Schritt 43 das Motorsignal für die
Schraubenschnecke I M auf einen gewünschten Wert initialisiert,
so daß der Motor anfänglich mit einer bestimmten
Geschwindigkeit läuft. Das Signal I M kann alternativ auf
0 gesetzt werden, so daß sich der Motor anfänglich im stationären
Zustand befindet.
Im Schritt 44 wird ein Zähler k 0 gesetzt und die Steuerung
auf Schritt 45 übertragen, wo der erste Gewichtswert W m (1)
genommen wird. Die Steuerung erfolgt dann zu der Abfrage
46, von wo in dem Falle, daß k+1 größer ist als 2 die
weitere Abarbeitung der Verarbeitungsschritte nach Fig. 4B
erfolgt, was bedeutet, daß das Filter initialisiert worden
ist. Andernfalls folgt als nächstes die Abfrage 47, von wo
in dem Falle, daß k+1 nicht gleich 2 ist, zu Schritt
48 verzweigt wird, in dem der Zähler k inkrementiert wird.
Anschließend wird eine weitere Gewichtsprobe im Schritt 45
genommen. In dem Falle, daß im Schritt 47 k+1 gleich 2 ist,
erfolgt die weitere Steuerung im Schritt 49, wo die Initialisierung
des Filters begonnen wird.
In Schritt 49 wird der anfänglich geschätzte Gewichtswert
auf den gemessenen Gewichtswert zur Zeit k=2 gesetzt.
Zusätzlich wird der anfänglich geschätzte Massefluß r auf
die Differenz zwischen den ersten zwei Gewichtsmessungen,
die durch die Abtastperiode T dividiert wurden, gesetzt.
Auf diese Weise werden die anfänglichen Schätzwerte für
Gewicht und Durchfluß unter Verwendung des letzten Gewichtssignales
und der einfachen zeitlichen Ableitung
ermittelt. Außerdem wird im Schritt 49 der vorausberechnete
Schätzwert des Gewichtes zur Zeit k=3 auf den Schätzwert
zur Zeit k=2 plus T mal dem geschätzten Durchfluß
zur Zeit k=2 gesetzt und der vorausberechnete Schätzwert
des Durchflusses zur Zeit k=3 wird auf den Schätzwert des
Durchflusses zur Zeit k=2 gesetzt.
Nachdem die geschätzten und vorausberechneten Werte des
Gewichts und des Durchflusses im Schritt 49 initialisiert
worden sind, erfolgt die weitere Abarbeitung des Schrittes
51, wo die vier Eintragungen der Fehler-Kovarianzmatrix P
initialisiert werden.
Die Fehler-Kovarianzmatrix hat folgende Form:
mit
Nach dem Initialisieren der Kovarianzmatrix P in Schritt 51
erfolgt in Schritt 48 die Inkrementierung des Zählers k
und in Schritt 45 das Aufnehmen eines weiteren Gewichtswertes.
Wenn das Filter initialisiert ist, ist k+1
größer als 2, so daß nach der Abfrage im Schritt 46
die weitere Abarbeitung mit Schritt 56 in Fig. 4B erfolgt.
In diesem Schritt wird die Kovarianzmatrix Q(k) des
Rauschens der Anlage auf Q₀ gesetzt, worauf im Schritt 57
die Fehlerkovarianzmatrix P unter Verwendung folgender
Matrixgleichung mit den neuesten Werten versehen wird:
P(k+1/k) = FP(k/k)F′ + Q(k)
mit
P(k+1/k):Die Vorausberechnung der Fehler-Kovarianzmatrix
P zur Zeit k+1 mit Messungen bis
einschließlich zum Zeitpunkt k;P(k/k):Die Fehler-Kovarianzmatrix P zur Zeit k
mit Meßwerten bis einschließlich zum Zeitpunkt k;
F′:Die Transponierte von F; undQ(k):Die Kovarianzmatrix des Rauschens der
Anlage zum Zeitpunkt k.
Es sollte beachtet werden, daß die diagonalen Elemente
der P-Matrix
ein Maß sind für die Ausführung
des Abschätzungsprozesses. Auch wenn es theoretisch
unmöglich ist, sind, wenn die Varianz des Gewichtsfehlers
und die Varianz des Durchflußfehlers
beide 0
sind, die Schätzwerte optimal, d. h. sie entsprechen
den tatsächlichen Werten. Aus praktischen Gründen ist
jedoch nur eine Minimierung dieser Fehlerabweichung
realisierbar.
Als nächstes erfolgt dann im Schritt 58 die Berechnung
der Restgröße unter Verwendung folgender Gleichung:
m (k+1/k) = W m (k+1)-(k+1/k)
mit:
m (k+1/k):Restgröße zum Zeitpunkt k+1
mit Meßwerten bis einschließlich
zum Zeitpunkt k;W m (k+1):Gewichts-Meßwerte zum Zeitpunkt k+1;
und(k+1/k):Abgeschätztes Gewicht zur Zeit k+1
mit Meßwerten bis einschließlich zum
Zeitpunkt k.
Als nächstes erfolgt im Schritt 59 die Berechnung der
Varianz der Restgröße unter Verwendung folgender
Matrixgleichung:
mit:
H= [1 0]; H′:Die Transponierte von H; P(k+1/k):Wie in Schritt 57 berechnet; und R(k+1):Die Varianz des Meßrauschens zur Zeit k+1 (tatsächlicher Wert
H= [1 0]; H′:Die Transponierte von H; P(k+1/k):Wie in Schritt 57 berechnet; und R(k+1):Die Varianz des Meßrauschens zur Zeit k+1 (tatsächlicher Wert
Als nächstes erfolgt im Schritt 60 die Abfrage des
Flags j, ob während des laufenden Zyklusses die
Varianz A schon durch Abarbeitung der in Fig. 4B
gezeigten Schleife berechnet worden ist. Wenn
die Varianz A in diesem Zyklus noch nicht berechnet
wurde, erfolgt die Abarbeitung des Schrittes 61
in dem die Variable x auf die Restgröße m (k+1/k),
dividiert durch eine Konstante q und die Standardabweichung
der Restgröße (die Quadratwurzel der
in Schritt 59 berechneten Varianz) gesetzt wird.
Die Konstante q bewegt sich vorzugsweise im Bereich
zwischen 3 und 5, es sind jedoch auch Werte außerhalb
dieses Bereiches möglich.
Eine adaptive Distributionsfunktion f(x) wird außerdem
mittels folgender Gleichung im Schritt 61 berechnet:
f(x) = /x/ a /(1 + /x/ a )
mit:
2a4.
Werte außerhalb dieses Bereiches sind ebenfalls möglich.
Die genauen Werte von q und a hängen von der
verwendeten Gewichtszuführung ab und werden zur Minimierung
der verschiedenen Elemente der Fehler-Kovarianzmatrix
P während des normalen Betriebes und zur Minimierung
der schädlichen Einflüsse aperiodischer Trichterstörungen
(wie z. B. Nachfüllen) experimentell bestimmt.
f(x) stellt die Wahrscheinlichkeit dar, daß die Ursache
für die gegenwärtige Restgröße eine Quelle
außerhalb der durch die vorherige Fehlerkovarianzmatrix
P(k+1/k) (berechnet in Schritt 57) indizierten ist, und
dem Meßrauschen n(k) und dem Durchfluß-Rauschen w₂(k)
entspricht.
Als nächstes erfolgt im Schritt 62 die Berechnung der
Varianz A als Produkt der adaptiven Distributionsfunktion
f(x) mit dem Quadrat der Restgröße und
Division durch 12. Man erhält eine gleichförmige
Verteilung für A.
In Schritt 63 wird die Matrix Q(k) gleich Q₁ und in
Schritt 64 das Flag j gleich 1 gesetzt, bevor der
Sprung zu Schritt 57 erfolgt.
Unter Verwendung des neuen Wertes für Q(k) werden nun
die Fehler-Kovarianzmatrix in Schritt 57, die Restgröße
in Schritt 58 und die Varianz der Restgröße
in Schritt 59 neu berechnet. Da das Flag j
nun auf 1 gesetzt ist, erfolgt von Schritt 60 ein
Sprung zu Schritt 65, wo j wieder auf 0 gesetzt wird.
Die weitere Abarbeitung wird dann mit Schritt 66 in
Fig. 4C fortgesetzt.
In Schritt 66 werden die Filterfaktoren K unter Verwendung
folgender Matrixgleichung berechnet:
K(k+1) = P(k+1/k)H′[HP(k+1/k)H′+R(k+1)]-1
mit:
K w (k+1):Der Kalmanfaktor des Gewichtes zur Zeit
k+1;
mit allen anderen Variablen wie oben definiert
oder berechnet.
Die vorausberechneten Gewichte und Durchflüsse r zum
Zeitpunkt k+1 mit Meßwerten bis einschließlich zu diesem Zeitpunkt
werden anschließend im Schritt 67 unter Verwendung
folgender Gleichungen berechnet:
(k+1/k+1) = (k+1/k) + K w (k+1) m (k+1/k)
r (k+1/k+1) = r (k+1/k)+ (k+1)W m (k+1/k)
r (k+1/k+1) = r (k+1/k)+ (k+1)W m (k+1/k)
wobei alle Variablen bereits definiert oder berechnet
worden sind.
Die weitere Verarbeitung erfolgt dann in Schritt 68,
in dem die Fehler-Kovarianzmatrix P mit den neuesten
Werten versehen wird. Die in der Gleichung in Schritt 68
auftretende Matrix I ist die identische Matrix.
Alle anderen Variablen sind bereits definiert oder
berechnet worden.
Im anschließenden Schritt 69 werden neue Vorhaltewerte
für das abgeschätzte Gewicht und den abgeschätzten
Massefluß r für den Zeitpunkt k+2 mit Meßwerten bis
einschließlich zu dem Zeitpunkt k+1 berechnet, was
unter Verwendung folgender Gleichung erfolgt:
(k+2/k+1)=(k+1/k+1) + T r (k+1/k+1) + u₁(k+1)
r (k+2/k+1) = r (k+1/k+1) + u₂(k+1)
r (k+2/k+1) = r (k+1/k+1) + u₂(k+1)
mit:
u₁(k+1):Wert der Motorsteuerung zum Zeitpunkt
k+1, der zur Beeinflussung des Gewichtes
zum Zeitpunkt k+2 vorausberechnet wurde;
u₂(k+1):Wert der Motorsteuerung zum Zeitpunkt
k+1, der zur Beeinflussung des Durchflusses
zum Zeitpunkt k+2 vorausberechnet wurde; und
mit allen anderen Variablen wie bereits definiert
und berechnet.
Im nächsten Schritt 71 wird dann die Motorsteuerung
mit neuen Werten versehen. Die Einzelheiten der in diesem
Block 71 durchgeführten Verarbeitungsschritte sind
in Fig. 5 gezeigt.
Nach Abarbeitung der in Fig. 5 gezeigten Schritte erfolgt
die Rückkehr zu Schritt 48 (Fig. 4A), wo der
Zähler k inkrementiert und die gesamte Schleife geschlossen
wird. Es sollte beachtet werden, daß, da
die zum Durchlaufen der Schleife notwendige Zeit von
einem Zyklus zum nächsten leicht variieren kann, die
Abtastperiode T von einer Periode zur nächsten leicht
verändert wird. Bei der bevorzugten Ausführungsform
befindet sich T im Bereich zwischen 0,75 und 2,0 Sekunden,
wobei auch Zeitperioden außerhalb dieses Bereiches
zu akzeptablen Ergebnissen führen. Die wiederholte
Berechnung von T in jedem Zyklus ist in Fig. 6F gezeigt.
In Schritt 72 in Fig. 5 wird das Fehlersignal für den
Durchfluß W re aus der Differenz zwischen dem Sollwert
des gewünschten Durchflusses W rd und dem abgeschätzten
Durchfluß r , der vorher in Schritt 69 der Fig. 4C ermittelt
worden war, berechnet. Die Steuerung erfolgt
dann gemäß Schritt 73, in dem das Gewichtssteuersignal W rc
als Produkt des Faktors G und des Durchflußfehlers W re
berechnet wird. Das Motorsteuersignal I M wird dann
mit dem durch den Zuführungsfaktor FF dividierten
Gewichtssteuersignal addiert. Der Zuführungsfaktor FF
dient zur Konvertierung der Durchflußvariablen in ein
Geschwindigkeitssignal für den Motor, um die nichtlineare
Beziehung zwischen dem Motorsteuersignal I M und der
Motorgeschwindigkeit zu kompensieren.
In Schritt 74 werden anschließend die Motorsignale u₁
und u₂ berechnet. Diese Berechnung stellt ein Modell
des Steuerteiles des Materialauslaßsystems dar. Es ist
von dem in Fig. 3 gezeigten Modell zur Abschätzung oder
Filterung sowie den Verarbeitungsschritten der Fig. 4A
bis 4C zu unterscheiden.
In Schritt 76 wird das alte Gewichtssteuersigal W cp
dem gerade berechneten Gewichtssteuersigal W rc gleichgesetzt.
In Schritt 77 wird das berechnete Motorsignal I M zur
Steuerung der Menge der Materialabgabe auf eine Motorsteuereinheit
ausgegeben.
Es soll hervorgehoben werden, daß der Kalmanfilterprozeß
der Erfindung ein rekursiver Prozeß ist,
der nur eine geringe Menge abgespeicherter und von
einem Berechnungszeitraum zum nächsten übertragenen
Informationen erfordert. Aus diesem Grunde kann die
Erfindung leicht durch Neuprogrammierung der Mikroprozessor-
Programmspeicher und Verwendung vorgefertigter
RAM-Speicher an vorhandene Materialabgabesysteme
angepaßt werden.
Die Fig. 6A bis 6F verdeutlichen graphisch die Arbeitsweise
eines realen gewichtsabhängigen Zuführungssystem,
das mit einer geschlossenen Regelschleife computergesteuert
ist.
Das System wurde im Zyklus 0 mit den folgenden anfänglichen
Parametern gestartet: T=1,3; W rd =500;
FF=0,3; q=3; und a=2. Das System wurde in Betrieb
genommen und lief für etwa 100 Rechenzyklen, während
Gries zugeführt wurde. Sowohl das natürliche Rauschen
der Anlage als auch Meßrauschen waren vorhanden.
Zusätzlich wurde auf den Trichter die folgenden
äußeren Störungen aufgebracht:
Ungefähre ZykluszeitStörung
2517 mm Schraubenschlüssel, aufgebracht
3517 mm Schraubenschlüssel, entfernt
553 kg Gewicht aufgebracht
653 kg Gewicht entfernt
90Material nachgefüllt.
Die Ordinate der Diagramme 6A bis 6C ist in parts per
million eingeteilt, wobei eine Million Teile in etwa
gleich 150 kg (das maximal meßbare Gewicht des verwendeten
Sensors) entsprechen. Anders ausgedrückt bedeuten
600 000 ppm 60% von 150 kg, was 90 kg sind.
In Fig. 6D sind die Einheiten des Motorsignales I M
direkt in ein Motortreibersignal, z. B. eine Frequenz
konvertierbar. Die Einheit des abgeschätzten Durchflusses
in Fig. 6E ist in parts per million pro Zeiteinheit
angegeben und direkt in kg pro Sekunde konvertierbar.
Fig. 6F verdeutlicht die Veränderbarkeit einer Abtastperiode
P von einem Zyklus zum nächsten.
Fig. 7 ist eine tabellarische Darstellung der Fig. 6D
und 6E.
Fig. 8 zeigt eine graphische Darstellung des Systems,
mit dem auch die Darstellung der Fig. 6A bis 6F
erzeugt wurden, in diesem Falle jedoch ohne äußere
Störungen, nur mit den natürlichen Rauschvorgängen
der Anlage und der Messungen beaufschlagt.
Im folgenden ist ein kommentiertes Quellencode-Listing
für ein Computerprogramme für den Computer 15 der bevorzugten
Ausführungsform dargestellt. Dieses Programm
enthält die in dem Flußdiagramm 4A bis 4C und 5 gezeigten
Schritte.
2′KALMAN FILTER FOR LOSS-IN-WEIGHT FEEDER 3′L = CONVERSION WINDOW LENGTH 4′I = MOTOR DRIVE COMMAND AG I = HZ. 5′WT = WEIGHT COUNT; WERR = WEIGHT ERROR INDICATOR 6′TS = TIME STAMP; DTS = MEASURED SAMPLE TIME 7′MP = MOTOR POSITION 9′SP = SET POINT 13′FSC = FULL SCALE CAPACITY 14′OPEN COMMUNICATIONS WITH THE OUTSIDE WORLD 15′OPEN COMMUNICATIONS FILE#1 (128 BYTES) FOR ACA-1AT 9600 BAUD, 16′ODD PARITY, 8 DATA BITS, ONE STOP BIT, NO ′CLEAR TO SEND′, 17′NO ′DATA SET READY′, PARITY CHECKING DISABLED. 18′ 20CLS, PRINT "KALMAN FILTER ALGORITHM" 21OPEN "COM1: 9600,N,8,1,CS, DS" AS#1 23′NOW BUILD THE DATA STATEMENTS WE′LL BE USING 24GOSUB 2770 ′ENTRANCE POINT FOR INITIALIZATION ONLY. LOOP USES 2800 25GOSUB 2890 ′INITIALIZE ANALYZER 26GOSUB 2750 ′WRITES A RESET TO THE I/O BOARD VIA THE PORT 27GOSUB 2640 ′BUILDS A SETF$ 40CGAIN = .5: CTIMX = 25: NSIG = 50: VDSIG = 25: T = 1.3: VDESIRE = -1500 41F$ = "TEMP": FF =, 3: T=1.35: CFLAG=0 ′FF=FEED FACTOR (VELOCITY/M. SPEED COMMAND) AND T=APPROX SAMPLE TIME 42FSC = 60 ′FULL SCALE CAPACITY IN KG 50PRINT " " 55INPUT "ENTER CGAIN . . . THE DEFAULT VALUE 18 0.5"; I 60IF I = 0 THEN 88 65IF (I⟩ 0) AND (I ⟨1!) THEN 80 70PRINT "UNACCEPTABLE ENTRY FOR CGAIN. USE VALUE BETWEEN 0 AND 1": BEEP 75GOTO 50 80CGAIN = I 88PRINT 90PRINT "THE KALMAN FILTER IS ACTIVATED AFTER 10 SAMPLES" 95INPUT "ENTER THE LOOP COUNT WHERE MOTOR CONTROL STARTS, DEFALUT = 25"; I 97INPUT "ENTER CONTROL TIME DELAY (TDELAY)"; TDELAY 98INPUT "ENTER MOTOR ACTIVATION DELAY (TAU)"; TAU 100IF I ⟨⟩ 0 THEN CTIMEX=I 105QFAC=3: AFAC=2 110PRINT " ": INPUT "INPUT WEIGHT NOISE S. D., DEFAULT = 50"; I 120IF I ⟨⟩ 0 THEN NSIG = I 130PRINT " ": INPUT VELOCITY DESIRED S. D., DEFAULT = 25"; I 140IF I ⟨⟩ 0 THEN VDSIG = I 160PRINT 165I=0! : INPUT "ENTER STARTING MOTOR SPEED (DMT WC/SEC) (DEFAULT=0)"; ITEMP 171IF ITEMP ⟨⟩ 0 THEN I=ABS (ITEMP) 172STARTIX = -INT(I) 175I = -ABS (I/FF) ′MAKE SURE IT IS NEG. 177PRINT: INPUT "ENTER THE OUTPUT DATA FILE NAME, DEFAULT = ′TEMP′"; A$ 178IF A$ ⟨⟩ " " THEN F£ = A$ 180CLS 181PRINT "*****RUN PARAMETERS****" 182PRINT 185PRINT "CGAIN", "NSIG", "VDSIG", "CTIME", "STARTI F$" 190PRINT CGAIN, NSIG, VDSIG, CTIMEX, STARTIX% 191LOCATE 4,69 192PRINT F$ 195′ 200LOCATE 7,1 210PRINT" ****SYSTEM ST "**** 220PRINT : PRINT "COUNT", "SETPOINT", "T. STAMP", "DMT W. CNTS", "M. SPEED" 230LOCATE 13,1 240PRINT "****FILTER CHARACTERISTICS****" 250PRINT : PRINT "W. C. PRED", "FLOWRATE", "GAIN 1 GAIN 2 DEL T" 251LOCATE 15,68 : PRINT "PERTURBATION" 260LOCATE 19,1 270PRINT "**OPTIONS** ENTER ′S′ TO CHANGE SETPT., ENTER ′H′ TO HALT" 329GOSUB 5020 330OPEN "C:"+F$ AS$2 LEN=59 332FIELD #2, 7 AS FT$, 7 AB FX$, 9 AS FXH$, 7 S FV$, 5 AS FK1$, 5 AS FK2$, 5 AS FI$, 7 AS FMS$, 7 AS FZRES$ 340GOSUB 2520 ′SENDS A WINDOW LENGTH COMMAND 350GOSUB 2640 360GOSUB 2560 ′SEND "START READ WEIGHT" COMMAND 458---- BEGINNING OF LOOP ---- 460FOR LUP%=i TO 1070 540A$=INKEY$ : IF A$=" "THEN 940 560IF (A$="S") OR (A$ = "$"). THEN 700 565IF (A$="H") OR (A$ = "h") THEN 988 570GOTO 940 700SCONT%=i : TDADD=TIMER : LOCATE 23,i 710INPUT "ENTER NEW SETPOINT. THE UNITS ARE (DMT WEIGHT COUNTS)/SEC";SP 715VDESIRE=-ABB(SP) ′I=VELOCITY OR FLOW RATE 717TDADD=TIMER-TDADD 940TO=TIMER 950PRINT #1, RED$ ′SEND A "READ AND START WEIGHT" COMMAND 953GOSUB 2220 ′DO MATH 955GOSUB 2320 957GOSUB 3000 958Z=WT : IF LUP%=CTIME% THEN CFLAG=i 960IF LUP%=8 THEN ZPAST=WT 965IF LUP%=9 THEN GOSUB 6340 ′INITIAL FILTER (N=O) 968IF LUP%⟩ 9 THEN GOSUB 6010 ′KALMAN FILTER 975IF I = SAVEDI THEN 982 ′I IS MOTOR DRIVE COMMAND FREQUENCY 977SAVEDI=I : GOSUB 2640 ′REBUILD A NEW MOTOR SPEED COMMAND AND SEND IT 980′DELAY 1/2 SECOND INCLUDING PROGRAM EXECUTION TIME 982TO=. 022#L+. 043 + TO 983LSET FT$=STR$(TS) : LSET FX$=STR$(WT) : LSET FXH$=STR$(XHAT) : LSET FV$=STR$(VHAT) : LSET FKi$=STR$(Ki) : LSET FK2$=STR$(INT(K2*1000!)/1000) : LSET FI$=STR$(INT(I)) : LSE T FMS$=STR$(INT(ZCST*1000)/1000) : LSET FZRES$=STR$(ZRES) 984PUT #2, LUP%+1 985IF TIMER⟨TO THEN 985 986NEXT 988LSET FT$=STR$(LUP%-1) 990PUT #2,1 : CLOSE #2 995I=O : GOSUB 2540 : STOP 1000′---- END OF LOOP ---- 2210′DELAY FOR ABOUT 0.1 SEC 2220TX=TIMER + .12 2230IF TIMER ⟨TX THEN 2230 2240RX$=" " 2250WHILE NOT EOF(i) 2260I$=INPUT$ (LOC(i), #i) 2270WEND 2280RX$=I$ 2300RETURN 2310′********* 2320W$=MID$(RX$,32,2)+MID$(RX$,37,2)+MID$(RX$,42,2) 2350WT=VAL(""+MID$(W$,6,1))+VAL(""+MID$(W$,5,1))#16+VAL(""+MID$(W$,4,1))# 256+VAL(""+MID$(W$,3,1))#4096!+VAL(""+MID#(W%,$,2,1))#65538 : 2351WT=VAL(""+MID$(W$,i,i))#6536!#16!+WT 2358WT=WT-TARE 2360WERR=VAL(""+MID(W$,1,1))AND 8 2370IF WERR THEN 2372 ELSE 2400 2372LOCATE 21,1 : PRINT "WEIGHT ERROR "; LUP% 2400T$=MID$(RX$,47,2)+MID$(RX$,52,2)+MID$(RX$,57,2) 2420TS=(VAL(""+MID$(T$,6,1))+VAL(""+MID$(T$,5,1))*16+VAL(""+MID$(T-$,4,1)) *256+VAL(""+MID$(T$,3,1))*4096+VAL(""+MID$(T$,2,1))*65536!+VAL(""+-MID$(T$, 1,1))*1048576!)*1.953125E-05 2431TD=TS-SAVEDTS : SAVEDTS=TS 2432IF TD⟨O THEN TD=TD+327.68 2450M$=MID$(RX$,62,2)+MID$(RX$,67,2) 2460OLDMP = MP 2470MP=VAL(""+MID$(M$,4,1))+VAL(""+MID$(M$,3,1))*16+VAL(""+MID$(M$-,2,1))* 256+VAL(""+MID$(M$,1,1))*4096 2472DELMP = MP-OLDMP 2474IF (DELMP (=0) OR ⟨TD ⟨=0) THEN 2480 2476MSPEED = DELMP/TD 2480RETURN 2520′********* 2530PRINT #1, LENG$ 2540GOSUB 2220 2550RETURN 2560PRINT #1, 8TT$ 2570GOSUB 2220 2580RETURN 2600PRINT #1, RED$ 2610GOSUB 2220 2620RETURN 2625′******** 2630′BUILD A NEW MOTOR SPEEED COMMAND AND SEND IT TO THE PORT 2640ITEMP%=-INT(I) 2642IF ITEMP% ⟨0 THEN ITEMP%=0 2650MJR$=HEX$⟨⟨(ITEMP%/128) AND 127)OR 128) 2680MNR$=HEX$((ITEMP% AND 127) OR 128) 2690CHA$=HEX$⟨((ITEMP%/16384) AND 3⟩ OR 12) 2700SETF$="′83"+"0"+CHA$+MJR$+MNR$+CHR$(3)+CHR$(16) 2710PRINT #1, SETF$ 2715GOSUB 2220 2720RETURN 2730′******** 2740′WRITE A REBET COMMAND TO THE PORT 2750PRINT #1, REST$ 2755GOSUB 2220 2760RETURN 2762′******** 2765′ENTRANCE FOR INITIALIZATION ONLY!! 2770L=48: SAVEDL=L: DELAY=, 1 2775TDADD=0 : SCONT%=0 : SCONT2%=0 2780TARE=1000000! 2790I=0! : SAVEDI=I 2800ANASET$=CHR$(9)+CHR$(13)+CHR$(18)+"1" 2801LDL$=HEX$(L) 2830RED$="′8B"+"00"+CHR$(3)+CHR$(16) 2840REST$="′87"+"00"+CHR$(3)+CHR$(16) 2850LENG$="′86"+"01"+LDL$+CHR$(3)+CHR$(16) 2860STT$="′86"+"00"+CHR$(3)+CHR$(16) 2870RETURN 2880′******** 2890PRINT #1, ANASET$ 2900RETURN 3000IF (CFLAG) THEN CURSTP=VDESIRE ELBE CURSTP=STARTI% 3010LOCATE 10,1 3020PRINT LUP%,CURSTP,TS,WT,MSPEED 3030RETURN 3995′****PRINT DATA IN A FILE**** 4000INPUT "WHAT FILE NAME";F$ 4005OPEN "C:"+F$ AS #2 LEN=59 4010FIELD #2, 7 AS FT$, 7 AS FX$, 9 AS FXH$, 7 AS FV$, 5 AS FK1$, 5 AS FK2$, 5 A 8FI$, 7 AS FM8$, 7 AS FZRES$ 4020GET #2,1 4030F1=VAL(FT$) 4035LPRINT "FILE NAME IS ";F$, TIME$, DATE$ 4037LPRINT : LPRINT" # TIME X-MEAS X-HAT V-HAT K1 K2 M.SP DM.POS ZRES" 4040FOR I=2 TO F1 4050GET #2,1 4060LPRINT (I-1);" ";FT$;" ";FX$;" ";FXH$;" ";FV$;" "FK1$;" ";FK2$;" ";FI$; " ";FMS$;" ";FZRES$ 4070NEXT I 4080CLOSE #2 : STOP 4999′****COMPUTE DESIRED VELOCITY STANDARD DEVIATION**** 5020NSIG2=NSIG*NSIG 5040VDSIG2=VDSIG*VDSIG 5050AA=VDSIG2*T*T/NSIG2 5070A=,5 : AX=.5 5080FOR K%=1 TO 30 5090FX=A/((1!-A)*(2!-A)) 5100A=A-AX*(1!-AA/FX)/(3!/A+1!/(1!-A)+(1!/(2!-A)) 5110IF A) 1! THEN A=.9 5120IF A ⟨0! THEN A=.1 5130B=A*A/(2!-A) 5150NEXT 5160VSIG2=NSIG2*B*B/(T*T*(1!-A)) 5170VSIG=SQR(VSIG2) 5220RETURN 5900QFAC=3 5910AFAC=2 6000′****KALMAN FILTER**** 6010IF SCONT2%=1 THEN TD=TD-TDADD : SCONT2%=0 6020IF SCONT%=1 THEN TD=TD+TDADD : SCONT%=0 : SCONT2%=1 6030JF%=0 6040PP11=P11+(2!*TD*P12)+(TD*TD*P22) : PP12=P12+TD*P22 : PP22=P22+VSIG2 6050ZRES=Z-XHATPRED 6060PPZ=PP11+NSIG2 6070REM K1=PP11/(PP11+NSIG2⟩ : K2=PP12/(PP11+NSIG2) 6080REM P11=(11-K1)*PP11 : P12=(1!-K1)*PP12 : P22=PP22-(K2*PP12) 6090ZCONST=0 6100IF JF%=1 THEN 6180 6110LOCATE 16,69 : PRINT "##"; LUP%;" ##" : MP=-ABS (MP) 6120ZFAC=ABS(ZRES/(QFAC*PPZ5)) 6130ZCONST=ZFACÂFAC/(1+ZFACÂFAC) 6140ZCST=ZCONST 6150Q11=ZCONST*ZRES*ZRES/121 6160PP11=PP11+Q11 : JF%=1 : GOTO 6060 6170ZRES=Z-XHATPRED 6180JF%=0 6190K1=PP11/(PP11+NSIG2) : K2=PP12/(PP11+NSIG2) 6200XHAT=XHATPRED+K1*ZRES 6210VHAT=VHATPRED+K2*ZRES 6220P11=(1!-K1) *PP11 : P12=(1!-K1) *PP12 : P22=PP22-(K2*PP12) 6230TD1=TD-TDELAY : BB= 1!-EXP (-TD1/TAU) 6240XHATPRED=XHAT+TD*VHAT+TDELAY*VCPAST+(TD1-TAU*BB)*VCTEMP : VHATPRED=VHAT+VCTEM P#BB 6250VCERROR=VDESIRE-VHATPRED : VCPAST=VCTEMP : ZPAST=Z 6260VCTEMP=CGAIN*VCERROR*CFLAG 6270I=I+VCTEMP/FF 6280IF I⟩ 0! THEN I=0! : VCTEMP=0! 6290LOCATE 16,1 : PRINT USING" ######.###";XHAT,VHAT,K1,K2,TD,ZRES 6300LOCATE 17, 1 : PRINT USING "######.###";ZCST 6310ZPAST=Z 6320RETURN 6330′INITIAL FILTERING 6340ZTHF%=0 : P11=NSIG2 : P22=(2!*NSIG2/(TD*TD))+VSIG2 : P12=NSIG2/TD 6350XHAT=Z : VHAT=(Z-ZPAST)/TD : ZPAST=Z : XHATPRED=XHAT+TD*VHAT : VHATPRED=VHAT 6360VCERROR=VDESIRE-VHAT 6370LOCATE 16,1 6360PRINT USING "######.###"; XHAT,VHAT,K1,K2,TD 6390RETURN
2′KALMAN FILTER FOR LOSS-IN-WEIGHT FEEDER 3′L = CONVERSION WINDOW LENGTH 4′I = MOTOR DRIVE COMMAND AG I = HZ. 5′WT = WEIGHT COUNT; WERR = WEIGHT ERROR INDICATOR 6′TS = TIME STAMP; DTS = MEASURED SAMPLE TIME 7′MP = MOTOR POSITION 9′SP = SET POINT 13′FSC = FULL SCALE CAPACITY 14′OPEN COMMUNICATIONS WITH THE OUTSIDE WORLD 15′OPEN COMMUNICATIONS FILE#1 (128 BYTES) FOR ACA-1AT 9600 BAUD, 16′ODD PARITY, 8 DATA BITS, ONE STOP BIT, NO ′CLEAR TO SEND′, 17′NO ′DATA SET READY′, PARITY CHECKING DISABLED. 18′ 20CLS, PRINT "KALMAN FILTER ALGORITHM" 21OPEN "COM1: 9600,N,8,1,CS, DS" AS#1 23′NOW BUILD THE DATA STATEMENTS WE′LL BE USING 24GOSUB 2770 ′ENTRANCE POINT FOR INITIALIZATION ONLY. LOOP USES 2800 25GOSUB 2890 ′INITIALIZE ANALYZER 26GOSUB 2750 ′WRITES A RESET TO THE I/O BOARD VIA THE PORT 27GOSUB 2640 ′BUILDS A SETF$ 40CGAIN = .5: CTIMX = 25: NSIG = 50: VDSIG = 25: T = 1.3: VDESIRE = -1500 41F$ = "TEMP": FF =, 3: T=1.35: CFLAG=0 ′FF=FEED FACTOR (VELOCITY/M. SPEED COMMAND) AND T=APPROX SAMPLE TIME 42FSC = 60 ′FULL SCALE CAPACITY IN KG 50PRINT " " 55INPUT "ENTER CGAIN . . . THE DEFAULT VALUE 18 0.5"; I 60IF I = 0 THEN 88 65IF (I⟩ 0) AND (I ⟨1!) THEN 80 70PRINT "UNACCEPTABLE ENTRY FOR CGAIN. USE VALUE BETWEEN 0 AND 1": BEEP 75GOTO 50 80CGAIN = I 88PRINT 90PRINT "THE KALMAN FILTER IS ACTIVATED AFTER 10 SAMPLES" 95INPUT "ENTER THE LOOP COUNT WHERE MOTOR CONTROL STARTS, DEFALUT = 25"; I 97INPUT "ENTER CONTROL TIME DELAY (TDELAY)"; TDELAY 98INPUT "ENTER MOTOR ACTIVATION DELAY (TAU)"; TAU 100IF I ⟨⟩ 0 THEN CTIMEX=I 105QFAC=3: AFAC=2 110PRINT " ": INPUT "INPUT WEIGHT NOISE S. D., DEFAULT = 50"; I 120IF I ⟨⟩ 0 THEN NSIG = I 130PRINT " ": INPUT VELOCITY DESIRED S. D., DEFAULT = 25"; I 140IF I ⟨⟩ 0 THEN VDSIG = I 160PRINT 165I=0! : INPUT "ENTER STARTING MOTOR SPEED (DMT WC/SEC) (DEFAULT=0)"; ITEMP 171IF ITEMP ⟨⟩ 0 THEN I=ABS (ITEMP) 172STARTIX = -INT(I) 175I = -ABS (I/FF) ′MAKE SURE IT IS NEG. 177PRINT: INPUT "ENTER THE OUTPUT DATA FILE NAME, DEFAULT = ′TEMP′"; A$ 178IF A$ ⟨⟩ " " THEN F£ = A$ 180CLS 181PRINT "*****RUN PARAMETERS****" 182PRINT 185PRINT "CGAIN", "NSIG", "VDSIG", "CTIME", "STARTI F$" 190PRINT CGAIN, NSIG, VDSIG, CTIMEX, STARTIX% 191LOCATE 4,69 192PRINT F$ 195′ 200LOCATE 7,1 210PRINT" ****SYSTEM ST "**** 220PRINT : PRINT "COUNT", "SETPOINT", "T. STAMP", "DMT W. CNTS", "M. SPEED" 230LOCATE 13,1 240PRINT "****FILTER CHARACTERISTICS****" 250PRINT : PRINT "W. C. PRED", "FLOWRATE", "GAIN 1 GAIN 2 DEL T" 251LOCATE 15,68 : PRINT "PERTURBATION" 260LOCATE 19,1 270PRINT "**OPTIONS** ENTER ′S′ TO CHANGE SETPT., ENTER ′H′ TO HALT" 329GOSUB 5020 330OPEN "C:"+F$ AS$2 LEN=59 332FIELD #2, 7 AS FT$, 7 AB FX$, 9 AS FXH$, 7 S FV$, 5 AS FK1$, 5 AS FK2$, 5 AS FI$, 7 AS FMS$, 7 AS FZRES$ 340GOSUB 2520 ′SENDS A WINDOW LENGTH COMMAND 350GOSUB 2640 360GOSUB 2560 ′SEND "START READ WEIGHT" COMMAND 458---- BEGINNING OF LOOP ---- 460FOR LUP%=i TO 1070 540A$=INKEY$ : IF A$=" "THEN 940 560IF (A$="S") OR (A$ = "$"). THEN 700 565IF (A$="H") OR (A$ = "h") THEN 988 570GOTO 940 700SCONT%=i : TDADD=TIMER : LOCATE 23,i 710INPUT "ENTER NEW SETPOINT. THE UNITS ARE (DMT WEIGHT COUNTS)/SEC";SP 715VDESIRE=-ABB(SP) ′I=VELOCITY OR FLOW RATE 717TDADD=TIMER-TDADD 940TO=TIMER 950PRINT #1, RED$ ′SEND A "READ AND START WEIGHT" COMMAND 953GOSUB 2220 ′DO MATH 955GOSUB 2320 957GOSUB 3000 958Z=WT : IF LUP%=CTIME% THEN CFLAG=i 960IF LUP%=8 THEN ZPAST=WT 965IF LUP%=9 THEN GOSUB 6340 ′INITIAL FILTER (N=O) 968IF LUP%⟩ 9 THEN GOSUB 6010 ′KALMAN FILTER 975IF I = SAVEDI THEN 982 ′I IS MOTOR DRIVE COMMAND FREQUENCY 977SAVEDI=I : GOSUB 2640 ′REBUILD A NEW MOTOR SPEED COMMAND AND SEND IT 980′DELAY 1/2 SECOND INCLUDING PROGRAM EXECUTION TIME 982TO=. 022#L+. 043 + TO 983LSET FT$=STR$(TS) : LSET FX$=STR$(WT) : LSET FXH$=STR$(XHAT) : LSET FV$=STR$(VHAT) : LSET FKi$=STR$(Ki) : LSET FK2$=STR$(INT(K2*1000!)/1000) : LSET FI$=STR$(INT(I)) : LSE T FMS$=STR$(INT(ZCST*1000)/1000) : LSET FZRES$=STR$(ZRES) 984PUT #2, LUP%+1 985IF TIMER⟨TO THEN 985 986NEXT 988LSET FT$=STR$(LUP%-1) 990PUT #2,1 : CLOSE #2 995I=O : GOSUB 2540 : STOP 1000′---- END OF LOOP ---- 2210′DELAY FOR ABOUT 0.1 SEC 2220TX=TIMER + .12 2230IF TIMER ⟨TX THEN 2230 2240RX$=" " 2250WHILE NOT EOF(i) 2260I$=INPUT$ (LOC(i), #i) 2270WEND 2280RX$=I$ 2300RETURN 2310′********* 2320W$=MID$(RX$,32,2)+MID$(RX$,37,2)+MID$(RX$,42,2) 2350WT=VAL(""+MID$(W$,6,1))+VAL(""+MID$(W$,5,1))#16+VAL(""+MID$(W$,4,1))# 256+VAL(""+MID$(W$,3,1))#4096!+VAL(""+MID#(W%,$,2,1))#65538 : 2351WT=VAL(""+MID$(W$,i,i))#6536!#16!+WT 2358WT=WT-TARE 2360WERR=VAL(""+MID(W$,1,1))AND 8 2370IF WERR THEN 2372 ELSE 2400 2372LOCATE 21,1 : PRINT "WEIGHT ERROR "; LUP% 2400T$=MID$(RX$,47,2)+MID$(RX$,52,2)+MID$(RX$,57,2) 2420TS=(VAL(""+MID$(T$,6,1))+VAL(""+MID$(T$,5,1))*16+VAL(""+MID$(T-$,4,1)) *256+VAL(""+MID$(T$,3,1))*4096+VAL(""+MID$(T$,2,1))*65536!+VAL(""+-MID$(T$, 1,1))*1048576!)*1.953125E-05 2431TD=TS-SAVEDTS : SAVEDTS=TS 2432IF TD⟨O THEN TD=TD+327.68 2450M$=MID$(RX$,62,2)+MID$(RX$,67,2) 2460OLDMP = MP 2470MP=VAL(""+MID$(M$,4,1))+VAL(""+MID$(M$,3,1))*16+VAL(""+MID$(M$-,2,1))* 256+VAL(""+MID$(M$,1,1))*4096 2472DELMP = MP-OLDMP 2474IF (DELMP (=0) OR ⟨TD ⟨=0) THEN 2480 2476MSPEED = DELMP/TD 2480RETURN 2520′********* 2530PRINT #1, LENG$ 2540GOSUB 2220 2550RETURN 2560PRINT #1, 8TT$ 2570GOSUB 2220 2580RETURN 2600PRINT #1, RED$ 2610GOSUB 2220 2620RETURN 2625′******** 2630′BUILD A NEW MOTOR SPEEED COMMAND AND SEND IT TO THE PORT 2640ITEMP%=-INT(I) 2642IF ITEMP% ⟨0 THEN ITEMP%=0 2650MJR$=HEX$⟨⟨(ITEMP%/128) AND 127)OR 128) 2680MNR$=HEX$((ITEMP% AND 127) OR 128) 2690CHA$=HEX$⟨((ITEMP%/16384) AND 3⟩ OR 12) 2700SETF$="′83"+"0"+CHA$+MJR$+MNR$+CHR$(3)+CHR$(16) 2710PRINT #1, SETF$ 2715GOSUB 2220 2720RETURN 2730′******** 2740′WRITE A REBET COMMAND TO THE PORT 2750PRINT #1, REST$ 2755GOSUB 2220 2760RETURN 2762′******** 2765′ENTRANCE FOR INITIALIZATION ONLY!! 2770L=48: SAVEDL=L: DELAY=, 1 2775TDADD=0 : SCONT%=0 : SCONT2%=0 2780TARE=1000000! 2790I=0! : SAVEDI=I 2800ANASET$=CHR$(9)+CHR$(13)+CHR$(18)+"1" 2801LDL$=HEX$(L) 2830RED$="′8B"+"00"+CHR$(3)+CHR$(16) 2840REST$="′87"+"00"+CHR$(3)+CHR$(16) 2850LENG$="′86"+"01"+LDL$+CHR$(3)+CHR$(16) 2860STT$="′86"+"00"+CHR$(3)+CHR$(16) 2870RETURN 2880′******** 2890PRINT #1, ANASET$ 2900RETURN 3000IF (CFLAG) THEN CURSTP=VDESIRE ELBE CURSTP=STARTI% 3010LOCATE 10,1 3020PRINT LUP%,CURSTP,TS,WT,MSPEED 3030RETURN 3995′****PRINT DATA IN A FILE**** 4000INPUT "WHAT FILE NAME";F$ 4005OPEN "C:"+F$ AS #2 LEN=59 4010FIELD #2, 7 AS FT$, 7 AS FX$, 9 AS FXH$, 7 AS FV$, 5 AS FK1$, 5 AS FK2$, 5 A 8FI$, 7 AS FM8$, 7 AS FZRES$ 4020GET #2,1 4030F1=VAL(FT$) 4035LPRINT "FILE NAME IS ";F$, TIME$, DATE$ 4037LPRINT : LPRINT" # TIME X-MEAS X-HAT V-HAT K1 K2 M.SP DM.POS ZRES" 4040FOR I=2 TO F1 4050GET #2,1 4060LPRINT (I-1);" ";FT$;" ";FX$;" ";FXH$;" ";FV$;" "FK1$;" ";FK2$;" ";FI$; " ";FMS$;" ";FZRES$ 4070NEXT I 4080CLOSE #2 : STOP 4999′****COMPUTE DESIRED VELOCITY STANDARD DEVIATION**** 5020NSIG2=NSIG*NSIG 5040VDSIG2=VDSIG*VDSIG 5050AA=VDSIG2*T*T/NSIG2 5070A=,5 : AX=.5 5080FOR K%=1 TO 30 5090FX=A/((1!-A)*(2!-A)) 5100A=A-AX*(1!-AA/FX)/(3!/A+1!/(1!-A)+(1!/(2!-A)) 5110IF A) 1! THEN A=.9 5120IF A ⟨0! THEN A=.1 5130B=A*A/(2!-A) 5150NEXT 5160VSIG2=NSIG2*B*B/(T*T*(1!-A)) 5170VSIG=SQR(VSIG2) 5220RETURN 5900QFAC=3 5910AFAC=2 6000′****KALMAN FILTER**** 6010IF SCONT2%=1 THEN TD=TD-TDADD : SCONT2%=0 6020IF SCONT%=1 THEN TD=TD+TDADD : SCONT%=0 : SCONT2%=1 6030JF%=0 6040PP11=P11+(2!*TD*P12)+(TD*TD*P22) : PP12=P12+TD*P22 : PP22=P22+VSIG2 6050ZRES=Z-XHATPRED 6060PPZ=PP11+NSIG2 6070REM K1=PP11/(PP11+NSIG2⟩ : K2=PP12/(PP11+NSIG2) 6080REM P11=(11-K1)*PP11 : P12=(1!-K1)*PP12 : P22=PP22-(K2*PP12) 6090ZCONST=0 6100IF JF%=1 THEN 6180 6110LOCATE 16,69 : PRINT "##"; LUP%;" ##" : MP=-ABS (MP) 6120ZFAC=ABS(ZRES/(QFAC*PPZ5)) 6130ZCONST=ZFACÂFAC/(1+ZFACÂFAC) 6140ZCST=ZCONST 6150Q11=ZCONST*ZRES*ZRES/121 6160PP11=PP11+Q11 : JF%=1 : GOTO 6060 6170ZRES=Z-XHATPRED 6180JF%=0 6190K1=PP11/(PP11+NSIG2) : K2=PP12/(PP11+NSIG2) 6200XHAT=XHATPRED+K1*ZRES 6210VHAT=VHATPRED+K2*ZRES 6220P11=(1!-K1) *PP11 : P12=(1!-K1) *PP12 : P22=PP22-(K2*PP12) 6230TD1=TD-TDELAY : BB= 1!-EXP (-TD1/TAU) 6240XHATPRED=XHAT+TD*VHAT+TDELAY*VCPAST+(TD1-TAU*BB)*VCTEMP : VHATPRED=VHAT+VCTEM P#BB 6250VCERROR=VDESIRE-VHATPRED : VCPAST=VCTEMP : ZPAST=Z 6260VCTEMP=CGAIN*VCERROR*CFLAG 6270I=I+VCTEMP/FF 6280IF I⟩ 0! THEN I=0! : VCTEMP=0! 6290LOCATE 16,1 : PRINT USING" ######.###";XHAT,VHAT,K1,K2,TD,ZRES 6300LOCATE 17, 1 : PRINT USING "######.###";ZCST 6310ZPAST=Z 6320RETURN 6330′INITIAL FILTERING 6340ZTHF%=0 : P11=NSIG2 : P22=(2!*NSIG2/(TD*TD))+VSIG2 : P12=NSIG2/TD 6350XHAT=Z : VHAT=(Z-ZPAST)/TD : ZPAST=Z : XHATPRED=XHAT+TD*VHAT : VHATPRED=VHAT 6360VCERROR=VDESIRE-VHAT 6370LOCATE 16,1 6360PRINT USING "######.###"; XHAT,VHAT,K1,K2,TD 6390RETURN
Claims (11)
1. Verfahren zur gewichtsabhängigen Zuführung von
Materialien, gekennzeichnet durch
die folgenden Verfahrensschritte:
- - Speichern einer Materialmenge;
- - Abgeben des Materials;
- - Erfassung des Gewichts des gespeicherten oder abgegebenen Materials;
- - Ableitung einer Abschätzung des tatsächlichen Gewichtes des gewogenen Materials und einer Abschätzung der tatsächlichen Durchflußmenge des abgegebenen Materials aus dem gemessenen Gewicht unter Verwendung eines Modelles mindestens eines Rauschvorganges, der ein Abweichen des gemessenen Gewichtes von dem tatsächlichen Gewicht verursacht;
- - Bestimmung der Differenz zwischen der Abschätzung des tatsächlichen Gewichtes und dem gemessenen Gewicht;
- - Modifizierung des Modelles der Rauschvorgänge aufgrund der Größe der Differenz und der Wahrscheinlichkeit des Auftretens dieser Größe; und
- - Steuerung des Materialauslasses unter Verwendung der Abschätzung des tatsächlichen Durchflusses, um den tatsächlichen Durchfluß auf einem gewünschten Wert zu halten.
2. Verfahren nach Anspruch 1, weiterhin
gekennzeichnet durch:
- - wiederholtes Ableiten neuer Abschätzungen des tatsächlichen Durchflusses in Übereinstimmung mit der Herleitung, die sukzessiv modifizierte Rauschmodelle verwendet, die sich wiederum aus wiederholter Ausführung der modifizierten Schritte ergeben.
3. Verfahren nach Anspruch 2, dadurch
gekennzeichnet, daß mindestens
ein Modell eines Rauschvorganges stochastisch
ist und ein Modell mindestens eines Rauschvorganges
der Anlage und ein Modell mindestens eines
Rauschvorganges der Messungen umfaßt.
4. Verfahren nach Anspruch 3, dadurch
gekennzeichnet, daß die
Modifikation den folgenden Schritt umfaßt:
Modifikation des Modelles des Rauschvorganges
der Anlage.
5. Verfahren zur gewichtsabhängigen Zuführung von
Materialien, gekennzeichnet
durch die folgenden Verfahrensschritte:
- - Speichern einer Materialmenge in einem Behälter;
- - Abgabe des Materials unter Verwendung steuerbarer Auslaßvorrichtungen;
- - Erfassung des Gewichtes des gespeicherten oder abgegebenen Materials;
- - Veränderung mindestens eines Rauschvorganges, der einen Unterschied zwischen dem gemessenen Gewicht von dem tatsächlichen Gewicht des Materials verursacht, um ein Rauschmodell zu erhalten;
- - Berechnung des abgeschätzten Gewichtes des gewogenen Materials und des abgeschätzten Durchflusses des abgegebenen Materials unter Verwendung eines Kalman-Filterprozesses auf der Grundlage des gemessenen Gewichtes und des Modelles des Rauschvorganges;
- - Berechnung einer Restgröße aus dem abgeschätzten Gewicht und dem gemessenen Gewicht;
- - Berechnung der Standardabweichung der Restgröße;
- - Berechnung der Wahrscheinlichkeit des Auftretens der Restgröße unter Verwendung der Standardabweichung;
- - Modifizierung des Rauschmodelles aufgrund der Restgröße und der Wahrscheinlichkeit ihres Auftretens;
- - Steuerung der Abgabe des Materials unter Verwendung des abschätzenden Wertes des tatsächlichen Durchflusses um den tatsächlichen Durchfluß im wesentlichen gleich einem gewünschten Durchfluß aufrechtzuerhalten; und
- - wiederholtes Berechnen einer neuen Abschätzung des tatsächlichen Durchflusses in Übereinstimmung mit dem Berechnungsschritt zur Steuerung der Abgabe von Material unter Verwendung eines sukzessiv modifizierten Rauschmodells, das durch wiederholte Ausführung des modifizierenden Schrittes erhalten wurde.
6. Verfahren nach Anspruch 5, dadurch
gekennzeichnet, daß das Rauschmodell
mindestens ein Modell für das Rauschen
der Anlage mit einem Varianzparameter umfaßt und
bei dem der modifizierende Schritt weiterhin
folgenden Schritt umfaßt:
- - Festlegen der Varianz des mindestens einen Rauschmodells für die Anlage proportional zu dem Quadrat der Restgröße.
7. Verfahren nach Anspruch 5, dadurch
gekennzeichnet, daß die
Auslaßvorrichtung aktiv das abgegebene Material
entfernt und der modellbildende Schritt folgende
Schritte umfaßt:
- - Betreiben der Auslaßvorrichtung, ohne Material zu entnehmen;
- - Messung des Gewichtes mindestens eines Behälters; und
- - Berechnung der Varianz des gemessenen Gewichtes.
8. Vorrichtung zur gewichtsabhängigen Zuführung mit:
- - Vorrichtung zur Speicherung von Materialien;
- - Vorrichtung zur Abgabe von Materialien aus den Vorrichtungen zur Speicherung;
- - Vorrichtung zur Messung des Gewichtes der gespeicherten Materialien oder des Gewichtes der abgegebenen Materialien;
- - Vorrichtung zur Herleitung einer Abschätzung des Durchflusses der abgegebenen Materialien aus dem gemessenen Gewicht unter Verwendung eines Modells mindestens eines Rauschvorganges, der eine Abweichung des gemessenen Gewichtes von dem tatsächlichen Gewicht des gewogenen Materials verursacht;
- - Vorrichtungen zur Berechnung einer Restgröße, die gleich der Differenz zwischen dem gemessenen Gewicht und dem abgeschätzten Gewicht ist; und
- - Vorrichtungen zur Modifizierung des Rauschmodelles;
gekennzeichnet durch:
- - Vorrichtungen zur Berechnung der Standardabweichung der Restgröße:
- - Vorrichtungen zur Berechnung einer Distributionsfunktion aufgrund des Verhältnisses der Restgröße zu der Standardabweichung;
- - Vorrichtungen zur Berechnung der Varianz des Modelles aufgrund der Distributionsfunktion und der Restgröße;
- - Vorrichtungen zur Steuerung der Auslaßvorrichtungen entsprechend dem abgeschätzten Durchfluß zur Abgabe von Material aus den Speichervorrichtungen mit einem gewünschten Durchfluß.
9. Vorrichtung nach Anspruch 8, dadurch
gekennzeichnet, daß die
Distributionsfunktion entsprechend folgender
Gleichung berechnet wird:
f(x) = /x/ a /(1 + /x/ a )mit:
f(x): Distributionsfunktion;
x = m /q
m : Restgröße;
W m : Standardabweichung der Restgröße;
3q5; und
2a4.
f(x): Distributionsfunktion;
x = m /q
m : Restgröße;
W m : Standardabweichung der Restgröße;
3q5; und
2a4.
10. Vorrichtung nach Anspruch 9, dadurch
gekennzeichnet, daß die Variante A
des mindestens einen Modells entsprechend folgender
Gleichung berechnet wird.
A = f(x) m²/12.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/879,430 US4775949A (en) | 1986-06-27 | 1986-06-27 | Weigh feeding system with stochastic control |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3721186A1 true DE3721186A1 (de) | 1988-01-28 |
DE3721186C2 DE3721186C2 (de) | 1992-03-26 |
Family
ID=25374144
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19873721186 Granted DE3721186A1 (de) | 1986-06-27 | 1987-06-26 | Verfahren zur gewichtsabhaengigen zufuehrung von materialien mit stochastischer steuerung und vorrichtung zur durchfuehrung des verfahrens |
Country Status (3)
Country | Link |
---|---|
US (1) | US4775949A (de) |
JP (1) | JPS6326539A (de) |
DE (1) | DE3721186A1 (de) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3910028A1 (de) * | 1988-03-29 | 1989-10-19 | Tron Int Inc | Verfahren und vorrichtung zur masseflussregelung eines gefoerderten materials |
DE3836417A1 (de) * | 1988-10-26 | 1990-05-03 | Bodenseewerk Geraetetech | Filteranordnung zur erzeugung eines schaetzwertes einer durch stoerungen beeinflussten messgroesse |
DE3926038A1 (de) * | 1988-08-10 | 1990-06-13 | Tron Int Inc | Fluidfoerdersystem mit selbstoptimierender stochastischer regelung |
EP0421063A2 (de) * | 1989-10-06 | 1991-04-10 | Carl Schenck Ag | Verfahren zur Verbesserung der adaptiven stochastischen Dosiergenauigkeit einer geregelten Differentialdosierwaage |
WO2004076988A1 (de) * | 2003-02-25 | 2004-09-10 | Pfister Gmbh | Vorrichtung zur kontinuierlichen, gravimetrischen dosierung |
CN116067473A (zh) * | 2022-12-02 | 2023-05-05 | 华道(上海)生物医药有限公司 | 应用于高精度称重传感器的组合滤波方法、装置、系统及介质 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4880142A (en) * | 1987-05-12 | 1989-11-14 | Fuji Photo Film Co., Ltd. | Powder weighing mixer and method thereof |
DE3771333D1 (de) * | 1987-05-21 | 1991-08-14 | Schenck Ag Carl | Verfahren zur regelung einer differential-dosierwaage, insbesondere fuer schuettgueter, und differential-dosierwaage zur durchfuehrung des verfahrens. |
WO1991006835A1 (de) * | 1989-10-30 | 1991-05-16 | Brabender Technologie Kg | Wäge-dosiervorrichtung für fliessfähige stoffe |
US5103401A (en) * | 1989-11-21 | 1992-04-07 | Merrick Industries, Inc. | System for precisely controlling discharge rates of loss-in-weight feeder systems |
US5029658A (en) * | 1990-04-12 | 1991-07-09 | Clintec Nutrition Co. | Mass/weight measurement filtering system |
JPH06274205A (ja) * | 1993-03-22 | 1994-09-30 | Toshiba Corp | ゲイン適応形調節装置 |
US5375634A (en) * | 1993-10-07 | 1994-12-27 | Graco Inc. | Variable mass flow rate fluid dispensing control |
DE4337877C2 (de) * | 1993-11-05 | 1997-02-06 | Volkmar Rudolf Woelfl | Verwiegeeinrichtung für schüttfähige Materialien |
JP3756552B2 (ja) * | 1995-07-28 | 2006-03-15 | 旭化成ケミカルズ株式会社 | 樹脂組成物の製造方法 |
NL1015439C2 (nl) * | 2000-06-14 | 2001-12-17 | E H Klijn Beheer B V | Doseerinrichting. |
US7085692B2 (en) * | 2001-10-11 | 2006-08-01 | Xerox Corporation | Learning systems and methods for market-based control of smart matter |
US7921480B2 (en) * | 2001-11-20 | 2011-04-12 | Parsons Natan E | Passive sensors and control algorithms for faucets and bathroom flushers |
US6782928B2 (en) * | 2002-03-15 | 2004-08-31 | Lg.Philips Lcd Co., Ltd. | Liquid crystal dispensing apparatus having confirming function for remaining amount of liquid crystal and method for measuring the same |
AU2007242056B2 (en) * | 2006-04-20 | 2012-12-06 | Ezymine Pty Limited | Payload estimation system and method |
US7534970B2 (en) * | 2006-06-15 | 2009-05-19 | Schenck Accurate, Inc. | Counterbalanced dispensing system |
US20140110425A1 (en) * | 2012-10-19 | 2014-04-24 | Jason Pahl | System and method for portable dry chemical injection |
US10119853B2 (en) * | 2016-04-14 | 2018-11-06 | Robert O Brandt, Jr. | Decoupling point weight measurement |
CN107146164A (zh) * | 2017-04-11 | 2017-09-08 | 国网辽宁省电力有限公司 | 基于分布式互联平台的一省多地调控综合模型拼接方法 |
CN112697240B (zh) * | 2020-12-04 | 2021-11-26 | 华南农业大学 | 一种包裹动态称重设备及其称重方法 |
CN114634007B (zh) * | 2022-02-11 | 2024-03-22 | 国能黄骅港务有限责任公司 | 翻车机给料系统及其低料位检测方法、装置 |
CN116642562B (zh) * | 2023-07-27 | 2023-10-20 | 黑龙江惠达科技股份有限公司 | 一种植保无人机药液质量测量系统、方法和无人机 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3633009A (en) * | 1970-01-19 | 1972-01-04 | Leeds & Northrup Co | Automatic joint probability calculation of noise corrupted process measurements |
US3767900A (en) * | 1971-06-23 | 1973-10-23 | Cons Paper Inc | Adaptive controller having optimal filtering |
DE2754527A1 (de) * | 1976-12-07 | 1978-06-15 | Acrison Inc | Waege-beschickungsvorrichtung |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US32101A (en) * | 1861-04-16 | Beehive | ||
US3116801A (en) * | 1960-11-04 | 1964-01-07 | Fr Hesser Maschinenfabrik Ag F | Machine for measuring out fluent, pourable material |
GB1085729A (en) * | 1965-07-26 | 1967-10-04 | Ici Ltd | Process control apparatus |
US3622767A (en) * | 1967-01-16 | 1971-11-23 | Ibm | Adaptive control system and method |
US3481509A (en) * | 1967-10-18 | 1969-12-02 | Procter & Gamble | Mass flow controller |
NL6803525A (de) * | 1968-03-12 | 1969-09-16 | ||
JPS512596B1 (de) * | 1969-12-23 | 1976-01-27 | ||
US3889848A (en) * | 1972-07-25 | 1975-06-17 | Ronald J Ricciardi | Automatically controlled weigh feeding apparatus |
FR2201499B1 (de) * | 1972-09-29 | 1975-03-14 | Alsthom Cgee | |
US3845370A (en) * | 1973-08-10 | 1974-10-29 | Ibm | Credibility testing in sampled-data systems |
USRE32101E (en) | 1976-12-07 | 1986-04-01 | Acrison, Inc. | Weigh feeding apparatus |
US4167576A (en) * | 1977-10-06 | 1979-09-11 | Rohm And Haas Company | Cyanoaralkylheterocyclic compounds |
US4301510A (en) * | 1978-06-06 | 1981-11-17 | Acrison, Incorporated | Weigh feeder system |
US4265715A (en) * | 1979-07-13 | 1981-05-05 | Oxy Metal Industries Corporation | Silver electrodeposition process |
JPS5716719A (en) * | 1980-07-04 | 1982-01-28 | Hitachi Ltd | Method and equipment for controlling steam temperature in thermal power plant |
US4524886A (en) * | 1982-01-28 | 1985-06-25 | K-Tron International, Inc. | Apparatus and method for improving the accuracy of a loss-in-weight feeding system |
GB2119938B (en) * | 1982-04-21 | 1986-02-19 | Cosmopolitan Textile Co Ltd | Weighing fluent material |
US4545242A (en) * | 1982-10-27 | 1985-10-08 | Schlumberger Technology Corporation | Method and apparatus for measuring the depth of a tool in a borehole |
JPS59109826A (ja) * | 1982-12-15 | 1984-06-25 | Hitachi Zosen Corp | 粉粒体の定量供給方法 |
JPS59195012A (ja) * | 1983-04-20 | 1984-11-06 | Hitachi Ltd | 燃焼制御方法 |
US4534428A (en) * | 1983-08-11 | 1985-08-13 | Package Machinery Co. | Vibratory feeder control for a weighing system |
JPS6056236U (ja) * | 1983-09-26 | 1985-04-19 | 株式会社クボタ | ロスインウェイト式供給装置 |
JPS6191520A (ja) * | 1984-10-12 | 1986-05-09 | Lion Eng Kk | 計量充填制御方法およびその装置 |
-
1986
- 1986-06-27 US US06/879,430 patent/US4775949A/en not_active Expired - Lifetime
-
1987
- 1987-06-26 DE DE19873721186 patent/DE3721186A1/de active Granted
- 1987-06-26 JP JP62159472A patent/JPS6326539A/ja active Granted
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3633009A (en) * | 1970-01-19 | 1972-01-04 | Leeds & Northrup Co | Automatic joint probability calculation of noise corrupted process measurements |
US3767900A (en) * | 1971-06-23 | 1973-10-23 | Cons Paper Inc | Adaptive controller having optimal filtering |
DE2754527A1 (de) * | 1976-12-07 | 1978-06-15 | Acrison Inc | Waege-beschickungsvorrichtung |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3910028A1 (de) * | 1988-03-29 | 1989-10-19 | Tron Int Inc | Verfahren und vorrichtung zur masseflussregelung eines gefoerderten materials |
DE3926038A1 (de) * | 1988-08-10 | 1990-06-13 | Tron Int Inc | Fluidfoerdersystem mit selbstoptimierender stochastischer regelung |
DE3836417A1 (de) * | 1988-10-26 | 1990-05-03 | Bodenseewerk Geraetetech | Filteranordnung zur erzeugung eines schaetzwertes einer durch stoerungen beeinflussten messgroesse |
US5056052A (en) * | 1988-10-26 | 1991-10-08 | Detlev Wick | Filter arrangement for generating an estimate of a measured variable influenced by disturbances |
EP0421063A2 (de) * | 1989-10-06 | 1991-04-10 | Carl Schenck Ag | Verfahren zur Verbesserung der adaptiven stochastischen Dosiergenauigkeit einer geregelten Differentialdosierwaage |
DE3933471A1 (de) * | 1989-10-06 | 1991-04-18 | Schenck Ag Carl | Verfahren und vorrichtung zur verbesserung der dosiergenauigkeit einer geregelten differentialdosierwaage |
EP0421063A3 (en) * | 1989-10-06 | 1991-07-17 | Carl Schenck Ag | Process for amelioration of the precision of dosing of a controlled balance for differential dosing |
US5132897A (en) * | 1989-10-06 | 1992-07-21 | Carl Schenck Ag | Method and apparatus for improving the accuracy of closed loop controlled systems |
WO2004076988A1 (de) * | 2003-02-25 | 2004-09-10 | Pfister Gmbh | Vorrichtung zur kontinuierlichen, gravimetrischen dosierung |
EA007756B1 (ru) * | 2003-02-25 | 2006-12-29 | Пфистер Гмбх | Устройство для непрерывного гравиметрического дозирования |
US7622686B2 (en) | 2003-02-25 | 2009-11-24 | Pfister Gmbh | Device for effecting continuous gravimetric dosing |
CN116067473A (zh) * | 2022-12-02 | 2023-05-05 | 华道(上海)生物医药有限公司 | 应用于高精度称重传感器的组合滤波方法、装置、系统及介质 |
Also Published As
Publication number | Publication date |
---|---|
US4775949A (en) | 1988-10-04 |
JPS6326539A (ja) | 1988-02-04 |
JPH0521488B2 (de) | 1993-03-24 |
DE3721186C2 (de) | 1992-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3721186A1 (de) | Verfahren zur gewichtsabhaengigen zufuehrung von materialien mit stochastischer steuerung und vorrichtung zur durchfuehrung des verfahrens | |
DE3933471C2 (de) | ||
DE3926038C2 (de) | ||
DE2754527C2 (de) | ||
DE4338608B4 (de) | Verfahren und Vorrichtung zur Führung eines Prozesses in einem geregelten System | |
EP2376783B1 (de) | Simulationsgestütztes verfahren zur steuerung bzw. regelung von druckluftstationen | |
DE10304902B4 (de) | Anpassung von erweiterten Prozeßsteuerblöcken in Abhängigkeit von veränderlichen Prozeßverzögerungen | |
DE102004058238A1 (de) | Adaptive, multivariable Prozesssteuerung, die Modellschaltung und Attribut-Interpolation nutzt | |
DE4338615A1 (de) | Verfahren und Vorrichtung zur Führung eines Prozesses in einem geregelten System | |
DE4405253A1 (de) | Vorrichtung und Verfahren zum Steuern des Durchsatzes von Schwingzuführvorrichtungen | |
DE2447395B2 (de) | Verteileinrichtung für Flüssigkeiten, insbesondere in der Landwirtschaft | |
WO2010015465A1 (de) | Diagnoseverfahren eines prozessautomatisierungssystem | |
DE3706708A1 (de) | Verfahren zum steuern des durchsatzes bei der zufuehrung von wiegegut zu einer waage | |
DE102007013333A1 (de) | Verfahren zur Parametrierung und zum Betrieb von Waagen | |
EP0291553B1 (de) | Verfahren zur Regelung einer Differential-Dosierwaage, insbesondere für Schüttgüter, und Differential-Dosierwaage zur Durchführung des Verfahrens | |
DE4338607A1 (de) | Verfahren und Vorrichtung zur Führung eines Prozesses in einem geregelten System | |
DE3910028A1 (de) | Verfahren und vorrichtung zur masseflussregelung eines gefoerderten materials | |
DE4309109A1 (de) | Verfahren zur Störausblendung bei einer Differentialdosierwaage und Vorrichtung zur Durchführung des Verfahrens | |
DE69309803T2 (de) | Verfahren zur regelung der lage einer spindel | |
EP1715309A1 (de) | Behälterwaage | |
EP0885565B1 (de) | Verfahren und Vorrichtung zum Befüllen von Wursthüllen | |
DE102004025876B4 (de) | Vorrichtung und Verfahren zur Stapeleigenschaftsschätzung | |
WO2022258427A1 (de) | Erfassen eines werts einer physikalischen grösse eines technischen systems | |
EP4381361B1 (de) | Verfahren, vorrichtung und computerprogramm zur fehlererkennung einer ist-position einer achse einer maschine | |
DE2741510A1 (de) | Verfahren und regelanordnung zur durchsatzregelung einer sichterumlaufmahlanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |