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

Programowanie w Step7: Zastosowanie timera do odmierzania 72 godzin i sterowanie lampką

elektronikeer 06 Gru 2020 14:11 699 5
  • #1 19093876
    elektronikeer
    Poziom 10  
    Posty: 71
    Pomógł: 1
    Ocena: 4
    Witam,

    Chciałem napisać w Step7 program, który w momencie, gdy czujnik =1 odmierza czas trzech dni i po tym czasie zapala lampkę. W Step7 timery zliczają czas maksymalnie do 2 godzin i 46 minut, czyli jednego nie zastosuję, a drugi problem to jak zniknie sygnał z czujnika to timer zlicza od zera. Może jest jakiś timer, układ w Step7 co kontynuuje zliczanie czasu w przypadku zmiany sygnału na wejściu. Proszę o pomoc, jak najprościej napisać taki program.
    1) Jak zrealizować 72 godzin w Step7?
    2) Jeśli na timerze to w jaki sposób zatrzymać czas, żeby nie resetował się po zmianie sygnału wejściowego
    3) Myślałem nad sumowaniem sygnału z timera i dodaniu licznika, ale może jest prostsze rozwiązanie

    Pozdrawiam
    elektronikeer
  • #3 19094269
    Markos80

    Specjalista Automatyk
    Posty: 1860
    Pomógł: 474
    Ocena: 214
    Time ma zakres DINT i jest w milisekundach. Pokrywa ok. 24 dni, więc pokaż może kawałek swojego kodu, bo z opisu wnioskuję, że chcesz użyć wbudowanych S5time. Lepiej pójść z duchem czasu i użyć IEC.
    Możesz użyć np. TONR (FC80), który się sam nie zeruje, tylko trzeba użyć wejścia kasującego.
    Możesz zapamiętać datę rozpoczęcia i sprawdzać różnicę do aktualnej albo zrobić zwykły licznik sekund (zwykłym dodawaniem), czyli zmienna z obszaru M, która jest podtrzymywana (retain) lub z jakiejś bazy DB (wtedy jest podtrzymywana domyślnie).
    Zmienna DINT, zwiększana jeśli czujnik = 1 i narastające zbocze z generatora sekund?
    Konto firmowe:
    PUMPA
    Widok 7, Łuczyce, 32-010 | Tel.: 502XXXXXX (Pokaż) | Strona WWW: www.pumpa.pl
  • #4 19094312
    elektronikeer
    Poziom 10  
    Posty: 71
    Pomógł: 1
    Ocena: 4
    Robię na S7-300 i nie mam dostępnego Tonr. Jest tylko 5 podstawowych S_PULSE, S_PEXT, S_ODT, S_ODTS oraz S-OFFDT. Właśnie myślałem o liczniku i wstawiłem przed nim timer S_ODT tylko, że nie jest to idealne rozwiązanie, bo przed timera dałem podtrzymanie za pomocą przerzutnika SR. Teraz odmierza 2h bez zatrzymania, ale nie wykrywa, że czujnik może stracić sygnał. Muszę jeszcze dodać komparator na wyjściu z licznika. Dzięki wszystkim za dotychczasowe sugestie.
  • Pomocny post
    #5 19094329
    Markos80

    Specjalista Automatyk
    Posty: 1860
    Pomógł: 474
    Ocena: 214
    W menu Open znajdziesz zakładkę Libraries, a w niej Standard library. Są tam wszystkie dodatkowe oraz wbudowane/systemowe bloki od Siemens'a. F1 na dowolnym i otworzy się dość dokładna dokumentacja.

    Programowanie w Step7: Zastosowanie timera do odmierzania 72 godzin i sterowanie lampką
    Programowanie w Step7: Zastosowanie timera do odmierzania 72 godzin i sterowanie lampką

    Jeśli chodzi o zwykłe dodawanie, to wydaje mi się, że nie potrzebujesz do tego żadnego timer'a. Po prostu zwiększasz wartość, gdy czujnik podaje sygnał.
    Konto firmowe:
    PUMPA
    Widok 7, Łuczyce, 32-010 | Tel.: 502XXXXXX (Pokaż) | Strona WWW: www.pumpa.pl
  • #6 19095246
    maly_ZE
    Poziom 14  
    Posty: 228
    Pomógł: 14
    Ocena: 6
    Można tez zrobic to z wykorzystaniem clock'a systemowego. Bit generowany co sekundę wykorzystac jako bit zwiekszajacy licznik a gdy ten licznik osiagnie odpowiednia wartość (3dni = 259 200 sekund) załączyć lampkę.
REKLAMA