Язык ST (обновлен до v0.2)

Автор alexeideveloper, 20 июня 2019, 15:35:03

« назад - далее »

alexeideveloper

На данный момент в версии develop и beta доступна версия языка ST.

Что можно:
1) писать модуль ST
2) добавлять его на схему FBD
3) отлаживать ST по шагам открыв одновременно модуль ST и схему FBD
4) прошивать в устройства с процессором ARM

Что-то похожее на roadmap (внизу справа есть легенда по цветам): http://zentec.ru/forum/index.php?action=dlattach;topic=405.0;attach=1536;image

Всех кто сталкнётся с какими либо проблема просьба писать гневные письма в эту тему =)




v0.2
Добавлены вспомогательные функции: SIZEOF, TRUNC, SEL, LIMIT
Добавлены функции преобразования:
  SINT_TO_, USINT_TO_, INT_TO_, UINT_TO_, DINT_TO_, UDINT_TO_,
  BOOL_TO_, REAL_TO_, LREAL_TO_, TIME_TO_, BOOL_TO_
Не реализовано, переносится на неопределенный срок: MUX

v0.1
Добавлены операторы:
MOD(in), ABS(in)
MAX(in0,in1), MIN(in0,in1)
SQRT(in), LOG(in), EXPT(in,expt)

v0.0
Доступные типы:
BYTE, WORD, DWORD
SINT, USINT, INT, UINT, DINT, UDINT
REAL, LREAL
TIME, BOOL

Доступные операторы:
AND, OR, XOR, NOT
+, -, *, /
>, >=, =, <>, <=, <
SHL(K,in), SHR(K,in), ROL(K,in), ROR(K,in)
LN(in), EXP(in), SIN(in), COS(in), TAN(in), ASIN(in), ACOS(in), ATAN(in)
IF, WHILE, REPEAT, FOR

Библиотека Standard:
SR, RS, SEMA
R_TRIG, F_TRIG
CTU, CTD, CTUD
TP, TON, TOF




Небольшой скринкаст в гифе screencast.gif:

alexeideveloper

Текущую версия ядра ST и версию компилятора ST можно смотреть в логе:

Tyumentsev

Здравствуйте. Будет ли в ST поддерживаться работа с массивами. Я имею ввиду создать массив ARRAY [0..10] OF DINT? Сейчас такую конструкцию компилятор не пропускает. Даже ARRAY не подсвечивается в синтаксисе. Поэтому я так понял, пока нет возможности работать с массивом.

alexeideveloper

Цитата: Tyumentsev от 20 августа 2019, 08:32:12
Здравствуйте. Будет ли в ST поддерживаться работа с массивами. Я имею ввиду создать массив ARRAY [0..10] OF DINT? Сейчас такую конструкцию компилятор не пропускает. Даже ARRAY не подсвечивается в синтаксисе. Поэтому я так понял, пока нет возможности работать с массивом.

Добрый день. Прошу прощения за задержку с ответом. В самое ближайшее время ARRAY поддерживаться не будет, но в слудющих версиях поддержка языка будет расширяться по мере требованиям\запросам от пользователей. На ближайший релиз план есть в первом сообщении: http://zentec.ru/forum/index.php?action=dlattach;topic=405.0;attach=1536

alexeideveloper

Обновление до v0.2:
Добавлены вспомогательные функции: SIZEOF, TRUNC, SEL, LIMIT
Добавлены функции преобразования:
  SINT_TO_, USINT_TO_, INT_TO_, UINT_TO_, DINT_TO_, UDINT_TO_,
  BOOL_TO_, REAL_TO_, LREAL_TO_, TIME_TO_, BOOL_TO_
Не реализовано, переносится на неопределенный срок: MUX