Sterowniki Programowalne (SP) Wybrane aspekty procesu tworzenia oprogramowania dla sterownika PLC Podstawy języka funkcjonalnych schematów blokowych (FBD) Politechnika Gdańska Wydział Elektrotechniki i Automatyki Kierunek: Automatyka i Robotyka Studia stacjonarne I stopnia: rok III, semestr V SP 2014 dr inż. Tomasz Rutkowski Katedra Inżynierii Systemów Sterowania 1
Typowa procedura tworzenia oprogramowania dla sterownika PLC SP 2014 2
. SP 2014 Źródło: Seta K. Wprowadzenie 3
. Zapoznanie się z procesem: informacje od technologa, z literatury, z innych źródeł Opracowanie koncepcji układu i algorytmu sterowania: czy sterowanie tylko binarne? czy proces ma charakter sekwencyjny? określenie struktury programu: liniowy strukturalny (określenie poszczególnych zadań, bloków programowych związanych z określonymi fragmentami procesu) wykorzystanie opisu w postaci np.: tablicy stanów, grafu stanów, schematu blokowego, sekwencyjnego schematu funkcjonalnego Oszacowanie wielkości obiektu (liczba wejść i wyjść) SP 2014 4
. Uzgodnienia końcowe koncepcji układu i algorytmu sterowania z użytkownikiem systemu SP 2014 5
. Typ sterownika Typy i liczby modułów Rodzaj urządzeń peryferyjnych Konfiguracja sterownika i jej opis Tablice urządzeń fizycznych (adres logiczny, fizyczny, symboliczny; oznaczenie na schemacie; opis punktu; producent): czujników przycisków przetworników pomiarowych elementów wykonawczych. SP 2014 6
. Sformułowanie równań (logiki) opisujących działanie układu sterowania Wykorzystanie opisu w postaci np.: tablicy stanów grafu stanów schematu blokowego ( klasycznego ) sekwencyjnego schematu funkcjonalnego SP 2014 7
. Napisanie programu z wykorzystaniem języka : drabinkowego tekst strukturalny lista rozkazów funkcjonalny schemat blokowy C Napisanie programu z wykorzystaniem różnych języków : program hybrydowy Wprowadzenie komentarzy Tworzenie dokumentacji, np. wykorzystanych w programie znaczników (flag) SP 2014 8
. Zgodnie z normami Zgodnie z zasadami sztuki Zgodnie z dokumentacją techniczną iście techniczna robota. SP 2014 9
. Sprawdzenie działania wszystkich torów wejściowych i wyjściowych Wykorzystanie symulatora obiektu dla celów weryfikacji algorytmu sterowania lub jego poszczególnych sekcji Wykonanie kopi programu na zewnętrznym nośniku Wykonanie przejrzystej dokumentacji technicznej programu SP 2014 10
Przypomnienie wybranych elementów normy IEC 61131-3 SP 2014 11
IEC 61131-3 - model oprogramowania Norma IEC 61131-3 wyróżnia następujące elementy języków programowania dla sterowników PLC: typy danych (ang. Data types) jednostki organizacyjne oprogramowania (ang. Program Organization Units - POU) elementy konfiguracji (ang. Configuration elements) elementy sekwencyjnego schematu funkcjonalnego (ang. Sequential Function Chart - SFC) SP 2014 12
IEC 61131-3 - model oprogramowania - POU Jednostki organizacyjne oprogramowania POU (ang. Program Organization Units) stanowią najmniejsze niezależne jednostki oprogramowania aplikacji użytkownika, a składają się na nie: funkcje (ang. functions) bloki funkcyjne (ang. function blocks) programy (ang. programs) Każdy POU zawiera następujące elementy: typ i nazwa POU (w przypadku funkcji także typ danej wyjściowej) deklaracja zmiennych (wejściowych, wyjściowych i lokalnych) ciało POU (kod programu) SP 2014 13
SP 2014 14
Język FBD - wprowadzenie Język FBD jest jednym z języków graficznych zdefiniowanych w normie IEC 61131-3 Język FBD (ang. Function Block), jest odpowiednikiem schematu przepływu sygnału (ang. signal flow) dla obwodów logicznych przedstawionych w formie połączonych bramek logicznych oraz funkcji i bloków funkcjonalnych, takich jak w języku drabinkowym SP 2014 15
Język FBD - wprowadzenie Przepływ sygnału pomiędzy poszczególnymi blokami funkcyjnymi następuje z wyjścia (prawa strona bloku) do wejścia kolejnego bloku funkcyjnego (lewa strona bloku) Elementy graficzne występujące w języku FBD mają kształt prostokątów połączonych: w sposób jawny linie poziome i pionowe (ang. wire) w sposób niejawny poprzez zdefiniowane zmienne Zbiór wzajemnie połączonych bloków nazywa się schematem blokowym, siecią lub obwodem SP 2014 16
Język FBD - wprowadzenie Program napisany za pomocą języka FBD może składać się z pojedynczego schematu blokowego (pojedynczej sieci) lub grupy schematów blokowych (grupy sieci) wykonywanych zgodnie z określoną sekwencją W schemacie blokowym (sieci) mogą występować sprzężenia zwrotne, gdy wyjście funkcji lub bloku funkcyjnego jest wprowadzane na wejście funkcji lub bloku funkcyjnego poprzedzającego je w schemacie blokowym (sieci) SP 2014 17
Język FBD - wprowadzenie EN JAKASTAM _FUNKCJA WE1 WY WE2 ENO EN (ang. Enable) ENO (ang. Enable Output) SP 2014 18
Język FBD - wprowadzenie pętla jawna AND zm2 wy2 AND zm1 wy1 SP 2014 Źródło: PN-EN 61131-3 19
Język FBD - wprowadzenie pętla niejawna AND zm2 wy2 AND zm1 wy1 wy2 SP 2014 Źródło: PN-EN 61131-3 20
Język FBD - wprowadzenie pętla niejawna AND AND zm1 wy1 wy2 zm2 wy2 wy1 SP 2014 Źródło: PN-EN 61131-3 21
Język FBD zasady wykonania programu Wartość żadnego z elementów obwodu nie jest wyznaczona dopóki nie zostaną wyznaczone wartości wszystkich jego wejść Wyznaczanie wartości elementu obwodu nie jest zakończone, dopóki nie wyznaczono wartości dla wszystkich jego wyjść Wykonanie całego programu (całego obwodu) nie jest zakończone, dopóki nie wyznaczono wartości wyjść dla wszystkich elementów tego obwodu W ramach POU wykonywanie programu dla obwodu powinno być zakończone, zanim rozpocznie się wykonywanie następnego obwodu, w którym są wykorzystywane wyjścia obwodu poprzedniego SP 2014 Źródło: PN-EN 61131-3 22
Język FBD zasady wykonania programu Kolejność wykonywania poszczególnych bloków programu w postaci schematu blokowego (pojedynczej sieci) związana jest bezpośrednio z: położeniem bloku w ramach całego obwodu oraz ze strukturą jawnych, wzajemnych połączeń pomiędzy poszczególnymi blokami Skanowanie programu w postaci schematu blokowego (pojedynczej sieci) odbywa się z góry na duł i z lewej strony obwodu do prawej strony obwodu SP 2014 23
Podstawy FBD w sterownikach PLC GE FANUC SP 2014 24
Język FBD zasady wykonania programu przykład 1 SP 2014 Źródło: Logic Developer - PLC: 25
Język FBD zasady wykonania programu przykład 2 SP 2014 Źródło: Logic Developer - PLC: 26
Język FBD zasady wykonania programu przykład 3 SP 2014 Źródło: Logic Developer - PLC: 27
Język FBD zasady wykonania programu przykład 4 SP 2014 Źródło: Logic Developer - PLC: 28
Język FBD zasady wykonania programu przykład 5 SP 2014 Źródło: Logic Developer - PLC: 29
Język FBD zasady wykonania programu przykład 6 SP 2014 Źródło: Logic Developer - PLC: 30
Język FBD zasady wykonania programu przykład 7 SP 2014 Źródło: Logic Developer - PLC: 31
Język FBD podstawowe elementy sterowników PLC GE Fanuc Przykłady funkcji podstawowych -> operacje na bitach min 2 we., max 8 we SP 2014 Źródło: Logic Developer - PLC: 32
Język FBD podstawowe elementy sterowników PLC GE Fanuc Przykłady funkcji podstawowych -> operacje matematyczne SP 2014 Źródło: Logic Developer - PLC: 33
Język FBD podstawowe elementy sterowników PLC GE Fanuc Przykłady funkcji podstawowych -> zaawansowane funkcje matematyczne SP 2014 Źródło: Logic Developer - PLC: 34
Przykłady funkcji podstawowych -> relacje Język FBD podstawowe elementy sterowników PLC GE Fanuc SP 2014 Źródło: Logic Developer - PLC: 35
Przykłady funkcji podstawowych -> liczniki Język FBD podstawowe elementy sterowników PLC GE Fanuc SP 2014 Źródło: Logic Developer - PLC: 36
Przykłady funkcji podstawowych -> timery Język FBD podstawowe elementy sterowników PLC GE Fanuc SP 2014 Źródło: Logic Developer - PLC: 37
Przykłady funkcji podstawowych -> timery Język FBD podstawowe elementy sterowników PLC GE Fanuc SP 2014 Źródło: Logic Developer - PLC: 38
Przykłady funkcji podstawowych -> timery Język FBD podstawowe elementy sterowników PLC GE Fanuc SP 2014 Źródło: Logic Developer - PLC: 39
Przykłady funkcji podstawowych -> timery Język FBD podstawowe elementy sterowników PLC GE Fanuc SP 2014 Źródło: Logic Developer - PLC: 40
Język FBD podstawowe elementy sterowników PLC GE Fanuc Przykłady funkcji podstawowych -> funkcje sterujące SP 2014 Źródło: Logic Developer - PLC: 41
Język FBD podstawowe elementy sterowników PLC GE Fanuc Przykłady funkcji podstawowych -> kopiowanie danych SP 2014 Źródło: Logic Developer - PLC: 42
Język FBD podstawowe elementy sterowników PLC GE Fanuc Przykłady funkcji podstawowych -> konwersji pomiędzy typami danych SP 2014 Źródło: Logic Developer - PLC: 43
Język FBD podstawowe elementy sterowników PLC GE Fanuc Mały przykład wykorzystanie generatora impulsów TP SP 2014 Źródło: Logic Developer - PLC: 44
Język FBD podstawowe elementy sterowników PLC GE Fanuc- SP 2014 45
Język FBD podstawowe elementy sterowników PLC GE Fanuc A co z funkcjonalnością SET i RESET znaną już nam z LD i IL? SP 2014 Źródło: Logic Developer - PLC: 46
Przykład: Przerzutnik RS Język FBD podstawowe elementy sterowników PLC GE Fanuc Przykładowe elementy języka FBD do wykorzystania: bloki AND bloki NOT r s Q Q stan 0 0 1 1 Stan wejść logicznie zabroniony 0 1 0 1 Przerzutnik ustawiony w stan 0 1 0 1 0 Przerzutnik ustawiony w stan 1 0 1 Pamiętanie stanu 0 1 1 Stan pamiętania 1 0 Pamiętanie stanu 1 SP 2014 47
Przykład: Przerzutnik RS Język FBD podstawowe elementy sterowników PLC GE Fanuc SP 2014 48
Język FBD podstawowe elementy sterowników PLC GE Fanuc Mały przykład regulator dwupołożeniowy z histerezą czasową SP 2014 Źródło: Logic Developer - PLC: 49
Język FBD podstawowe elementy sterowników PLC GE Fanuc SP 2014 50
Język FBD podstawowe elementy sterowników PLC GE Fanuc wersja I SP 2014 51
Język FBD podstawowe elementy sterowników PLC GE Fanuc wersja I SP 2014 52
Język FBD podstawowe elementy sterowników PLC GE Fanuc wersja I SP 2014 53
Język FBD podstawowe elementy sterowników PLC GE Fanuc wersja II SP 2014 54
Język FBD podstawowe elementy sterowników PLC GE Fanuc wersja II SP 2014 55
Język FBD podstawowe elementy sterowników PLC GE Fanuc wersja II SP 2014 56
Podstawy FBD w sterownikach PLC SIMATIC S7-1200 SP 2014 57
Język FBD podstawowe elementy sterowników PLC SIMATIC S7-1200 Przykłady funkcji podstawowych -> operacje na bitach Reset OR Set XOR Przerzutnik asynchroniczny RS AND SP 2014 58
Język FBD podstawowe elementy sterowników PLC SIMATIC S7-1200 Przykłady funkcji podstawowych -> operacje matematyczne SP 2014 59
Język FBD podstawowe elementy sterowników PLC SIMATIC S7-1200 Przykłady funkcji podstawowych -> zaawansowane funkcje matematyczne min 2 we., max 100 we SP 2014 60
Przykłady funkcji podstawowych -> relacje Język FBD podstawowe elementy sterowników PLC SIMATIC S7-1200 SP 2014 61
Przykłady funkcji podstawowych -> liczniki Język FBD podstawowe elementy sterowników PLC SIMATIC S7-1200 SP 2014 62
Przykłady funkcji podstawowych -> timery Język FBD podstawowe elementy sterowników PLC SIMATIC S7-1200 SP 2014 63
Przykłady funkcji podstawowych -> timery Język FBD podstawowe elementy sterowników PLC SIMATIC S7-1200 SP 2014 64
Przykłady funkcji podstawowych -> timery Język FBD podstawowe elementy sterowników PLC SIMATIC S7-1200 SP 2014 65
Język FBD podstawowe elementy sterowników PLC SIMATIC S7-1200 Przykłady funkcji podstawowych -> funkcje sterujące SP 2014 66
Język FBD podstawowe elementy sterowników PLC SIMATIC S7-1200 Przykłady funkcji podstawowych -> kopiowanie danych SP 2014 67
Język FBD podstawowe elementy sterowników PLC SIMATIC S7-1200 Przykłady funkcji podstawowych -> konwersji pomiędzy typami danych SP 2014 68
Język FBD podstawowe elementy sterowników PLC SIMATIC S7-1200 Mały przykład Monitorowanie poziomu cieczy w zbiorniku ze wskazaniem przekroczenia poziomu minimalnego i maksymalnego SP 2014 69
Język FBD podstawowe elementy sterowników PLC SIMATIC S7-1200 SP 2014 70
Język FBD podstawowe elementy sterowników PLC SIMATIC S7-1200 SP 2014 71
Język FBD podstawowe elementy sterowników PLC SIMATIC S7-1200 SP 2014 72
Język FBD podstawowe elementy sterowników PLC SIMATIC S7-1200 SP 2014 73
Język FBD podstawowe elementy sterowników PLC SIMATIC S7-1200 SP 2014 74
Język FBD podstawowe elementy sterowników PLC SIMATIC S7-1200 SP 2014 75
Język FBD podstawowe elementy sterowników PLC SIMATIC S7-1200 SP 2014 76
Język FBD podstawowe elementy sterowników PLC SIMATIC S7-1200 SP 2014 77
Język FBD podstawowe elementy sterowników PLC SIMATIC S7-1200 SP 2014 78
Język FBD podstawowe elementy sterowników PLC SIMATIC S7-1200 SP 2014 79
Język FBD podstawowe elementy sterowników PLC SIMATIC S7-1200 SP 2014 80
Źródła: PN-EN 61131-3 Sterowniki programowalne Języki programowania Proficy Logic Developer PLC, Function Block Diagram (FBD) Language, GE Fanuc Intelligent Platforms, Inc. 2009 Logic Developer - PLC: an Overview, GE Fanuc Intelligent Platforms, Inc. 2006 SP 2014 81
Dziękuję za uwagę!!! SP 2014 82