Exemple 2
Avec ce programme, la configuration actuelle du capteur est visualisée à l'écran. Ce programme
est écrit pour la série P42-A4N-2D-1.1-.... .
10 REM STATUS.BAS
20 ON ERROR GOTO 350
30 DEF FNDEC(H$)=(ASC(LEFT$(H$,1))-48+(ASC(LEFT$ (H$,1)) >58)*7)*16+ASC(RI
GHT$(H$;1))-48+(ASC(RIGH T$(H$,1))>58)*7
40 CLS
50 PRINT,"************************************************************* "
60 PRINT, "***********
70 PRINT, "***********
80 PRINT, "*************************************************************"
90 REM OPEN "COM1:9600,N,8,2" AS #1
100 OPEN "COM1:9600,N,8,2" AS #1
110 PRINT #1,"@#D"
120 T=TIMER+.3
130 IF TIMER < T GOTO 130
140 LINE INPUT #1,D$
150 PRINT
160 PRINT" Status of sensor: ";D$
170 PRINT
180 PRINT" Function",,"Command",,"Parameter"
190 PRINT"--------",,"------","--------"
200 PRINT"Calibration slope ","@#Y",:PRINT USING"####"FNDEC(MID$(D$,2,2))
210 PRINT"Calibration offset ","@#X",:PRINT USING"####"FNDEC(MID$(D$,4,2))
220 PRINT"Mode register
230 PRINT"Cycle time
240 PRINT"Under range
250 PRINT"Addressode
T" => ";CHR$(FNDEC(MID$(D$,14,2)))
260 PRINT"Fail echo supression","@#T",:PRINT USING"####"FNDEC(MID$(D$,17,2))
270 PRINT"Over range counter ","@#R",:PRINT USING"####"FNDEC(MID$(D$,19,2))
280 PRINT"Analogue offset
290 PRINT"Analogue range
300 PRINT"Hysteresis 1
310 PRINT"Hysteresis 2
320 PRINT"Setpoint 1
FNDEC(MID $(D$,34,2))
330 PRINT"Setpoint 2
FNDEC(MID $(D$,39,2))
340 END
350 IF ERR=57 THEN RESUME 150
360 IF ERR=24 THEN PRINT "No sensor connected"
370 PRINT "Error";ERR;" in Line ";ERL
380 STOP
P
ROGRAMMATION DES CAPTEURS AVEC INTERFACE
This program displays sensor settings ***************"
of a P42-A4N-2D-1.1-xxxx
","@#M",:PRINT USING"####"FNDEC(MID$(D$,7,2))
","@#C",:PRINT USING"####"FIX(FNDEC(MID$(D$,9,2))/8)*8
","@#U",:PRINT USING"####"FNDEC(MID$(D$,12,2))
","@#A",:PRINT USING"####"FNDEC(MID$(D$,14,2));:PRIN
","@#O",:PRINT USING"####"FNDEC(MID$(D$,22,2))
","@#S",:PRINT USING"####"FNDEC(MID$(D$,24,2))
","@#H",:PRINT USING"####"FNDEC(MID$(D$,27,2))
","@#G",:PRINT USING"####"FNDEC(MID$(D$,29,2))
","@#1",:PRINT USING"####"FNDEC(MID$(D$,32,2))*256+
","@#2",:PRINT USING"####"FNDEC(MID$(D$,37,2))*256+
RS232
25
***************"