Logiczne układy sterowania
laboratorium
Ćwiczenie 2:
Laboratoryjny model linii produkcyjnej (Simatic S7-314)
Opracowanie:
Łukasz Furtek
Przemysław Guzek
Bartłomiej Haraszczuk
IV EDA, L01
Rzeszów, 2007
Opis sterownika
Sterownik mikroprocesorowy SIMATIC S7-314 należy do klasy urządzeń cyfrowych stosowanych w układach automatyzacji i regulacji procesów technologicznych. O szerokim zastosowaniu tych urządzeń zadecydował rozwój techniki cyfrowej i związane z nim obniżenie kosztów i poprawa parametrów. Zastosowanie techniki cyfrowej w układach automatyki stwarza wiele nowych możliwości. Jako najważniejsze z nich można wymienić:
Operatywną kontrolę wartości wielu parametrów, szybkiego wykrywania stanów awaryjnych, rejestracji warunków, w jakich przebiega proces technologiczny.
Realizację skomplikowanych reguł sterowania. Zastosowanie urządzeń cyfrowych, a w szczególności sterowników, umożliwia realizację praktycznie dowolnie złożonych algorytmów sterowania, ze sterowaniem optymalizacyjnym i adaptacyjnym włącznie.
Przyśpieszenie procesów przebiegających etapowo, w których przejście do następnego etapu może nastąpić dopiero po osiągnięciu pewnego stanu, wykrywanego przez kontrolę wartości wielu parametrów.
Zwiększenie dokładności sterowania.
Automatyzację obiegu materiałów w zakładzie.
Wizualizację procesów technologicznych, raportowanie alarmów i zdarzeń, rejestrację wartości mierzonych z możliwością archiwizacji danych.
Gromadzenie i obróbka informacji o procesie sterowanym, czyli tzw. centralna rejestracja i przetwarzanie danych (CRPD), w tym szeroko rozumiana sygnalizacja.
Funkcje spełniane przez te układy można podzielić następująco:
Obieganie w określonej kolejności wielu (kilkudziesięciu do kilkuset) kanałów pomiarowych, dokonywanie pomiarów cyfrowych z przełączaniem zakresów pomiaru
i ewentualnie linearyzacja nieliniowych charakterystyk źródeł sygnałów, cyfrowa rejestracja wyników pomiarów.
Wykrywanie przekroczeń założonych ograniczeń zmian wielkości mierzonych, sygnalizacja zaistnienia przekroczenia.
Wyznaczenie wartości maksymalnej lub minimalnej parametru, tendencji zmian wartości parametrów.
Przetwarzanie zbieranych danych wg programów umożliwiających uzyskanie uogólnionych, syntetycznych wskaźników analizowanego procesu.
Układy CRPD umożliwiają znaczne odciążenie personelu kontrolującego procesu technologicznego.
Pośrednie sterowanie przebiegiem procesu, realizowane za pomocą regulatorów współpracujących ze sterownikiem. Takie sterowanie jest nazywane sterowaniem nadrzędnym.
Sterowanie włączania i wyłączania silników, zaworów i innych mechanizmów, sterowanie transportu itp. Tego typu sterowanie nazywa się sterowaniem sekwencyjnym.
Sterowanie przesunięć liniowych i kątowych. Jako przykład podać można układy sterowania obrabiarek numerycznych.
Bezpośrednie sterowanie cyfrowe przebiegu procesu (DDC - ang. Direct Digital Control).
Termin ten oznacza takie sterowanie procesu przez sterownik PLC, przy którym oddziałuje on bezpośrednio na proces objęty sterowaniem. Sterownik zadania te realizuje poprzez pakiety modułów WEJ/WYJ. Moduły wejściowe to moduły wejść analogowych AI, cyfrowych DI, impulsowych C (licznikowe). Wśród modułów wyjściowych wyróżnić możemy moduły wyjść cyfrowych DO oraz moduły wyjść analogowych AO.
Zasada działania
Zasada działania SIMATIC S7-314 oparta jest na następujących jednostkach funkcjonalnych:
Pamięć programu
Pamięć zawierająca program użytkowy
Procesor
Procesor cyklicznie wykonuje program tj. na początku każdego cyklu procesor odczytuje stan wszystkich wejść i zapisuje go do obrazu wejść procesu (PII). Następnie program jest wykonywany krok po kroku, pod kontrolą wewnętrznych liczników i członów czasowych. Procesor zapamiętuje nowe stany w obrazie wyjść procesu (PIQ). Stąd są one przesyłane na wyjścia.
Rys. 2.1. Schemat funkcjonalny SIMATIC S7-314
Informacje ogólne
Konfiguracja jest to rozmieszczenie modułów w tabeli konfiguracji. Tak jak
w rzeczywistym systemie, ustawia się moduły na listwie montażowej przy użyciu STEP 7. Wybiera się moduły z elektronicznego katalogu i wstawia się je w odpowiednie pola tabeli konfiguracji. Pole w tabeli konfiguracji powinno odpowiadać rzeczywistemu gniazdu na listwie montażowej. STEP 7 przypisuje następnie adresy dla każdego modułu w tabeli konfiguracyjnej.
Parametryzacja oznacza określenie charakterystyk i zachowań parametryzowanych modułów. Przykładem jes moduł CPU, który jest parametryzowanym modułem i czas cyklu monitorowania jest parametrem, który można ustawić.
Przed wprowadzeniem nowej konfiguracji i parametryzacji CPU musi być stworzony projekt i zaznaczony obiekt, który ma być skonfigurowany (w tym przypadku SIMATIC 300 station). Aby upewnić się, że nie ma żadnych starych bloków w CPU, przed załadowaniem nowo stworzonej konfiguracji do CPU należy wykonać reset pamięci.
Wykonanie resetu pamięci CPU
Kolejność czynności:
Kliknięcie w menu SIMATIC Managera: View → Interfaces → Accesible Nodes i wybranie adresu MPI CPU w następnym okienku dialogowym, dla ustawienia połączenia on-line. W ten sposób stworzone zostało połączenie z CPU.
Wyświetlenie bieżącego statusu CPU przy pomocy komendy PLC → Operating Mode.
Zatrzymanie pracy CPU poprzez naciśnięcie przycisku stop i wyjście z okienka dialogowego
Wywołanie funkcji Memory reset przez komendę menu: PLC → Clear/Reset
i potwierdzenie. W wyniku tej czynności wykonują się następujące procesy:
CPU jest zresetowany i cały program użytkowy jest skasowany.
Parametry CPU i modułów są zresetowane do ustawień domyślnych.
CPU zrywa wszystkie istniejące połączenia.
Wykonanie konfiguracji i parametryzacji S7-300
Rys. 3.3.1. Przykład tabeli konfiguracji
Kolejność czynności:
Wybór stacji w okienku projektu i przywołanie tabeli konfiguracji z menu komend: Edit → Open Object. Tabela konfiguracyjna pojawia się na ekranie.
Jeżeli nie jest jeszcze otwarty, otworzenie katalogu sprzętu przy pomocy komendy: View → Catalog. Otwarty jest w ten sposób katalog wszystkich dostępnych modułów.
W katalogu sprzętu wybieramy szynę montażową: SIMATIC 300 → RACK 300 → Rail
i przeciągnięcie i upuszczenie w pierwszej linii tabeli konfiguracyjnej. Wybrana szyna montażowa jest wyświetlona w pierwszej linii tabeli konfiguracyjnej.
Otworzenie listwy montażowej poprzez kliknięcie "+" w tabeli konfiguracyjnej (na lewo od pola mounting rack)
W katalogu sprzętu wybieramy moduły, które będą używane: SIMATIC 300:
Moduł zasilania (PS 307_2A)
CPU (CPU 314)
Inne moduły np. moduł symulatora (SM 323_DI8/DO8), umieszcza się je w liniach 1,2,4 i dalszych tabeli konfiguracji. Trzecie pole jest zarezerwowane dla modułu, który nie jest w tym przypadku wymagany (IM).
W tabeli konfiguracji możemy wykonać parametryzację poprzez podwójne kliknięcie na linii modułu do parametryzacji i odpowiednie nadanie wartości.
Zachowanie konfiguracji: File → Save.
Załadowanie konfiguracji do S7-300: PLC → Download. Cała konfiguracja jest załadowana do CPU i staje się ważna natychmiastowo.
Struktura programu użytkowego
Program użytkowy składa się z bloków logicznych i bloków danych. Bloki logiczne są blokami z sekcjami kodu, są to bloki organizacyjne, bloki funkcyjne
i funkcje.
Bloki organizacyjne (OB) kształtują połączenie pomiędzy systemem operacyjnym a programem użytkownika. W celu stworzenia programu użytkowego LAD dla S7 CPU bloki organizacyjne są konieczne dla danego zagadnienia automatyki. W najbardziej podstawowych przypadkach są potrzebne następujące bloki:
Inicjujące (OB100, OB101)
Proces cykliczny (OB1)
Obsługa błędu (OB80 do OB87, OB121, OB122) na wypadek, gdy CPU nie przechodzi w stan STOP, jeśli wystąpi błąd.
Dodatkowo istnieją bloki organizacyjne do obsługi przerwań CPU lub innych przerwań.
Każdy blok organizacyjny może być zaprogramowany przy użyciu funkcji (FC) oraz bloków funkcyjnych (FB) wywołując je w sekcji kodu. Przy wywoływaniu bloków należy wstawić wymagane dane w deklarowanych parametrach.
Blok funkcyjny (FB) jest blokiem logicznym z powiązanymi z nimi blokami danych. Bloki danych zostały przypisane do bloku funkcyjnego i przechowują aktualne parametry i stałe odnoszące się do danego bloku funkcyjnego.
Funkcja (FC) jest blokiem logicznym bez przypisanego bloku danych. Po wykonaniu bloku wyjściowe parametry zawierają obliczone wartości.
System operacyjny dostarcza następujących danych:
zewnętrzny I/O
I/O procesu
bity pamięci
timery
liczniki
Dodatkowo można zdefiniować następujące własne dane:
Dane współdzielone, które mogą być dostępne i używane przez cały program użytkownika, mogą być tworzone w blokach danych.
Stałe, są ważne tylko wewnątrz bloków funkcyjnych, w których zostały zdefiniowane.
Dane tymczasowe, mogą być definiowane przy tworzeniu bloków logicznych. Dane te wymagają pamięci tylko przy wykonywaniu danego bloku.
Bloki danych przechowują dane programu użytkowego. Istnieją bloki współdzielonych danych i lokalnych danych.
Współdzielone DB dostępne przez wszystkie bloki programu.
Lokalne DB są przypisane do bloków funkcyjnych i zawierają dane bloku i dane wszystkich powtarzających się danych Z tego powodu odwoływanie się do lokalnego bloku danych powinno mieć miejsce tylko w połączeniu z poszczególnym blokiem funkcyjnym.
Programy uruchomione na zajęciach
Wejścia I0.0 oraz I0.1 tworzą bramkę and. Szeregowo dołączone wejście I0.2 tworzy bramkę or. Nastąpi przepływ sygnału jeśli I0.0 i I0.1 będzie równe 1, lub I0.2 będzie równe 1.
Stan wyjścia Q 4.0 jest 1 jeśli: wejścia I0.0 i I0.1 mają stan 1, lub stan na wejściu I0.2 jest 0.
Stan wyjścia Q 4.1 jest 1 jeśli: wejścia I0.0 i I0.1 i I0.3 mają stan 1 lub na wejściu I0.2 jest 0 i na wejściu I0.3 jest 1.
Stan na wyjściu Q 4.0 jest 1 jeśli: stan na wejściu I0.0 nie jest 1 lub stan nie jest 1 na wejściu I0.1 lub I0.2.
Prosty przerzutnik
Wyjście Q4.0 jest ustawione na 1 jeżeli wejście I0.0 i I0.1 jest ustawione na 1 i pozostaje w tym stanie niezależnie od późniejszych zmian na wejściach I0.0 i I0.1
Wyjście Q4.0 jest ustawione na 0 jeżeli wejście I0.2 jest ustawione na 0 i I0.3 jest ustawione na 1 i pozostaje w tym stanie niezależnie od późniejszych zmian na wejściach I0.2 i I0.3.
Licznik zliczający w górę lub w dół.
Zmiana stanu wejścia I0.2 z 0 na 1 ustawia wartość początkową licznika na 55. Jeżeli stan wejścia I0.0 zmieni się z 0 na 1, zawartość licznika jest zwiększana o 1. Jeżeli wejście I0.1 zmieni się z 0 na 1 – zawartość licznika jest zmniejszana o 1. Jeżeli wejście I0.3 zmieni się z 0 na 1, zawartość licznika jest kasowana (ustawiana na 0). Stan wyjścia Q4.0 jest 1, jeżeli zawartość licznika jest różna od zera. Licznik może zliczać od 0 do 999.
Timer jako impuls.
Na wejście TV podajemy czas jaki chcemy odmierzać. Jeżeli stan I0.0 zmieni się z 0 na 1 – timer rozpoczyna odmierzanie, i odmierza dopóki czas nie upłynie lub stan I0.0 zmieni się na 0. Zmiana stanu I0.1 na 1 powoduje wykasowanie timera. Stan na wyjściu Q4.0 jest 1, gdy timer odlicza.
Timer jako przedłużony impuls – działa analogicznie jak poprzedni timer z tą różnicą, że timer rozpocznie odmierzanie czasu po pojawieniu się 1 na I0.0 i nie przerwie go przy jakichkolwiek zmianach stanu wejścia I0.0.
Timer jako opóźnienie włączenia – działa analogicznie jak pierwszy timer – jednak wyjście Q4.0 zostaje załączone dopiero po upłynięciu odmierzanego czasu. Wejście resetujące kasuje odmierzanie czasu oraz zeruje wyjście Q0.4.
Timer jako opóźnienie włączenia z zapamiętaniem – działa analogicznie jak trzeci z omawianych timerów, jednak nie reaguje on na zmianę sygnału na wejściu I0.0 z 1 na 0. Dopiero po powtórnej zmianie sygnału z 0 na 1, timer rozpoczyna odliczanie od nowa. Wyjście jest ustawiane na 1 po zakończeniu odmierzania czasu.
Timer jako opóźnienie wyłączenia – podobnie jak timer z opóźnieniem włączenia, z tym że na wyjściu jest 1 wtedy gdy na wejściu jest 0 lub timer odmierza czas. Po tym czasie na wyjściu zostaje ustawione 0.
Schemat w postaci bloku dla omówionych timerów jest identyczny dla wszystkich ich typów. Różnią się one tylko nazwą.
Instrukcja przypisania wartości MOVE - pozwala na zadanie wyspecyfikowanej wartości. Wartość wyspecyfikowana na wejściu IN jest kopiowana do adresu określonego na wyjściu O. Z bloczkiem MOVE instrukcja przypisania wartości może skopiować wszystkie typy danych o długości 8, 16 lub 32 bitów.
Instrukcja jest wykonywana przy stanie 1 na wejściu I0.0 Zawartość MW10 jest przepisana do adresu DBW12. Wyjście Q4.0 ma stan 1 wtedy, gry operacja została wykonana poprawnie.
Powyższe programy, tworzone jako schemat drabinkowy, obrazują działanie elementarnych instrukcji logicznych złożonych z bramek AND, NAND, OR oraz NOR. Bramki te implementowane są jako styki „normalnie zamknięte” i „normalnie otwarte”. Wejścia (I X.X), które przyjmują stany binarne wyzwalają te styki, a wartość logiczna takiej operacji podawana jest na wyjściu (Q X.X) w zależności od realizowanej funkcji.
Timery są bardzo często stosowane w praktyce, wszędzie tam gdzie konieczne jest odliczanie czasu. A takich aplikacji jest bardzo dużo. Wymienić tu można choćby sterownik pralki automatycznej, sterownik świateł na skrzyżowaniu itp. Układy licznikowe zastosowane w sterowniku Simatic, mogą reagować na zbocze narastające, opadające, na załączenie itd., w zasadzie tylko wyobraźnia programisty ogranicza ich możliwości.
Narzędzie „śledzenia” programu, pozwala nam na wygodną obserwację działania programu na schemacie drabinkowym w trakcie jego wykonywania – jest to bardzo pomocne przy analizie poprawności programu.
Sieć Petriego
Naszym zadaniem jest przekształcenie sieci Petriego do postaci umożliwiającej wprowadzenie jej do sterownika w postaci programu drabinkowego. Dokonamy tego zgodnie z zasadą: miejsca oznaczają przerzutniki, tranzycie – bramki and.
P1 – P7 – miejsca sieci
T1 – T6 – tranzycie
Znakowanie początkowe – po jednym znaczniku w miejscach P1, P2 i P3.
Rys. 6.1 Sieć Petriego
Rys. 6.2 Program drabinkowy odpowiadający sieci Petriego
Na powyższym schemacie zastosowano kilka uproszczenia, dzięki którym schemat jest bardziej przejrzysty. Przyjmujemy, że dla każdej tranzycji warunkiem do jej odpalenia jest stan odpowiedniego dla każdej z nich wejścia I0.1 – I0.6. Wejście I0.0 Załącza cały układ i powoduje umieszczenie znaczników w odpowiednich polach zgodnie z sytuacją początkową. Każde z tych wejść powinno być podłączone do źródła sygnału (w oknie projektu do lewej jego części). Wyjście każdego z przerzutników jest jednocześnie jego nazwą. Aby ułatwić wprowadzanie poszczególnych elementów schematu przyjęliśmy oznaczenia miejsc za każdą z tranzycji przez merkery M0.1 - M0.7.
Przesyłamy tak skonstruowany schemat to sterownika i obserwujemy jego działanie obserwując jednocześnie podgląd stanów poszczególnych elementów schematu na ekranie komputera.
Podsumowanie
Seria trzech ćwiczeń miała na celu zapoznanie nas ze sterownikiem Simatic S7-314 oraz programem STEP7 służącym do programowania sterownika. Intuicyjny interfejs graficzny programu jest bardzo przyjazny nawet dla początkujących programistów. Pierwsze 2 ćwiczenia miały na celu zaznajomienie nas z konfiguracją sterownika a także podstawowymi funkcjami jakie potrafi on wykonać. Trzecie ćwiczenie laboratoryjne docelowo miało nas zaznajomić z modelem linii produkcyjnej podłączonej do badanego sterownika. Jednak z powodu uszkodzenia modelu nie mogliśmy „namacalnie” zweryfikować poprawności działania programu utworzonego na podstawie sieci Petriego opisującej proces technologiczny grzania, kucia i hartowania.
Sterownik Simatic S7 jest powszechnie stosowanym drajwerem przemysłowym, dlatego też wiadomości zdobyte podczas realizacji tych pouczających ćwiczeń laboratoryjnych zaowocują w przyszłości.