Skocz do zawartości
wioras

Detekcja zbocza narastającego w języku ST

Pomocna odpowiedź

Witam

Potrzebuje kodu który po kompilacji w programie będzie najpierw wykrywał zbocze narastające a następnie je zliczał.

Np.

Wejście = 1 czyli zbocze narastające, licznik+1

Wyjście = 0 czyli zbocze opadające, licznik bez zmian

Wejście = 1 licznik+1

itd.

Mógłby mi ktoś pomóc ? Kod musi być w języku ST.

Pozdrawiam

PS.

Ja wykombinowałem coś takiego:

IF wejście=TRUE THEN licznik:=licznik+1;

END_IF

Ale to nie działa

Udostępnij ten post


Link to post
Share on other sites

Odpowiedz mi na dwa pytania:

1. Co to jest zbocze narastające?

2. Co robi, po kolei, każdy z elementów w Twoim programie?

Udostępnij ten post


Link to post
Share on other sites

Zbocze jest zdarzeniem i nie możesz go wykryć poprzez proste badanie stanu wejścia. Musisz pamiętać stan poprzedni, np. tak:

stan_obecny = wczytaj_stan_wejscia();
IF ((stan_obecny = 1) AND (stan_poprzedni = 0))
   THEN wykryto_zbocze_narastajace();
stan poprzedni = stan_obecny;

To nie jest w żadnym konkretnym języku, ale pokazuje ideę.

stan_obecny i stan_poprzedni to zmienne przyjmujące stany 0 lub 1.

wczytaj_stan_wejscia() to funkcja wczytująca stan interesującego Cię wejścia 🙂

Udostępnij ten post


Link to post
Share on other sites

Ops, nie wyczułem sytuacji, przepraszam 😐

Ale nie martw się, na pewno będą jeszcze jakieś pytania pomocnicze. Już się nie wychylę 🙂

Udostępnij ten post


Link to post
Share on other sites

Jeżeli chodzi o sterowniki PLC to albo jest to odpowiednia instrukcja, albo cięg instrukcji.

Wszystko zależy czy jest detekcja zbocza na wejściu czy w sieci programu. I czy sterownik takową instrukcje obsługuje. Jeżeli nie to trzeba to robić na piechotę metodą którą podał Marek1707.

Przykłady:

Instrukcja detekcji zbocza.

ORG TD - Uruchomienie sieci przy styku róznicowym w dół (TU)

ORG TD X 1 "Jeżeli na wejściu X1 zbocze opadające

OUT Y 0 " to zeruj wyjście Y0

Funkcja detekcji zbocza jeżeli sterownik taka ma która robi to samo.

ORG X 1 " jeżeli na wejściu X1 stan niski

FUN 5 " wywołaj Funkcję nr.5

D : Y 0 " ustaw odpoweidnia wyjście Y0

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...