Opisany w artykule programowalny przekaźnik SR 101BD jest przedstawicielem rodziny Zelio produkowanej przez Schneider Electric. Jest on przeznaczony do sterowania urządzeniami zewnętrznymi dołączanymi do zacisków wyjściowych zgodnie z algorytmem sterowania zapisywanym przez użytkownika w pamięci nieulotnej. Producent gwarantuje 10 lat przechowywania w niej danych. Dysponując wkładką pamięci dodatkowej, można łatwo przenosić oprogramowanie pomiędzy urządzeniami. Taka pamięć jest też często wykorzystywana do przechowywana kopii programu zapisanego w pamięci przekaźnika.
Moduł SR 101BD jest elementem systemów automatyki, został więc zamknięty w obudowie przeznaczonej do montażu na szynie DIN 35 mm. Urządzenie jest zasilane napięciem stałym 24 V (nieprzekraczalne 30 V). Na głównej ścianie obudowy umieszczono elementy wykorzystywane do programowania. Są to przyciski mechaniczne i wyświetlacz alfanumeryczny. Na wyświetlaczu wyświetlane są instrukcje, z których tworzony jest algorytm sterowania, a także informacje o stanie przekaźnika pokazywane w trakcie normalnej pracy. Sygnały wejściowe są dołączane od góry za pośrednictwem 6 zacisków śrubowych. 4 pary wyjściowe są natomiast dostępne w dolnej części obudowy, również w postaci zacisków śrubowych. Wyjścia są zgodne z normą EN/IEC 61131-2 type 1.
Przekaźniki rodziny Zelio Logic mogą być również programowane za pomocą specjalnego oprogramowania uruchamianego na komputerze. Jest w nim wykorzystywany język (drabinkowy) LADDER oraz bloki funkcyjne (FBD) stanowiące intuicyjne i dość łatwe do opanowania narzędzia. Informacja o stanie pracy urządzenia w trakcie eksploatacji jest dostępna zarówno na wyświetlaczu, jak i w programie. Warunkiem jest oczywiście połączenie sterownika z komputerem. Służy do tego nietypowy przewód zakończony z jednej strony standardowym wtykiem USB, z drugiej zaś specjalnym wtykiem zgodnym z gniazdem zastosowanym w module (fotografia 1). Gniazdo USB umieszczono głęboko w komorze przeznaczonej dla modułów rozszerzających, stąd wynika konieczność przedłużenia wtyku.
Fotografia 1. Przewód USB zakończony wtykiem zgodnym z gniazdem przekaźnika SR 101BD
Przekaźnik SR 101BD ma wbudowany zegar czasu astronomicznego podtrzymywany bateryjnie. Jego dokładność, wg informacji podawanych przez producenta, jest zadziwiająco wysoka. Odchyłka wynosi 6 sekund na miesiąc w stabilnej temperaturze 25°C. W zakresie od 0 do 55°C gwarantowana dokładność spada do 12 minut na rok. Oscylator tego zegara jest stosowany również do odmierzania czasu przez timery używane w algorytmach sterowania. Najmniejszy krok odliczania czasu jest równy 1 ms. Zegar jest zasilany baterią litową gwarantującą pracę przez 10 lat.
SR 101BD ma 4 wyjścia przekaźnikowe, dwa wejścia cyfrowe i cztery analogowe. Przewidziano dwa zakresy napięciowe dla wejść analogowych: 0...10 V i 0...24 V, ale nieprzekraczalne napięcie, jakie można na nie podać, wynosi 30 V. Wejścia te mają rozdzielczość 8-bitową, co dla zakresu 10 V daje wartość LSB równą 39 mV. Dopuszczalne jest dołączanie czujników analogowych do przekaźnika 10-metrowym kablem ekranowanym. Impedancja wejściowa jest równa 12 kΩ. Cztery przekaźniki zawarte w module mają styki normalnie rozwarte i mogą przełączać z maksymalną częstotliwością 10 Hz przy braku obciążenia i 0,1 z obciążeniem maksymalnym. Szacowana liczba cykli przełączeń jest równa 10 000 000, jest to jednak parametr zależny od przełączanego prądu. Z tego względu bardziej miarodajne są wykresy uwzględniające dodatkowe czynniki wpływające na żywotność styków (rysunek 2). Jednym z takich czynników jest często podawana w specyfikacjach przekaźników stała czasowa L/R. Parametr ten określa własności obciążenia styków (L – indukcyjność, R – rezystancja) mające znaczenie w obwodach prądu stałego. W obwodach tych napięcie nie przechodzi przez zero (nie zmienia znaku), mogą więc występować problemy polegające na gaszeniu łuku elektrycznego powstającego w chwili nagłej zmiany natężenia prądu. Szybkość przełączania styków jest ograniczona czasem samoistnego wygaszania łuku elektrycznego wynikającego z geometrii styku i materiałów, z których jest wykonany. Producent udziela 18-miesięcznej gwarancji na wyrób.
Rysunek 2. Wykresy żywotności styków przekaźnika SR 101BD w funkcji natężenia przełączanego prądu i stałej czasowej L/R,
a) sterowanie obciążeniem stałym i obciążeniem izolowanym optycznie L/R<=1 ms,
b) sterowanie obciążeniem indukcyjnym dla L/R<= 2× Ue i Ie (napięcie i prąd znamionowy)
z obciążeniem zbocznikowanym diodą
Elementy uzupełniające
Do przekaźników programowalnych rodziny Zelio oferowane jest wyposażenie dodatkowe, rozszerzające standardowe własności użytkowe urządzenia. Są to m.in.:
- wkładka pamięci EEPROM,
- moduł interfejsu komunikacji modemowej (możliwe jest stosowanie modemu analogowego PSTN lub modemu GSM),
- konwerter dla termopar typu J i K, sond Pt100 oraz przetworników napięcie/prąd,
- zasilacze dla napięć wejściowych 100...240 VAC (47...63 Hz) o wyjściowym napięciu znamionowym 12 i 24 VDC,
- osłony pyło- i wodoszczelne.
W osłonach możliwe jest umieszczenie 1 lub 2 modułów z wąską obudową (takich jak SR 101BD) lub jednej z obudową szeroką. Osłona ma okno umożliwiające obserwację wyświetlacza, zapewniające przy tym stopień ochrony IP65.
Zastosowania
Przekaźnik programowalny SR 101BD jest przeznaczony do zastosowania w niewielkich układach automatyki przemysłowej, systemach inteligentnych budynków, a także do sterowania klimatyzacją, nawadnianiem itp. Użytkownicy urządzeń wymagających sterowania (pompy, wentylatory, silniki, mieszalniki, sprężarki, systemy oświetleniowe itp.) często zadają sobie pytanie, czy konstruować specjalne urządzenia spełniające określone wymagania, czy sięgać po gotowe uniwersalne sterowniki, które po zaprogramowaniu będą realizować wymagane funkcje sterowania. Zwykle drugie rozwiązanie okazuje się tańsze, a dodatkową korzyścią jest znaczne skrócenie czasu wdrożenia danego systemu. Tam, gdzie sterowanie nie wymaga rozbudowanych algorytmów, gdzie nie jest wymagana duża liczba wejść i wyjść, przekaźniki programowalne stanowią dobrą alternatywę dla bardziej zaawansowanych urządzeń, takich jak sterowniki PLC. Dokładając do przekaźnika modem wraz z interfejsem komunikacji modemowej, można względnie prosto realizować urządzenia zdalnego sterowania maszynami lub instalacjami.
Zaletą przekaźnika SR 101BD jest względnie proste jego programowanie. Zadanie to leży w zasięgu możliwości większości samych użytkowników, bez konieczności zlecania pracy fachowcom. Wykorzystywany jest do tego popularny w automatyce język drabinkowy, a programowanie może być realizowane bezpośrednio w urządzeniu za pomocą wbudowanych przycisków i ekranu. Metoda ta, choć skuteczna, na pewno nie jest bardzo efektywna, więc do implementacji bardziej złożonych algorytmów warto użyć programu ZelioSoft 2. Będzie on omówiony w dalszej części artykułu.
Obsługa z użyciem klawiatury przekaźnika
Po włączeniu zasilania na ekranie przekaźnika wyświetlane są informacje o aktualnym stanie wejść i wyjść, aktualna godzina i data oraz status wykonywania programu (uruchomiony/zatrzymany). Naciśnięcie wyróżnionego przycisku Menu/OK powoduje wyświetlenie menu zawierającego instrukcje służące do:
- programowania lub monitorowania,
- edytowania parametrów programu,
- uruchamiania i zatrzymywania programu,
- wyświetlenia wersji firmware’u,
- wyboru wersji językowej (niestety, polskiej nie ma),
- wyświetlania listy błędów,
- ustawiania zegara czasu astronomicznego,
- wyboru czasu letniego lub zimowego.
Nawigacja jest prowadzona za pomocą przycisków przesuwu kursora w pionie i w poziomie. Znaczenie podstawowego zestawu przycisków jest zmieniane w zależności od kontekstu po naciśnięciu przycisku Shift. Użytkownik może programować przekaźnik, wykorzystując jeden z dwóch dostępnych trybów. Programowanie za pomocą przycisków i wyświetlacza polega na graficznym wprowadzaniu wykresu drabinkowego (Ladder Diagram - tryb LD). Nieco inne możliwości stwarza program komputerowy oparty na blokach funkcjonalnych (Functional Block - tryb FBD). Program zawiera maksymalnie 120 linii kodu.
Na wykresach drabinkowych umieszczane są symbolicznie oznakowane funkcje, które na podstawie zależności logicznych i czasowych między sygnałami wejściowymi i wewnętrznymi ustalają stany wyjść przekaźnikowych. Funkcje emulują działanie dobrze znanych automatykom bloków funkcjonalnych, takich jak:
- wirtualny przekaźnik dodatkowy,
- wyjścia dyskretne,
- zegar,
- komparator analogowy,
- układ czasowy (11 odmian),
- licznik,
- szybki licznik.
Przepatrywanie wejść jest realizowane cyklicznie. Użytkownik ma możliwość ustawiania w danych konfiguracyjnych długości takiego cyklu w zakresie od 6 do 90 milisekund z krokiem 2 ms. Przekaźnik SR 101BD wyposażono także w watchdog generujący alarm w przypadku zawieszenia się programu. Komunikat z kodem błędu pojawia się w menu "Fault". Opis błędów można znaleźć w dokumentacji technicznej.
Program składa się z tzw. kontaktów, czyli stanów wejść, do których są dołączane np. przyciski, przełączniki, sensory itp. oraz połączeń. Ostatnie 3 kolumny ekranu są zarezerwowane dla podania stanu bloku wykonawczego. Rozróżniane są stany spoczynkowe (normalnie otwarte lub normalnie zamknięte). Przykładowo najprostszy program składający się tylko z jednej linii może wyglądać tak:
I1 - - - - - - - - - - - - - [Q1
Program bada stan linii cyfrowej nr 1 i jeśli jest ona w stanie rozwarcia (0), to przekaźnik wyjściowy nr 1 jest nieaktywny. Po podaniu stanu wysokiego na wejście 1 (zwarcie do napięcia zasilającego) przekaźnik uaktywnia się, zwierając styki wyjściowe. Drobna zmiana programu na:
I1 - - - - - - - - - - - - - - |Q1
powoduje, że każdorazowe podanie stanu wejściowego będzie powodowało zmianę stanu przekaźnika wyjściowego, a zatem przełączanie jego styków.
Zróbmy jeszcze jedną modyfikację programu pokazującą, jak proste jest programowanie przekaźnika.
I1 - - - - - - - - - - - - - SQ1
I2 - - - - - - - - - - - - - RQ1
Tym razem do sterowania użyto dwóch linii wejściowych. Podanie impulsu wysokiego na linię 1 będzie powodowało załączenie przekaźnika (Set), natomiast impuls podany na wejście 2 spowoduje wyłączenie przekaźnika (Reset). W takiej konfiguracji należy jednak unikać jednoczesnego podawania stanów aktywnych na obu wejściach.
Program przekaźnika SR 101BD bada jednocześnie tylko 5 sygnałów wejściowych. Nie oznacza to, że tylko taka sekwencja może być analizowana. Problem jest rozwiązywany za pomocą tzw. przekaźników dodatkowych (auxiliary relays), które są elementami wirtualnymi reagującymi na stany co najwyżej 5 wejść. W kolejnych wierszach wykresu drabinkowego można umieszczać instrukcje reagowania na pozostałe linie wejściowe, a także na zapamiętane wcześniej stany przekaźników wirtualnych. W ten sposób tworzony jest dużo bardziej złożony algorytm sterowania.
Zamiast wejść cyfrowych do przełączania wyjść mogą być używane również własne przyciski przekaźnika SR 101BD. Symbol "I" należy wówczas zastąpić symbolem "Z".
W powyższych przykładach przedstawiono jedynie kilka podstawowych instrukcji, aby pokazać, jak proste jest programowanie SR 101BD. Realizacja o wiele bardziej złożonych algorytmów nie jest znacząco trudniejsza. Możliwości jest jednak naprawdę sporo, więc opanowanie ich wymaga wielu prób. Jak zwykle warto dokładnie czytać instrukcję programowania.
Program ZelioSoft 2
Programowanie przekaźnika za pomocą jego klawiatury jest dość uciążliwe. Na przykład przesunięcie kursora z jednego rogu ekranu do drugiego leżącego na przekątnej wymaga wielokrotnego naciśnięcia przycisków nawigacyjnych. Niezbyt wygodne jest też wprowadzanie liczbowych wartości parametrów, np. czasu trwania impulsu timera lub liczby zliczeń licznika. W tym przypadku trzeba po prostu dostatecznie długo trzymać jeden z przycisków nawigacyjnych, aby żądana wartość pojawiła się w odpowiednim polu danych. Raczej trudno zalecić taką metodę programowania złożonych algorytmów zawierających dużą liczbę wierszy. Zdecydowanie łatwiej jest zaprogramować przekaźnik, używając darmowego programu ZelioSoft 2. Korzyści jest wiele. Kod programu jest wyświetlany na dużym ekranie, w dużej rozdzielczości, nie na małym 4-linijkowym wyświetlaczu alfanumerycznym. Jednym ruchem ręki można ustawić kursor w dowolnym miejscu programu. Przy wybieraniu danej funkcji (lub blok funkcjonalny) na ekranie pojawiają się graficzne podpowiedzi sugestywnie objaśniające zasadę działania wybranego elementu. Gdyby to jednak nie wystarczało, można sięgać po dodatkową, pomoc komputerową (help) będącą kopią instrukcji programowania przekaźnika.
Rysunek 3. Okno programu ZelioSoft 2 przeznaczonego
do programowania przekaźnika SR 101BD
Na rysunku 3 przedstawiono przykład, w którym umieszczono na schemacie drabinkowym układ czasowy, którego zadaniem jest cykliczne włączanie i wyłączanie przekaźnika Q1. Czasy włączenia i wyłączenia są różne (odpowiednio 1 min oraz 30 s). Przedstawiony algorytm przewiduje uruchomienie timera przyciskiem nawigacyjnym Z1 lub jednoczesnym uaktywnieniem sygnału wejściowego I2 przy naciśniętym przycisku Z4. Sygnał z wejścia I1 w dowolnym momencie zatrzymuje i zeruje timer. Jak widać na rysunku 3, każda linia kodu może być uzupełniana komentarzem znacznie zwiększającym czytelność programu.
Rysunek 4. Okno symulacji przekaźnika SR3 B101BD
Jest jeszcze jedna, bardzo ważna zaleta korzystania z programu ZelioSoft 2. Jest to symulacja programu, dzięki której czas uruchomienia programu drastycznie się skraca. Jak można się domyślić, do symulacji nie jest potrzebny fizyczny przekaźnik. Nie narażamy też układów rzeczywistych na ewentualne uszkodzenia, które mogłyby wystąpić w przypadku krytycznych błędów algorytmu. Może się na przykład zdarzyć, że do jakiegoś urządzenia zostanie dołączone nieodpowiednie zasilanie lub będzie ono zbyt mocno obciążone. Wykrycie takiego błędu w układzie fizycznym mogłoby być zbyt kosztowne. Na rysunku 4 przedstawiono opisany wcześniej układ z timerem w trakcie symulacji. U góry ekranu umieszczono kontroler czasu symulacji, w dolnej części natomiast widoczne jest okno monitorujące użyte bloki funkcjonalne.
Jarosław Doliński, EP