Seite 1 von 2

Windstärkedaten von km/h in Bft ummwandeln und visualisieren

Verfasst: Mi Mai 27, 2020 1:29 am
von adimaster
Hallo,

aktueller Zustand
  • Die Windstärke wird derzeit in der Einheit [km/h] aufgezeichnet.
  • Die Daten werden in einer Zeitserie gespeichert und können in der CometVisu als Diagramm (influx) visualisiert werden.
  • Mittels Mapping kann die aktuelle Windstärke in [Bft] ebenfalls in der CometVisu angezeigt werden.
gewünschter Zustand
  • Die vorhandenen Zeitserien-Daten sollen in der Einheit [Bft] ausgeben werden.
  • Dabei würde es genügen, wenn die Daten weiterhin in der Einheit [km/h] aufgezeichnet werden, aber bspw. über die CometVisu als Diagramm (influx) in der Einheit [Bft] visualisiert werden.
Hat jemand eine Idee, wie ich das möglichst unkompliziert und intelligent umsetzen kann? :confusion-scratchheadyellow:

Grüße
Adi

Re: Windstärkedaten von km/h in Bft ummwandeln und visualisieren

Verfasst: So Mai 31, 2020 4:34 pm
von Chris M.
Für die meist benötigte simple multiplikative Umrechnung gibt es das Attribut "scaling". Die Umrechnung nach Beaufort ist aber dummer Weise etwas komplexer (und das berücksichtigt noch nicht mal die dort übliche Rundung auf ganze Zahlen):
Bild
=> Das geht leider so einfach nicht.

Aber wenn "m/s" statt der "km/h" reichen, dann würde das so gehen:
Screenshot_20200531_163215.png

Re: Windstärkedaten von km/h in Bft ummwandeln und visualisieren

Verfasst: So Mai 31, 2020 10:27 pm
von adimaster
Danke, das heißt mittels einer Mapping-Funktion bzw. Formel ist es dann wohl leider nicht möglich :roll: .

Gut, dann würde ich einfach ab jetzt auch eine Zeitserie in Bft aufzeichnen.
Da werde ich wohl die Logik bemühen :shifty: .

Re: Windstärkedaten von km/h in Bft ummwandeln und visualisieren

Verfasst: Mo Jun 01, 2020 12:32 am
von adimaster
Bin gerade dabei die Custom-Logik zu erstellen und möchte dabei die Umrechungsformel verwenden.
Die Logik ist auch fast fertig; fehlt nur noch die 3. Wurzel :shifty: .

Anscheinend kann man hier leider noch keine Wurzeln ziehen :crying-yellow:.

Dabei bin ich auf diesen Thread gestoßen
Chris M. hat geschrieben: Fr Jun 28, 2019 9:35 pm Einen [...] Block für die gängigsten Mathe-Operationen (Plus, Minus, Mal, Geteilt; Wurzel, Quadrat, Exponential, Logarithmus; Sin, Cos, Tan, ArcSin, ArcCos, ArcTan, ArcTan2; Min, Max; (zeitliche) Summe; Integral, Differential/Rate) hätte ich da erwartet.
Sind die Mathe-Operationen bereits zeitlich eingeplant?

Alternativ könnte auch eine LookUp-Table helfen, mittels Multiplexer.
Nur dann müsst ich alle möglichen Werte abfragen; nicht so smart finde ich :naughty:

Weitere Ideen?

Grüße
Adi

Re: Windstärkedaten von km/h in Bft ummwandeln und visualisieren

Verfasst: Mo Jun 01, 2020 8:02 am
von Robert_Mini
Ja für die Logik brauchst du derzeit eine Lookup-Tabelle. Klingt blöd, ist aber schnell gemacht.

Allerdings bin ich der Meinung, dass es ohne Logik rein in der CometVisu auch geht.

Das Mapping erlaubt ja “Range”. Es spricht ja nichts dagegen zb 8,0 - 10,7 m/s auf 5 Bf zu mappen.

Lg
Robert

Re: Windstärkedaten von km/h in Bft ummwandeln und visualisieren

Verfasst: Mo Jun 01, 2020 8:05 am
von Robert_Mini
Und wenn man genau schaut, gibt es das schon:

https://www.cometvisu.org/CometVisu/en/ ... pping.html

Code: Alles auswählen

<mapping name="ms2bft">
    <entry range_min="0" range_max="0.3">0</entry>
    <entry range_min="0.3" range_max="1.6">1</entry>
    <entry range_min="1.6" range_max="3.4">2</entry>
    <entry range_min="3.4" range_max="5.5">3</entry>
    <entry range_min="5.5" range_max="8.0">4</entry>
    <entry range_min="8.0" range_max="10.8">5</entry>
    <entry range_min="10.8" range_max="13.9">6</entry>
    <entry range_min="13.9" range_max="17.2">7</entry>
    <entry range_min="17.2" range_max="20.8">8</entry>
    <entry range_min="20.8" range_max="24.5">9</entry>
    <entry range_min="24.5" range_max="28.5">10</entry>
    <entry range_min="28.5" range_max="32.7">11</entry>
    <entry range_min="32.7" range_max="1e99">12</entry>
</mapping>

Re: Windstärkedaten von km/h in Bft ummwandeln und visualisieren

