ich zerbreche mir seit Tagen den Kopf wie ich bei einem liegenden Zylinder die Menge in Liter anzeigen kann.
Ein Formel habe ich, auf einem Blattpapier klappt es auch, hat jemand ein Script oder eine Idee wie ich das machen kann?
Ich habe die Länge, den Durchmesser und die Füllhöhe wird per Variable an IP-Symcon übergeben.
Ja, ich habe die Formel aber ich weiss einfach nicht wie ich die Formel in das IP-Symcon einpacken kann.
Ich habe die Formel von Wikipedia http://de.wikipedia.org/wiki/Zylinder_(Geometrie), die funktioniert auch aber ich bekomme sie nicht berechnet im IPS so das ich das Ergebnis als Ergebnis bekomme.
amsonsten kannst du auch den zylinder in segmente aufteilen, so wie der leveljet auflöst (zb 1cm)
für jedes segment kannst du ein bestimmtes volumen errechnen (oben u unten gleich)
die ergebnisse packst du in eine tabelle und lässt dann immer vergleichen
also pelgelstand:
5 cm=150 liter
6 cm=175 liter
.
.
und wenn du gar nicht rechnen möchtest, dann füllst du litergenau mit wasser über ekm868 und markierst entsprechend den tank und packst es wieder in eine tabelle.
ansonsten bleibt dir nur der weg über die formel. ist übrigens nicht schwer, musst sie nur in teile zerlegen und jeden schritt einzeln in dem script schreiben
Naja, in dem du gleich wie mitm Taschenrechner arbeitest.
Von innen nach außen Teilergebnisse berechnen und dann zusammenfügen.
Oder eine Klammerorgie, das macht aber keinen Spass und ist unleserlich.
Wenn ich zeit hab tippe ichs dir heute Abend mal zusammen. Ist keine große Hexerei.
er könnte auch seine Zisterne wieder ausgraben und hochkant einbauen.
Dann wird die Formel erheblich vereinfacht
meine erste zisterne stand auch hochkant, ist echt einfacher
oder aber mal beim hersteller anfragen, der hat das dingen ja bestimmt konstruiert, da gibts doch daten
Jetzt hat sich noch ein neues Problem aufgetan, ich wollte einen Zeitabschnitt von dem aktuellen Monat abrufen.
Ich habe mir gedacht ich kann folgendes abändern:
$nacht = mktime(0,0,0,date(„n“),date(„j“),date(„Y“)); hier bekomme ich den Zeitstempel von 0 Uhr des aktuellen Tages
um auf den 1 des aktuellen Monats zu kommen habe ich die Zeile wie folgt umgeschrieben:
$monat = mktime(0,0,0,0,1,date(„Y“));
Aber ich bekomme komische Daten zurück, hab ich da was falsch gemacht?
hast du die Liter-Berechnung mittlerweile in PHP für IP-Symcon umsetzen können?
Wäre schön, wenn du das Skript hier einmal bereitstellen könntest.
Spätestens hierbei würden meine PHP-Kenntnisse nichtmehr ausreichen.
Solche Code-Schnipsel sollten IMHO übrigens von den Admins bei den Hardware-Infos bereitgestellt werden. Ich meine, der Leveljet ermittelt ja schon irgendwie die Literangabe… wenn ich mir dann schon die „teure“ IP-Symcon-Anbindung kaufe, sollte es doch mehr oder weniger „plug&play“ möglich sein, mit der selben Formel rechnen zu dürfen.
in Google Peiltabellen suchen. Sind für Öltanks.
Gibt es bei deinem Tankhersteller solche Peiltabelle?
Wenns dann noch genauer sein soll kann man die Werte ganz einfach Interpolieren.
leider habe ich auch keine Plug&Play-Lösung mit ein und derselben Formel
für einen 30 Grad schräg liegenden Kegel-Holstumpf-Zylinder :rolleyes:
Für eine normale Tonne so etwa:
@steiner und martinwk: VIELEN DANK für eure Mühe! „Leider“ hat mich egonkernien in die richtige Richtung geschubst: Peiltabelle meines Herstellers! (wow, DIN sei dank, findet man sogar für einen Tank von 1970). Danke Egon!
Ich denke eine Auswertung nach der Tabelle sollte sinnvoller/genauer sein als die reine Berechnung nach Zylinder?!
Für die Nachwelt untenstehend auch mein aktuelles Skript. Die ganzen if-Abfragen muss man natürlich gemäß seiner eigenen Peiltabelle anpassen… kann man das in PHP schöner coden als die (in meinem Fall 160 Stck.) if-Abfragen?
Hallo,
es gibt mehrere Möglichkeiten:
1.) Du schreibst die Peiltabelle in ein Array oder eine Datenbank. Letzteres wäre zu bevorzugen.
2.) Du schreibst die Peiltabelle mal in eine Excel Tabelle und lässt Dir einen Graphen zeichnen. Da solltest Du dann eine Funktion draus schreiben können. Meistens sind diese am Anfang und am Ende nicht linear und in der Mitte linear. Dann wären es noch 3 IFs und gut ist.