Dokumentace

Standardní funkce

Standardní funkce jsou použitelné ve všech programovacích jazycích (FUPLA, ST), některé z nich umožňují přetížení (pracují nad různými typy - například sčítání) a některé jsou rozšiřitelné (mohou mít proměnný počet vstupů - například logický součet).

Funkce pro konverzi typu

Jméno funkce Popis Příklad
..._TO_... Konverze datového typu uvedeného na prvním místě na datový typ uvedený na druhém místě A:=INT_TO_REAL(B);
TO_... Přetížená konverze datového typu A:=TO_REAL(B);
..._TRUNC_... "Oříznutí" ANY_REAL na ANY_INT A:=REAL_TRUNC_INT(B);
..._BCD_TO_... Převod ANY_BIT na ANY_INT A:=WORD_BCD_TO_INT(B);

Numerické funkce

Jméno funkce V/V datový typ Popis
ABS ANY_NUM Absolutní hodnota
SQRT ANY_REAL Odmocnina
LN ANY_REAL Přirozený logaritmus
LOG ANY_REAL Desítkový logaritmus
EXP ANY_REAL Přirozený exponenciální funkce
SIN ANY_REAL Sinus (radiány)
COS ANY_REAL Kosinus (radiány)
TAN ANY_REAL Tangens (radiány)
ASIN ANY_REAL Arcus sinus
ACOS ANY_REAL Arcus kosinus
ATAN ANY_REAL Arcus tangens
ATAN2 ANY_REAL Arcus tangens k danému bodu (x, y)
ADD ANY_NUM Součet
MUL ANY_NUM Součin
SUB ANY_NUM Rozdíl
DIV ANY_NUM Podíl
MOD ANY_NUM Modulo
EXPT ANY_NUM Umocnění
MOVE ANY_NUM Přiřazení

Funkce nad řetězcem bitů

Jméno funkce V/v datový typ Popis
SHL ANY_BIT Posun vlevo (zprava doplněno nulami)
SHR ANY_BIT Posun vpravo (zleva doplněno nulami)
ROL ANY_BIT Rotace vlevo (zprava doplněno o zleva odrotované bity)
ROR ANY_BIT Rotace vpravo (zleva doplněno o zprava odrotované bity)
AND ANY_BIT Logický součin (Př.: A:=AND(B,C,D); nebo A:=B&C&D;)
OR ANY_BIT Logický součet
XOR ANY_BIT Logický exkluzivní součet
NOT ANY_BIT Negace

Funkce výběru

Jméno funkce V/v datový typ Popis
MOVE ANY Přiřazení (Př.: A:=B;)
SEL ANY Binární výběr (Př.: OUT:=IN if G=0;)
MAX ANY Maximum
MIN ANY Minimum
LIMIT ANY Limiter
MUX ANY Multiplexer

Funkce porovnání

Jméno funkce Symbol Popis
GT > Klesající sekvence
GE >= Monotónní sekvence směrem dolů
EQ = Rovnost
LE <= Monotónní sekvence směrem nahoru
LT < Stoupající sekvence
NE <> Nerovnost

Funkce nad řetězcem znaků

Jméno funkce V/v datový typ Popis
LEN ANY_STRING/ANY_INT Délka řetězce
LEFT ANY_STRING/ANY_INT Zkopírovat daný počet znaků zleva ze vstupního řetězce
RIGHT ANY_STRING/ANY_INT Zkopírovat daný počet znaků zprava ze vstupního řetězce
MID ANY_STRING/ANY_INT Zkopírovat daný počet znaků z dané pozice ze vstupního řetězce (Př.: OUT:=MID(IN,10,3);)
CONCAT ANY_STRING Propojení řetězců
INSERT ANY_STRING/ANY_INT Vložení řetězce od dané pozice
DELETE ANY_STRING/ANY_INT Smazání daného počtu znaků od dané pozice
REPLACE ANY_STRING/ANY_INT Nahrazení daného počtu znaků od daného místa
FIND ANY_STRING/ANY_INT Nalezení pozice prvního výskytu řetězce

Funkce s typy datum a čas

Jméno funkce IN1 IN2 OUT
ADD TIME TIME TIME
ADD DT TIME DT
ADD_TIME TIME TIME TIME
ADD_TOD_TIME TOD TIME TOD
ADD_DT_TIME DT TIME DT
SUB TIME TIME TIME
SUB DATE DATE TIME
SUB TOD TIME TOD
SUB TOD TOD TIME
SUB DT TIME DT
SUB DT DT TIME
SUB_TIME TIME TIME TIME
SUB_DATE_DATE DATE DATE TIME
SUB_TOD_TIME TOD TIME TOD
SUB_TOD_TOD TOD TOD TIME
SUB_DT_TIME DT TIME DT
SUB_DT_DT DT DT TIME
MUL TIME ANY_NUM TIME
MUL_TIME TIME ANY_NUM TIME
DIV TIME ANY_NUM TIME
DIV_TIME TIME ANY_NUM TIME

Výše uvedené funkce jsou dále doplněné o funkce CONCAT a SPLIT, které umožňují spojování a rozdělování částí proměnných typu datum a čas. Například funkce SPLIT_DATE rozdělí datum na tři hodnoty INT (rok, měsíc a den).