PLC – P Sterowniki programowalne PLC (ang. Programmable Logic
Transkrypt
PLC – P Sterowniki programowalne PLC (ang. Programmable Logic
PLC – PROGRAMOWALNE STEROWNIKI LOGICZNE 1. DEFINICJA PLC (ang. Programmable Logic Controller) to wyspecjalizowane urządzenie mikroprocesorowe wyposażone w programowalną pamięć, realizujące zadanie sterowania poprzez cykliczne wykonanie programu umieszczonego w jego pamięci. Norma IEC 61131 poświęcona sterownikom PLC, opracowana w latach dziewięćdziesiątych XXw. przez Międzynarodową Komisję Elektrotechniki (IEC, ang. International Electrotechnical Commision), definiuje sterownik programowalny jako: „cyfrowy system elektroniczny do stosowania w środowisku przemysłowym, który posługuje się pamięcią programowalną do przechowywania zorientowanych na użytkownika instrukcji w celu sterowania przez cyfrowe lub analogowe wejścia i wyjścia szeroką gamą maszyn i procesów”. 2. ARCHITEKTURA STEROWNIKA Programator lub komputer wykorzystywany do programowania i testowania sterownika. programator, komputer mikroprocesor, czyli procesor zminiaturyzowany do pojedynczego układu scalonego pamięć program użytkownika dane moduł wyjść mikroprocesor obiekt moduł wejść sterownik PLC obiekt magistrala sterownika Rys.1. Schemat blokowy sterownika PLC Zasada działania sterownika sygnały z czujników, urządzeń pomiarowych kontrolowanego obiektu (procesu) zamieniane są w modułach wejściowych na sygnały cyfrowe akceptowane przez sterownik i zapamiętywane w obszarze pamięci nazywanej pamięcią danych wejściowych, mikroprocesor przetwarza program użytkownika obliczając na podstawie danych wejściowych wartości sygnałów wyjściowych, wartości te zapamiętywane są w pamięci danych wyjściowych, moduły wyjściowe korzystając z danych wyjściowych generują sygnały dla urządzeń wykonawczych. Sterowniki PLC budowane są jako: sterowniki kompaktowe – mają tzw. „sztywną architekturę”: w jednej obudowie umieszczone są zasilacz, jednostka centralna CPU (w sterownikach przyjmuje się, że CPU to mikroprocesor + pamięć), moduły wejść i wyjść (zwykle cyfrowych), sterowniki modułowe – mają „architekturę elastyczną”: składają się z modułów, moduły montowane są na płytach (nazywanych kasetami) lub szynach montażowych, sterowniki kompaktowo–modułowe – sterowniki kompaktowe, które mogą być rozbudowywane. Sterowniki programowalne PLC – PROGRAMOWALNE STEROWNIKI LOGICZNE b) CPU wejścia zasilanie zasilacz a) CPU moduł specjalizowany wyjścia moduły wejść i wyjść cyfrowych moduły wejść i wyjść analogowych Rys.2. Sterownik a) kompaktowy i b) modułowy. 3. CYKL PROGRAMOWY Sterownik wykonuje działania w sposób cykliczny – działania te tworzą tzw. cykl programowy sterownika. Na cykl pracy składają się fazy: 1. inicjalizacji cyklu (wykonywane są operacje niezbędne do rozpoczęcia cyklu, obliczany jest czas cyklu, uaktualniane są tablice błędów, zerowany zegar resetujący), 2. odczytu danych wejściowych (dane wejściowe z modułów wejściowych wprowadzane są do pamięci sterownika), 3. wykonania programu użytkownika (realizowany jest przebieg programu), 4. zapisu danych wyjściowych (dane wyjściowe wysyłane są do modułów wyjściowych), 5. komunikacji z urządzeniami zewnętrznymi (przetwarzane są żądania nadesłane przez programator i wyspecjalizowane moduły), 6. diagnostyki (sprawdzana jest konfiguracja sterownika i weryfikowany jest program użytkownika). Wykonanie części faz cyklu uzależnione jest od trybu pracy sterownika. Podstawowe tryby pracy to: tryb RUN – tryb w którym wykonywane są wszystkie fazy cyklu programowego, tryb STOP – tryb zatrzymania sterownika (zwykle pomijane są fazy 2. i 4., zawsze pomijana jest faza 3.), tryb ten przeznaczony jest do programowania i konfigurowania sterownika. Cykl programowy zwykle trwa od ułamków do kilkudziesięciu ms. W przypadku przekroczenia dopuszczalnego czasu trwania cyklu (zwykle od 100 do 500 ms) cykl jest przerywany i rejestrowany jest błąd przekroczenia czasu cyklu. 3. METODY PROGRAMOWANIA Część 3 normy IEC 61131 omawia metody programowania sterowników PLC. Norma definiuje dwie grupy języków programowania: języki tekstowe język listy instrukcji IL (ang. Instruction List) – jest odpowiednikiem języka niskiego poziomu jakim jest asembler, którego instrukcje bazują na liście rozkazów procesora, w skład zbioru instrukcji IL wchodzą operacje logiczne, arytmetyczne, operacje relacji (porównań), oraz funkcje przerzutników, timerów, itp. język tekstu strukturalnego ST (ang. Structured Text) – jest odpowiednikiem języka wysokiego poziomu, zawiera podobny zestaw instrukcji jak Pascal czy C. języki graficzne język schematów drabinkowych LD (ang. Ladder Diagram) – jest odpowiednikiem schematów (obwodowych, drabinkowych) układów cyfrowych realizowanych w technologii stykowo – Sterowniki programowalne PLC – PROGRAMOWALNE STEROWNIKI LOGICZNE przekaźnikowej, dodatkowo język pozwala na wykorzystywanie funkcji realizujących operacje arytmetyczne, logiczne, porównania oraz bloków funkcjonalnych realizujących zadania przerzutników, timerów, liczników. język funkcjonalnych schematów blokowych FBD (ang. Function Block Diagram) – jest odpowiednikiem schematów stosowanych do opisu układów logicznych wykorzystujących bramki logiczne, przerzutniki, timery, liczniki. język sekwencyjnego schematu funkcjonalnego SFC (ang. Sequential Function Chart) – jest to graficzna metoda projektowania zadań sterowania sekwencyjnego w oparciu o tzw. graf sekwencji. Każde zadanie sterowania stanowi tzw. projekt. Program użytkowy rozwiązujący określone zadanie projektowe może składać się z oddzielnych modułów oprogramowania. Moduły te nazywane jednostkami organizacyjnymi oprogramowania (POU, ang. Program Organization Units). Rozbicie programu użytkownika na jednostki organizacyjne poprawia czytelność programu, umożliwia przenoszenie jednostek organizacyjnych pomiędzy różnymi projektami. Jednostkami organizacyjnymi oprogramowania zgodnie z normą są: funkcje – na podstawie argumentów wejściowych wyznaczana jest wartość argumentu wyjściowego (argumenty wejściowe jednoznacznie wyznaczają wartość argumentu wyjściowego), bloki funkcjonalne – posiadają „pamięć”, wartość argumentu wyjściowego nie wynika wyłącznie z wartości argumentów wejściowych, zależy również od stanu „pamięci”, programy – podstawowe jednostki organizacyjne programu użytkowego, odpowiadają „programowi głównemu” w klasycznych językach programowania, programy mają dostęp do danych z modułów wejściowych i wyjściowych sterownika. Norma zakłada, że pojedyncza jednostka organizacyjna musi być zaprogramowana tylko w jednym języku programowania. Jednostki organizacyjne wykorzystują do przechowywania informacji (danych) zmienne. Zmienne przechowują wartości danych wejściowych i wyjściowych oraz wartości danych pomocniczych. Przechowywane wartości mogą być wartościami różnych typów. Norma definiuje typy elementarne, przedstawia także sposoby definiowania nowych typów danych tzw. typów pochodnych. Sterowniki programowalne