# Waage mit Tendenzerkennung



## hubert (28 Dezember 2011)

Hallo Leute,

habe ein keines Problem für das ich keine 100% Lösung bis jetzt habe. Mal so im groben beschrieben.
Habe einen Behälter welche eine Fassungsvermögen von 30000kg hat. Dieser Behälter steht auf mehreren Wiegezellen, welche an einem Wiegecomputer angeschlossen sind.
Von diesem Wiegecomputer bekomme ich das aktuelle Gewicht über ein 4-20mA Signal. Nun wird alle 30 Minuten eine Menge von 150kg aus diesem Behälter entnommen. Die zu entnehmende Menge wird aus einer Gesamtenahme pro Tag berechnet und ergibt somit 150kg pro halbe Stunde. Außerdem wird nach jeder Beschickung überprüft, ob mehr oder weniger als 150kg beschickt werden. Es wird dann bei der nächsten Beschickung ein neuer Ausgleich berechnet und somit auch mal weniger als 150kg oder auch mehr als 150kg beschickt je nach Abweichung. So aber nun zu meinem kleinen Problem. Es kann vorkommen, das während der Entnahme auch neues Material in den Behälter befüllt wird, das heißt es steigt auf einmal das Gewicht im Behälter. Habe es momentan so gelöst, das ich über ein festes Raster (200ms) überprüfe, ob sich das Gewicht um einen bestimmten Wert nach oben ändert. Wird dieser Wert überschritten, so wird die Entnahme für eine bestimmte Zeit gestoppt, bis sich das Gewicht wieder beruhigt hat. Anschließend wird die Entnahme wieder neu gestartet. Es wird auch die bereits entnommene Menge berücksichtigt um das Stoppgewicht zu erreichen. Was aber nun das Problem ist, der Wert schwankt etwas und es kann vorkommen, das während dem Betrieb der Grenzwert stopp erreicht wird auch wenn kein Gewicht tatsächlich dazu kommt. Wie würdet ihr so eine Problem lösen bzw. hat jemand anders schon mal solch ein Problem? Ich dachte auch schon über eine Aufsummierung der Positiven Gewichtsänderung über Zeit, aber das ist auch nicht die Wurzels Lösung.
PS: Das Gewicht welches gewogen wird ist Maissilage und wird über einen Lader in eine Beschicker für eine Biogasanlage gekippt.
Bin für jede Hilfe von auch sehr dankbar.


----------



## Drucky89 (28 Dezember 2011)

Aus Deiner Beschreibung wird mir nicht klar, was das eigentliche Problem ist. Besteht die Aufgabe darin, dass (mittlere) Gewicht bei 30 Tonnen konstant zu halten? Warum ist es kritisch, wenn das Gewicht leicht schwankt? Warum prüfst Du das Gewicht alle 200ms, wenn nur alle 30 min. eine Entnahme passiert? Um Deine Frage sinnvoll bearbeiten zu können, müsste man den Prosess besser verstehen.


----------



## Paule (28 Dezember 2011)

hubert schrieb:


> Es kann vorkommen, das während der Entnahme auch neues Material in den Behälter befüllt wird, das heißt es steigt auf einmal das Gewicht im Behälter.


Hallo Hubert, 
kannst du nicht die Befüllung während der Entnahme stoppen?
Sprich Entnahme hat Vorrang. Bei 150kg in 30 min besteht doch sicher nicht die Gefahr dass der Behälter leer wird.


hubert schrieb:


> Was aber nun das Problem ist, der Wert schwankt etwas und es kann vorkommen, das während dem Betrieb der Grenzwert stopp erreicht wird auch wenn kein Gewicht tatsächlich dazu kommt. Wie würdet ihr so eine Problem lösen


Mittelwertbildung


----------



## hubert (28 Dezember 2011)

Hallo,

das Problem ist das. Ich kann die Befüllung mit Neumaterial nicht verhindert. Er kann jeder Zeit neues Material in den Beschicker mit dem Radlaer füllen, wenn er meint. Hab leider keinen Deckel, den ich schließen kann, so das kein neues Material eingefüllt werden kann.
Ich schau während der Entnahme alle 200ms nach, ob das Gewicht fällt. Außerdem prüfe ich nach dieser Zeit, wenn das Gewicht nicht fällt ob es um den eingestellten Grenzwert nach oben gestiegen ist. Ist es nicht um den Grenzwert innerhalb dieser Zeit gestiegen, so läuft die Anlage weiter. Ist es doch um den Wert angestiegen, so wird eine Pause gemacht. Das ganze halt folgenden Hintergrund. Ich reche mir beim Start der Entleerung das Stoppgewicht aus. Kommt also neues Material hinzu verschiebt sich ja auch das Stoppgewicht. Es würde sozugsagen mehr Material entnommen werden, wenn ich das Stoppgewicht beibehalten würde. Muss also das Stoppgewicht neu berechnen mit der Berücksichtigung der bereits entnommenen Menge. Der Entnahmevorgang geschieht alle 30min.
Ich hoffe es ist nun etwas klarer geworden.
Dämpfen möchte ich den Wert nicht all zu stark, da die Anlage pro Sekunde 2,5kg entnimmt und es relativ genau dosiert werden soll.


