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 Relacyjna baza danych Serwer WWW / WAP AI DI AO DI DB Autoryzacja klienta Moduł TCP Strona WWW / WAP AI DI AO DI Klient MODBUS Autoryzacja klienta Tekstowa prezentacja danych Graficzna prezentacja danych Sieć TCP/IP Serwer dostarcza interfejsu dla strony WWW / WAP Zakres pracy dyplomowej
Schemat aplikacji Moduł konfiguracji Moduł klienta MODBUS Moduł przeglądania zgłoszeń awarii Monitor uruchomienia modułów
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 Pełne wykresy Strona WAP 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 PROFIBUS ETHERNET Szybkość transmisji Długość linii Ilość urządzeń Szybkość transmisji Długość linii Ilość urządzeń RS232 115 kb 20 m 1 RS485 10 Mb 1200 m 32 FILD BUS 32.25 kb 1900 m 64000 PROFIBUS 1.5 Mb 1200 m 127 ETHERNET 100 Mb 300 m b.o
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 Opis funkcji 1 Read Coil Status 2 Read Input Status 3 Read Holding Registers 4 Read Input Registers 5 Force Single Coil 6 Preset Single Register 7 Read Exception Status 11 (0B Hex) Fetch Comm Event Ctr 12 (0C Hex) Fetch Comm Event Log 15 (0F Hex) Force Multiple Coils 16 (10 Hex) Preset Multiple Regs 17 (11 Hex) Report Slave ID 20 (14Hex) Read General Reference 21 (15Hex) Write General Reference 22 (16Hex) Mask Write 4X Register 23 (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