Metody programowania sterowników swobodnie programowalnych Wykład 9.3
Metody programowania sterowników swobodnie programowalnych Istnieje wiele metod przekształcania algorytmów wprogram sterujący. W1993 r. wnormie: IEC 61131-3 Second Edition 2003-01 Programmable Controllers Part 3: Programming Languages. dokonano uporządkowania (standaryzacji) metod programowania. Wtrzeciej części tej normy określono dwie grupy języków programowania: języków tekstowych, języków graficznych,
Metody programowania sterowników swobodnie programowalnych W grupie języków tekstowych zdefiniowano: język instrukcji listy IL (Instruction List) podobny do asemblera, język strukturalny ST (Structured Text) podobny do języków algorytmicznych jak: FORTRAN, PASCAL, itp.
Języki tekstowe Język instrukcji listy IL (Instruction List) podobny do asemblera. Język strukturalny ST (Structured Text) podobny do języków algorytmicznych jak: FORTRAN, PASCAL, itp.
Języki tekstowe Są wniewielkim stopniu wykorzystywane wprogramowaniu sterowników automatyki budynkowej (WAGO,SAIA PCD). Główne zastosowanie tych metod to programowanie sterowników przemysłowych. Języki tekstowe dają możliwość tworzenia indywidualnych dowolnych algorytmów. Większa pracochłonność w porównaniu do metod graficznych, większa trudność w stosowaniu przez początkujących programistów, mniejsza przejrzystość kodu oraz funkcji regulacyjnych przyczyniły się do mniejszego zastosowania wautomatyce budynkowej.
Języki graficzne W grupie języków graficznych opisano i zdefiniowano dwa rodzaje: język schematów drabinkowych LD (Lauder Diagram), język schematów blokowych FBD (Function Block Diagram).
Język schematów drabinkowych LD Sterowanie wentylatorem zrealizowane w języku drabinkowym (LD) - sterownik WAGO
Język schematów drabinkowych LD (najczęściej spotykany w automatyce przemysłowej np. SIMATIC) Jest podobny do schematów stykowo-przekaźnikowych układów sterowania. Pozwala wprosty iczytelny sposób programować sterowniki wykorzystując elementy algebry Bool a [bul a]. Program działania sterownika jest przedstawiany graficznie za pomocą symboli styków, cewek oraz linii łączących w układzie poziomym ipionowym. Linie łączące operandy zastępują instrukcje np.: sumy, iloczynu logicznego itp. Połączenie elementów graficznych stanowi obwód. Wszystkie obwody zaczynają się szyną zasilającą od strony lewej, od której prąd może płynąć do strony prawej.
Język schematów drabinkowych LD Elementy wejściowe styki: - - styk normalnie otwarty, przewodzi prąd gdy skojarzona znim zmienna logiczna ma wartość 1, - / - styk normalnie zamknięty, przewodzi prąd gdy skojarzona znim zmienna logiczna ma wartość 0. Elementy wyjściowe cewki: -( )- zwykła cewka, skojarzona znią zmienna logiczna ma wartość 1, gdy płynie przez nią prąd lub 0, gdy prąd nie płynie, -(/ )- cewka negująca, ustawia skojarzoną znią wartość logiczną odwrotnie jak cewka zwykła. W obwodach schematu drabinkowego mogą występować także określone normą IEC1131 standardowe funkcje i bloki logiczne jak: elementy bistabilne, czasomierze, liczniki.
Język schematów drabinkowych LD Jest zdecydowanie dedykowany do realizacji sterowania opartego na sygnałach binarnych (sterowanie napędami: pompy, wentylatory, przenośniki oraz realizacja warunków logicznych). Opanowanie tego języka wymaga znajomości algebry Bool a. W języku tym jest programowana większość sterowników przemysłowych oraz niektóre stosowane w automatyce budynkowej.
Język schematów blokowych FBD
Oprogramowanie sterownika kotłowni -sterownik IAC 600 f-my Satchwell
Język schematów blokowych FBD Wykorzystuje w programowaniu standardowe funkcje, rysowane wformie prostokątów. Liczba i rodzaj funkcjonalnych bloków jest zróżnicowana i zależy od producenta oprogramowania narzędziowego. Poszczególne bloki obejmują wszystkie niezbędne w sterowaniu funkcje jak: matematyczne, logiczne, regulacyjne (P, PI, PID), czasowe oraz konwersja typu danych. Wejścia do każdego bloku znajdują się zwykle zlewej strony a wyjścia z prawej. Bloki łączy się liniami tworząc w ten sposób obwód sterowania.
Przykładowy algorytm zrealizowany czterema znormalizowanymi metodami programowania Wprzykładzie pokazano strukturę programów wykonanych przy pomocy języków tekstowych i graficznych, realizujących tę samą funkcję przez sterownik firmy WAGO. Oprogramowanie narzędziowe firmy WAGO umożliwia oprogramowanie sterowników we wszystkich językach opisanych przez normę IEC1131. Algorytm dotyczy sterowania wentylatorem z kontrolą sprężu przez presostat różnicy ciśnień, z termostatem przeciwzamrożeniowym, termokontaktem i czujnikiem dymu.
Automatyzacja centrali klimatyzacyjnej Schemat układu automatycznej regulacji TK/NTC M Z/W-I/II bieg (DO+AO+DI) T H ΔP T T TK/NTC + - + T M Z/W-I/II bieg DO+AO+DI) T T H Tn=f(Tw), Tw=f(Tz) K M ΔP ~ ΔP ~ A0R NT AI AO DI DO 7 4 5 6
Opis realizowanej funkcji: Wentylator może pracować w trybie ręcznym lub automatycznym. W trybie automatycznym załączanie i wyłączanie odbywa się zgodnie z harmonogramem czasowym Zegar przy załączonym trybie Automatycznie. Tryb Ręcznie jest przewidziany do pracy ciągłej. Warunkiem pracy wentylatora jest brak awarii z termokontaktu silnika, brak blokady pożarowej oraz prawidłowy stan termostatu przeciwzamrożeniowego. Po załączeniu jest uruchamiany Timer1, odliczający czas podtrzymania blokady presostatu na wentylatorze. Po upływie zadanego czasu podtrzymanie presostatu jest wyłączane.
Opis realizowanej funkcji: W przypadku zadziałania presostatu (stan prawidłowy) wentylator pracuje nadal. W sytuacji gdy po zniknięciu podtrzymania nie pojawi się potwierdzenie pracy z presostatu, wyjście cyfrowe sterujące wentylatorem jest wyłączane. Gdy podczas pracy wentylatora pojawi się sygnał awarii z termostatu przeciw zamrożeniowego, ztermokontaktu lub z systemu przeciw pożarowego, bądź też zniknie potwierdzenie zpresostatu, wysterowanie wentylatora jest wyłączane. W przypadku powrotu sygnału z termostatu przeciw zamrożeniowego do stanu normalnego wentylator wystartuje samoczynnie. PATRZ SATCHNET
Sterowanie wentylatorem zrealizowane w języku blokowym (FBD) - WAGO
Język schematów drabinkowych LD Sterowanie wentylatorem zrealizowane w języku drabinkowym (LD) - sterownik WAGO
Sterowanie wentylatorem zrealizowane w języku instrukcji (IL)-WAGO
Język strukturalny ST (Structured Text) Sterowanie wentylatorem zrealizowane w języku tekstowym strukturalnym (ST) sterownik WAGO
Język schematów blokowych FBD przykład 2 W drugim przykładzie pokazano programy realizujące tę samą funkcję, wykonane w języku schematów blokowych FBD przy pomocy programów narzędziowych trzech różnych producentów sterowników: WAGO, Johnson Controls Int. oraz Honeywell
Zabezpieczenie nagrzewnicy wodnej przed zamarznięciem Opis realizowanej funkcji: Podczas normalnej pracy Regulator1 (układ regulacji PID) wysterowuje zawór nagrzewnicy odpowiednio do aktualnych wartości temperatury regulowanej iwartości zadanej. W momencie pojawienia się sygnału awarii z termostatu przeciwzamrożeniowego, zawór nagrzewnicy otwierany jest na 100%. Po zniknięciu sygnału awarii ztermostatu układ wraca do normalnej pracy. SATCHNET
Zabezp. przeciwzamrożeniowe nagrzewnicy sterownik XL50(500) firmy Honeywell.
Język schematów blokowych. Program zabezpieczenia przeciwzamrożeniowego nagrzewnicy Program realizowany przez sterownik WAGO
Zabezpieczenie przeciwzamrożeniowe nagrzewnicy realizowane przez sterownik FX firmy Johnson Controls.
Zalety języka schematów blokowych FBD Jest najbardziej popularnym językiem programowania sterowników stosowanych wautomatyce budynkowej. Do zalet języka schematów blokowych należą : - łatwość realizacji algorytmów opartych na obróbce sygnałów analogowych, - łatwość tworzenia bibliotek gotowych aplikacji i ich modyfikacji, - łatwość odczytu algorytmu sterowania (w niektórych sterownikach istnieje możliwość odczytu programu wformie graficznej), - jest to język łatwy do opanowania przez początkujących programistów.
Wady języka schematów blokowych FBD Do wad tego języka należy konieczność dostosowywania istniejących bloków do potrzeb sterowania oraz utrudniona realizacja skomplikowanych warunków logicznych.
Dziękuję za uwagę!
KONIEC