VEGA VEGACOM 557 VEGA ASCII protocol Benutzerhandbuch

Seite 51

Advertising
background image

VEGACOM 557 VEGA ASCII

51

SUB CheckReceive (rec AS STRING)

DIM j AS INTEGER

DIM L AS INTEGER

DIM PLsString AS STRING

DIM Stat AS INTEGER

' Carriage Return abpruefen

IF MID$(rec, LEN(rec) - 1, 1) <> CHR$(13) THEN EXIT SUB

' Startzeichen abpruefen

IF MID$(rec, 1, 1) <> "=" THEN EXIT SUB

' Antwort auf aktuelle Anfrage ?

IF MID$(rec, 2, 3) <> SendNr THEN EXIT SUB

' Trennzeichen pruefen

IF (MID$(rec, 5, 1) <> "#") THEN EXIT SUB

FOR j = 0 TO LastPls - 1

IF (MID$(rec, 13 + j * 8, 1) <> "p") THEN EXIT SUB

NEXT j

' PLS Werte auslesen

FOR j = FirstPls TO LastPls

PLsString = MID$(rec, 6 + (j - 1) * 8, 7)

' Abfrage hohe oder niedrige Aufloesung

IF MID$(PLsString, 6, 1) = "." THEN

' niedrige Aufloesung

PLsString = MID$(PLsString, 1, 1) + MID$(PLsString, 3, 3) + MID$(PLsString, 7, 1)

END IF

PLS(MetNr, j) = VAL(PLsString)

NEXT j

' Statusinformation lesen

IF LastPls > 3 THEN

Stat = VAL(MID$(rec, 62, 1))

Stat = Stat + VAL(MID$(rec, 63, 1)) * 8

Stat = Stat + VAL(MID$(rec, 64, 1)) * 64

ELSE

Stat = VAL(MID$(rec, 30, 1))

END IF

i = 1

FOR j = FirstPls TO LastPls

Status(MetNr, j) = Stat AND i

i = i * 2

NEXT j

END SUB

SUB Delay (t AS SINGLE)

DIM x AS DOUBLE

x = TIMER + t

WHILE x >= TIMER

WEND

END SUB

SUB OutputData

Inbetriebnahme

Advertising