10 M$="Adressensuche Rev. E4.5, 27.10.2015" 20 IEC INIT 30 IEC TIMEOUT 1 40 LA$=CHR$(10) 50 LI$=LA$ 60 ESC$=CHR$(27) 70 ST%=1 80 EN%=30 90 Z%=0 : DIM A%(2),P$(2) 100 REM Abschlusssequenz schreiben 110 FOR I%=ST% TO EN% 120 IEC LASTOUT I%,LA$ 130 IEC LASTIN I%,LI$ 140 NEXT I% 200 REM Maske anlegen 210 PRINT CHR$(12) 220 PRINT ESC$+"Y"+CHR$(53)+CHR$(32); 230 PRINT ESC$+"A2"; 240 PRINT ESC$+"Y"+CHR$(53)+CHR$(32)+"__________________________________________________"; 245 PRINT ESC$+"Y"+CHR$(54)+CHR$(32)+"Busadresse"; 250 PRINT ESC$+"Y"+CHR$(54)+CHR$(46)+"Fehler"; 255 PRINT ESC$+"Y"+CHR$(54)+CHR$(56)+"Zeile"; 260 PRINT ESC$+"Y"+CHR$(54)+CHR$(65)+"Status" 265 PRINT CHR$(1)+M$ 270 PRINT ESC$+"Y"+CHR$(34)+CHR$(32)+"Adr."; 275 PRINT ESC$+"Y"+CHR$(34)+CHR$(39)+"Poll"; 280 PRINT ESC$+"Y"+CHR$(34)+CHR$(48)+"ID?"; 290 PRINT ESC$+"Y"+CHR$(34)+CHR$(68)+"*IDN?" 300 REM Schleife 310 ON ERROR GOTO 1000 320 FOR J%=ST% TO EN% 400 REM Adresse 410 J$=STR$(J%) 420 IF LEFT$(J$,1)=" " THEN J$=RIGHT$(J$,LEN(J$)-1) 430 IEC REMOTE #J% 500 REM Poll 510 IEC CLEAR 520 GOSUB 2000 530 FOR I%=1 to 2 540 A(I%)=-1 550 IEC POLL #J%,A(I%) 560 IF A(I%)<0 THEN P$(I%)="--" ELSE P$(I%)=STR$(A(I%)) 570 IF LEFT$(P$(I%),1)=" " THEN P$(I%)=RIGHT$(P$(I%),LEN(P$(I%))-1) 580 NEXT I% 600 REM ID? 610 T$="ID?" 620 GOSUB 3000 630 A$=C$ 700 REM *IDN? 710 T$="*IDN?" 720 GOSUB 3000 730 B$=C$ 800 REM Ausgabe 810 PRINT ESC$+"Y"+CHR$(56)+CHR$(32); 820 PRINT ESC$+"k" 830 PRINT ESC$+"Y"+CHR$(35+Z%)+CHR$(32)+J$; 840 PRINT ESC$+"Y"+CHR$(35+Z%)+CHR$(39)+P$(1)+" "+P$(2); 850 PRINT ESC$+"Y"+CHR$(35+Z%)+CHR$(48)+A$; 860 PRINT ESC$+"Y"+CHR$(35+Z%)+CHR$(68)+B$ 870 Z%=Z%+1 880 NEXT J% 890 REM Ende Schleife 900 REM Programmende 910 IEC LOCAL 920 PRINT ESC$+"Y"+CHR$(50)+CHR$(32)+"fertig" 930 END 1000 REM Fehlerbehandlung 1010 IEC STATUS S% 1020 PRINT ESC$+"Y"+CHR$(56)+CHR$(45);ERR; 1030 PRINT ESC$+"Y"+CHR$(56)+CHR$(55);ERL; 1040 PRINT ESC$+"Y"+CHR$(56)+CHR$(64);S% 1050 IF ERL>430 GOTO 1100 1060 J%=J%+1 1070 IF J%>EN% GOTO 900 1080 RESUME 400 1100 IF ERL>550 GOTO 1200 1110 P$(1)="--" : P$(2)=P$(1) 1120 RESUME 600 1200 IF ERL>3040 GOTO 1300 1210 IEC CLEAR #J% 1220 GOSUB 2000 1230 RESUME 3070 1300 IEC CLEAR #J% 1310 GOSUB 2000 1320 RESUME 3070 2000 REM Verzögerung 2010 FOR V%=1 TO 1000 2020 NEXT V% 2030 RETURN 3000 REM Identifizierung 3010 C$="" 3020 IEC CLEAR 3030 GOSUB 2000 3040 IEC PRINT #J%,T$ 3050 GOSUB 2000 3060 IEC INPUT #J%,C$ 3070 IF C$="" THEN C$="---" 3080 RETURN 4000 END