0 BEGIN PGM 8150-de MM 1 ;********************************** 2 ;Es wird ein Maschinenparameter 3 ;ausgelesen und im Q1 gespeichert 4 ;Der Q1 beinhaltet dann einen 5 ;Dezimalwert, welcher in einen 6 ;Binaerwert zerlegt werden soll. 7 ;In der Tabelle BIT.tab wird dann 8 ;das entsprechenden BITs gesetzt und 9 ;koennen anschliesend separat ausge- 10 ;lesen werden. 11 ;********************************** 12 ;***Maschinenparameter auslesen 13 ;********************************** 14 FN 18: SYSREAD Q1 = ID1000 NR730 15 ;********************************** 16 ;***Parameter ruecksetzen 17 ;********************************** 18 Q10 = - 1 ;Zaehler ruecksetzen 19 Q100 = 1 ;Zahl fuer Tabelleneintrag 20 ;********************************** 21 ;Tabelle kopieren 22 FUNCTION FILECOPY "8150-1-de.tab" TO "BIT.tab" 23 FN 26: TABOPEN BIT.tab 24 LBL 1 25 Q10 = Q10 + 1 ;Zaehler takten 26 Q1 = Q1 / 2 ;DEZ-Wert teilen 27 Q2 = FRAC Q1 ;Nachkommastellen separieren 28 Q1 = INT Q1 ;Vorkommastellen separieren 29 Q3 = Q1 + Q2 30 ;Kontrolle ob weiter Berechnungen noetig sind 31 FN 9: IF +Q3 EQU +0 GOTO LBL "END" 32 FN 9: IF +Q2 EQU +0 GOTO LBL 1 33 ;Q10 in String QS1 wandeln 34 QS1 = TOCHAR( DAT+Q10 ) 35 ;Wert aus Q100 (1) in Tabelle schreiben 36 FN 27: TABWRITE 0 / QS1 = Q100 37 ;Ruecksprung 38 FN 9: IF +0 EQU +0 GOTO LBL 1 39 LBL "END" 40 END PGM 8150-de MM