- Labornetzteil AliExpress         
Ergebnis 1 bis 7 von 7

Thema: Wert einer Variable eingrenzen?

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.07.2006
    Alter
    94
    Beiträge
    627

    Wert einer Variable eingrenzen?

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo
    funktioniert das?

    If Pwm_2 < 0 Then
    Pwm = 0
    Else
    Pwm = Pwm_2
    End If
    If Pwm_2 > 255 Then
    Pwm = 255
    Else
    Pwm = PWM_2
    End If

    Tobias

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.07.2006
    Alter
    94
    Beiträge
    627
    Also etwas genauer:

    - wenn PWM_2 < 0 dann PWM=0
    - wenn PWM_2 > 255 dann PWM=255
    - sonst immer PWM = PWM_2

    noch etwas: ich möchte 0 und 255 (und ale Werte dazwischen) umkehren. Gibt es dafür einen Befeht oder ähnliches?!

    Tobias

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.07.2006
    Alter
    94
    Beiträge
    627
    Na gut, habe es nun so gelöst:
    If Pwm_2 < 0 Then
    Pwm = 0
    End If
    If Pwm_2 > 255 Then
    Pwm = 255
    End If
    If Pwm_2 => 0 Or =< 255 Then
    Pwm = PWM_2
    End If

    Aber das Problem mit dem Wert drehen besteht noch...

    Tobias

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Recht übersichtlich geht das auch mit select:
    Code:
    select case pwm_2
    case is < 2:     pwm = 0
    case is > 255:      pwm = 255
    case else:     pwm = pwm_2
    end select
    Problem ist, du brauchst 3 Ausgänge
    ( pwm =0 / pwm = pwm_2 / pwm = 255)

    und "IF... ELSE...." hat offenbar nur zwei
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.07.2006
    Alter
    94
    Beiträge
    627
    so Problem gelöst

    erstmal -255 und dann den Absolutwert nehmen:

    PWM_2 = 0 'Als Beispiel
    Pwm_3 = Pwm_2 - 255 'PWM_3 = -255
    Pwm_4 = Abs(pwm_3) 'Absolutwert = 255

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    06.07.2006
    Alter
    94
    Beiträge
    627
    @PicNick
    Ja du hast Recht, leider nur 2 "Ausgänge"
    Die Case Methode gefällt mir sehr gut

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.113
    Umdrehen geht einfacher mit
    PWM_2 = 255 - PWM_2
    Wie ist deine PWM_2 eigentlich dimensioniert? Wenn es eine Byte Variable ist, werden eh keine Werte <0 oder >255 auftreten.

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad