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



Teraz jest 18 kwi 2024, o 23:42


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 4 mar 2020, o 19:01 
Offline
Nowy

Dołączył(a): 18 kwi 2017
Posty: 6
Pomógł: 0

Witam
zrobiłem sterownik który po wpisaniu pewnego parametru (są to impulsy encodera) i wciśnięciu przycisku uruchamia posuw po czym ucina dany materiał. Sterownik działa prawidłowo. O ile kod może nie jest idealny.
Zaszła potrzeba przerobienia kodu na potrzeby innej maszyny trochę bardziej rozbudowanej. Potrzebuje wprowadzić encoderem ilość cykli jakie maszyna musi jeszcze wykonać.
Układ składa się z 3 encoderów i kilku przekaźników.
Jeden encoder liczy impulsy z maszyny
Drugi ustawia ilość impulsów po których maszyna ma uruchomić inny przekaźnik, naciśnięcie tego drugiego powoduje uruchomienie maszyny.
Trzeci ma za zadanie wprowadzić ilość ile razy ma się cały cykl wykonać. (ilość jestem w stanie odczytać) ale za cholerę nie mogę tego przełożyć na ilość wykonania pętli. W kodzie przykład pętli która ma sie wykonać 5 razy ale nie działa to prawidłowo i ilość wykonań wyświetla dowolnie.

Bardzo proszę o pomoc ewentualnie jakieś nakierunkowanie.

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  
PostNapisane: 4 mar 2020, o 21:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 lut 2014
Posty: 164
Pomógł: 3

Nie wiem czy Ty to pisałeś czy ktoś inny, ale podstawą w kodzie są komentarze.
Człowiek potrafi po kilku miesiącach zapomnieć we własnym kodzie co dana linia miała za zadanie robić.
Chciałbym pomóc, ale bez opisanego kodu jest to kwestia domysłów i straty czasu.

Ogarnij komentarze i może da się coś tym zrobić.

_________________
::::::: C ::::::::::
:::::: C++ :::::::::



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 mar 2020, o 07:48 
Offline
Nowy

Dołączył(a): 18 kwi 2017
Posty: 6
Pomógł: 0

Nie wiem dlaczego nie mogę edytować pierwszego postu

Postarałem się opisać kod w miarę jasno. rzeczy oczywiste pozostawiłem bez opisu

Bardzo dziękuję za zainteresowanie @Lex_

kod:
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  
PostNapisane: 5 mar 2020, o 09:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 lut 2014
Posty: 164
Pomógł: 3

Na moje oko zrobisz to zwykłym IFem zamiast pętli FOR. Warunek jest z góry błędny bo odnosi się do zmiennej, która jest gdzieś w trakcie zwiększana bez sprawdzenia czy słusznie.
Musisz IFem sprawdzać czy ilość cykli jest mniejsza niż zadana, a gdzieś w trakcie pracy zwiększać cykl o 1, kiedy masz pewność, że się wykonał.


Autor postu otrzymał pochwałę

_________________
::::::: C ::::::::::
:::::: C++ :::::::::



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 mar 2020, o 10:01 
Offline
Nowy

Dołączył(a): 18 kwi 2017
Posty: 6
Pomógł: 0

Bardzo dziękuje @Lex_ za naprowadzenie. Wszystko działa OK

Ale zatrzymał mnie kolejny problem z którym myślałem że sobie poradzę.

Potrzebuje w pewnym momencie wykonywania kodu poczekać aż krańcówka da sygnał.

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


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


za cholerę żadne if-y tam mi nie wychodzą
Bardzo bym prosił jeszcze o pomoc



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 mar 2020, o 11:48 
Offline
Nowy

Dołączył(a): 18 kwi 2017
Posty: 6
Pomógł: 0

witam

poradziłem sobie wstawiając pętle WHILE

jeśli ktoś ma jakieś uwagi lub spostrzeżenia albo zastrzeżenia co do prawidłowości tego kodu proszę o info

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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 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