23.05.2013, 08:23
(21.05.2013, 14:42)S.Rings schrieb:(17.05.2013, 19:59)therme schrieb: Hallo S.Rings,
die S7 benötige 'DATE_AND_TIME' in BCD (Binär Codierte Dezimalzahl) oder Hex müsste auch gehen.
Wie kann man einen Integer(wenn möglich Byt weise) in BCD oder Hex Wandeln?
Werte nach HEX wandeln ist einfach, denn die Hexadezimale Darstellung ist als Variablentyp ja ein String :
ScriptCode schrieb:HString=""
HString=Hex(Wert)
zurück von Hex nach Integer geht es mit:
ScriptCode schrieb:Wert=val("&H" + HString)
um Werte Binär zu bearbeiten (also einzelne Bits aus einem Byte verarbeitet)
kann man auch die Funktionen vdf.readbin() und vdf.Writebin verwenden.
Wenn man das ganze denn auf 4 Stellen beschränkt hat man schon eine
einzelne BCD-Zahl.
vdf.ReadBin liefert eine String zurück:
So ist zum Bsp die Zahl
Dezimal= 17
in Hex= 11
und in Binär= 10001
Anderes Beispiel:
entsprechend die Zahl BCD = 98
Binär = 1001 1000
Dezimal = 152
Hex = 98 'und das ist genau die BCD Zahl !
siehe auch:
http://de.wikipedia.org/wiki/BCD-Code
Ich bekomms nicht hin.
Im Script.
HString=(VDF.ReadInt(2,24)) 'Intager
HString=Hex(VDF.WriteWord(2,25)) 'In Hex gewandelt
Was mache ich falsch?