EUCHNER CIS3(A) Benutzerhandbuch

Seite 23

Advertising
background image

EUCHNER

Identsystem

CIS3/CIS3A

071652-01-8/99

Technische Änderungen vorbehalten

Seite 23 / 30

BCCWE = BCCWE XOR ASC(C$)

IF C$ = DLE$ THEN 'DLE Vedopplung nach 3964R
D$ = INPUT$(1, #1)
BCCWE = BCCWE XOR ASC(D$)
END IF
A$ = A$ + C$
NEXT i
C$ = INPUT$(1, #1) 'DLE einlesen
BCCWE = BCCWE XOR ASC(C$)
C$ = INPUT$(1, #1) 'ETX einlesen
BCCWE = BCCWE XOR ASC(C$)
C$ = INPUT$(1, #1) 'BCC einlesen
IF Wiederholzaehler = AnVersu THEN 'nach mehrmaligen ungültigen Versuch, Verbindung abbrechen
PRINT "Kein gültiges Antworttelegramm"
PRINT #1, NAK$
GOTO Abbruch
END IF
IF BCCWE <> ASC(C$) THEN 'Vergleich ob Telegramm-BCC richtig ist
PRINT "BCC-Fehler", BCCWE, ASC(C$)
PRINT #1, NAK$
GOTO Startantworttelegr 'Erwartet Protokollwiederholung
END IF
PRINT #1, DLE$; 'positiv quittieren

Antworttelegramm$ = A$
Abbruch:
END FUNCTION

'*
'************************ Ermittlung des BCC *******************************
'*
FUNCTION BCCErmittlung$ (Telegramm$) STATIC
BCC = 0
FOR i = 1 TO LEN(Telegramm$)
BCC = BCC XOR ASC(MID$(Telegramm$, i, 1))
NEXT i
BCCErmittlung$ = CHR$(BCC)
END FUNCTION

'*
'**************** Daten aus dem Antworttelegramm ausfiltern ****************
'*
FUNCTION Datenauswerten$ (A$)
IF MID$(A$, 3, 1) = "K" THEN PRINT "Daten korrigiert"
Z = ASC(MID$(A$, 7, 1))
B$ = MID$(A$, 8, Z)
Datenauswerten$ = B$
END FUNCTION

'*
'********************* Fehler oder Statusermittlung ************************
'*
SUB Fehleranzeigen (A$)
PRINT "Fehler Nr. : ";
B$ = MID$(A$, 7, 1)
PRINT ASC(B$)
INPUT X
END SUB

Advertising