ВУЗ:
Составители:
Лабораторная работа 3
СОЗДАНИЕ ПРОЕКТА В СРЕДЕ ISaGRAF НА ЯЗЫКЕ ST
Цель работы: знакомство c языком программирования ST.
Задание на лабораторную работу: в ходе работы разработать приложение на языке ST для виртуального контролле-
ра, реализующее вычисление арифметических и логических выражений, представленных в задании на лабораторную ра-
боту 1.
Краткие сведения о языке ST
ST (Structured text) – это структурный язык высокого уровня. Этот язык, в основном, используется для создания
сложных процедур, которые не могут быть легко выражены при помощи графических языков. По умолчанию ST является
языком для описания действий внутри шагов и условий языка
SFC.
ST-программа – это список ST-
операторов. Каждый оператор заканчивается точкой с запятой (;). Основные опера-
торы языка ST: оператор
присвоения (variable := expression); вызов подпрограммы или функции;
вызов
функционального блока; операторы выбора (IF, THEN, ELSE, CASE); итеративные операторы (FOR, WHILE,
REPEAT);
управляющие операторы (RETURN, EXIT); специальные операторы для связи с такими языками, как SFC.
Вызов функций в ST осуществляется в соответствии со следующим синтаксисом:
<rezult>:=<function>(<par1>, <par2>,…);
где <rezult> – имя переменной, которой присваивается результат выполнения функции; <function> – имя вызываемой
функции;
<par1>, <par2>,… – список операндов. Например:
y := sin(x1);
z := real(100*x2);
Использование в ST функциональных блоков производится в соответствии со следующим синтаксисом:
<blockname> ( <p1>, <p2> ... );
<result_1> := <blockname>.<ret_param1>;
... <result_N> := <blockname>.<ret_paramN>;
где <blockname> – имя экземпляра вызываемого функционального блока (перед использованием экземпляр функцио-
нального блока должен быть определён в словаре);
<result_1>, … <result_N> – переменные, которым присваиваются ре-
зультаты выполнения блока;
<par1>, <par2>,… – список операндов; >; <ret_param1>, …,<ret_paramN> – выходные
поля функционального блока. Например:
blink1(run, t#2s);
y := blink1.q;
Здесь blink1 – экземпляр функционального блока blink; q – выходное поле блока blink (наименование выходных полей
следует смотреть в описании функционального блока).
Оператор
IF предназначен для организации ветвлений, при этом выполняются 1 или 2 списка ST-операторов. Выбор
осуществляется в соответствии со значением булевского выражения. Синтаксис оператора IF имеет вид:
IF < boolean_expression > THEN
<statement > ;
<statement > ;
…
ELSIF <boolean_expression> THEN
<statement> ;
<statement> ;
…
ELSE
<statement> ;
<statement> ;
…
END_IF;
Операторы ELSE и ELSIF – дополнительные. Если ELSE опущен и условие равно FALSE, то никаких инструкций не
выполняется.
Оператор
CASE выполняет один или несколько списков ST-операторов, выбор осуществляется в соответствии с це-
лым выражением. Синтаксис оператора
CASE имеет вид:
CASE <integer_expression> OF
<value>: <statements> ;
<value> , <value>: <statements> ;
…
ELSE
<statements> ;
END_CASE;
Порядок выполнения работы
1. Создать новый проект.
2.
Создать новую программу. При выборе языка указать язык ST.
Страницы
- « первая
- ‹ предыдущая
- …
- 8
- 9
- 10
- 11
- 12
- …
- следующая ›
- последняя »