----------



## thomass5 (28 Dezember 2011)

... wie wäre es mit einer Radladererkennung (Radlader da , Austrag stoppen und Gewichtsänderung erfassen)? 
... kannst du den Beschicker anhalten? (Austrag aktiv, Beschicker stop. Erfordert eventuell nen Trichter der die Radladerladung aufnehmen kann bis sie abgearbeitet ist.)
... Kannst du eine Ampel für den Radladerfahrer anbauen(mit Elektroschock bei Nichtbeachtung)?
... kannst du die Austragsmenge erfassen (bringt Unabhängigkeit vom Radladerfahrer ;-)
... landen die 150kg mit einem mal auf der Waage? Diesen Sprung könntest du auswerten...


Thomas


----------



## hubert (28 Dezember 2011)

Hallo Thomas,
das hört sich alles recht schön aber .
Eine Radladererkennung hab ich leider nicht dort. Wäre ja eine zusätzliche Messung oder?
Das Ganze ist ein Bottich mit einem Fassungsvermögen mit mehr als 30tonnen. Hab also keine Zwischenwiegung für die Menge die vom Radlader kommt. Eine Ampel ist leider nicht montiert, das die Beschickung läuft. Das Gewicht wird im laufenden Betrieb mit Fräswalzen, Kratzboden und Förderbänder aus dem Bottich entnommen.
Brauch also nur eine sauberer Lösung, wie ich eine Gewichtsteierung (nachbefüllen) recht schnell uns sicher erfassen kann. Dies soll bei laufenden Betrieb auch möglich sein. Bei nicht laufendem Betrieb ist das ganze ja kein Thema.
Ich hoffe es ist verständlich.
PS: die Gewichtzunahme ergibt sich durch das auskippen des Radladers.


----------



## tnt369 (28 Dezember 2011)

ich würde das als schrittkette ablaufen lassen:

schritt 0:
warten bis entnahme notwendig (entnahmewert > 0.0)

schritt 1:
warten bis gewicht stabil (keine änderung für ... sekunden)

schritt 2:
speichern des startwert (gewicht)

schritt 3: entnahme läuft
entnahmewert reduzieren um startgewicht - aktuelles gewicht; startgewicht dann nachziehen (start=aktuell setzen)
schritt aktiv bis:
a) entnahmewert <= 0.0
oder
b) positive gewichtszunahme (=beladung)
sprung zu schritt 0

bei beladung bricht also die schrittkette (entnahme) ab und startet gleich neu. wartet aber bis das gewicht sich nicht mehr ändert
um dann mit dem letzten wert (entnahmewert) weiter zu entnehmen.


----------



## hubert (28 Dezember 2011)

tnt369,
das hört sich mal gut an. Könntest du mir deinen Dritten Schritt etwas genauer erklären?
Komm da nicht 100% mit wie du das genau meinst.
Eine Formel oder ein paar Codezeilen wäre hier sehr interessant.


----------



## tnt369 (29 Dezember 2011)

das könnte in schritt 3 stehen:

differenz = startgewicht - aktuellem gewicht

abbruch bei beladung:
wenn differenz < 0 (oder evtl. -1 etc. wg. hysterese) dann sprung zu schritt 0


wenn differenz > 0 (oder evtl. 1 etc wg. hysterese) dann verrechnen:
       entnahmewert = entnahmewert - differenz
       startgewicht = startgewicht - differenz 

abbruch bei entnahmewert erreicht:
wenn entnahmewert <= 0.0 dann sprung zu schritt 0

ach ja, und die entnahme läuft nur in diesem schritt (z.b. durch setzen eines ansteuer-merker,
der bei schrittkettenbeginn erst mal immer gelöscht wird).


----------



## Aventinus (29 Dezember 2011)

Ist evtl. die Entnahmezeit direkt proportional zum Gewicht? Dann könntest du die Entnahme über die Zeit realisieren bzw. wenn dein Gewicht im Behälter nicht den erwarteten Verlauf nimmt beendest du die Entnahme nach der Entnahmezeit.


----------



## Larry Laffer (29 Dezember 2011)

Hallo,
wenn das so stimmt :


hubert schrieb:


