fbpx

Szkoła PLC – Pulsowanie sygnalizacji świetlnej

pulsowanie-kolumny

W ostatnim wpisie czytałeś na temat sprzętowych generatorów sygnałow zegarowych. Dzisiaj wykorzystamy tą wiedzę w praktyce, czyli w projekcie linii transportowej.

Pulsowanie sygnalizacji świetlnej

Tak jak pisałem poprzednio, aby korzystać z tych sprzętowych generatorów, to należy je aktywować. Czyli przechodzimy do konfiguracji sprzętowej sterownika S7-1200. W oknie nadzoru wybieramy zakładkę System and clock memory. Znajduje się tam pole Clock memory bits, gdzie należy zaznaczyć Enable the use of clock memory byte. Następnie wykonujemy kompilację konfiguracji sprzętowej i wgrywamy do sterownika. W ten sposób przebiegi zegarowe są dostępne na poszczególnych bitach bajtu MB69. Możesz to podejrzeć w tablicy PLC tags o nazwie Default tag table.

Implementacja

Teraz przejdź do założeń projektowych linii technologicznej. Interesuje nas teraz punkt 11 oraz 15. Jak pamiętasz, te założenia zostały już wykonane, jednak nie do końca. W każdym z tych punktów brakuje pulsowania. Teraz dodamy te funkcjonalności.

Kod programu realizujący punkt 11 został umieszczony w funkcji LOG_BacklightButton(). Aby podświetlenie przycisku Reset pulsowało, należy wykorzystać operator binarny AND oraz sygnał zegarowy o częstotliwości 0,5Hz. Poniżej przedstawiono kod programu

"ResetLight" := "MAN_LineMode".Error AND "Clock_0.5Hz";

Ta linia kodu działa w ten sposób, że jeżeli pojawił się błąd i sygnał zegarowy (Clock_0.5Hz) jest w stanie wysokim, to wówczas podświetlenie przycisku Reset jest włączone. Jeżeli jest błąd, a sygnał zegarowy jest w stanie niskim, to podświetlenie przycisku Reset nie jest włączone. W ten sposób co 2 sekundy następuje zmiana stanu logicznego dla wyjścia, czy krótko mówiąc wyjście cyfrowe odpowiedzialne za podświetlenie przycisku Reset pulsuje.

W podobny sposób należy wykonać punkt 15, czyli pulsowanie lampy żółtej z kolumny sygnalizacyjnej. Należy przejść do funkcji LOG_ColumnLight(), ponieważ tam znajdują się instrukcje sterujące kolumną sygnalizacyjną. Przedstawia to poniższy kod

"YellowVSI" := "MAN_LineMode".Manual AND "MAN_LineMode".Start AND "Clock_1Hz";

Jak widzisz, kod jest analogiczny, jak w przypadku podświetlenia przycisku Reset. Zmieniła się jedynie częstotliwość, z jaką będzie pulsować żółta lampa.

Testowanie

Aby sprawdzić, czy napisany kod działa, to trzeba tak jak zawsze skompilować go i wgrać do sterownika. Następnie przejść do Factory IO. Następnie uruchomić symulację (naciskamy przycisk Play). Teraz wybieramy tryb ręczny, czyli naciskamy przycisk Manual znajdujący się obok linii. Pozostało nam tylko nacisnąć przycisk Start (podłączony fizycznie do sterownika). W tym momencie zobaczysz, że żółta lampa z kolumny sygnalizacyjne zacznie pulsować.

Podświetlenia przycisku Reset jeszcze nie sprawdzimy, ponieważ nie mamy zaimplementowanej obsługi błędów.

Nagranie wideo

Poniżej możesz też obejrzeć wideo, gdzie krok po kroku pokazuję wykorzystanie generatora przebiegów zegarowych oraz implementacje ich w kodzie programu

Projekt TIA Portal

Aktualny projekt linii transportowej możesz pobrać tutaj.

 

//———-
Licencja FACTORY I/O wypożyczona dzięki uprzejmości firmy Encon-Koester Sp. z o. o. Sp. K.
Encon-Koester Sp. z o. o. Sp. k.
ul. Gagarina 4
54-620 Wrocław

ec

Kurs wideo

Więcej na temat programowania w języku SCL znajdziesz w kursie Sterownik PLC w praktyce:

pl-usb-1p1-tia-1200-scl_sterownik-plc_w-praktyce-1

 

Podziel się tym wpisem na:
  • Facebook
  • Google Bookmarks
  • Twitter
  • Wykop

Pozostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Możesz użyć następujących tagów oraz atrybutów HTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Newsletter - Zapisz się i jako pierwszy otrzymasz najnowsze informacje