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