Технические средства автоматизации: программирование контроллеров в среде ISaGRAF. Елизаров И.А - 10 стр.

UptoLike

Лабораторная работа 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.