Mikroprocesorowe układy sterowania Sterowniki Programowalne PLC 1 Mikroprocesorowe układy sterowania w automatyce przemysłowej Czujniki (przetworniki sygnałów) dwustanowe i analogowe Układy czasowe (wyłączniki czasowe, przekaźniki czasowe) Układy licznikowe (liczniki programowalne, zegary RTC) Układy regulacji automatycznej (regulatory dwustanowe, regulatory trójstanowe, regulatory ciągłe PID, regulatory ciągłe PID +Fuzzy Logic) Przekaźniki programowalne Sterowniki programowalne PLC (z ang. Programmable Logic Controller) Programowalne Sterowniki Automatyki PAC (z ang. Programmable Automation Controller) Operator Panel & Programmable Logic Controller - OPLC Sterownik programowalny wyposażony w panel operatorski Układy napędowe wraz sterownikiem PLC (Drive PLC) Sterowniki numeryczne CNC (z ang. Computerized Numerical Control, komputerowe sterowanie numeryczne) Komputery przemysłowe IPC (z ang. Industrial PC) Dedykowane systemy sterowania, systemy wbudowane (z ang. embedded system) Panele operatorskie 2 1
Przykłady urządzeń mikroprocesorowych z automatyki przemysłowej Regulatory histerezowe- dwustanowe, ciągłe PID, regulatory temperatury 3 Przykłady urządzeń mikroprocesorowych z automatyki przemysłowej Licznik impulsów 4 2
Przykłady urządzeń mikroprocesorowych z automatyki przemysłowej - przekaźniki czasowe 5 Przekaźnik programowalny Podstawowe cechy: Wejścia logiczne Wyjścia logiczne Wejścia analogowe Wyjścia analogowe Interfejs komunikacyjny Interfejs użytkownika (ekran + klawiatura) Realizowane funkcje: Funkcje logiczne Układy czasowe Układy licznikowe Proste funkcje regulacji Proste operacje matematyczne Komunikacja z urządzeniami zewnętrznymi 6 3
Sterownik PLC Podstawowe cechy: Wejścia logiczne Wyjścia logiczne Wejścia analogowe Wyjścia analogowe Wejścia/wyjścia specjalizowane Interfejsy komunikacyjne Realizowane funkcje: Rozbudowane funkcje logiczne Rozbudowane i duża liczba układów czasowych Rozbudowane i duża liczba układów licznikowych Rozbudowane funkcje regulacji Zaawansowane operacje matematyczne Komunikacja z urządzeniami zewnętrznymi 7 Historia PLC Sterowniki PLC opracowane zostały na potrzeby amerykańskiego przemysłu samochodowego, gdzie zastąpić miały układy przekaźnikowe i elementy mechaniczne używane w systemach sterowania. W 1968 roku GM Hydramatic (dział biznesowy General Motors zajmujący się automatyką) złożył ofertę na propozycję wymiany stosowanych systemów elektrycznych na urządzenia elektroniczne. Konkurs wygrała firma Bedford Associates z Massachusetts. Pierwszym powstałym PLC było urządzenie pierwotnie nazywane "084", gdyż był to osiemdziesiąty czwarty projekt tej firmy. W latach 70. zeszłego wieku powstały również pierwsze kompaktowe sterowniki programowalne. Za protoplastów tych urządzeń uznaje się PLC z serii PM firmy Mitsubishi Electric. Wykorzystywane one były jedynie przez Mitsubishi w aplikacjach związanych z przemysłem samochodowym. W 1981 roku firma Mitsubishi Electric wprowadziła na rynek serię sterowników Melsec F, które były jednymi z pierwszych kompaktowych PLC sprzedawanych w Europie. O sukcesie sterowników w znaczącym stopniu zadecydowało wprowadzenie do budowy PLC w roku 1977 przez firmę Allen-Bradley ośmiobitowego mikroprocesora Intel 8080. Dzisiaj urządzenia PLC w zasadzie wyparły przekaźnikowe układy sterowania logicznego. Podstawową zaletą nowego rozwiązania jest łatwość i szybkość dostosowywania sterowników do różnych zadań przez wymianę oprogramowania, a nie, jak to było wcześniej, przez przygotowanie odpowiedniej dokumentacji elektrycznej i okablowania szaf sterowniczych. W latach dziewięćdziesiątych zaczęto powszechnie wykorzystywać komputery PC do programowania sterowników. Napisanie programu czy też wprowadzenie do niego poprawek lub zmian stało się jeszcze prostsze. 8 4
STEROWNIKI PROGRAMOWALNE STEROWNIKI PROGRAMOWALNE PLC (Programmable Logic Controllers) są komputerami przemysłowymi, które pracują pod kontrolą systemu operacyjnego czasu rzeczywistego. Do głównych zadań realizowanych przez sterowniki PLC należy: zbieranie sygnałów pomiarowych za pośrednictwem modułów wejściowych z analogowych i dyskretnych czujników oraz urządzeń pomiarowych, wykonywanie zadanych programów (algorytmu działania) na podstawie przyjętych parametrów i uzyskanych danych o sterowanym procesie lub maszynie, generowanie sygnałów sterujących zgodnie z wynikami obliczeń programu i przekazywanie ich poprzez moduły wyjściowe do elementów i urządzeń wykonawczych, transmitowanie danych za pomocą modułów i łącz komunikacyjnych, realizowanie funkcji diagnostyki programowej i sprzętowej Wartości sygnałów pomiarowych zmiennych procesowych są wejściami sterownika, zaś obliczone zmienne sterujące, stanowią wyjścia sterownika. 9 Podział sterowników PLC Podział ze względu na budowę: Sterowniki kompaktowe brak możliwości rozbudowy, ustalona liczba wejść/wyjść Sterowniki modułowe możliwości rozbudowy, liczby wejść/wyjść zależna od użytkownika Podział ze względu na ilość wejść/wyjść: Małe sterowniki (nano sterowniki) do 32 wejść/wyjść Małe sterowniki (micro) do 128 wejść/wyjść Małe sterowniki o budowie modułowej do 256 wejść/wyjść Średnie sterowniki od 128 do 1024 wejść/wyjść Duże sterowniki powyżej 1024 wejść/wyjść 10 5
Budowa sterownika PLC Izolacja galwaniczna obwodów sterownika Zasilanie sterownika Elementy sygnalizacyjne Wejścia logiczne (dwustanowe) Wejścia analogowe (napięciowe, prądowe) Wejścia komunikacyjne System mikroprocesorowy: pamięć ROM- Flash pamięć RAM SRAM pamięć RAM EEPROM układy wejścia/wyjścia interfejs szeregowy Wyjścia logiczne (dwustanowe) Wyjścia analogowe (napięciowe, prądowe) Wyjścia komunikacyjne Schemat blokowy sterownika PLC Elementy stykowe 11 Elementy składowe PLC Sterownik PLC składa się z: jednostki centralnej (CPU - 8, 16 lub 32-bitowe) wraz pamięciami (RAM, ROM, EEPROM). (Rozbudowane PLC mogą mieć kilka CPU) bloków wejść cyfrowych bloków wejść analogowych bloków komunikacyjnych bloków wyjść cyfrowych bloków wyjść analogowych bloków specjalnych moduł licznika impulsów moduł pozycjonowania osi moduły sterowania silnikami Zegar RTC układu zasilacza modułów komunikacyjnych (np. RS232; RS485, CAN, sieć Ethernet) elementów sygnalizacyjnych (diody LED, wyś. LCD) prostych elementów stykowych i regulacyjnych, (prosta klawiatura, potencjometr nastawny, przełączniki kodowe) 12 6
Budowa sterownika PLC Podstawowe parametry wejść/wyjść w PLC Wejścia logiczne Stałoprądowe 12Vdc, 24Vdc, logika dodatnia - Stan 0 logiczne od -30V do +5V, Stan 1 logiczne od +15V do +30V Zmiennoprądowe 110Vac, 230Vac, Stan 0 logiczne od 0Vac do 40Vac, Stan 1 logiczne od 80Vac do 250Vac Wejścia analogowe napięciowe 0-5V, 0-10V, +/-5V, +/-10V prądowe 0-20mA, 4-20mA, +/-20mA Wejścia dla czujników temperatur Rezystancyjne (RTD) - Pt100, Pt1000, Ni100) Termopara typu J, K, B, N, T Wejścia dla czujników mostkowych (np. tensometrycznych) Wyjścia logiczne Stałoprądowe DC 12Vdc, 24Vdc, Zmiennoprądowe AC 110Vac, 230Vac Stało lub zmiennoprądowe DC lub AC (wyjścia przekaźnikowe) Wyjścia analogowe napięciowe 0-5V, 0-10V, +/-5V, +/-10V prądowe 0-20mA, 4-20mA, +/-20mA Interfejs komunikacyjny - szeregowy RS232, RS422, RS485, CAN, Ethernet,... Elementy do wprowadzania danych pojedyncze przyciski, klawiatura, potencjometr Elementy do wizualizacji działania diody LED, wyświetlacze LCD (alfanumeryczne, graficzne) Zasilanie sterowników PLC stałoprądowe 24Vdc, 48Vdc, zmiennoprądowe 24Vac, 110Vac, 230Vac, (50Hz lub 60Hz) 13 Wejście logiczne pojedyncze Wejścia logiczne typu DC 24V lub AC 230V Izolacja galwaniczna na optoizolatorach Io Układ czujnika Uwe Obwód wejściowy CPU Klucz Źródło zasilania obwodu wejściowego uziemienie Sterownik Przykład wejścia typu DC 14 7
Wejście logiczne wielokrotne Wejścia logiczne, prąd wpływający Izolacja galwaniczna czujnik Io X0 czujnik X1 Obwód wejściowy CPU X2 czujnik Źródło zasilania obwodu wejściowego COM Sterownik 15 Wejścia analogowe napięciowe Zakresy +5V, +10V, +/-10V Możliwa izolacja galwaniczna Uwy czujnika Iwe Uwe Rwe W ADC CPU Ochrona wejścia Obwód pomiarowy z wejściem pojedynczym Uwy czujnika Iwe +Uwe Rwe Ochrona wejścia Iwe -Uwe + Wr - ADC CPU Obwód pomiarowy z wejściem różnicowym 16 8
Wejście napięciowe pojedyncze Sygnał napięciowy z czujnika 1 U WY R KABLA R KABLA1 zakłócenia U GND I we U WE R WE Filtr DP Obwód pomiarowy z wejściem pojedynczym R1 C R2 W Wewnętrzny system pomiarowy U X V REF A/C DGND MCU DGND Dzielnik wejściowy, filtr DP, wzmacniacz pojedynczy, przetwornik A/C i mikrokontroler Zalety i wady wejścia pojedynczego: mała liczba przewodów, małe koszty przy krótkich odległościach, małe koszty i prostota układu pomiarowego, słaba odporność na zakłócenia, słabe tłumienie sygnałów tzw. wspólnych 17 Wejście napięciowe różnicowe Sygnał napięciowy z czujnika R KABLA U wy R KABLA zakłócenia I we R1 R we C R2 WR U we U x K I we Filtr DP R1 U W1 U W2 C U U R W+ W- KABLA1 R2 Wewnętrzny system pomiarowy + - V REF U x A/C DGND MCU DGND 1 U GND Obwód pomiarowy z wejściem różnicowym Zalety i wady wejścia pojedynczego: dobra odporność na zakłócenia, silne tłumienie sygnałów tzw. wspólnych większa liczba przewodów, większe koszty przy dużych odległościach, większe koszty i bardziej skomplikowany układ pomiarowy, Dzielnik wejściowy, filtr DP, wzmacniacz różnicowy, przetwornik A/C i mikrokontroler Wejściowe Napięcie Różnicowe U we = U W1 - U W2 Wejściowe Napięcie dla przet. A/C U X = K*(U W1 - U W2 ) 18 9
Transmisja prądowa sygnałów Zalety i wady przesyłania sygnałów w postaci prądowej: większa odporność na zakłócenia, eliminacja wpływu rezystancji połączeń (kabla), możliwość zasilania czujnika i przesyłania sygnału tymi samymi przewodami, wymagana zamiana sygnału na postać prądową, konwerter napięcie/prąd, wymagany rezystor pomiarowy do zamiany prądu na napięcie Sygnały analogowe i logiczne mogą być przesyłane za pomocą wymuszania prądu w obwodzie, tzw. pętla prądowa. Można przesyłać łącznie sygnał analogowy i logiczny, np. tak jest w standardzie HART (4-20mA), do szeregowej transmisji danych. 19 Wielokanałowy pomiar napięcia AIN0 V0 U X V1 AIN1 W U X A/C MCU AIN2 V2 COM Multiplekser analogowy Wybór kanału DGND 20 10
Wejścia analogowe prądowe Zakresy 0-20mA, 4-20mA, +-20mA Izolacja galwaniczna Przetwornik pomiarowy Iwe 4-20mA Rp W ADC CPU Uwe Napięcie zasilania przetwornika ok. 12-30Vdc Obwód pomiarowy dwuprzewodowy z wejściem 4-20mA Uz Napięcie zasilania przetwornika ok. 12-30Vdc Iwe 0-20mA Uwe Rp W ADC CPU Przetwornik pomiarowy Obwód pomiarowy trójprzewodowy z wejściem 0-20mA 21 Rodzaje wyjść prądowych Możliwa izolacja galwaniczna V ZAS Napięcie zasilające konwerter U/I, 24Vdc I WY R KABLA R ODBMAX MCU DGND C/A U WY Konwerter U/I R KABLA U WY R ODB Obwód wyjściowy prądowy 0-20mA lub 4-20mA (tzw. pętla prądowa), prąd wypływający, (ang. source current), jeden koniec odbiornika podłączony do masy I WY R KABLA R ODBMAX MCU DGND C/A U WY Konwerter U/I V ZAS 24Vdc R KABLA U WY R ODB Obwód wyjściowy prądowy 0-20mA lub 4-20mA, prąd wpływający (ang. sink current), jeden koniec odbiornika podłączony do plus zasilania 22 11
Budowa wyjścia napięciowego Izolacja sygnałów cyfrowych Izolacja sygnałów analogowych Wewnętrzny obwód wyjściowy Obwód wyjściowy napięciowy zakłócenia Filtr DP MCU DGND C/A V REF W R1 C I wy U WY R KABLA R KABLA U ODB R ODB MIN R ODB Mikrokontroler, przetwornik C/A, wzmacniacz, filtr DP Zalety i wady wyjścia napięciowego: małe koszty przy krótkich odległościach, małe koszty i prostota układu wyjściowego, słaba odporność na zakłócenia, wpływ rezystancji kabla Zalety i wady izolacji galwanicznej bardzo dobra odporność na zakłócenia, Możliwość doprowadzenia sygnałów analogowych na różne potencjały, większa liczba elementów, zmniejszona dokładność wyjściowa, większe koszty układu wyjściowego i bardziej skomplikowany układ wyjściowy, dodatkowe źródła zasilania 23 Wyjście logiczne pojedyncze Izolacja galwaniczna Sterownik Obciążenie Io Źródło zasilania Układ sterowania Uk Uo Klucz Obciążenie może mieć charakter typu R, RL, RLE, RC Źródło zasilania może być typu DC, AC, DC+AC W zależności od realizacji klucza, prąd w obwodzie może płynąć tylko w jednym kierunku (DC) lub w obu (AC) uziemienie 24 12
Wyjścia logiczne prąd wpływający, obciążenie nieuziemione Sterownik X0 R01 Io1 X1 R04 Io2 Układ sterowania X2 R03 Io3 Vp COM 25 Wyjścia logiczne prąd wypływający, obciążenie uziemione Sterownik COM X0 R01 Odbiornik typu R, RL, RC, RLE, (zasilane DC, AC, DC+AC) Io1 Vp X1 R02 Układ sterowania Io2 X2 R03 Io3 26 13
Wyjścia logiczne w PLC Stałoprądowe (DC) tranzystorowe (do ok. 60V, ok. 1A) Tranzystorowe, NPN, NO (normalnie otwarty), Tranzystorowe, typu PNP, NO (normalnie otwarty), Przekaźnik półprzewodnikowy mocy typu DC na tranzystorach MOSFET lub IGBT Zalety: małe gabaryty, duża częstotliwość przełączania, mała moc pobierana na przełączenie Wady: mała odporność na zwarcia, przeciążenia i przepięcia Zmiennoprądowe (AC) (do ok. 250Vac, ok. 5A) Przekaźnik elektromagnetyczny wyjście typu AC, DC, DC+AC Zalety: większa odporność na zwarcia, przeciążenia i przepięcia, mały spadek napięcia na stykach Wady: ograniczone parametry dla zasilania DC, niska częstotliwość przełączania, większe gabaryty, występowanie drgań zestyków Przekaźnik półprzewodnikowy (SSR Solid State Relay) wyjście tylko AC (triak, tyrystor) Zalety: brak drgań zestyków, możliwość włączenia w zerze Wady: tylko jedna para styków, spadek napięcia na kluczu radiator, 27 Programowanie sterowników PLC W związku z coraz powszechniejszym stosowaniem sterowników PLC pojawiła się konieczność ich standaryzacji i dlatego została opracowana i wydana w 1992 roku przez Międzynarodową Komisję Elektroniki (International Electronical Commission IEC) norma IEC 1131 "Programmable Controllers". Norma międzynarodowa IEC 1131 dotyczy sterowników programowalnych i związanych z nimi urządzeń peryferyjnych takich jak: narzędzia do programowania i uruchamiania, wyposażenie testujące, interfejsy człowiek-maszyna (MMI). Norma obejmuje: informacje ogólne (General Informations), standardy, wymagania i badania dotyczące sprzętu (Equipment and Test Requirements), języki programowania (Programming Languages), wytyczne dla użytkownika (User Guidelines), specyfikacja usług komunikowania-standardy w zakresie wymiany informacji (Messaging Services). 28 14
Programowanie sterowników PLC Języki programowania sterowników (Norma IEC 1131-3 ) Języki tekstowe: Język listy instrukcji IL (Instruction List) Język strukturalny ST (Structured Text) Języki graficzne: Język schematów drabinkowych LD (Ladder Diagram) Język schematów bloków funkcyjnych FBD (Function Block Diagram) Sekwencyjny język graficzny SFC (Sequential Function Chart) CFC-Graficzny edytor schematów funkcji Klasyczne języki programowania (jeżeli producent PLC to dopuszcza) język C, C++, asembler Graf sekwencji SFC (Sequential Function Chart) - sposób tworzenia struktury wewnętrznej programu za pomocą grafów zawierających etapy (kroki) i warunki przejścia między tymi etapami. Graf taki może być wykorzystany w jednym z wymienionych wyżej języków w celu otrzymania odpowiedniej struktury programu użytkownika. 29 Programowanie sterowników PLC Język drabinkowy LD Język Instrukcji IL Język graficzny SFC Język strukturalny ST Język graficzny blokowy FBD 30 15
Język drabinkowy LD Jest to język graficzny używający standaryzowanych symboli graficznych. Symbole umieszcza się w obwodach w sposób podobny do szczebli w schematach drabinkowych dla przekaźnikowych układów sterowania. Obwód LD (Ladder Diagram) jest po obydwu stronach ograniczony przez szyny prądowe. Szyny te nie są elementami obwodu. Prawa szyna może być rysowana w sposób jawny lub pozostawać w domyśle. W języku LD mogą występować standardowe funkcje i bloki funkcyjne. Język LD pozwala budować zależności logiczne z wykorzystaniem graficznej reprezentacji wyrażeń boolowskich złożonych ze styków i cewek (elementów 1- bitowych). Podstawowymi elementami języka LD są: styki statyczne: styk zwierny i styk rozwierny, styki impulsowe: styk reagujący na zbocze narastające i styk reagujący na zbocze, cewka zwykła i cewka negująca, cewki z zatrzaskiem: cewka ustawiająca i cewka kasująca, cewki z zapamiętaniem stanu, cewka ustawiająca z zapamiętaniem stanu i cewka kasująca z zapamiętaniem stanu, cewki impulsowe: cewka reagująca na zbocze narastające i cewka reagująca na zbocze opadające. 31 Elementy języka drabinkowego Oznaczenia i symbole stosowane przy tworzeniu programów na sterowniki PLC w języku drabinkowym styki wyjściowe Symbol Rodzaj Opis --( )-- Boolean (bit) Stan występujący po lewej stronie jest kopiowany do przypisanej zmiennej i na prawą stronę --( / )-- Boolean Stan występujący po lewej stronie jest kopiowany do przypisanej zmiennej w taki sposób,że dla stanu "ON" z lewej strony do zmiennej przepisywany jest stan "OFF" i na odwrót (Negacja). --( P )-- Boolean Do zmiennej jest przepisywany "ON" tylko na jeden cykl programu po zmianie stanu z lewej strony z "OFF" na "ON" tzw. zbocze narastające --( N )-- Boolean Do zmiennej jest przepisywany "ON" tylko na jeden cykl programu po zmianie stanu z lewej strony z "ON" na "OF" tzw. zbocze opadające --( S )-- Boolean Stan występujący po lewej stronie jest kopiowany "zatrzaskowo do przypisanej zmiennej. Powrót zmiennej do stanu "OFF" możliwy jest tylko przy użyciu cewki RESET --( R )-- Boolean W przypadku wystąpienia stanu "ON" po lewej stronie zmienna jest resetowana do stanu "OFF" 32 16
Elementy języka drabinkowego Oznaczenia i symbole stosowane przy tworzeniu programów na sterowniki PLC w języku drabinkowym styki wejściowe Symbol Rodzaj Opis ----- Symbol ten oznacza początek linii, występuje zawsze skrajnie po lewej stronie i jego stan jest równy 1 "TRUE" - lewa strona drabinki ------ Symbol ten oznacza koniec linii, występuje zawsze skrajnie po prawej stronie - prawa strona drabinki. -- -- Boolean (bit) Stan występujący po lewej stronie jest przenoszony na prawą stronę w momencie występowania w przypisanej zmiennej stanu "1 - TRUE". W każdym innym przypadku stan z prawej strony równy jest "0 FALSE -- / -- Boolean Stan występujący po lewej stronie jest przenoszony na prawą stronę w momencie występowania w przypisanej zmiennej stanu "0 - FALSE". W każdym innym przypadku stan z prawej strony równy jest "0 - FALSE -- P -- Boolean Stan występujący po lewej stronie jest przenoszony na prawą stronę na jeden cykl programu w momencie przejścia zmiennej ze stanu "0 - FALSE" na "1 - TRUE". W każdym innym przypadku stan z prawej strony równy jest "0 - FALSE. Jest to tzw. zbocze narastające ( z ang. positive transition ). W praktyce działanie wygląda w ten sposób, że w momencie pojawienia się sygnału "1" w przypisanej zmiennej sygnał z lewej strony symbolu jest przenoszony tylko w tym samym cyklu wykonywania programu, w cyklu kolejnym nie ma znaczenia utrzymywanie się sygnału "1" w przypisanej zmiennej - sygnał nie będzie przenoszony. -- N -- Boolean Stan występujący po lewej stronie jest przenoszony na prawą stronę na jeden cykl programu w momencie przejścia zmiennej ze stanu "1 - TRUE" na "0 - FALSE". W każdym innym przypadku stan z prawej strony równy jest "0 - FALSE. Jest to tzw. zbocze opadające ( z ang. negative transition ). W praktyce działanie wygląda w ten sposób, że w momencie pojawienia się sygnału "1" w przypisanej zmiennej sygnał nie jest przenoszony dalej. Sygnał z lewej zostanie przeniesiny dopiero kiedy stan zmiennej zmieni się na "0" i to tylko w tym samym cyklu wykonywania programu. 33 Elementy języka drabinkowego Oznaczenia i symbole stosowane przy tworzeniu programów na sterowniki PLC w języku drabinkowym Symbol Rodzaj Opis I, X O, Y Input Wejście Output Wyjście W każdym sterowniku PLC mają takie samo oznaczenie, mogą być przypisywane tylko do symboli styków informują o stanie wejść na sterowniku W każdym sterowniku PLC mają takie samo oznaczenie, mogą być przypisywane zarówno do symboli cewek (wtedy ustawiają konkretne wyjście sterownika) jak i styków gdzie informują o stanie wyjść. M Marker Znacznik Tym symbolem określa się zmienne wewnętrzne sterownika, wykorzystywane są jako cewki i styki, elementy pośrednie programu. UWAGA!!! Symbole literowe stosowane przy tworzeniu programów w języku drabinkowym mogą być inne w zależności od firmy, która wyprodukowała sterownik PLC i oprogramowanie. 34 17
Elementy języka drabinkowego - przykłady Funkcja NOT Funkcja AND Funkcja NAND Funkcja OR Styki czujników wejściowych +24V I0.0 I0.1 MCU 230V/50Hz Q0.0 Q0.1 Odbiorniki Ro1 Ro2 COM1 COM2 +24V Funkcja NOR Interfejs komunikacyjny Funkcja XOR 35 Elementy języka instrukcji IL Lista Instrukcji (Instruction List) jest to język w formule zbliżony do asemblera, opisany w taki sposób aby był zrozumiały dla większości automatyków nie mających do tej pory styczności ze sterownikami PLC ani z programowaniem w asemblerze. Przeważnie każdemu elementowi w języku drabinkowym odpowiada jakaś funkcja w języku instrukcji. Prawie każde oprogramowanie w języku drabinkowym można przekonwertować do postaci języka instrukcji. Najpopularniejsze języki programowania PLC według raportu z 2009, Automatyka B2B 36 18
Elementy języka instrukcji IL Symbol Rodzaj Opis LD Bool, word, integer ST Bool, word, integer "Załaduj Załadowanie wartości zmiennej do aktywnego rejestru (z informatyki odpowiednikiem byłoby ładowanie na stos).zmienna występująca zwykle po prawej od wyrażenia może być właściwie dowolnego typu, uzależnione to jest od operatora, który wystąpi po niej. "Ustaw Zapamiętanie (przepisanie) wartości z aktywnego rejestru do zmiennej. S Bool "Ustaw" Zapamiętanie tzw. zatrzaskowe wartości zmiennej "1", zmiana stanu możliwa jest tylko przez funkcję Kasuj R Bool "Kasuj" stan zmiennej jest resetowany do "0" AND Bool Operator logiczny "I" OR Bool Operator logiczny "LUB" ADD, SUB, MUL DIV GT, GE, EQ, NE, LE,LT Bool, word, integer Bool, word, integer Dodawanie, odejmowanie, mnożenie, dzielenie Większe niż : ">, Większe lub równe : ", Równe : " = ", Nie równe : " ", Mniejsze lub równe : " ", Mniejsze : " < 37 Język FBD FBD jest językiem graficznym, który pozwala budować rozbudowane aplikacje wykorzystując gotowe bloki funkcyjne lub procedury znajdujące się w bibliotece. Pisanie aplikacji w tym języku polega na wyborze odpowiedniego bloku funkcyjnego i umieszczeniu na ekranie edytora graficznego. Funkcje te w programie są widziane jako prostokąty realizujące zależności pomiędzy zmiennymi wejściowymi a zmiennymi wyjściowymi. Wejścia i wyjścia funkcji, łączone między sobą tworzą strukturę programu. Bloki funkcyjne mogą być podzielone na następujące grupy: bloki funkcyjne umożliwiające tworzenie struktury programu, funkcje Boolowskie, funkcje arytmetyczne, funkcje logiczne, funkcje porównania, funkcje manipulacji na bitach, funkcje zegara, funkcje licznika, funkcje przetwarzania sygnałów ciągłych, funkcje generowania sygnału, funkcje matematyczne, funkcje trygonometryczne, funkcje manipulacji na bitach, funkcje konwersji, funkcje operacji na stringach, funkcje operacji na tablicach. 38 19
Najpopularniejsze języki programowania PLC opinia krajowych dostawców sterowników programowalnych 39 SEKWENCYJNY JĘZYK GRAFICZNY (SFC) Język ten jest podstawowym językiem zdefiniowanym w normie IEC 1131-3. Opisuje on operacje, wykorzystując prostą reprezentację graficzną dla poszczególnych kroków procesu i warunków nazywanych tranzycjami. Wyrósł on na gruncie metod opisu automatów sekwencyjnych, do których zalicza się : metodę polegającą na użyciu grafu przejść (każdy węzeł grafu jest związany ze stanem automatu, natomiast łuk grafu jest określony przez zmienną logiczną lub funkcję kilku zmiennych) metodę tablicy stanów (liczba kolumn rośnie wykładniczo ze wzrostem liczby wejść np. dla 20 wejść w tablicy stanów potrzeba więcej niż milion kolumn) ściśle związaną z fizyczną realizacją metodę schematów drabinkowych opierającą się na analogii do schematów przekaźnikowych. Wzrost złożoności systemów sterowania sekwencyjnego doprowadził do zdefiniowania w roku 1977 metody Grafcet. Wykorzystuje ona formalizm sieci Petriego typu P/T (Pozycja/Tranzycja) zmodyfikowany dla procesów dyskretnych. Zaletą jej jest zapis funkcji sekwencyjnych w sposób niezależny od realizacji sprzętowej i programowej. Na założeniach metody Grafcet w normie IEC 1131-3 zdefiniowano sposób opisu działania sterownika w postaci sekwencji SFC (Sequential Function Chart). Proces cykliczny jest podzielony na kolejne kroki oddzielone warunkami logicznymi. Formalizm ten może być wykorzystany przy programowaniu sterownika w celu stworzenia odpowiedniej struktury wewnętrznej programu. Zwykle do opisu poszczególnych akcji związanych z krokami i warunkami wykorzystuje się inne języki. Język ten umożliwia równoległe przejście pomiędzy dwoma krokami lub tranzycjami, co oznacza, że istnieje w nim możliwość równoległego przetwarzania części programu. 40 20
Wybór języka programowania PLC Wybór właściwego języka Mając do dyspozycji kilka różnych języków programowania, przed wyborem konkretnego z nich należałoby odpowiedzieć sobie na kilka kluczowych pytań. Oczywiście naturalną tendencją jest pozostawanie przy tym języku, który znamy. Jednak zawsze warto wziąć pod uwagę umieszczoną poniżej listę cech innych języków: łatwość nadzoru przez użytkownika końcowego: SFC, powszechność i akceptacja języka: LD, znajomość i akceptacja w Europie: IL lub ST, prędkość wykonywania przez PLC: IL lub ST, aplikacje wykorzystujące głównie cyfrowe We/Wy oraz prosta regulacja ciągła: LD lub FBD, łatwość dokonywania zmian w kodzie: LD, łatwość i umiejętność obsługi przez młodych inżynierów: ST, łatwość w implementacji skomplikowanych operacji matematycznych: ST, aplikacje, które cechują powtarzające się operacje lub procesy wymagające łączenia i jednoczesności operacji: SFC. Ponieważ nie wszyscy dostawcy sterowników PLC lub PAC dostarczają programy narzędziowe w pełni zgodne z normą IEC61131-3, na wybór języka programowania może również wpłynąć wykorzystywana w projekcie platforma sprzętowa. W rzeczywistości większość pozaeuropejskich dostawców nie oferuje tej funkcjonalności lub posiada bardzo ograniczone spektrum opcji, np. oferując jedynie język drabinkowy i SFC. W przypadku małych sterowników mikro PLC kwestią kluczową z punktu widzenia różnorodności języków programowania może być również brak wystarczającej ilości pamięci oraz zbyt mała prędkość procesora. Wielu programistów skazanych jest na pracę z konkretnym sprzętem. Jeśli jednak programista ma wpływ na wybór platformy sprzętowej, powinien dobrać najbardziej odpowiedni dla danej aplikacji język lub grupę języków. 41 Przykład sterownika modułowego PLC PCD2.M480, Kaseta główna z szybkim procesorem Motorola Coldfire 5407@162 MHz, 1MB pamięci RAM (rozszerzalnej o 1MB pamięci Flash EPROM typu R400), obsługa do 64 gniazd modułów we/wy (do 1024 we/wy), port USB, do 8 łączy komunikacyjnych: gniazdo A dla modułów PCD7.F1xx, gniazda B1, B2 dla różnych kombinacji modułów funkcyjnych PCD7.F5xx, sieci PROFIBUS DP, S-Net oraz Ethernet TCP/IP 10/100 Mbit/s, wbudowany Web-Server. 42 21
Sterownik PCD2.M480 Schemat blokowy sterownika PCD2.M480, firmy SAIA 43 Najbardziej znane na polskim rynku marki sterowników Raport z 2009, Automatyka B2B 44 22
Komputery przemysłowe podstawowe informacje Komputer przemysłowy (IPC) komputer przeznaczony do działania w warunkach przemysłowych (np. w halach fabrycznych). Charakteryzuje się większą odpornością na warunki zewnętrzne i zwiększonym poziomem niezawodności działania. Rynkiem dla takich komputerów są głównie zakłady przemysłowe, chociaż można je stosować także jako komputery wbudowane. Zasadniczym celem ich wykorzystania jest kontrola i sterowanie procesami przemysłowymi. Jednak architektura logiczna takiego komputera może być w pełni kompatybilna z komputerami osobistymi klasy PC. Dzięki temu może to być sprzęt do specyficznych zastosowań i jednocześnie dobrze udokumentowany, i powszechnie znany. Architektura IA-32 (Intel x86-32) system GNU/Linux, Microsoft Windows. Ze względu na zastosowanie w kontrolowaniu procesów, zwykle uruchamiane są na nich systemy operacyjne czasu rzeczywistego takie jak QNX, RTLinux lub Windows CE. 45 Komputery przemysłowe Cechy charakterystyczne komputerów przemysłowych zwarta budowa (brak "odstających" elementów), możliwość dołączenia modułów (karty typu PCI) lub np. według standardu PC-104 - forma "wieżyczki", duża wytrzymałość na warunki środowiskowe - przykładowy komputer przemysłowy może pracować bezbłędnie gdy: temperatura powietrza: 0 C - 60 C (przechowywanie: -40 C - 85 C), wilgotność wynosi: 0% - 95% (ale bez kondensacji pary wodnej), oddziałują na niego wibracje, powietrze jest zapylone, brak konieczności stosowania wentylatorów do chłodzenia płyty głównej i procesora, chipset ze zintegrowaną kartą graficzną, sieciową, kontrolerem dysków, możliwość bezpośredniego podłączenia wyświetlacza LCD do płyty głównej. Przykładowe wyposażenie komputera przemysłowego Zintegrowany w chipsecie kontroler grafiki pozwala uzyskać niezależne obrazy w wysokiej rozdzielczości poprzez wyjścia DVI, HDMI i LVDS (opcjonalnie). Szerokie możliwości komunikacyjne: porty Gigabit Ethernet ( z Wake On LAN), porty szeregowy: konfigurowalne jako RS-232/422/485 natomiast kolejne 2 RS-422/485 są izolowane do 7,5kV. 6 portów USB 2.0, 8-bitowe DIO oraz wyjście Audio typu Dual Chanel. Dodatkowo w standardowym wyposażeniu otrzymujemy 6 programowalnych przycisków funkcyjnych umieszczonych na froncie obudowy. 46 23
Przykłady komputerów przemysłowych 47 Rozwój PLC, PAC, IPC Funkcjonalność i technologia sterowników programowalnych jest cały czas rozwijana. Na rynku PLC widoczna jest miniaturyzacja oraz zwiększanie ich możliwości funkcyjnych. W wyniku wprowadzania zmian coraz łatwiejsze staje się zarządzanie siecią, łączenie PLC z urządzeniami peryferyjnymi i włączanie ich do systemów sterowania. Rozbudowywane są moduły komunikacyjne. Stosowane są również zdalne moduły we/wy z użyciem sieci Ethernet, PROFInet, PROFIbus itp. Następuje integracja sterowników ze światem IT. PLC współpracują z webserwerami, FTP, SQL, WWW, GSM itd. PLC przejmuje funkcje dedykowanych modułów, np. do sterowania ruchem. Widoczny jest wzrost szybkości, mocy obliczeniowej i pamięci sterowników, dzięki czemu można sterować coraz większymi procesami w czasie rzeczywistym. Zauważalnym trendem na rynku PLC jest zdecydowanie większa swoboda komunikacji. Dodatkowo otwarte standardy ułatwiają integrację i skracają czas uruchomienia systemu. PLC są również oparte na systemach embedded (Windows, Linux). Coraz częściej PLC stosuje się w automatyce domowej - proste sterowanie modułami oświetleniowymi, kontrolą dostępu, bramami itp. Kontrolery PAC są naturalną drogą rozwoju sterowników PLC, dlatego znaczący producenci PLC już oferują lub wkrótce będą mieli je w ofercie. Komputery przemysłowe IPC w obecnej chwili nie stanowią silnej konkurencji dla PLC. Rozwiązania z IPC znajdują swoje zastosowania w urządzeniach, gdzie konieczne jest połączenie wysoko specjalizowanych modułów, np. pomiarowych z wykorzystaniem połączeń ethernetowych, lub wymagana jest komunikacja z systemami informatycznymi. W przyszłości kontrolery PAC i IPC będą stanowić konkurencję dla PLC. Urządzenia te są coraz tańsze, a oferują znaczną różnorodność rozwiązań. W wielu przypadkach sterowanie PLC jest zastępowane systemami PAC i IPC, mają też dużą moc obliczeniową. 48 24