5226


0x08 graphic

Akademia Górniczo-Hutnicza

w Krakowie

Kierunek:

AiR

Specjalność:

KSS

Rok akademicki:

2008/2009

Algorytmy i Struktury Komputerowych Systemów Sterowania

Data wykonania:

7.01.2009 r.

Rok studiów:

5

Temat:

Serwery danych procesowych TCP/IP

Data Access Server(DAServer Wonderware)

Ocena:

Wykonał: Sawa Paweł

Swatek Maciej

Skórski Marek

  1. Wstęp

Celem projektu jest utworzenie połączenia pomiędzy sterownikiem PLC RX3i a środowiskiem SCADA. Wymianę danych uzyskujemy za pomocą protokołu TCP/IP na sieci Ethernet. W sterowniku zaimplementowaliśmy prostą emulację trzech zbiorników z pompą. Zawory i pompa jest sterowana za pomocą przełączników w module sterownika PLC. Z poziomu środowiska SCADA możliwe jest włączenie automatycznego sterowania zaworami i pompą.

0x08 graphic
Rys. 1 Widok okna podglądu procesu w systemie SCADA - InTouch 10.0

  1. DASever

0x08 graphic

Wondareware Software Solution pomaga w pełnym integracji zarządzania i sterowaniem linią produkcyjną. Dzięki budowie modułowej w prosty sposób integruje się cały system. Aplikacje InTouch dzięki DAServer mogą się komunikować z dowolnym sterownikiem.

DAServer - jest to serwer zawierający sterownik umożliwiający połączenie się systemy ArchestrA z różnymi rodzajami sterowników.

Użytkownik nie musi się zajmować problemami związanymi z komunikacją z urządzeniem docelowym gdyż zajmuje się tym DAServer. Konfiguracja jest znacznie uproszczona dzięki zastosowaniu narzędzia SMC (System Management Console). Aplikacje InTouch mogą komunikowac się z serwerem za pomocą systemu OPC lub SuitLink. Dostęp do danych z sterowników, w większości przypadków polega na użyciu nazwy referencyjnej używanej w danym typie sterownika. Tak jest w przypadku sterowników rodziny GE Fanuc.

Dla rodziny urządzeń GE Fanuc używamy serwera GESRTP DAServer. Używa on protokołu SRTP do komunikacji z urządzeniami. Protokół ten gwarantuje spełnienie zależności czasowych oraz dotarcie wszystkich pakietów (potwierdzanie dotarcia pakietu).

Nomenklatura odnośników do danych jest przedstawiona na liście poniżej. Jest ona identyczna z nazwami używanym podczas programowania sterownika. W przypadku sterowników Simens, nazwy się trochę różnią od tego używanego w samym sterowniku.

Nazwy używane podczas komunikacji z sterownikami GE Fanuc za pomocą GE SRT DAServer:

SMC umożliwia również konfiguracje połączeń z serwerami danych, systemami obsługi alarmów i dodawanie obiektów InBatch w celu zgodności komunikacji.

  1. Sterownik PLC

Nie zostanie tutaj przedstawiony schemat logiki PLC gdyż nie na tym skupia się projekt. Wystarczy wspomnieć, że napełnianie zbiorników jest realizowane za pomocą najprostszej inkrementacji rejestru zawierającego poziom danego zbiornika.

Powinniśmy się skupić głównie na tym jak skonfigurować sterownik PLC, aby mógł on współpracować z środowiskiem SCADA za pomocą TCP/IP. Pierwszym i jedynym warunkiem jest aby sterownik posiadał moduł ethernet i był on skonfigurowany. Na rysunku 2 przedstawiono widok konfiguracji takowego modułu. Naszym zadaniem jest uzupełnienie danych dotyczących adresu ip, bramy i maski sieci. Adres IP sterownika będzie nam potrzebny do skonfigurowania serwera w celu ustalenia z jakim urządzeniem ma się komunikować.

W przypadku sterownika PLC firmy GE FANUC konfiguracja komunikacji kończy się na tym etapie. Należy również sporządzić sobie tabele danych z zmiennymi (rejestry, porty wejścia, wyjścia), które chcemy odczytywać lub zapisywać. Komunikacja będzie polegać na podanie programowi z poziomu SCADA nazw zmiennych czyli np. R1, M7, I81, AI2 itp.

