NOTICE TECHNIQUE D'UTILISATION DE LA SERIE MG - SEFELEC
• Gestion des interruptions SRQ :
Attention, pour le fonctionnement en mode SRQ (c'est à dire afin que l'appareil MG envoi le caractère
'Z' pour signaler une fin de test ou une erreur éventuelle), il faut initialiser ce mode avec l'envoi de la
commande 'SRQ'.
L'appel du programme de gestion des SRQ décrit ci-dessous est fait depuis le traitement des interruptions
RS (voir INTERUPTIONRS)
GESTIONSRQ:
COM(1) ON
A$ = "*STB?": GOSUB ENVOI
GOSUB ATTENTEMSG
IF LEN(msg$) = 4 THEN errdec = VAL("&H" + RIGHT$(msg$, 2))
IF LEN(msg$) = 3 THEN errdec = VAL("&H" + RIGHT$(msg$, 1))
FOR i = 0 TO 7
IF (errdec AND (2 ^ i)) <> 0 THEN bitstb(i) = 1 ELSE bitstb(i) = 0
NEXT i
IF bitstb(5) = 1 THEN
A$ = "*ESR?": GOSUB ENVOI
GOSUB ATTENTEMSG
IF LEN(msg$) = 4 THEN errdec = VAL("&H" + RIGHT$(msg$, 2))
IF LEN(msg$) = 3 THEN errdec = VAL("&H" + RIGHT$(msg$, 1))
FOR i = 0 TO 7
IF (errdec AND (2 ^ i)) <> 0 THEN bitesr(i) = 1 ELSE bitesr(i) = 0
NEXT i
IF bitesr(4) = 1 THEN PRINT "ERREUR DIALOGUE 2"
IF bitesr(5) = 1 THEN PRINT "ERREUR DIALOGUE 1"
ELSE
IF bitstb(0) = 0 THEN PRINT "BOUCLE OUVERTE !"
IF bitstb(1) = 1 THEN PRINT "Erreur !"
IF bitstb(2) = 0 THEN PRINT "Fin de Test."
IF bitstb(3) = 0 THEN PRINT "Test Mauvais." ELSE PRINT "Test Bon."
END IF
RETURN
SERIE MG Version : R
'Autorisation d'interruption sur le port série
'Envoi de la commande '*STB?' à l'appareil MG
'Attente d'un message de l'appareil MG
'Conversion de la valeur hexadécimale en décimale. Cette
'valeur étant au format '#Hx' ou '#Hxx', on ne considére
'que la partie en 'x' ou en 'xx'
'Conversion de la valeur décimale en binaire
'Si le registre ESR est à 1 :
'Envoi d'un '*ESR?' à l'appareil MG
'Attente d'un message de l'appareil MG
'Conversion de la valeur hexadécimale en décimale
'Conversion de la valeur décimale en binaire
'Définition des erreurs selon les bits du registre ESR à 1
'Définition des messages selon les bits du registre STB à 1
Page : 97