- Akku Tests und Balkonkraftwerk Speicher         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 13 von 13

Thema: Unverständlichkeit bei IF AND ODER programmierung

  1. #11
    Neuer Benutzer Öfters hier
    Registriert seit
    02.04.2008
    Ort
    Ingolstadt
    Beiträge
    10
    Anzeige

    Praxistest und DIY Projekte
    Hallo mal wieder.

    Hab mal wieder Problem:

    Habe das Programm nun laufen, aber das komische:
    Normal werden Schalteingänge als ON erkannt, wenn sie nach Masse gezogen werden.
    Habe über 4011 die Signale extra dafür invertiert. Nun waren die Ausgänge aber nun invertiert. Ich musste also Low als OFF programmieren, damit der ausgang ON ist.
    Das entzieht sich meinem Verständnis..

    ZB: Define Schalter1 Port[1], (nun wird er nach masse als aktiv gezogen=
    If .... = OFF dann Ausgang = ON
    nur so geht das, ansonnsten funzt es alles verkehrtrum....

    WARUM?

  2. #12
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    13.07.2004
    Ort
    bei Stuttgart
    Alter
    42
    Beiträge
    760
    Zitat Zitat von Tangier
    Hallo mal wieder.

    Hab mal wieder Problem:

    Habe das Programm nun laufen, aber das komische:
    Normal werden Schalteingänge als ON erkannt, wenn sie nach Masse gezogen werden.
    Habe über 4011 die Signale extra dafür invertiert. Nun waren die Ausgänge aber nun invertiert. Ich musste also Low als OFF programmieren, damit der ausgang ON ist.
    Das entzieht sich meinem Verständnis..

    ZB: Define Schalter1 Port[1], (nun wird er nach masse als aktiv gezogen=
    If .... = OFF dann Ausgang = ON
    nur so geht das, ansonnsten funzt es alles verkehrtrum....

    WARUM?
    hoi,
    ob die led leuchtet bei 0 oder 1 hängt von der verschaltung der hardware ab. musst sie halt andersrum anschließen, wenn es dich so stört.
    mfg jeffrey

  3. #13
    Neuer Benutzer Öfters hier
    Registriert seit
    02.04.2008
    Ort
    Ingolstadt
    Beiträge
    10
    nein, es heisst ja dass die ausgänge dann high activ sind,
    also wenn eingang auf 0 gezogen wird ist es als "on" gemeint und damit kann ich gleichzeitig einen ausgang als "on" programmieren.
    Also im Buch steht das genau umgekehrt, die leds waren mir da eine hilfe, da ich nicht verstand, warum die schaltung umgekehrt funktioniert hatte.
    habe extra einen 4011 vor die eingänge angeschlossen, da es nach programm die eingänge low-activ sind.
    ######
    mfg

    Code:
    DEFINE     reverse       AS   PORT[8]    'Rückwärtsgang
    DEFINE     high          AS   PORT[2]    'Verteilgetriebe Modus HIGH
    DEFINE     low           AS   PORT[3]    'Verteilgetriebe Modus LOW
    DEFINE     tcase6x6      AS   PORT[4]    'Verteilgetriebe Modus 6x6
    DEFINE     axle_lock     AS   PORT[5]    'Achsensperre aktiv
    DEFINE     Torque_red    AS   PORT[9]    'Ausgang für Drehmom.-Reduzierung
    DEFINE     LED_Torque    AS   PORT[10]   'Ausgang für LED Kontrolle Torquered.
    DEFINE     LED_Speed     AS   PORT[11]   'Geschwindigkeitskontrolle
    DEFINE     LED_High      AS   PORT[12]   'LED bei Modus High aktiv
    DEFINE     LED_Low       AS   PORT[13]   'LED bei Modus LOW aktiv
    DEFINE     LED_6x6       AS   PORT[14]   'LED bei Modus 6x6 aktiv
    DEFINE     LED_Axle      AS   PORT[15]   'LED bei Modus Achsensperre
    DEFINE     LED_Power     AS   PORT[16]   'LED Blinkt bei Versorgung
    DEFINE     Speed         AS   WORD
    DEFINE     LastLEDToggle AS   WORD     'Zeitpunkt, an dem die LED zuletzt umgeschaltet wurde
    CONFIG.INIT
    CONFIG.PUT 00001000b
    CONFIG.OFF
    LED_Torque = OFF
    LED_Speed = OFF
    LED_High = OFF
    LED_Low = OFF
    LED_6x6 = OFF
    LED_Axle = OFF
    LED_Power = OFF
    Torque_red = OFF
    Speed = 0                              'Frequenzmessung 42Hz ca. 15km/h
    LastLEDToggle = Timer
    DO
    Speed = FREQ
      IF (Timer - LastLEDToggle) > 50 THEN
        LastLEDToggle = Timer
        TOG LED_Power
      END IF
      IF (reverse = OFF) OR (low = OFF) OR (tcase6x6 = OFF) OR (axle_lock = OFF) THEN
        Torque_red = ON
        LED_Torque = ON
       ELSE
         IF (high = OFF) AND (Speed <= 42) THEN
           Torque_red = ON
           LED_Torque = ON
            ELSE 
             Torque_red = OFF
             LED_Torque = OFF
         END IF
      END IF

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

Labornetzteil AliExpress