FAQ | Points | Add... | Recent posts | Search | Register | Log in


Step 7 FB41 Matlab OPC


Post new topic  Reply to topic      Main Page -> Forum Index -> Automation Generally -> Step 7 FB41 Matlab OPC
Author
Message
bakiagh
Poziom 3
Poziom 3


Joined: 25 Apr 2010
Posts: 6
Location: Kraków

Post#1 Post from the author of the topic 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

Google Adsense


Post# Post from the author of the topic 03 Jan 2012 15:39   





Back to top
   
gandalftaurus
Poziom 7
Poziom 7


Joined: 22 Jan 2009
Posts: 20
Location: Chełm

Post#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

Google Adsense


Post# 12 Jan 2012 01:38   





Back to top
   
bakiagh
Poziom 3
Poziom 3


Joined: 25 Apr 2010
Posts: 6
Location: Kraków

Post#3 Post from the author of the topic 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

Google Adsense


Post# Post from the author of the topic 12 Jan 2012 16:49   





Back to top
   
Druciar
Poziom 1
Poziom 1


Joined: 21 Apr 2012
Posts: 1
Location: Wrocław

Post#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
Poziom 1


Joined: 09 Feb 2011
Posts: 1
Location: warszawa

Post#5 02 May 2012 14:20   

Re: Step 7 FB41 Matlab OPC


Dołączam się do prośby kolegi
Back to top
   
Post new topic  Reply to topic      Main Page -> Forum Index -> Automation Generally -> Step 7 FB41 Matlab OPC
Page 1 of 1
Similar topics
S5-135 - Poszukuję FB41(RLG:AA) lub FB79(ANAU) - wy.analogow (4)
S7-300, FB41, windup, część całkująca zatrzymała się (1)
Blok FB41 czyli regulator PID w sterowniku Siemensa (5)
Simatic S7- porównanie bloków FB41, FB58 (1)
Literatura dotycząca standardu OPC i OPC Unified Architectur (12)
Dlaczego PID w simatic s7-300 (FB41) trzeba wywolywac z OB35 (6)

Page generation time: 0.176 seconds


FAQ || Administrator || Moderators || Widgets and banners || Contact
elektroda.pl topic RSS feed