KNX Data Secure Unterstützung
für KNX Logger und KNX Busmonitor

KNX Diagnose Monitor, Import des ETS Projektes deutlich beschleunigt, Suche in der Navigation
Mehr Informationen dazu hier im Forum

Insider Version 6 zur 4.5 jetzt für alle Mitglieder des Insider Clubs installierbar
Alle Infos zum Update im Timberwolf Wiki

[Beantwortet] [V4.1] Integer mit führenden Nullen ausgeben

Informationen und Diskussionen über Logik-Engine und Logik-Editor
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln
Antworten

Ersteller
Sunnee68
Reactions:
Beiträge: 16
Registriert: Mo Okt 08, 2018 10:45 pm
Hat sich bedankt: 5 Mal
Danksagung erhalten: 2 Mal

[V4.1] Integer mit führenden Nullen ausgeben

#1

Beitrag von Sunnee68 »

Hallo,

vorab: dies ist mein erster Versuch mit dem Logik-Manager...

1. Problem:
ich habe einen Integer-Wert (0-999), der die Nachkommastellen meines WP-Stromzählers enthält. Ich brauche ihn aber 3-stellig mit führenden Nullen, um Zählerstand korrekt zusammenzusetzen (also in xxx,001 statt xxx,1).

Bild
In der Eingangsfunktion ("Stringformat mit Ganzzahl") kann ich das Stringformat mitgeben.
Vorschlagswert ist %d, wie muss es für 3-stellig aussehen?
..."3d" hat nicht geklappt... (wäre ja auch zu schön gewesen ;) )

Geht das überhaupt? Oder gibt es unter Modbus, bzw. der Registeradresse direkt die Möglichkeit, das Ausgabeformat "000" mitzugeben? (daran hatte ich mich auch schon erfolglos versucht...aus UINT32 in...tjä... :()

Und, nächstes Thema:
selbst ohne die führenden Nullen, wird als Output nur der erste Wert (522) ausgegeben.
Input 1 = float - Vorkomma-Wert
Input 2 = parameter '.',
Input 3 = integer - Nachkomma-Wert
Output = ??? hier gibt es nur float und integer...

Was muss ich beim Output anpassen, damit es funktioniert, bzw. was ist hier falsch?
Und warum werden in dem Manager nur die Eingangswerte angezeigt? Ich hätte gedacht, dass im Doktormodus zumindest die 522 angezeigt werden und ich nicht in den Zeitreihen nachschauen muss...?

Bin dankbar für jeden Tipp!!
Gruß Susanne

TWS 3500-XL, #1171, VPN auf

pbm
Reactions:
Beiträge: 223
Registriert: Mo Dez 02, 2019 10:20 pm
Wohnort: Hannover
Hat sich bedankt: 135 Mal
Danksagung erhalten: 139 Mal

#2

Beitrag von pbm »

habe meine vorherige (zu komplizierte) Antwort korrigiert und einen Screenshot für Stefans Vorschlag aus dem nächsten Post erstellt:

Bild
Zuletzt geändert von pbm am So Dez 15, 2024 7:01 pm, insgesamt 2-mal geändert.
Schöne Grüße
Peer

TWS 2400 #466 // Wartungs-VPN: aktiv // Reboot: nach Rücksprache

StefanW
Elaborated Networks
Elaborated Networks
Reactions:
Beiträge: 10703
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Frauenneuharting
Hat sich bedankt: 5303 Mal
Danksagung erhalten: 8685 Mal
Kontaktdaten:

#3

Beitrag von StefanW »

Hi Susanne,

Du teilst den Integerwert einfach durch tausend und diesen Float dann mit dem Integer addieren, welcher die ganzzahligen W bzw Wh enthält.

Das kannst mit dem Logikmodul freie Formel machen. Beide Werte auf Eingang A und B legen und dann "=A+(B/1000)".

Fertig

Stefan
Stefan Werner
Product Owner für Timberwolf Server, 1-Wire und BlitzART
Bitte WIKI lesen. Allg. Support nur im Forum. Bitte keine PN
Zu Preisen, Lizenzen, Garantie, HW-Defekt an service at elabnet dot de

Link zu Impressum und Datenschutzerklärung oben.

Ersteller
Sunnee68
Reactions:
Beiträge: 16
Registriert: Mo Okt 08, 2018 10:45 pm
Hat sich bedankt: 5 Mal
Danksagung erhalten: 2 Mal

#4

Beitrag von Sunnee68 »

Super! Das hat geklappt!! :)
...also, die 2-Schritt-Version (erstmal mit Format "%03d" auffüllen und dann konkatenieren)
Bei der Kurzversion fehlt die letzte Nachkommastelle.
Trotzdem: vielen Dank für die schnelle Hilfe!!!
Zuletzt geändert von Sunnee68 am Mo Dez 16, 2024 11:16 am, insgesamt 2-mal geändert.
Gruß Susanne

TWS 3500-XL, #1171, VPN auf
Antworten

Zurück zu „Logikengine & Logik-Editor“