Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
RP_OWEN_Logic_versia_1_21_1-RU-37197-1_65.pdf
Скачиваний:
50
Добавлен:
10.06.2024
Размер:
7.92 Mб
Скачать

12 Язык программирования ST

12Язык программирования ST

Общие сведения 12.1

Типы данных 12.2

Конструкции языка 12.3

12.1 Общие сведения

ST (Structured Text) – это текстовый язык высокого уровня общего назначения, по синтаксису схожий с языком Pascal. Может использоваться в программах, в теле функции или функционального блока, а также для описания действия и перехода внутри элементов SFC.

Согласно IEC 61131-3 ключевые слова должны быть введены в символах верхнего регистра. Пробелы и метки табуляции не влияют на синтаксис, они могут использоваться везде.

Структура выражения: [variable] := [value];

Выражения состоят из операндов и операторов. Операндом может быть литерал, переменная, структурированная переменная, компонент структурированной переменной, обращение к функции или прямой адрес.

12.2 Типы данных

Согласно стандарту IEC 61131-3, язык ST поддерживает весь необходимый набор типов данных.

Тип данных переменной определяет род информации, диапазон представлений и множество допустимых операций.

ПРИМЕЧАНИЕ

Любую переменную можно использовать только после её объявления. Присваивать значения одной переменной другой можно, только если они одного типа. В противном случае используются преобразователи типов.

ПРЕДУПРЕЖДЕНИЕ

Преобразование больших типов в более мелкие может привести к потере информации.

Типы данных, поддержанные в Owen Logic, перечислены в таблице ниже:

Название

Тип

Возможные значения

Размер в байтах

BOOL

Логический

FALSE, TRUE

1 бит

UDINT

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

0…4294967295

4 байта

REAL

Веществploölkен-

–1,2×10-38…3,4×1038

4 байта

ный

 

 

 

12.3 Конструкции языка

К конструкциям языка ST относятся:

 

арифметические операции 12.3.1

;

логические (побитовые) операции 12.3.2

;

операции сравнения 12.3.3

;

операция присвоения 12.3.4

;

конструкция IF – ELSIF – ELSE 12.3.5

;

конструкция CASE 12.3.6

;

цикл FOR 12.3.7

;

цикл WHILE 12.3.7

;

цикл REPAET – UNTIL 12.3.9

.

ПРИМЕЧАНИЕ

При записи арифметических выражений допустимо использование скобок для указания порядка вычислений.

ПРИМЕЧАНИЕ

При записи выражений допустимо использовать переменные (локальные и глобальные) и константы.

192

12 Язык программирования ST

12.3.1 Арифметические операции

ПРИМЕЧАНИЕ

Чем выше приоритет операции, тем раньше она выполняется.

Символ

Операция

Приоритет

+

сложение

1

-

вычитание

 

*

умножение

 

/

деление

2

mod

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

 

деления

12.3.2 Логические операции

Обозначение

Операция

OR

Логическое (побитовое) сложение

AND

Логическое (побитовое) умножение

XOR

Логическое (побитовое) «исключающее ИЛИ»

NOT

Логическое (побитовое) отрицание

12.3.3 Операции сравнения

Символ

Операция

=

Сравнение на равенство

<>

Сравнение на неравенство

>

Больше

>=

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

<

Меньше

<=

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

12.3.4 Присвоение

Для обозначения присвоения используется парный знак « = В правой: ».и левой части выражения должны быть операнды одного типа (автоматического приведения типов не предусмотрено). В левой части выражения (принимающая сторона) может быть использована только переменная. Правая часть может содержать выражение или константу.

12.3.5 Конструкция IF – ELSIF – ELSE

ПРИМЕЧАНИЕ

Для описания некоторых конструкций языка использованы фигурные и квадратные скобки:

выражение в фигурных скобках может использоваться ноль или больше раз подряд;

выражение в квадратных скобках не обязательно к использованию.

Конструкция IF-ELSIF-ELSE имеет следующий формат:

Рисунок 12.1

193

12 Язык программирования ST

Рисунок 12.2 – Пример реализации конструкции

Конструкция допускает вложенность, т.е. внутри одного IF может быть еще один и т.д. Например:

Рисунок 12.3

12.3.6 Конструкция CASE

ПРИМЕЧАНИЕ

Для описания некоторых конструкций языка использованы фигурные и квадратные скобки:

выражение в фигурных скобках может использоваться ноль или больше раз подряд;

выражение в квадратных скобках не обязательно к использованию.

Конструкция CASE служит для организации выбора из диапазона значений. Формат конструкции:

Рисунок 12.4

CASE_ELEMENT – это список значений, перечисленных через запятую. Элементом списка может быть целое число или диапазон целых чисел ( чальноена значение .. конечное значение

Значение EXPRESSION может быть только целым.

194

12 Язык программирования ST

Рисунок 12.5

ПРИМЕЧАНИЕ

Строка 14 содержит диапазон значений. Если значение Var1 принадлежит числовому отрезку [2, 5], то будут выполнены строки 5 и 6.

В строке 17 использован список значений. Строка 18 выполнится, если значение Var1 будет равно 6 или будет принадлежать числовому отрезку [9, 20].

Строки 20 и 21 будут выполнены в том случае, если Var1 < 1, или 6 < Var1 < 9, или Var1 > 20 (в данном случае сработает предложение ELSE).

При задании списка значений необходимо выполнять следующие условия:

наборы значений внутри одной конструкции CASE не должны пересекаться;

при указании диапазона значений начало диапазона должно быть меньше его конца.

Действия, предусмотренные для обработки каждого из случаев CASE, могут использовать циклы,

операторы IF 12.3.5 и CASE 12.3.6 .

12.3.7 Цикл FOR

ПРИМЕЧАНИЕ

Для описания некоторых конструкций языка использованы фигурные и квадратные скобки:

выражение в фигурных скобках может использоваться ноль или больше раз подряд;

выражение в квадратных скобках не обязательно к использованию.

Конструкция с FOR служит для задания цикла с фиксированным количеством итераций. Формат конструкции:

Рисунок 12.6

где:

Control Variable – переменная цикла;

expression1 – начальное значение переменной цикла;

expression2 – конечное значение переменной цикла. Выход из цикла произойдёт, если значение переменной цикла превысит это значение;

195