Pliki logów są przechowywane i zapisywane z rozszerzeniem .sqlite3, co oznacza że są plikami bazy danych SQLite. Czasami zachodzi potrzeba bezpośredniej podglądu oraz edycji danych przechowywanych w plikach logów, np. gdy chcemy przejrzeć historię wartości rejestrów, które nie były uwzględnione w zdefiniowanych raportach lub gdy chcemy dostać do danych dostępnych za pomocą API bez pisania służącej do tego ekstra aplikacji. W tej sytuacji możemy to zrobić za pomocą dowolnej przeglądarki plików w formacie .sqlite3. Pokażemy to na przykładzie programu DB Browser for SQLite.
Krok 1.
Instalujemy DB Browser for SQLite ze strony https://sqlitebrowser.org/dl/.

Źródło: https://sqlitebrowser.org/
Krok 2.
Pobieramy szukany plików logów zgodnie z instrukcją w artykule Serwer FTP z folderu „log”.
Pliki logów, które będą nam potrzebne, posiadają rozszerzenie „.sqlite3”. Pliki o rozszerzeniu „.sqlite3-shm” oraz „.sqlite-wal” są plikami tymczasowymi zgodnie z dokumentacją SQLite. Logi i wszystkie dane zapisywane są w plikach o nazwie „log-XXXX-YY-ZZ..sqlite3”, gdzie „XXXX-YY-ZZ” dzień, z którego pochodzą dane. Każdego dnia jest tworzony nowy plik.
Krok 3.
Otwieramy plik logów w DB Browser for SQLite.
W zakładce „Struktura danych” widzimy strukturę naszej bazy danych. Jest to widok pokazujący zawartość logu, w którym znajdziemy wszystko co WebHMI zapisuje w pamięci:
- „alerts” – alarmy
- „alerts_comments” – komentarze do alarmów
- „log” – logi zmiennych etc.
Przejdźmy teraz do zakładki „Przeglądarka danych”, gdzie będziemy mogli podejrzeć zawartość tabel.
Jako przykład wybrałem tabelę „log_60”, gdzie gromadzone są wartości zapisywane w logu co 60 minut. Widzimy wszystkie informacje, które możemy także odczytać na WebHMI, czyli patrząc kolumnami:
- „regId” – numer ID rejestru,
- „min” – wartość minimalna z tego przedziału czasowego,
- „max” – wartość maksymalna z tego przedziału czasowego,
- „datetime” – czas wpisu do logu w formacie Unix TimeStamp (w dalszej części pokażemy sposób w jaki przekonwertować go na czytelne datę i czas).
Krok 4.
Eksportujemy dane do pliku CSV za pomocą polecenia „Plik” → „Eksportuj” → „Tabele do pliku CSV…”.
Krok 5.
W ostatnim kroku otworzymy plik CSV i poprawimy formatowanie danych w celu zwiększenia jego czytelności.
Widok po rozdzieleniu tekstu na kolumny po wykorzystaniu polecenia „Dane” → „Narzędzia danych” → „Tekst jako kolumny” z przecinkiem jako wybranym znakiem rozdzielenia.
W kolumnie „datatime” znajdują się czasy i daty wykonania wpisu do logu w formacie Unix TimeStamp, czyli ilość sekund jaka minęła od daty 1970-01-01. Jest to informacja dla człowieka nieczytelna, więc w celu jej rozkodowania należy użyć formuły =(((E2/60)/60)/24)+DATA(1970;1;1) oraz zmienić formatowanie kolumn na niestandardowe, a w typie wpisać dd.mm.rrrr gg:mm:ss, dzięki czemu uzyskamy w jednej kolumnie datę i czas z dokładnością do sekundy.
W ten sposób otrzymaliśmy dostęp do danych zapisanych na WebHMI, na których nam zależało.
Podsumowanie
W tym artykule pokazaliśmy w jaki nieskomplikowany sposób możemy dobrać się do danych zaszytych w WebHMI. Wykorzystaliśmy do tego przeglądarkę plików w formacie .sqlite oraz proste formuły w Excelu.
W razie potrzeby korzystajcie z naszych artykułów w zakładce Wiadomości oraz poradników w Bazie Wiedzy Jeśli tam nie znajdziecie rozwiązania swoich problemów – piszcie na support@zestapro.pl, zawsze udzielimy kompetentnej pomocy.