Playstation Network 1500 рублей
Playstation Network 1500 рублей


Разблокировка МТС Smart Run 4G
Разблокировка МТС Smart Run 4G


Разблокировка Alcatel Idol 2S
Разблокировка Alcatel Idol 2S


В начало

ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ.

Создание программы на языке ST

 

ЗАДАНИЕ

Создать программу на языке 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);

 

 

 

 

 

 

 

Рис. 1. Окно редактора переменных

 

Рис. 2

 

 

ОТВЕТЫ НА КОНТРОЛЬНЫЕ ВОПРОСЫ

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. Конечное условие будет проверяться в начале каждого повторения, что означает невыполнение последовательности утверждений, когда начальное значение больше конечного значения.

Это правило позволяет избегать бесконечных контуров.