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