********** Реализация ********** .. |Y| image:: /image/yes-32.png :align: middle .. |N| image:: /image/no-32.png :align: middle .. contents:: Содержание: * BYTE :sup:`0.0` -- реализовано в версии v0.0 * BYTE :sup:`0.1` -- реализовано в версии v0.1 * BYTE :sup:`0.2` -- реализовано в версии v0.2 * BYTE :sup:`0.3!` -- планируется реализовать в версии v0.3 * BYTE :sup:`!` -- планируется реализовать, но версия не определена * BYTE :sup:`X` -- не планируется +----------------------------------------+----------------+----------------+----------------+ | | 0.0 | 0.1 | 0.2 | +========================================+================+================+================+ |**Целочисленные** | +----------------------------------------+----------------+----------------+----------------+ |BYTE | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |WORD | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |DWORD | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |LWORD :sup:`X` | |N| | |N| | |N| | +----------------------------------------+----------------+----------------+----------------+ |SINT | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |USINT | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |INT | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |UINT | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |DINT | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |UDINT | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |LINT :sup:`X` | |N| | |N| | |N| | +----------------------------------------+----------------+----------------+----------------+ |ULINT :sup:`X` | |N| | |N| | |N| | +----------------------------------------+----------------+----------------+----------------+ |**Вещественные** | +----------------------------------------+----------------+----------------+----------------+ |REAL | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |LREAL | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |**Время и дата** | +----------------------------------------+----------------+----------------+----------------+ |TIME | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |TIME_OF_DAY (TOD) :sup:`!` | |N| | |N| | |N| | +----------------------------------------+----------------+----------------+----------------+ |DATE :sup:`!` | |N| | |N| | |N| | +----------------------------------------+----------------+----------------+----------------+ |DATE_AND_TIME (DT) :sup:`!` | |N| | |N| | |N| | +----------------------------------------+----------------+----------------+----------------+ |**Другие типы** | +----------------------------------------+----------------+----------------+----------------+ |BOOL | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |STRING :sup:`X` | |N| | |N| | |N| | +----------------------------------------+----------------+----------------+----------------+ |**Операторы** | +----------------------------------------+----------------+----------------+----------------+ |**Встроенные** | +----------------------------------------+----------------+----------------+----------------+ |RETURN | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |AND | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |OR | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |XOR | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |NOT | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |\+ | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |\- | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |\* | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |/ | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |> | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |>= | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |= | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |<> | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |<= | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |< | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |MOD(in) | |N| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |INDEXOF(in) :sup:`!` | |N| | |N| | |N| | +----------------------------------------+----------------+----------------+----------------+ |SIZEOF(in) | |N| | |N| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |SHL(K,in) | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |SHR(K,in) | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |ROL(K,in) | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |ROR(K,in) | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |SEL(G,in0,in1) | |N| | |N| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |MAX(in0,in1) | |N| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |MIN(in0,in1) | |N| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |LIMIT(MIN,in,Max) | |N| | |N| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |MUX(K,in0,...in_n) :sup:`!` | |N| | |N| | |N| | +----------------------------------------+----------------+----------------+----------------+ |ADR(in) :sup:`!` | |N| | |N| | |N| | +----------------------------------------+----------------+----------------+----------------+ |ADRINST(in) :sup:`!` | |N| | |N| | |N| | +----------------------------------------+----------------+----------------+----------------+ |BITADR(in) :sup:`!` | |N| | |N| | |N| | +----------------------------------------+----------------+----------------+----------------+ |BOOL_TO_(in) | |N| | |N| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |_TO_BOOL(in) | |N| | |N| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |INT_TO_(in) | |N| | |N| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |REAL_TO_(in) | |N| | |N| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |LREAL_TO_(in) | |N| | |N| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |TIME_TO_(in) | |N| | |N| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |TOD_TO_(in) :sup:`!` | |N| | |N| | |N| | +----------------------------------------+----------------+----------------+----------------+ |DATE_TO_(in) :sup:`!` | |N| | |N| | |N| | +----------------------------------------+----------------+----------------+----------------+ |DT_TO_(in) :sup:`!` | |N| | |N| | |N| | +----------------------------------------+----------------+----------------+----------------+ |STRING_TO_(in) :sup:`X` | |N| | |N| | |N| | +----------------------------------------+----------------+----------------+----------------+ |TRUNC(in) | |N| | |N| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |ABS(in) | |N| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |SQRT(in) | |N| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |LN(in) | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |LOG(in) | |N| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |EXP(in) | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |SIN(in) | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |COS(in) | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |TAN(in) | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |ASIN(in) | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |ACOS(in) | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |ATAN(in) | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |EXPT(in,expt) | |N| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |IF | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |WHILE | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |REPEAT | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |FOR | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |**Компоненты Standard.lib** | +----------------------------------------+----------------+----------------+----------------+ |**Функции** | +----------------------------------------+----------------+----------------+----------------+ |LEN(in) :sup:`X` | |N| | |N| | |N| | +----------------------------------------+----------------+----------------+----------------+ |LEFT(str,size) :sup:`X` | |N| | |N| | |N| | +----------------------------------------+----------------+----------------+----------------+ |RIGHT(str,size) :sup:`X` | |N| | |N| | |N| | +----------------------------------------+----------------+----------------+----------------+ |MID(str,size,pos) :sup:`X` | |N| | |N| | |N| | +----------------------------------------+----------------+----------------+----------------+ |CONCAT('str1','str2') :sup:`X` | |N| | |N| | |N| | +----------------------------------------+----------------+----------------+----------------+ |INSERT('str1','str2',pos) :sup:`X` | |N| | |N| | |N| | +----------------------------------------+----------------+----------------+----------------+ |DELETE('str1',len,pos) :sup:`X` | |N| | |N| | |N| | +----------------------------------------+----------------+----------------+----------------+ |REPLACE('str1','str2',len,pos) :sup:`X` | |N| | |N| | |N| | +----------------------------------------+----------------+----------------+----------------+ |FIND('str1','str2') :sup:`X` | |N| | |N| | |N| | +----------------------------------------+----------------+----------------+----------------+ |**Функциональные блоки** | +----------------------------------------+----------------+----------------+----------------+ |SR | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |RS | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |SEMA | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |R_TRIG | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |F_TRIG | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |CTU | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |CTD | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |CTUD | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |TP | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |TON | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |TOF | |Y| | |Y| | |Y| | +----------------------------------------+----------------+----------------+----------------+ |RTC :sup:`!` | |N| | |N| | |N| | +----------------------------------------+----------------+----------------+----------------+