Herunterladen Inhalt Inhalt Diese Seite drucken

Berechnete Beispiele; Berechnung Der Prüfsumme Crc - ABB TZA 401 Bedienungsanleitung

Messrechner modbus-schnittstelle
Inhaltsverzeichnis

Werbung

'Mantisse aus Byte(0) bis Byte(3) errechnen
Mantisse = (Byte(2) OR &H80) * &H10000
Mantisse = Mantisse + Byte(1) * &H100 + Byte(0)
'-------------------------------------------------------
RealWert! = Vorzeichen * Mantisse / (2 ^ (23 - (Exponent - &H7F)))
PRINT "Rückrechnung = "; RealWert!
LOOP
'---------------------------------------------------
'Umwandlung einer Hex-Ziffer in Binärdarstellung
'---------------------------------------------------
FUNCTION BIN.AER$ (z$)
DEFINT A-Z
FOR i = 1 TO LEN(z$)
x1$ = ""
X% = VAL("&H" + MID$(z$, i, 1))
DO UNTIL X% = 0
Y$ = LTRIM$(STR$(X% MOD 2))
X% = X% \ 2
x1$ = Y$ + x1$
LOOP
x1$ = RIGHT$("0000" + x1$, 4)
X$ = X$ + " " + x1$
NEXT
BIN.AER$ = X$
END FUNCTION

Berechnete Beispiele

Exponent auf Basis 2 wird durch mehrfache Multiplikation mit 2 oder Division durch 2 so berechnet, daß sich
ein 24-stelliger binärer Wert mit einer 1 an der höchsten (linken) Stelle ergibt. In der IEEE-Darstellung
wird diese 1 unterdrückt.
dezim. hexadezimal binär
s/Exponent /Wert
-1,0
BF 80 00 00 1011 1111 1000 0000 0000 0000 0000 0000
-0,5
BF 00 00 00 1011 1111 0000 0000 0000 0000 0000 0000
-0,4
BE CC CC CD 1011 1110 1100 1100 1100 1100 1100 1101
-0,3
BE 99 99 9A 1011 1110 1001 1001 1001 1001 1001 1010
-0,2
BE 4C CC CD 1011 1110 0100 1100 1100 1100 1100 1101
-0,1
BD CC CC CD 1011 1101 1100 1100 1100 1100 1100 1101
0,0
00 00 00 00 0000 0000 0000 0000 0000 0000 0000 0000
0,1
3D CC CC CD 0011 1101 1100 1100 1100 1100 1100 1101
0,2
3E 4C CC CD 0011 1110 0100 1100 1100 1100 1100 1101
0,3
3E 99 99 9A 0011 1110 1001 1001 1001 1001 1001 1010
0,4
3E CC CC CD 0011 1110 1100 1100 1100 1100 1100 1101
0,5
3F 00 00 00 0011 1111 0000 0000 0000 0000 0000 0000
1,0
3F 80 00 00 0011 1111 1000 0000 0000 0000 0000 0000
10,0
41 20 00 00 0100 0001 0010 0000 0000 0000 0000 0000
Berechnung der Prüfsumme CRC
'Basic-Programm zur ermittlung der Prüfsumme CRC für Modbus-RTU Telegramme
'Quickbasic 4.5
'-----------------------------------------------------------
DECLARE FUNCTION HEX2$ (x!)
CLS
MaxI = 2
PRINT "Eingabe der Telegrammbytes in Hex 05H oder dezimal 5"
PRINT "getrennt einheitlich durch Leerzeichen oder Kommata"
DO
INPUT Tel$
i = 1
L = LEN(Tel$)
Tel$ = UCASE$(Tel$)
DO UNTIL Tel$ = ""
Tel$ = LTRIM$(Tel$)
/
Version 1.0
Programmierbeispiele in Quickbasic 4.5 25

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis