System SZARP - dokumentacja techniczna: SZARP v.3.1 | ||
---|---|---|
Poprzedni | Rozdział 6. Składnia formuł parametrów definiowalnych | Następny |
Składnia formuł typu RPN jest bardzo podobna do składni formuł typu RPN-DRAWDEFINABLE (patrz Sekcja 6.1). Sposób ich obliczania jest identyczny, a jedyne różnice występują w dostępnym zestawie funkcji. Różnice te są następujące:
odpowiednikiem operatora ?f z formuł typu RPN-DRAWDEFINABLE jest operator if,
występuje dodatkowy operator n oznaczający formułę pustą (tzn. bez żadnej wartości, nawet NO_DATA); dodatkowo operator ten powoduje pominięcie następnych trzech znaków (z tego powodu często jest on zapisywany jako null),
występuje dodatkowy operator = powodujący zapisanie wartości ze szczytu stosu jako próbki do pamięci współdzielonej programu parcook pod adres podany jako drugi od góry element na stosie; zapis jest dokonywany tylko pod warunkiem, że wartość do zapisu nie była wartością pustą,
występuje dodatkowy operator m, służący do szybkiego odfiltrowania błędnych (za małych) wartości; jeśli drugi od góry element na stosie jest mniejszy niż pierwszy od góry, to na stosie wstawiana jest wartość NO_DATA; wpp. zostaje wartość drugiego od góry elementu.
Przykładowo:
(Sieć:Sterownik:temperatura zasilania) 0 mpowyższa formuła spowoduje że jeśli wartość parametru będzie mniejsza od zera, to nie zostanie uwzględniona (pojawi się wartość brak danych).
występuje symetryczny do poprzedniego operator M służący do odfiltrowania za dużych wartości; jeśli drugi od góry element na stosie jest większy niż pierwszy od góry, to na stosie wstawiana jest wartość NO_DATA; wpp. zostaje wartość drugiego od góry elementu.
nie są dostępne operatory ^, X, S oraz :,
w związku z brakiem operatora X, wartość NO_DATA wyraża się poprzez podanie stałej liczbowej wynoszącej -32768 - nie jest zatem możliwe używanie takiej liczby jako służącej do obliczeń.
Poprzedni | Spis treści | Następny |
Składnia formuł parametrów definiowalnych | Początek rozdziału | Przykłady formuł definiowalnych RPN-DRAWDEFINABLE |