> ... da die Anlage pro Sekunde 2,5kg entnimmt und es relativ genau dosiert werden soll.


dann wäre das folgende der m.E. Einzige sinnvolle Ansatz :


Aventinus schrieb:


> Ist evtl. die Entnahmezeit direkt proportional zum Gewicht? Dann könntest du die Entnahme über die Zeit realisieren bzw. wenn dein Gewicht im Behälter nicht den erwarteten Verlauf nimmt beendest du die Entnahme nach der Entnahmezeit.


... da du ja keine Vorfüllkammer o.ä. hast. Du weißt ja nicht mal genau (und kannst das wahrscheinlich auch gar nicht ermitteln) wie die Gewichtszunahme erfolgen wird. In jedem Fall wirst du in dieser Zeit keine sinnvolle Messung machen können. Etwas anderes wäre es, wenn du z.B. wüßtest, dass das neue Material über die Dauer von 30 Sek. mit einfliesst und es 100 kg / Sek. sind - dann könntest du wieder eine Steigung errechnen.

Es bleibt aber schlußendlich wahrscheinlich auch dann bei der Zeit-Geschichte ... (wobei ... was ist daran so schlimm ?)

Gruß
Larry


----------



## Drucky89 (29 Dezember 2011)

Paule schrieb:


> Mittelwertbildung



Was spricht dagegen? Eine Mittelwertbildung in der Größenordnung der Tarierzeit dürfte die kurzzeitigen Gewichtsschwankungen ausgleichen.


----------



## Larry Laffer (29 Dezember 2011)

@Drucky:
Die Mittelwertbildung würde als Filter nur sinnvoll sein für die Digitalisierungsfehler des A/D-Wandlers. Die Waage selbst sollte ja auch schon so einen Filter haben.
Für die "Radlader kippt 1 t Material auf"-Problematik ist das sicherlich kein Lösungs-Ansatz ...


----------



## Aventinus (29 Dezember 2011)

thomass5 schrieb:


> ... wie wäre es mit einer Radladererkennung (Radlader da , Austrag stoppen und Gewichtsänderung erfassen)?



Es sollte doch kein zu großes Problem darstellen, einen Lichttaster in den Beladebereich zu tackern, der meldet ob der Radlader da ist. Dann kannst du das Ausbringen unterbrechen und wieder fortsetzen wenn der Radlader wieder weg ist.

Ich denke das ist die sauberste Lösung.


----------



## hubert (29 Dezember 2011)

Hallo Miteinander,

danke schon mal für die guten Ansätze wie ihr ds lösen würdet.
Habe heute noch mal mit dem Kunden gesprochen. Er will keinen zusätzlichen Lichtaster anbringen aber er hat mir zugesichert, das er versuchen wird nicht während der Entnahme neues Material in den Beschicker zu kippen. So wäre zumindestens das Problem gebandt.
Manche wollen halt an allen Ende und Ecken sparen.
Wegen der Entnahme pro Sekunden. Sie ist nicht immer gleich. Manchmal sind es auch deutlich weniger als 1kg pro Sekunden. Kommt ganz darauf an, wo der Lader den Maissilagehaufen in den Beschickrt kippt und dann dauert es halt auch mal eine Zeit bis Material kommt.
Aber der Ansatz von tnt369 ist schon mal sehr interessant. Werd ich mal genauer in Auge fassen.


----------



## Drucky89 (30 Dezember 2011)

Wie wäre es denn mit einem IIR Filter (z.B. in Form des exponetiell gewichteten gleitenden Mittelwertes). Das erhält die Dynamik (man erhält immernoch alle 200ms einen neuen Wert). Dämpft (je nach Filtergewichten) aber die kurzzeitigen Schwankungen.


----------



## hubert (2 Januar 2012)

Hallo Ducky89,
so ich mich mal schlau gemacht hast ist das ein Filter, bei der jeder Wert der Gemessung wurde jeweils mit einem anderen Wert bewertet werden kann und daraus wird dann ein Mittelwert gebildert. Hast du schon Erfahrungen mit solchen Filtern? Hatte bis jetzt Mittelwertfilter und Filter 1.Ordnung im Einsatz und bin da bis jetzt immer recht gut gefahren. 
Hättest du vlt. ein Programmbeispiel für solch ein Filter?


----------



## Drucky89 (3 Januar 2012)

Eine sehr einfache Form mit 2 Gewichten wäre z.B.: 
Neuer_Mittelwert = 0.75*Alter_Mittelwert + 0.25*Aktueller_Messwert

Der aktuelle Messwert geht hier also nur mit 25% in den neuen Mittelwert ein. Man kann die Gewichtung auch anders aufteilen oder mehrere ältere Mittelwerte mit einbeziehen.


----------

