Hallo zusammen,
brauche ein VI um das DT (DATE_AND_TIME) Format (TIA Portal) in einen LV Zeitstempel zu konvertieren und wieder zurück. Finde nix. Kann mir aber kaum vorstellen, dass es nix gibt.
[
attachment=58046]
[
attachment=58047]
Kennt da jemand was?
(Wenn ich es doch selbst programmiere, lade ich es selbstredend hier hoch.)
Beste Grüße
Dimitri
Hallo dimitri,
du zerpflückst die 8 Bytes, korrigierst den Wert für's Jahr entsprechend der Anleitung (und setzt die Millisekunden zusammen) und stopfst alles (bis auf den Wochentag) in einen DateTimeRec, um damit dann DateTimeToSeconds aufzurufen.
Fertig…

OK ... bis später dann.
Erstmal das BCD-Konvertierungs VI suchen bei mir .... ewig her.
Hallo Dimitri,
BCD-Konvertierung ist ganz einfach:
- Das Byte mit Quotient&Remainder durch 16 teilen
- Value := quotient*10+remainder…
Hallo Dimitri,
Zitat:Wie rechne ich in die andere Richtung?
Halt andersherum…
Für eine zweistellige Dezimalzahl eben:
- Zahl QR 10
- BCD := quotient*16 + remainder
(Google mal nach "Nibble", um den Hintergrund dieser Rechnung zu verstehen!)
Dein Beispiel macht das doch auch, da ist nur etwas "Beiwerk", um eben mehr als zweistellige Zahlen zu handhaben…
Früher war alles besser: Was waren das noch für Zeiten, als der Prozessor noch in einen BCD-Modus geschaltet werden konnte (6502) oder eigene BCD-Rechenbefehle wie ABCD/SBCD mitbrachte (68k)…

Hallo Lucki,
wie früher in Schule, da habe ich auch ewig lang rumgenervt bis mich jemand die Hausaufgaben hat abschreiben lassen.
Vielen Dank Ludwig. Das Projekt brennt unheimlich und das ist eine unwesentliche Nebenbaustelle, die ich nur zwischendurch bearbeiten kann, daher hast du mir hier echt unheimlich geholfen. Zugegeben mein Fachwissen hier lässt auch ganz schön zu wünschen übrig. :/
Sobald 'ne ruhige Minute hier mal einkehrt versuche ich das auch mal vollständig zu verstehen ...
Beste Grüße