Metody programowania Metody programowania sterowników
sterowników swobodnie swobodnie programowalnych
programowalnych
Wykład 9.3 Wykład 9.3
Metody programowania sterowników Metody programowania sterowników
swobodnie programowalnych swobodnie programowalnych
• Istnieje wiele metod przekształcania algorytmów w program sterujący.
• W 1993 r. w normie:
IEC 61131-3 Second Edition 2003-01 „Programmable Controllers Part 3: Programming Languages”.
dokonano uporządkowania (standaryzacji) metod programowania.
• W trzeciej części tej normy określono dwie grupy języków programowania:
– języków tekstowych, – języków graficznych,
Metody programowania sterowników Metody programowania sterowników
swobodnie programowalnych 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ęzyki tekstowe
Język strukturalny ST (Structured Text) – podobny do języków algorytmicznych jak: FORTRAN,
PASCAL, itp.
Język instrukcji listy IL (Instruction List) – podobny do asemblera.
Języki tekstowe Języki tekstowe
• Są w niewielkim stopniu wykorzystywane w programowaniu 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 w automatyce budynkowej.
Języki graficzne 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 Język schematów drabinkowych LD
Sterowanie wentylatorem zrealizowane w języku drabinkowym (LD) - sterownik WAGO
Język schematów drabinkowych LD Język schematów drabinkowych LD
(najczęściej spotykany w automatyce przemysłowej
(najczęściej spotykany w automatyce przemysłowej –– np. SIMATIC)np. SIMATIC)
• Jest podobny do schematów stykowo-przekaźnikowych układów sterowania.
• Pozwala w prosty i czytelny 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 i pionowym.
• 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 Język schematów drabinkowych LD
• Elementy wejściowe – styki:
– -| |- styk normalnie otwarty, przewodzi prąd gdy skojarzona z nim zmienna logiczna ma wartość 1,
– -|/|- styk normalnie zamknięty, przewodzi prąd gdy skojarzona z nim zmienna logiczna ma wartość 0.
• Elementy wyjściowe – cewki:
– -( )- zwykła cewka, skojarzona z nią 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ą z nią 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 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
Język schematów blokowych FBD
Oprogramowanie sterownika kotłowni Oprogramowanie sterownika kotłowni
-- sterownik IAC 600 fsterownik IAC 600 f--my Satchwellmy Satchwell
Język schematów blokowych FBD Język schematów blokowych FBD
Wykorzystuje w programowaniu standardowe funkcje, rysowane w formie 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 z lewej strony a wyjścia z prawej. Bloki łączy się liniami tworząc w ten sposób obwód sterowania.
Przykładowy algorytm zrealizowany czterema Przykładowy algorytm zrealizowany czterema znormalizowanymi metodami programowania znormalizowanymi metodami programowania
• W przykł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 Automatyzacja centrali klimatyzacyjnej
Schemat układu automatycznej regulacji
T
M ΔP
T
T
M
ΔP
T T
H T H
ΔP M
+ - +
~
K
NT T H
T H
T T
M
AI AO DI DO
~
Z/W-I/II bieg DO+AO+DI) Z/W-I/II bieg (DO+AO+DI) TK/NTC
TK/NTC
7 4 5 6 Tn=f(Tw),
Tw=f(Tz)
A0R
Opis realizowanej funkcji:
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:
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, z termokontaktu lub z systemu przeciw pożarowego, bądź też zniknie potwierdzenie z presostatu, 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 Sterowanie wentylatorem zrealizowane w
języku blokowym (FBD)
języku blokowym (FBD) -- WAGO WAGO
Język schematów drabinkowych LD Język schematów drabinkowych LD
Sterowanie wentylatorem zrealizowane w języku drabinkowym (LD) - sterownik WAGO
Sterowanie wentylatorem zrealizowane w języku instrukcji (IL)
Sterowanie wentylatorem zrealizowane w języku instrukcji (IL)--WAGOWAGO
Język strukturalny ST (
Język strukturalny ST (Structured Structured Text
Text))
Sterowanie wentylatorem zrealizowane w języku tekstowym strukturalnym (ST) – sterownik WAGO
Język schematów blokowych FBD
Język schematów blokowych FBD –– przykład 2 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 Zabezpieczenie nagrzewnicy wodnej przed
zamarznięciem zamarznięciem
• Opis realizowanej funkcji:
• Podczas normalnej pracy Regulator1 (układ regulacji PID) wysterowuje zawór nagrzewnicy odpowiednio do aktualnych wartości temperatury regulowanej i wartoś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 z termostatu układ wraca do normalnej pracy.
• SATCHNET
Zabezp. przeciwzamrożeniowe nagrzewnicy Zabezp. przeciwzamrożeniowe nagrzewnicy ––
sterownik XL50(500) firmy Honeywell.
sterownik XL50(500) firmy Honeywell.
Język schematów blokowych.
Język schematów blokowych.
Program zabezpieczenia przeciwzamrożeniowego Program zabezpieczenia przeciwzamrożeniowego
nagrzewnicy nagrzewnicy
• Program realizowany przez sterownik WAGO
Zabezpieczenie przeciwzamrożeniowe nagrzewnicy Zabezpieczenie przeciwzamrożeniowe nagrzewnicy ––
realizowane przez sterownik FX firmy Johnson Controls.
realizowane przez sterownik FX firmy Johnson Controls.
Zalety języka schematów blokowych FBD Zalety języka schematów blokowych FBD
Jest najbardziej popularnym językiem programowania sterowników stosowanych w automatyce 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 w formie graficznej),
- jest to język łatwy do opanowania przez początkujących programistów.
Wady języka schematów blokowych FBD 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.