logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Bascom - Wyrażenie "LUB" jak zastosować

IMEX 03 Kwi 2010 11:29 4910 8
REKLAMA
  • #1 7914842
    IMEX
    Poziom 20  
    Posty: 566
    Pomógł: 6
    Ocena: 93
    witam serdecznie

    Może nie jestem aż taki raczkujący w bascomie ale potrzebuje pomocy

     If T(1) >= Czujnik(1) or T(2) >= Czujnik(2) Then


    ten kod przedstawia sprawę tak
    Jeżeli Temperatura w T1 jest wyższa lub równa Cujnik1 (Czujnik(1) = T_solar + T_H_up) i Temperatura T2 jest wyższa lub równa od Czujnik 2 (Czujnik(2) = T_solar - T_H_dn) wykonaj .....

    Natomiast potrzebuje jeszcze do wcześniejszego kodu dodać wyrażenie LUB i ma to wyglądać tak

     If T(1) >= Czujnik(1) LUB T(1) > T_solar or T(2) >= Czujnik(2) Then


    Proszę o pomoc
    Za konkrety oczywiście punkciki ofiaruję
  • REKLAMA
  • #2 7914863
    tadzik85
    Poziom 38  
    Posty: 3404
    Pomógł: 415
    Ocena: 16
    zamiast lub wstaw po prostu OR.

    x or y or z jest poprawnym działaniem.
  • REKLAMA
  • REKLAMA
  • #4 7914884
    tadzik85
    Poziom 38  
    Posty: 3404
    Pomógł: 415
    Ocena: 16
    x or (y and z) lub (x or y) and z zależy co istotniejsze
  • REKLAMA
  • #6 7914911
    tadzik85
    Poziom 38  
    Posty: 3404
    Pomógł: 415
    Ocena: 16
    Algebra boola się kłania.
  • #7 7915151
    IMEX
    Poziom 20  
    Posty: 566
    Pomógł: 6
    Ocena: 93
    robię sterownik solarny z LCD i dopracowuję go
    potrzebuje właśnie takich rozwiązań

    Bascom - Wyrażenie "LUB" jak zastosować

    22 - temperatura na solar
    24 - temperatura na zasobniku
    28 - temperatura zadana - ustawialna
    -2 histereza do wyłączenia pompy - ustawialna
    +4 histereza do załączenia pompy - ustawialna
    T - czy pompa ma być załączana czy nie (T / N)

    tak to wygląda
  • #8 7916829
    tadzik85
    Poziom 38  
    Posty: 3404
    Pomógł: 415
    Ocena: 16
    No i ok, poza tym zauważyłem ze mylisz operacje or i and. or nie oznacza ze oba warunki maja być spełnione przeciwnie wystarczy jeden z nich.
  • #9 7920084
    tzok
    VIP Zasłużony dla elektroda
    Posty: 38913
    Pomógł: 3177
    Ocena: 6562
    OR = LUB = suma logiczna (+)
    AND = I = iloczyn logiczny (*)

    0 OR 0 = 0
    0 OR 1 = 1
    1 OR 0 = 1
    1 OR 1 = 1

    0 AND 0 = 0
    0 AND 1 = 0
    1 AND 0 = 0
    1 AND 1 = 1

    "Twoje" LUB to tak na prawdę XOR (Exclusive OR - "wyłącznie lub"):
    0 XOR 0 = 0
    0 XOR 1 = 1
    1 XOR 0 = 1
    1 XOR 1 = 0

    ...i ostrożnie w BASCOMie ze złożonymi warunkami logicznymi.

Podsumowanie tematu

LABEL_AI_GENERATED
Użytkownik poszukiwał pomocy w zastosowaniu operatora "LUB" w kodzie BASCOM, który miałby umożliwić spełnienie dwóch warunków jednocześnie. Odpowiedzi wskazywały, że zamiast "LUB" należy użyć operatora "OR", który pozwala na spełnienie przynajmniej jednego z warunków. Użytkownik zauważył, że wprowadzenie "OR" wymaga spełnienia trzech warunków, co nie było zgodne z jego zamysłem. Dyskusja dotyczyła również różnicy między operatorami "OR" i "AND", a także złożoności warunków logicznych w BASCOM. Użytkownik podzielił się informacjami o swoim projekcie sterownika solarnego z wyświetlaczem LCD, w którym wykorzystuje różne czujniki temperatury.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA