POLITECHNIKA SZCZECIŃSKA WYDZIAŁ ELEKTRYCZNY PROJEKT. Symulator układu regulacji z regulatorem PID



Podobne dokumenty
INSTRUKCJA DO PROGRAMU LICZARKA 2000 v 2.56

Komunikacja sterownika z rodziny Micro800 z Falownikiem PowerFlex40 przy pomocy sieci DeviceNet.

Instrukcja obsługi Norton Commander (NC) wersja 4.0. Autor: mgr inż. Tomasz Staniszewski

Regulacja prędkości posuwu belki na prowadnicach z wykorzystaniem sterownika VERSA MAX

Moduł. Rama 2D suplement do wersji Konstruktora 4.6

Dobór nastaw PID regulatorów LB-760A i LB-762

INFORMATOR TECHNICZNY WONDERWARE

Nowe funkcjonalności

Użytkowanie elektronicznego dziennika UONET PLUS.

Instrukcja instalacji oraz wykorzystania podpisu cyfrowego

Badanie bezszczotkowego silnika prądu stałego z magnesami trwałymi (BLDCM)

Wdrożenie modułu płatności eservice dla systemu Virtuemart 2.0.x

Automatyka. Etymologicznie automatyka pochodzi od grec.

Adapter USB do CB32. MDH-SYSTEM ul. Bajkowa 5, Lublin tel./fax lub kom e mail: info@mdh-system.pl

Stypendia USOS Stan na semestr zimowy 2013/14

Rozliczenia z NFZ. Ogólne założenia. Spis treści

GEO-SYSTEM Sp. z o.o. GEO-RCiWN Rejestr Cen i Wartości Nieruchomości Podręcznik dla uŝytkowników modułu wyszukiwania danych Warszawa 2007

System Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy

Oprogramowanie klawiatury matrycowej i alfanumerycznego wyświetlacza LCD

Zintegrowany System Zarządzania Przedsiębiorstwem FIRMA SYSTEM FIRMA WERSJA 22.10

MOELLER PS Stanowisko Laboratoryjne. Zakład Napędu ISEP PW

Symulator układu regulacji automatycznej z regulatorami PID, wykorzystujący sterownik firmy B&R.

ANALOGOWE UKŁADY SCALONE

Zaznaczając checkbox zapamiętaj program zapamięta twoje dane logowania. Wybierz cmentarz z dostępnych na rozwijalnej liście.

Przeniesienie lekcji SITA z płyt CD na ipoda touch

Bazy danych. Andrzej Łachwa, UJ, /15

Wtedy wystarczy wybrać właściwego Taga z listy.

Specyfikacja techniczna banerów Flash

LABORATORIUM PRZYRZĄDÓW PÓŁPRZEWODNIKOWYCH

Microsoft Management Console

Type ETO2 Controller for ice and snow melting

Komunikacja w sieci Industrial Ethernet z wykorzystaniem Protokołu S7 oraz funkcji PUT/GET

MR - elektronika. Instrukcja obsługi. Mikroprocesorowa Stacyjka Cyfrowa OC-12N wersja podstawowa. MR-elektronika Warszawa 1998

Zmiany w programie C GEO v. 6.5

raceboard-s Szybki start

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Media Organizer v1.0b

WordPad. Czyli mój pierwszy edytor tekstu

PERSON Kraków

Platforma zamówień personelu JOBMAN.pl

Rurociągi. Dokumentacja oprogramowania e-cad dla Klienta indywidualnego. nazwa programu

Tester pilotów 315/433/868 MHz MHz

Instrukcja programu PControl Powiadowmienia.

1. Korzyści z zakupu nowej wersji Poprawiono Zmiany w słowniku Stawki VAT Zmiana stawki VAT w kartotece Towary...

INSTRUKCJA REZERWACJI SAL W SYSTEMIE UNITIME

Rozdział 6. Pakowanie plecaka. 6.1 Postawienie problemu

Instalacja. Zawartość. Wyszukiwarka. Instalacja Konfiguracja Uruchomienie i praca z raportem Metody wyszukiwania...

epuap Ogólna instrukcja organizacyjna kroków dla realizacji integracji

Generowanie kodów NC w środowisku Autodesk Inventor 2014

Urządzenia do bezprzerwowego zasilania UPS CES GX RACK. 10 kva. Wersja U/CES_GXR_10.0/J/v01. Praca równoległa

Wymiana du ych plików instrukcja dla klientów Grontmij Polska Sp z o. o.