Verfasst: Mo Jun 01, 2020 8:52 am
von adimaster
Danke, Robert.
Robert_Mini hat geschrieben: Mo Jun 01, 2020 8:02 am Ja für die Logik brauchst du derzeit eine Lookup-Tabelle.
--> Will ich jetzt umsetzen.

Robert_Mini hat geschrieben: Mo Jun 01, 2020 8:02 am Allerdings bin ich der Meinung, dass es ohne Logik rein in der CometVisu auch geht.

Das Mapping erlaubt ja “Range”. Es spricht ja nichts dagegen zb 8,0 - 10,7 m/s auf 5 Bf zu mappen.
--> Genau, das mach ich ja auch schon und funktionioniert einwandfrei:
adimaster hat geschrieben: Mi Mai 27, 2020 1:29 am Mittels Mapping kann die aktuelle Windstärke in [Bft] ebenfalls in der CometVisu angezeigt werden.

Ich möchte es aber als Graph realisieren:
adimaster hat geschrieben: Mi Mai 27, 2020 1:29 am Die vorhandenen Zeitserien-Daten sollen in der Einheit [Bft] ausgeben werden.

Re: Windstärkedaten von km/h in Bft ummwandeln und visualisieren

Verfasst: Mo Jun 01, 2020 8:54 am
von Robert_Mini
:angry-banghead: :angry-banghead:
Alles klar!

Re: Windstärkedaten von km/h in Bft ummwandeln und visualisieren

Verfasst: Mo Jun 01, 2020 10:03 am
von StefanW
Hallo Adi,
adimaster hat geschrieben: Mo Jun 01, 2020 12:32 amAnscheinend kann man hier leider noch keine Wurzeln ziehen
Zumindest nicht so einfach. Derzeit sind "nur" Polynomberechnungen verfügbar. Damit kann man zwar alles umsetzen, aber das ist so komplex, dass wohl nur ein Promille der Kunden das nutzen wird. Ist eher ein Feature für Nerds.

adimaster hat geschrieben: Mo Jun 01, 2020 12:32 amSind die Mathe-Operationen bereits zeitlich eingeplant?
Ja. Mit der geplanten Version V 2.0 (Sommer 2020)

Wir realisieren derzeit MODBUS und einer der neuen Leistungsmerkmale im Editor wird ein kompletter Formelparser sein, der so ziemlich alles berechnen kann, was üblich ist. Es ist nicht trivial das umzusetzen, da wir für die "LiveView"-Features die Berechnung auch in der Oberfläche brauchen, d.h. wir müssen es zweimal umsetzen, einmal im Backend für den laufenden Betrieb und in der Oberfläche.

Wenn das umgesetzt ist, sollte ein Logikbaustein nicht mehr so schwierig sein, der sich der gleichen Mathe-Engine bedient. Mein Wunsch wäre es dann, dass man für die Eingangsklassen "Input" mehrere Signale anlegen kann, die dann mit "A", "B" usw. durchnummeriert sind und diese Buchstaben dann als Formelzeichen in der Formel benutzt werden können.


Kurz: Es wird möglich sein, fast beliebige Formeln einzugeben, so wie das im allgemeinen von der Schreibweise her üblich ist.


Genauen Zeitpunkt kann ich Dir nicht sagen, irgendwann im Sommer würde ich schätzen.

Chris M. hat geschrieben: Fr Jun 28, 2019 9:35 pmEinen [...] Block für die gängigsten Mathe-Operationen (Plus, Minus, Mal, Geteilt; Wurzel, Quadrat, Exponential, Logarithmus; Sin, Cos, Tan, ArcSin, ArcCos, ArcTan, ArcTan2; Min, Max; (zeitliche) Summe; Integral, Differential/Rate) hätte ich da erwartet.
Sollte sich alles umsetzen lassen, die zeitlichen statistischen Berechnungen gehen auf diese Weise aber nicht. Das ist dann etwas für die (angedachten) Abfrage-Objekte, also ein intervallweises Auslesen aus Zeitserien-Datenbanken mit statistischen Abfragen. Ein solches Objekt ließe sich dann beliebig verwenden. Wann diese statistischen Leistungsmerkmale umgesetzt sind, kann ich noch nicht genau sagen. Es gibt auch eine Menge an Entwicklungen zuvor, wie MODBUS und MQTT.


lg

Stefan

Re: Windstärkedaten von km/h in Bft ummwandeln und visualisieren

Verfasst: Mo Jun 01, 2020 11:42 am
von Robert_Mini
Freut mich zu lesen! Hab schon mehrmals Sin/cos/tan und deren Umkehrung durch Näherungen und Reihenentwicklungen approximiert. Geht, ist aber doch hart an der Schmerzgrenze! ;)

WICHTIG: Bitte an das Fehlerhandling denken (div/0 und infinit by arctan und Co)!
Die derzeitige Umsetzung von "ratio" ist da ein Beispiel, an dem wir diskutieren könnten, wie es besser wäre!

Hintergund: Division Durch 0 bricht die Logik ohne Fehler ab!

Derzeit: ["ratio","$Zaehler","$Ergebnis","$Nenner"]
Vorschlag: ["ratio","$Zaehler","$Ergebnis","$Nenner","$Val_ok"] analog dem "limiter".
$Val_ok = true, wenn Berechnung erfolgreich, bei div/0 ist $val_ok=false.

Gerade bei Winkelfunktionen und der Umkehrung ist das ein MUSS!! Für "ratio" würde ich mir auch ein Update wünschen!

lg
Robert