System SZARP - dokumentacja techniczna: SZARP v.3.1 | ||
---|---|---|
Poprzedni | Rozdział 6. Składnia formuł parametrów definiowalnych | Następny |
W skryptach LUA dostępne są następujące funkcje:
p - funkcja zwraca wartość innego parametru z bazy danych. Kolejne parametry:
nazwa parametru,
czas próbki do pobrania,
typ średniej,
okres średniej w przypadku średniej typu PT_CUSTOM (obecnie nie jest wykorzystywany).
v = p("swid:Sieć:Sterownik:temperatura wody powrotnej z sieci c.o.", t, pt, 0) v = v + p("swid:Sieć:Sterownik:temperatura wody wyjściowej do sieci c.o.", t, pt, 0) v = v / 2
i - funkcja zwraca wartość danego parametru podanego jako argument z pamięci współdzielonej. Dostępna tylko w parametrach definiowalnych na poziomie programu parcook. Przykład pobierający wartość parametru z pamięci współdzielonej:
v = i("Sieć:Sterownik:temperatura wody powrotnej z sieci c.o.")
szb_move_time funkcja zwraca czas przesunięty o określoną liczbę okresów średniej. Kolejne parametry:
czas odniesienia,
liczba okresów, o które należy przesunąć czas odniesienia (dozwolone są wartości dodatnie i ujemne),
typ średniej,
okres średniej w przypadku średniej typu PT_CUSTOM (obecnie nie jest wykorzystywany).
local j = 5 local i = j local tmptime = t v = 0 while i > 0 do v = v + p("swid:Sieć:Sterownik:temperatura wody powrotnej z sieci c.o.", tmptime, pt, 0) i = i - 1 tmptime = szb_move_time(tmptime, -1, pt, 0) end v = v / j
szb_round_time - funkcja zwraca czas zaokrąglony do odpowiedniego typu średniej. Kolejne parametry:
czas do zaokrąglenia,
typ średniej,
okres średniej w przypadku średniej typu PT_CUSTOM (obecnie nie jest wykorzystywany).
local tmptime = szb_round_time(t, PT_MONTH, 0) v = p("swid:Sieć:Sterownik:temperatura wody powrotnej z sieci c.o.", tmptime, PT_MONTH, 0)
szb_search_first - funkcja zwraca czas wystąpienia pierwszej wartości podanego jako argument parametru.
szb_search_last - funkcja zwraca czas wystąpienia ostatniej wartości podanego jako argument parametru.
isnan - sprawdza, czy podana jako argument liczba, jest prawidłową wartością liczbową.
nan - zwraca niepoprawną wartość liczbową. Przykład użycia isnan i nan:
local pv = i("swid:Sieć:Sterownik:temperatura wody powrotnej z sieci c.o.") if isnan(pv) then v = 0 elseif pv == 1 then v = 1 else v = nan() end
Poprzedni | Spis treści | Następny |
Parametry definiowalne LUA | Początek rozdziału | Przykłady wpisów w params.xml |