Połączenie panelu HMI z bazą danych cz. II

Opublikowano

24 maja 2019

W artykule Połączenie panelu HMI z bazą danych cz. I” omówiliśmy koncepcję połączenia z bazą danych. Dziś przejdziemy do praktyki i skupimy się na zainstalowaniu bazy danych na naszym komputerze. Następnie będziemy z nią synchronizować pobierane dane i wykonywać na nich obliczenia.

Zaczynamy!

1. Instalacja

Instalację rozpoczniemy od pobrania pakietu instalacyjnego wraz z pakietem serwera www dla PHP ze strony https://www.apachefriends.org/pl/index.html. Po pobraniu zaczniemy instalację z domyślnymi ustawieniami. Klikamy cały czas przycisk next, a na końcu finish. Uruchomi nam się panel kontrolny:

połączenia z bazą danych

W prawym górnym rogu naciśniemy przycisk config i zaznaczymy opcję autostartu Apache i MySQL, aby uruchamiały się wraz ze startem systemu:

połączenia z bazą danych

Potwierdzimy zmiany przyciskiem save. Następnie uruchomimy Apache i MySQL przyciskiem start na panelu kontrolnym:

połączenia z bazą danych

Teraz możemy przejść do panelu kontrolnego bazy danych otwierając w przeglądarce link: https://127.0.0.1/phpmyadmin. W bazie jak pokazano poniżej, stworzymy użytkownika i bazę danych o nazwie “weintek” i hasłem: “111111”, które w dalszej części wykorzystamy do połączenia z bazą danych z poziomu Weintek:

połączenia z bazą danych

2. Konfiguracja panelu

W pierwszej kolejności w zakładce dane/historia musimy zdefiniować połączenie z naszą bazę danych, podając użytkownika i hasło. Dodatkowo wykorzystamy słowo kontrolne do obserwowania statusu połączenia z bazą danych. Wykonamy symulację oczekując wartości 2, mówiącej o tym, że Weintek połączył się z bazą danych:

połączenia z bazą danych

Po zdefiniowaniu bazy danych możemy już w prosty sposób synchronizować z nią różne dane. W naszym przykładzie zdefiniujemy próbkowanie danych i będziemy je synchronizować z bazą danych. W tym celu będziemy próbkować cyklicznie zmienną LW 100 i synchronizować pobrane dane z bazą danych raz na minutę. Następnie zobaczymy, jak nasze dane wyglądają w bazie danych:

połączenia z bazą danych

3. Wysyłanie zapytań SQL

Zauważmy, że w bazie zostały utworzone następujące tabele: hostname_dane_data, hostname_dane_data_format oraz hostname_dane_data_section. Tabele te są tworzone automatycznie przez Weinteka. W tabeli hostname_dane_data znajdują się nasze pobrane wartości. Tabela ta zawiera 3 kolumny: data_index, time@timestamp oraz data_format_0. Mając tę wiedzę jesteśmy w stanie napisać proste zapytanie SQL, obliczające średnią wartość próbkowanych zmiennych i zapisujące wynik do rejestru LW500. Składnia tego zapytania będzie następująca: select avg(data_format_0)from hostname_dane_data, gdzie avg to funkcja średniej z kolumny data_format_0 w tabeli hostname_dane_data:

Polecam również film – “Weintek, seria cMT – zapytania SQL do plików próbkowań”, dotyczący podobnego zagadnienia:

Autor: Jarosław Pawełek

Absolwent Akademii Górniczo – Hutniczej im. Stanisława Staszica w Krakowie na kierunku Automatyka i Robotyka ze specjalnością Automatyka i Metrologia. Przygodę z automatyką rozpoczynał w firmie od stanowiska praktykanta. Przechodząc kolejno na stanowisko Doradcy ds. technicznych oraz obecnie zajmując stanowisko Kierownika Działu Wsparcia Technicznego stara się zapewniać najlepsze wsparcie merytoryczne dla naszych klientów. Prywatnie miłośnik fotografii.