TIA Formel Füllstandshöhe

Zuviel Werbung?
-> Hier kostenlos registrieren
Das ist alles eine Simulation. Wenn einer der Pumpen läuft soll sich der Füllstand um 0,05m³ pro Zykluszeit erhöhen. Das als SCL zu schreiben ist ja kein Problem
 
Ok, jetzt versteh ich.

Dann brauchts du ja nur dein Volumen mit den beiden Grenzvolumina vergleichen und nix mehr rechnen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Unterm Strich ist das ganze ja eine Hausaufgabe und kein technisches Projekt, stimmts?

Man kann natürlich eine Aufgabenstellung künstlich kompliziert machen. In diesem Fall ist da aber nix zu rechnen. Du könntest natürlich aus einen FB schreiben, der aus den geometrieschen Maßen des Tanks zur Laufzeit die Grenzvolumina berechnet. Dies müsste aber dann aus der Aufgabenstellung hervorgehen.
 
Genau, kein Projekt.
So wie ich es verstehe muß ich das Ganze berechnen und Grenzwerte setzen. Ansonsten hieße der Baustein ja nicht "Berechnen" und soll aufgerufen werden.
Ich würde normal auch hingehen und einfach 2 Grenzwerte nehmen und dies dann im FB bzw FC einbauen. Fertig
 
An dieser Stelle kann ich dir nicht mehr weiterhelfen. Ich könnte mir nur vorstellen, wie gesagt aus den Maßen des Tanks die Grenzvolumina zu berechnen. Wenn du einen anderen Tank bekommst trägst du nur die neuen Maße ein und gut.

Viel Spaß noch mit der Aufgabe
 
Hallo
Ich hätte zu diesem Thema leider auch eine Frage vielleicht hat ja jemand eine Ahnung und könnte mir vielleicht helfen.
Ich soll hier eben den FB Berechnung in SCL erweitern und soll das Gesamtvolumen nach oben auf 90% des Reaktorvolumens und nach unten auf das Volumen des kompletten kegelförmigen Unterteils begrenzen. Und ich soll das Volumenanteil der ersten Komponente VH_1 (nach unten) so begrenzen, dass das Volumen der 1.Komponenten größer ist als das Volumen des kegelförmigen Unterteils des Reaktors.

Dann soll ich aus dem Gesamtvolumen "GesHoe" die gesamte Füllhöhe berechnen. Und außerdem wird mit der Prozentangabe VH_1 die diesem ersten Volumen entsprechende Füllhöhe "Zwischen Höhe" im Reaktor bestimmen. Diese ist mindestens so groß wie die Höhe HK des Reaktorkegels.

Wenn ich mit den Formeln alles berechne bekomme ich bei
Volumen Kegel= 3.14m³
Volumen Zylinder= 12,56m³
Gesamtvolumen= 15,7m³
raus.

Ich habe aber ehrlich gesagt gerade keine Ahnung wie ich das im FB Berechnen reinschreiben soll.

DANKE!!!
 

Anhänge

  • Screenshot (810).png
    Screenshot (810).png
    103,8 KB · Aufrufe: 32
Ich hab nicht wirklich verstanden was du überhaupt machen möchtest, aber ich habe auch viel mit Flüssigkeits-Tanks zu tun. Liegende Zylindertanks, mit Ausbeulungen an der Seite, anders geformter Anschlusstank usw.
Grundsätzlich musst Du die verschiedenen geometrischen Körper klar trennen, denn das Volumen berechnet sich nicht immer gleich. Das bedeutet ich zerstückel den Tank in Teil 1, Teil 2 und Teil 3. anschließend berechne ich das Ist-Volumen für jeden Teil mit Hilfe von Laserfüllstandssensoren (Laser oder Ultraschall) oder Pegelsonden, indem ich die Füllhöhe in cm ermittle.
Grundfläche des jeweiligen geometrischen Objekts multipliziert mit der Füllhöhe ergibt das Volumen.

Bei Zylindern ist das:
Radius x Radius x 3,14 x Füllhöhe
Wenn ich alles in dm rechne, dann kommen am Ende Liter heraus.

Bei quaderförmigen Tanks ist es:
Länge x Breite x Höhe

Usw. usf.

