Podst. Automatyki ćwicz. 9a - Instytut Automatyki i Robotyki

Transkrypt

Podst. Automatyki ćwicz. 9a - Instytut Automatyki i Robotyki
Prowadzący(a)
Grupa
Zespół
Lp.
Nazwisko i imię
1.
Instytut
Automatyki i Robotyki
2.
LABORATORIUM
PODSTAW
4.
data ćwiczenia
Ocena
3.
5.
AUTOMATYKI
Ćwiczenie PA9a
1
Badanie układu regulacji ciśnienia w zbiorniku ze sterownikiem PLC
SIMATIC
1.Wstęp
Celem ćwiczenia jest przedstawienie realizacji układu regulacji automatycznej ciśnienia w
zbiorniku buforowym powietrza. Układ ten będzie zrealizowany przy wykorzystaniu
cyfrowego regulatora PID zaimplementowanego w sterowniku SIEMENS S7-300.
2. Opis stanowiska laboratoryjnego
Rys.1 Uproszczony ideowy schemat funkcjonalny stanowiska
Stanowisko umoŜliwia realizację układu regulacji automatycznej ciśnienia. W skład układu
regulacji wchodzą: zbiornik ciśnienia, inteligentny zawór sterujący, przetwornik pomiarowy,
oraz sterownik programowalny. Wielkość wyjściowa z obiektu regulacji (ciśnienie), jest
przetwarzana na sygnał elektryczny 4-20mA poprzez przetwornik pomiarowy i trafia do
jednostki nadrzędnej (sterownik). Stanowisko wyposaŜone jest w dodatkowe elementy
kontrolne takie jak przyciski, lampki i przełączniki.
1
Opracowanie instrukcji do ćwiczenia : mgr inŜ. Łukasz Tabor
1
2.1 Sterownik i instalacja elektryczna
Do zasilania jednostki nadrzędnej i wszystkich modułów rozszerzających uŜyto zasilacza
stabilizowanego zasilanego z sieci 120/230VAC o wydajności prądowej 2A.
Jednostką nadrzędną jest sterownik PLC SIEMENS z rodziny SIMATIC S7-300. Sterownik
CPU 313C-2 DP charakteryzuje się zintegrowanymi szesnastoma wejściami i szesnastoma
wyjściami cyfrowymi oraz, interfejsem Profibus-DP master/slave. Na stanowisku konieczny
jest odczyt wartości ciśnienia z czujnika, dlatego teŜ zastosowano moduł rozszerzający SM
331. Posiada on dwa optycznie izolowane wejścia analogowe z przetwornikiem analogowocyfrowym o rozdzielczości 12 bitów. Kolejnym elementem sterownika jest modułowa stacja
rozproszonych wejść/wyjść ET 200M ze standardem komunikacyjnym Profibus-DP.
Przeznaczona jest ona dla układów z większą liczbą sygnałów, których akwizycja zachodzi w
pewnym oddaleniu od sterownika. Moduł I/O stanowi moduł SM 332 z ośmioma optycznie
izolowanymi wyjściami, wykorzystującymi protokół HART do komunikacji z pozycjonerem
SIEMENS SIPART PS2. Zastosowanie tego protokołu pozwala na podłączenie do nadrzędnej
sieci przemysłowej, oraz zdalną konfigurację i diagnostykę z centralnego stanowiska
inŜynierskiego.
Pomiar ciśnienia w zbiorniku następuje poprzez przetwornik pomiarowy FESTO SDE-1 o
zakresie pomiarowym 0..10bar i niepewnością pomiaru 2%. Komunikacja ze sterownikiem
odbywa się za pomocną sygnału 4-20mA. Konfiguracja, programowanie i wizualizacja
urządzeń i zjawisk na stanowisku odbywa się za pomocą komputera PC (pełniącego rolę stacji
inŜynierskiej). Do wejść cyfrowych sterownika PLC dołączone są elementy kontrolne w
postaci dwóch przycisków START i STOP oraz lampki sygnalizacyjnej.
2.2 Instalacja pneumatyczna
PoniŜszy schemat pneumatyczny przedstawia budowę instalacji pneumatycznej. Rys.2
Rys.2 Schemat instalacji pneumatycznej
2
Do zasilania układu spręŜonym powietrzem wykorzystano spręŜarkę firmy JUN-AIR o
ciśnieniu maksymalnym 8 bar. Za regulację ciśnienia (R) w instalacji odpowiada reduktor
firmy FESTO typ LFR-KC. Posiada on ręczny zawór odcinający, filtr, manometr oraz
automatyczny odbiór kondensatu.
Urządzeniem wykonawczym, poprzez które regulowany jest dopływ powietrza do zbiornika
jest zawór kulowy BELIMO typ R305K z siłownikiem pneumatycznym FESTO VZPR
(zespół ten oznaczony jest na rysunku jako V). Dołączony do nich jest uniwersalny
pozycjoner SIPART PS2 współpracujący z napędami liniowymi i kątowymi o dowolnej
charakterystyce. Skok lub kąt obrotu mechanizmu sprzęgającego moŜna płynnie regulować w
bardzo szerokim zakresie – od 3 do 130 mm lub od 30° do 100°.
Zbiornik ZB firmy FESTO typ CRVZS-10, w którym regulujemy ciśnienie ma pojemność 10
litrów. Na jednym z jego końców został umieszczony zawór regulujący spust powietrza ze
zbiornika.
3. Środowisko programowania sterownika SIEMENS S7-300
Projekty w środowisku STEP 7 mogą być tworzone na dwa sposoby, w zaleŜności od
kolejności wykonywania zadań konfiguracji sprzętu i tworzenia programu. Przy
skomplikowanych programach z duŜą ilością wejść i wyjść zalecane jest ustalenie
konfiguracji sprzętowej, przypisanie adresów poszczególnych modułów itd. na początku
tworzenia projektu. Struktura programu w STEP 7 jest podzielona dla następujące typy
bloków:
• Blok organizacyjny OB. (Organization Block) Jest on określany mianem interfejsu
pomiędzy systemem operacyjnym sterownika a programem uŜytkownika.
Poszczególne bloki OB. są uruchamiane poprzez system operacyjny w reakcji na
zdarzenia, takie jak przerwania zegarowe, licznikowe i sprzętowe, w czasie
uruchamiania sterownika czy wystąpienia róŜnego rodzaju błędu. Bloki OB. opisane
kolejnymi numerami mają przypisane odpowiednie priorytety i są uruchamiane w
odpowiedzi na dane zdarzenie. Wykonywanie programu jest inicjowane poprzez
wykonanie bloku OB1, w którym programista pisze program główny wraz z
wywołaniami pozostałych bloków róŜnego typu;
• Blok danych DB (Data Block) w odróŜnieniu od bloku OB. nie zawiera Ŝadnych
instrukcji. Jest on zbiorem danych (zmiennych) róŜnego typu, do których odwołują się
bloki funkcyjne i organizacyjne. Ich moŜliwa do zadeklarowania ilość jest zaleŜna od
modelu sterownika;
• Funkcja FC (Function) jest blokiem logicznym „bez pamięci” tzn. nie ma moŜliwości
zachowania wartości zmiennych, które mogłyby być uŜyte przy kolejnym wywołaniu
funkcji. Funkcja FC wykonuje obliczenie tylko na podstawie argumentów
wprowadzonych w formie zmiennych typu IN, OUT lub IN/OUT (o ile są takie
zadeklarowane);
• Blok funkcyjny FB (Function Block) jest blokiem funkcyjnym „z pamięcią”, która
występuje w postaci przypisanego do bloku FB bloku danych DB. Podczas kolejnego
wywołania funkcja FB pamięta wartości zmiennych z poprzedniego wywołania;
• Systemowy Blok Funkcyjny SFB oraz Systemowe Funkcje SFC są dostarczane razem
ze sterownikiem do których uŜytkownik moŜe się swobodnie odwoływać. Spełniają
one róŜne zadania np. kopiowania bloków, sprawdzania poprawności programu,
komunikacji między modułami, generowania informacji o innych blokach, itp.
Cykliczne wykonywanie programów jest podstawową cechą działania sterowników
logicznych. Poszczególne fazy pracy sterownika SIEMENS przedstawia tabela 1:
3
Krok
1
2
3
4
5
6
Sekwencja
Start pomiaru czasu cyklu
Przepisanie wartości wyjść z pamięci obrazu procesu do wyjść modułów
Odczyt stanów z wejść modułów i odświeŜenie obrazu pamięci procesu wejść
Wykonanie programu i instrukcji zawartych w programie
Wykonanie zadań, które są w stanie oczekiwania, np. kopiowanie i usuwanie bloków
z/do pamięci
Powrót na początek cyklu
Tab.1 Sekwencja pracy sterownika
4. Przebieg ćwiczenia
4.1 Program główny w OB1. Adresowanie symboliczne.
Otwórz w „Simatic Manager” projekt z konfiguracją sprzętową PLC. Rozwiń drzewo widoku
projektu i przejdź do katalogu „Blocks” zawierającym bloki programu. Kliknij prawym
przyciskiem myszy i wybierz Insert New Object->Organization Block. Ustaw jego domyślną
nazwę OB1, oraz uzupełnij nazwę symboliczną równieŜ jako OB1. Z dostępnych języków
programowania wybierz LAD i naciśnij OK. Otwórz OB1. Naciskając przyciski START i
STOP na panelu stanowiska laboratoryjnego zweryfikuj ich podłączenia elektryczne, poprzez
podgląd diod przy wejściach dyskretnych D0 i D1. Taka konfiguracja, w której stan logiczny
1 występuje przy zwolnionym przycisku STOP i stan logiczny zero przy wciśniętym STOP,
sprzyja zastosowaniu w programie przerzutnika RS z przewagą zerowania. W wyniku
wciśnięcia przycisku START nastąpi zapalenie się zielonej diody PRACA. Umieść w
pierwszej drabince (Network 1) RS z katalogu „Bit Logic” dostępnych funkcji w zakładce
„Program elements”. Na wejście R wpisz adres I124.1, na S I124.0, natomiast bit wyjściowy
ustaw jako Q124.0
Rys.3 Przerzutnik RS
Załaduj program do sterownika i przetestuj jego działanie programu. Aby na bieŜąco mieć
podgląd przez które połączenia i cewki przepływa prąd, naleŜy w edytorze zaznaczyć opcję
monitorowania. Dla kaŜdego elementu dostępna jest pomoc po jego zaznaczeniu i naciśnięciu
F1. W programie oprócz moŜliwości posługiwania się adresami absolutnymi moŜna operować
na wcześniej skonfigurowanej reprezentacji symbolicznej. Dokonuje się do tego w specjalnej
tabeli dostępnej z menu Option->Symbol Table. Ustaw nazwy symboliczne tak jak pokazano
w tabeli 3 (Pierwsza linijka została dodana automatycznie). PosłuŜą one do aktualnego
programu, jak i do kolejnych punktów ćwiczenia.
Tab.3 Tabela adresów symbolicznych
4
Zapisz tabelę i zamknij edytor tabeli. Program powinien sam uaktualnić reprezentację
adresów w OB1 na podstawie stworzonej tabeli. Dla pewności naleŜy sprawdzić czy opcja
View->Display with->Symbolic Representation jest zaznaczona.
4.2 Blok danych DB. Skalowanie wejścia analogowego
Na potrzeby programu zostanie zdefiniowany blok danych DB, który będzie pełnił rolę
bufora, przechowującego gotowe wartości poddane juŜ obliczeniom, oraz tymczasowe
oczekujące na dalsze obliczenia.
W SIMATIC Manager przejdź do katalogu „Blocks”, kliknij prawym przyciskiem myszy i
wybierz Insert New Object->Data Block nazywając go DB100. Uzupełnij nazwę symboliczną
równieŜ jako DB100. Otwórz utworzony blok i przy zaznaczonej opcji View->Declaration
View umoŜliwiającej jego edycję uzupełnij według tabeli 4. Kolejne adresy bloku danych i
ich przeznaczenie będą wykorzystywane w kolejnych punktach ćwiczenia.
Tab.4 Deklaracja bloku danych
Mając gotowy blok danych dodaj kolejno dwie drabinki w OB1 wstawiając do nich funkcję
MOVE z katalogu „Move”. Poprzedź ją odpowiednimi stykami jak na rysunku 5 i nadaj
adresy. Za pomocą dwóch linii sterownik na wyjście analogowe będzie przepisywał albo
wartość wypracowaną przez regulator PID albo wartość zero, w zaleŜności od stanu diody
PRACA.
Rys.4 Przepisanie wartości na wyjście analogowe
Następnie zostanie stworzony algorytm skalujący wejście analogowe, na które podawany jest
sygnał prądowy reprezentujący aktualne ciśnienie w zbiorniku. Algorytm zostanie
zrealizowany w języku STL. Jego cechą charakterystyczną jest sposób realizacji obliczeń na
wartościach wpisanych do kolejnych akumulatorów. W bloku OB1 dodaj nową drabinkę ,
zmień widok programu na STL (View->STL) i wpisz następujący ciąg poleceń:
L 9.750000e+000
L 2.764800e+004
/R
L PIW 258
ITD
DTR
*R
T DB100.DBD 8
PowyŜszy program zamienia wartość z wejścia analogowego na zmienną typu REAL, a
następnie skaluje tę wartość mnoŜąc ją przez wielokrotność 27648. Wynika to z faktu, Ŝe dla
sterowników SIEMENS we/wy analogowe dla wartości 4-20mA są reprezentowane w
5
programie przez liczbę stałoprzecinkową pojedynczej precyzji w formacie INT (ewentualnie
DINT) z przedziału 0-27648. ZauwaŜ, Ŝe zmieniając widok na STL wszystkie elementy
języka drabinkowego zmieniają się na fragmenty programów pisanych w STL. Wynika to z
faktu, Ŝe kaŜdą drabinkę napisaną w LAD moŜna zamienić na STL. Operacja w drugą stronę
nie jest juŜ zawsze moŜliwa. Zapisz blok i zamknij jego edycję. Zaznacz w SIMATIC
Manager bloki OB1 i DB100, załaduj je do sterownika i przetestuj działanie programu.
Wartości ciśnień mogą się róŜnić od wskazań na wyświetlaczu czujnika (róŜnica moŜe
dochodzić do około 0,06 bar).
4.3 Zastosowanie funkcji FB41 (PID)
Stwórz nowy blok o nazwie OB35, oraz uzupełnij jego nazwę symboliczną równieŜ jako
OB35. Przejdź do edycji OB35 i wstaw funkcję FB41 CONT_C z katalogu Libraries>Standard Library->PID Control Block. Jak wiadomo funkcje typu FB muszą mieć swój
własny blok danych, dlatego teŜ w miejsce znaków „???” ponad wstawionym blokiem wpisz
DB260 i naciśnij ENTER. Program zapyta czy wygenerować nieistniejący DB260. Potwierdź
wybierając „Yes”. Po jego wygenerowaniu blok DB260 będzie zawierał wszystkie zmienne
funkcji, z których wybrane przedstawia tabela 5 MoŜna je edytować bezpośrednio w bloku
DB260 podczas pracy i zaznaczonym.
Parametr
Typ
Opis
zmiennej
COM_RST
BOOL
Restart regulatora (dla TRUE), przy którym LMN=0
CYCLE
TIME
Czas próbkowania
SP_INT
REAL
Wartość zadana
PV_IN
REAL
Wartość mierzona
ER
REAL
Błąd regulacji. ER= SP_INT- PV_IN
GAIN
REAL
Wzmocnienie regulatora
TI
TIME
Czas całkowania
TD
TIME
Czas róŜniczkowania
TM_LAG
TIME
Ustawiany jako TM_LAG(CYCLE/2)
*_SEL
BOOL
Wybór algorytmu. Zamiast * kolejno: P, I, D
MAN
REAL
Wejście sterowania ręcznego
MAN_ON
BOOL
Wybór trybu ręcznego (dla TRUE) i automatycznego (dla
FALSE)
LMN
REAL
Wyjście, sygnał sterujący
LMN_HLM
REAL
Limit górny sygnału sterującego
LMN_LLM
REAL
Limit dolny sygnału sterującego
QLMN_HLM BOOL
Sygnalizacja osiągnięcia górnej granicy LMN
QLMN_LLM BOOL
Sygnalizacja osiągnięcia dolnej granicy LMN
DEADB_W
REAL
Strefa martwa wartości błędu
Tab. 5 NajwaŜniejsze parametry bloku danych DB260
Otwórz blok DB260 i przy zaznaczonym widoku danych (View->Data view) wpisz w
kolumnie „Actual Value” wartość 2.764800e+004 dla parametru LMN_HLM, oraz
0.000000e+000 dla LMN_LLM. Zostaną one podświetlone na pomarańczowo, aby załadować
wpisane wartości posłuŜ się kombinacją klawiszy Ctrl+L. Zapisz zmiany w bloku. Parametry
pracy regulatora moŜna takŜe modyfikować za pomocą dedykowanego programu (Start>SIMATIC->Step 7-> PID Control Parameter Assignment). Uzupełnij wejście SP_INT
adresem DB100.DBD18, wejście PV_IN adresem DB100.DBD14, oraz wyjście LMN
adresem DB100.DBD0. W bloku OB35 dodaj nową drabinkę aby dodać fragment programu
zapewniający przełączenie bezuderzeniowe, przepisujący wartość sterowania obliczaną w
trybie automatycznym do adresu, pod którym jest wartość sterowania w trybie ręcznym.
6
Rys.5 Bezuderzeniowe przełączenie
4.4 Funkcja FC
Podobnie jak przy odczytywaniu wejścia, tak i przy ustawianiu wartości prądu na wyjściu
analogowym, naleŜy w programie odpowiednio dobrać format zmiennych i ich zakres. Po
pierwsze naleŜy ujednolicić zakres wartości liczb (przyjęto 0-27648, ale moŜe to być
dowolnie inna liczba) na jakich funkcja FB41 będzie wykonywać obliczenia. Do tego
standardu naleŜy dostosować zmienność PV (skalowanie w FC1) oraz SP czego wynikiem
będzie ten sam zakres sterowania LMN. Po drugie sterowanie (wyjście LMN) obliczone przez
funkcję FB41 będące zmienną typu REAL naleŜy zamienić na zmienną typu INT
(ewentualnie DINT). Obie te czynności zostaną wykonane w funkcji typu FC, która będzie
wywoływana z bloku OB1.
Stwórz nową funkcję (Insert New Object->Function) o nazwie FC1, oraz uzupełnij nazwę
symboliczną równieŜ jako FC1. Tworzona funkcja nie będzie miała Ŝadnych zmiennych
wejściowych i wyjściowych, lecz tylko dwie zmienne podręczne potrzebne do obliczeń.
Ponad drabinkami znajduje się okno definiowania zmiennych. Stwórz dwie zmienne typu
TEMP ( Interface->TEMP) jak w tabeli 6.
Tab.6 Zmienne typu TEMP
Następnie wstaw drabinki jak pokazano na rysunku 6.
Rys.6 Drabinki funkcji FC1
Zapisz zmiany w bloku FC1 i zamknij edytor. Otwórz blok OB1, dodaj nową drabinkę i z
katalogu „FC Blocks” wybierz stworzoną funkcję FC1. Zapisz zmiany w OB1 i zamknij
edytor.
4.5 Badanie charakterystyk statycznych
Zmieniając wartość wyjścia regulatora w trybie „manual” obserwuj na wyświetlaczu
pozycjonera rzeczywiste otwarcie zaworu oraz ciśnienie w zbiorniku w stanie ustalonym.
Zanotuj wyniki.
7
CV [%]
CVy [%]
PV
[bar]
5
10
15
20
25
35
40
55
60
65
70
75
80
90
100
Tab.7 Charakterystyki statyczne
Jaki charakter mają te zaleŜności?
Czy zaleŜność PV(CV) jest korzystna ze względów regulacyjnych?
4.7 Dobór algorytmu i nastaw. Testy.
Z wykorzystaniem przygotowanej wizualizacji przeprowadź eksperymentalny dobór nastaw
regulatora. Parametry pracy układu tj. ciśnienie zasilania i wprowadzane zakłócenia (spust
powietrza) naleŜy ustalić z prowadzącym ćwiczenie. Pamiętaj przy doborze algorytmu o
występujących opóźnieniach w elemencie wykonawczym.
Obliczone wartości nastaw dla regulatorów (P, PI, PID) zgodnie z regułą
Zieglera-Nicholsa
kkryt=
Tosc=
Regulator P
kp=
SP[bar]
est [bar]
tr [s]
Regulator PI
kp=
Ti =
Regulator PID
kp=
Ti =
T d=
Tab.8 Nastawy regulatora i jakość regulacji
Działanie którego z algorytmów oceniasz najlepiej?
Pytania kontrolne:
1. Co to jest układ automatyki?
2. Narysuj schemat otwartego układu regulacji.
3. Narysuj schemat zamkniętego układu regulacji.
4. Jaka jest podstawowa róŜnica pomiędzy zamkniętym i otwartym układem regulacji?
5. Na czym polega dobór nastaw regułą Zieglera-Nicolsa?
6. Na czym polega identyfikacja obiektu przy pomocy odpowiedzi skokowej?
7. Jaka jest podstawowa zaleta układu z regulatorem PI w porównaniu do układu z
regulatorem P?
8. Transmitancje oraz odpowiedzi skokowe podstawowych regulatorów (P, PI, PD,
PID)
Literatura:
[1]. śelazny Marek, Podstawy Automatyki, WPW Warszawa 1973
8

Podobne dokumenty