Communication SYSMAC–WAY
Exemple d'un programme
avec FCS
Exemple d'application de
TXD(--)
422
données provenant de l'API lors de l'exécution d'une commande de lecture
SYSMAC–WAY.
10 'C200HX/HG/HE SAMPLE PROGRAM FOR EXCEPTION
20 CLOSE
30 CLS
40 OPEN "COM:E73" AS #1
50 KEYIN
60 INPUT "DATA
––––––––",S$
70 IF S$=" " THEN GOTO 190
80 PRINT "SEND DATA = ";S$
90 ST$=S$
100 INPUT "SEND OK? Y or N?=",B$
110 IF B$="Y" THEN GOTO 130 ELSE GOTO KEYIN
120 S$=ST$
130 PRINT #1,S$
140 INPUT #1,R$
150 PRINT "RECV DATA = ";R$
160 IF MID$(R$,4,2)="EX" THEN GOTO 210 'Identifie la commande de l'API
170 IF RIGHT$(R$,1)<>"" THEN S$=" ":GOTO 130
180 GOTO KEYIN
190 CLOSE 1
200 END
210 PRINT "EXCEPTION!! DATA"
220 GOTO 140
Cet exemple illustre le programme d'un sous-programme DE BASE pour l'exé-
cution d'une commande FCS sur une trame reçue par l'ordinateur maître.
400 *FCSCHECK
410 L=LEN(RESPONSE$) '
420 Q=0:FCSCK$=" "
430 A$=RIGHT$(RESPONSE$,1)
440 PRINT RESPONSE$,AS,L
450 IF A$="*" THEN LENGS=LEN(RESPONSE$)-3
460 FCSP$=MID$(RESPONSE$,LENGS+1,2) '... Données FCS reçues
470 FOR I=1 TO LENGS '
480 Q=ASC(MID$(RESPONSE$,I,1)) XOR Q
490 NEXT I
500 FCSD$=HEX$(Q)
510 IF LEN(FCSD$)=1 THEN FCSD$="0"+FCSD$ 'résultat FCS
520 IF FCSD$<>FCSP$ THEN FCSCK$="ERR"
530 PRINT"FCSD$=";FCSD$,"FCSP$=";FCSP$,"FCSCK$=";FCSCK$
540 RETURN
Rem.: 1.Les données de réception normales comprennent FCS, délimiteur ou posi-
tion terminale, etc. Cependant, en cas d'erreur dans la transmission, la FCS
ou les autres données ne sont pas incluses. S'assurer que la programma-
tion du système envisage une telle possibilité.
2.Dans cet exemple de programme, on n'introduit pas le code CR (CHR$(13))
de RESPONSE$. Lorsqu'on introduit le code CR, effectuer les modifica-
tions sur les lignes 430 et 450.
Cet exemple illustre un programme d'utilisation du port RS-232C en mode
SYSMAC–WAY dans la transmission de données à 10 octets (DM 0000 à DM
0004) à un ordinateur. De DM 0000 à DM 0004, "1234" est mémorisé dans cha-
que mot.
. . . . . . . . . .
ELSE LENGS=LEN(RESPONSE$)-2
. . . . . . . . . .
Chapitre 8-2
'Envoie une commande à l'API
'Reçoit une réponse de l'API
Données transmises et reçues
Nombre de caractères FCS