Rok IV, semestr 8 AiR
Przedmiot obowiązkowy: „Komputerowe Systemy Sterowania I” -
Wykład - ilość godzin: 2
Laboratorium - ilość godzin: 2
Cel laboratorium:
Zapoznanie się z budową i obsługą sterownika PLC i stacji operatorskiej; nauka programowania sterownika i stacji operatorskiej
Treści programowe:
1. Programowanie sterownika PLC (na przykładzie sterownika firmy GE Fanuc)
języki programowania - język drabinkowy w programach Logicmaster i VersaPro
struktura programu (podprogramy, zmienne, grupy instrukcji)
konfigurowanie i uruchamianie sterownika, odczyt tablicy błędów
wczytanie, uruchomienie i testowanie programu
2. Programowanie stacji operatorskiej (na przykładzie programu InTouch firmy Wonderware)
tworzenie aplikacji (program WindowMaker): tworzenie, definiowanie typu i wyglądu oraz przełączanie okien, włączanie predefiniowanych elementów do aplikacji wizualizacyjnej, alarmy, trendy i raporty
uruchomienie i testowanie aplikacji (program WindowViewer)
3. Nawiązanie komunikacji: sterownik - stacja operatorska
konfiguracja sprzętu,
uruchomienie programu komunikacyjnego GESNP,
sprawdzenie poprawności działania zestawu
==============================================
Wymagania i warunki zaliczenia KSS
Warunkiem dopuszczenia do egzaminu jest pozytywny wynik zaliczenia laboratorium.
Termin zaliczenia laboratorium upływa w dniu 6 czerwca 2003, piątek (ostatni dzień planowych zajęć w semestrze)
Warunki zaliczenia laboratorium
obecność na zajęciach (za obecność na wszystkich zajęciach otrzymuje się 1 punkt; za każdą nieusprawiedliwioną nieobecność odejmuje się 0,1 punkta)
skonfigurowanie sterownika i uruchomienie na nim prostego programu (na 4 stanowiskach) (TAK/NIE)
wykonanie i zaliczenie wybranych 2 zadań z proponowanego zestawu (OCENA)
uruchomienie programu (program ćwiczebny) wizualizacji (TAK/NIE)
uruchomienie komunikacji: sterownik - stacja operatorska (TAK/NIE)
pozytywny wynik 2 sprawdzianów (OCENA)
ocena końcowa: średnia ocena z poz. 3 i 6 pomnożona przez liczbę punktów z poz.1
==============================================
Sterowniki serii 90-30 są częścią większej rodziny sterowników programowalnych serii 90.
Odznaczają się one łatwością instalowania i konfigurowania, oferują zaawansowane mechanizmy programowania, oraz są kompatybilne ze sterownikami serii 90-70.
Modele 35x i 36x sterowników serii 90-30 korzystają z procesora 80386EX. Pozwala to zarówno na wykonywanie programu jak i realizację innych zadań , takich jak:
Przeprowadzanie czynności diagnostycznych
skanowanie wejść /wyjść
przetwarzanie alarmów.
Oprogramowanie systemowe zawiera również procedury do komunikacji z programatorem. Procedury te pozwalają na usuwanie i wczytywanie programów sterujących, odczytywanie informacji o statusie, oraz zapewniają kontrolę nad sterownikami.
W sterownikach serii 90-30, programy sterujące napisane przez użytkownika (przeznaczone do sterowania przebiegiem procesu, do obsługi którego zastosowano sterownik), obsługiwane są poprzez specjalizowany koprocesor (ISCP).
Wystąpienie pewnych uszkodzeń lub okoliczności mających wpływ na pracę i charakterystyki robocze systemu sygnalizowane jest w sterownikach serii 90-30 w postaci błędów. Błędy te mogą uniemożliwić sterowanie maszyną czy procesem.
Można też wyróżnić błędy mające na celu wyłącznie zwrócenie uwagi użytkownika, jak na przykład informacja o niskim stanie naładowania baterii podtrzymujących zawartość pamięci, i związanej z tym konieczności ich wymiany.
Błędy te obsługiwane są przez programową funkcję alarmową , która zapisuje je w dwóch tablicach (osobno dla sterownika, osobno dla układów wejścia/wyjścia).
Zawartość tych tablic można wyświetlić za pomocą oprogramowania.
Omawiając działanie systemu sterowników należy określić:
cykl pracy sterownika
organizację programu sterującego
typy danych i typy zmiennych
operacje wykonywane przez sterownik podczas procesu włączania i wyłączania zasilania
liczniki i przekaźniki czasowe
zabezpieczenia systemu za pomocą haseł
charakterystyki modułów wejść/wyjść sterowników serii 90-30
Cykl pracy sterownika
Część logiczna programu sterującego sterowników serii 90-30 i Micro wykonywana jest cyklicznie, aż do momentu zatrzymania za pośrednictwem instrukcji z komputera- programatora lub z innego urządzenia zewnętrznego.
Ciąg operacji koniecznych do jednorazowego wykonania programu sterującego jest nazywany cyklem pracy sterownika.
Oprócz wykonania części logicznej programu
sterującego, cykl pracy sterownika zawiera również fazy:
gromadzenia danych z urządzeń wejściowych
wysłania informacji do urządzeń wyjściowych
przeprowadzenia wewnętrznej inicjalizacji sterownika
obsługi programatora oraz komunikacji z innymi urządzeniami.
Sterowniki serii 90-30 i Micro zwykle pracują w trybie STANDARD PROGRAM SWEEP (standardowy cykl pracy).
Inne możliwe tryby pracy to:
tryb zatrzymania sterownika z nieaktywnymi wejściami i wyjściami (STOP WITH I/O DISABLED)
tryb zatrzymania sterownika z odczytywaniem wejść i ustawianiem wyjść (STOP WITH I/O ENABLED)
tryb ze stałym czasem trwania cyklu pracy sterownika
Każdy z tych trybów jest uaktywniany przez parametry konfiguracyjne i wystąpienie zdarzeń w trakcie pracy systemu.
Tryb pracy jest ustalany na początku każdego cyklu.
Tryb ze standardowym cyklem pracy
Jest to najczęściej wykorzystywany tryb pracy sterownika.
W czasie pracy, jednostka centralna wykonuje program sterujący, uaktualnia stan wejść i wyjść, realizuje komunikację, itp.
Czynności te powtarzane są cyklicznie.
Standardowy tryb pracy składa się z siedmiu faz:
1. Inicjalizacja cyklu
2. Obsługa wejść
3. Wykonanię programu sterującego
4. Obsługa wyjść
5. Obsługą programatora
6. Obsługa innych urządzeń
7. Diagnostyka
Konfigurowanie jest procesem przypisywania adresów logicznych oraz innych parametrów sprzętowym modułom systemu.
Może ono zostać dokonane za pomocą oprogramowania konfiguracyjnego przed lub po zaprogramowaniu sterownika: zaleca się jednak, aby skonfigurowanie sterownika nastąpiło w pierwszej kolejności.
Programowanie polega na opracowaniu programu sterującego (np. kolejnych szczebli w systemie drabinkowym, skrót LD) dla konkretnego zastosowania sterownika.
Proces programowania należy rozpocząć od opracowania algorytmów i sieci (schematu) działań.
Program sterujący stanowi realizację algorytmu wiążącego sygnały wejściowe, które dopływają do sterownika, z sygnałami wyjściowymi, służącymi do sterowania urządzeniami wykonawczymi
Ćwiczenia z konfiguracji
Na każdym stanowisku należy skonfigurować sterownik oraz uruchomić prosty program (suma i iloczyn logiczny). Sprawdzić poprawność działania sterownika.
Dane o modułach podane są w sposób przybliżony. Należy spróbować odszukać w katalogu więcej informacji.
(Pełne oznaczenie np. dla jednostki centralnej jest następujące: IC693CPU364)
Stanowisko 1
Kaseta 5-slotowa
Zasilacz PWR321
CPU350
Moduł maskujący
ACC300
MDL740
Stanowisko 2 (pozycjonowanie osi)
Kaseta 10-slotowa
Zasilacz PWR321
CPU331
CMM311
ACC300
MDL940
Stanowisko 3 (sterowanie silnikiem napędu głównego statku)
Kaseta 10-slotowa
Zasilacz PWR321
CPU364
CMM311
ACC300
MDR390
ALG442
APU300
Stanowisko 4 (modelowanie procesów technologicznych)
Kaseta 10-slotowa
Zasilacz PWR321
CPU350
CMM311
ALG223
ALG391
ALG390
MDL645
MDL655
MDL655
MDR390
MDL753
Kolejność czynności podczas uruchamiania programu:
opracować algorytmy i sieć działań
napisać program (jeszcze przed pracą na sterowniku)
nawiązać komunikację programator-sterownik ustawić tryb pracy ON LINE (Alt-M)
wyzerować pamięć sterownika
skonfigurować sterownik
wczytać program i uruchomić sterownik (Alt-R)
skontrolować tablice błędów
dokonać edycji programu (jeżeli zachodzi taka potrzeba) i przetestować jego działanie zgodnie z wcześniej ustalonym trybem testowania
Oprogramowanie Logicmaster90 zawiera szczegółowe informacje pomocnicze uruchamiane jako funkcja ekranowa HELP.
Pliki zawierające te informacje zostają zapisane na twardym dysku podczas instalacji oprogramowania i są łatwo dostepne podczas pracy z programem.
Przywołanie ich jest możliwe poprzez naciśnięcie następujących kombinacji klawiszy:
Alt-H - wywołanie pomocy
Alt-I - mnemoniki
Alt-K - wykaz dostępnych skrótów klawiszowych
Funkcje edycyjne umożliwiają wyszukiwanie, zmianę, wycinanie i przenoszenie w inne miejsce, wymazywanie i zapisywanie na dysk oraz wczytywanie podstawowych fragmentów logiki programu (tzw. szczebli - RUNGS) oraz pojedynczych elementów logicznych.
Dotyczy to również objaśnień zmiennych (REFERENCE DESCRIPTIONS), ich nazw pomocniczych (NICKNAMES) oraz komentarzy na poziomie szczebli programu (RUNG COMMENTS).
Tryby współpracy komputera-programatora ze sterownikiem PLC:
OFF-LINE - sterownik odłączony
MONITOR - śledzenie pracy sterownika bez możliwości ingerencji w jego pracę
ON-LINE - możliwość przesyłania programu i konfiguracji do i ze sterownika oraz możliwość dokonywania zmian w rejestrach
Zmiany trybu pracy dokonujemy klawiszem ALT-M
Wyświetlanie tablicy wartości zmiennych programu sterującego (SHIFT-F2)
Dla każdego typu zmiennych programu sterującego można wyświetlić odpowiednie tablice wartości i tak:
tablica wejść dyskretnych (%I)
tablica wyjść dyskretnych (%Q)
tablica rejestrów (%R)
tablica wejść analogowych (%AI)
tablica wyjść anal;ogowych (%AQ)
tablica zmiennych wewnętrznych (%M)
Można przyjąć standardowy format zmiennych, może on też zostać dopasowany do wymagań użytkownika
Po naciśnięciu klawisza F1 w głównym menu programu Logicmaster otrzymamy dostęp do następujących funkcji:
F1 (program) - tworzenie i edycja programu sterującego
F2 (tablice) - wyświetlanie i zmiana wartości zmiennych programu
F3 (status) - funkcje statusu sterownika, zawierające uruchomienie sterownika, tablice błędów działania, poziom dostępu do sterownika i konfiguracje pamięci
F7 (konfiguracja) - wyświetlanie i zmiana konfiguracji portów komputera, trybu współpracy ze sterownikiem
F8 (katalog) - operacje na katalogu programu sterującego
F9 (komunikacja) - przesyłanie programów między komputerem a sterownikiem, weryfikacja programu, odczyt zawartości pamięci sterownika
F10 (wydruk) - wydruk programu sterującego
Po naciśnięciu klawisza F2 w głównym menu, wyświetlony zostanie ekran oprogramowania konfiguracyjnego:
F1 (wejście/wyjście) - konfiguracja wejścia/wyjścia - polega na dokonaniu opisu zawartości gniazd kasety sterownika
F2 (jednostka centralna) - ustawienie parametrów jednostki centralnej sterownika
F3 (status) - wyświetlenie tablic błędów działania sterownika i układów wejścia/wyjścia
F7 (konfiguracja) - konfiguracja portów komputera, tryb współpracy ze sterownikiem, połączenia komputera i sterownika
F8 (katalog) - operacje na katalogach z programami sterującymi i zawartych w nich plikach
F9 (komunikacja) - przesyłanie programów pomiędzy komputerem a sterownikiem, weryfikacja programu, odczyt zawartości pamięci sterownika
F10 (wydruk) - wydruk programu sterującego
Format ekranu
W dwóch pierwszych liniach od góry ekranu wskazywane są funkcje aktualnie dostępne za pośrednictwem klawiszy funkcyjnych - w linii pierwszej naciskanych wraz z klawiszem SHIFT, w drugiej - bez tego klawisza.
Nazwa aktywnej funkcji podświetlana jest w odróconych barwach.
Linia komunikatów (b. ważna dla programisty) - linia dla wyświetlania komunikatów znajduje się bezpośrednio pod liniami klawiszy funkcyjnych. Wyświetlane są w niej komunikaty o błędach oraz zapytania programu w celu uzyskania dodatkowych informacji od użytkownika.
Linia instrukcji - w tej linii, oznaczonej przez znak ”>”, użytkownik wpisuje instrukcje, nazwy zmiennych, komentarze, itd.
Informacje o statusie sterownika (trzy linie u dołu ekranu)
Pierwsza linia - informacja o statusie sterownika i komputera
Druga linia - identyfikacja programu
Trzecia linia - tryb pracy
Format informacji z pierwszej linii:
SNP ID - nazwa identyfikacyjna przyporządkowana sterownikowi
PLC State - stan, w którym aktualnie znajduje się sterownik:
RUN/OUT EN: sterownik wykonuje program, wyjścia aktywne
STOP/IOSCAN: sterownik zatrzymany, wejścia i wyjścia skanowane
STOP/NO IO: sterownik zatrzymany, brak skanowania wejść i wyjść
STOP/FAULT: sterownik zatrzymany z powodu błędu w działaniu
Scan Time - czas pełnego cyklu pracy w milisekundach, poprzedzony informacją:
SCAN: każdy cykl wykonywany tak szybko, jak to jest możliwe
FIXED: tryb pracy ze stałym czasem cyklu, czas nieprzekroczony
OVER: tryb pracy ze stałym czasem cyklu, czas przekroczony
Mode - tryb współpracy sterownika i komputera:
OFFLINE - brak komunikacji ze sterownikiem lub brak sterownika
ONLINE - aktywna dwustronna komunikacja ze sterownikiem
MONITOR - komunikacja jednostronna (od sterownika do komputera)
Access Level - poziom dostępu do sterownika:
LEVEL 4: zmiana hasła, zapis konfiguracji i logiki programu
LEVEL 3: zatrzymywanie sterownika, zapis konfiguracji i logiki
LEVEL 2: zapis i odczyt danych, kasowanie tablicy błędów
LEVEL 1: tylko odczyt pamięci sterownika
Equality - zgodność programu sterownika z programem zapisanym w katalogu:
LOGIC EQAL: zgodność obu wersji programu
LOGIC NOT EQ: programy różnią się
BLOCK EDIT: zgodność programu sterownika z programem z katalogu, lecz bieżący blok jest edydowany w trybie ON LINE i mógł ulec zmianom. Zapisanie edytowanego programu w pamięci sterownika - poprzez ALT-S
Zegary i wyłączniki czasowe
Sterowniki serii 90-30 oprócz programowych funkcji przekaźników czasowych (z pamięcią i bez) posiadają kilka rodzajów zegarów kontrolnych:
zegar odmierzający czas pracy sterownika
zegar podtrzymujący aktualną datę i czas
zegar kontrolujący czas trwania cyklu pracy sterownika w trybie ze stałym czasem cyklu
generator (zegar) sygnału prostokątnego o zmiennej podstawie czasu
Zegar odmierzający czas pracy sterownika
Zegar ten wykorzystuje 100ms odstępy czasu do odmierzania czasu, który upłynął od rozpoczęcia rozruchu jednostki centralnej. Zegar ten jest zerowany po każdym rozruchu. Zegar ten nie może być wyzerowany z poziomu programu sterującego ani programatora, może być jednak odczytywany i wykorzystywany w programach sterujących. Odmierzanie może trwać do około 100 lat po włączeniu zegara.
Zegar podtrzymujący aktualną datę i czas
Zegar ten posiadają jednostki centralne począwszy od CPU331 wzwyż. Posiada on następujące pola: rok, miesiąc, dzień miesiąca, dzień tygodnia, godzina, minuta, sekunda. Zegar może być ustawiany i odczytywany za pomocą programu sterującego i programatora. Zegar uwzględnia lata przestępne do 2079 roku.
Zegar alarmowy sterowników serii 90-30 jest przeznaczony do wykrywania warunków powstawania błędu krytycznego. W takiej sytuacji znacznie wydłuża się czas trwania cyklu pracy sterownika. Zadana wartość porównawcza dla alarmowego wynosi 200ms i nie może zostać zmieniona. Jeśli wartość porównawcza zostaje przekroczona dioda LED oznaczona OK gaśnie, jednostka centralna zostaje zatrzymana; wyjścia przechodzą w stan standardowy, przyjmowany samoczynnie. Wszystkie mikroprocesory modułów zostają zatrzymane i ustaje wszelka komunikacja.
Zegar kontrolujący czas trwania cyklu pracy sterownika w trybie ze stałym czasem cyklu
Zegar ten kontroluje czas trwania cyklu w stosunku do wartości zadanej, która może wynosić od 5 do 200ms (samoczynnie przyjmowane jest 100ms). Jeśli cykl nie zakończy się przed upływem zadanego czasu trwania, a czas trwania poprzedniego cyklu nie został przekroczony, w tablicy błędów działania sterownika zostaje umieszczony komunikat alarmowy, a na początku kolejnego cyklu wartość zmiennej systemowej OV_SWP zostaje ustawiona na 1. Wartość tej zmiennej zostaje ponownie ustawiona na zero, gdy sterownik zostanie przełączony z trybu pracy ze stałym czasem trwania cyklu lub gdy poprzedni cykl nie przekroczy zadanego limitu czasu.
Generator sygnału prostokątnego
Sterowniki serii 90-30 posiadają cztery styki (dostepne dla programisty) generatora sygnału prostokątnego, o podstawach czasu: 0.01s, 0.1s, 1s, oraz 1 minuta. Stykom tym są przyporządkowane zmienne systemowe (odpowiednio T_10MS, T_100MS, T_SEC oraz T_MIN), których wartości zmieniają się w sposób dający sygnał prostokątny o takim samym czasie trwania wartości 1 jak wartości 0 (równym połowie podstawy czasu). Stan tych styków (a więc i przypisanych im zmiennych) nie zmienia się w trakcie wykonywania pojedynczego cyklu.
Błędy sterownika - proces alarmowy
Proces alarmowy prowadzący obsługę błędów działania zawarty jest w systemowym oprogramowaniu jednostki centralnej i komunikuje się z użytkownikiem za pomocą programatora
Błędy działania sterownika zapisywane są w odpowiednich tablicach
Występują trzy typy błędów działania:
Usterki wewnętrzne - to nie zgłaszające się moduły, słabe baterie podtrzymujące pamięć lub błędna suma kontrolna pamięci sterownika
Usterki zewnętrznych modułów wejść/wyjść - to brak zgłoszonej kasety lub modułu lub dołączenie nie zgłoszonego modułu lub kasety
Błędy operacyjne - Błędy komunikacji, niezgodność konfiguracji lub błędne hasło dostępu do sterownika.
Reakcje systemu na błędy działania
Zazwyczaj wewnętrzne błędy sprzętowe wymagają zatrzymania sterownika, lub też błąd jest tolerowany. Usterki zewnętrznych modułów wejść/wyjść mogą być tolerowane przez sterownik jednak mogą stanowić zagrożenie dla procesu, który podlega sterowaniu. Błędy operacyjne są normalnie tolerowane.
Rodzaje błędów
Błędy dzieli się także według wagi błędu. Wyróżniamy błędy:
Krytyczne - błąd zostaje zarejestrowany w odpowiedniej tablicy błędów, wartości odpowiednich zmiennych systemowych zostają ustawione na 1, a sterownik zostaje zatrzymany - przechodzi w stan STOP
Diagnostyczne - błąd zostaje zarejestrowany w odpowiedniej tablicy błędów i wartości odpowiednich zmiennych zostają na 1.
Informacyjne - wyłącznie informacja o błędach zostaje zapisana w odpowiednich tablicach
Tablice błędów działania sterownika i modułów wejść/wyjść
Błędy działania sterownika zapisywane są w odpowiednich tablicach. Gdy błąd powstał w sterowniku zapisywany jest w tablicy błędów działania sterownika, gdy w modułach wejść/wyjść, jego kod zostaje zapisany w tablicy błędów działania modułów wejść/wyjść. Informacje te można odczytać za pomocą programatora. Kody zapisane w tablicy błędów działania sterownika i modułów wejścia/wyjścia dostarczają bardzo szczegółowy opis błędu oraz instrukcję jak błąd usunąć oraz kilka możliwych przyczyn wystąpienia błędu.
Zestawienie możliwych błędów sterownika i modułów wejść/wyjść
W komórkach pamięci adresowanych przez określone zmienne systemowe znajdują się informacje dotyczące ewentualnych błędów działania sterownika i modułów wejść/wyjść sterownika lub niezgodności konfiguracji ze stanem faktycznym. Każdemu rodzajowi błędu zapisanemu w tablicy błędów przyporządkowana jest waga i związany z nią sposób reakcji systemu. Tablica zawiera błędy działania sterownika lub błędy działania układów wejść i wyjść. Ich waga może osiągać trzy wartości: błąd krytyczny, błąd diagnostyczny lub informację o błędzie.
Zazwyczaj wewnętrzne błędy sprzętowe wymagają zatrzymania sterownika, lub też błąd jest tolerowany. Usterki modułów wejść i wyjść mogą być tolerowane przez sterownik, lecz może to stanowić zagrożenie dla procesu sterowania.
Elementy logiczne programu sterującego
Wszystkie instrukcje dostępne podczas budowy programu dla sterowników GE Fanuc można podzielić następująco:
F1- przekaźniki i styki - przekażniki, styki oraz połączenia
F2 - przekaźniki czasowe i liczniki - przekaźniki czasowe; liczniki zliczające w górę i w dół
F3 - funkcje matematyczne - podstawowe działania matematyczne
F4 - relacje matematyczne - porównywanie liczb
F5 - operacje bitowe - operacje na ciągach zero- jedynkowych
F6 - operacje na danych - operacje na zawartości rejestrów
F7 - operacje tablicowe - operacje na tablicach danych
F8 - funkcje konwersji - konwersja danych na inny kod
F9 - funkcje sterujące - funkcje sterujące wykonaniem programu
--| |--
Styk otwarty - przewodzi sygnał gdy wartość logiczna przypisanej mu zmiennej jest równa 1
--| / |--
Styk zamknięty - przewodzi sygnał gdy wartość logiczna przypisanej mu zmiennej jest równa 0
--( )—
Przekaźnik o stykach otwartych, zwieranych w momencie dotarcia sygnału do przekaźnika - wtedy wartość logiczna przypisywanej mu zmiennej ustawiana jest na 1
--( / )--
Przekaźnik o stykach zamkniętych, rozwieranych w momencie dotarcia sygnału do przekaźnika. Wartość logiczna przypisanej mu zmiennej jest ustawiona wtedy na 0.
--(SM)—
Przekaźnik z pamięcią o stykach zwieranych w momencie dotarcia sygnału (wtedy wartość logiczna przypisanej mu zmiennej ustawiana jest na 1). Styki pozostają zwarte a wartość zmiennej 1 pozostaje do czasu zadziałania sprzężonego przekaźnika -(RM)--.
Stan przekaźnika pozostaje niezmieniony nawet przy odcięciu i ponownym załączeniu napięcia
--(RM)--
Przekaźnik o stykach rozwieranych w momencie dotarcia sygnału (wtedy wartość logiczna przypisanej mu zmiennej ustawiana jest na 0). Styki pozostają rozwarte a wartość zmiennej 0 pozostaje do czasu zadziałania sprzężonego przekaźnika -(SM)--.
Stan przekaźnika pozostaje niezmieniony nawet przy odcięciu i ponownym załączeniu napięcia
vert |
Połączenie pionowe
horz --
Połączenie poziome
--<+>
Przekaźnik kontynuacji - jeśli dopływa do niego sygnał, zwiera następujący po nim styk kontynuacji. Jeśli sygnał nie dopływa, styk kontynuacji również pozostaje otwarty
<+>--
Styk kontynuacji, zwierany i rozwierany przez przekaźnik kontynuacji
-(M)--
Przekaźnik o stykach otwartych, zwieranych w momencie dotarcia sygnału do sterownika. Wartość logiczna przypisanej mu zmiennej ustawiana jest wtedy na 1. Stan przekaźnika pozostaje niezmieniony nawet po wyłączeniu i ponownym załączeniu sterownika
--(/M)—
Przekaźnik o stykach zamkniętych, rozwieranych w momencie dotarcia sygnału do przekaźnika.
Wartość logiczna przypisanej mu zmiennej jest wtedy równa 0. Stan przekaźnika pozostaje niezmieniony nawet w przypadku odcięcia zasilania sterownika i ponownego włączenia
--(S)—
Przekaźnik (sprzężony) o stykach zwieranych w momencie dotarcia sygnału (wartość logiczna przypisanej mu zmiennej wynosi wtedy 1). Styki pozostają zwarte , a wartość zmiennej pozostaje 1 aż do zadziałania sprzężonego przekaźnika
-( R )—
--( R )—
Przekaźnik (sprzężony) o stykach rozwieranych w momencie dotarcia sygnału (wartość logiczna przypisanej mu zmiennej wynosi wtedy 0).
Styki pozostają rozwarte, a wartość zmiennej pozostaje 0 aż do zadziałania sprzężonego przekaźnika -( S )--
--(Ⴍ)—
Przekaźnik uaktywniany zboczem sygnału (typ pozytywny). Jeśli do przekaźnika nie docierał sygnał to w momencie dotarcia sygnału wartość logiczna przypisanej zmiennej dyskretnej jest ustawiana na 1 (na czas jednego cyklu).
--(Ⴏ)—
Przekaźnik uaktywniany zboczem sygnału (typ negatywny). Jeśli do przekaźnika docierał sygnał to w momencie dotarcia sygnału wartość logiczna przypisanej zmiennej dyskretnej jest ustawiana na 1 (na czas jednego cyklu).
Liczniki i przekaźniki czasowe
Przekaźnik czasowy z pamięcią (ONDTR) zlicza czas, gdy dopływa do niego sygnał, i zatrzymuje naliczoną wartość, gdy sygnał przestaje dopływać.
Gdy sygnał zacznie dopływać ponownie, zliczanie czasu jest kontynuowane.
Przesłanie sygnału wyjściowego następuje, gdy zliczana wartość osiągnie wartość zadaną. Bieżąca zawartość pamięci przekażnika może zostać wyzerowana poprzez przesłanie sygnału na wejście zerujące przekaźnika.
Czas może być zliczany w dziesiątych, setnych, lub tysięcznych częściach sekundy (ustawienie parametru tmbase).
Przekaźnik czasowy bez pamięci (TMR) zlicza czas, gdy dopływa do niego sygnał i zostaje zerowany, gdy sygnał przestaje dopływać.
Przesłanie sygnału wyjściowego następuje, gdy zliczana wartość osiągnie wartość zadaną
Licznik zliczający w górę (UPCTR) służy do zliczania impulsów sygnału od 0 do zadanej wartości. Podanie sygnału na wejście zerujące powoduje ustawienie bieżącej wartości licznika na 0. Zbocze narastające sygnału wejściowego powoduje zwiększenie wartości bieżącej o 1.
Licznik przesyła sygnał wyjściowy, gdy zliczana wartość osiągnie wartość zadaną
Licznik zliczający w dół (DNCTR) odlicza impulsy sygnału od zadanej wartości do 0. Podanie sygnału na wejście zerujące powoduje skopiowanie wartości zadanej do rejestru, w którym przechowywana jest wartość bieżąca. Każde zbocze narastające sygnału wejściowego powoduje zmniejszenie wartości bieżącej o 1.
Licznik przesyła sygnał wyjściowy, gdy zliczana wartość osiągnie wartość zadaną
Funkcje matematyczne
Funkcje tej grupy wykonują podstawowe działania matematyczne na dwóch liczbach I1 oraz I2, które są parametrami wejściowymi bloku funkcyjnego. Są to funkcje : dodawania (ADD), odejmowania (SUB), mnożenia (MUL), dzielenia (DIV) i dzielenia z resztą dwóch liczb (MOD). Obydwa parametry wejściowe muszą być zgodnych typów.
Funkcje matematyczne wykonują operacje na następujących typach danych :
INT - liczby całkowite ze znakiem,
DINT - liczby całkowite podwójnej precyzji ze znakiem.
ADD
Dodawanie dwóch liczb. Blok funkcyjny ADD przesyła sygnał wyjściowy, gdy wynik działania nie przekracza dopuszczalnego zakresu wartości
SUB
Odejmowanie dwóch liczb. Blok funkcyjny SUB przesyła sygnał wyjściowy, gdy wynik działania nie przekracza dopuszczalnego zakresu wartości
MUL
Mnożenie dwóch liczb. Blok funkcyjny MUL przesyła sygnał wyjściowy, gdy wynik działania nie przekracza dopuszczalnego zakresu wartości
DIV
Dzielenie dwóch liczb. Wynikiem jest iloraz. Blok funkcyjny DIV przesyła sygnał wyjściowy jeśli wynik działania nie przekroczy dopuszczalnego zakresu wartości i nie ma próby dzielenia przez zero
MOD
Dzielenie dwóch liczb. Wynikiem jest reszta z dzielenia. Blok funkcyjny MOD przesyła sygnał wyjściowy gdy nie ma próby dzielenia przez zero
SQRT
Pierwiastek kwadratowy z liczby
TYPES
Wybór typu danych dla bloku funkcyjnego
Relacje matematyczne
Bloki funkcyjne:
EQ - równe,
NE - nierówne,
GT - większe,
GE - większe lub równe,
LT - mniejsze,
LE - mniejsze lub równe
są stosowane w celu porównania dwóch liczb i określenia wiążących je relacji
Gdy do bloku funkcyjnego tego typu dociera sygnał, porównane zostają dwa parametry wejściowe : I1 oraz I2.
Parametry te muszą reprezentować ten sam typ danych. Typ danych może zostać określony za pomocą wywołania opcji TYPES.
EQ
Blok funkcyjny EQ przesyła sygnał wyjściowy gdy liczby są równe (I1=I2)
NE
Blok funkcyjny NE przesyła sygnał wyjściowy gdy liczby nierówne
GT
Blok funkcyjny GT przesyła sygnał wyjściowy gdy pierwszy parametr większy od drugiego (I1>I2)
GE
Blok funkcyjny GE przesyła sygnał wyjściowy gdy pierwszy parametr większy lub równy od drugiego
LT
Blok funkcyjny LT przesyła sygnał wyjściowy gdy pierwszy parametr mniejszy od drugiego
LE
Blok funkcyjny LE przesyła sygnał wyjściowy gdy pierwszy parametr mniejszy lub równy drugiemu
TYPES
Wybór typu danych dla bloku funkcyjnego
Operacje bitowe
Bloki funkcyjne tej grupy wykonują operacje logiczne na ciągach bitów
Maksymalna długość ciągu wynosi 256 słów lub 4096 bitów
Wymagany typ danych to WORD
Dane są wprawdzie pogrupowane w 16-bitowe słowa, lecz traktowane są jako nieprzerwany ciąg bitów, z pierwszym bitem pierwszego słowa stanowiącym bit najbardziej znaczący (MSB) i ostatnim bitem ostatniego słowa stanowiącym bit najmniej znaczący (LSB)
Zachodzące na siebie zakresy adresów parametrów wejściowych mogą być przyczyną niespodziewanych rezultatów działania funkcji
Funkcje AND i OR umożliwiają uzyskanie odpowiednio logicznej koniunkcji i alternatywy dwóch słów bitowych
Funkcja XOR umożliwia wykonanie alternatywy wyłączającej dwóch słów bitowych
Funkcja negacji NOT używana jest do zmiany stanu każdego bitu słowa, które jest parametrem wejściowym bloku funkcyjnego
Funkcja SHL umożliwia przesuwanie wszystkich bitów ciągu słów bitowych w lewo o wyszczególnioną ilość pozycji
Analogicznie funkcja SHR umożliwia przesuwanie ciągu bitów w prawo
Funkcje ROL i ROR powodują również przesuwanie bitów, jednak przesuwanie bitów odbywa się w tzw. obiegu zamkniętym tj. w ciągu bitów który podlega obrotowi
Funkcja BTST jest stosowana do określenia wartości danego bitu słowa bitowego
Funkcja BSET umożliwia ustawienie na 1 a funkcja BCLR skasowanie (ustawienie wartości 0) dowolnego bitu słowa bitowego
Blok BPOS służy do lokalizacji w słowie bitowym pierwszego bitu o wartości 1
AND
Logiczne `i' AND dwóch słów bitowych
OR
Logiczne `lub' OR dwóch słów bitowych
XOR
Logiczne `albo' XOR dwóch słów bitowych
NOT
Logiczna negacja słowa bitowego
SHL
Przesunięcie słowa bitowego o jedno miejsce w lewo (na pierwszą pozycję jest wpisywane 0)
SHR
Przesunięcie słowa bitowego o jedno miejsce w prawo (na ostatnią pozycję jest wpisywane 0)
ROL
Przesunięcie słowa bitowego o jedno miejsce w lewo, bit który przed przesunięciem był ostatnim staje się pierwszym
ROR
Przesunięcie słowa bitowego o jedno miejsce w prawo, bit który przed przesunięciem był pierwszym staje się ostatnim
BITTST
Sprawdzenie wartości logicznej zadanego bitu słowa bitowego
BITSET
Ustawienie wartości logicznej zadanego bitu słowa bitowego
BITCLR
Skasowanie wartości logicznej zadanego bitu słowa bitowego
BITPOS
Zlokalizowanie pierwszego bitu o wartości logicznej 1 w danym słowie bitowym
TYPES
Wybór typu danych dla bloku funkcyjnego
Operacje na danych
Bloki tej grupy instrukcji wykonują operacje na danych
Obejmują one operacje:
przesyłania danych z określonego miejsca pamięci sterownika w inne - funkcja MOVE,
kopiowanie wartości stałych w określone miejsce pamięci sterownika - funkcja BLKMOV,
zerowanie fragmentu pamięci sterownika - funkcja BLKCLR,
przemieszczanie bitów lub słów - funkcja SHFR,
przemieszczanie bitu o wartości 1 w górę lub dół słowa bitowego będącego argumentem funkcji
W grupie operacji na danych znajduje się także funkcja COMMREQ - służąca do nawiązywania komunikacji z jednym z modułów specjalnych takimi jak np. moduł komunikacyjny czy modułem koprocesora programowalnego.
Przyporządkowując parametrom bloków funkcyjnych tej grupy adresy zmiennych należy zwracać uwagę, aby zakresy adresów parametrów wejściowych i wyjściowych nie nakładały się na siebie
W przypadku funkcji wykonujących operacje na ciągach wielu słów bitowych przypadek opisany powyżej może spowodować błędne, trudne do przewidzenia działanie funkcji.
MOVE
Przesłanie bitu lub słów bitowych w obrębie pamięci sterownika
BLKMOV
Przesłanie maksymalnie siedmiu stałych do pamięci sterownika
BLKCLR
Skasowanie bitu lub słów bitowych w pamięci sterownika
SHFREG
Przesłanie jednego bitu do rejestru przemieszczającego, z jednoczesnym przesunięciem zawartości tego rejestru w lewo i przesłaniem ostatniego bitu rejestru w określone miejsce pamięci sterownika. Operacja możliwa też na słowach bitowych
BITSEQ
Przesuwanie ciągu bitów w pewnym obszarze pamięci
COMREQ
Zainicjowanie komunikacji z jednym z modułów sterownika (np. koprocesora, licznikiem wysokiej częstotliwości)
TYPES
Wybór typu danych dla bloku funkcyjnego
Operacje tablicowe
Funkcje wchodzące w skład operacji tablicowych służą głównie do przeszukiwania tablicy w poszukiwaniu wartości, która odpowiada pewnej relacji z argumentem bloku funkcyjnego
Mogą to być następujące relacje:
równości - funkcja SRCH_EQ,
nierówności - funkcja SRCH_NE,
większości - funkcja SRCH_GT,
mniejszości - funkcja SRCH_LT,
większy lub równy - SRCH_GE i mniejszy lub równy SRCH_LE
DO grupy operacji tablicowych należy także funkcja ARRAY_MOVE służąca do kopiowania określonej liczby danych z tablicy źródłowej do tablicy docelowej
Bloki funkcyjne wykonujące operacje tablicowe działają na następujących typach danych:
INT, DINT, BIT, BYTE i WORD, a w przypadku funkcji ARRAY_MOVE także na typie: BIT
SRH EQ
Przeszukiwanie tablicy w poszukiwaniu równych wartości zadanych
SRH NE
Przeszukiwanie tablicy w poszukiwaniu rożnych od wartości zadanych
SRH GT
Przeszukiwanie tablicy w poszukiwaniu większych od wartości zadanych
SRH GE
Przeszukiwanie tablicy w poszukiwaniu większych lub równych od wartości zadanych
SRH LT
Przeszukiwanie tablicy w poszukiwaniu mniejszych od wartości zadanych
SRH LE
Przeszukiwanie tablicy w poszukiwaniu mniejszych lub równych od wartości zadanych
ARRMOV
Skopiowanie określonej liczby danych z tablicy źródłowej do tablicy docelowej
TYPE - wybór typu danych dla bloku funkcyjnego
Funkcje konwersji
Ponieważ wiele bloków funkcyjnych musi operować na danych tego samego typu oraz zachodzą potrzeby zmiany typów danych oprogramowanie udostępnia bloki funkcyjne służące do konwersji typów danych
Funkcja `ႮBCD4' stosowana jest do zastąpienia danych zapisanych jako liczba całkowita ze znakiem (typ INT) przez równoważną liczbę zapisaną w kodzie BCD4
Funkcja `ႮINT' dokonuje konwersji odwrotnej tj. z liczby zapisanej w kodzie BCD4 na liczbę zapisaną jako liczba całkowita ze znakiem - typ INT.
symbol |
opis funkcji |
ႮBCD4 |
Konwersja wartości typu INT na kod BCD4 |
ႮINT |
Konwersja wartości typu BCD4 na INT ze znakiem |
TYPES |
Wybór typu danych dla bloku funkcyjnego |
Funkcje sterujące
Funkcje sterujące umożliwiają sterowanie wykonywaniem programu, zmianę sposobu jego działania lub wprowadzenie pewnych ograniczeń
W tej grupie znajdują się funkcje służące do wywoływania procedur - funkcja CALL, także funkcja tymczasowego końca programu sterującego - END, instrukcje skoków do miejsc w programie sterującym do miejsc oznaczonymi etykietami - instrukcje skoków JUMP i JUMPN i odpowiadające im etykiety LABEL i LABELN
Innymi blokami z kategorii funkcji sterujących są instrukcje nakazujące wykonanie programu w obszarze zawartym pomiędzy instrukcjami MCRN i ENDMCRN oraz MCR i ENDMCR bez dopływu sygnału z szyny zasilającej
Kolejne bloki to DO_IO służące do natychmiastowego uaktualniania stanu wejść i wyjść, a także SVCREG wywołujące jedną z funkcji specjalnych sterownika
W grupie funkcji specjalnych znajdują się także bloki regulatorów PID tj. regulator standardowy PID_ISA oraz regulator o niezależnych wyrazach PID_IND.
CALL
Przywołanie określonej procedury podczas wykonywania programu sterującego. Funkcja CALL zawsze wysyła sygnał wyjściowy
DO IO
Natychmiastowe uaktualnienie stanu zadanych wejść i wyjść sterownika. Kopia stanu wejść i wyjść może być zapisana w pamięci
PIDSA
Regulator PID typu ISA
PIDIND
Regulator PID typu IND (o niezależnych wyrazach)
END
Tymczasowy koniec programu. Program sterujący wykonywany jest od pierwszego do ostatniego szczebla drabiny logicznej lub do napotkania instrukcji END, w zależności od tego, który z tych elementów pojawi się pierwszy
COMMNT
Komentarz dotyczący szczebla programu
SVCREQ
Uruchomienie jednej ze specjalnych funkcji sterownika
MCRN
Wykonanie wszystkich szczebli programu sterującego zawartych pomiędzy instrukcją MCRN a ENDMCRN bez dopływu sygnału z szyny zasilającej
ENDMCRN Koniec fragmentu programu, którego początek jest zaznaczony przez instrukcję MCRN
JUMPN
Instrukcja skoku do miejsca drabiny logicznej programu oznaczonego etykietą LABELN
LABELN
Etykieta skoku dla funkcji JUMPN
MCR
Instrukcja powodująca wykonanie wszystkich szczebli programu sterującego, zawartych pomiędzy instrukcją MCR a odpowiadającą jej instrukcją ENDMCR, bez dopływu sygnału z szyny zasilającej
ENDMCR
Koniec fragmentu programu, którego początek jest zaznaczony przez instrukcję MCR
JUMP
Instrukcja skoku do miejsca drabiny logicznej programu, oznaczonego etykietą LABEL. Nie może być zapętlana
LABEL
Etykieta skoku dla funkcji JUMP
Wizualizacja jest graficzną prezentacją na ekranie komputera działania modelowanego lub rzeczywistego procesu technologicznego
System wizualizacji rozpatruje się w kontekście współdziałania człowieka z komputerem (ang. Human Computer Interaction - HCI).
System ten ma umożliwić operatorowi kontakt z systemem automatyki zainstalowanym na obiekcie; rolą takiego systemu jest realizowanie zadań określanych często w literaturze przedmiotu poprzez skróty MMI i SCADA
MMI (ang. Man Machine Interfece) - interfejs człowiek - maszyna - jest to warstwa oprogramowania najbliższa operatorowi; zapewnia komunikację człowieka z systemem automatyki
SCADA (ang. Supervisory Control and Data Acquisition) - system nadrzędnego sterowania i zbierania danych - gromadzi dane oraz umożliwia sterowanie parametrami procesu technologicznego
Większość stosowanych systemów wizualizacji wykorzystuje mechanizmy nowoczesnych graficznych interfejsów użytkownika (ang. Graphical User Interface - GUI), w których użytkownik ma do dyspozycji okna dialogowe, okna menu lub bezpośrednią manipulację obiektami
Zadania systemu wizualizacji
Zainstalowany na obiekcie system wizualizacji, sterowania i nadzoru nad przebiegiem procesu technologicznego powinien zapewniać:
Komunikację ze sprzętem automatyki (np. ze sterownikami PLC)
Wizualizację procesu w czasie rzeczywistym (graficzne przedstawienie przebiegu procesu)
Ingerencję w ten proces przez uprawnione osoby)
Wszechstronną analizę wybranych parametrów procesu
Archiwizację danych
Prezentację danych bieżących (trendy) oraz raportowanie (dzienne i okresowe)
Generowanie komunikatów informacyjnych, ostrzegawczych i alarmowych
Wymianę danych z innymi aplikacjami (np. arkuszami kalkulacyjnymi i bazami danych)
Skalowalność (tzn. możliwość rozbudowy) systemu sterowania
Tworzenie aplikacji w InTouch`u
Utworzyć (lub uruchomić już założony) swój katalog
Utworzyć odpowiednią liczbę okien w programie WindowMaker, nadać im odpowiednie atrybuty
Przejść do programu WindowViewer; sprawdzić działanie aplikacji
Sterowanie przełączaniem okien
a/
sterowanie z okna głównego - w oknie głównym pokazany jest ogólny schemat procesu technologicznego z rozbiciem na charakterystyczne obiekty; najazd kursorem myszy na określony obiekt spowoduje powstanie ramki wokół tego obiektu a kliknięcie lewym klawiszem umożliwi przejście do ekranu, który zawiera szczegóły związane z wybranym obiektem
b/
sterowanie z okna Menu. Naciśnięcie odpowiedniego klawisza spowoduje otwarcie związanego tematycznie okna (np. raporty, trendy, nastawy itd.) Ponadto naciśnięcie klawisza „Przejdź do..” otworzy pomocnicze okno zawierające wykaz wszystkich okien dostępnych w danej aplikacji; wybranie odpowiedniego numeru (nazwy) okna spowoduje jego otwarcie
c/
sterowanie klawiszami „<” (przewiń wstecz) lub „>” (przewiń wprzód) umieszczonymi w prawym dolnym rogu każdego przewijalnego okna zapewni wyświetlanie kolejnych (jedno za drugim) okien
d/
wywołanie okna powiązanego np. z wystąpieniem określonego alarmu generowane jest przez system.
Okno alarmowe przesłania pozostałe okna (może również zadziałac sygnał akustyczny); jego zamknięcie wymaga z reguły interwencji operatora (potwierdzenie przyjęcia alarmu)
Typy okien
Okno podmieniajace (replace) zastępuje każde okno, którego dotyka pojawiając się na ekranie. Każde dotknięte okno zostaje usunięte automatycznie z ekranu, a związane z nim zmienne nie są więcej aktualizowane
Okno przykrywające (overlay) jest otwierane na aktualnie otwartym oknie (oknach), z wyjątkiem okien dominujących (popup). Gdy okno przykrywające zostaje zamknięte, okno (okna) które były nim zasłonięte pojawiają się ponownie
Okno dominujące (popup) jest podobne do okna przykrywającego, ale zawsze pozostaje na wierzchu wszystkich otwartych okien, nawet jeżeli zostanie wybrane inne okno. Usunięcie okna dominującego zwykle wymaga specjalnego polecenia ze strony użytkownika (np. potwierdzenia alarmu)
LITERATURA
I. Książki
Mikulczyński T., Samsonowicz Z. „Automatyzacja dyskretnych procesów produkcyjnych”, Wydawnictwa Naukowo-Techniczne, W-wa, 1997
Mielczarek W., „Szeregowe interfejsy cyfrowe”, Wydawnictwo HELION, 1993
Sacha K., „Sieci miejscowe PROFIBUS”, Wydawnictwo MIKOM, maj 1998
Legierski T., Kasprzyk J., Wyrwał J., Hajda J., „Programowanie sterowników PLC”, Wydawnictwo Pracowni Komputerowej Jacka Skalmierskiego, Gliwice, 1998
„Podstawy sterowników programowalnych PLC”, SIEMENS, W-wa, 1998
Kamiński K., „Programowanie sterownika S7”, Wydawnictwo NORCOM, Gdańsk, 2000
Seta Z., „Wprowadzenie do zagadnień sterowania. Wykorzystanie programowalnych sterowników logicznych PLC”, Wydawnictwo MIKOM, W-wa, wrzesień 2002
Orłowski H., „Komputerowe układy automatyki”, Wydawnictwa Naukowo-Techniczne, W-wa, 1987
Nawrocki W., „Komputerowe systemy pomiarowe”, Wydawnictwa Komunikacji i Łącznośći, W-wa, 2002
II. Czasopisma
PAK (Pomiary,Automatyka,Kontrola)
PAR (Pomiary,Automatyka,Robotyka)
Maszyny, Technologie, Materiały
III. Katalogi i materiały producentów, strony internetowe producentów i dostawców