W dotychczasowych dwóch częściach szkolenia dotyczącego podstaw programowania oraz parametryzowania sterowników PLC serii SG2, przedstawiliśmy jak stworzyć prosty program w języku drabinkowym środowiska SG2client oraz jak stosować bardziej zaawansowane instrukcje, takie jak liczniki oraz timery. W poprzednim numerze kwartalnika Pod Kontrolą, zaprezentowane zostało także praktyczne zastosowanie zdobytej wiedzy w postaci programu identyfikującego elementy wytwarzane na linii produkcyjnej. Tym razem przyszedł czas na kolejne typy instrukcji, takie jak komparatory wartości analogowych, interfejs HMI oraz zegar czasu rzeczywistego RTC.
KOMPARATORY
W przemysłowych aplikacjach opartych o sterowniki PLC często konieczna jest szybka reakcja na zmieniający się poziom jednego lub kilku analogowych sygnałów pomiarowych. W kwestii programowej sprowadza się to do wykonania określonej części programu (kodu), w zależności od wartości pomiarowej. Niezależnie od fizycznego charakteru wielkości mierzonej oraz rodzaju zastosowanego przetwornika A/C, zasada działania komparatora pozostaje taka sama i polega na cyklicznym porównywaniu aktualnego pomiaru oraz arbitralnie ustalonej wartości zadanej (tzw. preset).
Działanie omawianej instrukcji jest uwarunkowane przez wcześniej zdefiniowany typ komparatora, jednakże w każdym przypadku polega ono na aktywacji określonego bitu w momencie spełnienia warunku porównania. Wybór sposobu pracy komparatora dokonywany jest w momencie umieszczenia instrukcji na schemacie. Podczas parametryzacji instrukcji porównania, konieczne jest także zdefiniowanie źródła mierzonej wartości analogowej Ax.
Do wyboru programista ma między innymi następujące źródła:
- bezpośrednia, nieprzeskalowana wartość z modułu pomiarowego – typ A,
- przeskalowana wartość pomiarowa – typ V,
- aktualna wartość licznika – typ C,
- aktualna wartość timera – typ T.W przypadku platformy SG2client do dyspozycji mamy 8 trybów pracy. Najpopularniejsze i najczęściej wykorzystywane to:
Jest to najprostszy z komparatorów, sprawdzający czy poziom wielkości pomiarowej Ax nie przekracza poziomu określonego poprzez wartość zadaną. Jak łatwo zauważyć, nierówność jest spełniona również w przypadku gdy porównywane wielkości są sobie równe. W momencie przekroczenia określonej wartości zadanej, cewka komparatora zostaje zwarta. Odpowiednio stworzony program wykorzystuje informację o zwarciu w celu warunkowego wykonania części kodu odpowiedzialnego za obsługę tego zdarzenia.
Analogiczny typ komparatora do poprzedniego. Jedyna różnica dotyczy kierunku zwarcia cewki komparatora, które następuje w momencie gdy mierzona wartość analogowa jest mniejsza bądź równa wartości zadanej.
W przypadku wyboru powyższego typu instrukcji porównania, cewka komparatora zwiera się tylko w przypadku wystąpienia relacji równości między aktualną wartością analogową a wartością zadaną. Należy zwrócić uwagę na fakt, iż ze względu na ograniczoną rozdzielczość przetwornika A/C wystąpienie relacji równości może być nieosiągalne, a sygnał pomiarowy może oscylować wokół wartości zadanej. Sytuacja taka nigdy nie doprowadzi do aktywacji cewki komparatora, dlatego też typ ten znajduje zastosowanie głównie w przypadku porównania rejestrów wewnętrznych sterownika, takich jak wartości liczników oraz timerów, które przyjmują wartości całkowite, możliwe do porównania z wykorzystaniem relacji równości.
Ostatni z omawianych typów relacji jest nietypowy, gdyż uwzględnia dwa niezależne sygnały. Stosowany jest w sytuacji gdy chcemy określić zależności ilościowe pomiędzy dwoma dowolnymi wartościami analogowymi. Aby cewka komparatora została zwarta, poziom sygnału Ax musi zawierać się w przedziale określonym przez drugi z sygnałów Ay oraz wartość zadaną. Jednym z możliwych zastosowań takiego komparatora może być śledzenie czy sygnał Ax nadąża za zmieniającym się sygnałem Ay, z dokładnością uwarunkowaną szerokością przedziału.
HMI (ang. Human Machine Interface) – INTERFEJS UŻYTKOWNIKA
W zdecydowanej większości aplikacji przemysłowych, konieczne jest zapewnienie odpowiedniego mechanizmu komunikacji pomiędzy operatorem a urządzeniami. W przypadku bardziej zaawansowanych systemów automatyki, interfejsy komunikacyjne są ich podstawowymi elementami. Niejednokrotnie przyjmują postać osobnych monitorów, komputerów czy nawet bloków urządzeń. Wraz ze wzrostem funkcjonalności aplikacji, rozbudowuje się też liczba zależności, na które może wpływać użytkownik. Odpowiednio zbudowany interfejs, staje się w tym wypadku podstawą poprawnego działania systemu. W tej części szkolenia, zajmijmy się wykorzystaniem interfejsu HMI, w który wyposażony jest sterownik SG2. Jednostki centralne posiadają wbudowany wyświetlacz ciekłokrystaliczny, który może być wykorzystany jako prosty mechanizm komunikacji pomiędzy użytkownikiem a urządzeniem.
Obszar zastosowań sprowadza się do małych oraz średnich aplikacji, które w trakcie pracy wymagają modyfikacji przez operatora jednego lub kilku parametrów. Parametryzacja oraz konfiguracja wyświetlanych ekranów odbywa się z poziomu środowiska programistycznego. Do dyspozycji użytkownika są 32 niezależne ekrany, które mogą być przełączane zarówno z klawiatury na panelu frontowym sterownika, jak i w sposób programowy.
Na rysunku powyżej przedstawione zostało okno służące do tworzenia poszczególnych wyświetlaczy. Każdy z nich składa się z czterech linii tekstu, który może być dowolnie konfigurowany. Do wyboru mamy dane dotyczące liczników, timerów, zegara RTC, komparatorów, a także innych rejestrów sterownika zarówno wejściowych jak i wewnętrznych.
Na ekranie umieszczone zostały przykładowe wartości pochodzące z licznika CO₁. W drugiej linii wyświetlacza jest to aktualna wartość zliczeń tego licznika, natomiast w trzeciej jego wartość zadana. Ostatnia z wymienionych wartości może być modyfikowana przez operatora, gdyż jest niezależna od pracy licznika, pierwsza natomiast jest niedostępna, ponieważ prawo do jej edycji ma tylko procesor. Dodatkowym udogodnieniem jest zbiór liter oraz symboli, które umieszczone w odpowiednich miejscach mogą pomóc w nawigacji oraz odszukaniu żądanych sygnałów. W zależności od potrzeb aplikacji, w podobny sposób można skonfigurować każdy z dostępnych ekranów.
Jak już zostało wcześniej wspomniane, wywołanie oraz przełączanie pomiędzy wyświetlaczami odbywa się z panelu frontowego sterownika lub programowo. W pierwszym przypadku wykorzystywane są klawisze nawigacyjne, z których sygnały dostępne są w sterowniku jako znaczniki Z01, Z02, Z03, Z04. Każdorazowo gdy użytkownik aktywuje odpowiedni przycisk, informacja o tym zdarzeniu rejestrowana jest jako zwarcie cewki znacznika Z, przy czym należy pamiętać iż są to przyciski monostabilne – puszczenie przycisku spowoduje rozwarcie znacznika. Dlatego też, konieczna jest programowa realizacja podtrzymania sygnału. Wywołanie określanego ekranu, wraz z podtrzymaniem realizowane jest przez operacje przedstawione na fragmencie kodu z rysunku poniżej.
W momencie wciśnięcia pierwszego z przycisków nawigacyjnych, chwilowo aktywuje się cewka Z01 co implikuje permanentne zwarcie znacznika M01, który jest odpowiedzialny za wywołanie pierwszego z ekranów. Należy zauważyć, iż taka konstrukcja nie zakłada dezaktywacji ekranu. Jeśli użytkownik chciałby aktywować inny wyświetlacz, należałoby rozewrzeć cewkę M01 i jednocześnie zewrzeć znacznik odpowiedzialny za wywołanie kolejnego ekranu. Programowe wywołanie HMI realizowane jest w analogiczny sposób, z tym że zwarcie znacznika aktywacyjnego wynika z działania kodu, a nie z interakcji pomiędzy sterownikiem a operatorem.
ZEGAR CZASU RZECZYWISTEGO RTC (ang. Real Time Clock)
- cykliczna akcja codzienna, polega na zwarciu cewki każdego dnia, w przedziale czasu określonym przez znacznik początku oraz znacznik końca (godzina:minuta),
- cykliczna akcja tygodniowa, wykonywana jest raz w tygodniu. Oprócz godziny startu i stopu należy także określić dzień aktywacji oraz dezaktywacji.
- akcja miesięczna, niecykliczna. Aktywuje się tylko jeden raz, w granicach czasu określonych przez znaczniki daty startu i stopu (dzień:miesiąc), pomijając dokładny czas.W celu zapewnienia poprawnej pracy RTC, konieczna jest synchronizacja czasu przechowywanego w sterowniku z czasem rzeczywistym, gdyż mogą się one różnić.Wraz z czasem użytkowania urządzenia, wyczerpuje się bateria podtrzymująca rejestry, dlatego też należy dokonywać synchronizacji tak często jak tylko jest to możliwe.
autor:
Dominik Szewczyk
dszewczyk@introl.pl