C PROGRAMM TIPSCH VON RMP C TIP-RELAIS (BISTABIL) : ZAEHLUNG VON SCHAUERENTLADUNGEN C BEFEHLE PDP/8-->RMP : C REGISTER/BIT 1/11 : 5326 B START/STOP (0 START,1 STOP) C 1/10 : " SLOPE A (1 +,0 -) C 1/9 : " MULTIPLIER 1 (0) C 1/8 : " RESET (0) C 1/7 : " REMOTE MODE (0) C 4/11 : TIP-RELAIS (1 ANZUG,0 ABWURF) C 4/10 : LED (1 EIN,0 AUS) C DATEN RMP-->PDP/8 : C BYTE/BIT 0/11...0/8 : 5326 B COL1 C 0/7....0/4 : " COL2 C 1/11...1/8 : " COL3 C 1/7....1/4 : " COL4 C 4/11 : SCHALTER EIN-AUS C 4/10 : TASTE RELAIS-WECHSEL C ANFANGSSTELLUNG DUAL DEZIMAL C REGISTER 1 : 000 011 100 011 227 C 2 : 000 000 000 000 000 C 3 : 000 000 000 000 000 C 4 : 000 000 000 000 000 C 5 : 000 000 000 000 000 C 6 : 000 000 000 100 004 C FORTRAN II / OPTION (IOH) C SR : AUS.FT / INIT.FT / EIN.FT / TCD4.FT / IBIT.SB C RMPBIT.FT / BELL.FT C DA : TEM.DA WRITE(1,100) 100 FORMAT('TIP-KONTAKT : SCHAUERENTLADUNGEN ZAEHLEN') 1 WRITE(1,101) 101 FORMAT(40('-')) 2 READ(1,102)IR,IW 102 FORMAT(' WIEVIEL RELAIS ? : 'I3/'WIEVIEL 1 MESSUNGEN ? : 'I4) READ(1,103)AG,AF 103 FORMAT(' AUSGABE-GERAET UND DATEI : 'A2'/'A6) READ(1,104)LIST 104 FORMAT('MESSWERTE DRUCKEN ? (JA=1,NEIN=0) : 'I1) C REGISTER IN ANFANGSSTELLUNG SETZEN 3 IA1=227 IA2=000 IA3=000 IA4=000 IA5=000 IA6=004 I1=IA1 I2=IA2 I3=IA3 I4=IA4 I5=IA5 I6=IA6 CALL INIT(IA1,IA2,IA3,IA4,IA5,IA6) C EIN-AUS-SCHALTER EIN ? 4 ID=RMPBIT(4,11,I6) CALL BELL N1=50 S JMS SG IF(ID)4,4,5 C NACH CA .5 S TEST WIEDERHOLEN 5 CONTINUE N1=100 S JMS SG CALL INIT(IA1,IA2,IA3,IA4,IA5,IA6) ID=RMPBIT(4,11,I6) IF(ID)5,5,7 C ANZEIGE : BEREIT FUER MESSUNG 7 CALL SETB(I4,10) CALL AUS(1,4,I4) C TASTE RELAIS-WECHSEL EIN ? 8 ID=RMPBIT(4,10,I6) IF(ID)9,9,10 C SIGNAL GEBEN 9 N1=200 CALL BELL S JMS SG GOTO 8 C MESSUNG LAEUFT 10 CALL OOPEN('P1','TEM') WRITE(4,105)IR,IW 105 FORMAT(A2) DO 50 M=1,IR IF(LIST)21,21,20 20 WRITE(1,106)M,LEER, 106 FORMAT(' TIP #'I3' : 'I0) IMM=3 21 DO 40 N=1,IW C TIPRELAIS ANZUG-IMPULS CALL SETB(I4,11) CALL AUS(1,4,I4) S JMS MS4 C ZAEHLER START CALL SETB(I1,8) CALL ZBIT(I1,11) CALL AUS(1,1,I1) C TIPRELAIS ABWURF-IMPULS CALL ZBIT(I4,11) CALL AUS(1,4,I4) S JMS MS4 C ZAEHLER STOP CALL SETB(I1,11) CALL AUS(1,1,I1) C MESSWERT UEBERNEHMEN CALL TCD4(I6,IZ) C ZAEHLER RESET CALL ZBIT(I1,8) CALL AUS(1,1,I1) C MESSWERT AUSWERTEN WRITE(4,105)IZ IF(LIST)30,30,22 22 WRITE(1,107)IZ, 107 FORMAT(I4) IMM=IMM+1 IF(IMM-17)30,23,23 23 IMM=0 WRITE(1,199)LEER C MESSUNG ABBRECHEN ? 30 ID=RMPBIT(4,11,I6) IF(ID)51,51,40 40 CONTINUE C RELAIS-WECHSEL ! IF(IR-M)45,48,45 45 N1=200 47 CALL BELL S JMS SG ID=RMPBIT(4,10,I6) IF(ID)47,47,48 48 IF(IMM)50,50,49 49 FINI 50 CONTINUE 51 CALL OCLOSE CALL INIT(IA1,IA2,IA3,IA4,IA5,IA6) WRITE(1,199)LEER CALL IOPEN('P1','TEM') CALL OOPEN(AG,AF) READ(4,105)IR,IW WRITE(4,105)IR,IW DO 90 I=1,IR DO 90 J=1,IW READ(4,105)IZ Z=IZ 90 WRITE(4,108)Z 108 FORMAT(A6) CALL OCLOSE READ(1,198)ID 198 FORMAT(' WEITERE MESSUNG ? (JA=1,NEIN=0) : 'I1) IF(ID)99,99,98 98 WRITE(1,199)LEER 199 FORMAT(I0) GOTO 2 99 CALL EXIT SMS4, 0 / 4 MS ZEIT-SCHLEIFE S CLA S TAD (K6000 S DCA CT SDEL, ISZ CT S JMP DEL S JMP I MS4 SCT, 0 SSG, 0 / N1*4 [MS] ZEITSCHLEIFE DO 1000 I=1,N1 S JMS MS4 1000 CONTINUE S JMP I SG END