Rozdział 8. Format bazy SzarpBase

Spis treści
8.1. Format plików bazy
8.2. Konwersja bazy na nowy format
8.3. Program extrszb
8.4. Program szbedit
8.5. Import danych do bazy - program szbwriter
8.5.1. Konfiguracja programu
8.5.2. Dane wejściowe

SzarpBase to nazwa nowego formatu bazy danych historycznych SZARP. Zastosowano prosty format plikowy, który ma ułatwić operacje na bazie (kopiowanie, modyfikację i usuwanie danych), uprościć aplikacje korzystające z bazy a także uniezależnić system SZARP od ostatniego komercyjnego elementu, jakim była biblioteka CodeBase.

8.1. Format plików bazy

Baza jest trzymana w drzewie katalogów o strukturze Grupa/Jednostka/Parametr, gdzie Grupa, Jednostka i Parametr to odpowiednie części pełnej nazwy parametru. Każdy plik zawiera dane o próbkach 10-minutowych jednego parametru z jednego miesiąca. Nazwa pliku jest tworzona na podstawie daty (roku i miesiąca), którego dotyczą dane.

Pełna ścieżka do pliku bazy składa się z:

  1. Nazwy parametru poddanej konwersji - wszystkie znaki ASCII o kodach spoza zakresów 48 (0) - 49 (9), 65 (A) - 90 (Z), 97 (a) - 122 (z) (czyli wszystko poza cyframi i literami alfabetu łacińskiego) zamieniane są na znak o kodzie 64 (_), poza polskimi literami, które zamieniane są na odpowiedniki z alfabetu angielskiego (np. 'ą' na 'a' itp.) i poza znakiem ':' który zamieniany jest na '/'.

  2. Znaku /.

  3. Daty (miesiąca) w formacie RRRRMM, gdzie RRRR to rok (cztery cyfry), a MM to miesiąc (dwie cyfry).

  4. Kropki (.).

  5. Rozszerzenia szb.

Przykładowo informacje o parametrze Kocioł 1:Sterownik:temperatura zadana z lutego 2003 roku będą trzymane w pliku o ścieżce dostępu Kociol_1/Sterownik/temperatura_zadana/200302.szb.

UWAGA! Sposób konwersji wymusza ostrzejsze wymagania dotyczące nazw parametrów niż sam format konfiguracji IPK - muszą one być różne także po konwersji!

Wszystkie daty dotyczące bazy odnoszą się do strefy czasowej Greenwich (UTC).

Każdy plik składa się tablicy liczb typu short int (2 bajty, Little Endian) ze znakiem, będących wartościami próbek parametru. Tablica może mieć długość taką, ile próbek mieści się w danym miesiącu, np. dla lutego 2003 (28 dni) i próbek 10-minutowych będzie to 6*24*28 = 4032 liczb. Specjalna wartość -32768 oznacza brak danych. Danych na końcu pliku może brakować, 'dziury' w środku muszą być wypełniane wartością -32768. Z formatu pliku nie wynika bezpośrednio, co ile zbierane są próbki. W bazie nie są zapisywane żadnego rodzaju średnie.

Standardowo baza w nowym formacie znajduje się w katalogu /opt/szarp/prefix/szbase.