$regfile = "m8def.dat" $crystal = 1000000 $baud = 4800 $hwstack = 100 $swstack = 100 $framesize = 100 Wait 2 Print "VacControl 1.0" Print "19.08.2014 A.Hermann" Print "Mastersystem " 'Lichtschranke1 Tog Alias Portb.0 Config Tog = Output 'Interrupt RS232 Empfang Declare Sub Serial0charmatch Config Serialin = Buffered , Size = 20 , Bytematch = 13 Enable Interrupts Dim My_string As String * 1 Dim Slave As Integer Dim S_1 As String * 10 Dim S_2 As String * 10 Dim S_3 As String * 10 Dim S_4 As String * 10 Dim S_5 As String * 10 Dim S_6 As String * 10 Dim Sensor As Integer Slave = 132 'Ausgangspins Deklarieren Config Portd.6 = Output Config Portd.5 = Output Licht Alias Portd.6 Test Alias Portd.5 'Hauptprogramm Main: Do Slave = 132 Wait 1 Toggle Licht Print Slave Wait 3 Slave = Slave + 2 Print Slave Wait 3 Slave = Slave + 2 Print Slave Wait 3 Slave = Slave + 2 Print Slave Wait 3 Slave = Slave + 2 Print Slave Wait 3 Wait 3 Slave = Slave + 2 Print Slave Wait 3 Wait 1 Toggle Licht Loop End Dim I As Byte Sub Serial0charmatch() Toggle Test Dim Incomming_data As String * 10 'lesen Input Incomming_data Noecho Gosub Daten Toggle Test End Sub Daten: Dim Druck As Single Select Case Slave Case 132 Sensor = 1 S_1 = Incomming_data Druck = Val(s_1) Print " S1 " ; Druck Gosub Fehlerauswertung Case 134 Sensor = 2 S_2 = Incomming_data Druck = Val(s_2) Print " S2 " ; Druck Gosub Fehlerauswertung Case 136 Sensor = 3 S_3 = Incomming_data Druck = Val(s_3) Print " S3 " ; Druck Gosub Fehlerauswertung Case 138 Sensor = 4 S_4 = Incomming_data Druck = Val(s_4) Print " S4 " ; Druck Gosub Fehlerauswertung Case 140 Sensor = 5 S_5 = Incomming_data Druck = Val(s_5) Print " S5 " ; Druck Gosub Fehlerauswertung Case 142 Sensor = 6 S_6 = Incomming_data Druck = Val(s_6) Print " S6 " ; Druck Gosub Fehlerauswertung Case Else !NOP End Select Return Fehlerauswertung: Select Case Sensor Case 1 If Druck < 0.36 Then Print "Sensor 1 Druck zu niedrig" Else End If Case 2 If Druck < 0.33 Then Print "Sensor 2 Druck zu niedrig" Else End If Case 3 If Druck < 0.30 Then Print "Sensor 3 Druck zu niedrig" Else End If Case 4 If Druck < 0.27 Then Print "Sensor 4 Druck zu niedrig" Else End If Case 5 If Druck < 0.27 Then Print "Sensor 5 Druck zu niedrig" Else End If Case 6 If Druck < 0.27 Then Print "Sensor 6 Druck zu niedrig" Else End If Case Else !Nop End Select Return