Oft wandle ich dann dieses Volumenergebnis in einen Prozentwert um (Normieren/Skalieren) und somit hab ich dann den Füllstand in Litern oder m3, sowie die Füllhöhe und den Füllgrad in Prozent. Anschließend kann ich meine Aktionen an den Wert knüpfen der mir am besten passt. Zb Trockenlaufschutz bei Füllgrad kleiner 10%, nachfüllen bei kleiner als 50%, Nachfüllstopp bei 95%.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich hab nicht wirklich verstanden was du überhaupt machen möchtest, aber ich habe auch viel mit Flüssigkeits-Tanks zu tun. Liegende Zylindertanks, mit Ausbeulungen an der Seite, anders geformter Anschlusstank usw.
Grundsätzlich musst Du die verschiedenen geometrischen Körper klar trennen, denn das Volumen berechnet sich nicht immer gleich. Das bedeutet ich zerstückel den Tank in Teil 1, Teil 2 und Teil 3. anschließend berechne ich das Ist-Volumen für jeden Teil mit Hilfe von Laserfüllstandssensoren (Laser oder Ultraschall) oder Pegelsonden, indem ich die Füllhöhe in cm ermittle.
Grundfläche des jeweiligen geometrischen Objekts multipliziert mit der Füllhöhe ergibt das Volumen.

Bei Zylindern ist das:
Radius x Radius x 3,14 x Füllhöhe
Wenn ich alles in dm rechne, dann kommen am Ende Liter heraus.

Bei quaderförmigen Tanks ist es:
Länge x Breite x Höhe

Usw. usf.

Oft wandle ich dann dieses Volumenergebnis in einen Prozentwert um (Normieren/Skalieren) und somit hab ich dann den Füllstand in Litern oder m3, sowie die Füllhöhe und den Füllgrad in Prozent. Anschließend kann ich meine Aktionen an den Wert knüpfen der mir am besten passt. Zb Trockenlaufschutz bei Füllgrad kleiner 10%, nachfüllen bei kleiner als 50%, Nachfüllstopp bei 95%.
Vielleicht gut gemacht. Kann ein Automatisierer allein halt leider nicht beurteilen.

Aber die Berechnungswerte, Pegel, Grenzwerte usw. müssen doch in einem ordentlichen Projekt vom Verfahrensingenieur ermittelt werden, dann braucht es die Risikobeurteilung, die Risikominderung usw....

Und die Ergebnisse werden dann an den Automatisierer herangetragen.

Es kann schon für richtig gute und fachspezialisierte Automatisierer auch so funktionieren, dass sie die Risikobeurteilung, -minderung, Umsetzung der Maßnahmen, Verifikation und Validierung halt tagversetzt als Einpersonorganisation umsetzen.
Kann.
Kann anstrengend sein. Alle Haftung auf den eigenen Schultern..?

Kann Restrisiken bergen, denn eine andere Person sieht Dinge anders.

Drum sagt ja die DIN EN IEC 61508 ja einige Dinge über die Personen die Sicherheitsfunktionen planen und errichten. Ab PLe gilt die.

Darunter gilt wohl das eigene Dafürhalten / Beweislastumkehr.
 
Vielleicht gut gemacht. Kann ein Automatisierer allein halt leider nicht beurteilen.

Aber die Berechnungswerte, Pegel, Grenzwerte usw. müssen doch in einem ordentlichen Projekt vom Verfahrensingenieur ermittelt werden, dann braucht es die Risikobeurteilung, die Risikominderung usw....

Und die Ergebnisse werden dann an den Automatisierer herangetragen.

Es kann schon für richtig gute und fachspezialisierte Automatisierer auch so funktionieren, dass sie die Risikobeurteilung, -minderung, Umsetzung der Maßnahmen, Verifikation und Validierung halt tagversetzt als Einpersonorganisation umsetzen.
Kann.
Kann anstrengend sein. Alle Haftung auf den eigenen Schultern..?

Kann Restrisiken bergen, denn eine andere Person sieht Dinge anders.

Drum sagt ja die DIN EN IEC 61508 ja einige Dinge über die Personen die Sicherheitsfunktionen planen und errichten. Ab PLe gilt die.

Darunter gilt wohl das eigene Dafürhalten / Beweislastumkehr.

Muss ich das jetzt verstehen???
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ok ich habe leider nichts wirklich verstanden bin im SPS Programmieren noch ein totaler Anfänger.
Ich soll eine Aufgabe machen wo in einem Reaktor ein flüssiges Endprodukt hergestellt werden soll und für das zwei flüssige Ausgangsstoffe benötigt werden. Ich habe in Aufgabe 1 habe ich die Steuerung in einem Funktionsbaustein (Ablauf) in AS programmieren müssen. Das habe ich schon erledigt und funktioniert auch. Nun soll ich dazu einen Funktionsbaustein Berechnen in SCL erstellen. Die genauere Aufgabenstellung befindet sich im Anhang. Wahrscheinlich denke ich einfach viel zu kompliziert, aber ich weiss einfach nicht wie ich es umsetzen soll.
Und später soll ich das Volumen auch noch in m³ umwandeln und das bringt mich irgendwie total draus.
 

