9.6
Beschrijving van de EInt-
formaten
Een parameter van Eint-formaat kan worden weergegeven in
twee verschillende formaten (F), hetzij als een 15-bits
unsigned integer-formaat (F= 0), hetzij als een Emotron
floating point-formaat (F=1). De belangrijkste bit (B15)
duidt het gebruikte formaat aan. Zie de meer gedetailleerde
beschrijving hierna.
Alle parameters die in een register zijn geschreven, mogen
worden afgerond tot het aantal significante cijfers dat in het
interne systeem wordt gebruikt.
De matrix hieronder beschrijft de inhoud van het 16-bits
woord voor de twee verschillende Eint-formaten:
B15 B14 B13 B12 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0
F=1 e3
e2
e1
e0
m10 m9 m8 m7 m6 m5 m4 m3 m2 m1 m0
F=0 B14 B13 B12 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0
Als de formaat-bit (B15) 0 is, kunnen alle bits worden
behandeld als standaard unsigned integer (UInt).
Als het format bit 1 is, dan wordt het nummer als volgt
geïnterpreteerd:
Waarde = M * 10^E waarbij M = m10..m0 een "two's
complement" mantisse en E = e3..e0 een "two's complement
signed" exponent representeert.
OPMERKING: Parameters van Eint-formaat kunnen
waarden terugzenden als zowel 15-bits unsigned integer
(F=0) of in Emotron floating point (F=1).
Voorbeeld, oplossing
Als u de waarde 1004 in een register invoert en het register
heeft 3 significante cijfers, wordt dit opgeslagen als 1000.
In het floating point-formaat (F=1) van Emotron wordt een
16-bits woord gebruikt om grote (of hele kleine) getallen
weer te geven met 3 significante cijfers.
Als data wordt gelezen of geschreven als een fixed-point-getal
(d.w.z. zonder decimalen) tussen 0-32767, kan het 15-bits
Unsigned-integer-formaat (F=0) worden gebruikt.
Gedetailleerde beschrijving van Emotron
floating point-formaat
e3-e0 4-bits signed exponent. Geeft een
waardebereik:
-8..+7 (binair 1000 .. 0111)
m10-m0 11-bit signed mantissa. Geeft een
waardebereik:
-1024..+1023 (binair
10000000000..01111111111)
CG Drives & Automation 01-5980-03r1
Een signed getal moet worden weergegeven als een 2-
complement binair getal, zoals hieronder weergegeven:
Waarde binair
-8 1000
-7 1001
..
-2 1110
-1 1111
0 0000
1 0001
2 0010
..
6 0110
7 0111
De waarde die wordt weergegeven door het Emotron-
floating-point-formaat is m·10e.
Gebruik de bovenstaande formule om een waarde om te
zetten van Emotron-floating-point-formaat naar een
floating-point-waarde.
Zie voor het omzetten van een floating-point-waarde naar
het Emotron-floating-point-formaat het C-codevoorbeeld
hieronder.
Voorbeeld, floating-point-formaat
Het getal 1,23 zou er in Emotron-floating-point-formaat zo
uitzien:
F EEEE MMMMMMMMMMM
1 1110 00001111011
F=1 -> gebruikt floating-point-formaat
E=-2
M=123
-2
De waarde is dan 123x10
Voorbeeld 15-bits unsigned-integer-formaat
De waarde 72,0 kan worden weergegeven als het fixed point-
getal 72. Het ligt binnen het bereik 0-32767, wat betekent
dat het 15-bits fixed point-formaat kan worden gebruikt.
De waarde ziet er dan als volgt uit:
B15 B14 B13 B12 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0
0
0
0
0
0
0
Hierbij geeft bit 15 aan dat we gebruik maken van het fixed
point-formaat (F=0).
= 1,23
0
0
0
1
0
0
1
0
Seriële communicatie
0
0
139