Programowanie PLC od podstaw – kurs dla automatyków i elektryków odc.5 – Jak odmierzać czas w programie sterującym i jak konfigurować timery?
Dowiedz się, z jakich timerów możesz skorzystać w środowisku Cscape oraz poznaj ich zasadę działania.
W poprzednim artykule poznałeś/aś podstawowe elementy języka drabinkowego oraz stworzyłeś/aś swój pierwszy program. W tym artykule poznasz zasadę działania timerów oraz jak je konfigurować.
Operacja odmierzania czasu w programie nie jest taka oczywista. Zależy ona od rodzaju zastosowanego przekaźnika czasowego oraz dobranej rozdzielczości. Takie zróżnicowanie powoduje, że timery można wykorzystać w różnych celach, zwiększając tym samym możliwości tworzonych programów.
Jak działają timery i jakie ich rodzaje dostępne są w środowisku Cscape?
Bloki funkcyjne odpowiedzialne za realizację zależności czasowych w sterowniku PLC noszą nazwę timery czyli po polsku przekaźniki czasowe. Służą one do odmierzania zadanego czasu przy określonej rozdzielczości. Podobnie jak styki, timery w PLC kontrolują i sterują przepływem sygnału, wykorzystując odpowiedni parametr czasu.
Organizacja pamięci timera wymaga dwóch kolejnych rejestrów. W pierwszym z nich przechowywana jest aktualna zarejestrowana wartość. W drugim rejestrze na pierwszych 14 bitach timer przechowuje wartości własne, bit 15 informuje czy timer jest uruchomiony, natomiast bit 16 daje informacje, czy odliczanie zostało zakończone.
W sterownikach PLC Horner występują dwa typy timerów:
- TON (Time On Delay) – opóźnione załączenie
Po otrzymaniu stanu wysokiego, na wejściu timera rozpoczyna się odliczanie do zadanej wartości (należy pamiętać, że zliczanie jest realizowane tylko wtedy, gdy na wejściu podtrzymywany jest stan wysoki). Gdy wartość zadana zostanie osiągnięta, na wyjściu timera ustawiany jest stan wysoki (logiczne 1). Wyjście zostanie ponownie postawione w stanie niskim, gdy na wejściu pojawi się stan niski (logiczne 0).
- IN Wejście Timera Q Wyjście Timera PT – Present Time Czas zadany ET – Elapsed Time Czas odmierzony
- TOF (Time Off Delay) – opóźnione wyłączenie
Otrzymanie stanu wysokiego na wejściu timera powoduje ustawienie stanu wysokiego na jego wyjściu. Podanie na wejście stanu niskiego uruchamia odliczanie do wartości zadanej. Osiągnięcie tej wartości zmienia stan wyjścia timera na niski.
- IN Wejście Timera Q Wyjście Timera PT – Present Time Czas zadany ET – Elapsed Time Czas odmierzony Programowanie w akcji!
Program sterujący rozbudujesz teraz o logikę obsługującą funkcję mieszania i podgrzewania płynu w zbiorniku numer 3.
Załączenie procesu oraz jego czas trwania będzie ustawiany przez operatora. Timer wykorzystasz do zadawania i kontrolowania odmierzanego czasu. Po osiągnięciu zadanej wartości czasu timer wyłączy odpowiedni proces.
Programowanie w akcji!
Program sterujący rozbudujesz teraz o logikę obsługującą funkcję mieszania i podgrzewania płynu w zbiorniku numer 3.
Załączenie procesu oraz jego czas trwania będzie ustawiany przez operatora. Timer wykorzystasz do zadawania i kontrolowania odmierzanego czasu. Po osiągnieciu zadanej wartości czasu timer wyłączy odpowiedni proces.
Krok 1: Jak rozdzielić sterowanie procesami od sterowania zaworami?
W celu rozbudowania programu sterującego stwórz kolejny podprogram, który będzie kontrolował procesy mieszania i grzania. W oknie Project Navigator stwórz nowy podprogram o nazwie: Mieszanie_Grzanie
Krok 2: Opisz funkcje podprogramu
W pierwszym szczeblu programu dodaj komentarz opisujący funkcję tworzonego podprogramu.
Krok 3: Stwórz logikę mieszania płynu
W kolejnym szczeblu wstaw styk normalnie otwarty odpowiedzialny za załączanie mieszania. Przypisz do niego zmienną o nazwie mieszanie.
Proces nie rozpocznie się, dopóki styk nie wykryje stanu wysokiego na przypisanym mu bicie.
Następnie z górnego paska narzędziowego wybierz timer i umieść go za stykiem.
Niezbędna jest konfiguracja tego bloku. W tym celu kliknij dwukrotnie na wstawiony element.
Pierwsze okno służy do przypisania odpowiedniego rejestru dla timera. Należy pamiętać, że timer zajmie 2 kolejne rejestry, czyli w przypadku podania rejestru R1, zajęty będzie też rejestr R2!
Rozdzielczość timera mówi o tym, jak często zliczane będą kolejne impulsy. Rozdzielczość 100 ms spowoduje, że 10 razy w ciągu sekundy zwiększana będzie wartość aktualna, do momentu aż osiągnie wartość zadaną.
W tym oknie można również wybrać typ timera TON/TOF.
Poniżej znajduje się pole służące do przypisania zmiennej do wartości zadanej. Daje to możliwość zmiany wartości zadanej z poziomu okna Data Watch po wgraniu programu do sterownika.
Zgodnie z logiką działania, timer wystawi na wyjście stan wysoki w momencie, kiedy doliczy do wartości zadanej.
Ostatnimi elementami szczebla będą cewka resetująca, która zakończy proces mieszania oraz cewka ustawiająca, która rozpocznie proces grzania.
Krok 4: Jak sterować procesem ogrzewania?
Kolejny szczebel związany będzie z odmierzaniem czasu grzania i będzie analogiczny do odmierzania czasu mieszania.
W związku z tym najpierw wstaw styk normalnie otwarty i przypisz zmienną grzanie.
Proces grzania nie zostanie uruchomiony, dopóki bit przypisany do styku grzania nie będzie miał stanu wysokiego.
Przypisz odpowiednie rejestry, rozdzielczość ustaw na 100 ms oraz wybierz rodzaj On Delay.
Zgodnie z logiką, po odmierzeniu zadanego czasu na wyjściu timera zostanie ustawiony stan wysoki. Wstawienie cewki resetującej jako kolejnego elementu, spowoduje zatrzymanie procesu po upłynięciu określonego czasu. Dlatego do cewki resetującej przypisz zmienną grzanie.
Chcesz nauczyć się programować sterowniki PLC?
Wszystkie odcinki kursu, bezpłatne oprogramowanie oraz dodatkowe materiały znajdziesz na stronie: https://www.astor.com.pl/poradnikautomatyka/kurs-programowania-plc-od-podstaw-dla-elektrykow-i-automatykow/
Sprawdź pozostałe bezpłatne kursy i poradniki na: https://www.astor.com.pl/poradnikautomatyka/