Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
S7 300 CPU Automatischer abgleich der Uhrzeit,Datum u. Wochentag mit dem PC
#11
(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?
Antworten


Nachrichten in diesem Thema
RE: S7 300 CPU Automatischer abgleich der Uhrzeit,Datum u. Wochentag mit dem PC - von therme - 23.05.2013, 08:23

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 4 Gast/Gäste