Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 22

Thema: Volumenberechnung in liegendem Zylinder mit Step-7

  1. #1
    mikel ist offline Benutzer
    Registriert seit
    04.11.2004
    Beiträge
    51
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard Volumenberechnung in liegendem Zylinder mit Step-7


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo alle miteinander,

    ich stehe zur Zeit vor folgendem Problem:

    Die Volumenberechnung eines stehenden ca. 6000l - Tanks wurde bisher mittels Differenzdruck-Messung ermittelt, Druck und Fuellhoehe verhalten sich dabei linear zueinander.

    Jetzt hat der Konstrukteur den Tank liegend einbauen lassen.

    Hatte jemand schon mal ein aehnliches Problem? Im Moment finde ich jedenfalls nicht den richtigen Ansatz.

    Die Programmierung erfolgt mit Step7 Prof. V5.3, also auch SCL moeglich.

    Bin fuer jede Anregung dankbar. Habe das ganze Osterwochende im Hotel Zeit eine Loesung zu finden.

    Gruss aus Italien (Bologna) Micha
    \"Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.\"
    (Murphys Gesetze)

  2. #2
    Avatar von kpeter
    kpeter ist offline Erfahrener Benutzer
    Registriert seit
    20.10.2004
    Beiträge
    656
    Danke
    5
    Erhielt 26 Danke für 26 Beiträge

    Standard

    hallöchen

    arbeitest du weiter mit deinen drucksensor
    oder bekommst du eine höhenmessung

  3. #3
    mikel ist offline Benutzer
    Themenstarter
    Registriert seit
    04.11.2004
    Beiträge
    51
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Die Hoehe muss ich ueber den Differenzdruck bestimmen, war bei stehendem Zylinder auch ausreichend. Ansonsten wie immer, als letztes darf der Programmierer ran, wenn der Kunde schon vor der Tuer steht und die Anlage abnehmen will. Also keine Zeit was neues zu bestellen.

    Gruss Micha
    \"Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.\"
    (Murphys Gesetze)

  4. #4
    PeterEF ist offline Erfahrener Benutzer
    Registriert seit
    30.01.2004
    Ort
    Erfurt
    Beiträge
    964
    Danke
    38
    Erhielt 106 Danke für 84 Beiträge

    Standard

    Hallo,

    was fertiges habe ich nicht. Bei sowas messen wir den Füllstand mit Ultraschall, in den Meßumformern ist die Formel für den liegenden Zylinder schon drin und raus kommt das Volumen....

    zur Lösung: Volumen ist Fläche x Höhe, Höhe ist bekannt -> Länge des liegenden Zylinders.
    Problem ist die Berechnung der Fläche des Kreisabschnitts, dazu siehe hier:

    http://www.reality-software.de/blues...xs/fl%E421.htm

    Du mußt noch umstellen: da du nicht den Winkel alpha, sondern die Höhe h gegeben hast, muß der Winkel aus der Höhe ermittelt werden:
    aus h = r-(r*cos(alpha-pi/360)) wird dann

    cos(alpha-pi/360) = (r-h) / r

    Mit dem winkel alpha kannst Du dann s und b ermitteln und dann alles unten in die Formel für die Fläche einsetzen.
    Vorsicht: bei mehr als 50% Höhe denke ich, mußt du das Volumen des leeren Teils ermitteln und von 100% abziehen.
    Ich weiß nicht, ob Deine Steuerung mit der Berechnung der ganzen Winkelfunktionen klar kommen wird....

    Wenn du das ganze Wochenende noch Zeit hast: Viel Spaß!
    Schönen Gruß aus dem verregneten Thüringen
    Peter

  5. #5
    mikel ist offline Benutzer
    Themenstarter
    Registriert seit
    04.11.2004
    Beiträge
    51
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Danke für die schnelle Hilfe,

    ansonsten das Wetter hier ist auch nicht besonders, Bedeckt und Regnerisch, also genau richtig zum Arbeiten.

    Ich wünsche Euch dann noch ein schönes Osterwochenende, hier ist nur Montag frei.

    Gruß Micha
    \"Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.\"
    (Murphys Gesetze)

  6. #6
    Avatar von Zottel
    Zottel ist offline Erfahrener Benutzer
    Registriert seit
    19.06.2003
    Beiträge
    2.259
    Danke
    76
    Erhielt 252 Danke für 167 Beiträge

    Standard

    Ich kenne es so, daß der Hersteller zu liegenden und stehenden Tanks eine sogenannte Peiltabelle mitliefert. Diese wurde durch Ausmessen des Volumens bestimmt und liefert z.B pro cm Füllhöhe einen Volumenwert. Der Sinn ist, daß Abweichungen von der idealen Zylinderform berücksichtigt werden.
    Eine solche Tabelle kannst du in einem DB ablegen. Zwischenwerte kannst du durch Interpolation bestimmen.

  7. #7
    Avatar von kpeter
    kpeter ist offline Erfahrener Benutzer
    Registriert seit
    20.10.2004
    Beiträge
    656
    Danke
    5
    Erhielt 26 Danke für 26 Beiträge

    Standard

    hallöchen mal eine kleine abänderung von zottels vorschlag


    nimm deinen druck

    und lass wasser ( oder was auch immer ) kontrolliert einlaufen soll heisen messe es was reingeht

    schreib dir alle paar 100 bzw 1000 l die werte in einen db und deinen druck wert und rechne dir aus was du da drinnen hast


    aber mal anders radar oder ultraschall wären soviel leichter und ihr habt nicht das problem mit staub so wie wir

    frohe ostern

  8. #8
    mikel ist offline Benutzer
    Themenstarter
    Registriert seit
    04.11.2004
    Beiträge
    51
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Ich werde nicht ohne Berechnung auskommen, es handelt sich bei der Anlage um ein geschlossenes System für Perchlorethylen (PER). Wasser darf auf keinen in die Tanks gelangen, könnte auch nicht ohne großen Aufwand aus der Anlage restlos entleert werden. Und fast 6000l Wasser zum Auslietern zu verschwenden ist bestimmt nicht sehr Umweltbewust, abgesehen von dem Wasserpreis.

    Ich stell Euch mein Ergebnis ins Forum, wenn es zu meiner Zufriedenheit ausfällt. Vieleicht kann es ja mal jemand von Euch gebrauchen.

    PS: Andere Messsysteme sind aus Kostengründen erst einmal unter den Tisch gefallen. (Vieleicht ist mein Stundensatz immer noch zu tief? )

    Gruß Micha
    \"Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.\"
    (Murphys Gesetze)

  9. #9
    Avatar von Zottel
    Zottel ist offline Erfahrener Benutzer
    Registriert seit
    19.06.2003
    Beiträge
    2.259
    Danke
    76
    Erhielt 252 Danke für 167 Beiträge

    Standard

    Zitat Zitat von kpeter
    ...aber mal anders radar oder ultraschall wären soviel leichter und ihr habt nicht das problem mit staub so wie wir...
    Nee, Radar und Ultraschall liefern dir auch nur die Höhe. Der einzige mir bekannte Weg zu einer direkten Füllmengenmessung wäre durch Wiegen. Volumen immer nnoch indirekt über die Dichte.

  10. #10
    Avatar von Onkel Dagobert
    Onkel Dagobert ist offline Erfahrener Benutzer
    Registriert seit
    06.10.2003
    Beiträge
    2.765
    Danke
    326
    Erhielt 360 Danke für 288 Beiträge

    Standard

    Bon Giorno, Micha,

    ich hatte mal so etwas für die Befüllung eines Brauchwasser-Vorratstanks benötigt. Wegen der relativ hohen Ausführungszeit hatte ich die Berechnung nur einmal pro Minute ausgeführt. Bei meiner Anwendung war das völlig ausreichend.


    Code:
    (************************************************************************************************************************)
    FUNCTION "TANKINHALT": REAL                                 // Tankinhalt [l]
    TITLE = 'Berechnung des Inhalts eines liegenden Zylinders anhand der Füllhöhe' 
    //
    //   V = [pi*r^2/2 - r^2*arcsin(1-h/r) - (r-h)*sqrt(h(2r-h))] * l
    //
    (************************************************************************************************************************)
    KNOW_HOW_PROTECT
    VERSION : '1.0'
    AUTHOR  : Onkel Dagobert
    NAME    : TANK
    FAMILY  : Entenhausen
    (************************************************************************************************************************)
    
    VAR_INPUT
      FUELLSTAND                : INT := 0;                     // Füllstand [cm]
      DURCHMESSER               : INT := 0;                     // Durchmesser des Tanks [cm]
      LAENGE                    : INT := 0;                     // Länge des Tanks [cm]
    END_VAR
    
    VAR_TEMP
      r                         : REAL;                         // Radius [cm]
      h                         : REAL;                         // Füllstand [cm]
      l                         : REAL;                         // Länge [cm]
      a, b, c                   : REAL;
    END_VAR
    
    // V = [pi*r^2/2 - r^2*arcsin(1-h/r) - (r-h)*sqrt(h(2r-h))] * l
    BEGIN
      r := INT_TO_REAL(DURCHMESSER)/2;
      h := INT_TO_REAL(FUELLSTAND);
      l := INT_TO_REAL(LAENGE);
      a := 3.14159265358979 * SQR(r)/2;
      b := ASIN(1-h/r)*SQR(r);
      c := (r-h)*SQRT(h*(2*r-h));
      TANKINHALT:=(a-b-c)*l/1000;
    END_FUNCTION;
    
    // eine weitere, ebenfalls funktionierende Lösung
    BEGIN
      r := INT_TO_REAL(DURCHMESSER)/2;
      h := INT_TO_REAL(FUELLSTAND);
      l := INT_TO_REAL(LAENGE);
      a := (r-h)/r;
      b := SQRT(1-SQR(a));
      b := ACOS(a) - a*b;
      b := SQR(r)*b;
      TANKINHALT := b*l/1000;
    END_FUNCTION;

    Gruss, Onkel

  11. Folgender Benutzer sagt Danke zu Onkel Dagobert für den nützlichen Beitrag:

    Pau1e (26.03.2008)

Seite 1 von 3 123 LetzteLetzte

Ähnliche Themen

  1. Endlagenüberwachung Zylinder
    Von mzva im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 01.03.2012, 23:26
  2. SPS VISU Zylinder mit Objekt verschrauben
    Von Hans.S im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 24.09.2009, 15:11
  3. Zylinder verfahren lassen
    Von Vauxhall1983 im Forum Simatic
    Antworten: 16
    Letzter Beitrag: 02.09.2009, 15:44
  4. Ansteuerung Zylinder parallel ausfahren
    Von Keeper im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 15.03.2007, 11:01
  5. Frage über Zylinder
    Von waldy im Forum Stammtisch
    Antworten: 12
    Letzter Beitrag: 27.01.2006, 11:34

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •