Füllstandsberechnung mit FUP sym/unsym

QuePasa

Level-1
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

Ich möchte gerne eine Tankfüllstand berechnen.

1. CPU TYP: 313C

2. Verwendete Softwareversion des Projektierungssystems:Step7 V5.3

Die Tanks sind mit einem Druckaufnehmer 4-20 mA Ausgestattet.
Der Druckaufnehmer ist im Messbereich einstellbar.

Ich habe jetzt das Problem das der Tank einen symetrischen und einen unsymetrischen (Am Auslauf befinden sich Schrägen) Bereich hat.

Ich suche jetzt einen Baustein oder eine Möglichkeit hier einen relativ genauen Füllstand zu berechnen.
Hierbei habe ich auch leider ein spezifisches Gewicht von 1,08 was auch noch zu berücksichtigen ist.

Der symetrische Bereich ist für mich kein Problem nur der unsymetrische Bereich bringt mein Kopf zum Rauchen.

Ich habe den symetreichen Bereich mit dem Baustein FC10 Skalierung realisiert.

Vielen Dank und viele Grüße

Sebastian (QuePasa)
 
wenn du es schaffst den "unsymmetrischen" teil als körper zu beschreiben, kannst du auch sein volumen brechnen, im notfall über ein rotiertes integral. da ich aber eher denke, dass es sich "nur" um einen kegel handelt, nimm mal dein tafelwerk zur hand. volumen und gewicht sind ja über die dichte verknüpft, steht auch in deinem tafelwerk... :D
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn es denn doch komplett unsymmetrisch ist, kann man sich auch eine Tabelle anlegen und den unsymmetrischen Teil des Tanks "vermessen", indem man ihn in den gewünschten Genauigkeitsschritten auffüllt/abläßt und sich die Wertepaare notiert. Mit Hilfe der Tabelle (in einem DB) kann man dann den Füllstand zur Anzeige interpolieren.
 
Sorry aber hast du ne kleine skizze ?

Bei einem Stehenden Tank mit Kegel hilft das vielleicht :
Was benutzt du für einen Druckaufnehmer ? Ein E&H gerät Deltapilot oder ähnliche Hersteller ? Der rechnet das z.T. Mit ein. Da gibt es Parameter für.
ansonsten musst du dein Programm mit folgenden komponenten füttern
Kegelstumpfberechnung : http://de.wikipedia.org/wiki/Kegelstumpf
Zylinderberechnungen : http://de.wikipedia.org/wiki/Zylinder_(Geometrie)

Vermutlich wirst Du um Linearisierungskurven nicht rumkommen.

Gruss Waelder
 
Entweder theoretisch die Funkion erstellen, wenn die genauen Maße bekannt sind oder aber eine Tanktabelle nutzen, welche wenn nicht vorhanden einfach erstellt werden kann.

(z.B. immer 100 Liter einfüllen und mA messen)
0 Liter = 4mA
100 Liter = 4,21mA
200 Liter = 4,34mA
...
5000 Liter = 20mA

Dann die Wertetabelle einfach in Excel in visualisieren und eine Interpolationspolynom bilden.

Mit der gebildeten Funktion kann man dann zu jedem mA Wert den Füllstand berechnen, dabei unbedingt drauf achten mit der maximalen Anzahl an Nachkommastellen in Excel zu arbeiten.

greetz, eYe
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie sieht denn die Messung hardwaremässig aus , was hast du für einen Druckaufnehmer und wie ist er verbaut , welche Medium hast du im Tank , ist das Medium mit einem Gas überlagert?

Gruss Sven...
 
Mal eine kurze frage. Du willst den Füllstand eines Tanks messen. Meiner Meinung nach ist es doch egal ob der Tank symetrisch oder unsymetrisch aufgebaut ist wenn du den Druck misst hast du den Füllstand (natürlich nur wenn im Tank kein gegendruck vorhanden ist sondern freie atmosphäre)

Wenn du den Inhalt messen willst gibt es eine alternative dazu von VEGA..
Dort kannst du im auswertegerät dies eingeben. Dieses errechnet dir dann alles
 
Nichtlineare statische Kennlinie

Hallo

Wir verwenden für solche Tank-Inhalts-Berechnungen die Funktion "NONLIN" aus dem S7-Packet "Modular PID Control" von Siemens.
Du musst den Tank nur noch Auslittern (wie es eYe beschrieben hat) und die Werte in eine Tabelle (DB) eintragen.

Handbuch ab Seite 86: http://support.automation.siemens.com/WW/skm/frameset.asp?url=%2FWW%2Fllisapi%2Edll%2F1137082%3Ffunc%3Dll%26objId%3D1137082%26objaction%3Dcsopen%26siteid%3Dcseus%26skm%3D1%26lang%3Dde%26query%3Dpolygonzug%2Bpid%26ehbid%3Dhtml%255F00%252Fehb%252F1137082%252Ehtm%26nodeid%3D1136094&Query=polygonzug+pid&SearchArea=alle&id=1137082&F11Marker=true&siteid=cseus&query2=&modelled=&lang=de

Die S7-Bausteine sind leider Kostenpflichtig, aber dafür sehr einfach in de Anwendung.
https://mall.automation.siemens.com/CH/guest/index.asp?aktPrim=0&nodeiD=5000488&lang=de

Gruss Hoyt
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mal eine kurze frage. Du willst den Füllstand eines Tanks messen. Meiner Meinung nach ist es doch egal ob der Tank symetrisch oder unsymetrisch aufgebaut ist wenn du den Druck misst hast du den Füllstand (natürlich nur wenn im Tank kein gegendruck vorhanden ist sondern freie atmosphäre)
Das war mein Anliegen , bei freier Atmosphäre spielt die Form des Tanks keine Rolle , bei Vorspanndruck benötigst du eine Differenzdruckmessung.

Gruss Sven...
 
Hallo

Mal eine kurze frage. Du willst den Füllstand eines Tanks messen. Meiner Meinung nach ist es doch egal ob der Tank symetrisch oder unsymetrisch aufgebaut ist wenn du den Druck misst hast du den Füllstand (natürlich nur wenn im Tank kein gegendruck vorhanden ist sondern freie atmosphäre)

Wenn du den Inhalt messen willst gibt es eine alternative dazu von VEGA..
Dort kannst du im auswertegerät dies eingeben. Dieses errechnet dir dann alles

Ich vermute, unter Füllstand meint QuePasa nicht die Füllhöhe (welche linear zum Drucktransmittersignal wäre), sondern den Inhalt (das Volumen) des Mediums im Tanks.
Wird der Tank zusätzlich Druckbeaufschlagt (was er aber nicht schreibt), so wäre der Tanküberdruck (oben gemessen) vom Druck (unten gemessen ) abzuziehen.

Gruss Hoyt
 
Ist schon eine Zeit her, aber so kann es gemacht werden. Ist aber ganz einfach diese Art.

Man geht aus von 3 Messpunkten. Beim leeren Tank Abgleich machen mit PEW-wert und Inhalt, normal 0 liter. Dann 2e Abgleich machen bei Punkt wo von a-symmetrischen auf symmetrischen bereich übergegangen wird. Der 3e Abgleich dann weiter oben im Tank.

Hier muss natürlich dann jedesmal der Tank mit 1 Medium mit der gleiche dichte befüllt werden.

Ausgegangen wird dann von der Formel V=1/3*G*h
 

Anhänge

  • Kegel.rar
    20,1 KB · Aufrufe: 28
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich verwende für die Messung der Füllhöhe Differenzdruckaufnehmer, somit können atmosphärische Druckschwankungen vernachlässigt werden.

Beispiel: TYP 4-20mA / 0-200mbar

Druck = spez.Gewicht * Erdanziehung * Höhe

Höhe = Druck / ( spez.Gewicht * Erdanziehung )

Höhe = 20.000 Pa / ( 9,81 m/s² * 1620 kg/m3) = 1,26m (bei einem spez.Gewicht von PER)


Damit kannst du erstmal den FC105 / SCALE füttern und erhältst die aktuelle Füllhöhe. Ich rechne an dieser Stelle immer in dm weiter, da spare ich mir die Umrechnung in Litern.

Hoffe das hilft dir erstmal weiter.

MfG

Michael
 
Komisch, aber alle beschreiben irgendeine Lösung obwohl niemand weiß um welche Tankform es sich handelt! Von Vorteil wäre es, dass uns "QuePassa" einmal genau die Tankform verrät da "unsymetrisch" viel bedeuten kann. (Korbboden ist auch unsymetrisch....)
Die meisten dieser Formen lassen sich ja berechnen ( viel schneller als auslitern).
 
So isses ;) . Es weiß auch niemand genau, um was für einen Druckaufnehmer es sich handelt. Eine Druckdose unter einem Fuß des Tanks ist auch oftmals üblich. Die nächste Frage wäre, was mit Füllstand gemeint ist, Füllhöhe oder Volumen?

Desweiteren wäre zu klären, ab das Problem seit dem 11.08.2008 vielleicht schon gelöst ist :ROFLMAO: .


Gruß, Onkel
 
Hallo zusammen,
Ich muss den Füllstand eines liegenden Tanks (liegender Zylinder) über eine S7-1511-1 an einem HMI ausgeben. Ich habe nur eine Wiederstandskette, die den Füllstand mit 4-20mA an die SPS bringt.
Wie kann ich nun von dem linearen Eingangssignal auf ein Füllstand umrechnen, der zu einem Runden Tank passt? Die Formel habe ich bereits, aber wie bekomm ich diese in die SPS?:roll:
 
Wie, die Formel? Indem du das programmierst, dazu ist ja die SPS u.a. auch da.
Am besten kannst du das in SCL machen. Du erzeugst einen SCL-Baustein, gibt die nötigen Input- und Output-Variablen (z.Bsp. rErgebnis, rHöhe) an und progrmmierst die Berehnungsschritte in diesem FC/FB.
In SCL folgt das auch ganz gut der mathematischen Form, du kannst das also fast wie einen Formel schreiben.

rErgebnis := rHoehe * 3.0 + 270.0; //nur ein Beispiel!!!
 
Zurück
Oben