| Author |
Message
|
bakiagh Poziom 3

Joined: 25 Apr 2010 Posts: 6 Location: Kraków
|
#1
03 Jan 2012 15:39 Step 7 FB41 Matlab OPC |
|
|
|
Witam,
Mam problem z nastawami regulatora PID w step 7 (fb41). PLC-sim polączony przez OPC z Matlabem. W matlabie mam obiekt inercyjny II rzędu z opóźnieniem (e^(-0.3s)/s^2+s+1), wartość zadana jako skok wchodzi do OPC_write (PID_SP)
potem z OPC_Read (PID_CV) na transmitancje i to do OPC_write(PID_PV).
Blok fb41 mam umieszczony w OB35.
Nastawy metodą zieglera-nicholsa wyliczam sobie w matlabie na osobnym modelu z taką samą transmitancją. Dobrane nastawy działają dobrze.
Natomiast, gdy te same nastawy dam (po przez PID Control. Parameter Assignment), regulator nie działa poprawnie.
Nie wiem dlaczego tak się dzieje.
Czy ktoś mógłby mi pomóc?
|
|
| Back to top |
|
 |
Google

|
#
03 Jan 2012 15:39 |
|
|
|
|
|
| Back to top |
|
 |
gandalftaurus Poziom 7

Joined: 22 Jan 2009 Posts: 20 Location: Chełm
|
#2
12 Jan 2012 01:38 Re: Step 7 FB41 Matlab OPC |
|
|
|
Drogi kolego,
zajmuję się podobnymi sprawami i możliwe, że możemy sobie pomóc wzajemnie. Co do Twojego problemu: czy wyliczasz nastawy pod Simulinkiem czy z poziomu Matlaba? Jaką dokładnie postać regulatora używasz do wyliczeń? Pytam, ponieważ w różnych programach różnie traktuje się tak zwane nastawy. Od pewnej wersji Matlaba (nie wiem dokładnie od której ale w 2010 już tak jest) w Simulinku jest gotowy bloczek PID. Zwróć uwagę na taki przykład:
Nastawy z Simulinka: P=1; I=0.1
Aby osiągnąć porównywalną dynamikę regulatora w FB41 jego nastawy powinny wyglądać tak: P=1; Ti=10
Być może Twój problem jest podobny i trzeba się tylko zastanowić nad odpowiednią interpretacją wyliczonych nastaw. Problem niestety może być również bardziej złożony. Trzeba pamiętać, że nawet najprostszy PID (bo takim jest właśnie FB41) posiada różne dodatkowe funkcje jak np. ograniczenie wartości wyjściowej regulatora albo antywindup. Przez ich obecność wyliczone nastawy w niedokładnej symulacji mogą się rozjeżdżać po przeniesieniu do sterownika.
W tym miejscu mam do Ciebie dwa pytania:
1. W jaki sposób symulujesz pracę regulatora pod Matlabem i jaką postać regulatora stosujesz? Jeśli robisz to tylko na wzorach w przestrzeni roboczej to podaj swój wzór a jeśli pod Simulinkiem to może wrzuciłbyś zdjęcie ekranu z układem?
2. Czy mógłbyś wyjaśnić krok po kroku jak połączyć PLCSima z Matlabem?
pozdrawiam
gandalftaurus
|
|
| Back to top |
|
 |
Google

|
#
12 Jan 2012 01:38 |
|
|
|
|
|
| Back to top |
|
 |
bakiagh Poziom 3

Joined: 25 Apr 2010 Posts: 6 Location: Kraków
|
#3
12 Jan 2012 16:49 Re: Step 7 FB41 Matlab OPC |
|
|
|
Problem w pewnym stopniu rozwiązałem tzn. nastawy wyliczone prostymi metodami czyli m.in. Zieglera-Nicholsa nie nadawały się do regulatora umieszczone w PLCsim (blok FB41) prawdopodobnie problem z opóźnieniami wynikającymi z komunikacją między matlabem, a PLCSim.
Nastawy wyliczyłem minimalizując wskaźnik jakości (całka z kwadratu uchybu).
Jednak i one nie działały poprawnie w bloku FB41. Dopiero poprawne dobranie czasu próbkowania w simulinku (bloki OPC Read, OPC Write, a także czas symulacji) rozwiązały problem - wszystko ustawiłem taki sam czas w jakim wywoływany był blok OB35 w Step7 (w moim przypadku 100ms).
W Simulinku stosuje normalnie regulator w postaci bloku PID, który wychodzi na transmitancję umieszczoną w bloku TransFnc (czy jakoś tak).
PLCSim łącze z Matlabem (Simulinkiem) poprzez serwer OPC i bloki z toolboxa OPC.
Można ściągnąć darmowy serwer OPC bez problemu. Edytujemy plik .xml tego serwera, wpisując wszystkie zmienne, które chcemy przekazywać między Matlabem - PLCsim. Identyczne zmienne i adresy muszą być wpisane w Step7 w zmiennych. Następnie ustawiamy parametry bloków OPC w matlabie. W tych blokach mamy możliwość połączenia się z dostępnymi serwerami OPC, w tym przypadku jest tylko ten nasz do wyboru. Wybieramy zapis/odczyt synchroniczny lub asynchroniczny - należy pamiętać by wybrać zapis/odczyt z urządzenia (device), bo w przeciwnym wypadku nie zadziała.
Mam nadzieję, że napisałem w miarę jasno.
W razie czego to podaj maila to wyślę Ci część projektu, w którym działa komunikacja między Matlabem, a PLCSim.
Pozdrawiam,
Baki
|
|
| Back to top |
|
 |
Google

|
#
12 Jan 2012 16:49 |
|
|
|
|
|
| Back to top |
|
 |
Druciar Poziom 1

Joined: 21 Apr 2012 Posts: 1 Location: Wrocław
|
#4
30 Apr 2012 13:48 Re: Step 7 FB41 Matlab OPC |
|
|
|
Witam czy mógłbym prosić o przesłanie wspomnianej części projektu. Realizuję pracę magisterską z tego zagadnienia i chciałbym sprawdzić swoje połączenie.
|
|
| Back to top |
|
 |
mbarwiko Poziom 1

Joined: 09 Feb 2011 Posts: 1 Location: warszawa
|
#5
02 May 2012 14:20 Re: Step 7 FB41 Matlab OPC |
|
|
|
Dołączam się do prośby kolegi
|
|
| Back to top |
|
 |