LABORATORIUM
AUTOMATYZACJI SYSTEMÓW ENERGETYCZNYCH STATKU
Nr 2: Programowanie sterownika SAIA PCD
Laboratorium automatyzacji systemów energetycznych
2
Nr 2: Programowanie sterownika SAIA PCD -
komunikacja
1. OPIS UKŁADU STEROWANIA Z PROGRAMOWALN Ą PAMIĘCIĄ NA PRZYKŁADZIE STEROWNIKA SAIA PCD.
Każde urządzenie sterujące posiada wejścia i wyjścia oddziaływujące na obiekt sterowania. Sygnały wejściowe i wyjściowe układu sterowania mogą występować w dwóch postaciach: ciągłej (analogowej) i nieciągłej (dyskretnej). Sygnały ciągłe uzyskuje się z typowych przetworników pomiarowych, np. temperatury, gdzie wielkość mierzona zamieniona jest na wartość napięcia lub prądu i przekazana do dalszej obróbki. Sygnały nieciągłe otrzymujemy z przełączników, przekaźników i przetworników parametrów, których wielkość wyjściowa przyjmuje dwie lub kilka wartości. Proces sterowania dotyczy zwykle określonego obiektu sterowniczego, gdzie obiektem może być maszyna, urządzenie lub linia technologiczna, np. silnik główny, zespół prądotwórczy. W procesie sterowania można wyróżnić trzy funkcje: - pomiar sygnałów wejściowych układu sterowania, - przetwarzanie algorytmów sterowania, czyli zbioru reguł sterowania, - reakcja sygnałów wyjściowych - sterujących. Proces sterowania z wykorzystaniem sterownika programowalnego przedstawiono na rys. 2.1.
Czujniki Człony wykonawcze (sygnały wyjściowe procesu) (sygnały wejściowe procesu) -wyłączniki krańcowe Urządzenie -styczniki -czujniki temperatury -elektrozawory -czujniki pr ędkości obrotowej -przepustnice
Proces sterowania
Wejśc
ia
Ste
row
nik
z pr
ogra
mow
alną
pa
mie
cią
W
yjśc
ia
Rozkazy sterujące z -łącznikow -przycisków -fotokomórek -elementu zadającego
Sygnalizacja -lampki -wyświetlacze -buczki
Wejście Przetwarzanie Wyj ścia
Rys. 2.1. Proces sterowania z wykorzystaniem sterownika programowalnego
Przetwarzanie sygnałów decyduje w dużej mierze o jakości sterowania. Algorytm sterowania tworzony jest na podstawie opisu funkcjonowania obiektu lub procesu sterowania najczęściej na podstawie jego modelu matematycznego, przedstawionego w postaci równań matematycznych, grafów stanów, przebiegów czasowych, a nawet za pomocą reguł lingwistycznych itp. Taki zbiór reguł sterowania może być zrealizowany w sposób zautomatyzowany, np. poprzez zastosowanie sterowników programowalnych (rys. 2.1) lub, w przypadku prostych urządzeń, w sposób manualny, bazując na obserwacjach, pomiarach i doświadczeniu operatorów.
Ćwiczenie nr 2: Programowanie sterownika SAIA PCD – komunikacja
3
2. STEROWNIKI PCD
Wszystkie sterowniki PCD wyróżniają się między innymi modułową budową, szerokimi możliwościami komunikacyjnymi, dużymi zasobami pamięci, posiadają 32-bitowe mikroprocesory, w pełni zgodne programowo, co umożliwia swobodne przenoszenie programu pomiędzy sterownikami PCD różnego typu. Różnią się jedynie rozmiarem pamięci wewnętrznej oraz ilością wejść/wyjść.
2.1. Zestawienie parametrów sterowników PCD
Zestawienie parametrów sterowników programowalnych PCD1 i PCD2 zawiera tabela 1. Tabela 1. Parametry sterownika programowalnego PCD1 i PCD2
NAZWA PARAMETRU PCD1 PCD2
Zasilanie 24 VDC 24 VDC
Modułowość we/wy Tak Tak
Ilość we/wy (cyfrowych i/lub analog.)
maks. 32/64 Maks 64/96/128/256
Ilość CPU 1 1
Czas przetwarzania instrukcji logicznej
5µs 3,6 µs
Porty komunikacyjne (szeregowe)
1 do 2 1 do 4
Sieci SAIA ® S-Bus, PROFIBUS MODBUS
SAIA ® S-Bus, PROFIBUS MODBUS
Pamięć użytkownika (program /tekst /dane)
17–140 KB 32–536 KB
Pamięć wewnętrzna - flagi
Czasomierze i liczniki
Rejestry
8192 x 1 bit 1600 x 31 bitów 4096 x 32 bitów
8192 x 1 bit 1600 x 31 bitów 4096 x 32 bitów
Zestaw instrukcji ponad 120 instrukcji
ponad 120 instrukcji
Widok sterownika
2.2. Wewnętrzna struktura PCD2 (Hardware)
Wewnętrzną strukturę sterownika PCD2 przedstawia rys. 2.2.
Laboratorium automatyzacji systemów energetycznych
4
Rys. 2.2. Schemat blokowy wewnętrznej struktury sterownika PCD1. P- programy, TX- teksty, DB- bloki danych, F- flagi, T- timery, C-
liczniki, R- rejestry, U-ulotne, NU- nieulotne
Schemat blokowy przedstawia wewnętrzną strukturę PCD1, gdzie 32-bitowy mikroprocesor µC 68340 ma dostęp do wszystkich zasobów wewnętrznych, takich jak: - programy użytkownika, teksty i bloki danych, - 8192-bitowe wewnętrzne pamięci ( ang. flag), - 1600 x 31-bitowe czasomierze / liczniki, - 4096 x 32-bitowe rejestry, - 2 szeregowe interfejsy komunikacyjne, (PCD2 – 4 złącza), - 2 wejścia przerwań lub 2 szybkie liczniki, - zegar czasu rzeczywistego, - jednostka bazowa zawiera 4 gniazda o 32/64 wejściach/wyjściach w przypadku PCD1, 8 gniazd w
przypadku PCD2. Sterowniki PCD1 i PCD2 pod względem budowy są zbliżone do siebie. Różnice pomiędzy PCD1, a PCD2 wynikają z: - możliwości umieszczenia tylko 4 modułów we/wy w sterowniku PCD1 oraz 8 modułów we/wy w
sterowniku PCD2, - mniejszej pamięci podstawowego zestawu, - oprócz głównego portu komunikacyjnego PGU w sterowniku PCD1 jest tylko jeden dodatkowy interfejs,
zaś w PCD2 są trzy dodatkowe interfejsy. Budowę wewnętrzną i umiejscowienie elementów sterownika PCD1 przedstawia rys. 2.3.
Ćwiczenie nr 2: Programowanie sterownika SAIA PCD – komunikacja
5
Rys. 2.3. Budowa wewnętrzna i umiejscowienie elementów sterownika PCD1
Rys.2. 4. Oznaczenie adresów i zacisków w sterownikach PCD
Sterownik możemy swobodnie konfigurować do konkretnej aplikacji. Wszystkie moduły cyfrowych i analogowych we/wy, razem z modułami specjalizowanymi, mogą być umieszczone na wspólnej szynie nośnej (magistrali komunikacyjnej we/wy) w dowolnym miejscu przestrzeni adresowej. Przestrzeń adresowa w sterownikach PCD jest to sposób uporządkowania przestrzenno-logicznego pamięci. Pola (przestrzenie) do montażu modułów mają przyporządkowane zbiory adresów. Każdy moduł zajmuje 16 adresów w przestrzeni adresowej. Adresy modułów zaczynają się od lewej górnej przestrzeni we/wy o adresie bazowym 0 (zero) i zwiększają swój adres zgodnie z ruchem wskazówek zegara z krokiem co 16 (rys. 2.5.). Nie ma znaczenia czy moduł ma 16, 8 czy tylko 4 we/wy np. jeśli w przestrzeń adresową 32-47 włożymy moduł PCD2.A200 (z 4 wyjściami), sygnały wyjściowe będą miały adres kolejno 32, 33, 34, 35.
Laboratorium automatyzacji systemów energetycznych
6
Rys. 2.5. Lokalizacja adresów wejść/wyjść
W przypadku modułów analogowych i specjalistycznych musimy w programie określić (przy pomocy „Bloku funkcji modułów”) - rodzaj modułu i jego adres bazowy. Blok funkcji modułów w edytorze FUPLA wybieramy w pliku Add Fbox z menu Mode, natomiast w języku Listy Instrukcji korzystamy z symbolu operacji instrukcji specjalnych. Adres bazowy jest to pierwszy adres w przestrzeni adresowej sterownika, np. wykorzystując kartę PCD2.W1 w przestrzeni adresowej 64-79, w projekcie musi być użyty blok funkcyjny PCD2.W1 o adresie bazowym Add 64. W sterownikach PCD można stosować szereg modułów. Typy modułów oraz parametry przedstawia tabela 2. Tabela 2. Zestawienie modułów sterownika PCD
Rodzaj modułu
Nazwa
Podstawowe dane techniczne Ilość we/wy, napięcie we /obciążalność/opóźnienie czasowe
PCD2.E610 8 WE, 15 − 30VDC, 8 ms, separacja galwaniczna Moduły wejść cyfrowych PCD2.E160 16 WE, 15 − 30VDC, 02ms, separacja galwaniczna
Moduły wyjść cyfrowych
PCD2.A250 8 WY, 2A/48VAC, 2A/50VDC, przekaźnikowe
PCD2.W210 8 WE: o...20mA Moduły wejść analogowych
PCD2.W220 8 WE: Pt/Ni 100/1000 (2-przewodowe)
Moduły wyjść analogowych
PCD2.W410 4 WY:0...10V, 0...20mA, 4...20mA
Moduły we/wyj analogowych
PCD2.W500 2WE+2WY: 0...10V, -10...+10V
PCD7.F110 Z interfejsem RS422/485 bez separacji galwanicznej
Moduły Komunikacyjne
PCD7.F120 Z interfejsem RS232
3. PROGRAMOWANIE STEROWNIKA
Programowanie jest to proces obejmujący opracowanie założeń programu, ustalenie jego struktury, zaprojektowanie programu, wprowadzenie do pamięci, testy i poprawki. Program jest to uporządkowany ciąg instrukcji określających operacje wykonywane na wielkościach wejściowych sterownika. Jest on tworzony przez użytkownika w języku programowania właściwym dla danego sterownika. Program wprowadzony do pamięci sterownika (jednostki centralnej) wykonywany jest jako powtarzający się cykliczny proces. Cykl pracy sterownika przedstawia rys. 2.6.
Ćwiczenie nr 2: Programowanie sterownika SAIA PCD – komunikacja
7
P oczą tek cyk lu
K om un ikacja z u rz ądzen iam i zew nę trznym i
T esty i d iagn ostyka
Z ap is w y jść
W czy tan ie sygna łów w ejśc iow ych
W yk onan ie p rogram u
Rys. 2.6. Standardowy cykl pracy sterownika
3.1. Podstawowe rodzaje i typy zmiennych wykorzysty wanych w programie PG4
Rodzaj zmiennej identyfikuje obszary pamięci sterownika, określa pochodzenie, względnie przeznaczenie zmiennej i odpowiednio do tego obszar pamięci, w którym jest przechowywana. Rozróżniamy następujące rodzaje zmiennych wykorzystywanych w programie sterującym: I Zmienne wejściowe (ang. Inputs). Po symbolu zmiennej umieszczony zostaje adres zmiennej - numer przestrzeni adresowej modułu wejściowego, np. I58. O Zmienne wyjściowe (ang. Outputs). Adresowanie zmiennych podobnie jak zmiennych wejściowych, np. O3. F Wewnętrzna zmienna dwustanowa (ang. flag) - może być zadeklarowana przez użytkownika jako ulotna lub nie ulotna, np. F2 R Rejestr (ang. Register). Zmienna 32-bitowa służąca do przechowywania i wykonywania działań arytmetycznych, przesyłania informacji z lub do wejść, wyjść, flag, liczników odmierzających czas i impulsy. Wartości mogą być ujemne i dodatnie, przedstawione w sposób binarny, dziesiętny, szesnastkowy, mogą to być również liczby zmiennoprzecinkowe, np. R100 T Czasomierz (ang. Timer). Zmienna będąca programowalnym rejestrem o objętości 31 bitów bez bitu znaku zlicza impulsy, których okres standardowo jest ustawiony na 0.1s, a zakres wynosi 1ms-10s i przyjmuje wartości tylko dodatnie, np. T15 C Licznik (ang. Counter). Zmienna, będąca programowalnym rejestrem o objętości 31 bitów bez bitu znaku, zlicza liczbę zmian stanu ich wejść, przyjmuje wartości tylko dodatnie, np. C15 K Stałe (ang. Constants) mogą być przedstawione w formacie dziesiętnym, szesnastkowym, binarnym, kodach ASCII, BCD i jako liczby zmiennoprzecinkowe, np. K10, K11Q, KFFH, K ‘A’. X Tekst (ang. TeXt) - jeden znak tekstowy zajmuje 1 bajt. DB Blok danych (ang. Data Blok) Obszar pamięci używany do magazynowania 32- bitowych danych, które można przesyłać do i z rejestrów, liczników i czasomierzy, np DB 123. Programując sterownik można dokonać podziału zasobów dynamicznych w zależności od ilości potrzebnych liczników, flag itd. Dokonujemy tego w Menadżerze projektów w pliku Dynamic Distribution menu Resource. Typ zmiennej informuje nas o maksymalnym zakresie zmiennej. W przypadku języka programowania PG4 typ zmiennej częściowo jest określony w operacji rozkazu, który jest inny dla operacji
Laboratorium automatyzacji systemów energetycznych
8
na bitach i inny dla operacji na rejestrach. Operacje bitowe mogą dotyczyć funkcji na wejściach, wyjściach, wewnętrznych zmiennych dwustanowych czyli flagach, stanach liczników i czasomierzy. Operacje na rejestrach mogą dotyczyć funkcji na blokach danych, stałych, tekstach, wejściach i wyjściach analogowych, licznikach i czasomierzach, mogą również przepisywać sygnały z we / wy modułów cyfrowych do rejestrów. Rejestry zawierają w sobie zmienne binarne, dziesiętne, zapisane w kodzie BCD oraz zmienne zmiennoprzecinkowe. Dane można podzielić na typy obejmujące: słowa podwójne (long word), słowa (word), bajty (byte), bity poczwórne (nibble), bity potrójne (digit), bity (bit). Rejestr jest równy słowu podwójnemu i zawiera 32 bity. Przy adresowaniu bardzo ważna jest kolejność podziału poszczególnych typów danych.
Rys. 2.7. Podział typów danych
4. NARZĘDZIA PROGRAMOWANIA.
Aby uruchomić bibliotekę programów PG4, klika się lewym przyciskiem myszy na ikonę . Przed rozpoczęciem programowania, należy utworzyć lub otworzyć istniejący już projekt w Bibliotece projektów . Wykonanie tej czynności spowoduje uruchomienie Menadżera projektów, przy pomocy którego możemy wybrać jeden z edytorów, w którym chcemy tworzyć projekt, lub też przeglądać i przetwarzać wszystkie pliki składające się na projekt napisany wcześniej. Rozszerzenie nazwy pliku wskazuje na rodzaj edytora, który został użyty do tworzenia pliku. - nazwa pliku. FUP: FUPLA (FUnction PLAn) – Funktion Blok Diagram (FBD), - nazwa pliku. SFC: GRAFTEC – Sequential Flow Chart (SFC), - nazwa pliku. SRC: Lista instrukcji (IL) – (SRC=source). Przy zakładaniu nowego pliku lub przy zmianie właściwości bądź nazwy można wybrać opcje połączenia lub rozłączenia go z innymi plikami tego samego projektu, zaznaczając polecenie Assembled/Linked with project, które znajduje się w menu File.
Rys. 2.8. Okno Menadżera projektów
Ćwiczenie nr 2: Programowanie sterownika SAIA PCD – komunikacja
9
Do zadań Menadżera projektów należy: - kasowanie i importowanie plików (menu File), - podział zasobów pamięci dynamicznej (podmenu Resource), - łączenie wszystkich plików programu i tworzenie jednego pliku zwanego plikiem ładowalnym dla
sterownika PCD.(menu Project), - wybór opcji podłączenia portów i typu sieci, przełączanie programu w tryb on-line, umożliwiający
bezpośredni odczyt wszystkich wartości binarnych, w formacie całkowitym lub zmiennoprzecinkowym (menu Online),
- konfiguracja urządzenia programującego, ustawienie zegara SAII i trybu transmisji szeregowej pomiędzy sterownikiem a programatorem, załączenie debugger’a (menu Tools).
4.1. Edytor FUPLA (FUnction PLAn - plan funkcji)
Edytor FUPLA jest przeznaczony do graficznego programowania przy użyciu symboli planu funkcji (bloków funkcyjnych), który jest graficznym odwzorowaniem zadania logicznego wykorzystującego standaryzowane elementy funkcyjne, jak np. bramki AND i OR, przerzutniki, układy czasowe, wyświetlacze, liczniki, funkcje matematyczne itp. Program może składać się z pojedynczego modułu FUPLA (zajmującego od jednego do dwustu ekranów), lecz może być również połączony z innym, istniejącym wcześniej, programem napisanym przy użyciu listy instrukcji (IL). Po zakończeniu tworzenia programu graficznego, tzn. gdy zadanie zostanie graficznie sformułowane, kompilator FUPLA wygeneruje standardowy plik źródłowy w formacie „.SRC”. Schemat znajdujący się na ekranie jest bezpośrednio przetwarzany na kod źródłowy. Widok edytora rys. 2.9, a widok podstawowych narzędzi edytora rys. 2.10.
Rys. 2.9. Widok strony edytora
Uruchom Kompiluj Edytor
KOPLA
Edycja funkcji
Inwerter
Usuń
Wskaźnik
Edycja linii
Wstaw tranzycję *
Poprzednia strona
Lista stron
Następna strona
Start CPU
Tryb on-line Menadżer projektu Stop CPU
Rys. 2.10. Pasek narzędzi edytora
4.1.1. Zbiory funkcji Edytora FUPLA
Edytor ten posiada bardzo bogaty zbiór bloków funkcyjnych (ponad 170 funkcji). Wszystkie są
dostępne po uaktywnieniu komendy Add Fbox z menu Mode lub klikając na ikonę . Przykładowe rodziny funkcji, z których możemy wybrać poszczególne funkcje, przedstawiono poniżej: • Analog Module - Pobieranie i zwracanie wartości analogowych, • Binary - Funkcje binarne, np. iloczyn i suma logiczna itd., • Blinker – Generatory, np. generator przebiegów prostokątnych, • Communication - Komunikacja szeregowa (tryb „D”), • Converter - Konwerter binarny- całkowitoliczbowy-zmiennoprzecinkowy np. konwerter liczb całkowitych na BCD itd., • Counter – Liczniki, np. liczniki liczące w przód i tył, z ustawianym wejściem itd., • Data Blocks - Bloki danych, • Data Buffer - Bufor danych, • Display – Wyświetlacze, • Flip-Flop – Przerzutniki, np. przerzutnik: T, D, wyzwalany zboczem itd.,
Laboratorium automatyzacji systemów energetycznych
10
• Floating Point - Arytmetyka zmiennoprzecinkowa, • Graftec - Funkcje modułu GRAFTEC, • HVC... - Funkcje HEVAC, zbiory funkcji specjalistycznych, • Indirect - Adresowanie pośrednie, np. kopiowanie rejestrów, • Integer - Arytmetyka liczb całkowitych, • Modem - funkcje związane z komunikacją przez modem, • Move-In/-Out - Przenoszenie danych, np. pobranie słowa, • Regulation – Regulacja, np. sterowanie PID, • Special - Funkcje specjalne, • Time Related - Funkcje czasowe, np. opóźnienia włączania, wyłączania, zegar itd., • User Definable - Funkcje definiowane przez użytkownika.
Rys. 2.11. Wybór funkcji i jej elementu
Zasadę działania poszczególnych funkcji możemy poznać po wybraniu konkretnego elementu i kliknięciu na
ikonę lub korzystając z komendy Help ? znajdującej się w głównym menu edytora. 4.1.2. Zasady edycji 1. Poniżej paska menu znajduje się właściwe okno modułu FUPLA. Okno zawiera siatkę o rozmiarach
55x55. Z lewej strony znajduje się 27 pól symbolizujących wejścia, i 27 pól z prawej strony okna, przedstawiających wyjścia. Pola te nazywamy polami adresowymi. Wejściowe pola adresowe mogą być użyte jako wejścia sterownika PCD lub jako zmienne wewnętrzne - flagi, rejestry, wyjścia, liczniki, czasomierze oraz stałe w formie liczb całkowitych lub zmiennoprzecinkowych. Wyjściowe pola adresowe podobnie mogą być wyjściami sterownika PCD lub zmiennymi wewnętrznymi - flagi, rejestry.
2. Adresowanie. Klikając na pole adresowe przywołujemy edycje zasobów, gdzie określamy rodzaj zmiennej i jej adres, nazwę symboliczną, a także zakres dostępu:
• Lokal - zmienna wykorzystywana w pojedynczym pliku. • Public- zmienna dodatkowo udostępniana „na zewnątrz” dla innych plików. • Exsternal – zmienna pobierana „z zewnątrz” z innego pliku.
3. Wyboru funkcji dokonujemy klikając na ikonę lub uaktywniając komendę Add Fbox z menu Mode. Wybrany blok funkcyjny umieszczamy w wybranym miejscu na siatce edytora dwukrotnie klikając na niego.
4. Wejścia lub wyjścia bloków funkcyjnych, które nie są połączone z wejściami lub wyjściami innych bloków funkcyjnych, lub też z elementami edytora KOPLA, dołączamy do pól adresowych i tam je definiujemy.
5. Bloki funkcyjne łączymy między sobą i polami adresowymi używając linii łączących, uaktywniając
edycje linii przy pomocy komendy Lines z menu Mode lub też przez kliknięcie na ikonę . Kolory linii zależą od typu przesyłanych danych:
• czerwony: połączenia 1-bitowe,
Ćwiczenie nr 2: Programowanie sterownika SAIA PCD – komunikacja
11
• niebieski: wartości całkowite, • żółty: wartości zmiennoprzecinkowe. W trybie on-line bezpośrednio jest wyświetlany status wszystkich linii połączeń binarnych: • linia cienka: stan niski (L), • linia gruba: stan wysoki (H). 6. Usuwamy element edytora klikając na dany element prawym przyciskiem myszki i wybierając funkcje
kasowania. 7. Istnieje możliwość wstawienia „sondy”- wskaźnika aktualnej wartości na wejściu lub wyjściu elementu
lub bloku funkcyjnego w dowolnym miejscu projektu. Sondy wyświetlają wartość w formacie liczby całkowitej, zmiennoprzecinkowej lub w postaci jedynek i zer dla stanów binarnych. (Zobacz rozdz. 2.3.14 Uruchomienie bieżącego odczytu)
8. Jeśli projekt nie mieści się w oknie możemy dodać kolejną stronę używając komendy Insert after z menu Page.
4.1.3. Tworzenie programu w edytorze FUPLA
Edytor FUPLA uruchamiamy w Menadżerze projektów poprzez dwukrotne kliknięcie nowego lub istniejącego projektu z rozszerzeniem „FDB” lub przez kliknięcie przycisku na pasku narzędzi otwierającego bieżący projekt. Nowy projekt tworzymy za pomocą komendy New z menu File i deklaracji rozszerzenia pliku, która decyduje o wyborze edytora. Poniższa tabela przedstawia etapy tworzenia projektu. Tabela 3. Etapy tworzenia projektu
Lp Czynność Udostępnienie komendy Ikona 1. Nadanie nazw i opis poszczególnych stron projektu Page / Info 2. Wybór bloków funkcyjnych Mode / Add Fbox
3. Definiowanie zmiennych i nadanie nazw symbolicznych Resource / About
4. Połączenie ich zgodnie z założeniami projektu Mode / Lines
5. Zapisanie pliku 1) File / Save
6. Kompilacja na program źródłowy Projeckt / Compile
7. Przetwarzanie programu i załadowanie na sterownik Projeckt / Build
8. Uruchomienie sterownika Online / Run
9. Uruchomienie bieżącego odczytu wartości zmiennych2) Online / Go_online
1) Zapisywanie zawartości edytora odbywa się automatycznie, jeżeli w Menadżerze projektów w pliku Projeckt / Build Options wyłączona zostanie opcja Ask Before Saving. 2) Uruchomienie bieżącego odczytu wartości zmiennych odbywa się równocześnie z uruchomieniem sterownika, jeżeli w Menadżerze projektów w pliku Online/Dowload options włączona zostanie opcja Go online.
4.2. Edytor KOPLA (COntact PLAn −−−− schemat drabinkowy)
Edytor KOPLA jest częścią edytora FUPLA i jest z niego wywoływany. Używany jest głównie do pisania prostych programów obsługujących funkcje wejścia, wyjścia, zliczania oraz funkcji czasowych. Poszczególne funkcje edytora KOPLA są zgodne ze standardem światowym (norma IEC 1131-3). Aby
wybrać edytor KOPLA, musimy w edytorze FUPLA kliknąć na ikonę tego edytora, bądź w menu wybrać komendę add Lader Diagram w pliku Mode. Wybranie tego polecenia spowoduje wyświetlenie elementów edytora KOPLA. Ikony elementów edytora KOPLA przedstawia rys. 2.12.
Laboratorium automatyzacji systemów energetycznych
12
Styk normalnie otwarty
Cewka
Cewka reagująca na zbocze malejące
Cewka z pamięcią −−−−kasowanie
Styk normalnie zamknięty
Detekcja narastającego zbocza
Cewka negująca
Cewka reagująca na zbocze narastające
Cewka z pamięcią −−−−zapis
Detekcja opadającego zbocza
Rys. 2.12. Ikony elementów edytora KOPLA
4.2.1. Zasady edycji 1. Podczas przygotowywania schematu drabinkowego należy zwrócić uwagę, aby wszystkie elementy
wejściowe (styki) zostały połączone z polami adresowymi sygnałów wejściowych, które traktujemy w tym wypadku jak końcówki szyny wejściowej, np. potencjałem wysokim. Elementy wyjściowe (cewki) nie muszą być dołączone do pól adresowych sygnałów wyjściowych (szyny wyjściowej). Styki obsługują następujące typy zmiennych: wejścia, zmienne wewnętrzne-flagi, czasomierze, liczniki, wyjścia. Cewki: wyjścia, zmienne wewnętrzne-flagi.
2. Wyboru elementu dokonujemy klikając na którąś z ikon edytora. Wybrany element umieszczamy na siatce edytora. Po umiejscowieniu elementu możemy nim swobodnie poruszać w poziomie. Nad elementem znajdują się znaki zapytania, klikając na nie uaktywniamy pole adresowe
3. Adresowanie - Klikając na pole adresowe przywołujemy edycje zasobów, gdzie określamy typ zmiennej i jej adres - nazwę symboliczną, a także zakres dostępu. Możemy również tego dokonać używając komendy About z pliku menu Resource.
4. Elementy schematu drabinkowego mogą występować wspólnie z elementami logicznymi diagramu FUPLA. Samodzielne bloki muszą się składać tylko z elementów tego samego typu nie wolno np. łączyć bloków funkcji logicznych (AND, OR) z elementami edytora KOPLA.
5. Podczas pracy w trybie on-line elementy aktywne są podświetlone, podobnie połączenia na schemacie drabinkowym (czerwone) są wyświetlane jako linie cienkie lub pogrubione, w zależności od stanu sygnału.
4.2.2. Etapy tworzenia programu w edytorze KOPLA
Ponieważ edytor KOPLA jest częścią edytora FUPLA, etapy tworzenia programu są niemal identyczne, należałoby jedynie dodać do tabeli 3 etap 2. Tabela 4. Etapy tworzenia projektu w edytorze KOPLA
Lp Czynność Udostępnienie komendy Ikona
1. wywołania edytora KOPLA z wyborem jego elementów
Mode/Add LaderDiagam
5. KOMUNIKACJA STEROWNIKA Z SIECI Ą MODBUS
Do komunikacji sterownika z programem wizualizacji InTouch zastosowano protokół MODBUS, który został opracowany w firmie Modicon i stał się wkrótce standardem przyjętym przez większość znanych producentów sterowników przemysłowych dla asynchronicznej, znakowej wymiany informacji pomiędzy urządzeniami systemów pomiarowo-kontrolnych. O jego popularności i rozpowszechnieniu zadecydowały takie cechy, jak:
Ćwiczenie nr 2: Programowanie sterownika SAIA PCD – komunikacja
13
• prosta reguła dostępu do łącza oparta na zasadzie "master-slave" z zabezpieczeniem przesyłanych komunikatów przed błędami, • potwierdzanie wykonania rozkazów zdalnych i sygnalizacja błędów ze skutecznym mechanizmem zabezpieczającym przed zawieszeniem systemu, • wykorzystanie asynchronicznej transmisji znakowej zgodnej z RS-232C. Konfiguracja sterownika Do konfiguracji sterownika służy konfigurator pakietu PG4. Umożliwia on przeglądanie i zmiany konfiguracji dołączonego sterownika. Pracuje w trybie on-line, co oznacza, że wszystkie dane są odczytywane bezpośrednio ze sterownika i są także bezpośrednio do niego zapisywane. W komputerze nie ma pliku, w którym byłyby zapisywane lub z którego byłyby odzyskiwane dane konfiguratora. Są przechowywane jedynie parametry połączenia oraz polecenia modemu (w plikach SPG4.INI i SPG4MODM.INI). Kliknięcie przycisku Call PCD Online Configurator na pasku narzędzi Menedżera Projektów lub polecenie PCD Online Configurator w menu Tools powoduje wyświetlenie przedstawionego poniżej okna głównego .
Rys. 2.13. Okno główne konfiguratora sterownika SAIA PCD1
Objaśnimy poszczególne pola okna konfiguratora: • PCD type – oznaczenie jednostki centralnej (typ sterownika) – wybieramy: PCD2.M1 lub PCD1, • Version – bieżąca wersja oprogramowania firmowego w dołączonym sterowniku PCD – wybieramy: 073, • Program Name – nazwa programu użytkownika znajdującego się aktualnie w pamięci programu sterownika – wpisujemy: „Generator”, • Date – bieżąca data podawana przez zegar sprzętowy sterownika PCD (jeżeli jest zainstalowany). Jeżeli nie ma takiego zegara, wyświetlona zostanie data 1/1/90, • Day – bieżący dzień tygodnia: 1=Poniedziałek, ...7=Niedziela, • Time – bieżąca godzina podawana przez zegar sprzętowy. Jeżeli nie ma zegara, wyświetlony zostanie czas 0:00:00, • Week – bieżący numer tygodnia bieżącego roku, • Status – status jednostki centralnej: RUN, STOP, HALT lub Conditional RUN • CPU: dla PCD1 zawsze 0, dla PCD2 zawsze 0, dla PCD4 0 lub1, dla PCD6 0...6 – wybieramy: 0, • Baud – szybkość transmisji: dla PGU zawsze 9600 bodów, • Station – numer stacji: dla PGU nieistotny – wybieramy: None, • Protocol: PGU, S-BUS, S-BUS Modem lub Auto-answer – wybieramy: PGU (P800).
5.1. Konfiguracja sterownika z sieci ą MODBUS
Sprawność i niezawodność komunikacji sterownika programowalnego z obiektem jest kluczowym problemem właściwego wykorzystania pełnych możliwości systemu sterowania, nadzoru i wizualizacji. Dla zagwarantowania niezawodnej komunikacji należy w odpowiedni sposób skonfigurować sterownik, jak i sieć MODBUS.
Laboratorium automatyzacji systemów energetycznych
14
Konfiguracja sterownika Do komunikacji sterownika z siecią MOD-BUS potrzebne są dwa bloki zawarte w programie sterownika: Pierwszy blok: Heavac 4
Rys. 2.14. Ustawienia bloku Heavac 4
Ćwiczenie nr 2: Programowanie sterownika SAIA PCD – komunikacja
15
Drugi blok: MBUS-slave
Rys. 2.15. Ustawienia bloku MBUS-slave
5.2. Konfiguracja sieci MODBUS
Na ustawienia sieci MODBUS składają się: • Communication Port Settings - ustawienia portu komunikacyjnego, • Topic Definition – zdefiniowanie tematu. Temat został zdefiniowany zarówno w InTouch’u (w polu nazwy dostępu – I/O Acces Name), jak i w programie Modbus pod wspólną nazwą PLC. Wspólna nazwa ilustruje sposób wzajemnego połączenia tych dwóch programów. Nazwę można wybrać dowolnie. W pracy temat został nazwany PLC dlatego, że program komunikacyjny będzie wymieniał dane ze sterownikiem programowalnym PLC, • Modbus Topic Definition – zdefiniowanie tematu programu Modbus.
Laboratorium automatyzacji systemów energetycznych
16
Rys. 2.16. Ustawienia portu komunikacyjnego Communication Port Settings
UWAGA!
W tym oknie nale ży wybra ć port COM odpowiedni dla danego stanowiska!
Numer stanowiska znajduje się na górnej krawędzi
monitora.
Rys. 2.17. Zdefiniowanie tematu i ustawienia programu Modbus Topic Definition
Rys. 2.18. Zdefiniowanie tematu Topic Definition
Numer stanowiska Port COM 134 COM5
135 COM4
136 COM1
137 COM3
138 COM3
139 COM1
Ćwiczenie nr 2: Programowanie sterownika SAIA PCD – komunikacja
17
5.3. Stanowisko laboratoryjne
Stanowisko laboratoryjne zbudowane jest z następujących elementów (rys. 2.19): - komputera PC, - sterownika SAIA PCD1 lub PCD2, - pulpitu sterowniczego z przyciskami , lampkami sygnalizacyjnymi, potencjometrami i miernikami.
Rys. 2.19. Pulpit sterowniczy
Na pulpicie sterowniczym odpowiednio: I0 ÷ I7 - sygnały wejściowe pierwszego modułu sterownika I16 ÷ I23 - sygnały wejściowe drugiego modułu sterownika O48 ÷ O55 - sygnały wyjściowe trzeciego modułu sterownika Add32 - adres bazowy czwartego modułu we/wy analogowych
Laboratorium automatyzacji systemów energetycznych
18
6. PRZYKŁADY PROGRAMOWANIA STEROWNIKA SAIA W EDYTOR ZE FUPLA
6.1. Układ opó źniaj ący zał ączenie zasilania i sygnalizuj ący zał ączanie
Program realizuje sterowanie zasilaniem urządzenia z jednoczesną sygnalizacją rozruchu urządzenia i zabezpieczeniem jego pracy w stanach awaryjnych. Zabezpieczeniem pracującego urządzenia jest przekaźnik termiczny, którego styk „TERM" pobudzany jest bez ingerencji obsługi w chwili przeciążenia termicznego urządzenia. Dodatkowo układ posiada przycisk awaryjnego wyłączenia „AWARIA", pozwalający zatrzymać urządzenie w dowolnej chwili czasowej. Sterowanie zasilaniem urządzenia odbywa się na zasadzie dostarczenia energii lub przerwania jej dopływu. Urządzenie przechodzi w stan pracy po zwłoce czasowej 3 sek. (30*0.1s=3s) przeznaczonej na sygnalizację rozruchu urządzenia. Proces ten rozpoczyna się w chwili pobudzenia przycisku „START", natomiast przejście urządzenia w stan spoczynku odbywa się bezzwłocznie w chwili pobudzenia przycisku „STOP". Na rys. 2.20 przedstawiono schemat blokowy, natomiast na rys. 2.21 znajdują się przebiegi czasowe.
START 30 STOP STOP_AWARIA STOP_TERM
SYGNALIZACJA
OBIEKT
Rys. 2.20. Schemat blokowy układu
START
STOP
STOP
AWARIA
STOP TERM
SYGNALIZAC
Rys.2. 21. Przebiegi czasowe
6.2. Układ zabezpieczaj ący przed wył ączeniem zasilania dwóch urz ądzeń jednocze śnie
Program realizuje sterowanie zasilaniem dwóch urządzeń z jednoczesnym zabezpieczeniem przed ewentualną możliwością załączenia obu urządzeń w tym samym czasie. Zabezpieczenie realizowane jest przez odpowiedni program sterownika. Polega ono na uniemożliwieniu załączenia drugiego urządzenia, gdy pracuje już jedno z nich. Sterowanie zasilaniem urządzeń odbywa się na zasadzie dostarczenia energii lub przerwania jej dopływu. Każde z urządzeń przechodzi w stan pracy w chwili pobudzenia odpowiedniego przycisku „START", natomiast przejście urządzeń w stan spoczynku odbywa się w chwili pobudzenia tego samego przycisku „STOP". Oba urządzenia posiadają identyczny system sterowania, ale aby załączyć drugie urządzenie przy pracującym urządzeniu należy zatrzymać już pracujące. Na rys. 2.22 przedstawiono schemat blokowy, natomiast na rys. 2.23 znajdują się przebiegi czasowe.
Ćwiczenie nr 2: Programowanie sterownika SAIA PCD – komunikacja
19
OBIEKT A OBIEKTB
STARTA
STOP
STARTB
Rys. 2.22. Schemat blokowy układu
START A
START B
STOP
OBIEKT A
OBIEKT B Rys. 2.23. Przebiegi czasowe
6.3. Zabezpieczenie przed jednoczesn ą prac ą obu urz ądzeń poprzez automatyczne wył ączenie jednego w chwili uruchomienia drugiego
Program realizuje sterowanie zasilaniem dwóch urządzeń z jednoczesnym zabezpieczeniem przed ewentualną możliwością załączenia obu urządzeń w tym samym czasie. Zabezpieczenie realizowane jest przez odpowiedni program sterownika. W momencie, gdy pracuje jedno urządzenie, drugie jest zabezpieczone przed choćby przypadkowym załączeniem. Możemy drugie urządzenie uruchomić dopiero w chwili wyłączenia pierwszego urządzenia. Sterowanie zasilaniem urządzeń odbywa się na zasadzie dostarczenia energii lub przerwania jej dopływu. Każde z urządzeń przechodzi w stan pracy w chwili pobudzenia odpowiedniego przycisku „START A” lub „START B", natomiast przejście urządzeń w stan spoczynku odbywa się w chwili pobudzenia tego samego przycisku „STOP". Oba urządzenia posiadają identyczny system sterowania. Na rys. 2.24 przedstawiono schemat blokowy, natomiast na rys. 2.25 znajdują się przebiegi czasowe.
Rys. 2.24. Schemat blokowy układu
OBIEKT A
OBIEKT B
START A
STOP
START B
Laboratorium automatyzacji systemów energetycznych
20
Rys. 2.25. Przebiegi czasowe
6.4. Sterowanie silnikiem z mo żliwo ścią zmiany kierunku obrotów
Program realizuje sterowanie silnika z możliwością zmiany kierunku obrotów, z jednoczesnym zabezpieczeniem jego pracy w stanach awaryjnych. Zabezpieczeniem pracującego urządzenia jest przekaźnik termiczny, którego styk „STOP_TERM" pobudzany jest bez ingerencji obsługi w chwili przeciążenia termicznego urządzenia. Dodatkowo układ posiada przycisk awaryjnego wyłączenia „ STOP_AWARIA", pozwalający zatrzymać urządzenie w dowolnej chwili czasowej. Sterowanie zasilaniem silnika odbywa się na zasadzie dostarczenia energii lub przerwania jej dopływu z jednoczesnym wyborem kierunku obrotów silnika. Urządzenie przechodzi w stan pracy w chwili pobudzenia przycisku „START", natomiast przejście urządzenia w stan spoczynku odbywa się w chwili pobudzenia przycisku „STOP”. Silnik zaczyna obracać się w wybranym kierunku dopiero po wybraniu tego kierunku. Przycisk „START" spełnia rolę włącznika głównego, natomiast rolę sterowania przejmują przyciski kierunkowe, które wykonane są w formie łączników przyciskowych. Naciśnięcie przeciwnego kierunku obrotów przy obracaniu się silnika spowoduje odłączenie pracującego kierunku obrotów i po przerwie czasowej 4sek. (40*0.1s=4s) rozruch w przeciwnym kierunku. Istniejąca przerwa czasowa przy zmianie kierunków spełnia rolę zabezpieczenia silnika przed siłami powstałymi przy gwałtownej zmianie kierunku obrotów. Na rys. 2.26 przedstawiono schemat blokowy, natomiast na rys. 2.27 znajdują się przebiegi czasowe.
Rys. 2.26. Schemat blokowy układu
Rys. 2.27. Przebiegi czasowe
START A
START B
STOP
OBIEKT A
OBIEKT B
START
STOP
STOP
AWARIA
LEWO
PRAWO
OBIEKT
OBR_LEWO
OBIEKT
LEWO
40
START STOP STOP AWARIA STOP TERM
40 PRAWO
Ćwiczenie nr 2: Programowanie sterownika SAIA PCD – komunikacja
21
6.5. Układ kontroluj ący równoczesne zamykania dwóch styków
Program realizuje sterowanie zasilaniem urządzenia, które do swojego uruchomienia wymaga jednoczesnego pobudzenia dwóch styków. Sterowanie zasilaniem urządzenia odbywa się na zasadzie dostarczenia energii lub przerwania jej dopływu. Urządzenie przechodzi w stan pracy, gdy różnica czasów między pobudzeniem obu styków nie przekroczy nastawionej wartości. Przejście urządzenia w stan spoczynku odbywa się bezzwłocznie w chwili otwarcia przynajmniej jednego ze styków. Ponowne pobudzenie przycisku nie załączy nam urządzenia. Proces załączenia można zainicjować jedynie przez rozwarcie drugiego styku i ponowne jednoczesne pobudzenie. Na rys. 2.28 przedstawiono schemat blokowy, natomiast na rys. 2.29. znajdują się przebiegi czasowe.
OBIEKT
SYGNAŁ1
SYGNAŁ2
CZASOMIERZ
Rys. 2.28. Schemat blokowy układu
Rys. 2.29. Przebiegi czasowe
6.6. Sterowanie rozruchem silnika za pomoc ą przeł ącznika gwiazda - trójk ąt
Program realizuje sterowanie zasilaniem urządzenia z jednoczesnym zabezpieczeniem jego pracy w stanach awaryjnych. Zabezpieczeniem pracującego urządzenia jest przekaźnik termiczny, którego styk „STOP_TERM" pobudzany jest bez ingerencji obsługi w chwili przeciążenia termicznego urządzenia. Dodatkowo układ posiada przycisk awaryjnego wyłączenia „STOP_AWARIA", pozwalający zatrzymać urządzenie w dowolnej chwili czasowej. Sterowanie zasilaniem urządzenia odbywa się na zasadzie dostarczenia energii lub przerwania jej dopływu. Urządzenie przechodzi w stan pracy w chwili pobudzenia przycisku „START", natomiast przejście urządzenia w stan spoczynku odbywa się w chwili pobudzenia przycisku „STOP". Przejście silnika w stan właściwej pracy poprzedzony jest sekwencją rozruchową, wykonaną przez odpowiednie połączenie uzwojeń silnika. Program realizuje pracę przełącznika gwiazda - trójkąt. Silnik zaczyna rozpędzać się na połączeniu w gwiazdę (pobudzona cewka „GWIAZDA"), a po czasie nastawionym 5 sek. (50�0.1[s]=5[s]) przełącza się na połączenie w trójkąt (pobudzona cewka „TRÓJKĄT"). W układzie cewka „OBIEKT" spełnia rolę wyłącznika głównego. Na rys. 2.30 przedstawiono schemat energetyczny, natomiast na rys. 2.31 przedstawiono schemat blokowy, a na rys. 2.32 znajdują się przebiegi czasowe.
SYGNAŁ1
SYGNAŁ2
OBIEKT
T T T
Laboratorium automatyzacji systemów energetycznych
22
Rys. 2.30. Schemat połączenia silnika w układzie gwiazda/trójkąt
Rys. 2.31. Schemat blokowy układu
TV TV TV
START
STOP
STOP AWARIA
STOP TERM
OBIEKT
GWIAZDA
Rys 2.32. Przebiegi czasowe
STOP AWARIA STOP TERM STOP START
OBIEKT
TRÓJKĄT
GWIAZDA 50
Ćwiczenie nr 2: Programowanie sterownika SAIA PCD – komunikacja
23
7. OPIS WEJŚĆ / WYJŚĆ NA PULPITACH STEROWNICZYCH
I 0 I 1 I 2 I 3 I 5 I 6 I 7I 4
O 48 O 49 O 50 O 51 I 16 / I 17 I 18 / I 19 I 20 / I 21 I 22 / I 23
O 52 O 53 O 54 O 55
I 0 I 1 I 2 I 3 I 5 I 6 I 7I 4
O 112 O 113 O 114 O 115 I 11 / I 10 I 9 / I 8 I 14 / I 13 I 12 / I 15
O 116 O 117 O 118 O 119
136-23
I 0 I 1 I 2 I 3 I 5 I 6 I 7I 4
O 48 O 49 O 50 O 51
O 52 O 53 O 54 O 55
137-24
I 8 / I 9 I 10 / I 11 I 12 I 13
Laboratorium automatyzacji systemów energetycznych
24
I 0 I 1 I 2 I 3 I 5 I 6 I 7I 4
O 52 O 53 O 54 O 55 I 16 / I 17 I 18 / I 19 I 20 / I 21 I 22 / I 23
O 48 O 49 O 50 O 51
I 0 I 1 I 2 I 3 I 5 I 6 I 7I 4
O 36 O 37 O 38 O 39
Instrukcja laboratoryjna i inne informacje na temat zajęć dostępne na stronie przedmiotu:
http://atol.am.gdynia.pl/ase/
Top Related