• Nie Znaleziono Wyników

Metody programowania Metody programowania sterowników swobodnie sterowników swobodnie programowalnych programowalnych

N/A
N/A
Protected

Academic year: 2021

Share "Metody programowania Metody programowania sterowników swobodnie sterowników swobodnie programowalnych programowalnych"

Copied!
59
0
0

Pełen tekst

(1)

Metody programowania Metody programowania sterowników swobodnie sterowników swobodnie

programowalnych programowalnych

Wykład 4 Wykład 4

(2)

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,

(3)

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.

(4)

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.

(5)

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.

(6)

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).

(7)

Język schematów drabinkowych LD Język schematów drabinkowych LD

Sterowanie wentylatorem zrealizowane w języku drabinkowym (LD) - sterownik WAGO

(8)

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.

(9)

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.

(10)

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.

(11)

Język schematów blokowych FBD

Język schematów blokowych FBD

(12)

Oprogramowanie sterownika kotłowni Oprogramowanie sterownika kotłowni

-- sterownik IAC 600 fsterownik IAC 600 f--my Satchwellmy Satchwell

(13)

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.

(14)

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.

(15)

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

(16)

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.

(17)

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 przykład z laboratorium w SATCHNET

(18)

Sterowanie wentylatorem zrealizowane w Sterowanie wentylatorem zrealizowane w

języku blokowym (FBD)

języku blokowym (FBD) -- WAGO WAGO

(19)

Język schematów drabinkowych LD Język schematów drabinkowych LD

Sterowanie wentylatorem zrealizowane w języku drabinkowym (LD) - sterownik WAGO

(20)

Sterowanie wentylatorem zrealizowane w języku instrukcji (IL)

Sterowanie wentylatorem zrealizowane w języku instrukcji (IL)--WAGOWAGO

(21)

Język strukturalny ST (

Język strukturalny ST (Structured Structured Text

Text))

Sterowanie wentylatorem zrealizowane w języku tekstowym strukturalnym (ST) – sterownik WAGO

(22)

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

(23)

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.

• Patrz przykład 2 z laboratorium w SATCHNET

(24)

Zabezp. przeciwzamrożeniowe nagrzewnicy Zabezp. przeciwzamrożeniowe nagrzewnicy ––

sterownik XL50(500) firmy Honeywell.

sterownik XL50(500) firmy Honeywell.

(25)

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

(26)

Zabezpieczenie przeciwzamrożeniowe nagrzewnicy Zabezpieczenie przeciwzamrożeniowe nagrzewnicy ––

realizowane przez sterownik FX firmy Johnson Controls.

realizowane przez sterownik FX firmy Johnson Controls.

(27)

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.

(28)

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.

(29)

Dziękuję za uwagę!

Dziękuję za uwagę!

(30)

Automatyka w inżynierii środowiska Automatyka w inżynierii środowiska

Wykład 5 Wykład 5

Komputerowe systemy

monitoringu i zarządzania

(31)

District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating District Heating

Komputerowe systemy monitoringu i

zarządzania

(32)

Produkcja

Dystrybucja

Odbiorcy

Elektrociepłownie

Grupowe węzły cieplne Przepompownie

Szpitale Biura Banki

Przemysł

Kotłownie

Mieszkania

Systemy monitoringu (telemetrii) i nadrzędnego Systemy monitoringu (telemetrii) i nadrzędnego

sterowania (zarządzania) w ciepłownictwie

sterowania (zarządzania) w ciepłownictwie

(33)
(34)

Zarządzanie budynkiem

Zarządzanie budynkiem -- system zintegrowanysystem zintegrowany

Zdalny dostęp do informacji

CH ILLERPLANT

CH ILLERPLANT

(35)

Wykład 6 AUTOMATYKAAUTOMATYKA 35

(36)

Wykład 6 AUTOMATYKAAUTOMATYKA 36

(37)

Funkcje systemu monitoringu Funkcje systemu monitoringu

• Sterowanie i regulacja

• Pomiary i kontrola

• Sygnalizacja (alarmy)

• Rejestracja i przetwarzanie danych (raporty)

• Wizualizacja (trendy)

• Zabezpieczenia i blokady

(38)

Poziom

Poziom komunikacjikomunikacji Poziom zarządzania Poziom zarządzania

Poziom pola Poziom pola

Typowa struktura otwartego systemu zarządzania

