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).

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);
Jméno funkceV/V datový typPopis
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í
Jméno funkceV/v datový typPopis
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
Jméno funkceV/v datový typPopis
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
Jméno funkceSymbolPopis
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
Jméno funkceV/v datový typ Popis
LEN ANY_STRING/ANY_INTDélka řetězce
LEFT ANY_STRING/ANY_INTZkopírovat daný počet znaků zleva ze vstupního řetězce
RIGHT ANY_STRING/ANY_INTZkopírovat daný počet znaků zprava ze vstupního řetězce
MID ANY_STRING/ANY_INTZkopí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_INTVložení řetězce od dané pozice
DELETE ANY_STRING/ANY_INTSmazání daného počtu znaků od dané pozice
REPLACE ANY_STRING/ANY_INTNahrazení daného počtu znaků od daného místa
FIND ANY_STRING/ANY_INTNalezení pozice prvního výskytu řetězce
Jméno funkce IN1 IN2 OUT
ADD TIMETIME TIME
ADD DT TIME DT
ADD_TIME TIMETIME TIME
ADD_TOD_TIME TOD TIME TOD
ADD_DT_TIME DT TIME DT
SUB TIMETIME TIME
SUB DATEDATE TIME
SUB TOD TIME TOD
SUB TOD TOD TIME
SUB DT TIME DT
SUB DT DT TIME
SUB_TIME TIMETIME TIME
SUB_DATE_DATEDATEDATE 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 TIMEANY_NUMTIME
MUL_TIME TIMEANY_NUMTIME
DIV TIMEANY_NUMTIME
DIV_TIME TIMEANY_NUMTIME

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).

  • © Energocentrum Plus, s.r.o. 2017 - 2024