System SZARP - dokumentacja techniczna: SZARP v.3.1 | ||
---|---|---|
Poprzedni | Rozdział 5. IPK - konfiguracja systemu SZARP | Następny |
W IPK nie ma oddzielnego formatu dla szablonów konfiguracji. Przez szablon będziemy rozumieć dowolny plik XML (IPK), który może zostać użyty do dodania grupy parametrów do konfiguracji. Struktura IPK powoduje, że tak naprawdę dodanie grupy parametrów sprowadza się do tekstowego wklejenia ich w odpowiednie miejsce (zwykle dodaje się odpowiedni element lub elementy device, oraz parametry definiowalne). Problemem jest jedynie nadanie nowym parametrom odpowiednich indeksów w bazie.
Aby jednak ułatwić i zautomatyzować dodawanie parametrów przyjęto następujące rozwiązanie. Szablonem IPK nazywamy plik, który od poprawnego pliku IPK opisującego interesujące nas parametry różni się w następujący sposób:
Części nazw parametrów (i innych atrybutów), które są wspólne dla wszystkich parametrów w szablonie i powinny być zastąpione innych ciągiem znaków przy konkretnym użyciu szablonu zastąpione są ciągiem pięciu znaków 'X'. Np. jeśli nasz szablon ma zawierać kompletny zestaw parametrów dla kotła, to zapewne wszystkie wystąpienia ciągu znaków typu 'Kocioł 1' będziemy chcieli zastąpić ciągiem X-ów, tak aby potem można było użyć szablonu i zmienić nazwy parametrów na zaczynające się od np. 'Kocioł WR 2'.
Odpowiednio zamienione nazwy powinny też wystąpić w tytułach raportów i wykresów, a także w formułach definiujących parametry.
Parametry, które mają być zapisywane do bazy nie mają atrybutu base_ind, ale zamiast niego mają atrybut tobase o wartości 1. Oznacza on, że przy użyciu szablonu należy nadać parametrowi odpowiedni indeks w bazie. Nie dotyczy to indeksów automatycznych - można do szablonu bezpośrednio wstawić po prostu base_ind="auto".
<param name="XXXXX:Sterownik:temperatura zadana" short_name="Tod" draw_name="Temp. zadana" unit="°C" prec="1" tobase="1"> <raport title="XXXXX" description="temperatura zadana" filename="XXXXX.rap"/> <raport title="RAPORT TESTOWY" description="XXXXX Sterownik" filename="test.rap"/> <draw title="XXXXX - temperatury" prior="81" color="cyan" min="0" max="150"/> </param>
W dystrybucji SZARP'a znajduje się program ipk_create_template, który pozwala na wybranie z podanej konfiguracji parametrów zawierających podany ciąg znaków (np. 'Kocioł 1') i utworzenie z nich szablonu. Pierwszym parametrem jest szukany podciąg, drugim plik z konfiguracją. Wynik działania jest wypisywany na standardowe wyjście. Tak więc z danej konfiguracji szablon zawierający opis kotła można uzyskać przez wydanie następującej komendy:
/opt/szarp/bin/ipk_create_template 'Kocioł 1' params.xml > template.xml
Następnym krokiem jest przejrzenie pliku template.xml i sprawdzenie, czy na pewno umieszczone zostały te parametry, które chcemy umieścić w szablonie i czy ogólnie nie trzeba wprowadzić jakiś poprawek. W szczególności uwagi na temat ustalania kolejności wykresów znajdują się w Sekcja 5.3.8.
Kolejny program ułatwiający korzystanie z szablonów, to ipk_add_template. Służy do dodania parametrów opisanych przez szablon do konfiguracji. Automatycznie zamienia nazwy na podane (z XXXXX), nadaje także parametrom odpowiednie indeksy w bazie. W wywołaniu należy podać ścieżkę do szablonu z dodawanymi parametrami, ciąg znaków do utworzenia prawidłowych nazw parametrów, oraz nazwę konfiguracji. Jeżeli nie podamy tego ostatniego parametru, z szablonu zostanie utworzona nowa konfiguracja. Wynik działania programu jest wypisywany na standardowe wyjście.
Uwaga! Z szablonu wklejane są do konfiguracji całe elementy 'device', tak więc nie jest możliwe bezpośrednie dodanie parametrów do istniejącego sterownika. Można oczywiście dodać sztuczny nowy sterownik, a ręcznie przenieść parametry do istniejącego.
Jeżeli więc do konfiguracji z poprzedniego przykładu chcielibyśmy dodać czwarty kocioł, identyczny z pierwszym, mając już utworzony szablon wydajemy komendę:
/opt/szarp/bin/ipk_add_template template.xml 'Kocioł 4:' params.xml > new.xmlPlik new.xml będzie zawierał nową konfigurację. Oczywiście możliwe, że będziemy chcieli poddać ją edycji, np. aby dodać parametry dotyczące nowego kotła do wyliczeń ogólnej sprawności czy mocy ciepłowni.
Wszystkie wymienione w tym rozdziale programy do operacji na konfiguracji wykorzystują do swego działania procesor XSLT i odpowiednie szablony. Szablony te można także wykorzystywać samodzielnie, znajdują się one w dystrybucji SZARP'a w katalogu libSzarp2/xslt. W kodzie każdego z szablonów znajduje się dokładny opis działania oraz sposób podawania parametrów (dla procesora xsltproc, dla innych programów sposób podawania parametrów może być inny).
Poprzedni | Spis treści | Następny |
Weryfikacja poprawności konfiguracji | Początek rozdziału | Samodzielne tworzenie i edytowanie konfiguracji IPK |