(39)

POZIOM ZARZĄDZANIA POZIOM ZARZĄDZANIA

1. Serwery komputerowe, stanowiska pomocnicze i urządzenia peryferyjne.

2. Na poziomie tym istnieje pełny dostęp do wszystkich

informacji zbieranych przez system. Tu dokonywana jest archiwizacja danych pomiarowych, ich obróbka i analiza.

Koordynowane są wszystkie zadania i inicjowane działania dotyczące funkcjonowania urządzeń uzbrojenia

technicznego budynku mających wpływ na wielkość zużycia energii. Z poziomu zarządzania poprzez sieć konfigurowany jest system.

(40)

POZIOM KOMUNIKACJI POZIOM KOMUNIKACJI

1. Na poziomie tym odbywa się sterowanie zbieraniem i przepływem informacji.

2. Tu koncentrują się wszystkie magistrale sieciowe i

przygotowywane są dane dla sterowania nadrzędnego.

(41)

POZIOM POLA POZIOM POLA

1. Regulatory i sterowniki wykonujące funkcje regulacji i sterowania autonomicznego, pośredniczące w zbieraniu informacji o parametrach pracy i stanie systemów

uzbrojenia technicznego oraz w sterowaniu nadrzędnym.

(42)

SPOSOBY PRZESYŁANIA DANYCH SPOSOBY PRZESYŁANIA DANYCH

1. Własny kabel transmisyjny / światłowód 2. Modemy radiowe

3. Telefony GSM (900/1800)

4. Telefony lokalne / modemy telefoniczne 5. Pager

6. Internet

(43)

Sposoby przesyłania danych (1) Sposoby przesyłania danych (1)

• Kabel transmisyjny/światłowód

– duży koszt inwestycyjny

– bardzo mały koszt eksploatacji

– duża pewność i szybkość przesyłania danych – mały zasięg działania, ograniczenia w długości

magistrali danych

– Najczęściej spotykany sposób przenoszenia

danych

(44)

Sposoby przesyłania danych (2) Sposoby przesyłania danych (2)

• Modemy radiowe

– duży/średni koszt inwestycyjny (zezwolenie PAR, maszty radiowe)

– mały koszt eksploatacji (opłata roczna za częstotliwość radiową)

– mała/średnia szybkość przesyłania danych – mały/średni zasięg działania, ograniczenia

w zasięgu działania modemów radiowych – wpływ zakłóceń radiowych na jakość

przesyłu informacji

(45)

Sposoby przesyłania danych (2a) Sposoby przesyłania danych (2a)

• Modemy radiowe (19-32) GHz

(46)
(47)

Sposoby przesyłania danych (3) Sposoby przesyłania danych (3)

• Telefony GSM, GPS

- średni/mały koszt inwestycyjny

- sredni/ duży koszt eksploatacji (możliwość negocjacji ceny z operatorem GSM)

– zasięg działania bardzo duży

– mała/średnia szybkość przesyłania danych

(48)

Sposoby przesyłania danych (4) Sposoby przesyłania danych (4)

• Telefony lokalne/modemy telefoniczne (TP SA, Netia )

– mały koszt inwestycyjny (promocje Netii) – mały/średni koszt eksploatacji

– zasięg działania bardzo duży

– średnia szybkość przesyłania danych

– bardzo często stosowany sposób przekazywania

danych

(49)

Sposoby przesyłania danych (5) Sposoby przesyłania danych (5)

• Pager

– tylko informacje o alarmie (numer węzła cieplnego, rodzaj alarmu)

– mały koszt inwestycyjny – mały koszt eksploatacji

– zasięg działania bardzo duży

(50)

Sposoby przesyłania danych

Sposoby przesyłania danych --Internet Internet

– mały/średni koszt inwestycyjny (sterownik + serwer internetowy)

– mały/średni koszt eksploatacji – zasięg działania bardzo duży

– średnia/duża szybkość przesyłania danych – sposób przekazywania danych w trakcie

wdrażania

– konieczność wprowadzenia odpowiednich

zabezpieczeń

(51)

Sposoby przesy łania danych

Sposoby przesy łania danych –– standardy standardy komunikacyjne

komunikacyjne

• Na rynku konkuruje kilka protokołów komunikacji, zmierzających do stania się standardem.

• Każdy z nich posiada zarówno mocne jak i

słabe strony.

(52)