Instrukcja obsługi panelu operacyjnego XV100 w SZR-MAX-1SX

INSTRUKCJE DLA UśYTKOWNIKÓW STREFY KLIENTA NA PORTALU INTERNETOWYM

INFORMATOR TECHNICZNY WONDERWARE

Opis zmian funkcjonalności platformy E-GIODO wprowadzonych w związku z wprowadzeniem możliwości wysyłania wniosków bez podpisu elektronicznego

PAKIET MathCad - Część III

INSTRUKCJA DO INTERNETOWEGO ROZKŁADU JAZDY

Instrukcja dotycząca generowania klucza dostępowego do Sidoma v8

Instrukcja. 1 Zamawiając kuriera. W Paczkomacie lub POK. 3 Nadając list polecony. nadawania przesyłek z Allegro: (Punkt Obsługi Klienta)

INSTRUKCJA OBS UGI

Podstawy Automatyki. Wykład 9 - Dobór regulatorów. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Ćwiczenie: "Ruch harmoniczny i fale"

Instrukcja obsługi. Sterownik ścienny KJR10B/DP

Udoskonalona wentylacja komory suszenia

INSTRUKCJA WebPTB 1.0

OŚWIETLENIE PRZESZKLONEJ KLATKI SCHODOWEJ

WYKŁAD 8. Postacie obrazów na różnych etapach procesu przetwarzania

Kancelaris - Zmiany w wersji 2.50

Instrukcja wprowadzania danych do formularza importowego edziennika MobiReg wersja Light v.1.1

Czy komputery potrafią mówić? Innowacyjne aplikacje wykorzystujące przetwarzanie dźwięku i mowy. Plan prezentacji.

Obsługa pakietu biurowego OFFICE

INSTRUKCJA KORZYSTANIA Z ELEKTRONICZNEJ ŚCIEŻKI WYKAZÓW

Pierwsze kroki. Krok 1. Uzupełnienie danych własnej firmy

Warszawa: Dostawa kalendarzy na rok 2017 Numer ogłoszenia: ; data zamieszczenia: OGŁOSZENIE O ZAMÓWIENIU - dostawy

Platforma Aukcyjna Marketplanet. Podręcznik Oferenta. Aukcja dynamiczna zniŝkowa

CELAB. System Informatyczny. Punkt przyjęć krok po kroku LTC 1

Opis obsługi systemu Ognivo2 w aplikacji Komornik SQL-VAT

2.Prawo zachowania masy

14.Rozwiązywanie zadań tekstowych wykorzystujących równania i nierówności kwadratowe.

dbsamples.udl lub przygotowany wcześniej plik dla Excela) i OK,

JMMS Instrukcja użytkowania kont Autor oraz Recenzent

SINAMICS G120C STARTER. Tworzenie nowego projektu w trybie online.

Sterownik Silnika Krokowego GS 600

Sterownik nagrzewnicy elektrycznej HE

Centrum Informatyki "ZETO" S.A. w Białymstoku. Instrukcja użytkownika dla urzędników nadających uprawnienia i ograniczenia podmiotom w ST CEIDG

PRZEMYSŁOWY ODTWARZACZ PLIKÓW MP3 i WAV

Miejski System Zarządzania - Katowicka Infrastruktura Informacji Przestrzennej

Śrubka zamykająca Uchwyt ścienny Przycisk kontrolny Lampka kontrolna

Instrukcja obsługi i montażu radiowego czujnika zewnętrznego i analogowego radiowego układu zdalnej obsługi

DEMERO Automation Systems

Instalacja programu. Omówienie programu. Jesteś tu: Bossa.pl

Zarządzanie Zasobami by CTI. Instrukcja

DTR.ZL APLISENS PRODUKCJA PRZETWORNIKÓW CIŚNIENIA I APARATURY POMIAROWEJ INSTRUKCJA OBSŁUGI (DOKUMENTACJA TECHNICZNO-RUCHOWA)

enova Workflow Obieg faktury kosztowej

INFORMATOR TECHNICZNY GE FANUC. Rezerwacja w sterownikach programowalnych GE Fanuc. Standby Redundancy najprostszy system rezerwacji

Co nowego w systemie Kancelaris 3.31 STD/3.41 PLUS

emszmal 3: Automatyczne księgowanie przelewów w menedżerze sprzedaży BaseLinker (plugin dostępny w wersji ecommerce)

emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce)

Zaproszenie. Ocena efektywności projektów inwestycyjnych. Modelowanie procesów EFI. Jerzy T. Skrzypek Kraków 2013 Jerzy T.

