08.10.2019 14:57 | |
Beigetreten: 22.02.2008 Letzter Bes: 18.11.2024 Beiträge: 2698 Bewertung:
|
Richtig, der Sensor misst den hydrostatischen Druck und kann damit erstmal NUR die Füllhöhe bestimmen, siehe auch hier Um das Volumen zu bestimmen, muss entweder die Logo, eine andere SPS oder der Sensor selbst entsprechende Informationen über den liegenden Tank haben. Welche Variante am Besten geeignet ist, hängt von der gewünschten Genauigkkeit ab. Letztendlich lässt sich die Berechnung jeder gut bezahlen, ob es der Sensorlieferant ist oder eine SPS genommen wird. Eine SPS wie z.B. die S7-1200 hätte den Vorteil einer genauen Messung, sofern die Zylinderdaten richtig vorgegeben werden. Außerdem kann man dann im Programm noch jederzeit Korrektureen durchführen, was beim Sensor mit integrierter Berechnung wohl nicht möglich sein wird. M.f.G. Scorp |
25.01.2020 19:26 | |
Beigetreten: 05.01.2007 Letzter Bes: 07.04.2023 Beiträge: 1690 Bewertung:
|
Hallo Hard2catch, hast du noch Interesse an einer Lösung deiner eingangs angegebenen Aufgabenstellung mit der LOGO!? Oder hat jemand Anderes an der Lösung vergleichbarer Aufgabenstellungen (mit anderen Behältermaßen oder -geometrie) Bedarf? Scorp hatte ja bereits auf einen Lösungsansatz hingewiesen und dazu eine EXCEL-Datei angehängt. Die Grundidee ansich ist, wie ich hier im Forum bereits mehrmals demonstriert habe, durchaus zielführend um eine Lösung mit der LOGO! zu erreichen. Allerdings ist dazu etwas Vorarbeit erforderlich. Wie auch die Datei von Scorp zeigt ist die Formel der Trendlinie (Polynom 3. Ordnung) im Diagramm nicht korrekt, wie in meinem hinzugefügten Tabellenblatt in der Spalte "Vpoly" deutlich wird. Mit Hilfe eines angepassten Konzeptes (Aufteilung in mehrere Approximations-Polynome) und den von mir hier im Forum veröffentlichten Tools und Schaltungen ist durchaus eine adäquate Lösung mit einer LOGO! (oder auch einer anderen ähnlichen Steuerung) in vielen Fällen möglich - so auch hier. Die formelmäßig berechneten Daten für Füllhöhen von 0 mm bis r = 1000 mm habe ich in 4 Teilkurven zerlegt und drei davon durch Polynome 3. Ordnung angenähert. Dann aus den Koeffizienten der Polynome entsprechend meinem Vorschlag zur Programmierung von Polynomen in der LOGO! hier im Forum die Parameter für die LOGO!-Blöcke berechnet und schließlich die "Berechnung" der LOGO! dieser Polynome in EXCEL nachgebildet. MfG DateianhangLiegender Zylinder_Betel.zip (319 Downloads) |
==> Meine TAG-Listen: "deut." |
|
Für diesen Beitrag bedanken sich
2 Benutzer |
25.01.2020 20:55 | |
Beigetreten: 11.06.2019 Letzter Bes: 07.04.2025 Beiträge: 2458 Bewertung:
|
Hallo Betel, Hut Ab !!! Jedoch glaub ich das dieses in der Logo so viele Blöcke und Programmspeicher verbraucht, daß der Rest nur noch für kleine Programme reicht. mfG Ella_68 |
25.01.2020 21:12 | |
Beigetreten: 13.08.2016 Letzter Bes: 07.04.2025 Beiträge: 1435 Bewertung:
|
Hallo Betel perfekte mathematische Aufarbeitung - aber wie bekomme ich x³ usw. in die Logo - vorallem mit welchen Zahlenbereich ? Würde mich interessieren wieviel genauer es wird als meine gepostete 7 fach Linearisierung |
25.01.2020 22:53 | |
Beigetreten: 13.08.2016 Letzter Bes: 07.04.2025 Beiträge: 1435 Bewertung:
|
Es war die 10-Punkt Linearisierung - mit den Werten für diesen liegenden Zylinder ...
DateianhangLogo-Linearisierung-10Punkt.zip (311 Downloads) |
26.01.2020 18:32 | |
Beigetreten: 05.01.2007 Letzter Bes: 07.04.2023 Beiträge: 1690 Bewertung:
|
Hallo Ella_69, hallo ernstho, zunächst mal vielen Dank für euer Feedback. Wenn ihr mal dem Link unten ==> "Meine EXCEL-Tools" folgt, dann findet Ihr alle Infos zu Konzept und den benötigten Vorlagen.
Die Schaltung selbst habe ich jedoch aus Zeitmangel (noch) nicht erstellt. Diese lässt sich jedoch aus den Beispielschaltungen "DEMO_Polynomberechnung_V01.lsc" und "DEMO_Teilkurven_eines_Analogbereiches_V01.lsc" letztlich aufbauen, zuzüglich o. g. Fallunterscheidung bezüglich dem gemessenen Wert für h. Ich schätze, dass insgesamt für die Lösung der hier gegebenen Aufgabe ca. 30 LOGO!-Blöcke + Merker erforderlich sind. Als Beispiel bietet sich hier noch eine bereits realisierte Lösung an, die der Berechnung des ArcusCOSinus(x) dient (vgl. ZIP-Datei im Dateiangang) - ihr könnt den Beitrag dazu im Forum finden. Eine Annäherung der Funktion V(h) ist sicher effizienter als die analytische Formel in der LOGO! zu berechnen. Letztlich ist die Vorgehensweise bei der Annäherung von komplexen Kurvenverläufen mit der LOGO! stets die selbe - und ja ein oder mehrere Polynome 1. Ordnung sind Geraden, also eine lineare Annäherung. Mein Konzept aus EXCEL-Tool und Schaltungsvorschlägen ist nicht die einzige Lösungsmöglichkeit, doch wenn man sich damit eingearbeitet hat, eine sehr effiziente in Bezug auf die erforderliche Blockanzahl und die erreichbare Qualität der Annäherung. Ein wesentliches Element dabei ist die direkte Simulation der LOGO!-Berechnung in EXCEL für allle mit der LOGO! möglichen Eingangswerte und die daraus ableitbare Qualität der Näherung mit den Polynomen, deren Ordnung und Anzahl leicht vorgegeben werden können! Die Arbeit besteht vor Allem darin, die geeigneten Teilkurven so zu definieren, dass diese eine genügende Qualität der Annäherung ergeben UND es geeignete Parameter für eine Umsetzung mit der LOGO! gibt. Dabei ist es ggf. von Vorteil teilweise auch abweichende Teilkurvenbereiche zu definieren. Wenn eine Annäherung von f(x) durch Geraden ausreicht, z.B. wenn die absoluten Zahlen für x vergleichsweise klein sind oder f(x) nur gering gekrümmt und die Güte der Annäherung ausreichend ist, dann macht eine separate Berechnung der erforderlichen LOGO!-Blockparameter durchaus Sinn. Ernstho, allerdings ist mir die Umsetzung der hier gegebenen Aufgabe in deiner EXCEL-Version nicht verständlich. Zum Einen beträgt das Gesamtvolumen des Behälters bei einem Durchmesser von 2*r=2000 mm und einer Länge L von 5000 mm 15708 Liter! Diese Daten sollten doch in der obersten Tabelle eingetragen sein - oder? Auch die weiter unten vorhandenen Berechnungen sind mir nicht verständlich. Vielleicht kannst du mir dazu mal auf die Sprünge helfen. Für einen Vergleich der Annäherungen wäre es erforderlich die analytischen Berechnungsergebnisse und die mit LOGO!-Blöcken berechnete Annäherung für alle möglichen Werte von h (die mit der LOGO! möglich sind) zu vergleichen und zu bewerten (etwa wie in meinem EXCEL-Tool oder der Datei "Liegender Zylinder_Betel.xlsx" aus dem Dateianhang meiner vorhergehenden Antwort hier). Ernstho, schließlich habe ich noch einen Vorschlag bezüglich deiner Schaltungsversion: Siehe dir doch mal meinen Vorschlag zur Programmierung von Teilkurven bzw. Teilabschnitten in der Datei "DEMO_Teilkurven_eines_Analogbereiches_V01.lsc" an - du könntest damit die erforderliche Blockanzahl beträchtlich verringern. Ggf. (wenn du mal Parameter GAIN oder/und OFFSET) berechnest, die die Grenzen des Analogverstärkers sprengen, dann mache es wie ich in "DEMO_Polynomberechnung_V01.lsc" und verwende einen Block "Arithmetische Anweisung". MfG DateianhangPolynomRegressionDynamisch_LOGO_V4 (LiegenderZylinder).zip (350 Downloads) |
==> Meine TAG-Listen: "deut." |
|
Für diesen Beitrag bedanken sich
2 Benutzer |
26.01.2020 18:39 | |
Beigetreten: 05.01.2007 Letzter Bes: 07.04.2023 Beiträge: 1690 Bewertung:
|
ernstho, hier noch eine Schaltung zur Demo Linearisierung mit Aufteilung für x Linearisierungsabschnitte, die ich seinerzeit im Forum veröffentlicht habe... MfG Betel DateianhangDEMO_Linearisierung_V01.zip (313 Downloads) |
==> Meine TAG-Listen: "deut." |
|
Für diesen Beitrag bedanken sich
1 Benutzer |
23.03.2020 13:07 | |
Beigetreten: 05.01.2007 Letzter Bes: 07.04.2023 Beiträge: 1690 Bewertung:
|
Hallo, ich hatte ja noch eine fertige LOGO!-Schaltung zum liegenden Zylinder in Aussicht gestellt. Im Dateianhang findet Ihr nun neben der Excel-Datei zur Berechnung der Kurve und der LOGO!-Schaltungsparameter die fertig anwendbare LOGO!-Schaltung...anwendbar ab der LOGO!-Serie 0BA6 und mit ca. 30 Blöcken realisiert! Außerdem ich bin noch eine Antwort auf die Frage schuldig, welcher Unterschied zwischen unseren Konzepten (Regressionspolynome oder Linearisierung) zur Annäherung einer für die LOGO! nicht direkt berechenbaren Funktion oder Kurvenverlaufes besteht. Nun, beide Konzerte basieren auf der Zerlegung der Originalkurve in n Teilkurven durch Auswahl geeigneter Datenpaare zur Definition von Teilintervallen. Du verwendest dann eine Gerade zwischen zwei solchen Datenpaaren als Näherung, deren Endpunkte dem Datenpaar entspricht. Ich dagegen verwende als Näherung ein Regressionspolynom, das jeweils zwischen zwei Datenpaaren gültig ist. Für die LOGO! können in der Regel Polynomordnungen von 1 bis 4 umgesetzt werden (sofern die Koeffizienten des Polynoms dies erlauben). Polynome 1. Ordnung sind Geraden. Je höher die Ordnung eines Regressionspolynoms ist, je besser ist die Anpassung an gekrümmte Kurvenverläufe möglich. Hier ist ein erster Unterschied, denn bei ausschließlicher Verwendung von Geraden müssen bei zunehmender Kurvenkrümmung die Abstände der Teilgeraden zunehmend abnehmen, die Anzahl der erforderlichen Teilkurven steigt dann deutlich. Auch wenn in beiden Konzepten nur Geraden verwendet werden, gibt es folgende grundsätzliche Unterschiede: Im Gegensatz zu den von dir verwendeten "Interpolationsgeraden" verlaufen die "Regressionsgeraden" nicht durch die Datenpaare an den Intervallgrenzen! Bei zunehmend monoton gekrümmtem Kurvenverlauf (der Originalkurve) liegen außerdem bei einer Interpolationsgeraden alle Funktionswerte y auf einer Geradenseite und der maximale Fehler liegt beim Datenpunkt mit der maximalen Krümmung. Die Fehlerquadratsumme ist ausschließlich vom Originalkurvenverlauf zwischen den Datenpaaren an den Endpunkten der Interpolationsgeraden abhängig. Bei den Regressionsgeraden dagegen werden deren Parameter so berechnet, das die Fehlerquadratsumme minimiert wird. Dadurch ist die Lage der so berechneten Gerade in der Regel parallel zur Lage einer Interpolationsgeraden versetzt und auch die Steigung (also die Richtung) abhängig von der relativen Lage der Krümmung der Originalkurve ist eine (etwas) Andere. Als Folge sind die Fehler (= Abweichungen der Geraden zu den Originalkurvenpunkten) über den gesamten Verlauf der Regressionsgeraden vergleichsweise gleichmäßig verteilt. Bei einer Interpolationsgeraden dagegen ist der Fehler an den Enden der Geraden gleich Null und dazwischen an einem Punk maximal. In der Regel (und mit steigender Krümmung der Originalkurve stärker) ist deshalb bei Regressionsgeraden die insgesamt erreichbare "Güte" der Annäherung an einen gegebenen Kurvenverlauf besser, d.h. die Standardabweichung, der maximale absolute Fehler und die Fehlerquadratsumme kleiner als bei einem Interpolationspolynom. MfG Betel DateianhangPolynomRegressionDynamisch_LOGO_V4 (LiegenderZylinder).zip (296 Downloads) |
==> Meine TAG-Listen: "deut." |
|
Für diesen Beitrag bedanken sich
1 Benutzer |
23.03.2020 21:25 | |
Beigetreten: 11.06.2019 Letzter Bes: 07.04.2025 Beiträge: 2458 Bewertung:
|
Hallo Betel, Das ist Mathematik / Programmieren vom feinsten Ganz durchschaut habe ich das noch nicht - Ist halt etwas für ruhigere Stunden! Vielleicht finde ich mal die Zeit, dein Programm in ein UDF zu verpacken, wo man den Durchmesser und die Länge eines Tanks als Parameter einstellt und die Füllhöhe als analogen Wert zuführt (Das würde die Übersichtlichkeit in einem anderen Programm deutlich verbessern). Nochmals, Super Arbeit !!! und Hut ab !!! mfG |
Für diesen Beitrag bedanken sich
1 Benutzer |
24.03.2020 22:22 | |
Beigetreten: 05.01.2007 Letzter Bes: 07.04.2023 Beiträge: 1690 Bewertung:
|
Hallo Ella_68, also die Länge des Tanks kann man ggf. auch in der LOGO!-Schaltung änderbar vorgeben. Aber dies gelingt mit dem Radius nicht ohne weiteres - dies zeigt ein Blick in die Formel für das Füllvolumen als Funktion der Füllhöhe! Außerdem sind die von mir berechneten Daten für den Idealfall eines zylindrischen Tanks, wie in der angefragten Aufgabenstellung gewünscht, also mit planen Endflächen. Tatsächlich sind diese jedoch mehr oder weniger gewölbt (z.B. Klöpperboden), so dass das Füllvolumen bei identischer Länge (über Alles) dann kleiner ist und die Berechnung noch komplexer wird. Doch auch dann kann das von mir vorgeschlagene Konzept zu einer adäquaten Lösung mit der LOGO! führen... MfG Betel DateianhangPolynomRegressionDynamisch_LOGO_V4 (LiegenderZylinder).zip (297 Downloads) |
Zuletzt bearbeitet von: Betel am: 03/25/2020 18:41:48Dateianhang: *.LSC-Datei korrigiert ==> Meine TAG-Listen: "deut." |
|
Wir arbeiten an einem neuen Interface unseres Forums! Dieses stellt eine bessere Übersicht zur Verfügung und liefert mehr Relevanz.
Folgen Sie uns auf