- •Лабораторная работа №1 «Создание программы на языке fbd»
- •1. Охарактеризуйте язык функциональных блок-схем fbd.
- •Лабораторная работа №2 «Создание программы на языке ld»
- •Лабораторная работа №3 «Создание программы на языке sfc»
- •Лабораторная работа №4 «Создание программы на языке st»
- •Лабораторная работа №5 «Создание программы на языке il»
Лабораторная работа №4 «Создание программы на языке st»
Задание 4: создать программу на языке ST согласно условиям задания 1.
Решение: при создании программы используем команду VAR...END_VAR для объявления функциональных блоков и блоков DFB.
Объявляем переменные и их начальные значения в редакторе переменных.
VAR
FBI_1_10:TON;
FBI_1_15:RS;
FBI_1_9:TON;
FBI_1_3:RS;
END_VAR
FBI_1_3(S:=on_le AND NOT mot_ri OR time_ri, R1:=stop OR time_le);
mot_le:=FBI_1_3.Q1;
FBI_1_9(IN:=FBI_1_3.Q1,PT:=t#5s);
time_le:=FBI_1_9.Q;
et_le:=TIME_TO_INT(IN:=FBI_1_9.ET);
FBI_1_15(S:=on_ri AND NOT mot_le OR time_le, R1:=stop OR time_ri);
mot_ri:=FBI_1_15.Q1;
FBI_1_10(IN:=FBI_1_15.Q1,PT:=t#10s);
time_ri:=FBI_1_10.Q;
et_ri:=TIME_TO_INT(IN:=FBI_1_10.ET);
Рис. 11 – Окно редактора переменных
Ответы на контрольные вопросы:
1. Охарактеризуйте язык структурированного текста ST.
Язык ST (Structured Text) является языком высокого уровня (типа Паскаля). Был популярен в середине 70-х годов XX века для сложных компьютерных приложений. Предназначен для универсального анализа данных. Удобен для программ, включающих числовой анализ или сложные алгоритмы. Может использоваться в главных программах, в теле функции или FBD, а также для описания действий внутри элементов редакторов SFC или Flow Chart. Обладает высокой читабельностью исходного кода, ключевые слова, такие как AND, OR, NOT, IF, THEN, ELSE, WHILE и т. д., легко понимаемы. Прост в сопровождении, если имена переменных понятны, имеются комментарии, код хорошо структурирован.
Язык ST можно использовать, например, для того, чтобы вызывать функциональные блоки, выполнять функции и распределения, условно выполнять и повторять их.
При вводе ключевых слов, разделителей и комментариев осуществляется непосредственная проверка по буквам. При обнаружении ключевого слова, разделителя или комментария, они идентифицируются через цветное оттенение. При вводе несанкционированных ключевых слов (утверждений или операторов) они также идентифицируются через цветное оттенение. Согласно IEC 61131-3 ключевые слова должны быть введены в символах верхнего регистра. Пробелы и метки табуляции не влияют на синтаксис, они могут использоваться везде.
Объект может быть выбран с помощью правой кнопки мыши при одновременном вызове контекстно-зависимого меню. В FFB, например, возможно вызвать соответствующее описание блока, используя правую кнопку мыши.
2.С помощью какой команды объявляются блоки FB/DFBв языкеST?
С использованием VARиEND_VARобъявляются блокиFB/DFBв языкеST.
3.Что такое оператор в языке ST?
Оператор – символ арифметической или логической операции, которая будет выполнена. Операторы являются обобщенными, т. е. они автоматически корректируются к типу данных операнда.
Оценка выражения включает приложение операторов к операндам в порядке, определенном правилом старшинства операторов. Оператор с самым высоким старшинством в выражении будет выполнен в первую очередь, затем будет выполнен оператор со следующим ниже старшинством и так до тех пор, пока обработка не завершится. Операторы с равным старшинством выполняются слева направо, как написано в выражении. Этот порядок может быть изменен через заключение в скобки.
4.Что такое операнд в языке ST?
Операндом является литерал, переменная, структурированная переменная, компонент структурированной переменной, обращение к функции, выход FB/DFB или прямой адрес.
5.Что такое утверждение в языке ST?
Утверждения являются командами языка программирования ST. Утверждения должны закрываться точками с запятой. Одна строка может содержать несколько утверждений (отделяемые точками с запятой).
6.Какое утверждение используется в языке STдля завершения утверждения повторения (FOR,WHILE,REPEAT) прежде, чем конечное условие будет выполнено?
Утверждение FOR…TO…BY…DO…END_FOR. Утверждение FOR используется, если число повторений может быть определено заранее. Иначе используются WHILE или REPEAT.
Утверждение FOR повторяет последовательность утверждений, пока утверждение END_FOR не достигнуто. Число повторений определяется начальным или конечным значением и переменной управления. Начальное или конечное значение и переменная управления должны быть одного и того же типа данных (DINT или INT), и не могут быть изменены одним из повторяемых утверждений. Утверждение FOR увеличивает значение переменной управления от начального значения до конечного значения. Значение приращения по умолчанию равно 1. Конечное условие будет проверяться в начале каждого повторения, что означает невыполнение последовательности утверждений, когда начальное значение больше конечного значения.
Это правило позволяет избегать бесконечных контуров.