100 GOSUB 10320		; Konstanten definieren
'   --------------------------------------------------------------
' 		Servicehilfen BasicMaster
'   --------------------------------------------------------------
'Funktion : - Verschiedene Hardwaretest können durchgeführt werden.
'             (Eingangstest - Ausgangstest - Test des PosCountmoduls)
'           - Ein Verfahren des Motors ist möglich um die eingestellten 
'             Maschinenparameter wie Rampenzeit, Startfrequenz, Eil-
'             geschwindigkeit zu überprüfen.
'           - Auf die Bedienung über einen an der RS232 Schnittstelle
'             angeschlossenen Computer kann umgeschaltet werden.
'           Menüpunkte:  Eingangstest, Ausgangstest, PosCount Test
'                        Motortest, Terminal
'Eingang  : --
'Ausgang  : --
'lokal    : B,W,I,K
'global   : --
8210 CLS : W=0                          ; Init Menütoggelcounter
8220   BITCLR A5                        ; nicht betr.bereit
8230   CUR 0,0 : PRINT "T",		; Identifier Servicemenü
8240   IF W>3 THEN W=0			; wieder mit Menüpunkt 1 beginnen
8250   CUR 0,3 : PRINT $(W+21),		; ? TEST MENUPUNKTE
8260   CUR 1,0 : PRINT CHR(W+49),"               ", ; Menünummer ausgeben
8270   T=GET                 
8280   IF T = ESC THEN RETURN		; Rücksprung / Ende
8290   IF T = F2 THEN W=W+1 : GOTO 8240     ; Menü durchtoggeln
8300   IF T = RET THEN ON W GOSUB 8330,8480,8660,8610
'                                 Ein--Aus--Term-AssV
8310   IF T = ESC THEN 8230                 ; Neuausgabe Menü
8320   GOTO 8270
' --- Eingangstest ---
8330   CUR 0,3 : PRINT "12345678 E12F",
8340 DO
8350   FOR K = E0 TO E7
8360    BITTST K : CUR 1,K-5 : PRINT "#", : GOTO 8380      ; Eingänge 8..15
8370    CUR 1,K-5 : PRINT "_",
8380   NEXT
8390   BITTST EN0 : CUR 1,13 : PRINT "#", : GOTO 8410     ; Endschalter 0
8400   CUR 1,13 : PRINT "_",
8410   BITTST EN1 : CUR 1,14 : PRINT "#", : GOTO 8430     ; Endschalter 1
8420   CUR 1,14 : PRINT "_",
8430   BITTST STRG : CUR 1,15 : PRINT "#", : GOTO 8450     ; Eingang Störung
8440   CUR 1,15 : PRINT "_",
8450   T=GET
8460 UNTIL T = ESC
8470 RETURN
' --- Ausgangstest ---
8480   CUR 0,3 : PRINT "  12345678   ",
8490   FOR I=0 TO 7
8500     BITCLR I                     ; Ausgänge löschen
8510     A(I)=0                       ; Hilfszeiger für Ausgänge initialisieren
8520     CUR 1,5+I : PRINT "_",       ; Ausgänge anzeigen (inaktiv)
8530   NEXT
8540   T=GET
8550   IF T = ESC THEN RETURN       ; Rücksprung
8560   IF T<49 .OR. T>56 THEN 8540  ; nur Tasten 1..8
8570   K=T-49                       ; ASCII-Code abziehen
8580   IF A(K)=1 THEN BITCLR K : A(K)=0 : CUR 1,5+K : ? "_", : GOTO 8540
8590   BITSET K : A(K)=1 : CUR 1,5+K : PRINT "#",
8600   GOTO 8540
' --- Assembler Version ---
8610 CUR 1,0 : PRINT "Ass-Version:",
8620 FOR I=446EH TO 4470H:?CHR(CBY(I)),:NEXT    ; Versionsnr.
8630 DO: T=GET
8640 UNTIL T >0
8650 RETURN
' --- Ein/Ausgabe umschalten ---
8660  IF EA=0 THEN STOP                    ; bereits im Terminal
8670  CUR 1,0 : PRINT $(62),               ; ? <ENT>JA<ESC>NEIN
8680  DO
8690     T=GET
8700  UNTIL T=ESC.OR.T=RET
8710   IF T = ESC THEN RETURN              ; Rücksprung
8720 CUR 1,0:P. $(0),
8730 EA=0 :INIT INP,0 : INIT OUT,0 : CLS ; umschalten auf PC
8740 PRINT "Terminal melden ...",
8750    FOR I=0 TO 2000                    ; Warteschleife
8760            T=GET:IF T>0 THEN STOP     ; wenn Taste gedrückt, dann stop
8770    NEXT
8780   EA=1 :INIT INP,3 : INIT OUT,1       ; wieder aufs Display und zurück
8790   CLS:PRINT "<esc> ...       ",
8800 DO:T=GET:WHILE T=0
8810 CLS:RETURN                                
; ------------------------------------------------------------
' -------------- Konstanten definieren -----------------------
10320 A0=0                      ; Ausgang "im Set-Point"
10330 A1=1                      ; Ausgang "Zyklus läuft"
10340 A2=2                      ; Ausgang "Schruppen Ende"
10350 A3=3                      ; Ausgang "Schlichten Ende"
10360 A4=4                      ; Ausgang "Nullmaß Ende"
10370 A5=5                      ; Ausgang "betriebsbereit"
10380 A6=6                      ; Ausgang "Meßgerät"
10390 A7=7                      ; Ausgang "Halt oder Notrück aktiv"
10400 A8=157                    ; Ausgang "Boost=Twin"
10410 EN0=0                     ; Endschalter 1
10420 EN1=4                     ; Endschalter 2
10430 STRG=5                    ; Eingang "Störung Endstufe"
10440 E0=8                      ; Eingang "Hand=0 Auto=1"
10450 E1=9                      ; Eingang "Start"
10460 E2=10                     ; Eingang "Anschleifen"
10470 E3=11                     ; Eingang "Ende Schrupp"
10480 E4=12                     ; Eingang "Ende Schlicht"
10490 E5=13                     ; Eingang "Fertigmaß"
10500 E6=14                     ; Eingang "Halt"
10510 E7=15                     ; Eingang "Not-Rück"
10520 RETURN
