PLC Siemens S5 95 PLC GE Fanuc VersaMax AiR PLC Programowalny sterownik logiczny PLC PLC Siemens S7 200 Cykl PLC S7-200 ; typowo 3-10ms WEJŚCIA styki mechaniczne, przełączniki zbliżeniowe STEROWNIK Program sterujący wprowadzony do pamięci Odczyt - realizacja programu - zapis WYJŚCIA silniki, solenoidy 3 11 16 PLC a mikrokomputer Programowanie sterowników PLC dotyczy przede wszystkim logiki i operacji przełączania. Interfejs (płaszczyzna styku pomiędzy dwoma systemami lub urządzeniami) dla urządzeń i jest wewnątrz sterownika PLC. Sterowniki PLC jako urządzenia przemysłowe są bardziej odporne na działanie czynników zewnętrznych tj. wibracji, temperatury, wilgoci oraz hałasu. S7 200 - PC Zasady programowania w języku drabinkowym PLC Obwody programowanego układu są rozmieszczone w postaci poziomych linii zawierających (styki) oraz (cewki). Wejścia zawsze poprzedzają i mogą mieć formę styków normalnie otwartych lub styków normalnie zamkniętych. W każdej linii programu musi być co najmniej jedno wyjście, odpowiadające dowolnemu urządzeniu sterowanemu przez PLC. Wejścia i posiadają przypisane symbole tworząc instrukcje schematu drabinkowego. Język drabinkowy zawiera także takie elementy jak liczniki, timery oraz funkcje arytmetyczne służące do wykonywania złożonych sekwencji programowych. 4 12 15 Zasada działania PLC Urządzenia (np. mechaniczne styki, przełączniki zbliżeniowe) oraz urządzenia (np. silniki, solenoidy) z maszyny lub procesu, które mają być kontrolowane, są podłączone do PLC. Użytkownik wprowadza sekwencję instrukcji (znaną jako program) do pamięci PLC. Urządzenie sterujące kontroluje wtedy w sposób ciągły stan wejść i wyjść, zgodnie z programem użytkownika. 7 Charakterystyka S7 200 1. Moduł centralny S7-200 jest zwartym urządzeniem, składającym się z jednostki centralnej (CPU) oraz modułów rozszerzeń. 2. Procesor (CPU) realizuje przetwarzanie programu i zapamiętywanie danych procesu automatyzacji. 3. Dodatkowe i można zrealizować poprzez dołączenie modułów rozszerzeń. 4. Moduł zasilacza zasila jednostkę centralną i wszystkie przyłączone moduły rozszerzające. 5. Wejścia i łączą sterownik z obiektem : I0.0 I0.7 nadzorują poziom sygnałów urządzeń wykonawczych (np. przełączniki lub czujniki), a Q0.0 Q0.5 sterują pracą pomp, silników i innych urządzeń automatyki. 6. Za pomocą interfejsu komunikacyjnego (łącza PPI) można do jednostki centralnej przyłączyć programator i inne urządzenia. Niektóre procesory S7-200 posiadają dwa interfejsy komunikacyjne. 7. Wskaźniki stanu (diody LED) informują o trybie pracy procesora (RUN lub STOP), bieżącym stanie sygnałów na zintegrowanych ch i ch, oraz o ewentualnych błędach systemowych. 8. Gdy zachodzi konieczność użycia zegara czasu rzeczywistego należy wybrać odpowiednią jednostkę centralną CPU, ponieważ nie wszystkie CPU posiadają wbudowany zegar czasu rzeczywistego. Interpretacja schematu drabinkowego Dwie linie pionowe nazywane są liniami zbiorczymi i reprezentują połączenie zasilania, w tym wypadku V i 0V. Każda z poziomych linii jest linią programu. Wyjście umieszczone na linii programu jest włączone jeżeli styki doprowadzają zasilanie (V) do cewki. Podczas programowania w języku drabinkowym należy zwrócić uwagę na fakt, iż program jest wykonywany przez PLC począwszy od pierwszej linii, której instrukcje są wykonywane kolejno od lewej do prawej strony i dopiero wówczas program wykonuje instrukcje kolejnej linii. 13 17 Schemat blokowy PLC Panel tekstowy Sposoby prezentacji programu PLC Porty ON OFF Interfejs Pamięć obrazu 0 1 Pamięć obrazu 0 1 CPU Główny przewód komunikacyjny Pamięć Interfejs Porty ON OFF 8 Urządzenie S7-200 TD jest 2- lub 4-liniowym panelem tekstowym, który może być podłączony do sterownika S7-200. Urządzenie TD umożliwia podgląd, monitorowanie oraz zmianę zmiennych procesowych należących do aplikacji. 6 - LAD - Ladder Diagram Schemat drabinkowy - STL - Statement Lists Lista instrukcji - CSF - Control System Flowcharts Funktory logiczne - GRAPH5 - Graf Oprogramowanie umożliwia w dowolnym momencie zmianę graficznej reprezentacji edytowanego segmentu, co świadczy o tym, że wymienione języki zawierają te same instrukcje logiczne w różnej postaci, a wybór jednego z nich zależy od wymogów programującego. W programowaniu PLC najwcześniej znalazł zastosowanie język drabinkowy (LAD), ponieważ jest on łatwy w użyciu i mało skomplikowany. Obecnie język drabinkowy LAD znajduje najszersze zastosowanie w PLC. 30 Pamięć obrazu jednostka centralna Pamięć obrazu jest stosowana dla przechowywania stanów on/off (włączenia/wyłączenia) poszczególnych portów. W pamięci obrazu stan włączenia (on) jest przechowywany jako 1, a stan wyłączenia (off) jest przechowywany jako 0. Jednostka centralna przekształca dane dwójkowe, przechowywane w pamięci obrazu oraz odpowiadające im dane, zatrzymane w pamięci obrazu zgodnie z programem użytkownika, który znajduje się w pamięci głównej. Wartości bitowe przechowywane w pamięci obrazu określają, które porty są wzbudzane. Wartość dwójkowa 1 ustawia port na on (włączone), a wartość dwójkowa 0 ustawia port na off (wyłączone). 9 Właściwości paneli tekstowych LAD,STL,CSF,GRAPH 5 Zadania realizowane przez panel TD : Wyświetlanie hierarchii menu użytkownika i ekranów umożliwiających operatorowi na oddziaływanie z aplikacją lub procesem. Menu użytkownika i ekrany tworzone są za pomocą wizarda Text Display z STEP 7-Micro/WIN. Wyświetlanie alarmów (komunikatów wyzwalanych bitowo), które są generowane przez sterownik S7-200. Alarmy te są definiowane w wizardzie Text Display z STEP 7-Micro/WIN. Modyfikowanie zadeklarowanych zmiennych programowych. Definiowanie zmiennych jako ciąg znaków tekstowych lub też jako ciąg znaków liczbowych: definiowanie zmiennych jako słowo, podwójne słowo lub liczba rzeczywista Forsowanie lub odforsowanie wejść/wyjść. Można forsować indywidualne / w sterowniku S7-200 (TD 200C, TD 200 i TD400C tylko) Ustawianie czasu i daty (jeżeli sterownik S7-200 obsługuje zegar czasu rzeczywistego) Wyświetlanie statusu CPU (zawierającego informację o wersji) TD 200C i TD400C dostarcza dodatkowej funkcjonalności do współpracy z S7-200: Można zmieniać tryb pracy (RUN lub STOP) CPU S7-200 Można załadować program użytkownika z CPU S7-200 do karty pamięci Można podgląda i edytować dane zgromadzone w pamięci CPU S7-200 7 34
14 Projektowanie systemu PLC Jest wiele metod projektowania systemów sterownikowych (PLC). Projektant musi przestrzegać procedur, wytycznych przedsiębiorstwa oraz dodatkowo użyć własnej, praktycznej wiedzy. Dzielenie procesu lub maszyny na zadania. Podczas projektowania, każdy skomplikowany proces lub maszynę należy podzielić na mniejsze w pełni niezależne od siebie zadania. Zadania te określą typ sterownika jaki należy użyć, funkcjonalny opis i specyfikację zależności oraz zastosowanie odpowiednich zasobów programowosprzętowych. Tworzenie funkcjonalnej specyfikacji Pracę należy zacząć od opisu operacji jakie każde z zadań procesu lub maszyny ma wykonywać. Opis powinien zawierać : punkty wej./wyj., funkcjonalny opis operacji, opis stanów które muszą by zachowane przed każdą następną, dozwoloną akcją urządzenia wykonawczego (jak przekaźniki, styczniki, silniki, zawory), opis interreakcji z operatorem oraz pomiędzy poszczególnymi częściami procesu lub maszyny. Podprogramy Podprogramy stanowiące części programu aplikacji są wykonywane tylko wtedy, gdy zostaną odpowiednio wywołane w programie głównym, przez inny podprogram lub przez wystąpienie zdarzenia/przerwania systemowego. Podprogramy są bardzo pomocne do tworzenia powtarzających się funkcji. Utworzona funkcja może by wywoływana wiele razy w programie aplikacji skracając w ten sposób ilość niezbędnego kodu sterującego procesem. Użycie podprogramów dostarcza wiele korzyści : Użycie podprogramów redukuje całkowitą ilość kodu programu. Użycie podprogramów zmniejsza długo cyklu programu przez przesunięcie części kodu poza procedurę główną. S7-200 cyklicznie wykonuje tylko procedur główną, niezależnie czy kod jest czy nie jest wykonywany. Zastosowanie podprogramów w procedurze głównej pozwala wykonywa ich kod tylko gdy jest to konieczne/dozwolone. Podprogramy dzielą kod na funkcjonalne części przez co staje się czytelniejszy oraz łatwiejszy do wykorzystania w innych programach z minimalnym, dodatkowym nakładem pracy. Planowanie obwodów bezpieczeństwa 18 13 Obraz pamięci wejść i wyjść Obraz wejść procesu: I S7-200 próbkuje fizyczne na początku każdego cyklu programu i zapisuje je do rejestru obrazu wejściowego procesu. Obszar ten jest dostępny poprzez adresowanie bitów, bajtów, słów oraz podwójnych słów. Bit: I[adres bajtu].[adres bitu] I0.1 Bajt, słowo lub podwójne słowo: I[rozmiar][adres bazowy] IB4 Obraz wyjść procesu: Q Na końcu cyklu programu, S7-200 kopiuje wartości zapisane w rejestrze obszaru wyjść procesu do wyjść fizycznych. Obszar ten jest dostępny poprzez adresowanie bitów, bajtów, słów oraz podwójnych słów. Bit: Q[adres bajtu].[adres bitu] Q1.1 Bajt, słowo lub podwójne słowo: Q[rozmiar][adres bazowy] QB5 Programy przerwań Programy przerwań stanowią opcjonalną część programu, która reaguje na specyficzne zdarzenie w systemie. Procedura przerwania określa czynności, które należy wykonać w razie wystąpienia zdarzenia. Kiedy zdarzenie wystąpi S7-200 wykonuje kod procedury przerwania. Procedura przerwania nie jest wykonywana przez program główny. Jest ona skojarzona ze zdarzeniem i S7-200 wykonuje ją tylko w przypadku wystąpienia zdarzenia oraz tyle razy ile ono wystąpi. Błędy niekrytyczne S7-200 19 Obszary pamięci danych Obszar pamięci danych: V Pamięć typu V może by użyta do przechowywania pośrednich wyników operacji programu wykonywanych przez CPU. Obszar ten jest dostępny poprzez adresowanie bitów, bajtów, słów oraz podwójnych słów. Bit: V[adres bajtu].[adres bitu] V10.2 Bajt, słowo lub podwójne słowo: V[rozmiar][adres bazowy] VW100 Obszar pamięci o dostępie bitowym: M Pamięć typu M może by użyta jako obszar znaczników do zapamiętania stanów binarnych wyników operacji logicznych. Obszar ten jest dostępny poprzez adresowanie bitów, bajtów, słów oraz podwójnych słów. Bit: M[adres bajtu].[adres bitu] M26.7 Bajt, słowo lub podwójne słowo: M[rozmiar][adres bazowy] MD20 Akumulatory Akumulatory są uniwersalnymi rejestrami odczytu i zapisu, które mogą by użyte podobnie jak pamięć. Przykładowo, akumulatorów można użyć do przekazania parametrów do i z podprogramu oraz zachowania pośrednich wartości użytych w obliczeniach. S7-200 posiada 32-bitowe akumulatory (AC0, AC1, AC2 i AC3). Dane w akumulatorach mogą by dostępne jako bajty, słowa i podwójne słowa. Rozmiar dostępnych danych jest zależny od instrukcji użytej przy pobieraniu danych z akumulatora 25 Specyfikacja identyfikatorów, którymi możemy się posługiwać przy tworzeniu programu sterującego Identyfikator - oznaczenie nazwa I - zmienna wejściowa Q - zmienna wyjściowa M - wewnętrzna zmienna dyskretna SM - wewnętrzna zmienna specjalna (zmienna systemowa) V - zmienne pamięciowe T - timer C - licznik AI - zmienna wejściowa analogowa AQ - zmienna wyjściowa analogowa AC - akumulator HC - szybki licznik K stała 20 Przykłady adresacji wejść/wyjść sterownika S7-200 Wykrywanie błędów niekrytycznych Wystąpienie błędu niekrytycznego nie powoduje zmiany trybu pracy S7-200 na tryb STOP. Błąd taki jest jedynie zapamiętywany w pamięci SM a program wykonuje się dalej. Możliwe jest jednak programowe wymuszenie przejścia sterownika w tryb STOP w momencie wykrycia niekrytycznego błędu. Niżej zamieszczony przykład pokazuje sieć programu, który monitoruje wystąpienie dwóch niekrytycznych błędów oraz powoduje zmian trybu sterownika na STOP w przypadku wystąpienia którego z nich. Błędy krytyczne S7-200 26 21 Generalna konwencja programowania S7-200 Systemowe bity pamięci SM Bity systemowe zawierają różne informacje i funkcje sterujące oraz stanowią komunikację pomiędzy sterownikiem S7-200, a programem użytkownika Operacje kombinacyjne PLC 16 22 12 Podstawowe elementy programu S7-200 Dostęp do danych S7-200 zachowuje dane w różnych obszarach pamięci, które maj unikalne adresy. Można odwoływać się bezpośrednio do adresu pamięci, który chcemy użyć. Pozwala to programowi na bezpośredni dostęp do danych. Aby mieć dostęp do bitu w obszarze pamięci, należy podać adres, który zawiera identyfikator obszaru pamięci, adres bajtu i numer bitu. Rysunek pokazuje przykład dostępu do bitu (który zwany jest również adresowaniem bajt.bit ). V Schemat drabinkowy PLC 0 V Wejścia Wyjścia 1 linia programu 2 linia programu 3 linia programu 4 linia programu styk normalnie otwarty 15 styk normalnie zamknięty
PLC Przykłady dydaktyczne (Operacje kombinacyjne - styki i cewki) Przykład dydaktyczny 3. Rysunek Przykład dydaktyczny 1. Rysunek Przykład dydaktyczny 2. Rysunek Rozpuszczalnik Barwnik 32 41 Identyfikacja wejść/wyjść.p1 Identyfikacja wejść/wyjść. P2 Program 1. 44 Mieszadło > Grzałka > 53 20 Algorytm sterowania. P1 Schemat drabinkowy sterowania mieszaniem farb Realizacja programu 1. START Rozpuszczalnik Start/stop Zał/wył silnika Wyjście 0 Barwnik Zmiana Lewo/prawo kier.obrotów Wyjście 1 STOP po 20 min Grzałka 45 Mieszadło 48 21 Schemat drabinkowy sterowania transporterem Program 2. AND 39 23 Program 3. OR
Podstawowe funkcje złożone języka PLC operacje kombinacyjne operacje pamięciowe- operacje zatrzasku, operacje czasowe - timery, liczniki, operacje arytmetyczne i logiczne, operacje organizacyjne- wywołania bloków, skoków. Timer TON Licznik zliczający w dół 35 Program : Latching/Zatrzask Timer TOF Licznik zliczający w górę/dół 31 28 Realizacja programu Zatrzask Timer TON z zapamiętywaniem Funkcje detekcji zboczy sygnałów I P I oraz I N I I P I I N I 32 29 Realizacja programu Zatrzask za pomocą funkcji Set/Reset Timer TON z zapamiętywaniem Przebiegi czasowe Funkcja pamięci bitowej M0.0 33 30 Timery standardu SIMATIC S7 Program. Timer ON Program: Przełącznik impulsowy. Wyjście Q5 (włączenie żarówki) zmienia stan przy każdym zamknięciu styku S1 Program 4. Timer ON Liczniki standardu SIMATIC Realizacja programu przełącznik impulsowy za pomocą funkcji : detekcji zbocza narastającego i pamięci bitowej Set M0.0 Reset M0.0 25
Instrukcje matematyczne dodawania,odejmowania,mnożenia i dzielenia Instrukcje sterujące programem Operacje na łańcuchach znaków Łączenie dwóch łańcuchów (Concatenate String) Instrukcja SCAT dołącza łańcuch podany w IN na koniec drugiego łańcucha podanego w OUT. Kopiowanie łańcucha (Copy String) Instrukcja kopiowania SCPY kopiuje łańcuch podany w IN do drugiego łańcucha podanego w OUT. Długość łańcucha (String Length) Instrukcja SLEN określa długość łańcucha znaków podanego na wejście IN. Przykład instrukcji matematycznych liczb całkowitych Instrukcje warunkowe i bezwarunkowe Kopiowanie fragmentu łańcucha Instrukcja kopiowanie fragmentu łańcucha z całości (SSCPY) kopiuje określoną ilość znaków N z podanego łańcucha w IN począwszy od indeksu INDX, do nowego łańcucha znaków OUT. Instrukcje zwiększania i zmniejszania INC i DEC Instrukcje obsługi podprogramów Instrukcja wywołania podprogramu (CALL) przekazuje sterowanie do podprogramu SBR_N. Instrukcja wywołania podprogramu może być z parametrami lub bez parametrów. Po tym jak podprogram zakończy swoje działanie przekazuje sterowanie do instrukcji, która następuje po instrukcji wywołania podprogramu. Przykład zastosowania operacji na łańcuchach Instrukcje logiczne AND, OR, XOR Przykład instrukcji logicznych AND,OR i XOR Instrukcje pętli FOR-NEXT Na przykład, podajemy wartość INIT jako 1, a FINAL na 10, instrukcje pomiędzy instrukcją For a Next będą wykonywane 10 razy, a INDX będzie inkrementowany: 1, 2, 3,... 10. Jeżeli wartość początkowa jest większa niż wartość końcowa (FINAL) wtedy pętla nie jest wykonywana. Po każdym wykonaniu instrukcji pomiędzy instrukcjami FOR i NEXT, wartość INDX jest inkrementowana, a rezultat jest porównywany z wartością końcową. Jeżeli INDX jest większy niż wartość końcowa, pętla jest kończona. Przykład instrukcji FOR_NEXT Programowanie paneli tekstowych Urządzenie TD nie jest konfigurowane ani programowane przez użytkownika. Wizard Text Display tworzy blok parametrów przechowujący konfigurację, ekrany i alarmy dla urządzenia TD. CPU S7-200 przechowuje blok parametrów w obszarze pamięci V. Przy starcie urządzenie TD odczytuje blok parametrów z CPU S7-200. Wizard Text Display z STEP 7-Micro/WIN umożliwia wykonanie następujących zadań: 1. Konfiguracja parametrów dla urządzenia TD 2. Tworzenie ekranów i alarmów wyświetlanych na urządzeniu TD 3. Tworzenie ustawień językowych dla urządzenia TD (jedynie dla TD 200, TD 200C i TD 400C) 4. Przydzielanie adresów pamięci V dla bloku parametrów. Uruchomienie wizarda Text Display Wizard Text Display umożliwia konfigurację parametrów urządzenia TD. Można także użyć wizarda Text Display do modyfikacji istniejącej konfiguracji TD. W celu otwarcia wizarda Text Display: 1. Uruchom STEP 7-Micro/WIN. 2. Z menu poleceń wybierz Tools > Text Display Wizard. Po uruchomieniu Wizard Text Display wyświetla okno wstępne. Jeżeli wizard Text Display znajdzie istniejącą konfigurację TD, okno wstępne wyświetli listę istniejących konfiguracji TD umożliwiając wybór konfiguracji do zmiany. Przykład instrukcji INV Łańcuch znaków (String) Łańcuch jest ciągiem znaków, gdzie każdy znak zapisany jest jako bajt. Pierwszy bajt łańcucha definiuje długość łańcucha, która odpowiada ilości znaków. Łańcuch może mieć długość od 0 do 254 znaków plus bajt długości tak więc maksymalna długość łańcucha wynosi 255 bajtów. Odczyt konfiguracji panela w programie użytkownika Długość Znak 1 Znak 2 Znak 3 Znak 4 Znak 254