Transkrypt:

POLITECHNIKA SZCZECIŃSKA WYDZIAŁ ELEKTRYCZNY PROJEKT Symulator układu regulacji z regulatorem PID materiał pobrany ze strony: www.gryf-elektryk.pl/teoria.html 1

1. WSTĘP... 3 2. BUDOWA UKŁADU REGULACJI CYFROWEJ... 3 2.1 OGÓLNY SCHEMAT UKŁADU REGULACJI... 3 2.2 STRUKTURA OBIEKTU REGULACJI... 3 2.3 STRUKTURA REGULATORA PIERWSZEGO... 5 2.4 STRUKTURA REGULATORA DRUGIEGO... 5 3 DOBOR NASTAW REGULATORA PID... 5 4. LISTING PROGRAMU WRAZ Z KOMENTARZEM... 9 5. OBSLUGA PROGRAMU B&R AUTOMATION STUDIO... 15 6. SYMULACJA UKLADU REGULACJI W PROGRAMIE B&R AUTOMATION STUDIO... 32 6.1 ODPOWIEDZ UKŁADU NA SYGNAŁ STERUJACY... 32 6.2 ZMIANA TRYBU PRACY Z RĘCZNEJ NA AUTOMATYCZNA... 36 6.3 WPŁYW ZAKŁÓCEŃ NA PRACE REGULATORA... 36 7. LITERATURA... 38 2

1. WSTĘP ZałoŜeniem projektu było napisanie programu symulującego układ regulacji ze sprzęŝeniem zwrotnym. Program miał być napisany w języku C a testowany na symulatorze sterownika programowalnego PLC firmy B&R. Program miał umoŝliwiać wybór trybu pracy: automatyczna, ręczna. Przejście z jednego trybu do drugiego miało odbywać się bezuderzeniowo. 2. BUDOWA UKŁADU REGULACJI CYFROWEJ 2.1. OGÓLNY SCHEMAT UKŁADU REGULACJI PoniŜszy schemat przedstawia ogólny schemat układu regulacji. Zmienne które są na rysunkach są uŝywane w programie. Wartość zmiennej prac_recz decyduje czy sygnał podawany na obiekt jest brany z regulatora czy z zadajnika sygnału. Rys. 1 Ogólny schemat układu regulacji 2.2. STRUKTURA OBIEKTU REGULACJI Rys. 2 Struktura obiektu regulacji z uwzględnieniem generatora zakłóceń. BO_ i BZ_ bloki o nastawnej dynamice i statyce. 3

Rys. 3 Struktura blokow: BO_ i BZ_ Rys. 4. Struktura bloku N_ blok N_ realizuje następującą funkcje: we wy = mi < 0 :1) 1 1 + 1 we mi we-wy*s*td=wy we wy= 1 + std Rys 5a. Struktura analogowa bloku In_ Rys. 5b. Struktura cyfrowa bloku In_ wy=we-(wy-wypop)t/tp wy=we-wy*t/tp+wypop*t/tp wy(1+t/tp)=we+wypop*t/tp T we + wypop wy= 1 + T Tp Tp Rys. 6a. Struktura analogowa opóźnienia. Rys 6b. Struktura cyfrowa opóźnienia. 4

2.3. STRUKTURA REGULATORA PIERWSZEGO Rys. 7 Struktura cyfrowa regulatora numer 1. 2.4. STRUKTURA REGULATORA DRUGIEGO Rys. 8 Struktura cyfrowa regulatora numer 2. 3. DOBOR NASTAW REGULATORA PID Obiekt do którego zostanie dobrany regulator jest opisany funkcja przejścia: 1 1 1 1 P(s)= * * * 0.5s + 1 s + 1 2s + 1 0.4s + 1 PoniŜej jest przedstawiona struktura regulatora: 5

Rys. 9. Schemat regulatora o funkcji przejścia: (1 + sti )(1 + std ) 1 Ti + Td R( s) = k = k + + std st i sti Ti e s τ Obiekt zostanie przedstawiony za pomocą modelu o inercji I - rzędu: M(s)=. 1+ st Tab. 1. Wzory uŝyte do obliczania nastaw regulatora: ln(1/ OVR) przy czym: β = π 2 2 + ln (1/ OVR) OVR - wartość przeregulowania Ti - stała róŝniczkowania T i =T Td - stała całkowania τ T d = k - współczynnik wzmocnienia 4 2Ti 2 2 k (1 + β β 3 + β ) 2 τ (1 β ) T - stała czasowa - modelu τ -stała czasowa opóźnienia - modelu Symulacja odpowiedzi skokowej procesu, wyznaczenie stałych podstawie znajomości τ / T, został wyznaczony model. Algorytm wyznaczenia stałych czasowych: Szukanie stycznej w punkcie przegięcia: Ogólne równanie stycznej y=ax+b. Punkt przegięcia ma współrzędne pp= (x P,y P ). - wyznaczenie x P : y (x p )=0 - wyznaczenie y P : y P =y(x P ). - wyznaczenie współczynnika kierunkowego prostej: a=y (x P )=max(y (x p )) - wyznaczenie wyrazu wolnego: b=y P -ax P τ / T. Na 6

