10 M$="Adressensuche Rev. E4.3, 14.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)+"__________________________________________________"; 250 PRINT ESC$+"Y"+CHR$(54)+CHR$(32)+"Busadresse Fehler Zeile Stat"; 260 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?"; 285 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 IEC CLEAR 620 GOSUB 2000 630 A$="" 640 IEC PRINT #J%,"ID?" 650 GOSUB 2000 660 IEC INPUT #J%,A$ 670 IF A$="" THEN A$="---" 700 REM *IDN? 710 IEC CLEAR 720 GOSUB 2000 730 B$="" 740 IEC PRINT #J%,"*IDN?" 750 GOSUB 2000 760 IEC INPUT #J%,B$ 770 IF B$="" THEN B$="---" 800 REM Ausgabe 820 PRINT ESC$+"Y"+CHR$(35+Z%)+CHR$(32)+J$; 830 PRINT ESC$+"Y"+CHR$(35+Z%)+CHR$(39)+P$(1)+" "+P$(2); 840 PRINT ESC$+"Y"+CHR$(35+Z%)+CHR$(48)+A$; 850 PRINT ESC$+"Y"+CHR$(35+Z%)+CHR$(68)+B$ 860 PRINT ESC$+"Y"+CHR$(56)+CHR$(32); 870 PRINT ESC$+"k" 880 Z%=Z%+1 890 NEXT J% 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$(32)+J$,ERR,ERL,S% 1030 IF ERL>430 GOTO 1100 1040 J%=J%+1 1050 IF J%>EN% GOTO 900 1060 RESUME 400 1100 IF ERL>550 GOTO 1200 1110 P$(1)="--" : P$(2)=P$(1) 1120 RESUME 600 1200 IF ERL>640 GOTO 1300 1210 RESUME 700 1300 IF ERL>660 GOTO 1400 1310 IEC CLEAR #J% 1320 A$="---" 1330 RESUME 700 1400 IF ERL>740 GOTO 1500 1410 RESUME 760 1500 IEC CLEAR #J% 1510 IEC POLL #J%,C% 1520 IEC LOCAL #J% 1530 RESUME 760 2000 REM Verzögerung 2010 FOR V%=1 TO 1000 2020 NEXT V% 2030 RETURN 3000 END