Mengenzähler mit Differenz

hightower777

Level-1
Beiträge
53
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,
ich habe da ein kleines Problem und brauche eine gute Idee.
Ich habe 2 Durchflussrohre, die einen gemeinsamen Zulauf haben
mit einem Gesamtdurchflussmesser.
In einem der 2 "Dosierrohre" ist ein zusätzlicher Durchflussmesser eingebaut.
Bei den Durchflussmessungen geht es grundsätzlich nur um die
Mengenzählung. Diese Mengenzählung wird von einen anderen SPS durchgeführt und über ein Profibus-Netz erhalte ich den Istwert.
So weit so gut.
Wenn nun der Durchflusstrang mit dem eigenen Durchflussmesser ( Mengenzähler ) läuft, ist ja die geflossene Menge, die der Mengenzähler in dem einen Dosierrohr misst, gleich der Menge, die der Gesamtmengenmesser in der Gesamtzuleitung gemessen hat.
Wenn nun aber beide Dosierrohre in Betrieb sind, dann zählt das eine Rohr ja nach wie vor seine eigene Menge, aber die Menge im anderen Dosierrohr ist dann die Differenz aus Gesamtmenge minus die Menge aus dem Dosierrohr mit dem eigenen Mengenzähler.

Wenn nun Rohr 1 in Betrieb ist und 100 Liter dosieren soll und aktuell bei 50 Liter steht, und dann Rohr 2 gestartet wird, ist ja der Startwert für meine "2.Zählung" nicht 0 sondern 50.
Wenn ich jetzt noch vom Gesamtdurchflusszähler, der z.B. bei 55050 Steht, die 50 abziehe als Differenz, hätte ich ja schon eine geflossene Menge von 55000 Litern.
Und ja beginnt nun das Problem.
Wie kann ich zu einer bestimmten Zeit "X" eine Mengenzählung aus einer Differenz starten mit Wert "0" ?
Gruss higtower
 
Angenommen der Zähler ist in Rohr1 verbaut, dann erhältst du die Menge für Rohr2 mit "ZaehlerGesamt" - "ZaehlerRohr1". Das gilt immer.

Wenn nun Rohr2 100 Liter dosieren soll, so lässt sich das wie folgt darstellen.

MengeRohr2 = (ZaehlerGesamt_Aktuell - ZaehlerRohr1_Aktuell ) - (ZaehlerGesamt_Start - ZaehlerRohr1_Start )

Wenn MengeRohr2 >= 100, dann sind die 100 Liter dosiert.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
der Fehler den du machst ist m.E. dass du den Zählwert absolut betrachtest ...
Deine Durchfluss-Messung ist ja eine Impulse/Zeiteinheit (also Frequenz-Messung) ...

Gruß
LL
 
... und du bekommst den aktuellen Zählerwert als Absolutwert ?
Wenn ja, dann müßtest du den akt. Wert vom letzten Wert abziehen und das ins Verhältnis zur jeweiligen Zeit stellen - dann hättest du den Durchfluss / Zeiteinheit auf den du dann Verhältnis-Rechnungen machen kannst ...

Gruß
LL
 
Zuviel Werbung?
-> Hier kostenlos registrieren
So, soweit hat alles funktioniert beim Simulieren ( mit S7-416-2DP).
Die gerechneten Werte waren alsolut o.k.
Bei der Inbetriebnahme mit einer 317-2DP kam als Ergebnis aus dem FUP (SUB_I) mal das richtige Ergebnis, z.B. "-40" oder es zeigte sich ein Ergebnis von z.B. 32446 mit dem Overflow-Bit ??
Was ist denn das ??

Gruss hightower
 
Vorsicht:
Der INT geht nur von -32768 - +32767

wenn die Zahl größer oder kleiner wird, nimm Dint oder wandel das auf Real um. Dann hast du weniger probleme und kannst auch besser rechnen.

Gruß wolder
 
... das hatte ich fast erwartet ...
Ein Absolutwert hat natürlich irgendwann einen Überlauf (wir dann negativ). In dem Fall mußt du mit dem max.Wert korrigieren (draufaddieren).
Ist dein Zählwert ein INT oder ein DINT ?
Wenn INT, dann zunächst in DINT umwandeln. Ist der Wert < 0 dann Wert = Wert + 32767. Nun die weitere Differenz-Berechnugn machen ...

Gruß
LL
 
Zurück
Oben