Standardy komunikacji Standardy komunikacji

• Echelon LONworks

• European Installation Bus (EIB) - KONEX

• Profibus

• Backnet

• M-bus

• Ethernet

• ... i inne

(53)

Echelon

Echelon L L ON ON W W ORKS ORKS

LONworks jest otwartym standardem komunikacyjnym stworzonym i

opublikowanym przez firmę Echelon

(54)

System otwarty System otwarty

• Jest to taki system, w którym wszystkie elementy systemu komunikują się wykorzystując standardowy protokół komunikacyjny.

• Protokół komunikacyjny jest to zbiór zasad wymiany danych w sieci komputerowej.

• Zasady te są spisywane w postaci specyfikacji określającej wszystko co jest wymagane do zgodności ze standardem, począwszy od rodzaju medium komunikacyjnego (np. typu kabla) aż do sposobu sformułowania każdego polecenia czy żądania.

(55)

Zalety protokołów otwartych Zalety protokołów otwartych

• Dowolność w wyborze najlepszych pod względem

oferowanych możliwości i ceny usług, produktów i systemów niezależnie od ich producenta oraz możliwość ich instalacji w indywidualnie zaprojektowanym systemie

• Elastyczność w wyborze rozwiązań dla zmieniających się wymagań w stosunku do systemu.

(56)

Zalety protokołów otwartych Zalety protokołów otwartych

• Różne systemy i produkty od różnych producentów.

– Pełna współpraca oraz działanie uzupełniające się.

– Szeroki wybór rozwiązań.

– Kombinacje różnych aplikacji dla indywidualnych zastosowań.

• Bezproblemowa współpraca.

– Wspólne informacje i zasoby.

– Pełna współpraca w jednym systemie

• Pełna funkcjonalność przez cały okres eksploatacji.

– łatwa optymalizacja systemu w miarę zmiany potrzeb

(57)

Zalety protokołów otwartych Zalety protokołów otwartych

• Możliwość wyboru dowolnych produktów i systemów bez konieczności współpracy tylko z jednym producentem w przyszłości.

– łatwość rozbudowy systemu

– Niezależność od konkretnych systemów i producentów.

• Zmiana w miarę jak zmieniają się potrzeby.

– łatwość zwiększenia możliwości systemu kiedy rosną potrzeby

(58)

Zalety protokołów otwartych Zalety protokołów otwartych

• Niskie koszty przyszłych zmian w systemie.

• Oszczędności ...

– Już na etapie planowania.

– Kupujemy to co rzeczywiście potrzebujemy.

• Możliwość wyeliminowania elementów

redundantnych pozwala na obniżenie kosztów inwestycji, konserwacji i szkolenia personelu.

(59)

Dziękuję za uwagę !

Dziękuję za uwagę !

Cytaty

Powiązane dokumenty

Wstawienie kodu nowej metody dodaj_tytul oraz metody main testującej działanie wykonanego przypadku użycia.. Java, Zofia

Kompilator – program przetwarzający kod źródłowy na kod wynikowy (kod pośredni w języku maszynowym, który jest zrozumiały dla komputera).. Interpretator –

Typ definiuje zakres lub zbiór dopuszczalnych wartości zmiennych, stałych i funkcji, zbiór dopuszczalnych operacji wykonywanych na tych wartościach

Wyrażenia są budowane w oparciu o stałe, zmienne, operatory, nazwy funkcji i zbiorów oraz nawiasy okrągłe. Wyrażenia zapisujemy w jednym wierszu, bez opuszczania znaku mnożenia,

Jeśli wartość wyrażenia_logicznego jest prawdą (TRUE), to wykonana zostanie instrukcja_1. W przeciwnym wypadku instrukcja_1 zostanie opuszczona i wykonana

Sprawdzić, co zmieni się w działaniu programu, jeżeli zamiast RST M0 wpiszemy RST T0 Taki program będzie realizował generator sygnału prostokątnego o czasach „0”=T0 i „1”=T1

Wadą tej wersji jest to, że jeżeli następny element pojawi się na podnośniku przed zakończeniem transportu poprzedniego to zmierzony czas wynosi 0. Aby poprawić ten błąd

Klasa ma dwa konstruktory oraz funkcję składową pokaz() do wyświetlania licznika i mianownika ułamka. W definicji konstruktora wykorzystaliśmy konstrukcję z tak zwaną