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



Teraz jest 21 gru 2024, o 12:37


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 
Autor Wiadomość
PostNapisane: 11 lut 2021, o 17:26 
Offline
Nowy

Dołączył(a): 26 paź 2018
Posty: 23
Pomógł: 0

Mam problem z napisaniem poprawnego kodu, który sprawdzał by np. co dwie sekundy poprzednią pozycje ramienia, którym steruje silnik i jeśli pomiar nie zmienił sie w tym czasie od poprzedniego, a nie osiągnął zadanej wartości to silnik powinien się wyłączyć. Oczywiście układ posiada czujnik pozycji.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 lut 2021, o 18:38 
Offline
Użytkownik

Dołączył(a): 29 paź 2017
Posty: 230
Pomógł: 26

W 28 linijce kodu dokonałbym pewnych drobnych zmian.
Może to by pomogło.
Chyba że się mylę.

_________________
Jestem na GG 31324
Nowy soft, nowa nadzieja.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 lut 2021, o 19:14 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2013
Posty: 491
Lokalizacja: Siedlce
Pomógł: 9

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


tak tak to musi być to xD :lol:

_________________
Ucz się ucz ,bo po to tutaj jesteś...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 lut 2021, o 19:22 
Offline
Nowy

Dołączył(a): 26 paź 2018
Posty: 23
Pomógł: 0

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


Ale przyznasz, że te kilka stron kodu jednak nie wiele wnosi i nie bez powodu go wcześniej nie podałem, a jeśli wszystko rozkminiłeś to rzeczywiście szacun ;)
Moje zagadnienie jest raczej uniwersalne typu :
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Oczywiście to powyżej się nie sprawdza, ale chodzi mi o naprowadzenie jak zrobić warunki aby uzyskać pożądany efekt ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 11 lut 2021, o 20:24 
Offline
Użytkownik

Dołączył(a): 29 paź 2017
Posty: 230
Pomógł: 26

Tak bym zapisał warunki które zawarłeś w pierwszym poście

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


Można by jeszcze zrobić flagę które mówi o tym ze warunki są spełnione i wywołujemy alarm

_________________
Jestem na GG 31324
Nowy soft, nowa nadzieja.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 lut 2021, o 07:12 
Offline
Nowy

Dołączył(a): 26 paź 2018
Posty: 23
Pomógł: 0

Działa, ale nie do końca poprawnie. Rozjeżdżają się czasy



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 lut 2021, o 07:42 
Offline
Użytkownik

Dołączył(a): 29 paź 2017
Posty: 230
Pomógł: 26

Tak patrzę na Twoją obsługę timerów
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Czy nie prościej było by napisać ją tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

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

Nic się nie powinno rozjeżdżać.

_________________
Jestem na GG 31324
Nowy soft, nowa nadzieja.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 lut 2021, o 17:30 
Offline
Nowy

Dołączył(a): 26 paź 2018
Posty: 23
Pomógł: 0

Tak myślałem, że trzeba odliczać. Ciekawy sposób, a przyznam że nie spotkałem się jeszcze z takim ;0.
Owszem fajnie to działa, choć z jednym mankamentem. Pierwsze zwłoka przy zatrzymaniu się silnika jest dwa razy dłuższa od kolejnych. Być może wynika z warunku (stan_poprzedni_ramienia == stan_obecny) i odlicza dwa razy, potem już idzie dobrze.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 lut 2021, o 18:19 
Offline
Użytkownik

Dołączył(a): 29 paź 2017
Posty: 230
Pomógł: 26

Co do timerów to tu masz link to tego jak to robi Mirek,
W porównaniu do tego co Ci napisałem, Dodał zmienną pomocniczą
ale silnik taki sam:
http://mirekk36.blogspot.com/2012/10/obsuga-klawiszy-zwoka-czasowa-cd3.html

Co do tej pierwszej zwłoki
Sprawdź czy nie należało by inicjować timera przy starcie programu jakąś wartością początkową
Tak bez spoglądania na kod

_________________
Jestem na GG 31324
Nowy soft, nowa nadzieja.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 12 lut 2021, o 22:24 
Offline
Nowy

Dołączył(a): 26 paź 2018
Posty: 23
Pomógł: 0

Co innego to powodowało nie związanego z tym kodem. Dzięki za pomoc ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lut 2021, o 08:21 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2590
Pomógł: 128

To opisz co to było.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 sty 2022, o 16:26 
Offline
Nowy

Dołączył(a): 26 paź 2018
Posty: 23
Pomógł: 0

A czy ktoś ma pomysł jak zabezpieczyć silnik przed nagłymi zmianami kierunku? Czyli wprowadzić jakieś stałe opóźnienie przed zmianą i najlepiej nieblokująco. U mnie zmiana obrotów nie będzie wynikała z przycisków, a z funkcji programu.

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



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: 12 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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