Anhänge

  • Screenshot (810).png
    Screenshot (810).png
    103,8 KB · Aufrufe: 22
  • Screenshot (811).png
    Screenshot (811).png
    66,5 KB · Aufrufe: 23
  • Screenshot (816).png
    Screenshot (816).png
    90,6 KB · Aufrufe: 23
Und woher weißt du dass die Füllhöhe des Kegels erreicht ist?
Daher, dass man das Volumen des Kegels berechnet und das eingefüllte/einzufüllende GesamtVolumen bzw. TeilVolumen1 mit dieser Zahl ("Konstante" bei vorgegebenen Maßen) vergleicht. Ist das GesamtVolumen bzw. das TeilVolumen1 identisch mit dem Volumen des Kegels, so ist die FüllHöhe des Kegels erreicht.

Davon, dass das eingefüllte Volumen bzw. die damit verknüpfte FüllHöhe in irgendeiner Weise gemessen wird, ist nirgends die Rede. Das bleibt das grosse Rätsel an dieser Aufgabe.

Wir haben es hier mit TeilAufgaben eines Projektes zu tun und die uns bisher zugänglichen Informationen über den geplanten Ablauf und die technischen Gegebenheiten sind sooo spärlich, dass man eine mögliche Anwendung der TeilAufgaben bestenfalls erahnen kann.

Die TeilAufgaben sind zudem recht schwammig formuliert, so dass man zwar erahnen kann, dass für die eigentliche Aufgabe Vereinfachungen angedacht sind, aber Konkretes erfährt man leider nicht.
Über eine beabsichtigte FehlerBehandlung schweigen sich die TeilAufgaben ebenfalls aus.

Man kann nur hoffen, dass der Erfinder der Aufgabe sein Konzept gut und richtig überlegt und auch die GesamtAufgabe in sinnvolle TeilAufgaben zerlegt hat.
Erkennbar ist davon in diesem Thread leider nichts. Dem Erlernen des Zerlegens in TeilAufgaben scheint diese Aufgabe ohnehin nicht gewidmet zu sein.
Erkennbar ist nicht einmal, ob insgesamt etwas dahintersteckt, das sinnvoll als SPS-Programm zur Befüllung des Behälters mit zwei Flüssigkeiten in einem vorgegebenen Verhältnis und einem vorgegebenen GesamtVolumen zu gebrauchen wäre.

Übrig bleibt also:
1.) die Formel zur Umrechnung des eingefüllten Volumens in die entsprechende FüllHöhe programmieren.
2.) aus den Vorgaben des GesamtVolumens und des MischungsVerhältnisses das Volumen VH1 der Flüssigkeit1 und das Volumen VH2 der Flüssigkeit2 berechnen.
3.) das vorgegebene GesamtVolumen VH1 + VH2 auf ein NichtÜberschreiten des oberen GrenzWertes prüfen.
4.) das indirekt vorgegebene Volumen VH1 auf eine NichtUnterschreitung des unteren GrenzWertes prüfen.
Dabei am besten weder über
- eine mögliche Verwendung der UmrechnungsFormel
- noch über ein gewünschtes Verhalten bei Erkennung von Über- bzw. UnterSchreitung eines GrenzWertes
nachdenken! ;)
 
Ich soll ja einen Funktionsbaustein "Berechnen" erstellen aber mich verwirren die ganzen Formeln hier ich weiß zwar was ich damit berechne kann, aber ich habe keine Ahnung ob ich die Formel einfügen muss in den FB oder nicht. Weil die Aufgabenstellung ist ja das ich zuerst das Gesamtvolumen "GesVol" nach oben auf 90% des Reaktorvolumens und nach unten auf das Volumen des kompletten kegelförmigen Unterteils begrenzen soll. (Alles in SCL) Soll ich das mit einem LIMIT machen? Und mich verwirrt auch weil ich soll VH_1 in Prozent geben der Rest ist aber alles in m³.
Und ein VH_2 habe ich eben nicht gegeben sondern nur VH_1.
Und auch wie soll ich aus dem GesVol die gesamte Füllhöhe GesHoe berechnen. Das einzigste was für mich hier sinn ergeben würde wäre, wenn ich sage GesHoe := HK + HZ;
 
Ich habe den Thread nicht durchgelesen, hier nur der Tipp: zum Begrenzen gibt es die LIMIT-Anweisung:
GesVol := LIMIT(MN := 0.0, IN := GesVol, MX := 90.0);

Harald
 
Ich soll ja einen Funktionsbaustein "Berechnen" erstellen aber mich verwirren die ganzen Formeln hier ich weiß zwar was ich damit berechne kann, aber ich habe keine Ahnung ob ich die Formel einfügen muss in den FB oder nicht.
Mit den Formeln werden die Volumina der beiten TeilBehälter (Zylinder und Kegel) berechnet.
Ferner sollen sie so umgestellt werden, dass man das eingefüllte Volumen in die entsprechende FüllHöhe umrechnen kann.
Weil die Aufgabenstellung ist ja das ich zuerst das Gesamtvolumen "GesVol" nach oben auf 90% des Reaktorvolumens und nach unten auf das Volumen des kompletten kegelförmigen Unterteils begrenzen soll. (Alles in SCL).
Soll ich das mit einem LIMIT machen?
LIMIT ist eine einfache und übersichtliche Angelegenheit. Also "im Prinzip ja".
Oder kann ich so haben wir es zb immer in den anderen Projekten gemachen wenn wir etwas begrenzt haben.
IF GesVol > 90.0 THEN GesVol := 90.0;
ELSIF GesVol < 0.0 THEN GesVol := 0.0;
Mit MIN und MAX könnte man das auch berwerkstelligen.
Mit IF (und ELSIF) hat man etwas mehr SchreibArbeit.

Ich hatte schon das Thema "FehlerBehandlung" angeschnitten. Was soll man denn tun, wenn die Vorgabe zu klein oder zu gross ist?
Nur den entsprechenden VorgabeWert begrenzen, also mit dem entsprechenden Minimal- oder MaximalWert überschreiben und dann (Augen zu und) so weitermachen, als wären die Vorgaben korrekt/zulässig gewesen? Kann man tun, aber ist das sinnvoll? Will man dem Bediener der Maschine/Anlage/Vorrichtung nicht lieber auf den festgestellten Fehler hinweisen, damit er seinen (vielleicht nur Tipp-)Fehler korrigieren kann?
Was hat man davon, wenn die SPS die VorgabeWerte "nach eigenem Gutdünken" korrigieren lässt? Dass einige KubikMeter von Flüssigkeit1 und Flüssigkeit2 zusammengemischt werden und niemand das Gemisch verwenden kann und man es "entsorgen" muss, weil die SPS die Vorgaben unbemerkt von irgendjemandem verfälscht hat?

Für das eine Begrenzen ist LIMIT bestens geeignet und MIN und MAX ebenso.
Will man mehr als nur begrenzen, also irgendetwas bewirken bei einer Über- oder Unterschreitung, z.B. eine FehlerMeldung generieren, dann ist die Variante mit IF (und ELSIF) wohl die einfachere Variante.
Und mich verwirrt auch weil ich soll VH_1 in Prozent geben der Rest ist aber alles in m³.
Und ein VH_2 habe ich eben nicht gegeben sondern nur VH_1.
Nein, VH_2 "hat" man nicht, aber man kann es aus dem GesamtVolumen und dem TeilVolumen1 berechnen.
GesamtVolumen = Volumen1 + Volumen2.
Bzw. Gesamt entspricht 100% und wenn VH_1 z.B. 25% davon sein sollen, ergeben sich für VH_2 "automatisch" 75% des GesamtVolumens.
Das "Durcheinander" der Angaben mal in m³ und mal in Prozent macht es nur ein wenig schwieriger, den Überblick zu behalten. Man muss schon aufpassen, womit man da gerade rechnet. Ich würde vorschlagen, mit der ProzentAngabe zuerst die Volumina 1 und 2 zu berechnen und dann die "Prozente" ganz schnell wieder zu vergessen.
Und auch wie soll ich aus dem GesVol die gesamte Füllhöhe GesHoe berechnen. Das einzigste was für mich hier sinn ergeben würde wäre, wenn ich sage GesHoe := HK + HZ;
Die gesamte Höhe ergibt sich aus der Summe der Höhe im Kegel plus der Höhe im Zylinder, sofern das GesamtVolumen mindestens so gross ist, wie das Volumen, das in den Kegel hineinpasst.
Ist das GesamtVolumen höchstens so gross wie das Volumen, das in den Kegel hineinpasst, dann haben wir in dem Zylinder keine Flüssigkeit und damit auch keinen Beitrag zur GesamtHöhe. Es zählt dann nur die Höhe im Kegel.
Das gilt genauso für die Volumina und eigentlich ist die Höhe zwar nicht uninteressent, aber man kann sie ignorieren, da man sie schon bei den Volumina berücksichtigt hat.
 
Zuletzt bearbeitet:
Zurück
Oben