====== Zmienne ibmanager ====== Program **ibmanager** przechowuje i udostępnia zmienne zarówno do odczytu jak i zapisu. Zmienne te mogą być wykorzystane przez logiki sterujące lub udostępnione użytkownikowi do odczytu lub zapisu przez [[pl:ibmanager:ibmanager-communication|interfejs dostępowy]]. ===== Zmienne wbudowane ===== Oprócz zmiennych powiązanych z logikami program **ibmanager** udostępnia zmienne: * **ibmanager.version** - (R) wersja programu **ibmanager**. * **ibmanager.ctrl.cycles** - (R) liczba cykli obsługi logik (za cykl uważa się po jednej obsłudze każdej z instancji logik każdej z logik). * **ibmanager.dt.tz.offset** - (R) przesunięcie strefy czasowej względem czasu GMT (w Polsce ta wartość wynosi 1). Ta wartość jest brana z systemu podczas startu aplikacji i nie ulega ona zmianie. * **ibmanager.ext.time** - (RW) [0..1] ta flaga informuje, czy **ibmanager** powinien wpisywać datę systemową (0) do zmiennych daty/czasu opisanych w dalszej części (**.dt.**, z wyjątkiem **ibmanager.dt.tz.offset**, która zawsze jest ustalana na podstawie ustawień systemowych), czy też nie powinien obsługiwać tych zmiennych (1). W drugim przypadku, te wartości mogą być ustawiane przez inną logikę lub przez [[pl:ibmanager:ibmanager-communication|interfejs dostępowy]]. Ręczne manipulowanie datą/czasem w oderwaniu od czasu systemowego jest użyteczne podczas testowania zachowania logik. * **ibmanager.dt.isdst** - (RW) [-1..1] ta flaga wskazuje, czy aktualny czas jest czasem letnim (1) czy zimowym (0). Jeżeli wybrano zewnętrzne ustawianie daty/czasu, ta flaga może przyjmować wartość -1. W takim przypadku, inne logiki mogą zakładać, że podany czas jest po prostu czasem lokalnym, odpowiednio zimowym w sezonie zimowym i letnim w sezonie letnim. * **ibmanager.dt.gmt.offset** - (RW) aktualne przesunięcie czasu lokalnego w stosunku do czasu uniwersalnego **Greenwich Mean Time**. * **ibmanager.dt.mday** - (RW) [1..31] aktualny dzień miesiąca. * **ibmanager.dt.hour** - (RW) [0..23] aktualna godzina w czasie lokalnym. * **ibmanager.dt.minute** - (RW) [0..59] aktualna minuta w czasie lokalnym. * **ibmanager.dt.second** - (RW) [0..59] aktualna sekunda w czasie lokalnym. * **ibmanager.dt.month** - (RW) [0..11] aktualny miesiąc w czasie lokalnym. 0 – styczeń, …, 11 grudzień. * **ibmanager.dt.wday** - (RW) [0..6] aktualny dzień tygodnia w czasie lokalnym. 0 – niedziela, …, 6 - sobota. * **ibmanager.dt.yday** - (RW) [0..366] aktualny dzień roku w czasie lokalnym. * **ibmanager.dt.year** - (RW) [0..99] aktualny rok w czasie lokalnym. * **ibmanager.loc.denominator** - (R) jest to dzielnik podanej szerokości oraz długości geograficznej. Wyznaczony na podstawie atrybutów elementu [[pl:ibmanager:ibmanager-config#|]] w pliku konfiguracyjnym. * **ibmanager.loc.latitude** - (R) Jest to mnożnik szerokości geograficznej. Wyznaczony na podstawie atrybutu **Latitude** elementu [[pl:ibmanager:ibmanager-config#|]] w pliku konfiguracyjnym. Właściwą szerokość geograficzną otrzymuje się dzieląc tą wartość przez wartość zmiennej **ibmanager.loc.denominator**. * **ibmanager.loc.longitude** - (R) Jest to mnożnik długości geograficznej. Wyznaczony na podstawie atrybutu **Longitude** elementu [[pl:ibmanager:ibmanager-config#|]] w pliku konfiguracyjnym. Właściwą szerokość geograficzną otrzymuje się dzieląc tą wartość przez wartość zmiennej **ibmanager.loc.denominator**. * **ibmanager.id.name** - (R) nazwie własna aplikacji ustalona na podstawie atrybutu **Name** elementu [[pl:ibmanager:ibmanager-config#|]] w pliku konfiguracyjnym. * **ibmanager.id.version** - (R) wersja aplikacji ustalona na podstawie atrybutu **Version** elementu [[pl:ibmanager:ibmanager-config#|]] w pliku konfiguracyjnym. * **ibmanager.id.instance** - (R) nazwa instancji aplikacji ustalona na podstawie atrybutu **Instance** elementu [[pl:ibmanager:ibmanager-config#|]] w pliku konfiguracyjnym. * **ibmanager.worktime** - (R) Czas pracy programu **ibmanager** od momentu jgo uruchomienia wyrażony w minutach. * **ibmanager.avg.cycle.time** - (R) Średni czas obsługi cyklu (wszystkich instancji logik) wyrażony w milisekundach. * **ibmanager.log.level** - (RW) jest to poziom systemu logowania programu **ibmanager**. Podczas uruchamiania **ibmanager**, zmienna ta przyjmuje wartość numeryczną atrybutu **Level** elementu [[pl:ibmanager:ibmanager-config#|]] pliku konfiguracyjnego, przy czym **0** oznacza **TraceLo** a **10** oznacza **Critical**. * **ibmanager.dump.var.states** - (RW) ta zmienna działa jako wyzwalacz. Jeśli zostanie ustawiona na 1, spowoduje to zapisanie szczegółowych informacji diagnostycznych dotyczących każdej zmiennej w programie **ibmanager** do pliku logów. * **ibmanager.virtual.memory** - (R) Jest to miara ilości pamięci, którą program **ibmanager** aktualnie wykorzystuje. Reprezentuje rozmiar pamięci wirtualnej, który jest zajmowany przez proces **ibmanager**. * **ibmanager.dump.vars** - (RW) ta zmienna działa jako wyzwalacz. Jeśli zostanie ustawiona na 1, spowoduje to utworzenie archiwalnego plikowego magazynu danych w podkatalogu **archive** znajdującym się w katalogu wskazywanym przez atrybut **DirPath** elementu [[pl:ibmanager:ibmanager-config#|]] w pliku konfiguracyjnym. Przy okazji tworzenie archiwum zmiennych, sprawdzana jest poprawność wszystkich archiwów znajdujących się w tym katalogu, oraz pilnowana jest ich maksymalna liczba Dodatkowo w przypadku systemu Linux, synchronizowany jest system plików (polecenie **sync**). * **ibmanager.ibgui.project.url** - (R) jest to ścieżka url do paczki projektu [[pl:ibgui:start|ibgui]] związanego z bieżącą aplikacją. Wartość ta jest pobierana z atrybutu **Url** elementu [[pl:ibmanager:ibmanager-config#|]] w pliku konfiguracyjnym. * **ibmanager.id.serial** - (R) numer seryjny na podstawie licencji. * **ibpackage.license.category** - (R) kategoria licencji. * **ibpackage.license.type** - (R) typ licencji. **(R)** oznacza zmienną tylko do odczytu. **(RW)** oznacza zmienną do odczytu i zapisu. Wartości w nawiasach kwadratowych oznaczają możliwy zakres wartości zmiennej. ===== Zmienne serwera licencji ===== Program **ibmanager** udostępnia zmienne powiązane z serwerem licencji: * **ibserver.lic.app.run.dt** - (R) Zmienna ta zawiera datę/czas ostatniej udanej komunikacji z serwera licencji z programem **ibmanager**. * **ibserver.lic.app.can.run** - (R) [0..1] Zmienna informująca czy program **ibmanager** ma prawo działać na podstawie przydzielonej licencji. * **ibserver.lic.app.process.id** - (R) Identyfikator procesu programu **ibmanager**, przydzielony przez system operacyjny. * **ibserver.lic.app.host.name** - (R) Identyfikator maszyny na której został uruchomiony **ibmanager**. * **ibserver.lic.ibpackage.is.revoked** - (R) Ta zmienna informuje, czy licencja na podstawie której działa program **ibmanager** została zablokowana - na przykład warunki licencji zostały naruszone. Jeżeli zmienna ta ma wartość różną od zera, oznacza to, że licencja jest zablokowana. W takim przypadku, programy, które są objęte licencją, zareagują odpowiednio na tę sytuację. * **ibserver.lic.ibpackage.registration.dt** - (R) Data/czas rejestracji (aktywacji) programu **ibmanager** w formacie "YYYY-DD-MM HH:MI:SS" lub "not-adate-time" jeżeli nie został jeszcze aktywowany. * **ibserver.lic.ibpackage.expiration.dt** - (R) Data/czas wygaśnięcia wsparcia technicznego oraz dostępu zdalnego w formacie „YYYY-DD-MM HH:MI:SS” lub „not-a-date-time” jeżeli program nie został jeszcze aktywowany. * **ibserver.lic.ibpackage.registered** - (RW) [0..1]. Wartość zmiennej informuje o tym czy program **ibmanager** został zarejestrowany na serwerze licencji. Jeżeli wartość zmiennej wynosi "0" to po zmianie tej zmiennej na "1" nastąpi rejestracja oprogramowania jeżeli będzie to możliwe. **(R)** oznacza zmienną tylko do odczytu. **(RW)** oznacza zmienną do odczytu i zapisu. Wartości w nawiasach kwadratowych oznaczają możliwy zakres wartości zmiennej.