Praca przejściowa
Transkrypt
Praca przejściowa
POLITECHNIKA WARSZAWSKA INSTYTUT AUTOMATYKI I ROBOTYKI Praca przejściowa Zastosowanie środowiska TIA Portal do konfiguracji i programowania sterownika S7-1200 Wykonał: Rafał Kurtyka Promotor: mgr inż. Jakub Możaryn Ocena: Warszawa 2011 1 SPIS TREŚCI 1.Sterownik……………………………………………...…………………3 2.Platforma TIA (Totally Intgrated Automation)…………….……………4 2.1. Konfiguracja środowiska – projekt……………….…………………5 2.2. Komunikacja ze sterownikiem w środowisku TIA.……………...... 8 2.3. Programowanie w środowisku TIA.……………..….……………. 12 2.4. Implementacja regulatora PID…………..………………………... 19 2 1. Sterownik Sterownikiem wykorzystanym w projekcie jest Simatic S7 1200 firmy Siemens. Sterownik ten charakteryzuje się modułową konstrukcją (maks. 8 modułów sygnałowych, 1 płyta sygnałów, 3 moduły komunikacyjne). Maksymalna liczba wejść binarnych i analogowych wynosi odpowiednio 284 i 51. W urządzeniu zintegrowano interfejsy PROFINET/ETHERNET przemysłowy z obsługą protokołów TCP/IP, ISO na TCP, S7. Sterownik posiada możliwość diagnostyki i monitorowania oprogramowania przez port ETHERNET oraz komunikacji przez protokoły RS-232, RS-485 i MODUS RTU. W projekcie wykorzystywane będą jednostka CPU 1214C, zasilacz 230VAC/24VDC PS1207 oraz moduł rozszerzeń wejść/wyjść analogowych 6ES7 234 (Rys.1.1). Sposób podłączenia układu do sieci energetycznej i komputera przedstawia rysunek 1.2. Jednostkę CPU i 6ES7 należy zasilić indywidualnie (możliwe jest wykorzystanie tego samego zasilacza) napięciem stałym 24V. Wymiana danych między modułami CPU i AI/AO (6ES7) odbywa się poprzez wewnętrzną magistralę. Funkcję programatora pełni komputer PC podłączany kablem ethernetowym. Rys.1.1. Sterownik Simatic S7 1200. [1] 3 Rys.1.2. Schemat podłączenia sterownika. [2] 2. Platforma TIA (Totally Integrated Automation) TIA jest to środowisko służące do konfiguracji, programowania i monitorowania sterowników SIMATIC S7 1200 oraz paneli operatorskich HMI. Oprogramowanie STEP 7 Basic (aplikacja do programowania PLC w języku FBD lub LD) oraz WinCC Basic (aplikacja do tworzenia wizualizacji) zintegrowane są na platformie, co umożliwia wymianę danych między nimi. Środowisko zawiera także narzędzia do tworzenia nowych bibliotek obiektów projektu (zmiennych procesowych, najczęściej wykorzystywanych funkcji – np. PID) czy grafiki obiektu (elementów 4 wizualizacji procesu). Na platformę SIMATIC S7-1200 została przeniesiona z systemów SIMATIC S7-300/S7-400 sprawdzona koncepcja bloków organizacyjnych OB, funkcji FC oraz bloków funkcyjnych FB i bloków danych DB. 2.1. Konfiguracja środowiska - projekt Po uruchomieniu aplikacji TIA użytkownikowi ukazuje się widok portalu (Rys.2.1), przedstawiający pasek zadań (1), wybór opcji (2) oraz listę utworzonych projektów (3). Rys.2.1. Widok portalu. W celu utworzenia nowego projektu należy wybrać opcję Create new project (Rys.2.2). Następnym krokiem jest podanie ścieżki do katalogu z projektem (Path) i nazwy projektu (2), która różni się od nazw utworzonych wcześniej projektów. W prezentowanym na rys. 2.2. przykładzie projekt nazwano „Regulator_PID”. Po uzupełnieniu powyższych parametrów utworzyć nowy projekt przyciskiem Create (3). Po utworzeniu projektu i zapisaniu w podanym katalogu, dla naszego projektu dostępny jest pasek zadań – L (Rys.2.3). Na początku projektowania konieczny jest 5 Rys.2.2. Tworzenie nowego projektu. wybór jednostki centralnej sterownika. W tym celu należy kliknąć na zadanie Devices & Networks (1), a następnie wybrać opcję Add new device (2). Do wyboru powinny być udostępnione 2 rodzaje urządzeń: Simatic HMI i Simatic PLC. Jeżeli naszym zadaniem jest zaprogramowanie sterownika, należy wybrać ikonę Simatic PLC (3). Niezbędne jest także wpisanie nazwy urządzenia (4), w tym projekcie będzie to „Sterownik_1”. Z wyświetlonego katalogu wybierana jest jednostka centralna CPU, poprzez dwukrotne kliknięcie na jej opis (5): PLC > Simatic S7 1200 > CPU > CPU 1214C > 6ES7-214-1AE30-0XB0. Rys.2.3. Wybór jednostki CPU. Po wyborze jednostki centralnej, ukazuje się widok projektu (Rys.2.4). Z lewej strony dostępne jest okno Project tree (1). W oknie tym, znajdują się katalogi, poprzez które użytkownik ma dostęp do każdego fragmentu projektu. Katalog Sterownik_1[CPU 1214C DC/DC/DC] zawiera informacje na temat programu oraz konfiguracji sprzętowej wybranego sterownika. Zawartość katalogów jest wyświetlana 6 w oknie centralnym – „Regulator_PID” (2), w którym na wstępie powinien pojawić się moduł CPU wraz z jego parametrami poniżej. Po prawej stronie widoku projektu znajdują się zakładki (3) umożliwiające dostęp do katalogu sprzętowego czy bibliotek MODBUS lub HMI. W lewym dolnym rogu okna głównego znajduję się odnośnik do widoku portalu (4). Dzięki niemu możliwe jest przełączanie między widokiem projektu i widokiem portalu. Rys. 2.4. Widok projektu. W regulatorze PID sygnałem sterującym jest sygnał analogowy. Moduł CPU dostępny w projekcie nie posiada wyjść analogowych, a więc konieczne jest dołączenie oddzielnego modułu z wyjściami analogowymi (Rys. 2.5). W tym celu należy wybrać zakładkę Hardware catalog (1). Użytkownikowi powinna ukazać się lista folderów z modułami rozszerzeniowymi. Z listy tej należy wybrać katalog AI/AO, następnie AI4 x 14bits/AO2 x 14 bits i ostatecznie konkretny moduł – tu 6ES7 234-4HE30-0XB0 (2). Aby dołączyć ten element do projektu, należy przeciągnąć go z katalogu na pole 2 obok jednostki CPU (3). 7 Rys. 2.5. Dołączenie modułu Analog Input/Output. 2.2. Komunikacja ze sterownikiem w środowisku TIA Aby skomunikować się ze sterownikiem należy użyć kabla internetowego z wtyczką RJ-45 (Rys.2.6). Jeden koniec podłączyć do sterownika (1) a drugi do komputera. Rys. 2.6. a) moduł CPU. b) Kabel z wtyczkami RJ-45. Będąc w widoku projektu kliknąć na ikonę Download to device dostępną na pasku narzędzi (Rys.2.7). W ten sposób wgrywamy pusty program do sterownika, w celu sprawdzenia komunikacji. W tym momencie rozpocznie się wyszukiwanie połączenia między sterownikiem, a komputerem. W naszym projekcie połączenie nie było utworzone, więc programator automatycznie znajdzie podłączony sterownik i zaproponuje przypisanie mu domyślnego adresu IP -192.168.0.1 (Rys.2.8). Należy wtedy wybrać proponowane połączenie (1) oraz wcisnąć przycisk Load (2). 8 Rys. 2.7. Pasek narzędzi. Rys. 2.8. Automatycznie wyszukane połączenie. Program może zapytać nas o przypisanie dodatkowego IP wymaganego w tym połączeniu (Rys. 2.9). Zgadzamy się poprzez kliknięcie na przycisk Yes. Powinniśmy otrzymać wiadomość, że więcej dodatkowych IP nie jest wymagane (Rys.2.10). Należy potwierdzić komunikat wciskając OK. Kompilator przejdzie do sprawdzenia poprawności programu. Wyniki sprawdzenia wyświetlane są w oknie Load preview. (Rys.2.11.a). Jeśli wszystko jest poprawne, w zakładce Message pojawia się informacja Ready for loading. Aby kontynuować wgrywanie należy kliknąć na przycisk Load. Po zakończeniu wgrywania użytkownik informowany jest o jego poprawności w oknie Load results (Rys.2.11.b). Jeżeli nie wystąpiły żadne błędy w komunikacji lub w zapisie do pamięci, w zakładce Message powinna ukazać się informacja Downloading to device completed without terror. Poza tym, na zakończenie wgrywania, mamy także 9 możliwość włączenia modułów sterownika – przejście w tryb RUN. W tym celu zaznaczyć opcję Start all (1). Aby zakończyć wgrywanie kliknąć na przycisk Finish. Rys. 2.9. Przypisanie dodatkowego IP. Rys. 2.10. Potwierdzenie dodatkowego IP. Rys. 2.11. a) Okno Load preview. b) Okno Load results. 10 W środowisku TIA istnieje możliwość sprawdzenia poprawności działania poszczególnych modułów oraz ich połączenia. Służy do tego opcja Online & diagnostics dostępna w zakładce Online (Rys.2.12). Po wyborze tej funkcji powinno ukazać się okno Online access (Rys.2.13). W oknie tym należy wybrać rodzaj połączenia diagnostycznego (w projekcie jest to kabel internetowy). Po dokonaniu ustawień kliknąć na przycisk Go online. Kompilator przechodzi w tryb Online, a wyniki diagnostyczne wyświetla w oknie Device information (Rys.2.14). O braku problemów informuje nas opis: No devices with problems. Rys. 2.12. Wybór opcji Online & diagnostics. Rys. 2.13. Ustawienia połączenia diagnostycznego. 11 Rys. 2.14. Wyniki diagnostyki. 2.3. Programowanie w środowisku TIA Aby rozpocząć pisanie programu w STEP 7 Basic należy w oknie Project tree (Rys.2.15) wybrać katalog Sterownik_1 (1), wewnątrz którego znajdują się parametry i funkcje dotyczące tylko wybranego sterownika. Następnie w podkatalogu Program blocks (2) odnajdujemy blok Main [OB1] (3). Blok ten jest niezbędny w każdym programie, gdyż to właśnie w nim wykonuje się główna pętla programowa. Po dwukrotnym kliknięciu na niego, użytkownikowi powinna ukazać się zawartość bloku, czyli pusty program (Rys.2.16). Domyślnym językiem programowania jest LAD, czyli tzw. język drabinkowy. Sieci drabinek w bloku organizacyjnym oznaczone są kolejno jako Network 1, Network 2, itd. (1). Powyżej drabinek znajduje się pasek najczęściej używanych instrukcji (2), które można dodawać i usuwać poprzez kliknięcie na niego prawym przyciskiem myszy i wybranie odpowiedniego polecenia. Te same instrukcje znajdują się po prawej stronie, w oknie Instructions, w zakładce Favorites (3). W oknie tym użytkownik posiada także dostęp do podstawowych instrukcji w zakładce Instruction (4) oraz do rozszerzonych instrukcji – zakładka Extended instructions (5). Pierwszym realizowanym zadaniem jest pierwiastkowanie zmiennej rzeczywistej, które może być rozpoczęte i zakończone w dowolnej chwili, np. przez operatora korzystającego z panelu HMI (Rys.2.17). Niezbędnymi elementami w pisanym programie są zatem włącznik i wyłącznik obliczeń. Funkcja ta będzie zrealizowana za pomocą dwóch przycisków (START/STOP), znajdujących się w panelu HMI. Na początek należy znaleźć w zakładce Instructions (Rys.2.18), w katalogu Bit logic (1) symbol Normally open 12 contact (2) i przeciągnąć go do sieci Network 1, w miejsce oznaczone zielonym prostokątem (3). Rys. 2.15. Przejście do bloku OB1. Rys. 2.16. Interfejs programowania. 13 Rys. 2.17. Zadanie do zrealizowania. Rys. 2.18. Wstawienie do programu styku Symbol ten reprezentuje styk normalnie otwarty (czynny). Konieczne jest podanie adresu sygnału, który ma wyzwolić jego zadziałanie. O braku przypisanego adresu użytkownik informowany jest na dwa sposoby (Rys.2.19). Pierwszym jest symbol krzyżyka na czerwonym tle przy nazwie sieci Network (1), oznaczający wystąpienie błędu we wskazanej sieci. Drugim są znaki zapytania nad symbolem styku, informujące o braku przypisanego adresu (2). Dla każdego adresu możliwe jest przypisanie nazwy. Ułatwia to rozróżnialność użytych zmiennych, a w konsekwencji przyspiesza programowanie i zwiększa czytelność programu. Każda zmienna zapisywana jest na liście tagów (Rys.2.20). W celu utworzenia nowego tagu należy wejść do bazy tagów w katalogu PLC tags (1). Kliknięcie w pole Name (2) w wierszu nr 1 umożliwi wpisanie nazwy. W projekcie będzie to nazwa „wlacz”. Po zatwierdzeniu nazwy klawiszem Enter, zostanie 14 stworzony pierwszy tag. Typ zmiennej (Data type - Bool) oraz adres ( Address - %I0.0) będą przypisane automatycznie. Możliwa jest edycja tych parametrów jak i wpisanie komentarza odnośnie zmiennej w kolumnie Comment. Rys. 2.19. Powiadomienia o braku przypisanego adresu. Rys. 2.20. Tworzenie nowego tagu. Symbol %I0.0 oznacza, że wykorzystywane jest wejście dyskretne nr 0 sterownika – bit 0. W projekcie styk będzie wyzwalany przez przycisk w panelu HMI. Przycisk taki nie może oddziaływać z bitami związanymi z sygnałami wejściowymi czy wyjściowymi. Należy przypisać mu adres flagi, czyli bitu w pamięci sterownika oraz typ danej Bool (Prawda/Fałsz). Symbol takiego markera opisuje się literą „M”, a nowy adres wynosi %M0.0. W wyżej wymieniony sposób tworzymy dodatkowe dwa tagi: „wylacz” i „dziala” o kolejnych adresach %M0.1 i %M0.2. Uzupełnioną listę tagów przedstawia rysunek nr 2.21. Rys. 2.21. Uzupełniona lista tagów. 15 Po utworzeniu zmiennych należy powrócić do bloku Main [OB1] i przypisać adres do użytego styku w sieci Network 1 (Rys.2.22). W tym celu kliknąć na znaki zapytania (1) i z rozwiniętej listy (2) i wybrać tag o nazwie „wlacz” (3). Adres zostaje przypisany i wyświetlony nad symbolem styku razem z nazwą zmiennej (4). Rys. 2.22. Przypisanie zmiennej (tagu) do styku. W programie potrzebny jest jeszcze jeden styk normalnie otwarty, umieszczony w równoległej gałęzi do pierwszej (Rys.2.23). Aby utworzyć nową gałąź należy kliknąć na początek gałęzi (1), a następnie wybrać instrukcję Open branch (2) w pasku instrukcji. Użytkownikowi powinien ukazać się początek nowej gałęzi (3). W nowym punkcie umieścić kolejny styk, przeciągając go z paska instrukcji (4). Przypisać do niego tag o nazwie „wylacz”. Rys. 2.23. Tworzenie nowej gałęzi. Dwa utworzone styki będą potrzebne w programie do sterowania przerzutnikiem SR. Styk „wlacz” będzie ustawiał przerzutnik, a styk „wylacz” będzie kasował wyjście przerzutnika. Blok SR (Rys.2.24 - 1) należy przeciągnąć z katalogu Bit logic do pierwszej gałęzi w sieci Network1 i umieścić w zielonym punkcie zaraz za stykiem „wlacz” (2). Znaki zapytania nad wklejonym blokiem przerzutnika informują 16 użytkownika o braku adresu. Jest to adres wyjścia przerzutnika Q, który jest przez nas ustawiany lub kasowany. Przypisujemy do niego tag „dziala”. Sygnał tagu będzie przyjmował wartość logiczną 1, gdy przerzutnik będzie ustawiony oraz wartość zero, w przypadku „zresetowania”. Kolejną punktem jest połączenie styku „wylacz” z wejściem kasującym przerzutnika R1 (Rys.2.25). W tym celu należy kliknąć na symbol strzałek, znajdujący się za stykiem „wylacz” (1) i przeciągnąć go na wejście resetujące R1 (2). Zbudowany układ (3) ma służyć do włączania i wyłączania operacji pierwiastkowania zmiennych rzeczywistych. Rys. 2.24. Wstawienie przerzutnika SR. Rys. 2.25. Połączenie wejścia przerzutnika z wolnym stykiem. Następnym etapem jest umożliwienie użytkownikowi wprowadzenia z zewnątrz liczby rzeczywistej (np. liczba wpisana na panelu HMI) i wykonanie na niej operacji pierwiastkowania. Do tego celu potrzebne będą kolejne dwa tagi („argument” i „wynik”), odnoszące się do zmiennych typu Real (Rys.2.26). Zmienna typu Real zajmuje 32 bity (4 bajty) w pamięci, dlatego adresy kolejnych zmiennych muszą różnić się o 4 cyfry (np. %MD10 i %MD14). Operacja pierwiastkowania wykonywana będzie w bloku SORT (Rys.2.27). Podanie sygnału dyskretnego true na wejście EN bloku SQRT włącza działanie bloku (rozpoczyna liczenie). Jeśli w bloku nie występuję żaden błąd, sygnał true podawany jest na wyjście ENO. Aby pierwiastkowanie można było włączać i wyłączać 17 (np.z poziomu HMI) należy w nowej gałęzi umieścić styk czynny i przypisać do niego tag „dziala” (Rys.2.28). Następnie z zakładki Instructions (1), z katalogu Math, przeciągnąć blok SORT i dokleić do wolnego styku (2). Rys. 2.26. Lista uzupełniona o tagi typu Real. Rys. 2.27. Blok SQRT. Rys. 2.28. Wstawienie bloku SORT. Na koniec pozostało przypisanie na wejście IN bloku SORT tagu „argument” (liczba pierwiastkowana) oraz na wyjście OUT tagu „wynik” (pierwiastek liczby na wejściu IN). 18 2.4. Implementacja regulatora PID W tym etapie projektowania zostanie pokazany sposób zaimplementowania regulatora PID. Regulator cyfrowy powinien być próbkowany ze stałym oraz możliwym do ustawienia czasem próbkowania. Main OB1 jest blokiem głównym wykonywanym zawsze. Dla potrzeb regulacji zostanie utworzony nowy blok organizacyjny (Rys.2.29) o ustalonym czasie wykonywania. W tym celu wybrać w oknie Project tree -> Sterownik_1-> Program block opcję Add new block (1). Na liście rodzajów bloków kliknąć Organization block (2). W polu Name wpisać nazwę bloku – tu „Regulator” (3). Na liście opcji zaznaczyć Cyclic interrupt (4), aby ustawić czas wykonywania bloku – Scan time (5). Domyślnie ustawiony jest czas 100 ms jest odpowiedni. Rys. 2.29. Tworzenie bloku organizacyjnego „Regulator”. W nowoutworzonym bloku organizacyjnym OB200 (Rys.2.30) można przystąpić do implementacji funkcji PID. Najprościej jest skorzystać z gotowego bloku regulatora (Rys.2.31). W zakładce Extended instructions (1), w katalogu PID, znajduje 19 się blok funkcji (FB) PID_Compact (2). Należy przeciągnąć ten blok z biblioteki do sieci Network 1 (3), w bloku organizacyjnym OB200. Rys. 2.30. Nowoutworzony blok organizacyjny Regulator [OB200]. Rys. 2.31. Wykorzystanie PID_Compact. W momencie utworzenia regulatora PID w programie, rezerwowany jest pewien obszar w pamięci tzw. blok danych (DB). Struktura danych DB odzwierciedla parametry wejściowe i wyjściowe oraz dane statyczne FB. Dane te są dostępne dla innych bloków w kodzie programu. Po umieszczeniu bloku funkcyjnego PID_Compact w drabince, powinno wyświetlić się okno Call options (Rys.2.32). W polu Name należy podać nazwę bloku DB (1). W projekcie będzie wykorzystywany tylko jeden regulator PID, więc można potwierdzić domyślną nazwę PID_Compact_DB, klikając OK (2). Gdy blok PID jest już umieszczony w programie (Rys.2.33), obecność bloku funkcyjnego wyróżniona jest w oknie Project tree, w katalogu Program blocks (1). Natomiast w katalogu Technological Objects powinien pojawić się nowy obiekt PID_Compact_DB [DB1] (2). W obiekcie możliwe jest zmiana takich parametrów regulatora jak np. granice alarmowe, charakterystyki sygnałów czy nastawy. Kolejnym krokiem jest wyznaczenie jego odpowiedzi skokowej regulatora. Wartości zadana i mierzona (symulowana) będą zadawane z panelu HMI. Regulator ma 20 pracować w trybie automatycznym. Wartość sterująca będzie podawana na wyjście analogowe i odczytywana na wejściu analogowym (Rys.2.34), a następnie po obróbce sygnału przekazywana do panelu. Rys. 2.32. Okno Call options. Rys. 2.33. Katalog Program blocks po utworzeniu PID. Rys. 2.34. Moduł AI/AO, sprzężenie wyjścia analogowego z wejściem analogowym. 21 Przed przystąpieniem do konfiguracji regulatora niezbędne jest utworzenie nowych zmiennych. Listę tagów przedstawia rysunek 2.35. W zmiennych odwołujących się do sygnałów analogowych należy wpisać adres wejścia i wyjścia (%IW96 i %QW96). Adresy te można odczytać z danych konfiguracyjnych sterownika (Rys.2.36). W tym celu kliknąć w oknie Project tree na pole Sterownik_1->Device configuration (1), a następnie na moduł AI/AO w oknie głównym (2). Poniżej w zakładce Properties udostępniona zostanie konfiguracja modułu. Aby poznać ustawienia sygnałów analogowych należy wybrać pole AI4/AO2 (3). Pola Analog imputs i Analog outputs zawierają listę kanałów, do których podłączane są przewody (zarówno w przypadku wejścia jak i wyjścia w projekcie wykorzystany będzie Channel 0). Kliknąć na pole Analog imputs-> Channel0 (4). W oknie po prawo ukażą się ustawienia kanału 0. Należy odczytać adres (5) oraz zmienić rodzaj sygnału z napięciowego na prądowy: Current (6). Powtórzyć czynności 5 i 6 dla kanału 0 wyjścia analogowego (7). Rys. 2.35. Zmienne utworzone na potrzeby regulatora. Rys. 2.36. Konfiguracja modułu AI/AO. 22 Mając utworzone zmienne można przystąpić do konfiguracji regulatora. Na początku należy ustawić w bloku funkcyjnym PID_compact potrzebne sygnały wejściowe i wyjściowe (Rys.2.37). W tym celu wybrać w oknie Project tree pole Sterownik_1->Program blocks->Regulator[OB200] (1), a następnie zaznaczyć w programie blok regulatora (2). W oknie poniżej należy kliknąć na zakładkę Configuration (3). Wybrać pole Basic parameters (4). Biały krzyżyk na czerwonym tle oznacza, że podstawowe parametry regulatora nie zostały jeszcze skonfigurowane. Rys. 2.37. Konfiguracja regulatora. W oknie Basic parameters ustawia się takie sygnały jak Setpoint (wartość zadana), Input value (wartość mierzona) oraz Output value (sterowanie). Można skojarzyć te zmienne z określonym blokiem danych lub z blokiem funkcyjnym. W projekcie dla wszystkie trzy sygnały będą skojarzone z blokiem funkcyjnym (Rys.2.38). W tym celu rozwinąć listę pod nazwą zmiennej (1) i wybrać opcję Value at the function block (2). Następnie powinno się określić źródło dla sygnałów Imput value i Output value (Rys.2.39). Może to być zmienna z programu (Imput / Output) lub sygnał analogowy (Imput_PER / Output_PER). Wartość mierzona ma być symulowana na wejście, dlatego jako źródło wybieramy zmienną w programie (1). Sterowanie ma być podawane na wyjście analogowe, więc źródłem będzie ustawiony domyślnie sygnał analogowy (Output_PER). Na koniec należy przypisać konkretne zmienne do poszczególnych sygnałów (Rys.2.40). Zaczynając od sygnału Setpoint, najwygodniej jest zaznaczyć kursorem 23 puste, białe pole i wpisać pierwszą literę nazwy bloku funkcyjnego: „P” jak PID_Comapct Rozwinie (1). się wtedy lista ze wszystkimi zmiennymi rozpoczynającymi się na tą literę. Wśród nich znajdują się „PID_Compact_DB”>>. Znak >> oznacza, że jest to wskaźnik do wszystkich zmiennych związanych z blokiem funkcyjnym o poprzedzającej go nazwie. Po kliknięciu kursorem na wskaźnik rozwija się lista zmiennych, z której należy wybrać „PID_Comapct_DB”.Setpoint (2). W podobny sposób ustawić zmienną „PID_Comapct_DB”.Imput jako Imput value (3). W pole zmiennej Output value wpisać adres wyjścia analogowego QW96 bądź nazwę tagu: „WYanalogowe” (4). W celu sprawdzenia poprawności można także przeprowadzić kompilację programu (Rys.2.41). Brak błędu oznacza brak błędów w konfiguracji regulatora. Rys.2.38. Skojarzenie zmiennych regulatora. Rys.2.39. Ustawienie źródła sygnałów regulatora. 24 Rys. 2.40. Przypisanie zmiennych do sygnałów regulatora. Rys. 2.41.Kompilacja programu. Regulator powinien pracować w trybie automatycznym, z możliwością zmiany nastaw przez użytkownika. W celu zmiany ustawień regulatora należy w oknie Project tree (Rys.2.42) kliknąć prawym przyciskiem myszy na obiekt: 25 Sterownik_1->Technological_Objects->PID_Compact_DB (1), a następnie w rozwiniętym menu wybrać polecenie Open in editor (2). W oknie głównym pojawi się lista wszystkich zmiennych odpowiedzialnych za ustawienia regulatora. Aby włączyć automatyczny tryb pracy należy znaleźć zmienną Stani->sRet->i_Mode (1) i wpisać w polu Initial value cyfrę 3 (2). Następnym krokiem będzie umożliwienie zmiany nastaw regulatora (Rys.2.44). Nastawy regulatora można podejrzeć poprzez dwukrotne kliknięcie na pole: Sterownik1->Technological_Objects->PID_Compact_DB->Configuration w oknie Project tree (1). W oknie głównym udostępniona zostanie konfiguracja regulatora. Aby umożliwić zmianę nastaw, należy wybrać opcję Advanced settings (2) oraz zaznaczyć pole Use manual PID parameter setting (3) w obszarze PID parameter. W bieżącym oknie możliwa jest zmiana takich parametrów jak np.: wzmocnienie (Proportional gain), czas zdwojenia (Integration time) i czas wyprzedzenia (Derivative time). Rys. 2.42. Wejście do parametrów regulatora. Rys. 2.43. Ustawienie regulatora w automatyczny tryb pracy. 26 Rys. 2.44. Nastawy regulatora PID. Ostatnim etapem projektu jest przeskalowanie sygnału sterującego odczytywanego z wejścia analogowego. Sygnał analogowy podawany jest na przetwornik analogowo/cyfrowy i przekazywany do programu w postaci zmiennej integer o zakresie 0÷26784 (0÷20 mA). W projekcie wymaga się, aby sygnał sterujący regulatora zmieniał się w zakresie 0÷100%. Niezbędna jest zmiana zakresu sygnału (Rys.2.45). W tym celu należy wstawić do programu (Network 2 w bloku organizacyjnym Regulator [OB200]) dwa bloki z katalogu Convert (1), znajdującego się w zakładce Instructions. Pierwszy z nich to blok normalizacji NORM_X (2). Drugi to blok skalowania SCALE_X (3). Rys. 2.45. Bloki NORM_X i SCALE_X. Blok normalizacji zamienia zmienną określonego typu i o określonym zakresie na zmienną typu rzeczywistego (Real) zmieniającą się w zakresie 0÷1. Blok skalowania z kolei, zamienia zmienną rzeczywistą o zakresie 0÷1 na zmienna określonego typu o 27 określonym zakresie. Przeliczając wartość w bloku NORM_X, a następnie w bloku SCALE_X dostaje się efekt jak transformacji sygnału jak na rysunku 2.46. Rys. 2.46. Efekt normalizacji i skalowania. W obu blokach należy ustalić typ przeliczanych zmiennych int (Rys.2.47). Można to zrobić poprzez kliknięcie na znaki zapytania w bloku i wybranie z rozwiniętej listy odpowiedniego typu (1). Dla funkcji NORM_X będzie to typ zmiennej wejściowej (argumentu), a dla funkcji SCALE_X typ zmiennej wyjściowej (wynikowej). Rys. 2.47. Ustawienie typu zmiennych wyliczanych w blokach NORM_X i SCALE_X. Na koniec pozostało przypisanie zmiennych do bloków oraz podanie przeliczanych zakresów (Rys.2.48). Zmienną wejściową funkcji normalizacji VALUE, będzie zmienna „WEanalogowe” o zakresie MIN÷MAX: 0÷26784 (1). Wynik normalizacji (OUT) zapisywany będzie do zmiennej „zmienna” (2), która zostanie przypisana także do funkcji skalowania (3) jako argument (VALUE). Wynik skalowania (OUT), to zmienna „CV”, której zakres (0-100) ustawiany jest na wejściu bloku skalowania (5). Wartość „CV” jest sygnałem sterującym regulatora. 28 Rys. 2.48. Określenie wejść i wyjść w blokach NORM_X i SCALE_X. Rys. 2.49. Implementacja regulatora PID z wykorzystaniem wejścia analogowego. 29 Bibliografia [1] http://www.siemens.com [2] Siemens S7-1200 Pierwsze kroki 30