Rys. 10. Wyznaczenie współczynnika kierunkowego a=0.2232, oraz punktu przegięcia pp=(2.5,3.08). Po podstawieniu wartości za współczynniki a=max(p ),b=y p -ax p otrzymujemy równanie stycznej: y st =0.2232x st -0.308. Rys.11.. Wyznaczenie stałych czasowych τ = 1. 1198 T=4.4803. 7

Podstawienie stałych czasowych do modelu τ = 1.1198S e 1.1198 T=4.4803. M(s)= 1+ 4.4803s Rys.12. Porównanie odpowiedzi na skok jednostkowy dla obiektu rzeczywistego i dla modelu. Tab. 2. Obliczenia parametrów regulatora: ln(1/ OVR) β = π 2 2 + ln (1/ OVR) T i =T τ T d = 4 2Ti 2 2 k (1 + β β 3 + β ) 2 τ (1 β ) OVR=10% β ln(1/10) = π 2 2 + ln (1/10) = -0.5914 T i = 4.4803 T d = 0.2799 k<=2.9925 k skorygowane =1.8 Rys. 13. Schemat układu uŝyty przy doborze parametru k. 8

Rys. 14. Odpowiedz układu regulacji na skok jednostkowy dla przeregulowania OVR=10%. Przy parametrze k- obliczonym i k - skorygowanym doswiadczalnie. Wyliczone parametry regulatora o strukturze z Rys. 9. są odpowiednio równe: T i = 4.4803, T d = 0.2799, k=1.8. 4. LISTING PROGRAMU WRAZ Z KOMENTARZEM LISTING: /* Include C extensions for automation functions */ #include <bur/plc.h> #include <math.h> /* Deklaracje zmiennych */ /*ZMIENNE ZASTOSOWANE DO REGULATORA NR 1 i NR2 */ float _GLOBAL xo; /* wartosc zadana sygnal wejsciowy */ float _GLOBAL x; /* sygnal wyjsciowy */ float _GLOBAL alfa; /* wspolczynnik w torze proporcjonalnym (0,1) */ float _GLOBAL e; /* blad regulacji e=xo-x */ float _GLOBAL ealfa; /* blad regulacji ealfa=alfa*xo-x */ float _GLOBAL Uisat; /* Sygnal na wyjsciu czlonu calkujacego */ float _GLOBAL Ud; /* Sygnal na wyjsciu czlonu rozniczujacego */ float _GLOBAL Upwe,Upwepop; /* sygnal wykorzystywany w torze rozniczkowania */ 9

float _GLOBAL Ur,Uob; /* sygnaly wyjsciowe regulatora, Uob wyjsciowe po ograniczeniu */ int _GLOBAL roz; /* ==1 - to sygnal Upwe na rozniczkowanie, ==0 - sygnal x na rozniczkowanie */ /*wspolczynniki regulatora*/ float _GLOBAL Kp; /* wspolczynnik proporcjonalnosci */ float _GLOBAL Ti; /* stala calkowania regulaora */ float _GLOBAL Td; /* stala rozniczkowania */ /*ZMIENNE ZASTOSOWANE DO REGULATORA NR1*/ float _GLOBAL Up,Ui; /* sygnal wyjsciowy proporcjonalny i calkujacy wykorzystywany przy regulatorze 1 */ /*ZMIENNE ZASTOSOWANE DO REGULATORA NR2*/ float _GLOBAL V; /* wzmocnienie korekcyjne */ float _GLOBAL Ue,Uesat,Ukorekty; /* sygnaly pomocnicze w torze calkujacym*/ float _GLOBAL Uip,Uipsat; /* suma sygnalow wyjsciowych z toru proporcjonalnego i rozniczkowego */ /*NASTAWY OGRANICZEN*/ float _GLOBAL Umin,Umax; /* ograniczenie bledu na wyjsciu czlonu rozniczkujacego */ float _GLOBAL Uimin,Uimax; /* ograniczenie sygnalu na wyjsciu czlonu rozniczkujacego */ float _GLOBAL Urmin,Urmax; /* ograniczenie sumy sygnalow proporcjaonalego i calkujacego */ float _GLOBAL Uwymin,Uwymax; /*ograniczenie sygnalu wyjsciowego */ /*ZMIENNE WYBORU TRYBU PRACY*/ int _GLOBAL praca_reczna; /* praca_reczna==1 sygnal podawany jest na obiekt z zadajnika sterowania praca_reczna==0 sygnal podawany jest na obiekt z regulatora */ int _GLOBAL wyb_reg; /* ==0 struktura nr1 ==1 struktura nr2 */ float _GLOBAL ureczne; /* sygnal z zadajnika */ float _GLOBAL Tp; /* czas probkowania*/ /*ZMIENNE ZWIAZANE Z OBIEKTEM*/ float _GLOBAL we_bo1,wy_bo1,we_bo2,wy_bo2,we_bo3,wy_bo3; /*sygnaly wejsciowe i wyjsciowe obiektu-1,2,3*/ 10

