Bezposrednia akwizycja zmiennych ze sterownika PLC do bazy
Transkrypt
Bezposrednia akwizycja zmiennych ze sterownika PLC do bazy
„Bezpoś średnia akwizycja zmiennych ze sterownika PLC do bazy danych” Politechnika Śląska w Gliwicach Instytut Automatyki 2005/2006 Promotor: Autor: dr inż. Tomasz Szczygieł Aleksander Piecha Gliwice 27 listopad 2005 Idea tematu pracy dyplomowej Sterownik PLC DB AI DI AO Serwer WWW / WAP Relacyjna baza danych Autoryzacja klienta DI Moduł TCP Strona WWW / WAP AI Klient MODBUS Autoryzacja klienta DI Tekstowa prezentacja danych AO DI Graficzna prezentacja danych Sieć TCP/IP Serwer dostarcza interfejsu dla strony WWW / WAP Zakres pracy dyplomowej Schemat aplikacji Moduł klienta MODBUS Moduł przeglądania zgłoszeń awarii Monitor uruchomienia modułów Moduł konfiguracji Opis modułów Krótki opis modułów wraz z ich przewidywanymi funkcjami Monitor uruchomienia modłów Program nadrzę ędny umoż żliwiają ący uruchamianie poszczególnych modułłów - Umożliwia uruchamianie modułów - Monitoruje uruchomione moduły - Przywraca działanie modułów po awarii - Zapisuje informacje o wystąpieniu awarii Moduł konfiguracji Operuje na plikach tekstowych w których zostałła zapisana konfiguracja zestawu modułłów Dane przechowywane w plikach konfiguracji: - Adresy IP sterowników PLC - Adres IP bazy danych - Hasło oraz login użytkownika bazy danych - Zestaw monitorowanych rejestrów w poszczególnych sterownikach PLC - Dodawanie i usuwanie danych dotyczących sterowników PLC - Dodawanie i usuwanie danych dotyczących bazy danych - Dodawanie i usuwanie rejestrów które są monitorowane - Określenie częstotliwości pobierania zawartości rejestrów Moduł klienta MODBUS Odpowiada za cykliczne nawią ązywanie połą łączeń ń z serwerem MODBUS łą w celu pobrania zawartoś ści okreś ślonych rejestrów sterownika PLC oraz za ich zapis do bazy danych - Nawiązanie połączenia z serwerem MODBUS - Odczyt rejestrów sterownika PLC - Nawiązanie połączenia z serwerem baz danych - Zapis rejestrów sterownika PLC do bazy danych - Odczyt zawartości bazy danych - Zapis zawartości bazy danych do rejestrów sterownika PLC - Zapis informacji o awariach Moduł przeglądania zgłoszeń awarii Odpowiada za zarządzanie plikami tekstowymi w których zostały zapisane informacje o wystąpieniu awarii - Brak połączenia z bazą danych - Brak połączenia z sterownikiem PLC - Nie przewidziane zakończenie działania modułu - Restart systemu - Odczyt, zapis, usuwanie plików z zapisem wystąpień awarii Schemat stron WWW oraz WAP Strona WWW Strona WAP Pełne wykresy Proste wykresy Powiadamianie sms Powiadamianie email Autoryzacja w systemie Tekstowa prezentacja zgromadzonych danych Przykład zastosowania Instalacja odwadniania szybu kopalnianego 12 12 14 SU 145 SH 143 Narzędzia - Borland C++ Builder 6 - Apache 2.0.55 - phpMyAdmin 2.6.4-pl3 - MySql 3.23.58 - Php 4.4.1 - Doxygen - Concept 2.2 Porównanie standardów sieciowych RS232 RS485 FILD BUS Szybkość transmisji RS232 RS485 FILD BUS PROFIBUS ETHERNET PROFIBUS Długość linii Szybkość transmisji 115 kb 10 Mb 32.25 kb 1.5 Mb 100 Mb Ilość urządzeń Długość linii Ilość urządzeń 20 m 1 1200 m 32 1900 m 64000 1200 m 127 300 m b.o ETHERNET Protokół MODBUS MODBUS to protokół komunikacyjny, stworzony przez firmę Modicon. Służy do komunikacji z sterownikami PLC. Umożliwia zarządzanie siecią takich urządzeń,na przykład systemem sterowania temperatury i wilgotności. Powstały wersje dla portu szeregowego i dla sieci ETHERNET. Warstwy komunikacji protokołu MODBUS MODBUS communication stack Przykład architektury sieci opartej o MODBUS Ramka komunikacyjna protokołu MODBUS MODBUS PDU for serial line communication = 256 - Server address (1 byte) - CRC (2 bytes) = 253 bytes. RS232 / RS485 ADU = 253 bytes + Server address (1 byte) + CRC (2 bytes) = 256 bytes. TCP MODBUS ADU = 253 bytes + MBAP (7 bytes) = 260 bytes. PDU - Protocol Data Unit ADU - Application Data Unit Lista funkcji protokołu MODBUS Kod funkcji 1 2 3 4 5 6 7 11 12 15 16 17 20 21 22 23 Opis funkcji Read Coil Status Read Input Status Read Holding Registers Read Input Registers Force Single Coil Preset Single Register Read Exception Status (0B Hex) Fetch Comm Event Ctr (0C Hex) Fetch Comm Event Log (0F Hex) Force Multiple Coils (10 Hex) Preset Multiple Regs (11 Hex) Report Slave ID (14Hex) Read General Reference (15Hex) Write General Reference (16Hex) Mask Write 4X Register (17Hex) Read/Write 4X Registers Źródła informacji na temat MODBUS Modbus Application Protocol V1.1a Modbus Messaging Implementation Guide V1.0a Modbus over serial line V1 MODELE OSI/ISO, DoD Przykład: FTP,HTTP,IRC,SMTP RTP,TCP,UDP ARP, IPv4,IPv6,IPX 802.11 WiFi, Ethernet TCP - Transmission Control Protocol UDP -User Datagram Protocol RTP - Real Time Protocol