Herunterladen Inhalt Inhalt Diese Seite drucken

Anhang; Programmierbeispiele In Quickbasic 4.5; Ieee-Werteberechnung Mittels Mks$ Und Csv-Funktion; Ieee-Werteberechnung Ohne Spezielle Funktionen - ABB Protronic 100 Bedienungsanleitung

Vorschau ausblenden Andere Handbücher für Protronic 100:
Inhaltsverzeichnis

Werbung

9

Anhang 3

9.1 Programmierbeispiele in Quickbasic 4.5

9.1.1
'Demoprogramm zur Bearbeitung von IEEE-Werte-Darstellung
'in Quick-Basic 4.5
'benutzt die Quick-Basic-Funktionen MKS$ und CVS
'-------------------------------------------------------
DECLARE FUNCTION BINAER$ (z$)
DECLARE FUNCTION HEX2$ (x)
CLS
DO
'-------------------------------------------------------
'Aufbereiten:
'-------------------------------------------------------
'
'-------------------------------------------------------
'Kontroll-Darstellungen
'=======================================================
'Zurückrechnen
'-------------------------------------------------------
'es sind empfangen worden die Bytes(0) bis Byte(3)
'------------------------------------------------------
'Umwandlung einer Hex-Ziffer in Binädarstellung
'---------------------------------------------------
FUNCTION BINAER$ (z$)
DEFINT A-Z
FOR I = 1 TO LEN(z$)
NEXT
BINAER$ = x$
END FUNCTION
'----------------------------------------
DEFSNG A-Z
'Stellt Hex-Ziffern zweistellig dar
'----------------------------------------
FUNCTION HEX2$ (x)
END FUNCTION
9.1.2
42/62-50040 DE
Protronic 100/500/550, Digitric 500, MODBUS-Schnittstellenbeschreibung

IEEE-Werteberechnung mittels MKS$ und CSV-Funktion

INPUT "Realwert (E = Ende) "; Realwert$
IF UCASE$(Realwert$) = "E" THEN END
Realwert! = VAL(Realwert$)
Realwert in IEEE-Darstellung
IEEE$ = MKS$(Realwert!)
FOR I = 0 TO 3
Byte(I) = ASC(MID$(IEEE$, I + 1, 1))
NEXT
Date0& = Byte(1) * 256 + Byte(0)
Date1& = Byte(3) * 256 + Byte(2)
'Diese 2 Worte muessen richtig in das Sendetelegramm
'eingebaut werden.
IEEE$ = HEX2$(Byte(3)) + HEX2$(Byte(2))
IEEE$ = IEEE$ + HEX2$(Byte(1)) + HEX2$(Byte(0))
PRINT IEEE$; " ="; BINAER$(IEEE$)
IEEEHEX$ = ""
FOR I = 0 TO 3
IEEEHEX$ = IEEEHEX$ + CHR$(Byte(I))
NEXT
Realwert! = CVS(IEEEHEX$)
PRINT "Rueckrechnung = "; Realwert!
LOOP
'----------------------------------------
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$
HEX2$ = RIGHT$("00" + HEX$(x), 2)

IEEE-Werteberechnung ohne spezielle Funktionen

'4 Byte-String
Anhang 3
39

Werbung

Inhaltsverzeichnis
loading

Diese Anleitung auch für:

Digitric 500Protronic 500Protronic 550

Inhaltsverzeichnis