0x08 graphic
Rys. 3 Okno konfiguracji modułu IC695ETM001 (port Ethernet)

  1. Środowisko SCADA

Wondarewere InTouch komunikuje się z sterownikami za pomocą serewrów I/O pod ogólną nazwą DAServer, które są zbudowane na technologii ArchestrA. Dodatkowo dostarczony jest narzędzie do zarządzania serwerami ArchestrA Management Console. DAServery pozwalają komunikować się z urządzeniami za pomocą różnych protokołów Ethernet TCP/IP, ProfiBus, DeviceNet, ModBus Plus, CanOpen Serial i inne. Dla danego sterownika przemysłowego trzeba zainstalować odpowiedni serwer. Obecnie Wonderware wspiera sterowniki firm Allen-Bradley, Siemens, Schneider, Mitsubishi, GE Fanuc, Omron i innych.

W naszym przypadku musimy użyć dodatku Wonderware GESRTP DAServer 1.5, gdyż służy on do komunikacji z urządzeniami firmy GE FANUC. W celu konfiguracji połączenia należy otworzyć program ArchestrA Management Console.

  1. Konfiguracja.

Odnajdujemy serwer odpowiedzialny za nasze połączenie Archestra.DASGESRTP i dodajemy nowy port (Add GESRTP_PORT object - rysunek 4). Po zaznaczeniu pola Configuration można edytować główne parametry serwera a w szczególności czas odświeżania danych (Device Group Update Interval), który jest wyrażony w milisekundach.

0x08 graphic

Rys. 4 Dodawanie nowego portu do serwera.

0x08 graphic
Rys. 5 Dodanie nowego sterownika PLC do serwera.

Po dodaniu portu należy dodać również obiekt do komunikacji (rysunek 5). W nowym oknie należy skonfigurować sterownik. W tym celu na liście trzeba mieć zaznaczony najniższy obiekt z drzewa ArchestrA.DASGESRTP.1 pod nazwą domyślną New_GEFANUC_PLC_000. Na rysunku 6 widzimy okno konfiguracji. W pozycji 1 należy wybrać rodzaj sterownika w naszym przypadku PACSystems RX3i. W pozycji 2 wpisujemy adres IP sterownika, ten jaki wpisaliśmy mu w konfiguracji modułu ethernet.

0x08 graphic
Rys. 6 Konfiguracja połączenia z sterownikiem PLC

Pozostało nam teraz jedynie dodanie w zakładce Device Items (rysunek 7) kanału komunikacji, którego nazwa posłuży nam w dalszej części do komunikacji z sterownikiem.

0x08 graphic
Rys. 7 Konfiguracja kanału komunikacji z sterownikiem.

W celu stworzenia innych konfiguracji dla danego serwera należy zarchiwizować obecną konfiguracje poprzez zaznaczenie pola Configuration i w popupmenu kliknięcie w Archive configuration Set i nadajemy nazwę naszej konfiguracji. W celu odzyskania starych ustawień wybieramy Use Another Configuration Set-> nazwa naszej konfiguracji.

Zosało nam jedynie uruchomienie serwera. Klikamy prawym klawiszem i Connect. Zielony ptaszek przy ikonce serwera oznacza prawidłowe połączenie. Podczas działania ArchestrA Management Console (AMC) nie można uzyskać pełnych prędkości działania serwerów gdyż jest to program konfiguracyjny a nie właściwy serwer. Po wyłączeniu AMC serwer może uzyskać pełną prędkość komunikacji jaką ustawiliśmy w konfiguracji.

  1. Konfiguracja projektu w Window Maker

Konfiguracja połączenia w Window Maker polega na tym samym co utworzenie komunikacji z dowolnym programem. Wybieramy Special-> Acces Names... i dodajemy nowe połączenie (rysunek 8).

0x08 graphic
Rys. 8 Dodawanie połączenia danych z inną aplikacją

W Nowym oknie ustawiamy nazwę aplikacji, w tym przypadku dasgesrtp (nazwa serwera) oraz nazwę kanału, którą my skonfigurowaliśmy w serwerze na channel1 (Rysunek 9).

0x08 graphic
Rys. 9 Konfiguracja wymiany danych z aplikacją.

Sama komunikacja odbywa się już w bardzo prosty sposób. Dodajemy nową zmienną w Tagname Dictionary i nadajemy jeden z typów z przedrostkiem I/O, który oznacza komunikacje z portami. Typ zmiennej zależy jaką zmienną chcemy odczytać dyskretną, typu word czy inną. Możemy dodatkowo zezwolić na zapis i odczyt lub tylko na sam odczyt zmiennej. Następnie należy ustawić nazwę dostępu Access Name. W naszym przypadku łącze z aplikacją nazwaliśmy do_serwera. W polu Item należy podać nazwę zmiennej z którą chcemy się połączyć (rysunek 10). Nomenklatura nazwy obowiązuje taka jak w sterownikach PLC np. %M1, %R2, %I81 itp.

0x08 graphic
Rys. 10 Konfiguracja zmiennej.

W ten sposób zrealizowaliśmy prostą aplikację, która przedstawia poziomy zbiorników i stany zaworów. Lampki po prawej (rysunek 11) przedstawiają stan przełączników od 1 do 4 sterownika PLC, które również odpowiadają za otwieranie zaworów w trybie manual (przełączanym za pomocą przycisku 0/1).

0x08 graphic
Rys. 11 Aplikacja podglądu stanu zbiorników i zaworów.

W aplikacji reprezentowane są obok zaworów wartości ograniczeń pojemnościowych zbiorników, które są podawane z urządzenia ale można je zmieniać i zmiany zostaną przesłane do sterownika. Otwarte zawory są reprezentowane za pomocą czerwonej obwódki. W przypadku poniżej otwarte są dwa zawory 1 i 3, a pompa nie działa, również włączone są przełączniki 2 i 3 na module wejść sterownika. Na rysunku 1 jest przedstawiony inny stan rzeczy, włączony jest zawór 2 oraz pompa.

  1. Wymiana Danych

Wymiana danych jest inicjalizowana przez serwer i następuje w określonych momentach czasu określonych w konfiguracji serwera. Wynika z tego, że odczytujemy dane jedynie z sterownika z pętli gdy nastąpiła komunikacja. Zapis danych w okresie szybszym niż okres wymiany danych serwera nie ma sensu gdyż sterownik otrzyma tylko te dane które zostały ustawione w czasie przesyłu danych a nie w innych momentach. Zapis do zmiennej nie oznacza ustanowienia połączenia ze sterownikiem.

  1. Zrealizowany przykład komunikacji

Na rysunku 11 widać postac panelu zrealizowanego w środowisku InTouch, który wyświetla poziomy zbiorników wraz z stanem zaworów. Możliwe jest włączenie trybu automatycznego, który nie realizuje żadnego realnego sterownika jedynie otwieranie i zamykanie zaworów w przypadku przekroczenia dopuszczalnych stanów.

W sterowniku jest zrealizowany prosty układ symulujący zbiorniki. Zrealizowaliśmy go za pomocą bloków dodawania i odejmowania, które operowały na rejestrze oznaczającym poziom danego zbiornika. Zrealizowana została również logika odpowiedzialna za tryb automatyczny, w którym to zostaje odłączona możliwość ręcznego włączania zaworów za pomocą przełączników w module wejść sterownika RX3i. Tryb automatyczny jest realizowany na zasadzie sprawdzania poziomów w poszczególnych zbiornikach. W przypadku przekroczenia dolnego zakresu lub górnego otwierany jest odpowiedni zawór lub włączana jest pompa. Nie przedstawiamy logiki gdyż jest ona jedynie przykładem dość banalnym i nie była ona głównym zadaniem naszego projektu. Program w języku drabinkowym można zobaczyć w samym projekcie dla sterownika pod nazwą RX3i_SaSwSk, który jest dostarczony na płycie z projektem.

  1. Charakterystyka protokołu TCP/IP

TCP/IP (ang. Transmission Control Protocol / Internet Protocol) jest pakietem najbardziej rozpowszechnionych protokołów komunikacyjnych współczesnych sieci komputerowych. Jest to najczęściej obecnie wykorzystywany standard sieciowy, stanowiący podstawę współczesnego Internetu. Nazwa pochodzi od dwóch najważniejszych jego protokołów: TCP oraz IP.

TCP/IP jest standardem komunikacji otwartej. Otwartość oznacza tu możliwości komunikacji między dowolnymi typami urządzeń, bez względu na ich fizyczną różnorodność.

Protokoły te mają następujące cechy charakterystyczne:

Protokoły TCP i IP łącznie zarządzają przepływem większości danych przez sieć. IP odpowiada za przesyłanie dowolnych danych z punktu do punktu i zawiera w sobie na przykład TCP lub UDP.

Zadaniem TCP jest:

0x08 graphic
0x01 graphic

Warstwy dla modelu odniesienia TCP/IP są:

Ponieważ wiele sieci zapewnia usługi podobne do powyższych, warto wskazać podstawowe cechy odróżniające usługi TCP/IP od innych:

Ciekawostki:


***9 listopada 2005 roku Robert Kahn i Vinton Cerf , uważani za twórców idei TCP/IP otrzymali Prezydencki Medal Wolności za ich wkład w kulturę amerykańską.

***NASA informuje o prowadzonych z powodzeniem testach pierwszego kosmicznego protokołu telekomunikacyjnego. To pierwszy krok do stworzenia międzyplanetarnego Internetu - powiedział Adrian Hooke z NASA. Prace nad DTN trwają od 10 lat. Nowy protokół znacząco różni się od TCP/IP. Przede wszystkim musi być odporny na przerwy, opóźnienia transmisji i przypadki jej zerwania.

***Model referencyjny TCP / IP powstał dzięki funduszom Amerykańskiego Departamentu Obrony, który szukał sieci, która mogłaby przetrwać w każdych warunkach nawet wojennych.. Departament Obrony chciał, aby jego pakiety docierały z jednego punktu do drugiego o każdym czasie i niezależnie od panujących warunków. Ten problem techniczny rozwiązano właśnie tworząc model TCP / IP

10. Protokoły komunikacyjne TEM001

Do komunikacji po Ethernecie używamy modułu IC695ETM001, ten moduł transmisyjny może komunikować się z innymi PACSystemami oraz z kontrolerami z rodziny VersaMax jak również Serii 90.

Komunikacja odbywa się za pomocą GE Fanuc SRTP, Modbus TCP, protokołu EGD oraz protokołu TCP/IP.

Dwa porty komunikacyjne 10Base T/100Base TX RJ-45 działają z prędkością 10Mbps lub

100Mbps.

Wymiana danych po EGD(Ethernet Globar Data) obejmuje wysłanie danych wyjściowych do

Ethernet NIU (Network Interface Unit) a kolejna wymiana wysłania z powrotem danych wejściowych do kontrolera. Sterownik może wysłać w jednym zestawie danych aż do 1300 bajtów i taką samą ilość może wysłać Ethernet NIU z powrotem do sterownika.

Typowy system sterowania może składać się z pięciu stacji Ethernetowych TEM001 i wtedy sterownik wysyła 1300 Bajtów do każdej ze stacji, natomiast stacje Ethernetowe z powrotem zwracają tylko po 100 Bajtów.

Każda wymiana danych ze sterownika do NIU lub z NIU do sterownika składa się z tych samych składników. Zaczyna się od 10 słów(Word) statusu danych NIU, lub CPU danych kontrolnych, a następnie 1380 Bajtów wejściowych i wyjściowych.

0x01 graphic

Rys. 13: Z NIU do mastera.

0x01 graphic

Rys. 14: Ze sterownika do NIU

11. Modbus TCP

Modus jest jednym z najpopularniejszych protokołów stosowanych w automatyce, gdyż jest protokołem otwartym, dosyć prostym, o niskim koszcie utrzymania. Protokół ten

umożliwia komunikację między urządzeniami z interfejsem Ethernetowym (Modbus TCP), przy czym umożliwia wymianę danych pomiędzy sterownikami, monitorowanie i programowanie ich, jak również przypisywanie danych I/O.

Modbus TCP jest kombinacją wszechstronnego TCP/IP, jak również prostego protokołu Modbus.

Za pomocą tej sieci można podłączyć do 64 stacji, a prędkość transmisji wynosi 10/100 Mbit/s.

Na rysunku poniżej przedstawiono ramkę protokołu Modbus TCP.

0x01 graphic

Rys. 15: Ramka Protokołu modbus

0x01 graphic
Rys. 2 Schemat działania środowiska ArchestrA

0x01 graphic
Rys. 12: Schemat protokołu

11



Wyszukiwarka