Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 4 maja 2025, o 19:08


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 30 ] 
    Autor Wiadomość
    PostNapisane: 8 mar 2014, o 19:11 
    Offline
    Użytkownik

    Dołączył(a): 04 lis 2012
    Posty: 108
    Pomógł: 0

    Witam.
    Napisałem program w bascomie i mam mały problem otóż po wciśnięciu przycisku s1 jak wcisnę przycisk to spełnia się kilka warunków a chcę aby tylko jeden. Na początek wstawiałem waitms aby tak się nie działo lecz działa to też w drugą stronę że przez ten czas procek jest "nieczynny". Proszę o pomoc w rozwiązaniu mojego problemu.
    Pozdrawiam.
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 mar 2014, o 20:37 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 mar 2014
    Posty: 85
    Lokalizacja: Greystones-Irlandia
    Pomógł: 1

    A może napisz co ma się wykonywać po wciśnięciu S1 a co nie.

    _________________
    Faber Est Quisque Suae Fortunae



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 mar 2014, o 20:45 
    Offline
    Użytkownik

    Dołączył(a): 29 lis 2012
    Posty: 1074
    Lokalizacja: Sochaczew
    Pomógł: 21

    W życiu nie widzialem tak nieczytelnego programu...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 mar 2014, o 19:39 
    Offline
    Użytkownik

    Dołączył(a): 04 lis 2012
    Posty: 108
    Pomógł: 0

    Witam.
    Kod jest napisany chaotycznie dlatego że zależało mi na czasie.
    Chodzi mi o ten fragment otóż jak kliknę raz przycisk s1 chcę aby wykonał się pierwszy if a jak drugi raz to ma się wykonać drugi if, problem polega na tym że muszę szybko klikać aby nie przeskoczyło odrazu do drugiego if.
    Składnia: [ Pobierz ] [ Ukryj ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 mar 2014, o 21:16 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 08 gru 2013
    Posty: 366
    Lokalizacja: Wałbrzych
    Pomógł: 7

    A nie możesz zrobic tego miedzy podprogramami ? Pamietaj ze jesli nie chcesz by odrazu przeskakiwal miedzy opcjami pod jednym przyciskiem to musisz wstawic oczekiwanie na stan logiczy spoczynku przyciski.
    ponizej mały przykład.


    do
    if s1=0 then goto wcisniety 1
    waitms 50
    loop


    wcisniety1:
    do
    if s1=1 then exitdo
    loop
    do
    if s1=0 then goto wcisniety2
    loop


    wcisniety2:
    do
    if s1=1 then exitdo
    loop
    do
    if s1=o then goto ....

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 mar 2014, o 09:03 
    Offline
    Użytkownik

    Dołączył(a): 29 lis 2012
    Posty: 1074
    Lokalizacja: Sochaczew
    Pomógł: 21

    Opisz trochę szerzej kłopot. Mam pomysł na napisanie tego i użycie timera, chyba że już go używasz to kłopot rozwiązała się sam.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 mar 2014, o 14:41 
    Offline
    Użytkownik

    Dołączył(a): 04 lis 2012
    Posty: 108
    Pomógł: 0

    Witam.
    Piszę sterownik elektrycznych drzwi do garażu. Mam w przekładni dwa ekondery które informują układ czy brama jest otwarta lub zamknięta. Dodatkowo mam czujniki podczerwieni (jeżeli coś jest w torze zamykania bramy dają stan 0). Sterowana będzie wyłącznikiem (dzwonkowym) Po naciśnięciu przycisku po raz pierwszy brama odpowiednio zamyka się lub otwiera, w tym czasie jak kliknę przycisk to brama się zatrzyma a jak kliknę po raz kolejny brama zacznie pracować w odwrotnym kierunku.
    Pozdrawiam



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 mar 2014, o 18:07 
    Offline
    Użytkownik

    Dołączył(a): 29 lis 2012
    Posty: 1074
    Lokalizacja: Sochaczew
    Pomógł: 21

    Ło matko to po co tak kombinujesz ?


    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 mar 2014, o 18:45 
    Offline
    Użytkownik

    Dołączył(a): 04 lis 2012
    Posty: 108
    Pomógł: 0

    Witam.
    Bardzo dziękuję za napisanie programu ;)
    Obliczyłem że jak będę otwierał bramę 10 razy dziennie to eeprom w miarę szybko "skończy się" Macie koledzy pomysł jak napisać funkcję aby za każdym razem zapisywało do innej komórki?
    Zmodyfikowałem program, dobrze napisałem funkcję zapisu i odczytu eeprom? :
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 mar 2014, o 19:16 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 mar 2014
    Posty: 334
    Lokalizacja: Rybnik
    Pomógł: 55

    Po pierwsze w takiej postaci jak to jest eeprom wykończysz błyskawicznie bo:
    Składnia: [ Pobierz ] [ Ukryj ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Musisz nauczyć się pisać instrukcje warunkowe. A tą instrukcją jest w tym wypadku tylko pierwsza linia, druga jest wykonywana cały czas.
    Poprawnie było by:
    Składnia: [ Pobierz ] [ Ukryj ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Jednakże nie wyobrażam sobie, jak można użyć eepromu do zapisu takiego czegoś? EEpromu z reguły nie używa się do takich rzeczy. Tu wystarczy mechaniczny czujnik (krańcówka) aby sprawdzić czy brama jest zamknięta czy otwarta!

    _________________
    Amatorska stacje meteorologiczna



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 mar 2014, o 19:44 
    Offline
    Użytkownik

    Dołączył(a): 04 lis 2012
    Posty: 108
    Pomógł: 0

    Problem jest wtedy kiedy brama straci zasilanie w połowie otwarta (chyba żeby ustawić na początku w programie żeby po raz pierwszy jak zastanie uruchomiona próbowała się otworzyć wtedy można nie używać eeprom. Chcę jeszcze zrobić aby zabezpieczenie wjazdu działało tylko wtedy kiedy brama jest opuszczana i jak coś wejdzie w jej tor to automatycznie podniesie się w górę.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 mar 2014, o 20:06 
    Offline
    Użytkownik

    Dołączył(a): 29 lis 2012
    Posty: 1074
    Lokalizacja: Sochaczew
    Pomógł: 21

    W takim przypadku masz dwie opcje:
    1. Albo wykonasz to na odczycie ADC a ja podam Ci pełny schemat sterowania żywcem ściągnięty z automatu D600/700/1000 bo mam cały schemat takiego automatu z racji że jestem serwisantem automatyki do bram wjazdowych i garażowych.
    2. Albo wpiszesz warunek:
    - jeśli brama zamyka się to sprawdzaj stan wejścia fotokomórki
    - jeśli zostanie naruszone to zacznij otwierać bramę.

    Metoda 1 - pociąga za sobą sterowanie za pomocą PWM, dołożenie kilku elementów a także konieczność nauki siły podczas trybu pracy by automat normalnie wykrywanego obciążenia nie brał za przeciążenie, ale za to daje możliwość ustawienia spowolnień i pracy bramy z dowolną prędkością od minimalnej do maksymalnej prędkości.
    Metoda 2 - nie wprowadza żadnych dodatkowych elementów poza tymi które już zdaje się masz, ale nie zrealizujesz spowolnień.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 mar 2014, o 20:09 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 mar 2014
    Posty: 334
    Lokalizacja: Rybnik
    Pomógł: 55

    Straci zasilanie w połowie otwarta, lub w połowie zamknięta :P
    A tak na poważnie ja bym to zrobił tak, że na początku programu przed pętlą sprawdzam, czy brama nie jest już otwarta lub zamknięta (czujniki krańcowe) a jeśli nie ma sygnału na żadnym czujniku to zamykam bramę. W prawdzie szansa, że prądu zabraknie akurat przy ruchu bramy jest mała, ale wyobraźmy sobie taką sytuacje. Zaczynamy zamykać, pod końcem zabraknie prądu a my pojedziemy, po chwili włączą prąd i brama się otworzy! Moim zdaniem taka sytuacja nie powinna mieć miejsca, więc jeśli jest w położeniu nieustalonym to ją zamykamy.

    henryxxl napisał(a):
    Chcę jeszcze zrobić aby zabezpieczenie wjazdu działało tylko wtedy kiedy brama jest opuszczana i jak coś wejdzie w jej tor to automatycznie podniesie się w górę.

    W czasie opuszczania bramy musimy sprawdzić czy nie została ona już całkowicie zamknięta. Tak więc w tym czasie wchodzimy w pętle w której sprawdzamy czy nie została zamknięta i jednocześnie sprawdzamy czy nie ma jakiejś przeszkody, jeśli jest to podejmujemy odpowiednią akcję.
    Oczywiście zamiast pętli możemy użyć timera i sprawdzać to w przerwaniu.

    _________________
    Amatorska stacje meteorologiczna



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 mar 2014, o 20:21 
    Offline
    Użytkownik

    Dołączył(a): 29 lis 2012
    Posty: 1074
    Lokalizacja: Sochaczew
    Pomógł: 21

    Aby sprawdzać foto i reagować tylko podczas zamykania w Twoim przypadku będzie to:

    Składnia: [ Pobierz ] [ Ukryj ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Wtedy wpisujesz warunek:

    Składnia: [ Pobierz ] [ Ukryj ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    W normalnym stanie kiedy fotokomórki się widzą na wyjściu powinien panować stan niski.

    Na marginesie powinieneś pisać bardziej przyjazne nazwy. Ja zamiast C napisałbym fotokomorka.

    Wtedy warunek wyglądałby tak:

    Składnia: [ Pobierz ] [ Ukryj ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 mar 2014, o 21:14 
    Offline
    Użytkownik

    Dołączył(a): 04 lis 2012
    Posty: 108
    Pomógł: 0

    Bardzo dziękuję kolegom za pomoc w moim problemie. Kolego matrix jestem zainteresowany schematem, nie będę akurat wprowadzał go teraz do bramy lecz jestem ciekawy jak to jest zrobione oryginalnie. W moim oryginalnym sterowniku do bramy nie było regulacji prędkości była tylko zamiana obrotów na przekaźnikach. Kolego anonimowy masz rację że domykanie jest lepsze niż otwieranie.



    Ostatnio edytowano 18 mar 2014, o 21:33 przez henryxxl, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 mar 2014, o 21:20 
    Offline
    Użytkownik

    Dołączył(a): 29 lis 2012
    Posty: 1074
    Lokalizacja: Sochaczew
    Pomógł: 21

    Mówisz i masz

    http://forum.elportal.pl/download.php?id=6231



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 mar 2014, o 21:35 
    Offline
    Użytkownik

    Dołączył(a): 04 lis 2012
    Posty: 108
    Pomógł: 0

    Jeszcze mam jedno pytanie otóż fotki mają wychodzące dwa kable w nadawczej to zapewne + i - 5v a odbiorcza działa tak jak tranzystor?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 mar 2014, o 21:48 
    Offline
    Użytkownik

    Dołączył(a): 29 lis 2012
    Posty: 1074
    Lokalizacja: Sochaczew
    Pomógł: 21

    henryxxl napisał(a):
    Jeszcze mam jedno pytanie otóż fotki mają wychodzące dwa kable w nadawczej to zapewne + i - 5v a odbiorcza działa tak jak tranzystor?


    Jakie masz fotokomórki ?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 mar 2014, o 21:57 
    Offline
    Użytkownik

    Dołączył(a): 04 lis 2012
    Posty: 108
    Pomógł: 0

    Nie mam zdjęć jak i dostępu do nich teraz. Jutro postaram się wstawić zdjęcia.
    Oto zdjęcia:
    ObrazekObrazek
    ObrazekObrazekObrazek



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 mar 2014, o 21:59 
    Offline
    Użytkownik

    Dołączył(a): 29 lis 2012
    Posty: 1074
    Lokalizacja: Sochaczew
    Pomógł: 21

    Ło mamusiu, a co to za fotokomórki ? Takich nie znam. Mi znajome są takie na przykład:

    Obrazek

    To są fotki zasilane napięciem 24V i na wyjściu nie mamy żadnego stanu bo jest przekaźnik, który jest normalnie zwarty gdy fotki się widzą. Jeśli fotki zasłonisz to przekaźnik puszcza.

    To są jedne z wielu fotek i notabene są dość drogie.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 mar 2014, o 22:24 
    Offline
    Użytkownik

    Dołączył(a): 04 lis 2012
    Posty: 108
    Pomógł: 0

    W takim razie muszę wykonać fotki sam. Posiada kolega schematy? Lub zakupić taką jak na allegro 4058036969



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 mar 2014, o 22:38 
    Offline
    Użytkownik

    Dołączył(a): 29 lis 2012
    Posty: 1074
    Lokalizacja: Sochaczew
    Pomógł: 21

    henryxxl napisał(a):
    W takim razie muszę wykonać fotki sam. Posiada kolega schematy? Lub zakupić taką jak na allegro 4058036969


    Korzystam z telefonu więc aukcji nie zobaczę. Znajdź w avt tor podczerwieni. Będzie tanio.

    Wysłane z mojego LG-P760 przy użyciu Tapatalka



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 mar 2014, o 19:58 
    Offline
    Użytkownik

    Dołączył(a): 04 lis 2012
    Posty: 108
    Pomógł: 0

    Właśnie uruchomiłem układ i wszystko jest dobrze oprócz tego że krańcówki są przez chwilkę złączone po uruchomieniu silnika przez co musiałem dać waitms po każdym uruchomieniu. Działa lecz chciałbym to zarobić inaczej niż na waitms, mają koledzy propozycje ?
    Kolego Matrix, mam jeszcze inne fotokomórki. Pytanie jak je podłączyć?
    ObrazekObrazekObrazek

    Składnia: [ Pobierz ] [ Ukryj ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 mar 2014, o 20:48 
    Offline
    Użytkownik

    Dołączył(a): 29 lis 2012
    Posty: 1074
    Lokalizacja: Sochaczew
    Pomógł: 21

    henryxxl napisał(a):
    Właśnie uruchomiłem układ i wszystko jest dobrze oprócz tego że krańcówki są przez chwilkę złączone po uruchomieniu silnika przez co musiałem dać waitms po każdym uruchomieniu.

    A co mają złączone krańcówki zamykania do otwierania i na odwrót czyli złączone otwierania do zamykania ? Przecież nie są brane pod uwagę. To właśnie na podstawie złączonych krańcówek odczytujesz w którą stronę masz poruszyć bramą.


    henryxxl napisał(a):
    Kolego Matrix, mam jeszcze inne fotokomórki. Pytanie jak je podłączyć?

    Trochę wyglądają jak Camoskie (Came) DIR'y.
    Nadajnik zasilasz napięciem zmiennym lub stałym. W przypadku napięcia stałego ważna polaryzacja bo masz diodę na wejściu. Nie weim tylko jakie napięcie. Może być 12V bo trochę przypominają marketówki.

    W odbiorniku masz 5 śrub. Dwie to zasilanie a trzy to złącza COM, NO i NC.
    Odbiornik zasilasz tak jak nadajnik. Tylko teraz które piny ? Weź miernik i sprawdź które piny są normalnie zwarte. Jeżeli środkowy i któryś od prawej to po prawej masz trzy piny które opisałem jako COM, NO i NC a dwa przeciwległe to zasilanie. Zgaduję że po lewej będzie zasilanie a po prawej złącza przekaźnika.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 mar 2014, o 22:05 
    Offline
    Użytkownik

    Dołączył(a): 04 lis 2012
    Posty: 108
    Pomógł: 0

    Problem polega na tym że jak brama zaczyna pracować czyli np: jechać w górę to nim krańcówka puści to warunek się spełni i zatrzyma bramę, dlatego dałem zwłokę czasową aby brama zdążyła odjechać i krańcówka puściła.
    ObrazekObrazek



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 mar 2014, o 23:41 
    Offline
    Użytkownik

    Dołączył(a): 29 lis 2012
    Posty: 1074
    Lokalizacja: Sochaczew
    Pomógł: 21

    No ale przecież pisałem że krańcówki zamknięcia nie powinny mieć wpływu na działanie przy otwieraniu i odwrotnie. Nie ma znaczenia czy krańcówka otwarcia jest zwarta przy zamykaniu. Ma tylko znaczenie z punktu działania samego programu czyli ma rozpoznać czy brama ma się zamknąć czy otworzyć, nic poza.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 mar 2014, o 10:21 
    Offline
    Użytkownik

    Dołączył(a): 04 lis 2012
    Posty: 108
    Pomógł: 0

    Krańcówki informują układ czy brama jest zamknięta czy otwarta. Jak wykona się funkcja w case to przechodzi do if d=0 i if g=0 i wtedy jeden z warunków się spełnia bo brama jeszcze nie zdążyła się ruszyć. Jak dałem odstęp czasowy to zaczęło działać lecz jest to rozwiązanie słabe z racji że brama może ruszyć się nie raz trochę wolniej i krańcówki nie zdążą puścić.
    Już wiem jak podłączać fotokomórki, wstawiam zdjęcia z opisanymi kostkami, może dla kogoś się przyda. (trzeba powiększyć zdjęcie aby zobaczyć)
    ObrazekObrazek



    Ostatnio edytowano 22 mar 2014, o 14:14 przez henryxxl, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 mar 2014, o 16:34 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 29 sty 2012
    Posty: 777
    Lokalizacja: Karpicko k. Wolsztyna
    Pomógł: 197

    Zamiast tych opóźnień wykorzystaj dodatkowe zmienne, flagi np. brama_zamknieta i brama_otwarta.
    Jeśli brama się zamyka to flaga brama_zamknieta jest wyzerowana. W momencie dojechania do krańcówki sprawdzasz czy ta flaga jest wyzerowana. Jeśli tak to zatrzymujesz bramę i flagę ustawiasz na jeden.
    Teraz jak będziesz chciał otworzyć bramę to warunku zatrzymującego bramę nie będzie ci brało pod uwagę bo on zadziała tylko wtedy jeśli flaga będzie równa zero. Po ruszeniu bramy i zjechaniu z krańcówki flaga zostaje wyzerowana. I od tej chwili warunki wyłączające zamykającą się bramę znów są aktywne.
    Z drugą krańcówką i flagą brama_otwarta tak samo.

    Oczywiście nie musisz robić dokładnie tak jak napisałem. Chciałem tylko pokazać jak to można rozwiązać za pomocą flag.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 mar 2014, o 17:01 
    Offline
    Użytkownik

    Dołączył(a): 04 lis 2012
    Posty: 108
    Pomógł: 0

    Zrobiłem to w taki sposób lecz nie zawsze to działa.
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 mar 2014, o 21:39 
    Offline
    Użytkownik

    Dołączył(a): 29 lis 2012
    Posty: 1074
    Lokalizacja: Sochaczew
    Pomógł: 21

    henryxxl napisał(a):
    Krańcówki informują układ czy brama jest zamknięta czy otwarta. Jak wykona się funkcja w case to przechodzi do if d=0 i if g=0 i wtedy jeden z warunków się spełnia bo brama jeszcze nie zdążyła się ruszyć.


    Źle sprawdzasz tu warunek:

    Składnia: [ Pobierz ] [ Ukryj ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    W ogóle według mnie trochę źle się za to wziąłeś. Można napisać to prościej. Na przykład tak:

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    W ten sposób masz niemalże pełne zabezpieczenia. Do tego dołożył bym wejście STOP jak w prawdziwych automatach. Po pierwsze sprzęgało by ono mechanicznie zasilanie na przekaźniki a po drugie sprawdzany byłby warunek i na jego podstawie nadawane byłoby lub nie zezwolenie na jakiekolwiek działania w programie.

    Można też zmienić trochę program tak by po każdym zaniku i powrocie zasilania brama zamykała się sama, oczywiście pod warunkiem że nie jest zamknięta. I obędzie się bez wpisywania zmiennej do eepromu.

    Tak wygląda działanie softu i nastąpiła mała poprawka kodu:




    Nie patrzeć że płytka nie reaguje mi od razu. Najzwyczajniej już mam stare przyciski i nie zawsze łapią. Po lewej stronie odłączam kabel odpowiedzialny za fotokomórki.

    Program wygląda tak:

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 30 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO