MULTIGATE-Profibus / multisys 1D3-ESDP
Beispiel 3: 45.354 dezimal = 0x42356A7F hex
Adresse
+0
Format
SEEEEEEE
Binär
0 1 0 0 0 0 1 0
Hex
42
Exponent: 10000100 bin = 132 dez
Exp.= 132-127=5
Mantisse: S=0
VZ=positiv
01101010110101001111111 bin
Dezimalpunkt an erster Stelle der Mantisse angefügt
. 01101010110101001111111
Führende 1 vor dem Dezimalpunkt
1. 01101010110101001111111
Berücksichtigung des Exponenten (=5)
101101. 010110101001111111
links des Dezimalpunktes: 101101 bin = 2
Rechts des Dezimalpunktes:010110101001111111 bin =
-2
-4
-5
2
+ 2
+ 2
+ 2
Endergebnis: +45.3540001 dez
Zeitstempel time_t ( wird als unsigned long übertragen)
Der Zeitstempel beschreibt einen Zeitpunkt. Der Wert ist dabei folgendermaßen definiert:
Sekunden seit 1.1.1970 0°°Uhr (bezogen auf die jeweilige Zeitzone)
Die Werte werden als unsigned long über den Bus übertragen (Bytereihenfolge siehe oben). Dabei sind alle
Werte als Normalzeit (Winterzeit) zu interpretieren, d.h. will man die Geräteuhr in Deutschland im Mai auf 11 Uhr
einstellen, so muß der Einstellbefehl über den Bus definitiongemäß mit der Winterzeit 10 Uhr erfolgen.
Es gilt:
Alle Zeitstempel, die über den Bus übertragen werden, sind als Normalzeit (Winterzeit) zu interpretieren.
Das Gerät selbst muß dabei gemäß den Ländergegebenheiten parametriert werden.
Einstellungen sind hier:
z.B. Deutschland ->Sommerzeit von Ende März bis Ende Oktober
z:B. China -> Sommerzeit nicht aktiviert
Seite - 8 -
+1
EMMMMMMM
0 0 1 1 0 1 0 1
35
Tabelle 7: Beispiel float 45.354
5
-7
-9
-12
-13
-14
+ 2
+ 2
+ 2
+ 2
+2
MMMMMMMM
0 1 1 0 1 0 1 0
6A
3
2
0
+ 2
+ 2
+2
= 45 dez.
-15
-16
-17
+ 2
+ 2
+ 2
+ 2
+3
MMMMMMMM
0 1 1 1 1 1 1 1
7F
-18
= 0.3540001 dez
Version 1.0