-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 17

Thema: Brauche schnelle hilfe mit IF-THEN-ELSE Anweisung

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.07.2004
    Ort
    Münchener Osten
    Alter
    44
    Beiträge
    297

    Brauche schnelle hilfe mit IF-THEN-ELSE Anweisung

    Anzeige

    Ein Hallo an Euch **,

    ich stehe gerade auf dem "Schlauch"!!!

    Ich Suche für eine Inputabfrage mit einer IF-THEN Anweisung das Symbol
    für das "Ungleich"

    = - ist
    < - kleiner
    > - größer
    ---
    <> - ungleich ??? - beim compilieren bekomme ich einen Fehler.

    wie schreibt man "ungleich" richtig???


    Danke Gruß
    Manuel

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    IF seppel <> karl then unterschiedlich


    EDIT: zeig mal den Fehler Vielleicht hast du verschieden Datentypen, die man nicht vergleichen kann ?
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    28
    Beiträge
    1.461
    Hi!

    Ja, <> ist ungleich.
    Poste mal bitte deinen Code, könnte ein Synthaxproblem sein.

    VLG Tobi
    http://www.tobias-schlegel.de
    "An AVR can solve (almost) every problem" - ts

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.07.2004
    Ort
    Münchener Osten
    Alter
    44
    Beiträge
    297
    Buuuh, habe den Fehler gefunden.

    War tatzächlich ein Syntaxprob.

    Habe vor lauter Code eine if vor der anderen über kreuz geschlossen.

    danke an euch

    gruß

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.07.2004
    Ort
    Münchener Osten
    Alter
    44
    Beiträge
    297
    Upppsss,

    noch ne Frage.

    Ich messe mit ADC0 eine Spannung pro programmdurchgang einmal.

    jetzt Suche ich einen Befehl oder Anweisung um festzustellen ob die Differenz aus der "Alten"-Messung zur "Neuen"-Messung größer als 5% ist.

    Ich speichere das Ergebnis der "Alten"-Messung in einer Var zwischen und möchte diese messung mit der Neuen vergleichen.


    Gruß Manuel

  6. #6
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    klassisch wäre: prozent+/- = (Neu * 100 / alt ) - 100
    wenn du aber in Word arbeitest, ist 100 * messwert zu viel (max 65535)
    und wenn du eh' nur in 5% schritten werkst, kannst du auch kürzen und
    diff = (Neu * 20 / alt ) - 20
    dabei wäre "diff" die Differenz in 5%-Schritten plus/minus
    dann mußt du aber mit integer arbeiten
    willst du das auch nicht und bei word bleiben:
    diff = Neu * 20 / alt
    dabei wäre
    "diff = 20 " Änderung kleiner als +/- 5%
    "diff = 21 " Änderung +5%
    "diff = 19 " Änderung -5%
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.07.2004
    Ort
    Münchener Osten
    Alter
    44
    Beiträge
    297
    @PicNick

    hmmm,

    moment das heist.

    Code:
    ' *** CPU Einstellungen ***
    $regfile = "At26def.dat"
    $crystal = 1000000
    ' *** CPU Einstellungen ***
    
    ' *** AD-Wandler ***
    Config Adc = Single , Prescaler = Auto , Reference = Internal
    Start Adc
    ' *** AS-Wandler ***
    
    Dim Spg_lade1 As Word
    Dim Spg_lade2 As Word
    Dim Merker As Integer
    
    Spg_lade1 = Getadc(0)
    Spg_lade2 = Spg_lade1
    
    Do
    
       Spg_lade1 = Getadc(0)
    
       Merker = Spg_lade1 * 20
       Merker = Merker / Spg_lade2
       Merker = Merker - 20
    
       If Merker < 6 Then
          Gosub Ok
       Else
          Spg_lade2 = Spg_lade1
       End If
    
    
    Loop
    
    End
    
    Ok:
    
    Return

    kannst mal ankuken???

    gruß manuel

  8. #8
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Vorsicht, da mußt du umdenken:
    If Merker < 6 Then

    ' schon zu viel !!!

    merker = 1 sind ja schon +5 Prozent

    If Merker = 0 Then ' differenz ist kleiner als +/-5 Prozent
    Gosub Ok
    Else
    Am besten denk ' dir Werte aus und rechne mit Excel oder Taschenrechner nach !
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  9. #9
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.07.2004
    Ort
    Münchener Osten
    Alter
    44
    Beiträge
    297
    hi,

    mir ist der genaue wert eigendlich "wurst".

    mir gehts nur darum, wenn die abweichung grösser als 5% ist dann soll der AD so lange messen bis die Spannung wieder stimmt.

    liegt die abweichung innerhalb der 5% soll das unterprogramm "OK" ausgeführt werden.

    Stimmt das dann so???
    Code:
       Merker = Spg_lade1 * 100
       Merker = Merker / Spg_lade2
       Merker = Merker - 100
    und langt "integer" für den merker?


    gruß Manuel

  10. #10
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.07.2004
    Ort
    Münchener Osten
    Alter
    44
    Beiträge
    297
    @PicNick

    kannst dir bitte mal im oberen listing die konfiguration des ADs ansehen.

    ich wollte eigendlich nicht im "single"-mode betreiben sondern im "free"-mode.

    das klappt aber nicht.

    Muß ich sonst noch etwas ändern ausser "single" durch "free" ersetzen???


    Gruß manuel

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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