float _GLOBAL B[100]; jest opoznienie*/ /*ZMIENNE ZWIAZANE Z ZAKLOCENIAMI*/ /*w tablicy zapisywane float _GLOBAL zak1_we,zak1_wy,zak2_we,zak2_wy,zak3_we,zak3_wy; /*sygnaly wejsciowe i wyjsciowe zaklocen*/ float _GLOBAL A,t,z,k1,szer_imp; prostokata, szer_imp*tp-szerokosc impulsu*/ /* A - amplituda /* utworzenie struktury o nazwie blok, zawiera ona wszystkie parametry blokow B_ */ struct blok { float WE; /* Sygnal na wejsciu obiektu */ float T1,T2,T3; /* Stala czasowa obiektu */ float mi; /* Wspolczynnik w funkcji nieliniowosci statycznej */ float uin1,uin2,uin3,un2,uk; /*wejscie na inercje I, II, III, na obiekt nieliniowy N2 oraz na opoznienie*/ float k; /* Wzmocnienie obiektu */ float B[100]; /*w tablicy B zapisywane jest opoznienie*/ int tau; /*wartosc opoznienia. Jest liczba naturalna.*/ /*opoznienie=tau*tp*/ float WY; /* wyjscie z obiektu */ }; /* deklaracja zmiennych zlozonych typu strukturalnego */ struct blok BO1; /* zmienna strukuralna bloku OB1 */ struct blok BO2; /* zmienna strukuralna bloku OB2 */ struct blok BO3; /* zmienna strukuralna bloku OB3 */ struct blok BZ1; /* zmienna strukuralna bloku OZ1 */ struct blok BZ2; /* zmienna strukuralna bloku OZ2 */ struct blok BZ3; /* zmienna strukuralna bloku OZ3 */ /*Deklaracje funkcji */ struct blok obiekt(struct blok BO,float wejscie_obiektu) /* funkcja odpowiadajaca za blok obiektu */ float zak_prost(float szer_imp); /* zaklocenia typu prostokatnego */ float wartosc_zadana(); /* Declaration of global variables */ void _INIT ObjectInit( void ) { /* Inicjalizacja zmiennych*/ 11

Tp=0.1; /* czas probkowania */ wyb_reg=0; /*'0'-regulator pierwszy, '1'-regulator drugi*/ /* parametry zaklocen */ A=0.02; /*0-brak zaklocen*/ szer_imp=10; /*szerokosc impulsu=szer_imp*tp*/ /*Parametry czesci obiektu OB1*/ BO1.k=1; BO1.T1=0.5; BO1.T2=0; BO1.T3=0; BO1.mi=1; BO1.tau=0; /*Parametry czesci obiektu OB2*/ BO2.k=1; BO2.T1=1; BO2.T2=0; BO2.T3=0; BO2.mi=1; BO1.tau=0; /*Parametry czesci obiektu OB3*/ BO3.k=1; BO3.T1=2; BO3.T2=0.4; BO3.T3=0; BO3.mi=1; BO1.tau=0; /* Parametry bloku zaklocen OZ1 */ BZ1.k=1; BZ1.T1=0; BZ1.T2=0; BZ1.T3=0; BZ1.u=1; BZ1.mi=1; BZ1.tau=0; /*Parametry bloku zaklocen OZ2 */ BZ2.k=1; BZ2.T1=0; BZ2.T2=0; BZ2.T3=0; BZ2.u=1; BZ2.mi=1; BZ2.tau=0; /* Parametry bloku zaklocen OZ3 */ BZ3.k=1; BZ3.T1=0; BZ3.T2=0; BZ3.T3=0; BZ3.u=1; BZ3.mi=1; BZ3.tau=0; /* Parametry regulatora */ Kp=1.8; /* Wzmocnienie regulatora*/ Ti=4.48; /* Stala calkowania */ Td=0.279; /* Stala rozniczkowania */ alfa=1; /* wspolczynnik w torze proporcjonalnosci */ V=1; Umin=-10; Umax=10; Uimin=0; Uimax=10; Uwymin=-10; Uwymax=10; Urmin=-10; Urmax=10; roz=1; praca_reczna=0; /*'0'-praca automatyczna, '1'-praca reczna*/ 12

Uob=0; ureczne=0.5; x=0; /*sygnal regulowany*/ xo=0.5; /*wartosc zadana*/ } void _CYCLIC ObjectCycle( void ) { xo=wartosc_zadana(); /* Cyclic section of the C object */ /* obliczanie bledu regulacji */ e=xo-x; ealfa=xo*alfa-x; /* obliczanie skladowej proporcjonalnej */ Up=ealfa*Kp*(Ti+Td)/Ti; /* regulator nr1 */ if(wyb_reg==0) { /* obliczanie skladowej calkowania */ Upwe=e*Kp; if(roz==0)upwe=-x; Uesat=Upwe; if(upwe>umax) Uesat=Umax; if(upwe<umin) Uesat=Umin; Uisat=Uesat*(Tp/Ti)+Ui; Ui=Uisat; if(uisat>uimax) Ui=Uimax; if(uisat<uimin) Ui=Uimin; /* obliczanie skladowej rozniczkowania */ Ud=(Upwe-Upwepop)*(Td/Tp); Upwepop=Upwe; /* obliczanie sygnalu sterujacego z regulatora PID */ Ur=Up+Ui+Ud; Uob=Ur; if(ur>uwymax) Uob=Uwymax; if(ur<uwymin) Uob=Uwymin; } if(wyb_reg==1) { Ue=e*Kp-Ukorekty; Uesat=Ue; if(ue>umax)uesat=umax; if(ue<umin)uesat=umin; 13

Uisat=Uesat*(Tp/Ti)+Ui; /*Ui wczsniejsza wartosc sygnału*/ Ui=Uisat; if(uisat>uimax) Ui=Uimax; if(uisat<uimin) Ui=Uimin; Uip=Ui+Up; /*obliczanie Ukorekcyjnego i sygnalu Uipsat*/ Uipsat=Uip; if(uip>urmax)uipsat=urmax; if(uip<urmin)uipsat=urmin; Ukorekty=(Uip-Uipsat)*V; /*obliczanie sygnalu rozniczkowania*/ Upwe=e*Kp; if(roz==0)upwe=-x; Ud=(Upwe-Upwepop)*(Td/Tp); Upwepop=Upwe; /*obliczanie sygnalu sterujacego z reg. PID*/ Ur=Uipsat+Ud; Uob=Ur; if(ur<uwymin)uob=uwymin; if(ur>uwymax)uob=uwymax; } /*WYLICZANIE SYGNALU ZAKLOCEN */ BZ1=obiekt(BZ1,zak_prost(10*szer_imp)) zak1_wy=bz1.wy; BZ2=obiekt(BZ2,zak_prost(5*szer_imp)); zak2_wy=bz2.wy; BZ3=obiekt(BZ3,zak_prost(szer_imp)); zak3_wy=bz3.wy; /*WYBOR STEROWANIA Z ZADAJNIKA LUB Z REGULATORA*/ if(praca_reczna==1) we_bo1=ureczne; else we_bo1=uob; /*WYLICZANIE WARTOSCI SYGNALU W OBIEKCIE*/ BO1=obiekt(BO1,we_BO1); /*obiekt 1*/ wy_bo1=bo1.wy; BO2=obiekt(BO2,BO1.WY+zak3_wy); /*obiekt 2*/ wy_bo2=bo2.wy; BO3=obiekt(BO3,BO2.WY+zak2_wy); /*obiekt 3*/ wy_bo3=bo3.wy; x=bo3.wy+zak1_wy; /* sygnal na wyjsciu obiektu */ 14

} float zak_prost(float szer_imp) prostokatnych */ { /* Generowanie zaklocen k1=k1+tp; if(k1<szer_imp*tp) z=a; else z=-a; if(k1>2*szer_imp*tp)k1=0; return(z); } float wartosc_zadana() { t=t+tp; if(t<100) xo=0.5; if(t>100 &&t<200)xo=0.75; if(t>200&&t<300)xo=0.25; if(t>300&&t<400)xo=0.75; return(xo); } struct blok obiekt(struct blok BO,float wejscie_obiektu) /* Funkcja symulujaca obiekt */ { int i; BZ1.WE=wejscie_obiektu; BO.uIn1=BO.WE/(1+((1/BO.mi)-1)*BO.WE); /*wyliczanie sygnalu wchodzacego na 1-sza inercje*/ BO.uIn2=(BO.uIn1+(BO.T1/Tp)*BO.uIn2)/(1+BO.T1/Tp);/*wyliczanie sygnalu wchodzacego na 2-ga inercje*/ BO.uIn3=(BO.uIn2+(BO.T2/Tp)*BO.uIn3)/(1+BO.T2/Tp);/*wyliczanie sygnalu wchodzacego na 3-cia inercje*/ BO.uN2=(BO.uIn3+(BO.T3/Tp)*BO.uN2)/(1+BO.T3/Tp); /*wyliczanie sygnalu wchodzaceg na blok N2*/ BO.uk=BO.uN2/(1+((1/BO.mi)-1)*BO.uN2); /*wyliczenie sygnalu wchodzacego na opoznienie*/ A(0)=BO.uk*BO.k; /*...*/ for(i=0;i<=bo.tau;i++) BO.B(i+1)=BO.B(i) /* wyliczanie opoznienia*/ BO.WY=BO.B(i); /*wyliczenie sygnału opoznienia*/ return(bo); } 5. OBSLUGA PROGRAMU B&R AUTOMATION STUDIO Tworzenie projektu i programu w środowisku Automation Studio. Po otwarciu programu B&R Automation Studio, wybieramy AR000 w menu Tools, aby uruchomić nasz wirtualny sterownik. 15

Następnie z menu File wybieramy opcję New Project, w celu utworzenia nowego projektu. 16

Otworzy nam się okno dialogowe, w którym naleŝy podać nazwę projektu i miejsce, gdzie ma być on zapisany. NaleŜy zaznaczyć opcję Upload hardware from target, aby nasz projekt działał z wirtualnym sterownikiem AR000. 17

Na koniec zostanie utworzony nowy projekt, w którym napiszemy nasz program symulujący pracę regulatora. śeby zacząć juŝ pisać nasz program, naleŝy utworzyć obiekt cykliczny. 18

Otworzy się nam okno dialogowe z moŝliwymi obiektami do wstawienia. Wybieramy Cyclic Object. W następnym kroku nadajemy nazwę naszemu obiektowi oraz wybieramy język 19

programowania. Dodatkowo moŝemy ustawić czas wykonywania się programu. Jeszcze został do utworzenia plik C, w którym będzie pisany nasz program. W ten sposób utworzyliśmy obiekt cykliczny z plikiem, w którym będziemy pisali program. W tym celu otwieramy do edycji nasz plik: 20

Otworzy nam się okno edytora, w którym będziemy pisali program. 21

Po napisaniu programu kompilujemy go wybierając funkcję Build z menu Project. 22

Po skompilowaniu, gdy program nie zawiera błędów, przesyłamy go do sterownika. W tym celu naciskamy na przycisk Transfer. Podgląd zmiennych za pomocą modułu Watch. Moduł Watch daje nam moŝliwość podglądania zmiennych uŝytych w programie, aktualnie znajdujących się w sterowniku. Za pomocą modułu Watch będziemy takŝe sterowali naszym programem. Zmieniając wartość zadaną, tryb pracy czy aktualną konfigurację regulatora. Aby uruchomić moduł Watch wybieramy odpowiednią opcję w menu Open. 23

Otworzy nam się moduł Watch. Teraz naleŝy wybrać zmienne, które chcemy podglądać. W tym celu wciskamy odpowiedni przycisk. 24

Otworzy się nam okno dialogowe w którym naleŝy wybrać zmienne. 25

Po wybraniu zmiennych będą one wyświetlone w oknie Watch wraz z wartościami jakie w danej chwili są im przypisane. Klikając w odpowiednią zmienną w rubryce Value i wpisując tam dowolną wartość, moŝemy dokonywać zmian w tej zmiennej. Rejestrowanie zmiennych w module Trace. W celu uruchomienia modułu Trace naleŝy z menu Open wybrać opcję Trace. 26

Otworzy nam się moduł Trace. Teraz naleŝy w module umieścić blok konfiguracyjny, w którym będziemy wybierać zmienne do rejestracji, w tym celu klikamy na przycisk zaznaczony poniŝej. 27

W oknie modułu pokaŝe nam się blok konfiguracyjny. Teraz naleŝy wybrać które zmienne chcemy zarejestrować, w tym celu klikamy na zaznaczony niŝej przycisk. 28

Otworzy nam się okno dialogowe w którym wybieramy zmienne jakie mają zostać zarejestrowane. 29

Teraz naleŝy przejść w tryb monitora, wciskając zaznaczony niŝej przycisk. MoŜemy teraz tak skonfigurowany moduł Trace zainstalować w sterowniku. Instalacja odbywa się przez naciśnięcie przycisku Instal. Po zebraniu interesującej nas liczby próbek zatrzymujemy pracę modułu przyciskiem Stop. 30

Teraz naleŝy ściągnąć dane ze sterownika, w tym celu klikamy na przycisk Show Target Data. Zarejestrowane dane zostaną wyświetlone w formie wykresu. 31

6. SYMULACJA UKLADU REGULACJI W PROGRAMIE B&R AUTOMATION STUDIO 6.1 ODPOWIEDZ UKŁADU NA SYGNAŁ STERUJACY 32

Rys. 15. Odpowiedz układu regulacji na sygnał sterujący dla regulatora o strukturze nr 1, zmienna roz=0, czyli sygnał podany na akcje róŝniczkującą podany z wyjścia obiektu (patrz Rys. 7.). JeŜeli sygnał był podawany bezpośrednio z wyjścia obiektu na akcje róŝniczkującą to przeregulowanie było mniejsze. Regulator działał szybciej. RóŜnice tą pokazują rysunki numer 15 i 16. 33

Rys. 16. Odpowiedz układu regulacji na sygnał sterujący dla regulatora o strukturze nr 1, zmienna roz=1(patrz Rys. 7.). W regulatorze numer dwa akcja całkująca zostaje ograniczona przez ujemne sprzęŝenie zwrotne. Sygnał z całki nie moŝe przekroczyć sygnału zadanego. JeŜeli go przekroczy to sygnał akcji całkującej jest korygowany. Współczynnik V był dobrany doświadczalnie. Górna granica była ustalana dynamicznie i zawsze równała się wartości sygnału zadanego. Dzięki temu w sygnale regulowanym nigdy nie było przeregulowania. Co jest pokazane na rysunkach 17 i 18. 34

Rys. 17. Odpowiedz układu regulacji na sygnał sterujący dla regulatora o strukturze nr 2, zmienna roz=0, czyli sygnał podany na akcje róŝniczkującą podany z wyjścia obiektu (patrz Rys. 8.). 35

Rys. 18. Odpowiedz układu regulacji na sygnał sterujący dla regulatora o strukturze nr 2, zmienna roz=1, czyli sygnał podany na akcje róŝniczkującą podany z wyjścia obiektu (patrz Rys. 8.). 6.2 ZMIANA TRYBU PRACY Z RĘCZNEJ NA AUTOMATYCZNA Zmiana trybu pracy z ręcznej na automatyczną miała odbywać się w sposób bezuderzeniowy. śeby to uzyskać w trybie pracy ręcznej sygnał z zadajnika cały czas podawany jest na akcje całkująca regulatora. Rys. 19. Zmiana trybu pracy z ręcznej na automatyczna. Przy sygnale zadanym równym xo=0.5. Symulacja dla układu regulacji z rys. 7. 6.3 WPŁYW ZAKŁÓCEŃ NA PRACE REGULATORA Zakłócenia prostokątne były podawane na wejście obiektu i wyjście obiektu. Z zakłóceniami podawanymi na wejście obiektu regulator radził sobie dość dobrze. Natomiast z zakłóceniami podawanymi na wyjście obiektu regulator nie radził sobie. Jest to pokazane na rysunkach 20, 21, 22. 36

Rys. 20. Zakłócenia podawane na wyjście obiektu, dla układu regulacji numer 1. Rys. 21. Zakłócenia podawane na wejście obiektu, dla układu regulacji numer 1. 37

Rys. 22. Zakłócenia podawane na wejście obiektu, dla układu regulacji numer 1. 7. LITERATURA [1] wykłady - Dr inŝ. K. Pietrusewicz 38