- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 3 von 3

Thema: error 7, 123, 248 wo ist das Problem?

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    23.08.2007
    Alter
    48
    Beiträge
    27

    error 7, 123, 248 wo ist das Problem?

    Anzeige

    Powerstation Test
    Hallo zusammen

    Ich blick einfach nicht hinter den Fehler und hoffe jemand kann mir helfen.

    Code:
    Declare Sub Fahren(pwm_l As Integer , Pwm_r As Integer , Ml_1 As Bit , Ml_2 As Bit , Mr_1 As Bit , Mr_2 As Bit)
    
    Dim Entfernung_r As Integer
    Dim Entfernung_l As Integer
    
    If Entfernung_l < 100 Then
          If Entfernung_r < 100 Then
             If Entfernung_l < Entfernung_r Then
                Call Fahren(250 , 500 , 0 , 1 , 0 , 1)
             Else
                Call Fahren(500 , 250 , 0 , 1 , 0 , 1)
             End If
          Else
             Call Fahren(1000 , 500 , 1 , 0 , 1 , 0)
          End If
       Else
          If Entfernung_r < 100 Then
             Call Fahren(500 , 1000 , 1 , 0 , 1 , 0)
          Else
             Call Fahren(1000 , 1000 , 1 , 0 , 1 , 0)
          End If
       End If
    
    Sub Fahren(pwm_l As Integer , Pwm_r As Integer , Ml_1 As Bit , Ml_2 As Bit , Mr_1 As Bit , Mr_2 As Bit)
       Portc.6 = Ml_1
       Portc.7 = Ml_2
    
       Portb.0 = Mr_1
       Portb.1 = Mr_2
    
       Pwm1a = Pwm_l
       Pwm1b = Pwm_r
    End Sub
    Und hier die Fehlermeldungen die ich nicht versteh:
    Error : 248 Line : 158 BYVAL should be used in declaration [[ 112]] , in File : C:\...
    Error : 7 Line : 158 IF THEN expected [ 158] , in File : C:\...
    Error : 123 Line : 158 END IF expected , in File : C:\...


    Vielen Dank für eure Hilfe
    Grüsse

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    53
    Beiträge
    765
    Der erste Fehler kommt, weil er byval vermisst

    Code:
    Declare Sub Fahren(byval pwm_l As Integer ,byval Pwm_r As Integer , byval Ml_1 As Bit ,byval Ml_2 As Bit ,byval Mr_1 As Bit ,byval Mr_2 As Bit)
    2. und 3. Fehler: KA Sieht eigentlich iO aus...

    So kompiliert er es fehlerfrei:

    Code:
    Declare Sub Fahren()
    
    Dim Entfernung_r As Integer
    Dim Entfernung_l As Integer
    Dim Pwm_l As Integer
    Dim Pwm_r As Integer
    Dim Mrl As Byte
    
    Ml_1 Alias Mrl.0
    Ml_2 Alias Mrl.1
    Mr_1 Alias Mrl.3
    Mr_2 Alias Mrl.4
    
    
    If Entfernung_l < 100 Then
       If Entfernung_r < 100 Then
          If Entfernung_l < Entfernung_r Then
             Pwm_l = 250 : Pwm_r = 500 : Ml_1 = 1 : Ml_2 = 0 : Mr_1 = 1 : Mr_2 = 0
             Call Fahren()
          Else
             Pwm_l = 500 : Pwm_r = 250 : Ml_1 = 0 : Ml_2 = 1 : Mr_1 = 0 : Mr_2 = 1
             Call Fahren()
          End If
       Else
          Pwm_l = 1000 : Pwm_r = 500 : Ml_1 = 1 : Ml_2 = 0 : Mr_1 = 1 : Mr_2 = 0
          Call Fahren()
       End If
    Else
       If Entfernung_r < 100 Then
          Pwm_l = 500 : Pwm_r = 1000 : Ml_1 = 1 : Ml_2 = 0 : Mr_1 = 1 : Mr_2 = 0
          Call Fahren()
       Else
          Pwm_l = 1000 : Pwm_r = 1000 : Ml_1 = 1 : Ml_2 = 0 : Mr_1 = 1 : Mr_2 = 0
          Call Fahren()
       End If
    End If
    
    Sub Fahren()
       Portc.6 = Ml_1
       Portc.7 = Ml_2
    
       Portb.0 = Mr_1
       Portb.1 = Mr_2
    
       Pwm1a = Pwm_l
       Pwm1b = Pwm_r
    End Sub
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  3. #3
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Ausweichen is feig

    Mach mal das mit den "Byval", vielleicht hat ihn das ins Schleudern gebracht.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress