Справочник

На данный момент реализация языка находиться на стадии разработки. Все реализованные операторы отмечены зеленым цветом. На данном этапе разработки поддержка ST позволяет создавать макросы на языке ST и использовать их на схемах FBD. Протестирована отладка ST программ, но находиться в доработке для использования в макросах ST. Возможности поддержки стандартной библиотеки ST на данный момент не доступны без реализоции функций и функциональных блоков. В альфа версии ST планируется реализовать функции, функциональные блоки и отладку по шагам для макросов ST.

Подсказки:

  • BYTE 0.0 – реализовано в версии v0.0

  • BYTE 0.1 – реализовано в версии v0.1

  • BYTE 0.2 – реализовано в версии v0.2

  • BYTE 0.3! – планируется реализовать в версии v0.3

  • BYTE ! – планируется реализовать, но версия не определена

  • BYTE X – не планируется

Типы

Целочисленные

Тип

Нижний предел

Верхний предел

Размер памяти

BYTE 0.0

0

255

8 Bit

WORD 0.0

0

65535

16 Bit

DWORD 0.0

0

4294967295

32 Bit

LWORD X

0

64 Bit

SINT 0.0

-128

127

8 Bit

USINT 0.0

0

255

8 Bit

INT 0.0

-32768

32767

16 Bit

UINT 0.0

0

65535

16 Bit

DINT 0.0

-2147483648

2147483647

32 Bit

UDINT 0.0

0

4294967295

32 Bit

LINT X

64 Bit

ULINT X

64 Bit

Вещественные

Тип

Нижний предел

Верхний предел

Размер памяти

REAL 0.0

1.175494351e-38

3.402823466e+38

32 Bit

LREAL 0.0

2.2250738585072014e-308

1.7976931348623158e+308

64 Bit

Время и дата

Тип

Описание

TIME 0.0

Представляет длительность интервалов времени в миллисекундах.
Максимальное значение для TIME типа TIME:
49d17h2m47s295ms (4194967295 ms)

TIME_OF_DAY (TOD) !

Содержит время суток, начиная с 0 часов (с точностью
до миллисекунд).
Диапазон значений TOD от: 00:00:00 до 23:59:59.999.

DATE !

Содержит календарную дату, начиная с 1 января 1970 года.
Диапазон значений от: 1970-00-00 до 2106-02-06.

DATE_AND_TIME (DT) !

Содержит время в секундах, начиная с 0 часов 1 января 1970 года.
Диапазон значений от: 1970-00-00-00:00:00 до 2106-02-06-06:28:15.

Другие типы

Тип

Описание

BOOL 0.0

Булевый тип данных

STRING X

Максимальный размер строки определяет количество резервируемой памяти и
указывается при объявлении переменной.
Размер задается в круглых или квадратных скобках.
Если размер не указан, принимается размер по умолчанию - 80 символов.
Строковые функции способны обращаться со строками от 1 до 255 символов!

Операторы

Встроенные

Функция

Описание

RETURN 0.0

Выход из программы и возврат к тому кто вызывал

AND 0.0

Битовое AND

OR 0.0

Битовое OR

XOR 0.0

Битовое исключающее OR

NOT 0.0

Битовое NOT

+ 0.0

Сложение

- 0.0

Вычитание

* 0.0

Умножение

/ 0.0

Деление

> 0.0

Больше, чем

>= 0.0

Больше или равно

= 0.0

Равно

<> 0.0

Неравно

<= 0.0

Меньше или равно

< 0.0

Меньше, чем

MOD(in) 0.1

Остаток целочисленного деления

INDEXOF(in) !

Внутренний индекс POU in; [INT]

SIZEOF(in) 0.2

Число байт, занимаемых in

SHL(K,in) 0.0

Поразрядный сдвиг влево на K бит

SHR(K,in) 0.0

Поразрядный сдвиг вправо на K бит

ROL(K,in) 0.0

Циклический сдвиг влево на K бит

ROR(K,in) 0.0

Циклический сдвиг вправо на K бит

SEL(G,in0,in1) 0.2

Мультиплексор на 2 входа in0 (при G FALSE) и in1 (при G TRUE)

MAX(in0,in1) 0.1

Возвращает наибольшее из 2х значений in0 и in1

MIN(in0,in1) 0.1

Возвращает наименьшее из 2х значений in0 и in1

LIMIT(MIN,in,Max) 0.2

Ограничивает значение in в пределах от MIN до MAX

MUX(K,in0,…in_n) !

Мультиплексор выбирает K-тое значение из группы (от in0 до In_n)

ADR(in) !

Адрес операнда в [DWORD]

ADRINST(in) !

Адрес экземпляра функционального блока, из которого вызывается
ADRINST.

BITADR(in) !

Битовое смещение операнда в [DWORD]

BOOL_TO_(in) 0.2

Преобразование типа из логического

_TO_BOOL(in) 0.2

Преобразование типа в логический

INT_TO_(in) 0.2

Преобразование значения операнда типа INT в другой базовый тип

REAL_TO_(in) 0.2

Преобразование значения операнда типа REAL в другой базовый тип

LREAL_TO_(in) 0.2

Преобразование значения операнда типа LREAL в другой базовый тип

TIME_TO_(in) 0.2

Преобразование значения операнда типа TIME в другой базовый тип

TOD_TO_(in) !

Преобразование значения операнда типа TOD в другой базовый тип

DATE_TO_(in) !

Преобразование значения операнда типа DATE в другой базовый тип

DT_TO_(in) !

Преобразование значения операнда типа DT в другой базовый тип

STRING_TO_(in) X

Преобразование текста строки операнда в другой базовый тип.
Строка должна содержать соответствующий текст

TRUNC(in) 0.2

Преобразование из REAL в INT

ABS(in) 0.1

Абсолютное значение in

SQRT(in) 0.1

Квадратный корень из in

LN(in) 0.0

Натуральный логарифм из in

LOG(in) 0.1

Десятичный логарифм из in

EXP(in) 0.0

E в степени in

SIN(in) 0.0

Синус in

COS(in) 0.0

Косинус in

TAN(in) 0.0

Тангенс in

ASIN(in) 0.0

Арксинус in

ACOS(in) 0.0

Арккосинус in

ATAN(in) 0.0

Арктангенс in

EXPT(in,expt) 0.1

Возведение в степень expt

IF 0.0

Условный оператор IF

WHILE 0.0

Оператор цикла WHILE

REPEAT 0.0

Оператор цикла REPEAT

FOR 0.0

Оператор цикла FOR

Компоненты Standard.lib

Функции

Функция

Описание

LEN(in) X

Длина строки in

LEFT(str,size) X

Левая значимая часть строки str из size символов

RIGHT(str,size) X

Правая значимая часть строки str из size символов

MID(str,size,pos) X

Часть строки str с позиции pos из size символов

CONCAT(„str1“,“str2“) X

Конкатенация (склеивание) 2х строк

INSERT(„str1“,“str2“,pos) X

Вставить строку str1 в str2 с позиции pos

DELETE(„str1“,len,pos) X

Удалить часть строки, len символов, с позиции pos

REPLACE(„str1“,“str2“,len,pos) X

Заменить часть строки str1 с позиции pos на len символов из str2

FIND(„str1“,“str2“) X

Поиск подстроки str2 в str1

Функциональные блоки

Функциональный блок

Описание

SR 0.0

Переключатель с доминантой включения

RS 0.0

Переключатель с доминантой выключения

SEMA 0.0

Семафор (interruptable)

R_TRIG 0.0

Детектор переднего фронта импульса

F_TRIG 0.0

Детектор заднего фронта импульса

CTU 0.0

Инкрементный счетчик

CTD 0.0

Декрементный счетчик

CTUD 0.0

Реверсивный счетчик

TP 0.0

Триггер

TON 0.0

Таймер включения

TOF 0.0

Таймер выключения

RTC !

Часы