Nachkommastellen

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • schieder
    Smart Home'r
    • 03.08.2021
    • 70

    #1

    Nachkommastellen

    Kennt jemand eine elegantere Lösung um Werte mit 6 Nachkommastellen zu verarbeiten?
    Hintergrund ist der dass ich gerne GPS Koordinaten in einem Statusbaustein ausgeben möchte.

    Die Werte kommen per Modbus auch mit den Nachkommastellen an jedoch kann ich nur mit <v.3> drei davon anzeigen lassen und die werden noch gerundet.
    Im Statusbaustein sogar nur 2.

    Ich hab mir jetzt auf die schnelle mit Multiplikationen und Befehlserkennungen einen Workaround gebaut, aber hübsch ist was anderes.
    Pico würde ich eigentlich gerne Vermeiden wenns geht.

    Klicke auf die Grafik für eine vergrößerte Ansicht  Name: gps.png Ansichten: 0 Größe: 42,8 KB ID: 434217
  • Grestorn
    LoxBus Spammer
    • 11.07.2022
    • 321

    #2
    Du kannst beim ModBus Konfiguration eine Skalierung mit angeben, über die Eingangswert 1 / Zielwert 1 und Eingangswert 2 / Zielwert 2.

    Wenn Du Eingansgwert und Zielwert 1 auf 1000 setzt und Eingangswert 2 / Zielwert 2 auf 1, dann wird der Wert um den Faktor 1000 multipliziert.

    Kommentar

    • schieder
      Smart Home'r
      • 03.08.2021
      • 70

      #3
      Ja, das hatte ich auch probiert aber dadurch bekomme ich nicht die Koordinaten z.b. 49.123456
      Mit einer Skalierung wird daraus dann 49123.456 was natürlich im Statusbaustein blöd aussieht und zudem dort noch auf 2 Nachkommastellen gerundet wird.
      Also steht dann dort 49123.46 anstatt meiner gewünschten 49.123456

      Kommentar

      • Grestorn
        LoxBus Spammer
        • 11.07.2022
        • 321

        #4
        Dann mach zwei Werte daraus: Einen Wert für > 1 und einen Wert für die Nachkommastellen. Und die beiden Werte setzt Du im Statusbaustein getrennt mit einem . zusammen. Ist umständlich, sollte aber gehen.

        Kommentar

        • schieder
          Smart Home'r
          • 03.08.2021
          • 70

          #5
          Hm, wenn ich das Register zwei mal abhole hab ich ja die Werte 49.123456 und skaliert 49123456
          Den ersten könnte ich die Kommastellen ohne Rundung abtrennen, aber wie bekomme ich die 123456 aus dem zweiten Wert raus?
          Einfach Stellen abtrennen funktioniert nicht da die Werte vor dem Komma auch einstellig sein können.

          Kommentar

          • Grestorn
            LoxBus Spammer
            • 11.07.2022
            • 321

            #6
            Nein, nicht zweimal abholen. Aber den einen Wert mathematisch bearbeiten. Mit dem Formelbaustein.

            Über "INT(Wert)" bekommst Du den Ganzzahlanteil. Und mit "Wert - INT(Wert)" den Nachkommaanteil.

            Kommentar

            • schieder
              Smart Home'r
              • 03.08.2021
              • 70

              #7
              Stimmt, den Formelbaustein gibts ja auch noch. Hatte ich ganz vergessen.

              Ja, damit kann ich was anfangen. Besten Dank.

              Kommentar

              Lädt...