VEGA VEGACOM 557 VEGA ASCII protocol Manuel d'utilisation

Page 50

Advertising
background image

50

VEGACOM 557 VEGA ASCII

SendNr = MID$(COMADR + "00", 1, 3 - LEN(SendNr)) + SendNr

' Créer une chaîne (de caractères) d’émission

IF LastPls > 3 THEN

Send = CMD2 + SendNr + CHR$(13)

ELSE

Send = CMD1 + SendNr + CHR$(13)

END IF

' Délivrer une chaine (de caractères) d’émission sur l’interface

' ; à la fin, pour qu’il n’y ait pas l’émission d’un 2ème CR

PRINT #sio, Send;

' Info sur l’activité actuelle

LOCATE 1, 1

PRINT "Scan VEGAMET Adresse "; MetNr

' Attendre env. 0.1 seconde la réponse de la VEGACOM

Delay (.1)

CALL ReceiveString(sio, Receive)

' Vérifier la longueur

IF LastPls > 3 THEN

L = 66

ELSE

L = 32

END IF

IF LEN(Receive) = L THEN

' Pas de réponse, remettre compteur sur la valeur de départ

NoReceive(MetNr) = MAXNORECEIVE

' Mettre les informations d’état sur erreur

FOR j = FirstPls TO LastPls

Etat (MetNr, j) = -1

NEXT j

CALL CheckReceive(Receive)

ELSE

IF NoReceive(MetNr) > 0 THEN

NoReceive(MetNr) = NoReceive(MetNr) - 1

ELSE

' Mettre les informations d’état sur erreur

FOR j = FirstPls TO LastPls

Etat (MetNr, j) = -1

NEXT j

END IF

END IF

' interroger le prochain VEGAMET

MetNr = MetNr + 1

' Tous les VEGAMET interrogés ?

IF MetNr > LastMet THEN

OutputData

' Recommencer avec l’adresse VEGAMEt FirstMet

MetNr = FirstMet

END IF

WEND

' Fermer l’interface

CLOSE sio

END

Mise en service

Advertising